Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol IBM Enterprise COBOL JCL y utilidades
JCL y utilidades Job Control Lenguage, DFSORT, IEBGENER, IDCAMS...
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
Utilidad de Windows muy potente pero poco conocida Josber Software 3 1 de abril de 2023 23:12
[Sintaxis] Ejemplo de menu en Linux GabrielACE AcuCobol 4 3 de octubre de 2018 13:56
[Sintaxis] Ejemplo MFSort en Linux Kuk Micro Focus COBOL 0 11 de enero de 2017 14:32
[Herramienta] Ejemplo Agenda Dasije WinDev 0 23 de agosto de 2016 10:17
[Herramienta] Ejemplo controles Windev Dasije WinDev 4 25 de julio de 2016 12:32

Respuesta
 
Herramientas

  #1
Antiguo 14 de junio de 2016, 14:53
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207
Idea ICETOOL - un ejemplo batsante potente
0 Inactivo Inactivo

Me tiré unas horas entendiendo qué hace este código... He usado siempre el DFSORT, el ICETOOL es relativamente nuevo y viene a ser la evolución del DFSORT. He formateado registros y filtrado con IFTHEN pero este ejemplo me ha impresionado

Código JCL:
  1. //SORT EXEC PGM=ICETOOL
  2. //TOOLMSG  DD SYSOUT=*
  3. //DFSMSG   DD SYSOUT=*
  4. //INF      DD DISP=SHR,DSN=&INFILE
  5. //OUTF     DD DISP=OLD,DSN=&PILOTE
  6. //*
  7. //TMP      DD DISP=MOD,DSN=&&TEMP,UNIT=SYSDA,SPACE=(CYL,(5,15))
  8. //TMPH     DD DISP=MOD,DSN=&&TEMP1,UNIT=SYSDA,SPACE=(CYL,(1,5))
  9. //TMPH2    DD DISP=MOD,DSN=&&TEMP2,UNIT=SYSDA,SPACE=(CYL,(1,5))
  10. //TMPD     DD DISP=MOD,DSN=&&TEMP3,UNIT=SYSDA,SPACE=(CYL,(5,15))
  11. //TMPD2    DD DISP=MOD,DSN=&&TEMP4,UNIT=SYSDA,SPACE=(CYL,(1,5))
  12. //*
  13. //TOOLIN DD *
  14.  COPY   FROM(INF)  USING(CPY1)
  15.  SELECT FROM(TMPH) TO(TMPH2) ON(7,17,ZD) FIRST USING(CPY2)
  16.  SELECT FROM(TMPD) TO(TMPD2) ON(7,17,ZD) FIRST USING(CPY3)
  17.  COPY   JKFROM     TO(TMP)  USING(CPY4)
  18.  COPY   FROM(TMP)  TO(OUTF) USING(CPY5)
  19. /*
  20. //CPY1CNTL DD *
  21.   INREC BUILD=(SEQNUM,6,PD,42:X'00001C',45:X'0000001C',49:1,1,51:1,450)
  22.   OUTREC IFTHEN=(WHEN=GROUP,
  23.     BEGIN=(51,1,ZD,EQ,0),
  24.     END=(51,1,ZD,EQ,6),
  25.     PUSH=(7:52,17))
  26.   SORT FIELDS=(7,17,ZD,A)
  27.   OUTFIL FNAMES=TMPH,INCLUDE=(51,1,ZD,EQ,0)
  28.   OUTFIL FNAMES=TMPD,INCLUDE=(51,1,ZD,NE,0)
  29.   OUTFIL FNAMES=TMP,INCLUDE=(51,1,ZD,NE,0),
  30.          IFTHEN=(WHEN=GROUP,
  31.     BEGIN=(51,1,ZD,EQ,1),
  32.     END=(51,1,ZD,GT,5),
  33.     PUSH=(24:52,25))
  34. /*                
  35. //CPY2CNTL DD *
  36.   SUM FIELDS=(42,3,PD)
  37. /*
  38. //CPY3CNTL DD *
  39.   SUM FIELDS=(45,4,PD)
  40. /*
  41. //CPY4CNTL DD *
  42.   JOINKEYS F1=TMPH2,FIELDS=(7,17,A)
  43.   JOINKEYS F2=TMPD2,FIELDS=(7,17,A)
  44.   REFORMAT FIELDS=(F1:1,44,F2:45,4,F1:49,452)
  45. /*
  46. //CPY5CNTL DD *
  47.   SORT FIELDS=(7,17,ZD,A,1,6,PD,A)
  48.   OUTREC BUILD=(SEQNUM,6,PD,7:7,494)
  49.   OUTFIL FNAMES=OUTF,IFTHEN=(WHEN=(1,6,PD,EQ,1),
  50.     OVERLAY=(24:DATENS(4MD),32:TIMENS(24),38:C'DNAX'))
  51. /*



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
Respuesta



Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado

Saltar a Foro


La franja horaria es GMT +2. Ahora son las 12:14.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.