Code: |
//GO1 EXEC DB2GO //STEPLIB DD DISP=SHR,DSN=DB2.XXXX.RESLIB //SYSTSIN DD * DSN SYSTEM(XXXX) RUN PROGRAM(PROG2) PLAN (PLAN2) - LIB ('DB2LIB.RUNLIB.LOAD') |
Code: |
+------------------------------------------------------------------ ! AAAAAA ! BBBBBBB ! CCCCCCC ! +------------------------------------------------------------------ 1_! XX ! 1050405 ! 000000000000893994 ! 2_! XX ! 1054016 ! 000000000000909742 ! 3_! XX ! 1048799 ! 000000000000991566 ! 4_! XX ! 1048355 ! 000000000000686623 ! 5_! XX ! 1047049 ! 000000000000860967 ! +------------------------------------------------------------------ 1PAGE 3 --------------------------------------------------------------------- ! DDDDDDDDDDDDDDDD ! EEEEEEEEEEEEEEE ! --------------------------------------------------------------------- 1_! TTTTTTTTTT TTTTTTT TTTTTTT ! GG.MM.AAAA ! 2_! TTTTTTTTTT TTTTTTT TTTTTTT ! GG.MM.AAAA ! 3_! TTTTTTTTTTTTTT TTTTTTTT ! GG.MM.AAAA ! 4_! TTTTTTTTTTTTTT TTTTTTTT ! GG.MM.AAAA ! 5_! TTTTTTTTTT TTTTTTT TTTTTTT ! GG.MM.AAAA ! --------------------------------------------------------------------- 1PAGE 4 +------------------------------------------------------------------ ! AAAAAA ! BBBBBBB ! CCCCCCC ! +------------------------------------------------------------------ 6_! XX ! 1047096 ! 000000000000930578 ! 7_! XX ! 1052489 ! 000000000000884280 ! ... 59_! XX ! 1064278 ! 000000000000240283 ! +------------------------------------------------------------------ 1PAGE 5 --------------------------------------------------------------------- ! DDDDDDDDDDDDDDDD ! EEEEEEEEEEEEEEE ! --------------------------------------------------------------------- 6_! TTTTTTTTTT TTTTTTT TTTTTTT ! 22.09.2014 ! 7_! TTTTTTTTTT TTTTTTTTTT ! 22.09.2014 ! ... 59_! TTTTTTTTTT TTTTTTTTTT ! 07.11.2014 ! --------------------------------------------------------------------- 1PAGE 6 ... |
Code: |
+--------------------------------------------------------------------------------------------------------------------------------------- ! AAAAAA ! BBBBBBB ! CCCCCCC !! DDDDDDDDDDDDDDDD ! EEEEEEEEEEEEEEE ! +--------------------------------------------------------------------------------------------------------------------------------------- XX 1050405 000000000000893994 TTTTTTTTTT TTTTTTT TTTTTTT GG.MM.AAAA XX 1054016 000000000000909742 TTTTTTTTTT TTTTTTT TTTTTTT GG.MM.AAAA XX 1048799 000000000000991566 TTTTTTTTTTTTTT TTTTTTTT GG.MM.AAAA XX 1048355 000000000000686623 TTTTTTTTTTTTTT TTTTTTTT GG.MM.AAAA XX 1047049 000000000000860967 TTTTTTTTTT TTTTTTT TTTTTTT GG.MM.AAAA XX 1047096 000000000000930578 TTTTTTTTTT TTTTTTT TTTTTTT 22.09.2014 XX 1052489 000000000000884280 TTTTTTTTTT TTTTTTTTTT 22.09.2014 ... other lines XX 1064278 000000000000240283 TTTTTTTTTT TTTTTTTTTT 07.11.2014 |
Fab wrote: |
Kolusu,
thanks, but as far as I know we are only allowed to use that tool I told you in my post. But you can be sure that I will ask if we can use that tool too. |
Fab wrote: |
These datas are directly from our production environment and here sysops are very paranoid about what we can or can't do with that data. I work in a big Bank, probably you can imagine. Thanks as usual for you continuous support. |
Quote: |
You are reading the data the same way. One in the raw format and other in formatted form which is readable. |
Quote: |
You are running DSNTEP2/QMF to generate the report. Check this link for an example of DSNTIAUL. http://www.mvsforums.com/helpboards/viewtopic.php?p=61581#61581 Give the example a try and see if it works for you. |
Quote: |
Btw if you insist on merging the datasets then it can be done, but it would require a lot of processing. You need to use IFTHEN=(when=GROUP processing but you need to able to distinguish as how many records it being split into. |
Code: |
+------------------------------------------------------------------ ! AAAAAA ! BBBBBBB ! CCCCCCC ! +------------------------------------------------------------------ 1_! XX ! 1050405 ! 000000000000893994 ! 2_! XX ! 1054016 ! 000000000000909742 ! 3_! XX ! 1048799 ! 000000000000991566 ! 4_! XX ! 1048355 ! 000000000000686623 ! 5_! XX ! 1047049 ! 000000000000860967 ! +------------------------------------------------------------------ 1PAGE 3 --------------------------------------------------------------------- ! DDDDDDDDDDDDDDDD ! EEEEEEEEEEEEEEE ! --------------------------------------------------------------------- 1_! TTTTTTTTTT TTTTTTT TTTTTTT ! GG.MM.AAAA ! 2_! TTTTTTTTTT TTTTTTT TTTTTTT ! GG.MM.AAAA ! 3_! TTTTTTTTTTTTTT TTTTTTTT ! GG.MM.AAAA ! 4_! TTTTTTTTTTTTTT TTTTTTTT ! GG.MM.AAAA ! 5_! TTTTTTTTTT TTTTTTT TTTTTTT ! GG.MM.AAAA ! --------------------------------------------------------------------- |
Code: |
+------------------------------------------------------------------------------------------------------------------------ ! AAAAAA ! BBBBBBB ! CCCCCCC ! DDDDDDDDDDDDDDDD ! EEEEEEEEEEEEEEE +------------------------------------------------------------------------------------------------------------------------ ! XX ! 1050405 ! 000000000000893994 ! TTTTTTTTTT TTTTTTT TTTTTTT ! GG.MM.AAAA ! XX ! 1054016 ! 000000000000909742 ! TTTTTTTTTT TTTTTTT TTTTTTT ! GG.MM.AAAA ! XX ! 1048799 ! 000000000000991566 ! TTTTTTTTTTTTTT TTTTTTTT ! GG.MM.AAAA ! XX ! 1048355 ! 000000000000686623 ! TTTTTTTTTTTTTT TTTTTTTT ! GG.MM.AAAA ! XX ! 1047049 ! 000000000000860967 ! TTTTTTTTTT TTTTTTT TTTTTTT ! GG.MM.AAAA |
Code: |
AAAAAA(1) XX BBBBBBB(1) 1050405 CCCCCCC (1) 000000000000893994 DDDDDDDDDDDDDDDD(1) TTTTTTTTTT TTTTTTT TTTTTTT EEEEEEEEEEEEEEE(1) GG.MM.AAAA AAAAAA(2) XX BBBBBBB(2) 1054016 CCCCCCC (2) 000000000000909742 DDDDDDDDDDDDDDDD(2) TTTTTTTTTT TTTTTTT TTTTTTT EEEEEEEEEEEEEEE(2) GG.MM.AAAA etc etc (you get the idea) |
Code: |
+------------------------------------------------------------------------------------------------------------------------ ! AAAAAA ! BBBBBBB ! CCCCCCC ! DDDDDDDDDDDDDDDD ! EEEEEEEEEEEEEEE +------------------------------------------------------------------------------------------------------------------------ ! XX ! 1050405 ! 000000000000893994 ! TTTTTTTTTT TTTTTTT TTTTTTT ! GG.MM.AAAA ! XX ! 1054016 ! 000000000000909742 ! TTTTTTTTTT TTTTTTT TTTTTTT ! GG.MM.AAAA ! XX ! 1048799 ! 000000000000991566 ! TTTTTTTTTTTTTT TTTTTTTT ! GG.MM.AAAA ! XX ! 1048355 ! 000000000000686623 ! TTTTTTTTTTTTTT TTTTTTTT ! GG.MM.AAAA ! XX ! 1047049 ! 000000000000860967 ! TTTTTTTTTT TTTTTTT TTTTTTT ! GG.MM.AAAA |
Code: |
AAAAAA(1) XX BBBBBBB(1) 1050405 CCCCCCC (1) 000000000000893994 DDDDDDDDDDDDDDDD(1) TTTTTTTTTT TTTTTTT TTTTTTT EEEEEEEEEEEEEEE(1) GG.MM.AAAA AAAAAA(2) XX BBBBBBB(2) 1054016 CCCCCCC (2) 000000000000909742 DDDDDDDDDDDDDDDD(2) TTTTTTTTTT TTTTTTT TTTTTTT EEEEEEEEEEEEEEE(2) GG.MM.AAAA |
misi01 wrote: |
DSNTLA4 (in Swedish, Landscape is called Liggande) will format it as Landscape, thus (this should be shown using Courier New, but the forum doesn't give me that luxury, but you get (?) the idea)) In the same way, DSNSA4 (S = Swedish for portait) would give you something along these lines The results you get are dependent on whether you choose DSNTLA4 (the first set of results) or DSNTSA4 (the second set ) You SHOULD be able to run a text script even if it means you having to do a manual ALTLIB on the library where the script is |
Code: |
//STEP0100 EXEC PGM=IKJEFT01,DYNAMNBR=20 //SYSTSIN DD * DSN SYSTEM(DB2P) RUN PROGRAM(DSNTEP2) - PLAN(DSNTEP2) - LIB('DB2P.RUNLIB.LOAD') END //SYSTSPRT DD SYSOUT=* //SYSPRINT DD DSN=Misi01.DSNTEP2.OUTPUT.FETCH20K, // DISP=(NEW,CATLG,DELETE), // SPACE=(CYL,(100,50),RLSE) //SYSIN DD * SELECT * FROM SYSIBM.SYSTABLES FETCH FIRST 20000 ROWS ONLY ; |
Fab wrote: |
I tried a couple of sort but I couldn't get desired results yet, I see no answer from Kolusu so I think that maybe I could be misunderstood his answer above. |
Code: |
//************************************************************* //* TAG THE RECORDS TO GROUPS AND SORT BASED ON GROUP NUMBER ** //************************************************************* //STEP0100 EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SORTIN DD DISP=SHR,DSN=Your unload from DSNTEP2 file //* //SORTOUT DD DSN=&&TMP,DISP=(,PASS),SPACE=(CYL,(100,25),RLSE) //SYSIN DD * INCLUDE COND=(001,005,CH,EQ,C'1PAGE',OR, 001,133,SS,EQ,C'_|') INREC IFOUTLEN=142, IFTHEN=(WHEN=GROUP,BEGIN=(001,5,CH,EQ,C'1PAGE'), PUSH=(134:ID=8,143:SEQ=2)), IFTHEN=(WHEN=GROUP,BEGIN=(011,2,CH,EQ,C'.1'), PUSH=(153:6,5)), IFTHEN=(WHEN=(153,5,CH,GT,C' '), OVERLAY=(134:(134,8,ZD,SUB,153,5,UFF),ADD,+1, M11,LENGTH=8)) SORT FIELDS=(134,8,CH,A),EQUALS OUTFIL OMIT=(1,5,CH,EQ,C'1PAGE'), OVERLAY=(144:SEQNUM,8,ZD,RESTART=(134,8)) //* //************************************************************* //* SORT THE RECORDS SO THE DATA IS ORDERED AS IN DB2 TABLE ** //************************************************************* //STEP0200 EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SORTIN DD DSN=&&TMP,DISP=SHR //SORTOUT DD DSN=&&DAF,DISP=(,PASS),SPACE=(CYL,(100,25),RLSE) //TLN DD DSN=&&TLN,DISP=(,PASS),SPACE=(TRK,(1,0),RLSE) //SYSIN DD * SORT FIELDS=(144,8,CH,A, 134,8,CH,A),EQUALS OUTREC OVERLAY=(155:134,8,ZD,MUL,+131,M11,LENGTH=5) OUTFIL IFTHEN=(WHEN=INIT,BUILD=(2,132)), IFTHEN=(WHEN=INIT, PARSE=(%01=(STARTAFT=C'_',FIXLEN=132)), BUILD=(%01,JFY=(SHIFT=LEFT))), IFTHEN=(WHEN=INIT,BUILD=(2,131)) OUTFIL FNAMES=TLN,REMOVECC,NODETAIL,BUILD=(80X), TRAILER1=(3:'TOLEN(', MAX=(155,5,ZD,EDIT=(TTTTT)), ')') //* //************************************************************** //* NOW RESIZE THE DATA INTO A SINGLE RECORD ** //************************************************************** //STEP0300 EXEC PGM=ICETOOL //TOOLMSG DD SYSOUT=* //DFSMSG DD SYSOUT=* //DAF DD DISP=(OLD,PASS),DSN=&&DAF //OUT DD SYSOUT=* //TOOLIN DD * RESIZE FROM(DAF) TO(OUT) - // DD DISP=(OLD,PASS),DSN=&&TLN //* |
Code: |
//S0010 EXEC PGM=IKJEFT01 //SYSTSPRT DD SYSOUT=* //SYSEXEC DD UNIT=SYSDA,SPACE=(80,(100,50)),AVGREC=U,LRECL=80, // BLKSIZE=27920,RECFM=FB,DSN=MYUSERID.TEST.REXX, // DISP=(,DELETE) //SYSTSIN DD * REPRO INFILE(REXXCODE),OUTFILE(SYSEXEC) EXEC 'MYUSERID.TEST.REXX' EXEC //REXXCODE DD *,DLM='?@' SAY 'Hello REXX ' EXIT 0 ?@ |
Code: |
Last but not least, I still stand by using DSNTIAUL and get the raw data and then format it. I am aware that you have restrictions but, I am sure if you are allowed to run DSNTEP2 you would be able to run DSNTIAUL. |
Code: |
I may have missed something as I do not have a working unload data from DSNTEP2. I just used the SYSIBM.SYSTABLE as a sample with 18000 rows. I do not handle more than 99,999 pages of output from DSNTEP2. So you may have to change the sort solution a bit, if you have more than 100K pages of data which I will leave it to you. |
Code: |
ICE600I 0 DFSORT ICETOOL UTILITY RUN STARTED ICE650I 0 VISIT http://www.ibm.com/storage/dfsort FOR ICETOOL PAPERS, EXAMPLES ICE632I 0 SOURCE FOR ICETOOL STATEMENTS: TOOLIN ICE630I 0 MODE IN EFFECT: STOP RESIZE FROM(DAF) TO(OUT) - TOLEN(00000) $ ICE604A 0 ERROR IN KEYWORD, PARAMETER, OR DELIMITER ICE602I 0 OPERATION RETURN CODE: 12 ICE601I 0 DFSORT ICETOOL UTILITY RUN ENDED - RETURN CODE: 12 |
Code: |
//STEP0300 EXEC PGM=ICETOOL //TOOLMSG DD SYSOUT=* //DFSMSG DD SYSOUT=* //DAF DD DISP=(OLD,PASS),DSN=&&DAF //OUT DD SYSOUT=* //TOOLIN DD * RESIZE FROM(DAF) TO(OUT) - // DD DISP=(OLD,PASS),DSN=&&TLN |
output generated using printer-friendly topic mod. All times are GMT - 5 Hours