FTP - HERCULES

Todo lo relacionado con simuladores de HW para otras plataformas. Hercules y ...
Responder
TIM_DOLENTE
Usuario
Usuario
Mensajes: 12
Registrado: 19 Sep 2014, 17:55
País: Chile
Ciudad: Santiago
Ocupación: Programador

FTP - HERCULES

Mensaje por TIM_DOLENTE » 23 Mar 2015, 14:20

Hola a todos, lindo día nublado y lluvioso para hacer un FTP.
Si alguien pudiera ayudarme con un inconveniente que tengo para hacer FTP en HERCULES.
Creo tener todo bien configurado pues lo he revisado muchas veces y confirmado con distintas página, sin embargo puedo enviar programas desde el HERCULES al PC sin ningún inconveniente, pero si intento hcerlo al revés, sólo e permite enviar archivos hasta 942 bytes, más allá de eso cancela el FTP.
Lo que pretendo enviar, por ejemplo, es un programa que previamente bajé desde el HERCULES y que ahora está como TXT en el PC.
Pretendo crearlo como archivo secuencial no particionado de 80 columnas.
Probé de tenerlo creado previamente y no.
Esta situación cancela con un error del FTP : "TRANS18", lo busqué en la web y dice que hay parámetros incorrectos, pero no entiendo cuales podrian ser.
Muchas gracias.


TIM_DOLENTE

Avatar de Usuario
Vicente
Colaborador avanzado
Colaborador avanzado
Mensajes: 543
Registrado: 21 Jul 2011, 04:52
País: España
Ciudad: Malaga
Ocupación: Técnico en Sistemas

Re: FTP - HERCULES

Mensaje por Vicente » 25 Mar 2015, 05:50

Hola TIM:
¿Como haces el FTP?
¿Quien hace de cliente y quien de servidor? ¿El PC o el MVS?
Por favor explica el procedimiento y en que plataforma lo ejecutas.
¿Has probado a instalar un Servidor FTP en el PC y que el MVS haga de cliente utilizando un JCL?
Un saludo
Varios días probando, equivocandote y volviendo a probar
pueden ahorrarte quince minutos de lectura de un manual.

TIM_DOLENTE
Usuario
Usuario
Mensajes: 12
Registrado: 19 Sep 2014, 17:55
País: Chile
Ciudad: Santiago
Ocupación: Programador

Re: FTP - HERCULES

Mensaje por TIM_DOLENTE » 25 Mar 2015, 12:35

Hola Vicente, gracias por responder.
Dejó de llover, ese puede ser un buen síntoma.
Creo que no me quedó nada sin probar, pero voy por orden.

Tengo un Hercules corriendo bajo Windows 7 en un ASUS i5.
Desde el emulador de pantalla 3270 "Reflection", parado en la opcion 6 del TSO, ejecuto el FTP que viene en ese emulador, WRQ data transfer version 1.3
Envío un programa desde el hercules al PC y viaja sin problemas (ASCII, overwrite, fixed).
Luego trato de traer ese mismo programa desde el PC, que ahora esta como txt, al Hercules y cancela con el error : "TRANS13 Error writing file to host: file transfer canceled".
En tantas investigaciones que hice descubrí que sólo puedo traer, desde el PC, archivos txt de hasta 942 byte.
Hasta esa cantidad lo trae sin problemas, si es un poco mayor, como por ejemplo 3000 o 4000 bytes, no cancela pero termina y no lo trae, pues si luego ves el archivo en hercules está empty, ahora si el programa es mucho mas grande, como el que te decía antes cancela con ese error que te decía.

Probé con el dataset en hercules creado y sin crear y de las 2 maneras hace lo mismo.

Busqué ese error en varias páginas pero lo único que obtuve fue : "TRANS13 - Error writing file to host: file transfer canceled
The host program has detected an error in the file data during a RECEIVE operation."
y en realidad es ambiguo el mensaje, ya que no es posible que el archivo este dañado, pues recién lo traje desde el Hercules.

Lo segundo que me sugerís también lo probé, arme un JCL y trate de ejecutar un paso con FTP y traer ese programa pero cancela con un cod.retorno 1808
parece que no encontró el PC, en el paso FTP da el siguiente error :
"Connecting to: 172.16.1.247 port: 7000.
connect error from initIPv4Connection - EDC8117I Network is down. (errn
Std Return Code = 10000, Error Code = 00008"

el JCL que ejecuté es :
"//IBMUSERA JOB AA,BB,CLASS=A,NOTIFY=IBMUSER
//*======================= SORT1 ====================================
//FTP EXEC PGM=FTP,PARM='(EXIT TIMEOUT 720'
//* SYSFTPD DD DSN=TCPIP.CONFIG(FTPSDATA),DISP=SHR
//SYSPRINT DD SYSOUT=*
//INPUT DD *
172.16.1.247
USUARIO
PASSWORD
ASCII
CD E:\PROYECTOS\B_ESTADO\POC_MINI\DOCUMENTOS\PROVISORIOS\PRUEBAS_FTP
GET CRED573.TXT 'IBMUSER.FTP.PRUBA01'
QUIT"

Hace 3 días que estoy a full con este tema y no lo puedo resolver, después de esto sólo me queda el suicidio.
Gracias Vicente por tu interés.
Atte


TIM_DOLENTE

Avatar de Usuario
Vicente
Colaborador avanzado
Colaborador avanzado
Mensajes: 543
Registrado: 21 Jul 2011, 04:52
País: España
Ciudad: Malaga
Ocupación: Técnico en Sistemas

Re: FTP - HERCULES

Mensaje por Vicente » 26 Mar 2015, 09:05

Hola,
Es extraño que necesites estar en P.6 del ISPF, para poder hacer la transferencia de archivos vía FTP.
Esto dependerá de tu emulador 3270 reflection, que no conozco.
Lo habitual es que en MVS esté arrancado el servicio FTP (tarea FTPD) y se pueda usar desde el PC utilizando cualquier cliente FTP.
Cuando se usa desde P.6 lo normal es que sea porque el software de PC ejecute el mandato IND$FILE para transferir archivos y no utilice el FTP.
Depende el soft del PC. Esto se puede determinar viendo que mandato se genera en la pantalla P.6 (FTP o IND$FILE).
IND$FILE no necesita tener software de FTP en el MVS.
Puedes leer sobre IND$FILE en:
http://www3.rocketsoftware.com/bluezone ... m#tso_send
http://gsf-soft.com/Documents/IND$FILE.html

Para ir aclarando aún más el tema, podrías prescindir el soft de emulación para la transferencia vía FTP, haciendo lo siguiente:
En una ventana de mandatos de tu windows, ejecuta el FTP cliente haciendo:
FTP
OPEN nnn.nnn.nnn.nnn
donde nnn.nnn.nnnn es la dirección IP del MVS (la misma a la que conecta la emulación); si el servicio FTP del MVS está arrancado y se puede llegar a la direcciín IP debes recibir una respuesta como:

Código: Seleccionar todo

Conectado a nnn.nnn.nnn.nnn.
220-FTPD1 IBM FTP CS V1R13 at xxxx.xxxxx.xxxxxx, 12:54:18 on 2015-03-26.
220 Connection will close if idle for more than 5 minutes.
Usuario (10.1.252.202:(none)):]
Si no consigues esto es que no está el servicio FTP arrancado en el MVS, o no está bien configurado.
Hasta aquí la parte referente a que sea el MVS el que hace de servidor FTP.

En el caso contrario, que sea el PC el que hace de servidor FTP.
¿Tenías un servidor FTP (Por ejemplo Filezilla) arrancado en el PC cuando pasaste el JCL?
Pruebas rápidas de esto puedes hacerlas ejecutando, desde cualquier pantalla del MVS, el mandato TSO FTP.

Resumiento, aclarar los siguientes puntos ayudará mucho a diagnosticar y resolver el problema.

¿Qué utiliza tu emulador 3270, IND$FILE o FTP?
¿Está el servicio FTPD arrancado en el MVS?
¿Tienes un servidor FTP arrancado en el Windows?
¿Accedes al MVS vía mandato FTP de windows?
¿Te funciona el mandato TSO FTP?

Un saludo
Varios días probando, equivocandote y volviendo a probar
pueden ahorrarte quince minutos de lectura de un manual.

TIM_DOLENTE
Usuario
Usuario
Mensajes: 12
Registrado: 19 Sep 2014, 17:55
País: Chile
Ciudad: Santiago
Ocupación: Programador

Re: FTP - HERCULES

Mensaje por TIM_DOLENTE » 26 Mar 2015, 11:18

Hola Vicente, gracias.
Ya no llueve, salió el sol.

Por orden lo que me preguntás :

1) En una ventana de comandos DOS ejecuto el comando FTP y ejecuta.
Luego le doy OPEN 192.168.1.50, ya que esta dirección IP es la que está en el archivo HERCULES.CNF del emulador
cuando le doy enter se queda procesando unos 40' y después vuelve a la línea de comando sin hacer nada
Esto significaría, de acuerdo a lo que decís, que el servicio FTP del MVS no está arriba o no está bien configurado.
Te agradecería que me dijeras como hacer para levantarlo o para revisar la configuración.

2) En TSO ejecuto el comando FTP, de la siguiente manera:
"TSO FTP 172.16.1.247 (Esta es la dirección IP de mi PC)
y responde con :

" Menu Utilities Compilers Options Status Help

ISPF Primary Option Menu
Option ===> TSO FTP 172.16.1.247

0 Settings Terminal and user parameters User ID . : IBMUSER
1 View Display source data or listings Time. . . : 21:56
2 Edit Create or change source data Terminal. : 3278
3 Utilities Perform utility functions Screen. . : 1
4 Foreground Interactive language processing Language. : ENGLISH
5 Batch Submit job for language processing Appl ID . : ISR
6 Command Enter TSO or Workstation commands TSO logon : DBSPROC
7 Dialog Test Perform dialog testing TSO prefix:
9 IBM Products IBM program development products System ID : ADCD
10 SCLM SW Configuration Library Manager MVS acct. : ACCTÑ
11 Workplace ISPF Object/Action Workplace Release . : ISPF 6.0
M More Additional IBM Products


Enter X to Terminate using log/list defaults
EZY2640I Using 'TCPIP.FTP.DATA' for local site configuration parameters.
EZA1450I IBM FTP CS V1R10
EZA1554I Connecting to: 172.16.1.247 port: 21.
***"

luego al darle enter cancela con :

"EZA2590E connect error from initIPv4Connection - EDC8117I Network is down. (err
no2=0x74500442)
EZA1460I Command:"

3) Con respecto a tu pregunta creo que no tengo ningún servidor FTP en el PC, ya que yo mismo la formatee y le instalé el W7.
Te agradecería que me digas cual podría instalar.

4) Mi emulador 3270 utiliza el comando IND$FILE, porque cuando estoy parado en el punto 6 del TSO y ejecuto el FTP del emulador 3270, en la línea de comandos de el punto 6 se escribe automáticamente IND$FILE con todos los parámetros para hacer el FTP.

5) El servicio FTPD no se si está arrancado en el MVS, por favor si podrías decirme como puedo verificarlo.

6) No creo tener un servidor FTP arrancado en el Windows

7) No accedo al MVS vía mandato FTP de Windows por lo que te decía al principio, que escribo FTP, luego OPEN 192.168.1.50 y queda procesando unos segundos y no hace nada.

8) Si funciona el mandato TSO FTP, pero cancela, por lo que te estaba comentando en el punto 2.


Igual recordá lo que te decía al comienzo de todo esto, y es que puedo enviar desde el hercules al PC sin ningún problema, tal vez eso quiere decir que todo está correctamente configurado, no lo sé.
EL problema es cuando quiero recibir en el hercules desde el PC, ahí esta el problema, si es un programa pequeño lo recibe pero si es grande (mas de 2 o 3 kbytes) cancela.

Gracias Vicente por tu interés y disculpá mi ignorancia en este tema de comunicaciones.
Tal vez vos te sientas como yo cuando hablo de fútbol con un incha de river, je


TIM DOLENTE

Avatar de Usuario
Vicente
Colaborador avanzado
Colaborador avanzado
Mensajes: 543
Registrado: 21 Jul 2011, 04:52
País: España
Ciudad: Malaga
Ocupación: Técnico en Sistemas

Re: FTP - HERCULES

Mensaje por Vicente » 26 Mar 2015, 11:51

Hola TIM,
En tu primera intervención dijiste: Esta situación cancela con un error del FTP : "TRANS18"
Sospecho que aquí la palabra FTP la has puesto tú y no sale en el mensaje.
Digo esto porque las transferencias de archivos con IND$FILE no utilizan FTP.
Por lo que aquí tenemos dos problemas muy diferenciados.
1) Hacer que funcione IND$FILE
2) Hacer que funcione FTP
Este segundo punto nos puede llevar a un largo recorrido por las configuraciones de Windows, de Hercules, de TCPI del MVS y del FTP.

Si te parece podemos dedicarnos al primer punto.
1) Por favor, referente al mensaje TRANS18
Quien da el mensaje, tu emulación PC o el TSO?
¿Si fuese el PC, aparece algún otro mensaje en el TSO?
Es el mensaje completo o da mas información?

2) En tu primera intervención dijiste: Probé de tenerlo creado previamente y no.
¿Lo creaste con el nombre entre comillas simples?
¿Con P.3.4 puedes verlo (importante)? Escribe una I a su izquierda para ver sus características.
¿El tamaño es suficiente para guardar todos los registros?
Despues de la transferencia, si en P.3.4, escriber B, ¿Puedes ver los primeros registros del fichero?

Ahora he de desconectarme. Mañana quizás pueda dedicar algo de tiempo a tu problema.
Un saludo

P.D.:
Por curiosidad, me resulta extraño que tu windows y tu MVS tengan direcciones IP de distintas redes;
esto podría ser correcto, pero aunque no se necesite para el IND$FILE dime que resulta al hacer lo siguiente:
a) Desde una ventana de mandatos de windows: PING 192.168.1.50
b) Desde una ventana de TSO: TSO PING 172.16.1.246
Más adelante si quieres, podremos estudiar todo lo referente a comunicaciones.
Varios días probando, equivocandote y volviendo a probar
pueden ahorrarte quince minutos de lectura de un manual.

Avatar de Usuario
Vicente
Colaborador avanzado
Colaborador avanzado
Mensajes: 543
Registrado: 21 Jul 2011, 04:52
País: España
Ciudad: Malaga
Ocupación: Técnico en Sistemas

Re: FTP - HERCULES

Mensaje por Vicente » 27 Mar 2015, 09:26

Hola TIM,
He estado estudiando este tema y he llegado a las siguientes conclusiones:
1) Se podrían estar pasando incorrectos parámetros al IND$FILE.
- Asegurate de que en tu soft Reflection, en los parámetros de la transferencia para TSO incluyen (ASCII CRLF.
Se pueden pasar más parámetros (lee los enlaces que te he puesto al final)
- Mira como es el mandato que se ve en P.6
2) Podría no estar entendiéndose bien el final de registro y enviarse todo el fichero como un solo registro.
Esto podría provocar que la transferencia se corte y parezca que el fichero de MVS solo tenga un registro que incluya varios o partes de varios registros del PC; o que esté vacio.
- Puedes hacer un BROWSE del fichero del MVS para ver como ha quedado.
- Comprueba cómo terminan los registros en el fichero Windows. Lo normal es que sea con la pareja de caracteres 0D0A
esto se correspondería con el parámetros CRLF del programa IND$FILE
Necesitaras un editor de ficheros windows con el que puedas verlo en hexadecimal.
- Que los registros del PC terminasen solo en 0A podría ser una explicación al problema

Resumiedo:
Revisa los parámetros que se pasan a IND$FILE y que los registros del fichero de pC terminen con 0D0A

Para leer sobre los parámetros de IND$FILE puesdes hacerlo en
http://www3.rocketsoftware.com/bluezone ... erence.htm
http://www3.rocketsoftware.com/bluezone ... _href_8_39
Varios días probando, equivocandote y volviendo a probar
pueden ahorrarte quince minutos de lectura de un manual.

TIM_DOLENTE
Usuario
Usuario
Mensajes: 12
Registrado: 19 Sep 2014, 17:55
País: Chile
Ciudad: Santiago
Ocupación: Programador

Re: FTP - HERCULES

Mensaje por TIM_DOLENTE » 27 Mar 2015, 14:33

Hola Vicente, gracias.

Tenés toda la razón y disculpame mi torpeza, en el mensaje de error, que antes era TRANS18 y ahora da TRANS13, en ningún lado menciona que es error de FTP.
Es que uno intuitivamente agrega o saca cosas suponiendo otras, je

Me parece excelente que hagamos foco en el comando IND$FILE, ya que parece mucho más simple de poner a punto.

Respecto a lo primero, al principio me daba 18, cambie un sólo parámetro en el 'ADCD.Z110.TCPPARMS(PROF1)', en la línea decía : DEVICE CTCA1 CTC E20 y lo modifiqué por : DEVICE CTCA1 CTC 0E20.
Hice esto porque en el archivo de arranque del hercules HERCULES.CNF, hay una línea que dice : 0E20-0E21 CTCI 192.168.1.50 192.168.1.17, y por eso pensé que debería ir así.
Además cambié las IP que había en ese mismo archivo de arranque, por las IP de este PC.
Son los únicos cambios que recuerdo haber hecho y a partir de ahí el mensaje de error (cuando traigo desde el PC al HERCULES) cambio de 18 a TRANS13.
Referente a este mensaje es la ventanita del emulador 3270 REFLECTION en la opción FILE TRANSFER la que da ese mensaje, que dice "Transfer failed: TRANS13 Error writing file to host: file transfer canceled".
En ese punto el MVS queda totalmente en negro y no sale ningún mensaje de error, recién cuando le das OK a ese mensaje de error, el MVS vuelve a la opción 6 del TSO que es donde estaba antes.
Busqué ese mensaje de error en la web y dice :
" TRANS13 - Error writing file to host: file transfer canceled
The host program has detected an error in the file data during a RECEIVE operation."
Da la idea como que hay un problema en los datos del archivo que está en el PC, pero es muy difícil que sea eso ya que ese programa acabo de traerlo recién desde el hercules con la misma opción del mismo emulador y viajó bien, pues lo abrí con el ULTRAEDIT y se lo ve bien.



Como me acuerdo que ningún FTP es capaz de crear en el mainframe un miembro dentro de una biblioteca, intento transferirlo como archivo secuencial o dataset no particionado de 80 columnas, en el hercules.
Probé de hacer el envío sin que el archivo estuviese creado en el hercules y luego probé de crearlo previamente como te decía, no particionado PS FB de 80 columnas y cancela con el mismo error.
Después lo cree con 4 cilindros para un programita de 74 Kbytes, que ocuparía menos de un cilindro en el hercules, para descartar problemas de espacio, y también cancela con el mismo error.
Una vez terminado el envío, después que da el error, el archivo queda creado pero cuando lo vas a ver por 3.4 B rowse esta EMPTY.
Si le das I, esta creado como PS FB de 80 columnas.
O sea que la transferencia sólo crea el archivo y lo deja vacío.
Respondiendo a tu pregunta cuando creo el archivo en hercules, lo hago desde la opción 3.2, opción A y como te decía PS FB de 80 columnas.

A todo esto quiero agregar que si hago el mismo envío, desde el PC al HERCULES, pero con un programita muy pequeño, de hasta 942 bytes, viaja sin problema, lo crea en el hercules como dataset no particionado PS FB de 80 columnas y se lo puede ver o editar sin ningún inconveniente.
Esto si que me resulta muy curioso, porque el problema comienza cuando el programa es mas grande.

Respondiendo a tu pregunta :
Cuando hago PING 192.168.1.50 responde con:
"Respuesta desde 172.16.1.254: Hoste de destino inaccesible"
Cuando hago PING 172.16.1.246, desde TSO, responde con :
" CS V1R10: Pinging host 172.16.1.246t
sendto(): EDC8130I Host cannot be reached. (errno2=0x74420291)
***"

Respecto a tu otra preguntas, los parámetros que armo en el IND$FILE son :
ASCII file CR/LF
Additional parameters : nada
System : TSO
Startup Command : IND$FILE
Max field size : 32 K
Timeout : startup 25
Response : 60
Transfer method : ASCII
Id file exists : Owerwrite
Recor form : Fixed

También verifiqué en el archivo que está en el PC y tiene 0D0A en las columnas 81 y 82.
Pensando que tal vez, como el hercules espera 80 podría estar truncando, modifique el programa y le puse 0D0A en las columnas 79 y 80, pero en las 2 ocaciones cancela con el mismo error TRANS13.
Una vez ejecutado esta transferencia y después de la cancelación que te mencionaba, en el punto 6 del TSO el comando que se escribió automáticamente es :
" IND$FILE PUT 'IBMUSER.FTP.PRUEBAUL' ASCII CRLF RECFM(F)"

Buen Vicente, muchas gracias por tu preocupación, y si acepto tu ofrecimiento de profundizar el tema de comunicaciones que desconozco totalmente.
No entiendo la relación que hay entre la IP del PC, las IP que están definidas en el archivo de arranque del hercules y la IP que se utiliza para hacer el IND$FILE.
Pero bueno, eso más adelante, si querés.

Buen fin de semana Vicente, el Lunes, si tenés tiempo retomamos este tema.
Gracias

TIM DOLENTE

Avatar de Usuario
Vicente
Colaborador avanzado
Colaborador avanzado
Mensajes: 543
Registrado: 21 Jul 2011, 04:52
País: España
Ciudad: Malaga
Ocupación: Técnico en Sistemas

Re: FTP - HERCULES

Mensaje por Vicente » 30 Mar 2015, 04:56

Hola TIM,
Para aclarar ideas, a partir de ahora, debemos descartar cualquier mención a los protocolos TCP o FTP, pues IND$FILE no utiliza estos. Cualquier cambio en ficheros de configuración de estos productos no debería afectar.
Por tanto el cambio de error de TRANS18 a TRANS13 se deberá a otro motivo.

Sigo pensando que tenemos un problema de adecuación de los parámetros de la transferencia IND$FILE al contenido del fichero PC. Haz pruebas con distintos parámetros.

Has probado a enviar otro fichero, de digamos de 5KB, cuyos registros sean menores de 80 y terminando por 0D0A?

Si me enviases un fichero de PC que falle al pasarlo al MVS, podría dejar de especular y hacer mis propias pruebas y estudios con él; o almenos los primeros 2 Kilobytes del programa que te falla.

Un saludo
Varios días probando, equivocandote y volviendo a probar
pueden ahorrarte quince minutos de lectura de un manual.

TIM_DOLENTE
Usuario
Usuario
Mensajes: 12
Registrado: 19 Sep 2014, 17:55
País: Chile
Ciudad: Santiago
Ocupación: Programador

Re: FTP - HERCULES

Mensaje por TIM_DOLENTE » 30 Mar 2015, 11:37

Hola Vicente, buen día.
Ok, voy a hacer lo que me sugerís, voy a hacer 1000 pruebas de todo tipo con 80 colLFumnas, con menos, cambiando parámetros en el IND$FILE, etc, etc, todo lo que se me ocurra a ver si sale alguna luz.
Mientras tanto te mando 2 archivo txt, tal como me pediste, como no se como adjuntarlo por este medio, te los pego a continuación, espero que lleguen.
El "CRED573_20150330", es el primero de los archivos, es un programa que recién bajé desde el hercules sin problemas, desde una bibliteca que se llama 'IBMUSER.BESTADO.FUENTES(CRED573)', en el FILE TRANSFER del emuador, en la solapa IND$FILE, le puse como parámetros
System : TSO
Max file size : 32K
Startup command : IND$FILE
CR/LF processing : ASCII file CR/LF
y en el TRANSFER
Transfer mode : ASCII
If file exists : Overwrite
Recod format : Fixed

Como te decía, del hercules al PC bajó sin problemas.
El mismo archivo txt, con los mismos parámetros, cuando pretendo subirlo al hercules como archivo dataset no particionado 'IBMUSER.FTP.CRED573' (no existe en el hercules previamente) cancela con el error TRANS13

El segundo de los archivos que te pego es una DCLGEN, muy chica, hice lo mismo que antes, con las mismas característica y los mismos parámetros, pero bajo desde el hercules y despues subió sin problemas.

CRED573_20150303 (primera parte) :

IDENTIFICATION DIVISION. 00001001
PROGRAM-ID. CRED573. 00002001
AUTHOR. JULIA DOMINGUEZ T. NOV/2003. 00003001
00004001
*INM13M-13/03/2015: CONV AUTOMATICA DATACOM/DB2 CONVERSOR V 1.3 00010000
*--------------------------------------------------------------* 00020000
* INSTITUCION : BANCO DEL ESTADO DE CHILE * 00030000
* SISTEMA : CREDITOS * 00040000
* MODULO : DEUDORES * 00050000
* PROGRAMA : CRED573 * 00060000
* ENCARGADO : PABLO LOYOLA H. * 00070000
* ANALISTA : GABRIELA TEUBER Q. * 00080000
* PROGRAMADOR : JULIA DOMINGUEZ T. * 00090000
* FECHA CREACION: 03-11-2003 * 00100000
* * 00110000
* OBJETIVO PGMA.: CREAR ARCHIVO DEUMES PARA PROCESOS RIESOPE * 00120000
* COMTEMPLANDO CARTERA DE CREDITOS VIGENTE. * 00130000
* FRECUENCIA MENSUAL. * 00140000
* * 00150000
* URT : CREU573 * 00160000
* * 00170000
* INPUT : - ARCHIVOS SAM * 00180000
* OPC - VEN - DCT -DFP - RCOYCLI * 00190000
* * 00200000
* OUTPUT: - GENERA PCRE.NM.DEUMES * 00210000
* * 00220000
*--------------------------------------------------------------- 00230000
* * MODIFICACIONES REALIZADAS 00240000
*--------------------------------------------------------------- 00250000
* RESPONSABLE : ENRIQUE CERDA MERINO 00260000
* FECHA MANTENCION: 11/06/2008 00270000
* DESCRIPCION : SE INCORPORA CAMPO I-MONPAG (IFRS) A COPY 00280000
* : DPEYMES Y SE DEJA DEL MISMO LARGO (256) 00290000
* : LA MODIFICACION DE LA COPY FUE REALIZADA 00300000
* : POR EL AREA DE DEUDORES. 00310000
* : -------------------------------------------- 00320000
* SIGLA : ECM1 00330000
* -------------------------------------------------------------- 00340000
* MODIFICACIONES * 00350000
* -------------------------------------------------------------* 00360000
* 04/03/2004 JDT CORRIGE DATOS INDICADOS POR SISTEMA DEUDORES * 00370000
* 04/05/2004 JDT INCLUYE DATOS RECIBIDOS DESDE RIESGO (DEUDAS) * 00380000
* 07/02/2005 JDT CORRIGE SEGUN NUEVAS INSTRUCCIONES - I-DIATRA * 00390000
* 01/03/2005 JDT AGREGA FECHA DE CIERRE AL FINAL DEL REGISTRO * 00400000
* 06/05/2005 JDT AGREGA FECHA - VENCIMIENTO DE LA PRIMERA CUOTA* 00410000
* 13/01/2006 JDT 1RA. VEN.CAP. DE LA PRIMERA VEN (NO 1RA.VGTE.)* 00420000
* 22/03/2006 GABRIELA TEUBER Q. * 00430000
* CAMBIA FORMATO ARCHIVO NORMALIZACION Y MUEVE * 00440000
* NUEVOS CAMPOS A ARCHIVO DEUMES. * 00450000
* 19/01/2007 MARGARITA BARRIENTOS. * 00460000
* - CAMBIA FORMATO CAMPO I-MONCUOTA PIC 9(09) COMP-3 * 00470000
* A PIC 9(07)V9(02) COMP-3. * 00480000
* - ELIMINA USAGE COMP-3 A CAMPO WG-ACU-OPE. * 00490000
* - REDEFINIR CAMPO WN-MONCUOTA. * 00500000
* - REEMPLAZAR RUTINAS TEGR002, TEGR005 Y TEGR006 POR * 00510000
* TEGR002X, TEGR005X Y TEGR006X RESPECTIVAMENTE. * 00520000
* 07/01/2008 GABRIELA TEUBER. * 00530000
* RECATALOGA POR ERROR EN TEGR002X. * 00540000
* DD/MM/AAAA XXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX * 00550000
*--------------------------------------------------------------* 00560000
00570000
ENVIRONMENT DIVISION. 00580000
CONFIGURATION SECTION. 00590000
SPECIAL-NAMES. DECIMAL-POINT IS COMMA. 00600000
00610000
INPUT-OUTPUT SECTION. 00620000
FILE-CONTROL. 00630000
00640000
SELECT TARJETA ASSIGN TO UT-S-SYS005 00650000
FILE STATUS IS ST-TAR. 00660000
00670000
SELECT TCREDFP ASSIGN TCREDFP 00680000
FILE STATUS IS ST-DFP. 00690000
00700000
SELECT TCREOPCI ASSIGN TCREOPCI 00710000
FILE STATUS IS ST-OPC. 00720000
00730000
SELECT TCREVENI ASSIGN TCREVENI 00740000
FILE STATUS IS ST-VEN. 00750000
00760000
SELECT TCREDCTI ASSIGN TCREDCTI 00770000
FILE STATUS IS ST-DCT. 00780000
00790000
SELECT RCOYCLI ASSIGN TO RCOYCLI 00800000
FILE STATUS IS ST-RCO. 00810000
00820000
SELECT TCRENOR ASSIGN TO TCRENOR 00830000
FILE STATUS IS ST-NOR. 00840000
00850000
SELECT DEUYMES ASSIGN DEUYMES 00860000
FILE STATUS IS ST-DEU. 00870000
00880000
DATA DIVISION. 00890000
FILE SECTION. 00900000
FD TARJETA LABEL RECORDS IS STANDARD 00910000
RECORDING MODE IS F 00920000
BLOCK CONTAINS 0 RECORDS. 00930000
00940000
01 REG-TARJETA. 00950000
05 TAR-CTACPD PIC X(04). 00960000
05 FILLER PIC X(76). 00970000
00980000
FD TCREDFP LABEL RECORDS IS STANDARD 00990000
RECORDING MODE IS F 01000000
BLOCK CONTAINS 0 RECORDS. 01010000
01020000
01 REG-TCRE-DFP. 01030000
** REGISTRO DE TABLA DE DEFINICION DE PRODUCTOS (DFP) 01040000
COPY T127DFP2. 01050000
01060000
FD TCREOPCI LABEL RECORDS IS STANDARD 01070000
RECORDING MODE IS F 01080000
BLOCK CONTAINS 0 RECORDS. 01090000
01100000
01 REG-TCREOPCI. 01110000
** REGISTRO DE OPERACIONES DE CREDITOS (OPC) 01120000
* 01130000
COPY T133OPC1. 01140000
66 IDE-OPERAC RENAMES OPC-NUM-OPE THRU OPC-COD-MON. 01150000
* 01160000
FD TCREVENI LABEL RECORDS IS STANDARD 01170000
RECORDING MODE IS F 01180000
BLOCK CONTAINS 0 RECORDS. 01190000
01200000
01 REG-TCREVENI. 01210000
** REGISTRO DE CALENDARIO VENCIMIENTO CREDITOS (VEN) 01220000
COPY T133VEN1. 01230000
01240000
FD TCREDCTI LABEL RECORDS IS STANDARD 01250000
RECORDING MODE IS F 01260000
BLOCK CONTAINS 0 RECORDS. 01270000
* 01280000
* REGISTRO TABLA DE DISTRIBUCION CONTABLE DE LA CUOTA (DCT) 01290000
* 01300000
01 REG-TCRE-DCT. 01310000
COPY T133DCT1. 01320000
01330000
FD RCOYCLI RECORDING MODE IS F 01340000
BLOCK CONTAINS 0 RECORDS. 01350000
01 REG-RCOYCLI PIC X(120). 01360000
01370000
FD TCRENOR RECORDING MODE IS F 01380000
BLOCK CONTAINS 0 RECORDS. 01390000
01 REG-TCRENOR PIC X(087). 01400000
01410000
FD DEUYMES LABEL RECORDS IS STANDARD 01420000
RECORDING MODE IS F 01430000
BLOCK CONTAINS 0 RECORDS. 01440000
01450000
01 REG-DEUYMES-SAL PIC X(256). 01460000
01470000
WORKING-STORAGE SECTION. 01480000
INM13M EXEC SQL INCLUDE SQLCA END-EXEC. 01490000
INM13M EXEC SQL INCLUDE T112ROP END-EXEC. 01500000
INM13M COPY INMWKVAR. 01510000
INM13M 01520000
01530000
01 WS-STATUS. 01540000
05 ST-DEU PIC 9(02) VALUE 0. 01550000
88 DEU-OK VALUE 0. 01560000
05 ST-OPC PIC 9(02) VALUE 0. 01570000
88 OPC-OK VALUE 0. 01580000
88 FIN-OPC VALUE 10. 01590000
05 ST-VEN PIC 9(02) VALUE 0. 01600000
88 VEN-OK VALUE 0. 01610000
88 FIN-VEN VALUE 10. 01620000
05 ST-DCT PIC 9(02) VALUE 0. 01630000
88 DCT-OK VALUE 0. 01640000
88 FIN-DCT VALUE 10. 01650000
05 ST-DFP PIC 9(02) VALUE 0. 01660000
88 DFP-OK VALUE 0. 01670000
88 FIN-DFP VALUE 10. 01680000
05 ST-RCO PIC 9(02) VALUE 0. 01690000
88 RCO-OK VALUE 0. 01700000
88 FIN-RCO VALUE 10. 01710000
05 ST-NOR PIC 9(02) VALUE 0. 01720000
88 NOR-OK VALUE 0. 01730000
88 FIN-NOR VALUE 10. 01740000
05 ST-TAR PIC 9(02) VALUE 0. 01750000
88 TAR-OK VALUE 0. 01760000
88 FIN-TAR VALUE 10. 01770000
01780000
01 WS-SWITCHS. 01790000
05 SW-ERROR PIC 9(01) VALUE 0. 01800000
88 HAY-ERROR VALUE 1. 01810000
05 SW-PROC PIC 9(01) VALUE 0. 01820000
88 SE-PROCESA VALUE 1. 01830000
05 IND-PROC PIC X(02) VALUE ' '. 01840000
88 OPE-PROC VALUE 'SI'. 01850000
05 IND-COLOC PIC X(02) VALUE ' '. 01860000
88 OPE-COLOC VALUE 'SI'. 01870000
01880000
01 WS-CONTADORES. 01890000
05 LEIDOS-TAR PIC 9(9) COMP-3 VALUE 0. 01900000
05 LEIDOS-OPC PIC 9(9) COMP-3 VALUE 0. 01910000
05 PROCES-OPC PIC 9(9) COMP-3 VALUE 0. 01920000
05 LEIDOS-VEN PIC 9(9) COMP-3 VALUE 0. 01930000
05 LEIDOS-DCT PIC 9(9) COMP-3 VALUE 0. 01940000
05 LEIDOS-DFP PIC 9(9) COMP-3 VALUE 0. 01950000
05 LEIDOS-RCO PIC 9(9) COMP-3 VALUE 0. 01960000
05 LEIDOS-NOR PIC 9(9) COMP-3 VALUE 0. 01970000
05 GRBDOS-DEU PIC 9(9) COMP-3 VALUE 0. 01980000
05 WC-SIN-RCO PIC 9(9) COMP-3 VALUE 0. 01990000
05 AC-LEIDOS PIC 9(9) COMP-3 VALUE 100000. 02000000
02010000
01 VARIOS. 02020000
05 WN-HABSGTE PIC 9(08). 02030000
05 WN-DIEZ PIC 9(02) VALUE 10. 02040000
05 WN-MIL PIC 9(04) VALUE 1000. 02050000
05 WN-VENPINT PIC 9(08). 02060000
05 WN-VENPCAP PIC 9(08). 02070000
05 WN-PRIVEN PIC 9(08). 02080000
05 WN-FOTORIG PIC 9(08). 02090000
05 WN-PLA-MES PIC 9(04). 02100000
05 WN-DIATRAS PIC 9(05). 02110000
02 L12-FD01 PIC ZZZ.ZZZ.ZZZBB. 02120000
02130000
01 WG-ACU-OPE. 02140000
05 WN-CUOPAGA PIC 9(03). 02150000
05 WN-MONCUOTA PIC 9(09). 02160000
05 FILLER REDEFINES WN-MONCUOTA. 02170000
10 FILLER PIC 9(08). 02180000
10 WR-MONCUOTA-UNIDAD PIC 9(01). 02190000
05 WN-FEPCVEN PIC 9(08). 02200000
05 WN-FEUCVEN PIC 9(08). 02210000
05 WN-FEPCAST PIC 9(08). 02220000
02230000
01 WG-PARAMETROS. 02240000
05 WN-FEC-CAL PIC 9(08) VALUE 0. 02250000
05 WX-FEC-CAL-R REDEFINES WN-FEC-CAL. 02260000
10 WN-FEC-ANO PIC 9(4). 02270000
10 WN-FEC-MES PIC 99. 02280000
10 WN-FEC-DIA PIC 99. 02290000
05 FILLER PIC X(01). 02300000
05 WN-ULT-DIA PIC 9(08) VALUE 0. 02310000
05 WX-ULT-DIA REDEFINES WN-ULT-DIA. 02320000
10 WN-FIN-ANO PIC 9(4). 02330000
10 WN-FIN-MES PIC 99. 02340000
10 WN-FIN-DIA PIC 99. 02350000
* 02360000
01 REGISTRO-RCOYCLI. 02370000
05 RYC-NUM-OPE PIC 9(11) VALUE 0. 02380000
05 RYC-NUM-RUT PIC 9(09) VALUE 0. 02390000
05 RYC-DIG-RUT PIC X(01) VALUE ' '. 02400000
05 RYC-COD-REL PIC X(03) VALUE ' '. 02410000
05 RYC-NOM-BRE PIC X(46) VALUE ' '. 02420000
05 RYC-CRV-DIR PIC 9(03) VALUE 0. 02430000
05 RYC-SEC-ECO PIC 9(03) VALUE 0. 02440000
05 RYC-COD-EJC PIC 9(04) VALUE 0. 02450000
05 RYC-SEG-MTO PIC X(05) VALUE ' '. 02460000
05 RYC-GIR-COD PIC 9(04) VALUE 0. 02470000
05 RYC-FEC-TER PIC 9(08) VALUE ZEROES. 02480000
05 RYC-MTO-AVA PIC 9(11)V9999 VALUE ZEROES. 02490000
05 RYC-NUM-PRCT PIC 9(03)V9999 VALUE ZEROES. 02500000
05 RYC-IDR-DIR PIC 9(01) VALUE ZEROES. 02510000
* 02520000
01 REGISTRO-TCRENOR. 02530000
05 NOR-NUM-OPE PIC 9(11) VALUE 0. 02540000
05 NOR-CANMOR1 PIC 9(03) VALUE 0. 02550000
05 NOR-CANMOR2 PIC 9(03) VALUE 0. 02560000
05 NOR-CANMOR3 PIC 9(03) VALUE 0. 02570000
05 NOR-CANCV PIC 9(03) VALUE 0. 02580000
05 NOR-FEC-MRA-UNO PIC 9(08) VALUE 0. 02590000
05 NOR-FEC-MRA-DOS PIC 9(08) VALUE 0. 02600000
05 NOR-FEC-MRA-TRE PIC 9(08) VALUE 0. 02610000
05 NOR-FEC-MRA-CVE PIC 9(08) VALUE 0. 02620000
05 NOR-FEC-MRA-UNO-ULT PIC 9(08) VALUE 0. 02630000
05 NOR-FEC-MRA-DOS-ULT PIC 9(08) VALUE 0. 02640000
05 NOR-FEC-MRA-TRE-ULT PIC 9(08) VALUE 0. 02650000
05 NOR-FEC-MRA-CVE-ULT PIC 9(08) VALUE 0. 02660000
02670000
* COPY DPEYMES. 02680000
01 REG-DEUYMES. 02690000
05 I-OPE. 02700000
10 I-OPE-OFI PIC 9(03). 02710000
10 I-OPE-MON PIC 9(03). 02720000
10 I-OPE-PROCON PIC X(10). 02730000
10 I-OPE-APLI PIC X(04). 02740000
10 I-OPE-NUM PIC X(14). 02750000
05 I-GRACIA PIC 9(05) COMP-3. 02760000
05 I-CUOPACT PIC 9(03) COMP-3. 02770000
05 I-CUOPAGA PIC 9(03) COMP-3. 02780000
05 I-MONCUOTA PIC 9(07)V9(02) COMP-3. 02790000
05 I-FOTORIG PIC 9(08) COMP-3. 02800000
05 I-FACTIV PIC 9(08) COMP-3. 02810000
05 I-FEPRIVEN PIC 9(08) COMP-3. 02820000
05 I-VENPINT PIC 9(08) COMP-3. 02830000
05 I-VENPCAP PIC 9(08) COMP-3. 02840000
05 I-DIATRA PIC 9(05) COMP-3. 02850000
05 I-FEPMOR1 PIC 9(08) COMP-3. 02860000
05 I-FEUMOR1 PIC 9(08) COMP-3. 02870000
05 I-FEPMOR2 PIC 9(08) COMP-3. 02880000
05 I-FEUMOR2 PIC 9(08) COMP-3. 02890000
05 I-FEPMOR3 PIC 9(08) COMP-3. 02900000
05 I-FEUMOR3 PIC 9(08) COMP-3. 02910000
05 I-FEPCVEN PIC 9(08) COMP-3. 02920000
05 I-FEUCVEN PIC 9(08) COMP-3. 02930000
05 I-FEPCAST PIC 9(08) COMP-3. 02940000
05 I-CANMOR1 PIC 9(03) COMP-3. 02950000
05 I-CANMOR2 PIC 9(03) COMP-3. 02960000
05 I-CANMOR3 PIC 9(03) COMP-3. 02970000
05 I-CANCV PIC 9(03) COMP-3. 02980000
05 I-NOPORICV PIC X(14). 02990000
05 I-NOPORIRE PIC X(14). 03000000
05 I-FINCRED PIC X(03). 03010000
05 I-PUNTAJE PIC 9(03)V9(02) COMP-3. 03020000
05 I-FESCOR PIC 9(08) COMP-3. 03030000
05 I-NUMDOC PIC 9(10). 03040000
05 I-CORREL PIC 9(03). 03050000
05 I-MONPAG PIC 9(13) COMP-3. 03060000
05 FILLER PIC X(66). 03070000
05 I-CIERRE PIC 9(04). 03080000
* 03090000
01 TABLA-TCRE-TAR. 03100000
05 TAB-TAR OCCURS 200 TIMES 03110000
INDEXED BY ITAR. 03120000
10 TB-TAR. 03130000
15 TT-CTACPD PIC X(004). 03140000
* 03150000
01 TABLA-TCRE-DFP. 03160000
05 TAB-DFP OCCURS 2000 TIMES 03170000
INDEXED BY INDE. 03180000
10 TB-DFP. 03190000
15 TB-CTACPD PIC X(004). 03200000
* 03210000
01 WG-DEF-RUT-TEGR002. 03220000
05 FECHA-MAYOR PIC 9(8). 03230000
05 FECHA-MENOR PIC 9(8). 03240000
05 TOTAL-DIAS PIC 9(7) COMP-3. 03250000
05 INDICADOR PIC X(1). 03260000
05 WN-FEC-MAY PIC 9(08). 03270000
05 WN-FEC-MAY-R REDEFINES WN-FEC-MAY. 03280000
10 WN-ANO-MAY PIC 9(04). 03290000
10 WN-MES-MAY PIC 9(02). 03300000
10 WN-DIA-MAY PIC 9(02). 03310000
05 WN-FEC-MEN PIC 9(08). 03320000
05 WN-FEC-MEN-R REDEFINES WN-FEC-MEN. 03330000
10 WN-ANO-MEN PIC 9(04). 03340000
10 WN-MES-MEN PIC 9(02). 03350000
10 WN-DIA-MEN PIC 9(02). 03360000
* 03370000
01 WG-DEF-RUT-TEGR005. 03380000
05 FECHA-T05 PIC 9(08). 03390000
05 FECHA-T05-R REDEFINES FECHA-T05. 03400000
10 DIA-T05 PIC 9(02). 03410000
15 ANO-T05 PIC 9(02). 03420000
05 NUMERO-T05 PIC 9(06). 03430000
05 DIASEM-T05 PIC 9(01). 03440000
* 03450000
01 WG-DEF-RUT-TEGR006. 03460000
06 FECHA-T06 PIC 9(08). 03470000
06 FECHA-T06-R REDEFINES FECHA-T06. 03480000
10 DIA-T06 PIC 9(02). 03490000
10 MES-T06 PIC 9(02). 03500000
10 SIGANO-T06 PIC 9(04). 03510000
10 SIGANO-T06-R REDEFINES SIGANO-T06. 03520000
15 SIG-T06 PIC 9(02). 03530000
15 ANO-T06 PIC 9(02). 03540000
06 INDICA-T06 PIC X(01). 03550000
* 03560000
*--------------------------------------------------------------* 03570000
* USER INFORMATION BLOCK * 03580000
*--------------------------------------------------------------* 03590000
01 USER-ID. 03600000
05 PROGRAM-NAME PIC X(08) VALUE 'CRED573'. 03610000
05 FILLER PIC X(24) VALUE SPACES. 03620000
03630000
*--------------------------------------------------------------* 03640000
* REQUEST AREA TABLA ROP ( RELACION CLIENTE OPERACION ROPL) * 03650000
*--------------------------------------------------------------* 03660000
01 REQ-AREA-ROP. 03670000
05 REQ-COMAN-ROP PIC X(05) VALUE SPACES. 03680000
05 REQ-TBLNM-ROP PIC X(03) VALUE 'ROP'. 03690000
05 REQ-KEYNM-ROP PIC X(05) VALUE 'ROP00'. 03700000
05 REQ-CDRTN-ROP PIC X(02) VALUE SPACES. 03710000
05 REQ-INRCD-ROP PIC X(01). 03720000
05 REQ-DBIDE-ROP PIC S9(04) COMP VALUE +112. 03730000
05 FILLER PIC X(58). 03740000
05 REQ-KEYVAL-ROP. 03750000
10 REQ-ROP-CODOPE PIC X(04). 03760000
10 REQ-ROP-NUMOPE PIC 9(11). 03770000
10 REQ-ROP-NUMOPER PIC X(19). 03780000
10 REQ-ROP-CODREL PIC X(04). 03790000
10 REQ-ROP-NUMREL PIC X(30). 03800000
03810000
*--------------------------------------------------------------* 03820000
* ELEMENT LIST TABLA ROP * 03830000
*--------------------------------------------------------------* 03840000
01 ELM-LIS-ROP. 03850000
05 ELEM-ROP PIC X(05) VALUE 'ROP00'. 03860000
05 ELSE-ROP PIC X(01). 03870000
05 FILLER PIC X(05) VALUE SPACES. 03880000
03890000
*--------------------------------------------------------------* 03900000
* COPY DE ESQUEMA DE REGISTRO PARA TABLA * 03910000
*--------------------------------------------------------------* 03920000
01 REG-ROP. 03930000
COPY T112ROP0. 03940000
* 03950000
*--------------------------------------------------------------* 03960000
* 03970000
PROCEDURE DIVISION. 03980000
03990000
PROCESO-PRINCIPAL. 04000000
PERFORM INICIAR-PROCESO 04010000
IF NOT HAY-ERROR 04020000
PERFORM LEER-TCREVEN 04030000
PERFORM LEER-TCREDCT 04040000
PERFORM LEER-TCRENOR 04050000
END-IF 04060000
MOVE 0 TO SW-PROC 04070000
PERFORM LEER-TCREOPC UNTIL FIN-OPC 04080000
OR SE-PROCESA 04090000
OR HAY-ERROR 04100000
PERFORM PROC-TCREOPC UNTIL FIN-OPC 04110000
OR HAY-ERROR 04120000
**==> 04130000
PERFORM TERMINAR 04140000
GOBACK. 04150000
**==> 04160000
* 04170000
PROC-TCREOPC. 04180000
INITIALIZE WG-ACU-OPE 04190000
PERFORM LEER-RCOYCLI UNTIL FIN-RCO 04200000
OR RYC-NUM-OPE > OPC-NUM-OPE 04210000
OR RYC-NUM-OPE = OPC-NUM-OPE 04220000
IF RYC-NUM-OPE = OPC-NUM-OPE 04230000
MOVE ZEROES TO WN-CUOPAGA 04240000
WN-MONCUOTA 04250000
WN-VENPINT 04260000
WN-VENPCAP 04270000
WN-PRIVEN 04280000
WN-FEPCVEN 04290000
WN-FEUCVEN 04300000
WN-FEPCAST 04310000
WN-PLA-MES 04320000
WN-DIATRAS 04330000
MOVE OPC-FEC-TEO TO WN-PRIVEN 04340000
PERFORM PROCESA-VEN UNTIL FIN-VEN 04350000
OR VEN-NUM-OPE > OPC-NUM-OPE 04360000
OR FIN-VEN 04370000
PERFORM GRABA-DEUYMES 04380000
ELSE 04390000
ADD 1 TO WC-SIN-RCO. 04400000
* 04410000
*==> LEE OTRO 04420000
MOVE 0 TO SW-PROC 04430000
PERFORM LEER-TCREOPC UNTIL SE-PROCESA 04440000
OR FIN-OPC 04450000
OR HAY-ERROR. 04460000
* 04470000
**==> 04480000
PROCESA-VEN. 04490000
*==> SELECCIONA CUOTA A PROCESAR O BYPASS 04500000
IF VEN-NUM-OPE = OPC-NUM-OPE 04510000
ADD 1 TO WN-PLA-MES 04520000
IF WN-PRIVEN = ZEROES 04530000
MOVE VEN-FEC-VEN TO WN-PRIVEN 04540000
END-IF 04550000
IF WN-VENPINT = ZEROES AND 04560000
VEN-INT-CUO > ZEROES 04570000
MOVE VEN-FEC-VEN TO WN-VENPINT 04580000
END-IF 04590000
IF WN-VENPCAP = ZEROES AND 04600000
VEN-CAP-MON > ZEROES 04610000
MOVE VEN-FEC-VEN TO WN-VENPCAP 04620000
END-IF 04630000
IF VEN-EST-CUO = 9 04640000
ADD 1 TO WN-CUOPAGA 04650000
ELSE 04660000
PERFORM TRASPASA-DATOS 04670000
IF VEN-SIT-CTB = 0 04680000
CONTINUE 04690000
ELSE 04700000
PERFORM INT-X-COBRAR-VENCIDO. 04710000
04720000
*==> LEE OTRA CUOTA 04730000
PERFORM LEER-TCREVEN. 04740000
** 04750000
TRASPASA-DATOS. 04760000
IF WN-MONCUOTA = ZEROES 04770000
MOVE VEN-CUO-PES TO WN-MONCUOTA 04780000
IF WN-DIATRAS = ZEROES 04790000
IF VEN-FEC-VEN NOT > WN-FEC-CAL 04800000
MOVE VEN-FEC-VEN TO WN-FEC-MEN 04810000
MOVE WN-FEC-CAL TO WN-FEC-MAY 04820000
PERFORM CALL-TEGR002 04830000
IF INDICADOR = '1' 04840000
ADD TOTAL-DIAS 04850000
1 GIVING WN-DIATRAS. 04860000
04870000
CALL-TEGR002. 04880000
STRING WN-DIA-MEN WN-MES-MEN WN-ANO-MEN 04890000
DELIMITED BY SIZE INTO FECHA-MENOR 04900000
STRING WN-DIA-MAY WN-MES-MAY WN-ANO-MAY 04910000
DELIMITED BY SIZE INTO FECHA-MAYOR 04920000
MOVE '1' TO INDICADOR 04930000
* CALL 'TEGR002' USING FECHA-MAYOR FECHA-MENOR 04940000
CALL 'TEGR002X' USING FECHA-MAYOR FECHA-MENOR 04950000
TOTAL-DIAS INDICADOR. 04960000
* 04970000
** 04980000
INT-X-COBRAR-VENCIDO. 04990000
PERFORM LEER-TCREDCT UNTIL FIN-DCT 05000000
OR (DCT-NUM-OPE = VEN-NUM-OPE 05010000
AND DCT-NUM-CUO = VEN-NUM-CUO 05020000
AND DCT-SIT-CTB = VEN-SIT-CTB) 05030000
OR (DCT-NUM-OPE = VEN-NUM-OPE 05040000
AND DCT-NUM-CUO = VEN-NUM-CUO 05050000
AND DCT-SIT-CTB > VEN-SIT-CTB) 05060000
OR (DCT-NUM-OPE = VEN-NUM-OPE 05070000
AND DCT-NUM-CUO > VEN-NUM-CUO) 05080000
OR (DCT-NUM-OPE > VEN-NUM-OPE) 05090000
IF DCT-NUM-OPE = VEN-NUM-OPE AND 05100000
DCT-NUM-CUO = VEN-NUM-CUO AND 05110000
DCT-SIT-CTB = VEN-SIT-CTB 05120000
PERFORM CALC-CON-DCT. 05130000
* 05140000
CALC-CON-DCT. 05150000
IF WN-FEPCAST = ZEROES 05160000
IF VEN-SIT-CTB = 7 OR 05170000
VEN-SIT-CTB = 8 05180000
MOVE DCT-FEC-TRA TO WN-FEPCAST. 05190000
* 05200000
IF VEN-SIT-CTB = 2 OR 05210000
VEN-SIT-CTB = 4 OR 05220000
VEN-SIT-CTB = 6 05230000
MOVE DCT-FEC-TRA TO WN-FEUCVEN 05240000
IF WN-FEPCVEN = ZEROES 05250000
MOVE DCT-FEC-TRA TO WN-FEPCVEN. 05260000
* 05270000



OPC01_20150330:

******************************************************************
* COBOL DECLARATION FOR TABLE OPC01 - DATACOM *
* AREA RQ UTILIZADA EN SQL *
******************************************************************
01 DCLTOPC01.
10 REQ-KEY-OPC PIC X(11).


Cualquier sugerencia te lo voy a agradecer.
Hasta la próxima.

TIM DOLENTE

TIM_DOLENTE
Usuario
Usuario
Mensajes: 12
Registrado: 19 Sep 2014, 17:55
País: Chile
Ciudad: Santiago
Ocupación: Programador

Re: FTP - HERCULES

Mensaje por TIM_DOLENTE » 30 Mar 2015, 11:39

Segunda parte del CRED573.20153003 :

GRABA-DEUYMES. 05280000
MOVE OPC-OFI-DES TO I-OPE-OFI 05290000
* 05300000
IF OPC-COD-MON = 666 OR 05310000
OPC-CTA-CPD = '1376' OR = '8152' OR = '8151' 05320000
MOVE 995 TO I-OPE-MON 05330000
ELSE 05340000
IF OPC-COD-MON = 000 05350000
MOVE 999 TO I-OPE-MON 05360000
ELSE 05370000
IF OPC-COD-MON = 777 05380000
MOVE 997 TO I-OPE-MON 05390000
ELSE 05400000
IF OPC-COD-MON = 888 05410000
MOVE 998 TO I-OPE-MON 05420000
ELSE 05430000
IF OPC-COD-MON = 013 05440000
MOVE 994 TO I-OPE-MON 05450000
ELSE 05460000
MOVE OPC-COD-MON TO I-OPE-MON. 05470000
* 05480000
MOVE OPC-CTA-CPD TO I-OPE-PROCON 05490000
MOVE 'CRE8' TO I-OPE-APLI 05500000
MOVE OPC-NUM-OPE TO I-OPE-NUM 05510000
IF OPC-NUM-GRA > ZEROES 05520000
COMPUTE I-GRACIA = OPC-NUM-GRA * 30 05530000
ELSE 05540000
MOVE ZEROES TO I-GRACIA. 05550000
* 05560000
IF OPC-PLA-MES > ZEROES 05570000
MOVE OPC-PLA-MES TO I-CUOPACT 05580000
ELSE 05590000
MOVE WN-PLA-MES TO I-CUOPACT. 05600000
05610000
MOVE WN-DIATRAS TO I-DIATRA 05620000
MOVE WN-CUOPAGA TO I-CUOPAGA 05630000
05640000
* MOVE WN-MONCUOTA TO I-MONCUOTA SENTENC REEMPLAZADA05650000
05660000
IF WR-MONCUOTA-UNIDAD > 0 AND < 5 05670000
ADD WN-DIEZ TO WN-MONCUOTA 05680000
END-IF 05690000
COMPUTE I-MONCUOTA ROUNDED = WN-MONCUOTA / WN-MIL 05700000
MOVE OPC-FEC-CTB TO WN-FOTORIG 05710000
MOVE WN-FOTORIG TO I-FOTORIG 05720000
MOVE 0 TO I-FACTIV 05730000
MOVE WN-PRIVEN TO I-FEPRIVEN 05740000
MOVE WN-VENPINT TO I-VENPINT 05750000
MOVE WN-VENPCAP TO I-VENPCAP 05760000
MOVE ZEROES TO I-FEPMOR1 05770000
I-FEUMOR1 05780000
I-FEPMOR2 05790000
I-FEUMOR2 05800000
I-FEPMOR3 05810000
I-FEUMOR3 05820000
I-FEPCVEN 05830000
I-FEUCVEN 05840000
************ MOVE WN-FEPCVEN TO I-FEPCVEN 05850000
************ MOVE WN-FEUCVEN TO I-FEUCVEN 05860000
MOVE WN-FEPCAST TO I-FEPCAST 05870000
MOVE ZEROES TO I-CANMOR1 05880000
I-CANMOR2 05890000
I-CANMOR3 05900000
I-CANCV 05910000
PERFORM LEER-TCRENOR UNTIL FIN-NOR 05920000
OR NOR-NUM-OPE > OPC-NUM-OPE 05930000
OR NOR-NUM-OPE = OPC-NUM-OPE 05940000
IF NOR-NUM-OPE = OPC-NUM-OPE 05950000
MOVE NOR-CANMOR1 TO I-CANMOR1 05960000
MOVE NOR-CANMOR2 TO I-CANMOR2 05970000
MOVE NOR-CANMOR3 TO I-CANMOR3 05980000
MOVE NOR-FEC-MRA-UNO TO I-FEPMOR1 05990000
MOVE NOR-FEC-MRA-UNO-ULT TO I-FEUMOR1 06000000
MOVE NOR-FEC-MRA-DOS TO I-FEPMOR2 06010000
MOVE NOR-FEC-MRA-DOS-ULT TO I-FEUMOR2 06020000
MOVE NOR-FEC-MRA-TRE TO I-FEPMOR3 06030000
MOVE NOR-FEC-MRA-TRE-ULT TO I-FEUMOR3 06040000
MOVE NOR-FEC-MRA-CVE TO I-FEPCVEN 06050000
MOVE NOR-FEC-MRA-CVE-ULT TO I-FEUCVEN 06060000
MOVE NOR-CANCV TO I-CANCV. 06070000
* 06080000
MOVE SPACES TO IND-PROC 06090000
I-NOPORICV 06100000
PERFORM BUSCA-PROD-REL 06110000
IF OPE-PROC 06120000
PERFORM OPER-RELACIONADA. 06130000
MOVE SPACES TO I-NOPORIRE 06140000
MOVE OPC-OBJ-PRO TO I-FINCRED 06150000
MOVE ZEROES TO I-PUNTAJE 06160000
I-FESCOR. 06170000
06180000
MOVE ZEROS TO I-NUMDOC 06190000
MOVE ZEROS TO I-CORREL 06200000
MOVE ZEROS TO I-MONPAG. 06210000
* 06220000
* WRITE REG-DEUYMES FROM REGISTRO-DEUYMES. 06230000
WRITE REG-DEUYMES-SAL FROM REG-DEUYMES 06240000
IF ST-DEU = 0 06250000
ADD 1 TO GRBDOS-DEU 06260000
ELSE 06270000
DISPLAY 'ERROR WRITE DEUYMES = ' ST-DEU 06280000
MOVE 1 TO SW-ERROR 06290000
END-IF. 06300000
06310000
BUSCA-PROD-REL. 06320000
SET ITAR TO 1 06330000
SEARCH TAB-TAR VARYING ITAR 06340000
AT END 06350000
MOVE 'NO' TO IND-PROC 06360000
WHEN TT-CTACPD (ITAR) = OPC-CTA-CPD 06370000
MOVE 'SI' TO IND-PROC 06380000
END-SEARCH. 06390000
* 06400000
OPER-RELACIONADA. 06410000
* DISPLAY 'OPER-RELACIONADA.' 06420000
MOVE SPACES TO REQ-KEYVAL-ROP 06430000
MOVE 'CRE ' TO REQ-ROP-CODOPE 06440000
MOVE OPC-NUM-OPE TO REQ-ROP-NUMOPE 06450000
MOVE SPACES TO REQ-CDRTN-ROP 06460000
MOVE 'REDKG' TO REQ-COMAN-ROP 06470000
* DISPLAY 'KEY-ROP=' REQ-KEYVAL-ROP 06480000
INM13M EXEC SQL 06490000
INM13M SELECT 06500000
INM13M ROP_COD_OPE 06510000
INM13M INTO 06520000
INM13M :ROP-COD-OPE-R 06530000
INM13M FROM T112ROP 06540000
INM13M WHERE 06550000
INM13M ROP_COD_OPE >= :REQ-ROP-CODOPE 06560000
INM13M AND ROP_NUM_OPR >= :REQ-ROP-NUMOPE 06570000
INM13M ORDER BY ROP_COD_OPE 06580000
INM13M , ROP_NUM_OPR 06590000
INM13M , ROP_COD_REL 06600000
INM13M END-EXEC 06610000
INM13M MOVE 'S' TO WK-IGNORE-TOO-MANY-ROWS 06620000
INM13M PERFORM INM-RUT-ER 06630000
INM13M MOVE 'N' TO WK-IGNORE-TOO-MANY-ROWS 06640000
INM13M MOVE WK-INM-RET-DC TO REQ-CDRTN-ROP 06650000
INM13M MOVE ROP-COD-OPE-R TO REG-ROP. 06660000
IF REQ-CDRTN-ROP = SPACES AND 06670000
ROP-NUM-OPE(1:11) = OPC-NUM-OPE 06680000
MOVE ROP-NUM-REL TO I-NOPORICV. 06690000
* 06700000
**************************************************************** 06710000
*** RUTINAS Y PROCESOS PARA I/O 06720000
**************************************************************** 06730000
* 06740000
LEER-TCREOPC. 06750000
06760000
READ TCREOPCI. 06770000
06780000
IF OPC-OK 06790000
ADD 1 TO LEIDOS-OPC 06800000
IF LEIDOS-OPC = AC-LEIDOS 06810000
DISPLAY 'LEIDOS = ' AC-LEIDOS 06820000
ADD 100000 TO AC-LEIDOS 06830000
END-IF 06840000
IF OPC-EST-OPE = 1 06850000
PERFORM BUSCA-PRODUCTO 06860000
IF OPE-COLOC 06870000
ADD 1 TO PROCES-OPC 06880000
MOVE 1 TO SW-PROC 06890000
END-IF 06900000
END-IF 06910000
ELSE 06920000
IF NOT FIN-OPC 06930000
DISPLAY 'ERROR READ TCREOPC, ST = ' ST-OPC 06940000
MOVE 1 TO SW-ERROR 06950000
END-IF 06960000
END-IF. 06970000
06980000
BUSCA-PRODUCTO. 06990000
SET INDE TO 1 07000000
SEARCH TAB-DFP VARYING INDE 07010000
AT END 07020000
MOVE 'NO' TO IND-COLOC 07030000
WHEN TB-CTACPD (INDE) = OPC-CTA-CPD 07040000
MOVE 'SI' TO IND-COLOC 07050000
END-SEARCH. 07060000
07070000
LEER-TCREVEN. 07080000
READ TCREVENI. 07090000
07100000
IF VEN-OK 07110000
ADD 1 TO LEIDOS-VEN 07120000
ELSE 07130000
IF NOT FIN-VEN 07140000
DISPLAY 'ERROR READ TCREVEN, ST = ' ST-VEN 07150000
MOVE 1 TO SW-ERROR 07160000
END-IF 07170000
END-IF. 07180000
07190000
LEER-TCREDCT. 07200000
READ TCREDCTI. 07210000
07220000
IF DCT-OK 07230000
ADD 1 TO LEIDOS-DCT 07240000
ELSE 07250000
IF NOT FIN-DCT 07260000
DISPLAY 'ERROR READ TCREDCT, ST = ' ST-DCT 07270000
MOVE 1 TO SW-ERROR 07280000
END-IF 07290000
END-IF. 07300000
07310000
LEER-TCRENOR. 07320000
READ TCRENOR INTO REGISTRO-TCRENOR. 07330000
07340000
IF NOR-OK 07350000
ADD 1 TO LEIDOS-NOR 07360000
ELSE 07370000
IF NOT FIN-NOR 07380000
DISPLAY 'ERROR READ TCRENOR, ST = ' ST-NOR 07390000
MOVE 1 TO SW-ERROR 07400000
END-IF 07410000
END-IF. 07420000
07430000
LEE-TARJETA. 07440000
READ TARJETA. 07450000
07460000
IF TAR-OK 07470000
ADD 1 TO LEIDOS-TAR 07480000
ELSE 07490000
IF NOT FIN-TAR 07500000
DISPLAY 'ERROR READ TARJETA, ST = ' ST-TAR 07510000
MOVE 1 TO SW-ERROR 07520000
END-IF 07530000
END-IF. 07540000
07550000
LEER-TCREDFP. 07560000
READ TCREDFP. 07570000
07580000
IF DFP-OK 07590000
ADD 1 TO LEIDOS-DFP 07600000
ELSE 07610000
IF NOT FIN-DFP 07620000
DISPLAY 'ERROR READ TCREDFP, ST = ' ST-DFP 07630000
MOVE 1 TO SW-ERROR 07640000
END-IF 07650000
END-IF. 07660000
07670000
LEER-RCOYCLI. 07680000
READ RCOYCLI INTO REGISTRO-RCOYCLI. 07690000
07700000
IF RCO-OK 07710000
ADD 1 TO LEIDOS-RCO 07720000
ELSE 07730000
IF NOT FIN-RCO 07740000
DISPLAY 'ERROR READ RCOYCLI, ST = ' ST-RCO 07750000
MOVE 1 TO SW-ERROR 07760000
END-IF 07770000
END-IF. 07780000
07790000
INICIAR-PROCESO. 07800000
07810000
OPEN INPUT TCREOPCI TCREVENI TCREDCTI TARJETA 07820000
TCREDFP RCOYCLI TCRENOR 07830000
OUTPUT DEUYMES. 07840000
07850000
IF ST-DEU = 00 AND 07860000
ST-OPC = 00 AND 07870000
ST-VEN = 00 AND 07880000
ST-DCT = 00 AND 07890000
ST-DFP = 00 AND 07900000
ST-RCO = 00 AND 07910000
ST-NOR = 00 07920000
CONTINUE 07930000
ELSE 07940000
DISPLAY 'ERROR OPEN OPC= ' ST-OPC ' ST-VEN ' ST-VEN 07950000
' ST-DEU =' ST-DEU ' ST-DCT ' ST-DCT 07960000
' ST-RCO =' ST-RCO ' ST-NOR ' ST-NOR 07970000
' ST-DFP =' ST-DFP 07980000
MOVE 1 TO SW-ERROR 07990000
END-IF. 08000000
08010000
IF NOT HAY-ERROR 08020000
ACCEPT WG-PARAMETROS 08030000
STRING WN-FEC-DIA WN-FEC-MES WN-FEC-ANO 08040000
DELIMITED BY SIZE INTO FECHA-T06 08050000
MOVE 'R' TO INDICA-T06 08060000
08070000
* CALL 'TEGR006' USING FECHA-T06 INDICA-T06 08080000
CALL 'TEGR006X' USING FECHA-T06 INDICA-T06 08090000
IF INDICA-T06 NOT = ' ' 08100000
DISPLAY 'ERROR FECHA PROCESO : ' WN-FEC-CAL 08110000
MOVE 1 TO SW-ERROR 08120000
END-IF 08130000
08140000
STRING WN-FIN-DIA WN-FIN-MES WN-FIN-ANO 08150000
DELIMITED BY SIZE INTO FECHA-T06 08160000
MOVE 'R' TO INDICA-T06 08170000
08180000
* CALL 'TEGR006' USING FECHA-T06 INDICA-T06 08190000
CALL 'TEGR006X' USING FECHA-T06 INDICA-T06 08200000
IF INDICA-T06 NOT = ' ' 08210000
DISPLAY 'ERROR FECHA FIN MES : ' WN-ULT-DIA 08220000
MOVE 1 TO SW-ERROR 08230000
END-IF 08240000
08250000
MOVE ZEROES TO WG-DEF-RUT-TEGR005 08260000
STRING WN-FEC-DIA WN-FEC-MES WN-FEC-ANO 08270000
DELIMITED BY SIZE INTO FECHA-T05 08280000
MOVE ZEROES TO DIASEM-T05 08290000
MOVE 1 TO NUMERO-T05 08300000
08310000
* CALL 'TEGR005' USING WG-DEF-RUT-TEGR005 08320000
CALL 'TEGR005X' USING WG-DEF-RUT-TEGR005 08330000
IF DIASEM-T05 < 9 08340000
STRING SIGANO-T05 MES-T05 DIA-T05 08350000
DELIMITED BY SIZE INTO WN-HABSGTE 08360000
END-IF 08370000
08380000
IF WN-FEC-CAL(1:6) NOT = WN-HABSGTE(1:6) 08390000
MOVE WN-ULT-DIA TO WN-FEC-CAL 08400000
END-IF 08410000
08420000
MOVE SPACES TO REG-DEUYMES 08430000
DISPLAY '==================================' 08440000
DISPLAY '*** PROGRAMA - CRED573 ***' 08450000
DISPLAY '==================================' 08460000
DISPLAY 'PROCESO AL =' WN-FEC-CAL 08470000
MOVE WN-FEC-CAL(3:4) TO I-CIERRE 08480000
08490000
IF NOT HAY-ERROR 08500000
PERFORM SIGUE-INICIO 08510000
END-IF 08520000
END-IF. 08530000
08540000
SIGUE-INICIO. 08550000
08560000
INITIALIZE REG-DEUYMES. 08570000
PERFORM LEE-TARJETA 08580000
IF FIN-TAR 08590000
DISPLAY 'FALTA TARJETA PEZQUISA' 08600000
MOVE 1 TO SW-ERROR 08610000
ELSE 08620000
PERFORM PROCESA-TARJETA UNTIL FIN-TAR 08630000
OR ITAR > 200 08640000
IF ITAR > 200 08650000
DISPLAY 'TABLA PROD. CHICA, NO PROCESA' 08660000
MOVE 1 TO SW-ERROR 08670000
END-IF 08680000
END-IF. 08690000
08700000
IF NOT HAY-ERROR 08710000
DISPLAY 'PROD.RELAC.' TABLA-TCRE-TAR 08720000
08730000
PERFORM LEER-TCREDFP 08740000
IF ST-DFP = 0 08750000
SET INDE TO 1 08760000
PERFORM PROC-TCREDFP UNTIL FIN-DFP 08770000
OR INDE > 2000 08780000
IF INDE > 2000 08790000
DISPLAY 'TABLA DFP CHICA, NO PROCESA' 08800000
MOVE 1 TO SW-ERROR 08810000
END-IF 08820000
ELSE 08830000
DISPLAY 'FALTA DFP NO PROCESA' 08840000
MOVE 1 TO SW-ERROR 08850000
END-IF 08860000
END-IF 08870000
08880000
CLOSE TARJETA TCREDFP. 08890000
IF NOT DFP-OK 08900000
DISPLAY 'ERROR CLOSE DFP = ' ST-DFP 08910000
MOVE 1 TO SW-ERROR. 08920000
08930000
IF NOT TAR-OK 08940000
DISPLAY 'ERROR CLOSE TARJETA = ' ST-TAR 08950000
MOVE 1 TO SW-ERROR. 08960000
08970000
PROCESA-TARJETA. 08980000
08990000
MOVE TAR-CTACPD TO TT-CTACPD (ITAR) 09000000
SET ITAR UP BY 1. 09010000
09020000
PERFORM LEE-TARJETA. 09030000
09040000
PROC-TCREDFP. 09050000
IF DFP-CTA-CPD = '40SA' 09060000
CONTINUE 09070000
ELSE 09080000
IF DFP-TIP-COL NOT = 'N' 09090000
MOVE DFP-CTA-CPD TO TB-CTACPD (INDE) 09100000
SET INDE UP BY 1. 09110000
09120000
PERFORM LEER-TCREDFP. 09130000
09140000
TERMINAR. 09150000
CLOSE DEUYMES TCREOPCI TCREVENI TCREDCTI RCOYCLI 09160000
TCRENOR 09170000
IF ST-DEU = 00 AND 09180000
ST-OPC = 00 AND 09190000
ST-VEN = 00 AND 09200000
ST-DCT = 00 AND 09210000
ST-RCO = 00 AND 09220000
ST-NOR = 00 09230000
CONTINUE 09240000
ELSE 09250000
DISPLAY 'ERROR CLOSE OPC= ' ST-OPC ' ST-VEN ' ST-VEN 09260000
' ST-DEU =' ST-DEU ' ST-DCT ' ST-DCT 09270000
' ST-RCO =' ST-RCO ' ST-NOR ' ST-NOR 09280000
MOVE 1 TO SW-ERROR. 09290000
09300000
DISPLAY '=================================' 09310000
DISPLAY '*** TOTALES PROGRAMA CRED573 ***' 09320000
DISPLAY '=================================' 09330000
MOVE LEIDOS-TAR TO L12-FD01 09340000
DISPLAY 'LEIDOS TAR = ' L12-FD01 09350000
MOVE LEIDOS-OPC TO L12-FD01 09360000
DISPLAY 'LEIDOS OPC = ' L12-FD01 09370000
MOVE PROCES-OPC TO L12-FD01 09380000
DISPLAY 'PROCES OPC = ' L12-FD01 09390000
MOVE LEIDOS-VEN TO L12-FD01 09400000
DISPLAY 'LEIDOS VEN = ' L12-FD01 09410000
MOVE LEIDOS-DCT TO L12-FD01 09420000
DISPLAY 'LEIDOS DCT = ' L12-FD01 09430000
MOVE LEIDOS-DFP TO L12-FD01 09440000
DISPLAY 'LEIDOS DFP = ' L12-FD01 09450000
MOVE LEIDOS-NOR TO L12-FD01 09460000
DISPLAY 'LEIDOS NOR = ' L12-FD01 09470000
MOVE LEIDOS-RCO TO L12-FD01 09480000
DISPLAY 'LEIDOS RCO = ' L12-FD01 09490000
MOVE WC-SIN-RCO TO L12-FD01 09500000
DISPLAY 'OP.SIN RCO = ' L12-FD01 09510000
MOVE GRBDOS-DEU TO L12-FD01 09520000
DISPLAY 'GRABDO DEU = ' L12-FD01 09530000
DISPLAY '================================='. 09540000
09550000
IF HAY-ERROR 09560000
MOVE 16 TO RETURN-CODE 09570000
DISPLAY '------------------------------------' 09580000
DISPLAY '* TERMINO ANORMAL PROG. CRED573 *' 09590000
DISPLAY '------------------------------------' 09600000
ELSE 09610000
DISPLAY '------------------------------------' 09620000
DISPLAY '* TERMINO O.K. PROGRAMA CRED573 *' 09630000
DISPLAY '------------------------------------' 09640000
END-IF. 09650000
09660000
INM13M COPY INMRUTER. 09670000




Gracias

TIM DOLENTE

Avatar de Usuario
Vicente
Colaborador avanzado
Colaborador avanzado
Mensajes: 543
Registrado: 21 Jul 2011, 04:52
País: España
Ciudad: Malaga
Ocupación: Técnico en Sistemas

Re: FTP - HERCULES

Mensaje por Vicente » 31 Mar 2015, 08:02

Hola Tim,
Por desgracia el método que has empleado no me vale para estudiarlo, pues si el problema está en el contenido del fichero en tu PC no podré verlo, ya que copiar y pegar no es un buen procedimiento para conservar integro el mismo.

Puedes enviarme los ficheros a vielzaru arroba gmail punto com
Esta es un direccion de correo que no suelo leer, por lo que deberías escribir en el foro para informarme de que me los has enviado.

Un saludo
Varios días probando, equivocandote y volviendo a probar
pueden ahorrarte quince minutos de lectura de un manual.

TIM_DOLENTE
Usuario
Usuario
Mensajes: 12
Registrado: 19 Sep 2014, 17:55
País: Chile
Ciudad: Santiago
Ocupación: Programador

Re: FTP - HERCULES

Mensaje por TIM_DOLENTE » 31 Mar 2015, 16:18

Hola Vicente, te envié al correo que me indicaste los 2 archivos que te mencionaba.
El mas grande, es un programa y es el que cancela por TRANS13, como te decía ese programa lo traje previamente desde el hercules y cuando lo mando de vuelta ahí es donde cancela.
Sin embargo, el mas chico que es una DCLGEN, lo traje y lo envié nuevamente al hercules sin problemas.

Ante la necesidad de enviar programas al hercules ayer intenté algo distinto, instalé otro emulador de pantalla, el QUICK3270 y el IND$FILE en este emulador funciona sin problemas, tanto para subir como para bajar, y además permite armar listas para subir o bajar en forma masiva.
Quiere decir que por el momento tengo solucionado mi problema inmediato.

Pero si tenés tiempo podríamos seguir viendo de que se trata el viejo problema, como vos decidas.

Muchas gracias por tu tiempo.

TIM DOLENTE

Avatar de Usuario
Vicente
Colaborador avanzado
Colaborador avanzado
Mensajes: 543
Registrado: 21 Jul 2011, 04:52
País: España
Ciudad: Malaga
Ocupación: Técnico en Sistemas

Re: FTP - HERCULES

Mensaje por Vicente » 01 Abr 2015, 09:38

Hola TIM,
He revisado el archivo que me has mandado y no veo nada raro.
El fichero está bien.
Mis pruebas con IND$FILE tambien han ido bien, generando mi emulador de terminal el mandato:
IND$FILE PUT 'FICHERO.CRED573' ASCII CRLF

Por lo que sigo pensando que hay algo que cambiar en tu reflection, referente a parámetros que describan el tipo de transferencia, el tipo de fichero y/o como crearlo, tamaños, etc.

Por desgracia no tengo ese software de emulación, por lo que queda a tu criterio estudiarlo y seguir haciendo pruebas con él.
Por suerte puedes trabajar con otro emulador.

Un saludo
Varios días probando, equivocandote y volviendo a probar
pueden ahorrarte quince minutos de lectura de un manual.

TIM_DOLENTE
Usuario
Usuario
Mensajes: 12
Registrado: 19 Sep 2014, 17:55
País: Chile
Ciudad: Santiago
Ocupación: Programador

Re: FTP - HERCULES

Mensaje por TIM_DOLENTE » 01 Abr 2015, 10:22

OK Vicente, gracias por tu tiempo y por tu buena predisposición.
Tal como vos decís y también por descarte parece que hay algo relacionado con el REFLECTION, ya que los mismos archivos y el mismo entorno funciona con otro emulador.
Voy a seguir haciendo pruebas a ver a donde llego, pero ahora con menos presión ya que puedo usar otro emulador para mandar programas al hercules.
Muchas gracias.
Saludos


TIM DOLENTE

Responder