RE:ayuda Osgener!
Publicado por
Alberto (1 intervención) el 29/04/2010 22:32:07
Al OSGENER ( o VSGENER) lo conozco porque en mi trabajo lo usamos. Este utilitario permite LEER 1 o 2 archivos de entrada y GRABAR 1 o 2 archivos de salida. NO puede Leer y Grabar el mismo archivo.
Te explico que hacen las sentencias que dejaste:
FIELD ' ',CL,1,280/1,234,,1
' ',CL,1,280 --> pone en Salida el caracter ESPACIO en la posicion 1 de longitud 280
O sea "limpia" el registro de salida moviendo espacios.
1,234,,1 --> MUEVE la posic. 1 de long. 234 de Entrada a la Pos. 1 del arch. de Salida.
1,234,,1--> es igual a esto: 1,234,M,1 (M= MOVE, se asume con la "doble coma")
IMPORTANTE: para el correcto funcionamiento de sentencia CLAVE, anbos archivos DEBEN estar ordenados por los campos usados para la misma.
CLAVE 12,2,31/1,3,23/25,5,26 sentencia para hacer el apareo o matching de los 2
archivos de entrada (uno Principal y otro Secundario)
12,2,31 --> Pos. 12 de long. 2 del Principal contra la Pos. 31 del Secundario
1,3,23 --> Pos. 1 de long 3 del Principal contra la Pos. 23 del Segundario
25,5,26 --> Pos 25 de long. 5 del Principal contra la Pos. 26 del secundario
(la letra S delante de la posicion, significa que es el archivo de Entrada Secundario)
(en un Selec la "coma doble" significa MOVE por default, ya que el programa tiene tambien otras mas)
SELEC S8,15,,235 --> Pos.8 de Long.15 del Arch. Secund.(Entrada) lo mueve a la Pos. 235 en el arch. de Salida
SELEC S5,3,,250 --> Pos.5 de Long.3 del Arch. Secund.(Entrada) lo mueve a la Pos. 250 en el arch. de Salida
En AMBOS casos la movida de datos se produce solo en los casos en que se produzca el Matching, y en los casos que no, quedarán espacios en estas posiciones.
En la Sentencia COND la "coma doble" significa EQ (Equal to/ Igual a). Tambien pueden ser: GT: mayor, GE/NL: no menor, LT: less than, LE/NH: no mayor, NE: not equal, NL: not less.
CONDx: son las condiciones a verificarse por el programa.
COND1 102,,' ' CONDICION-1: si en la Pos. 102 hay un espacio ( ' ')
COND2 103,,' ' CONDICION-2: si en la Pos. 103 hay un espacio ( ' ')
COND3 108,,' '
COND4 109,,' '
COND5 110,,' '
COND6 111,,' '
COND7 112,,' '
COND8 113,,' '
Acciones que se realizan, si se dan las condiciones x
SELEC1 '0',102 Pone un CERO en la Pos. 102 del arch. de Salida cuando se da la Cond.1
SELEC2 '0',103 Pone un CERO en la Pos. 103 del arch. de Salida cuando se da la Cond.2
SELEC3 '0',108 ...y asi sucesivamente.
SELEC4 '0',109
SELEC5 '0',110
SELEC6 '0',111
SELEC7 '0',112
SELEC8 '0',113
Atte.
Alberto