DB2 z/OS   DB2 LUW
z/OS CICS VTAM

z/OS Info

Home

ICETOOL / SORT

//TOOL EXEC PGM=ICETOOL,REGION=0M
//TOOLMSG DD SYSOUT=A
//DFSMSG  DD SYSOUT=A
//EINGABE DD DISP=SHR,DSN=<YOUR.PO.DSN> (D0000001)
//AUSGABE DD DISP=SHR,DSN=<YOUR.PS.DSN>,
//           DCB=(RECFM=FB,LRECL200)
//TOOLIN DD *
  COPY FROM(EINGABE) TO(AUSGABE)
/*


//TOOL     EXEC  PGM=ICETOOL,REGION=1024K
//SYSUT1   DD    DISP=SHR,DSN=EINGABE.DATEI
//SYSUT2   DD    DISP=SHR,DSN=AUSGABE.DATEI
//TOOLMSG  DD    SYSOUT=A
//DFSMSG   DD    SYSOUT=A
//TOOLIN   DD    DUMMY
//*  <ICETOOL STATEMENTS GO HERE>
//SPUBCNTL DD    *
  INCLUDE COND=(106,4,EQ,C'VALD',OR,
                106,4,EQ,C'WETH'),
                FORMAT=CH
/*

//TOOL EXEC PGM=ICETOOL,REGION=0M
//TOOLMSG DD SYSOUT=A
//DFSMSG  DD SYSOUT=A
//EINGABE DD DISP=SHR,DSN= EINGABE.DATEI
//AUSGABE DD DISP=SHR,DSN= AUSGABE.DATEI,
//           DCB=(RECFM=VB,LRECL=500)
//TOOLIN DD *
  COPY FROM(EINGABE) TO(AUSGABE)
  INCLUDE COND=(2,1,EQ,X'76'),FORMAT=CH
  INREC FIELDS=(1,490)
  OUTREC FIELDS=(1,500)
/*


 
//*  Join 2 Datasets
//STEP01 EXEC  PGM=ICEMAN
//SYSOUT  DD   SYSOUT=*
//FILE1    DD *
11111 HALLO NR1
11112 HALLO NR2
11113 HALLO NR3
11114 HALLO NR4
11114 HALLO NR4
//FILE2    DD *
11111 HALLO XX1
11112 HALLO XX2
11113 HALLO XX3
11114 HALLO XX4
11114 HALLO XX4
//SORTOUT  DD SYSOUT=*
//SYSIN    DD  *
   JOINKEYS  F1=FILE1,FIELDS(1,5,A)
   JOINKEYS  F2=FILE2,FIELDS(1,5,A)
     REFORMAT  FIELDS=(F1:1,20,
                       F2:1,29)
     SORT FIELDS=COPY
/*

//* Delete Duplicate Records
//SORT01  EXEC PGM=SORT
//SORTIN    DD *
11111 HALLO NR1
11111 HALLO NR1
11111 HALLO NR2
11112 HALLO NR2
11113 HALLO NR3
11114 HALLO NR4
11114 HALLO NR4
11114 HALLO NR4
11114 HALLO NR4
11114 HALLO NR4
//SORTOUT   DD SYSOUT=*
//SYSOUT    DD SYSOUT=*
//SYSIN     DD *
  SORT FIELDS=(1,5,BI,A,13,3,BI,A)
  SUM FIELDS=NONE
/*


//* 1. MERGE MEHRERE DS ZUSAMMEN (MERGE FIELDS=...)
//* 2. ES WERDEN NUR DIE RECORDS MERGED MIT HALLO STELLE 6 (INCLUDE..)
//* 3. ELIMINIERE DUPLIKATE (SUM   FIELDS=(NONE) )
//*
//SORT    EXEC PGM=SORT,REGION=1024K
//SORTIN01 DD *
11111 HALLO AUS DS1
22222 HALLO AUS DS1
33333 XXXXX AUS DS1
44444 HALLO AUS DS1
//SORTIN02 DD *
55555 HALLO AUS DS2
66666 HALLO AUS DS2
77777 HALLO AUS DS2
88888 HALLO AUS DS2
//SORTWK01 DD DISP=(,DELETE),DSN=&&TEMPO,UNIT=SYSDA,SPACE=(CYL,(5,2))
//SORTOUT  DD SYSOUT=*
//SYSOUT   DD SYSOUT=*
//SYSIN    DD *
 MERGE FIELDS=(1,5,A),FORMAT=CH,FILES=2
 INCLUDE COND=(7,5,CH,EQ,C'HALLO')
 SUM   FIELDS=(NONE)
/*

//* SORT MIT EXCLUDE RECORDS BEISPIEL EXCLUDE NR1
//STEP010  EXEC  PGM=SORT
//SYSPRINT DD    SYSOUT=*
//SYSOUT   DD    SYSOUT=*
//SORTIN   DD    *
11111 HALLO NR1
11111 HALLO NR3
11111 HALLO NR2
11112 HALLO NR2
11113 HALLO NR3
11114 HALLO NR1
11114 HALLO NR3
11114 HALLO NR3
11114 HALLO NR4
11114 HALLO NR1
//SORTOUT  DD    SYSOUT=*
//SORTWK1  DD    UNIT=WORK,SPACE=(CYL,(10,10),RLSE)
//SYSIN    DD    *
  SORT FIELDS=(1,05,A,13,3,A),FORMAT=CH,SIZE=E300000
  OMIT COND=(13,3,CH,EQ,C'NR1')
//*

//* SPLIT Lines  
//STEP010  EXEC  PGM=SORT
//SYSPRINT DD    SYSOUT=*
//SYSOUT   DD    SYSOUT=*
//SORTIN   DD    *
11111 HALLO NR1    21111 HALLO NR1     31111 HALLO NR1
11111 HALLO NR3    21111 HALLO NR3     31111 HALLO NR3
11111 HALLO NR2    21111 HALLO NR2     31111 HALLO NR2
11112 HALLO NR2    21112 HALLO NR2     31112 HALLO NR2
11113 HALLO NR3    21113 HALLO NR3     31113 HALLO NR3
11114 HALLO NR1    21114 HALLO NR1     31114 HALLO NR1
11114 HALLO NR3    21114 HALLO NR3     31114 HALLO NR3
11114 HALLO NR3    21114 HALLO NR3     31114 HALLO NR3
11114 HALLO NR4    21114 HALLO NR4     31114 HALLO NR4
11114 HALLO NR1    21114 HALLO NR1     31114 HALLO NR1
/*
//SORTOUT  DD    SYSOUT=*
//SORTWK1  DD    UNIT=WORK,SPACE=(CYL,(10,10),RLSE)
//SORTWK2  DD    UNIT=WORK,SPACE=(CYL,(10,10),RLSE)
//SYSIN    DD    *
  SORT FIELDS=COPY
  OUTFIL  OUTREC=(1,15,/,20,15,/,40,15)
  SORT FIELDS=(1,05,A,13,3,A),FORMAT=CH,SIZE=E300000
/*

//* COPY SORTIN NACH SORTOUT
//SORT1   EXEC PGM=SORT
//SORTIN   DD *
11111 HALLO NR1
11111 HALLO NR1
11111 HALLO NR2
11112 HALLO NR2
11113 HALLO NR3
11114 HALLO NR4
11114 HALLO NR4
11114 HALLO NR4
11114 HALLO NR4
11114 HALLO NR4
//SORTOUT  DD SYSOUT=*
//SYSOUT   DD SYSOUT=*
//SYSIN    DD *
   OPTION COPY,SKIPREC=5368660
//*


//* COPY DS mit ICE
//PRINT   EXEC PGM=ICEMAN
//SORTIN   DD DISP=(OLD,KEEP),DSN=&&UNVOUT
//SORTOUT  DD SYSOUT=*
//SYSOUT   DD SYSOUT=*
//SYSIN    DD *
 OPTION COPY
/*

/* NUR SPEZIELLE SAETZE
//SORT    EXEC PGM=ICEMAN
//SORTIN   DD *
11111 HALLO NR1
11111 HALLO NR1
11111 HALLO NR2
11112 HALLO NR2
11113 HALLO NR3
11114 HALLO NR4
11114 HALLO NR4
11114 HALLO NR4
11114 HALLO NR4
11114 HALLO NR4
/*
//SORTOUT  DD SYSOUT=*
//SYSOUT   DD SYSOUT=*
//SYSIN    DD *
 OPTION COPY
 INCLUDE COND=(1,5,CH,EQ,C'11111')
/*

Copy And Replace



//* COPY SQL MEMBERS AND REPLACE
//CPYREPL EXEC PGM=SORT
//SYSIN    DD  *
 OPTION COPY
 OUTREC FINDREP=(INOUT=(C'@ssId',C'DB4E',
                        C'@SqlId',C'SQLXXXX',
                        C'@Project',C'Neue Anlage',
                        C'@msGc',C'T',
                        C'@ClasS',C'F',
                        C'@xxxUsr',C'CCXXXX'))
//SYSOUT   DD  SYSOUT=*
//SYSPRINT DD  SYSOUT=*
//SORTIN   DD  DATA,DLM='%%'
//TESTJOB JOB  (11111,A10),'@Project',MSGLEVEL=(1,1),
//             MSGCLASS=@msGc,CLASS=@ClasS
//             REGION=6M,NOTIFY=&SYSUID
//TEP2    EXEC PGM=IKJEFT01,DYNAMNBR=20
//STEPLIB  DD  DISP=SHR,DSN=DB2.@ssId.SDSNLOAD
//SYSTSPRT DD  SYSOUT=*
//SYSPRINT DD  SYSOUT=*
//SYSUDUMP DD  SYSOUT=*
//SYSTSIN  DD  *
 DSN SYSTEM(@ssId)
 RUN  PROGRAM(DSNTEP2) PLAN(DSNTEP2) +
      LIB('DB2.@ssId.RUNLIB.LOAD') +
      PARMS('/ALIGN(MID)')
 END
/*
//SYSIN    DD  *
  --#SET MAXERRORS 1
  set current sqlid = '@SqlId'
  commit
/*
%%
//SORTOUT  DD  SYSOUT=*
/*