Power Builder - darle Formato para N caracteres a un campo de una DW

   
Vista:

darle Formato para N caracteres a un campo de una DW

Publicado por Javier (64 intervenciones) el 27/05/2014 08:14:03
Hola amigos buenas noches, quisiera hacerle arreglos a mi DW de captura de ventas para que tenga menos probabilidades de equivocarme al capturar el num de producto, ya que a veces por error le pongo un carácter de mas, o de menos.

El num. de producto tiene 9 caracteres, y quiero que cuando los caracteres no sean igual a 9, es decir, cuando le falte o le sobre un dígito, el programa me muestra un aviso y si es posible no me permita seguir.

Tengo productos que son puros números, así: "600234654", y otros productos así: "711/23465" en este segundo son 9 dígitos contando la diagonal.

Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

darle Formato para N caracteres a un campo de una DW

Publicado por Leopoldo Taylhardat (690 intervenciones) el 29/05/2014 14:32:49
Saludos...
No puedes tener dos editmask en el mismo campo ya que son diferentes... o tienes puros nùmeros
o lo divides con diagonal....
en este caso debes validar la cantidad de caracteres al pasar el dato con el itemchanged...

script itemchanged...

1
2
3
4
5
6
7
Choose dwo.name
case 'producto'
if len(data) <> 9 then
messagebox ('Error!','Deben ser 9 caracateres!')
end if
 
end choose

donde producto (en este ejemplo) es el nombre del dato en el dw object...

Nota... esto mismo lo puedes hacer en la validación del dato, para ese caso debes usar gettext()...
len(gettext()) = 9
En el mensaje de validación debes poner 'Error! deben ser 9 caracateres'
espero que te sirva...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

darle Formato para N caracteres a un campo de una DW

Publicado por Javier (64 intervenciones) el 30/05/2014 06:23:40
Excelente!! me funcionó a la primera con tu código:
1
2
3
4
5
6
7
Choose dwo.name
case 'producto'
if len(data) <> 9 then
messagebox ('Error!','Deben ser 9 caracteres!')
end if
 
end choose

Ahora cuando me muestra el messagebox y le doy aceptar me pasa al siguiente campo, y no quiero que me deje continuar si no cumple con la condicion, yo le agregue un return antes del end if ademas un acceptText() pero sigue brincandose al siguiguiente campo. que le faltara?

Saludos y gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

darle Formato para N caracteres a un campo de una DW

Publicado por Leopoldo Taylhardat (690 intervenciones) el 30/05/2014 15:12:06
Saludos...

debes agregar (en caso de error) el setcolumn ('producto')

1
2
3
4
5
6
Choose dwo.name
case 'producto'
if len(data) <> 9 then
messagebox ('Error!','Deben ser 9 caracteres!')
setcolumn('producto')
end if

espero que te sirva...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar