08/12/15

Entendendo Sobre JCL - Utilitário ICETOOL

ICETOOL é um utilitário multiuso DFSORT que utiliza as capacidades do DFSORT para realizar várias operações em um ou mais datasets num único passo. Este exemplo de ICETOOL quero classificar os dados de um dataset da coluna 1 até 7 para checar se tem registro duplicado, o resultado vamos gravar em dois datasets diferente (registros dulplicados e regristros não duplicados).

   File  Edit  Edit_Settings  Menu  Utilities  Compilers  Test  Help

 EDIT       ADCD.LIB.JCL(ICETOOL) - 01.04                   Columns 00001 00072
 Command ===>                                                  Scroll ===> CSR
 ****** ***************************** Top of Data ******************************
 000001 //ICETOOL    JOB (72,FB3),ICHMIN00,COND=(0,NE),
 000002 //      CLASS=A,MSGCLASS=H,NOTIFY=IBMUSER
 000003 //* -------------------------------------------------------
 000004 //* RETAIN THE DUPLICATE RECORDS WITH OUT USING XSUM FETURE
 000005 //* -------------------------------------------------------
 000006 //STEP001  EXEC PGM=ICETOOL
 000007 //IN       DD *
 000008 AAAAA01    - REGISTRO DUPLICADO
 000009 AAAAA02    - REGISTRO DUPLICADO
 000010 BBBBB01    - REGISTRO DUPLICADO
 000011 AAAAA01    - REGISTRO DUPLICADO
 000012 AAAAA02    - REGISTRO DUPLICADO
 000013 AAAAA03    - NAO REPETE
 000014 BBBBB01    - REGISTRO DUPLICADO
 000015 BBBBB02    - NAO REPETE
 000016 /*
 000017 //OUT      DD  DSN=ICETOOL.OUT,DISP=(,CATLG,DELETE),
 000018 //         VOL=SER=ZADB82,SPACE=(CYL,(1,1)),UNIT=SYSDA,
 000019 //         DCB=(RECFM=FB,BLKSIZE=0,LRECL=40,DSORG=PS)
 000020 //DUPS     DD  DSN=ICETOOL.DUPS,DISP=(,CATLG,DELETE),
 000021 //         VOL=SER=ZADB82,SPACE=(CYL,(1,1)),UNIT=SYSDA,
 000022 //         DCB=(RECFM=FB,BLKSIZE=0,LRECL=40,DSORG=PS)
 000023 //TOOLMSG  DD SYSOUT=*
 000024 //DFSMSG   DD SYSOUT=*
 000025 //TOOLIN   DD *
 000026   SELECT FROM(IN) TO(OUT) ON(1,7,CH) DISCARD(DUPS) ALLDUPS
 000027 /*
 ****** **************************** Bottom of Data ****************************
Vamos ver o resultado do job que rodamos;
   Menu  Utilities  Compilers  Options  Status  Help

                            ISPF Primary Option Menu

 0  Settings      Terminal and user parameters            User ID . : ADCDMST
 1  View          Display source data or listings         Time. . . : 21:02
 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 : ISPFPROC
 7  Dialog Test   Perform dialog testing                  TSO prefix: ADCDMST
 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


 Option ===> m
  F1=Help      F2=Split     F3=Exit      F7=Backward  F8=Forward   F9=Swap
 F10=Actions  F12=Cancel
Opção 5 (enter) - SDSF;
   Menu  Help
 ------------------------------------------------------------------------------
                            IBM Products Panel

 1  SMP/E       System Modification Program/Extended
 2  ISMF        Integrated Storage Management Facility
 3  RACF        Resource Access Control Facility
 4  HCD         Hardware Configuration Dialogs
 5  SDSF        Spool Search and Display Facility
 6  IPCS        Interactive Problem Control System
 7  DITTO       DITTO/ESA for MVS Version 1
 8  RMF         Resource Measurement Facility
 10 OMVS        MVS OpenEdition
 11 RRS         Resource Recovery Services
 12 MQ          WMQ Series Operations and Control
 13 FMN         File Manager 3.1.0perations and Control
 14 WLM         Workload Manager




 Option ===> 5
  F1=Help      F2=Split     F3=Exit      F7=Backward  F8=Forward   F9=Swap
 F10=Actions  F12=Cancel
Vamos ver o resultado do job - opção st (enter);
   Display  Filter  View  Print  Options  Help
 -------------------------------------------------------------------------------
 HQX7750 -----------------  SDSF PRIMARY OPTION MENU  --------------------------

 DA    Active users                      INIT  Initiators
 I     Input queue                       PR    Printers
 O     Output queue                      PUN   Punches
 H     Held output queue                 RDR   Readers
 ST    Status of jobs                    LINE  Lines
                                         NODE  Nodes
 LOG   System log                        SO    Spool offload
 MAS   Members in the MAS
 JC    Job classes                       ULOG  User session log
 SE    Scheduling environments
 RES   WLM resources

 Licensed Materials - Property of IBM

 5694-A01 Copyright IBM Corp. 1981, 2008. All rights reserved.
 US Government Users Restricted Rights - Use, duplication or
 disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
 COMMAND INPUT ===> ST                                         SCROLL ===> PAGE
  F1=HELP      F2=SPLIT     F3=END       F4=RETURN    F5=IFIND     F6=BOOK
  F7=UP        F8=DOWN      F9=SWAP     F10=LEFT     F11=RIGHT    F12=RETRIEVE
Vamos digitar FIND ICETOOL (para ir direto ao nosso job)
   Display  Filter  View  Print  Options  Help
 -------------------------------------------------------------------------------
 SDSF STATUS DISPLAY ALL CLASSES                        LINE 1-17 (78)
 NP   JOBNAME  JobID    Owner    Prty Queue      C  Pos  SAff  ASys Status
      IBMUSER  TSU00199 IBMUSER    15 EXECUTION          SYS1  SYS1
      ADCDMST  TSU00215 ADCDMST    15 EXECUTION          SYS1  SYS1
      SYSLOG   STC00174 +MASTER+   15 EXECUTION          SYS1  SYS1
      VTAM     STC00175 START1     15 EXECUTION          SYS1  SYS1
      ZFS      STC00176 ++++++++   15 EXECUTION          SYS1  SYS1
      INIT     STC00178 START2     15 EXECUTION          SYS1  SYS1
      INIT     STC00179 START2     15 EXECUTION          SYS1  SYS1
      INIT     STC00180 START2     15 EXECUTION          SYS1  SYS1
      INIT     STC00181 START2     15 EXECUTION          SYS1  SYS1
      INIT     STC00182 START2     15 EXECUTION          SYS1  SYS1
      INIT     STC00183 START2     15 EXECUTION          SYS1  SYS1
      INIT     STC00184 START2     15 EXECUTION          SYS1  SYS1
      INIT     STC00185 START2     15 EXECUTION          SYS1  SYS1
      INIT     STC00186 START2     15 EXECUTION          SYS1  SYS1
      INIT     STC00187 START2     15 EXECUTION          SYS1  SYS1
      RACF     STC00188 START2     15 EXECUTION          SYS1  SYS1
      TSO      STC00189 START1     15 EXECUTION          SYS1  SYS1
 COMMAND INPUT ===> FIND ICETOOL                               SCROLL ===> PAGE
  F1=HELP      F2=SPLIT     F3=END       F4=RETURN    F5=IFIND     F6=BOOK
  F7=UP        F8=DOWN      F9=SWAP     F10=LEFT     F11=RIGHT    F12=RETRIEVE
Vamos acessar ele (s) enter;
   Display  Filter  View  Print  Options  Help
 -------------------------------------------------------------------------------
 SDSF STATUS DISPLAY ALL CLASSES                         CHARS 'ICETOOL' FOUND
 NP   JOBNAME  JobID    Owner    Prty Queue      C  Pos  SAff  ASys Status
 s    ICETOOL  JOB00217 IBMUSER     1 PRINT      A
      $MASCOMM STC00001 START1     15 PRINT
      SYSLOG   STC00002 +MASTER+    1 PRINT
      TSO      STC00017 START1      1 PRINT
      SDSF     STC00019 START2      1 PRINT
      TCPIP    STC00021 TCPIP       1 PRINT
      HTTPD1   STC00023 WEBSRV      1 PRINT
      NFSS     STC00024 START1      1 PRINT
      CSQ7MSTR STC00026 START2      1 PRINT
      PORTMAP  STC00037 START2      1 PRINT
      CICSA    STC00039 START2      1 PRINT
      SYSLOG   STC00041 +MASTER+    1 PRINT
      TSO      STC00056 START1      1 PRINT
      SDSF     STC00057 START2      1 PRINT
      TCPIP    STC00061 TCPIP       1 PRINT
      HTTPD1   STC00062 WEBSRV      1 PRINT
      NFSS     STC00063 START1      1 PRINT
 COMMAND INPUT ===>                                            SCROLL ===> PAGE
  F1=HELP      F2=SPLIT     F3=END       F4=RETURN    F5=IFIND     F6=BOOK
  F7=UP        F8=DOWN      F9=SWAP     F10=LEFT     F11=RIGHT    F12=RETRIEVE
Vamos ver o resultado, rodou ok;
   Display  Filter  View  Print  Options  Help
 -------------------------------------------------------------------------------
 SDSF OUTPUT DISPLAY ICETOOL  JOB00217  DSID     2 LINE 0       COLUMNS 02- 81
 COMMAND INPUT ===>                                            SCROLL ===> PAGE
********************************* TOP OF DATA **********************************
                         J E S 2  J O B  L O G  --  S Y S T E M  S Y S 1  --  N

20.51.57 JOB00217 ---- TUESDAY,   08 DEC 2015 ----
20.51.57 JOB00217  IRR010I  USERID IBMUSER  IS ASSIGNED TO THIS JOB.
20.51.58 JOB00217  ICH70001I IBMUSER  LAST ACCESS AT 20:28:27 ON TUESDAY, DECEMB
20.51.58 JOB00217  $HASP373 ICETOOL  STARTED - INIT 1    - CLASS A - SYS SYS1
20.51.58 JOB00217  IEF403I ICETOOL - STARTED - TIME=20.51.58
20.52.00 JOB00217  IEF404I ICETOOL - ENDED - TIME=20.52.00
20.52.00 JOB00217  $HASP395 ICETOOL  ENDED
------ JES2 JOB STATISTICS ------
  08 DEC 2015 JOB EXECUTION DATE
           27 CARDS READ
          133 SYSOUT PRINT RECORDS
            0 SYSOUT PUNCH RECORDS
            8 SYSOUT SPOOL KBYTES
         0.04 MINUTES EXECUTION TIME
        1 //ICETOOL    JOB (72,FB3),ICHMIN00,COND=(0,NE),
          //      CLASS=A,MSGCLASS=H,NOTIFY=IBMUSER
          //* -------------------------------------------------------
          //* RETAIN THE DUPLICATE RECORDS WITH OUT USING XSUM FETURE
          //* -------------------------------------------------------
        2 //STEP001  EXEC PGM=ICETOOL
        3 //IN       DD *
        4 //OUT      DD  DSN=ICETOOL.OUT,DISP=(,CATLG,DELETE),
          //         VOL=SER=ZADB82,SPACE=(CYL,(1,1)),UNIT=SYSDA,
          //         DCB=(RECFM=FB,BLKSIZE=0,LRECL=40,DSORG=PS)
        5 //DUPS     DD  DSN=ICETOOL.DUPS,DISP=(,CATLG,DELETE),
          //         VOL=SER=ZADB82,SPACE=(CYL,(1,1)),UNIT=SYSDA,
          //         DCB=(RECFM=FB,BLKSIZE=0,LRECL=40,DSORG=PS)
        6 //TOOLMSG  DD SYSOUT=*
        7 //DFSMSG   DD SYSOUT=*
        8 //TOOLIN   DD *
ICH70001I IBMUSER  LAST ACCESS AT 20:28:27 ON TUESDAY, DECEMBER 8, 2015
IEF236I ALLOC. FOR ICETOOL STEP001
IEF237I JES2 ALLOCATED TO IN
IGD100I 0A84 ALLOCATED TO DDNAME OUT      DATACLAS (        )
IGD100I 0A84 ALLOCATED TO DDNAME DUPS     DATACLAS (        )
IEF237I JES2 ALLOCATED TO TOOLMSG
IEF237I JES2 ALLOCATED TO DFSMSG
IEF237I JES2 ALLOCATED TO TOOLIN
IGD100I VIO ALLOCATED TO DDNAME SORTWK01 DATACLAS (        )
IEF285I   SYS15342.T205158.RA000.ICETOOL.R0100021      DELETED
IGD100I VIO ALLOCATED TO DDNAME SORTWK01 DATACLAS (        )
IGD100I VIO ALLOCATED TO DDNAME SORTWK02 DATACLAS (        )
IEF285I   SYS15342.T205159.RA000.ICETOOL.R0100022      DELETED
IGD100I VIO ALLOCATED TO DDNAME SORTWK02 DATACLAS (        )
IGD100I VIO ALLOCATED TO DDNAME SORTWK03 DATACLAS (        )
IEF285I   SYS15342.T205159.RA000.ICETOOL.R0100023      DELETED
IGD100I VIO ALLOCATED TO DDNAME SORTWK03 DATACLAS (        )
IGD100I VIO ALLOCATED TO DDNAME SORTWK04 DATACLAS (        )
IEF285I   SYS15342.T205159.RA000.ICETOOL.R0100024      DELETED
IGD100I VIO ALLOCATED TO DDNAME SORTWK04 DATACLAS (        )
IEF285I   SYS15342.T205158.RA000.ICETOOL.SORTWK01.H01  DELETED
IEF285I   SYS15342.T205159.RA000.ICETOOL.SORTWK02.H01  DELETED
IEF285I   SYS15342.T205159.RA000.ICETOOL.SORTWK03.H01  DELETED
IEF285I   SYS15342.T205159.RA000.ICETOOL.SORTWK04.H01  DELETED
IEF142I ICETOOL STEP001 - STEP WAS EXECUTED - COND CODE 0000
IEF285I   IBMUSER.ICETOOL.JOB00217.D0000101.?          SYSIN
IEF285I   ICETOOL.OUT                                  CATALOGED
IEF285I   VOL SER NOS= ZADB82.
IEF285I   ICETOOL.DUPS                                 CATALOGED
IEF285I   VOL SER NOS= ZADB82.
IEF285I   IBMUSER.ICETOOL.JOB00217.D0000103.?          SYSOUT
IEF285I   IBMUSER.ICETOOL.JOB00217.D0000104.?          SYSOUT
IEF285I   IBMUSER.ICETOOL.JOB00217.D0000102.?          SYSIN
IEF373I STEP/STEP001 /START 2015342.2051
IEF374I STEP/STEP001 /STOP  2015342.2052 CPU    0MIN 01.83SEC SRB    0MIN 00.05S
IEF375I  JOB/ICETOOL /START 2015342.2051
IEF376I  JOB/ICETOOL /STOP  2015342.2052 CPU    0MIN 01.83SEC SRB    0MIN 00.05S
ICE600I 0 DFSORT ICETOOL UTILITY RUN STARTED
ICE650I 0 VISIT http://www.ibm.com/storage/dfsort FOR ICETOOL PAPERS, EXAMPLES A

ICE632I 0 SOURCE FOR ICETOOL STATEMENTS:  TOOLIN


ICE630I 0 MODE IN EFFECT:  STOP

            SELECT FROM(IN) TO(OUT) ON(1,7,CH) DISCARD(DUPS) ALLDUPS
ICE627I 0 DFSORT CALL 0001 FOR SORT FROM IN       TO OUTFIL   COMPLETED
ICE628I 0 RECORD COUNT:  000000000000008
ICE638I 0 NUMBER OF RECORDS RESULTING FROM CRITERIA:  000000000000006
ICE602I 0 OPERATION RETURN CODE:  00


ICE601I 0 DFSORT ICETOOL UTILITY RUN ENDED - RETURN CODE:  00
ICE200I 0 IDENTIFIER FROM CALLING PROGRAM IS 0001
ICE143I 0 BLOCKSET     SORT  TECHNIQUE SELECTED
ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES AN
ICE000I 0 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R10 - 20:51 ON TUE DE
          DEBUG NOABEND,ESTAE
          OPTION MSGDDN=DFSMSG,LIST,MSGPRT=ALL,RESINV=0,SORTIN=IN,SORTOUT=OUT,DY
                         ALLOC,SZERO,EQUALS,NOVLSHRT,LOCALE=NONE,NOCHECK
          SORT FIELDS=(1,7,CH,A)
          MODS E35=(ICE35DU,12288)
          OUTFIL FNAMES=OUT
          OUTFIL FNAMES=DUPS
ICE201I F RECORD TYPE IS F - DATA STARTS IN POSITION 1
ICE175I A ATTEMPT TO REALLOCATE VIO WORK DATA SETS TO REAL RESULTED IN VIO
ICE751I 0 C5-K90014 C6-K90014 C7-BASE   C8-K90014 E4-BASE   C9-BASE   E5-K38900
ICE193I 0 ICEAM2 INVOCATION ENVIRONMENT IN EFFECT - ICEAM2 ENVIRONMENT SELECTED
ICE088I 5 ICETOOL .STEP001 .        , INPUT LRECL = 80, BLKSIZE = 80, TYPE = FB
ICE093I 0 MAIN STORAGE = (MAX,6291456,6266880)
ICE156I 0 MAIN STORAGE ABOVE 16MB = (6225904,6209520)
ICE127I 0 OPTIONS: OVFLO=RC0 ,PAD=RC0 ,TRUNC=RC0 ,SPANINC=RC16,VLSCMP=N,SZERO=Y,
ICE128I 0 OPTIONS: SIZE=6291456,MAXLIM=1048576,MINLIM=450560,EQUALS=Y,LIST=Y,ERE
ICE129I 0 OPTIONS: VIO=N,RESDNT=ALL ,SMF=NO   ,WRKSEC=Y,OUTSEC=Y,VERIFY=N,CHALT=
ICE130I 0 OPTIONS: RESALL=4096,RESINV=0,SVC=109 ,CHECK=N,WRKREL=Y,OUTREL=Y,CKPT=
ICE131I 0 OPTIONS: TMAXLIM=6291456,ARESALL=0,ARESINV=0,OVERRGN=16384,CINV=Y,CFW=
ICE132I 0 OPTIONS: VLSHRT=N,ZDPRINT=Y,IEXIT=N,TEXIT=N,LISTX=N,EFS=NONE    ,EXITC
ICE133I 0 OPTIONS: HIPRMAX=OPTIMAL,DSPSIZE=MAX ,ODMAXBF=2097152,SOLRF=Y,VLLONG=N
ICE235I 0 OPTIONS: NULLOUT=RC0
ICE084I 0 BSAM ACCESS METHOD USED FOR IN
ICE750I 0 DC 500000 TC 0 CS DSVVV KSZ 11 VSZ 11
ICE752I 0 FSZ=6250 RC  IGN=0 E  AVG=84 0  WSP=682 C  DYN=0 0
ICE231I 0 STORAGE USED FOR OUTFIL : BELOW 16M = 20480, ABOVE 16M = 4199424
ICE210I 0 OUT      : EXCP USED, LRECL = 40, BLKSIZE = 27960, TYPE = FB
ICE210I 0 DUPS     : EXCP USED, LRECL = 40, BLKSIZE = 27960, TYPE = FB
ICE751I 1 BA-BASE   BB-K38900 BC-BASE   CB-K90014 E8-K38900
ICE080I 0 IN MAIN STORAGE SORT
ICE055I 0 INSERT 5, DELETE 5
ICE054I 0 RECORDS - IN: 8, OUT: 8
ICE227I 0 OUT      : DELETED = 2, REPORT = 0, DATA = 6
ICE228I 0 OUT      : TOTAL IN = 8, TOTAL OUT = 6
ICE227I 0 DUPS     : DELETED = 6, REPORT = 0, DATA = 2
ICE228I 0 DUPS     : TOTAL IN = 8, TOTAL OUT = 2
ICE134I 0 NUMBER OF BYTES SORTED: 640
ICE253I 0 RECORDS SORTED - PROCESSED: 8, EXPECTED: 6250
ICE165I 0 TOTAL WORK DATA SET TRACKS ALLOCATED: 0 , TRACKS USED: 0
ICE199I 0 MEMORY OBJECT STORAGE USED = 1M BYTES
ICE180I 0 HIPERSPACE STORAGE USED = 0K BYTES
ICE188I 0 DATA SPACE STORAGE USED = 0K BYTES
ICE052I 0 END OF DFSORT
******************************** BOTTOM OF DATA ********************************









  F1=HELP      F2=SPLIT     F3=END       F4=RETURN    F5=IFIND     F6=BOOK
  F7=UP        F8=DOWN      F9=SWAP     F10=LEFT     F11=RIGHT    F12=RETRIEVE
Vamos ver os datasets que geramos;
   Menu  Utilities  Compilers  Options  Status  Help

                            ISPF Primary Option Menu

 0  Settings      Terminal and user parameters            User ID . : ADCDMST
 1  View          Display source data or listings         Time. . . : 20:54
 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 : ISPFPROC
 7  Dialog Test   Perform dialog testing                  TSO prefix: ADCDMST
 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


 Option ===> 3.4
  F1=Help      F2=Split     F3=Exit      F7=Backward  F8=Forward   F9=Swap
 F10=Actions  F12=Cancel
Vamos colocar o dataset ICETOOL.OUT - Este coloca os registros duplicados;
   Menu  RefList  RefMode  Utilities  Help

                             Data Set List Utility
                                                                    More:     +
    blank Display data set list               P Print data set list
        V Display VTOC information           PV Print VTOC information

 Enter one or both of the parameters below:
    Dsname Level . . . ICETOOL.OUT
    Volume serial  . .

 Data set list options
    Initial View                 Enter "/" to select option
    1  1. Volume                 /  Confirm Data Set Delete
       2. Space                  /  Confirm Member Delete
       3. Attrib                 /  Include Additional Qualifiers
       4. Total                  /  Display Catalog Name
                                    Display Total Tracks

 When the data set list is displayed, enter either:
   "/" on the data set list command field for the command prompt pop-up,
 Option ===>
  F1=Help      F2=Split     F3=Exit      F7=Backward  F8=Forward   F9=Swap
 F10=Actions  F12=Cancel
B (enter)
   Menu  Options  View  Utilities  Compilers  Help

 DSLIST - Data Sets Matching ICETOOL.OUT                             Row 1 of 1

 Command - Enter "/" to select action                  Message           Volume
 -------------------------------------------------------------------------------
 B        ICETOOL.OUT                                                    ZADB82
 ***************************** End of Data Set list ****************************













 Command ===>                                                  Scroll ===> PAGE
  F1=Help    F2=Split   F3=Exit    F5=Rfind   F7=Up      F8=Down    F9=Swap
 F10=Left   F11=Right  F12=Cancel
Feito, esta os registros duplicados;
   Menu  Utilities  Compilers  Help

 BROWSE    ICETOOL.OUT                                Line 00000000 Col 001 040
********************************* Top of Data **********************************
AAAAA01    - REGISTRO DUPLICADO
AAAAA01    - REGISTRO DUPLICADO
AAAAA02    - REGISTRO DUPLICADO
AAAAA02    - REGISTRO DUPLICADO
BBBBB01    - REGISTRO DUPLICADO
BBBBB01    - REGISTRO DUPLICADO
******************************** Bottom of Data ********************************










 Command ===>                                                  Scroll ===> PAGE
  F1=Help    F2=Split   F3=Exit    F5=Rfind   F7=Up      F8=Down    F9=Swap
 F10=Left   F11=Right  F12=Cancel
Vendo o outro dataset;
   Menu  RefList  RefMode  Utilities  Help

                             Data Set List Utility
                                                                    More:     +
    blank Display data set list               P Print data set list
        V Display VTOC information           PV Print VTOC information

 Enter one or both of the parameters below:
    Dsname Level . . . ICETOOL.DUPS
    Volume serial  . .

 Data set list options
    Initial View                 Enter "/" to select option
    1  1. Volume                 /  Confirm Data Set Delete
       2. Space                  /  Confirm Member Delete
       3. Attrib                 /  Include Additional Qualifiers
       4. Total                  /  Display Catalog Name
                                    Display Total Tracks

 When the data set list is displayed, enter either:
   "/" on the data set list command field for the command prompt pop-up,
 Option ===>
  F1=Help      F2=Split     F3=Exit      F7=Backward  F8=Forward   F9=Swap
 F10=Actions  F12=Cancel
B (enter)
   Menu  Options  View  Utilities  Compilers  Help

 DSLIST - Data Sets Matching ICETOOL.DUPS                            Row 1 of 1

 Command - Enter "/" to select action                  Message           Volume
 -------------------------------------------------------------------------------
 B        ICETOOL.DUPS                                                   ZADB82
 ***************************** End of Data Set list ****************************













 Command ===>                                                  Scroll ===> PAGE
  F1=Help    F2=Split   F3=Exit    F5=Rfind   F7=Up      F8=Down    F9=Swap
 F10=Left   F11=Right  F12=Cancel
Registros que não temos duplicados;
   Menu  Utilities  Compilers  Help

 BROWSE    ICETOOL.DUPS                               Line 00000000 Col 001 040
********************************* Top of Data **********************************
AAAAA03    - NAO REPETE
BBBBB02    - NAO REPETE
******************************** Bottom of Data ********************************














 Command ===>                                                  Scroll ===> PAGE
  F1=Help    F2=Split   F3=Exit    F5=Rfind   F7=Up      F8=Down    F9=Swap
 F10=Left   F11=Right  F12=Cancel


Segundo Exemplo

Vamos rodar de novo, só que com outras informações, como o dataset já existe não vamos recriar ele, vamos usar o parametro SHR;
   File  Edit  Edit_Settings  Menu  Utilities  Compilers  Test  Help

 EDIT       ADCD.LIB.JCL(ICETOOL) - 01.04                  Member ICETOOL saved
 Command ===>                                                  Scroll ===> CSR
 ****** ***************************** Top of Data ******************************
 000001 //ICETOOL    JOB (72,FB3),ICHMIN00,COND=(0,NE),
 000002 //      CLASS=A,MSGCLASS=H,NOTIFY=IBMUSER
 000003 //* -------------------------------------------------------
 000004 //* RETAIN THE DUPLICATE RECORDS WITH OUT USING XSUM FETURE
 000005 //* -------------------------------------------------------
 000006 //STEP001  EXEC PGM=ICETOOL
 000007 //IN       DD *
 000008 0000001    - REGISTRO DUPLICADO
 000009 0000001    - REGISTRO DUPLICADO
 000010 0000002    - REGISTRO DUPLICADO
 000011 0000003    - NAO REPETE
 000012 0000004    - NAO REPETE
 000013 0000005    - NAO REPETE
 000014 0000002    - REGISTRO DUPLICADO
 000015 0000006    - NAO REPETE
 000016 /*
 000017 //OUT      DD  DSN=ICETOOL.OUT,DISP=SHR
 000018 //DUPS     DD  DSN=ICETOOL.DUPS,DISP=SHR
 000019 //TOOLMSG  DD SYSOUT=*
 000020 //DFSMSG   DD SYSOUT=*
 000021 //TOOLIN   DD *
 000022   SELECT FROM(IN) TO(OUT) ON(1,7,CH) DISCARD(DUPS) ALLDUPS
 000023 /*
Rodou ok;
   Display  Filter  View  Print  Options  Help
 -------------------------------------------------------------------------------
 SDSF OUTPUT DISPLAY ICETOOL  JOB00218  DSID     2 LINE 0       COLUMNS 02- 81
 COMMAND INPUT ===>                                            SCROLL ===> PAGE
********************************* TOP OF DATA **********************************
                         J E S 2  J O B  L O G  --  S Y S T E M  S Y S 1  --  N

21.14.46 JOB00218 ---- TUESDAY,   08 DEC 2015 ----
21.14.46 JOB00218  IRR010I  USERID IBMUSER  IS ASSIGNED TO THIS JOB.
21.14.46 JOB00218  ICH70001I IBMUSER  LAST ACCESS AT 20:51:58 ON TUESDAY, DECEMB
21.14.46 JOB00218  $HASP373 ICETOOL  STARTED - INIT 1    - CLASS A - SYS SYS1
21.14.46 JOB00218  IEF403I ICETOOL - STARTED - TIME=21.14.46
21.14.49 JOB00218  IEF404I ICETOOL - ENDED - TIME=21.14.49
21.14.49 JOB00218  $HASP395 ICETOOL  ENDED
------ JES2 JOB STATISTICS ------
  08 DEC 2015 JOB EXECUTION DATE
           23 CARDS READ
          129 SYSOUT PRINT RECORDS
            0 SYSOUT PUNCH RECORDS
            7 SYSOUT SPOOL KBYTES
         0.05 MINUTES EXECUTION TIME
        1 //ICETOOL    JOB (72,FB3),ICHMIN00,COND=(0,NE),
          //      CLASS=A,MSGCLASS=H,NOTIFY=IBMUSER
          //* -------------------------------------------------------
          //* RETAIN THE DUPLICATE RECORDS WITH OUT USING XSUM FETURE
          //* -------------------------------------------------------
        2 //STEP001  EXEC PGM=ICETOOL
        3 //IN       DD *
        4 //OUT      DD  DSN=ICETOOL.OUT,DISP=SHR
        5 //DUPS     DD  DSN=ICETOOL.DUPS,DISP=SHR
        6 //TOOLMSG  DD SYSOUT=*
        7 //DFSMSG   DD SYSOUT=*
        8 //TOOLIN   DD *
ICH70001I IBMUSER  LAST ACCESS AT 20:51:58 ON TUESDAY, DECEMBER 8, 2015
IEF236I ALLOC. FOR ICETOOL STEP001
IEF237I JES2 ALLOCATED TO IN
IEF237I 0A84 ALLOCATED TO OUT
IEF237I 0A84 ALLOCATED TO DUPS
IEF237I JES2 ALLOCATED TO TOOLMSG
IEF237I JES2 ALLOCATED TO DFSMSG
---- CORTE ---- RODOU OK
Acessando o arquivo com os dados duplicados;
   Menu  Options  View  Utilities  Compilers  Help

 DSLIST - Data Sets Matching ICETOOL.OUT                             Row 1 of 1

 Command - Enter "/" to select action                  Message           Volume
 -------------------------------------------------------------------------------
 B        ICETOOL.OUT                                                    ZADB82
 ***************************** End of Data Set list ****************************













 Command ===>                                                  Scroll ===> PAGE
  F1=Help    F2=Split   F3=Exit    F5=Rfind   F7=Up      F8=Down    F9=Swap
 F10=Left   F11=Right  F12=Cancel
Mostrou os dados;
   Menu  Utilities  Compilers  Help

 BROWSE    ICETOOL.OUT                                Line 00000000 Col 001 040
********************************* Top of Data **********************************
0000001    - REGISTRO DUPLICADO
0000001    - REGISTRO DUPLICADO
0000002    - REGISTRO DUPLICADO
0000002    - REGISTRO DUPLICADO
******************************** Bottom of Data ********************************












 Command ===>                                                  Scroll ===> PAGE
  F1=Help    F2=Split   F3=Exit    F5=Rfind   F7=Up      F8=Down    F9=Swap
 F10=Left   F11=Right  F12=Cancel
Acessando os dados não duplicados;
   Menu  RefList  RefMode  Utilities  Help

                             Data Set List Utility
                                                                    More:     +
    blank Display data set list               P Print data set list
        V Display VTOC information           PV Print VTOC information

 Enter one or both of the parameters below:
    Dsname Level . . . ICETOOL.DUPS
    Volume serial  . .

 Data set list options
    Initial View                 Enter "/" to select option
    1  1. Volume                 /  Confirm Data Set Delete
       2. Space                  /  Confirm Member Delete
       3. Attrib                 /  Include Additional Qualifiers
       4. Total                  /  Display Catalog Name
                                    Display Total Tracks

 When the data set list is displayed, enter either:
   "/" on the data set list command field for the command prompt pop-up,
 Option ===>
  F1=Help      F2=Split     F3=Exit      F7=Backward  F8=Forward   F9=Swap
 F10=Actions  F12=Cancel
Acessando;
   Menu  Options  View  Utilities  Compilers  Help

 DSLIST - Data Sets Matching ICETOOL.DUPS                            Row 1 of 1

 Command - Enter "/" to select action                  Message           Volume
 -------------------------------------------------------------------------------
 B        ICETOOL.DUPS                                                   ZADB82
 ***************************** End of Data Set list ****************************













 Command ===>                                                  Scroll ===> PAGE
  F1=Help    F2=Split   F3=Exit    F5=Rfind   F7=Up      F8=Down    F9=Swap
 F10=Left   F11=Right  F12=Cancel
Os dados que não se repetem;
   Menu  Utilities  Compilers  Help

 BROWSE    ICETOOL.DUPS                               Line 00000000 Col 001 040
********************************* Top of Data **********************************
0000003    - NAO REPETE
0000004    - NAO REPETE
0000005    - NAO REPETE
0000006    - NAO REPETE
******************************** Bottom of Data ********************************












 Command ===>                                                  Scroll ===> PAGE
  F1=Help    F2=Split   F3=Exit    F5=Rfind   F7=Up      F8=Down    F9=Swap
 F10=Left   F11=Right  F12=Cancel
Leia Mais

Configurando a Rede sobre o Hercules z/OS - LCS

Este artigo encontrei explicando como se faz a conexão do z/OS com o seu micro, porque há certos comportamentos estranhos dentro do driver no Windows CTCI-W32, eu tenho experimentado outros módulos de comunicação.

Um dos mais raros driver comportamentos CTCI-W32 foi quando você queria fazer o ping do z/OS de sua Hércules de uma sub-rede diferente. O ping é adiada em 3 segundos, exatamente 3, sem entender o porquê. Portanto, era literalmente impossível para abrir uma sessão TSO pela lentidão das comunicações. O engraçado é que, enquanto você estava na mesma sub-rede de Hércules, as comunicações eram muito boas, como se você estivesse acessando um verdadeiro Mainframe.

Outro ponto curioso foi que todas as equipes poderiam dar ping no seu Hércules z/OS, mas em sua mesma máquina rodando Hercules não podia fazer ping do seu z/OS, dependendo do tipo de placa de rede que você teve ou o driver rede do Windows. Curioso, não posso acessar a minha própria máquina, uma vez que é o que eu estou rodando o Hercules z/OS. Eles abrem uma pergunta na lista de Hércules, que é alcançado a partir de Hercules-390 dot com yahoogroups em grupos de usuários Yahoogroups, solventaron me a pergunta, como eles mudaram os drivers do Windows NDIS; CTCI-W32 falar com eles por protocolo NDIS 5.x Windows 7 e Windows 2008 mudaram o protocolo NDIS para 6.x, por isso há problemas com o "descarregamento de checksum" ou a forma como o sistema calcula a soma de verificação de pacotes de rede enviados aa. Portanto, a fim de executar ping o Hercules se você está neste caso, você deve instalar a versão mais recente dos drivers para sua placa de rede, e se isso não funcionar, insira as propriedades avançadas da sua placa (Via o Windows Device Manager) e desabilitar as seguintes linhas:

-Downloading IPv4 verificação checksum,
-Downloading da soma de verificação TCP (IPv4) e
-Downloading UDP soma de verificação (IPv4)

Nova placa de rede emulada Hercules: LCS ou do canal da estação LAN

Portanto, da mesma lista, vendo o conjunto de comportamento estranho que estava no sistema, eles sugeriram mudar o tipo de CTCI emulado um LCS ou link do canal da estação LAN, ou seja, um dispositivo IBM 3088 ou IBM 3172 Controlador de interconexão, que são os primeiros modelos de placas de rede que atingiu o mercado de mainframes antes de o dispositivo Adaptador Sistema aberto ou OSA criado.

LCS é um melhor sistema de comunicações CTCI como CTCI só funciona com o tráfego TCP / IP. No entanto, LCS suporta tráfego nativo SNA TCP / IP e, se quiséssemos, e, portanto, sua configuração é também mais complexo em termos de as características que queremos ter. De fato, como acontece com o OSA / SF, devemos gerar um arquivo de TAO e definir direções, LUs e caminhos que queremos manipular. Para mais informações, leia o arquivo de configuração web de Hércules no no LCS.

No nosso caso, como nós só será configurado para o tráfego IP, ele não precisa entrar em rolos e outros aveia, mudando assim a nossa Hercules e configurações TCPIP z/OS é mais simples do que parece.

Alterações HERCULES.CNF

O Hercules para emular nosso LCS, devemos editar a configuração e mudar a nossa hercules.cnf. Se antes tínhamos CTCI, gostaríamos de alterar esta linha:
0E20.2    CTCI  192.168.1.100  192.168.1.3

(*) É 192.168.1.100 IP do nosso z/OS e 192.168.1.3 é o IP da nossa máquina física, por:
0E20.2  LCS  -n 192.168.1.3  192.168.1.100

Sendo 192.168.1.3 IP do nosso hardware e 192.168.1.100 IP z/OS (da ordem de alterações de definição, e atenta para o parâmetro -n).

Arrumando a Profile do TCPIP do z/OS

No nosso z/OS vamos configurar este CTCI, vamos editar a proc do TCPIP, vamos repetir a linha ADCD.Z110.TCPPARMS(PROF1) e colocar PROF99 e comentar a linha do PROF1; Como vamos ter que mexer no membro PROF99, se alguma coisa der errado temos um original
   File  Edit  Edit_Settings  Menu  Utilities  Compilers  Test  Help

 EDIT       ADCD.Z110.PROCLIB(TCPIP) - 01.03                Columns 00001 00072
 Command ===>                                                  Scroll ===> CSR
 000016 //ALGPRINT DD SYSOUT=*,DCB=(RECFM=VB,LRECL=132,BLKSIZE=136)
 000017 //CFGPRINT DD SYSOUT=*,DCB=(RECFM=VB,LRECL=132,BLKSIZE=136)
 000018 //SYSOUT   DD SYSOUT=H,DCB=(RECFM=VB,LRECL=132,BLKSIZE=136)
 000019 //CEEDUMP  DD SYSOUT=*,DCB=(RECFM=VB,LRECL=132,BLKSIZE=136)
 000020 //SYSERROR DD SYSOUT=*
 000021 //* PROFILE  DD DISP=SHR,DSN=ADCD.Z110.TCPPARMS(PROF1)
 000022 //PROFILE  DD DISP=SHR,DSN=ADCD.Z110.TCPPARMS(PROF99)
 000023 //* PROFILE  DD DISP=SHR,DSN=TCPIP.PROFILE.TCPIP
 000024 //SYSTCPD  DD DSN=ADCD.Z110.TCPPARMS(TCPDATA),DISP=SHR
 ****** **************************** Bottom of Data ****************************

Na biblioteca ADCD.Z110.TCPPARMS vamos copiar o membro PROF1 para um novo membro;
   Menu  Functions  Confirm  Utilities  Help

 BROWSE            ADCD.Z110.TCPPARMS                        Row 00001 of 00006
 Command ===>                                                  Scroll ===> PAGE
            Name     Prompt       Size   Created          Changed          ID
 _________ PROFILE                 396  2008/11/06  2008/11/06 15:51:30  IBMUSER
 c________ PROF1                   392  2008/11/06  2008/11/06 15:51:30  IBMUSER
 _________ PROF2                   385  2008/11/06  2008/11/06 15:51:30  IBMUSER
 _________ TCPDATA                 280  2008/11/06  2008/11/06 15:51:30  IBMUSER
 _________ TN3270                  266  2008/11/06  2008/11/06 15:51:30  IBMUSER
           **End**












Vamos chamar esta copia de PROF99;
   RefList  Help

                                COPY Entry Panel
 Command ===>
                                                                    More:     +
 CURRENT from data set: 'ADCD.Z110.TCPPARMS(PROF1)'

 To Library                       Options:
    Project . . .                    Enter "/" to select option
    Group . . . .                       Replace like-named members
    Type  . . . .                    /  Process member aliases

 To Other Data Set Name
    Name  . . . . . . . 'ADCD.Z110.TCPPARMS'
    Volume Serial . . .           (If not cataloged)

 NEW member name  . . . prof99    (Blank unless member to be renamed)

 Options
    Sequential Disposition        Pack Option         SCLM Setting
    2  1. Mod                     1  1. Default       3  1. SCLM
       2. Old                        2. Pack             2. Non-SCLM
                                                         3. As is

Editando;
   Menu  Functions  Confirm  Utilities  Help

 BROWSE            ADCD.Z110.TCPPARMS                        Row 00001 of 00007
 Command ===>                                                  Scroll ===> PAGE
            Name     Prompt       Size   Created          Changed          ID
 _________ PROFILE                 396  2008/11/06  2008/11/06 15:51:30  IBMUSER
 _________ PROF1                   392  2008/11/06  2008/11/06 15:51:30  IBMUSER
 _________ PROF2                   385  2008/11/06  2008/11/06 15:51:30  IBMUSER
 e________ PROF99                  392  2008/11/06  2008/11/06 15:51:30  IBMUSER
 _________ TCPDATA                 280  2008/11/06  2008/11/06 15:51:30  IBMUSER
 _________ TN3270                  266  2008/11/06  2008/11/06 15:51:30  IBMUSER
           **End**









Dando o comando res para tirar este Warning;
   File  Edit  Edit_Settings  Menu  Utilities  Compilers  Test  Help

 EDIT       ADCD.Z110.TCPPARMS(PROF99) - 01.01              Columns 00001 00072
 Command ===> res                                              Scroll ===> CSR
 ****** ***************************** Top of Data ******************************
 ==MSG> -Warning- The UNDO command is not available until you change
 ==MSG>           your edit profile using the command RECOVERY ON.
 000001 ;
 000002 ; TCPIP.PROFILE.TCPIP
 000003 ; ===================
 000004 ;
 000005 ; COPYRIGHT = NONE.
 000006 ;
 000007 ; NOTES:
 000008 ;
 000009 ;    The device configuration statements MUST be changed to match your
 000010 ;    hardware and software configuration.
 000011 ;
 000012 ;    The BEGINVTAM section must be changed to match your VTAM
 000013 ;    configuration.
 000014 ;
 000015 ;
 000016 ; For more information about this file, see "Configuring the TCPIP
 000017 ; Address Space" and "Configuring the Telnet Server" in the

Dando um FIND link para procurar esta palavra;
   File  Edit  Edit_Settings  Menu  Utilities  Compilers  Test  Help

 EDIT       ADCD.Z110.TCPPARMS(PROF99) - 01.01               CHARS 'link' found
 Command ===> find link                                        Scroll ===> CSR
 000166 ;
 000167 ; NOTE: To use these device and link statements, update the statements
 000168 ; to reflect your installation configuration and remove the semicolon
 000169 ;
 000170
 000171 ;
 000172 ; LCS1 is a 3172 Model 1 with a Token-Ring and Ethernet adapter.
 000173 ;
 000174
 000175 ;
 000176 ;DEVICE CTCA1  CTC           E22
 000177 ;LINK CTC1  CTC      1 CTCA1
 000178
 000179
 000180 ; To use these device and link statements, update the statements to
 000181 ; reflect your installation configuration and remove the semicolon
 000182
 000183 ;DEVICE LCS1   LCS           E20
 000184 ;LINK TR1   IBMTR    1 LCS1
 000185 ;LINK ETH1  ETHERNET  0  LCS1

1. Vamos procurar as linhas abaixo (observação ponto e virgula é comentário):
;DEVICE CTCA1  CTC    E20
;LINK CTC1  CTC    0 CTCA1

2. Adicione as duas linhas de nosso novo driver:
DEVICE  LCS1  LCS       E20  AUTORESTART
LINK    ETH1  ETHERNET  0    LCS1

3. Altere os dados restantes Home Gateway, etc, de CTC1 -antiguo- para ETH1 -NEW-.
HOME
192.168.1.100  ETH1

GATEWAY
192.168.1.1  =         ETH1    1492     HOST
defaultnet 192.168.1.1       ETH1  1492  0

BEGINROUTES
ROUTE  192.168.1.0  255.255.255.0  =            ETH1  MTU 1492
ROUTE  DEFAULT                     192.168.1.1  ETH1  MTU 1492
ENDROUTES

4. E, finalmente, mudar o driver antigo de início para o novo, comentando:
;START CTCA1

e acrescentando:
START LCS1

Com isso, eu ficaria. Pilha TCPIP iria parar o z/OS com TCPIP P do console master e iria lançar um TCPIP S, e voila, o novo driver assumir, período.

NOTA: driver LCS não requer alterações IODF. O driver CTC que criamos para CTCI, serve perfeitamente para LCS. 
Leia Mais