Cobol - ayuda Osgener!

   
Vista:

ayuda Osgener!

Publicado por Matias (5 intervenciones) el 18/04/2010 06:30:42
Hola queria saber si podrian ayudarme con este osgener no entiendo mucho que quiere decir cada cosa y queria saber si podrian explicarme bien que hace cada movimiento!

muchas gracias!

FIELD ' ',CL,1,280/1,234,,1
CLAVE 12,2,31/1,3,23/25,5,26
SELEC S8,15,,235
SELEC S5,3,,250
COND1 102,,' '
COND2 103,,' '
COND3 108,,' '
COND4 109,,' '
COND5 110,,' '
COND6 111,,' '
COND7 112,,' '
COND8 113,,' '
SELEC1 '0',102
SELEC2 '0',103
SELEC3 '0',108
SELEC4 '0',109
SELEC5 '0',110
SELEC6 '0',111
SELEC7 '0',112
SELEC8 '0',113
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

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
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

RE:ayuda Osgener!

Publicado por Matias (1 intervención) el 01/05/2010 01:59:16
muchisimas gracias Alberto!!! pense que no me lo iba a contestar nadie!!!
me sacaste un monton de dudas!!! estoy eternamente agradecido! :)
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