2017-11-18 3 views
0

Ich habe eine VSAM dieMainframe- - einen Bericht mit sum bestimmter Felder erzeugen

• 4-Byte binäre ganze Zahl ohne Vorzeichen repräsentiert eine 6-stellige dezimale Zweig Bankleitzahl (zB 420101)

• 4-Byte hat binäre ganze Zahl ohne Vorzeichen eine 8-stellige Kontonummer (zB 12345678)

• 4-Byte-Ganzzahl mit Vorzeichen repräsentiert den aktuellen Saldo des Kontos Halte

• 32-Byte-EBCDIC-Zeichenkontoinhaber Namen (zB „Pat Jones“), auf der rechten Seite gepolstert

und ich möchte einen Bericht erzeugen unter

enter image description here

Ich habe versucht, diese

INCLUDE COND=(1,7,CH,EQ,C'some sortcode')        
    SORT FIELDS=(1,7,CH,A)            
    SUM FIELDS=(9,2,BI) 

zu tun, aber es gibt viel Bankleitzahl. Ich überlege, alle Eingaben zu sortieren und dann alle Datensätze, die denselben Sortiercode haben, direkt unter diesen Sortierreihen zu summieren. Gibt es eine Möglichkeit in JCL, dass ich das kann? Vielen Dank.

Antwort

2

Versuchen Sie folgendes:

//SORTSTEP EXEC PGM=SORT 
//SYSOUT DD SYSOUT=* 
//SYSPRINT DD SYSOUT=* 
//SORTIN DD DSN=YourInputDataset,DISP=SHR 
//SORTOUT DD DSN=YourOutputDataset, 
//   DISP=(NEW,CATLG,DELETE) 
//SYSIN DD * 
    SORT FIELDS=(1,4,BI,A) 
    INREC BUILD=(1,4,BI,TO=ZD,LENGTH=6,5,4,9,4,13,32) 
    OUTFIL REMOVECC, 
     SECTIONS=(1,6, 
     HEADER3=(1:C'LIST OF BANK BY BRANCH',/,X,/, 
        1:C'SORTCODE: ',1,6,/,X,/, 
        1:C'ACCOUNT',10:C'BALANCE',20:C'OWNER NAME',/, 
        1:C'-------',10:C'-------',20:C'----------'), 
     TRAILER3=(X,/, 
     1:C'BRANCH TOTAL: ',16:TOT=(11,4,BI,EDIT=(SIIIITTT),SIGNS=(,-)))), 
     TRAILER1=(X,/,1:C'GRAND TOTAL: ',TOT=(11,4,BI, 
         EDIT=(SIIIITTT),SIGNS=(,-))), 
     OUTREC=(1:7,4,BI,TO=ZD,LENGTH=8,10:11,4,BI,EDIT=(SIIIITTT), 
         SIGNS=(,-),20:15,32) 
/* 

Sie über mehr über SEKTIONEN, header3 und TRAILER3 unter diesem Link finden: https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.iceg200/ice2cg_Sections.htm

+0

Nvm, es aussortiert. Danke vielmals. –

Verwandte Themen