Ver la Versión Completa : validar el formato de los campos a subir a SAP
miko-lynn
03/07/12, 14:20:00
Hola a todos,
en un report, subo un archivo delimitado por comas (.CSV) a SAP y he de chequear que todos los campos sean del formato requerido en la tabla de diccionario donde se han de guardar.
o sea, subo un archivo mas o menos así:
campo1linea1;campo2linea1;0032;0045abc;campo5linea1
campo1linea2;campo2linea2;0032;0045abc;campo5linea2
campo1linea3;campo2linea3;0032;0045abc;campo5linea3
y he de comprovar que cada linea es del tipo
char(12), char(12), NUMC(4), CHAR(7); char(12)
Y lo he de hacer dinamicamente.
Ayuda urgente por favor?
No se bien a que te referis con "validar que sea de ese formato", pero si lo que queres hacer es colocar los campos en la estructura que creaste solo debes usar la sentencia SPLIT.
Cualquier cosa avisa.
Slds.
miko-lynn
03/07/12, 16:25:09
No se bien a que te referis con "validar que sea de ese formato", pero si lo que queres hacer es colocar los campos en la estructura que creaste solo debes usar la sentencia SPLIT.
Cualquier cosa avisa.
Slds.
No no!
Pues yo subo un archivo creado con excel con una serie de campos (y usando SPLIT lo transformo en campos de una itab. pero tal vez, por error, el usuario ha introducido una letra en un campo donde solo pueden ir numeros, i antes de que me dé error al guardar en DDBB, necesito chequear que no hay numeros, o sea, yo por diccionario, sé que un campo x de una tabla es numc3 y necesito chequear que el usuario no haya escrito ni 4 o más numeros ni una letra...
gracias igualmente!
crounly
03/07/12, 16:38:36
Cuando cargo datos de un excel, en mi caso, primero los subo a una tabla interna de texto, en tu ejemplo
TYPE: BEGIN OF type_data,
Campo1 TYPE CHAR(12),
cAMPO2 TYPE CHAR(12),
CAMPO3 TYPE CHAR (4),
CAMPO4 TYPE CHAR(7),
CAMPO5 TYPE CHAR(12),
END OF type_data
Luego recorro cada registro con un loop y compruebo 2a mano" que el contenido es correcto, si un registro no es correcto, lo saco en un log al final
Para comprobar que el campo solo contiene números:
c_numeric type string value '0123456789'.
if value co c_numeric.
Write 'numerico'.
else.
Write 'no numerico'.
endif.
Y para la longitud usa la función strlen(var).
miko-lynn
03/07/12, 16:49:10
Cuando cargo datos de un excel, en mi caso, primero los subo a una tabla interna de texto, en tu ejemplo
TYPE: BEGIN OF type_data,
Campo1 TYPE CHAR(12),
cAMPO2 TYPE CHAR(12),
CAMPO3 TYPE CHAR (4),
CAMPO4 TYPE CHAR(7),
CAMPO5 TYPE CHAR(12),
END OF type_data
Luego recorro cada registro con un loop y compruebo 2a mano" que el contenido es correcto, si un registro no es correcto, lo saco en un log al final
Para comprobar que el campo solo contiene números:
c_numeric type string value '0123456789'.
if value co c_numeric.
Write 'numerico'.
else.
Write 'no numerico'.
endif.
Y para la longitud usa la función strlen(var).
Gracias,
estaba pensando algo parecido, pero yo queria algo mas automatico...
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web