mirror of
https://github.com/moshix/mvs.git
synced 2026-03-03 17:56:25 +00:00
assembler report writer
This commit is contained in:
108
asmreport
Normal file
108
asmreport
Normal file
@@ -0,0 +1,108 @@
|
||||
//HERC01P JOB (BAL),
|
||||
// 'PAYROLL REPORT',
|
||||
// CLASS=A,
|
||||
// MSGCLASS=A,
|
||||
// TIME=1440,
|
||||
// MSGLEVEL=(1,1)
|
||||
//ASMCLG EXEC ASMFCG,PARM.ASM=(OBJ,NODECK),MAC1='SYS2.MACLIB',
|
||||
// REGION.GO=428K
|
||||
//ASM.SYSLIB DD
|
||||
// DD DISP=SHR,DSN=SYS1.MACLIB
|
||||
//ASM.SYSIN DD *
|
||||
PRINT GEN
|
||||
REPORT CSECT
|
||||
SAVE (14,12) SAVE REGISTERS ON ENTRY
|
||||
BASR R12,0 SET UP MY
|
||||
USING *,R12 BASE REGISTER
|
||||
ST R13,SAVEA+4 ENSURE SAVE AREA
|
||||
LA R13,SAVEA CHAIN BUILT CORRECTLY.
|
||||
*---------------------------------------------------------------------*
|
||||
INOPEN OPEN (INDCB,INPUT,OUTDCB,OUTPUT) OPEN BOTH DCBS AT ONCE
|
||||
WRTITLE PUT OUTDCB,PTITLE PRINT REPORT TITLE
|
||||
*---------------------------------------------------------------------*
|
||||
READREC GET INDCB,PAYREC READ IN EMPLOYEE RECORD
|
||||
*---------------------------------------------------------------------*
|
||||
CPYSTUFF MVC PEMPID,EMPID
|
||||
MVC PEMPLOYE,EMPLOYEE
|
||||
MVC PSALARY,SALARY
|
||||
*
|
||||
PACKIT PACK ZSALARY,SALARY PACK SALARY
|
||||
AP ZTOTSAL,ZSALARY ADD MONTHLY WAGE TO TOTAL
|
||||
WRITEPR PUT OUTDCB,OUTAREA WRITE TO PRINTER
|
||||
B READREC AND REPEAT TILL FILE EXHAUSTED.
|
||||
*---------------------------------------------------------------------*
|
||||
**CLOS MVC ATOTAL-1(L'ATOTAL+1),=X'4020202021206B202020'
|
||||
INCLOS MVC ATOTAL,EDWD
|
||||
LA R1,ATOTAL
|
||||
ED ATOTAL,ZTOTSAL
|
||||
PUT OUTDCB,TOTALLNE PRINT TOTAL LINE
|
||||
CLSALL CLOSE (INDCB,,OUTDCB) WE GET HERE FROM EODAD
|
||||
* FOR END OF BLOCK ON WGET BUT OK
|
||||
* TO ALSO CLOSE OUTDCB AS EXIT SOON
|
||||
L R13,SAVEA+4 R13 = PREVIOUS SAVE AREA ADDR.
|
||||
RETURN (14,12),RC=0 RETURN TO CALLER (Z/OS)
|
||||
LTORG
|
||||
SAVEA DS 18F FOR REGISTER SAVE AREA
|
||||
*---------------------------------------------------------------------*
|
||||
INDCB DCB MACRF=GM,DDNAME=INDD,DSORG=PS,EODAD=INCLOS
|
||||
OUTDCB DCB MACRF=PM,DDNAME=OUTDD,DSORG=PS
|
||||
* PAYROLL REPORT STRUCTURE
|
||||
PAYREC DS 0CL80 HANDLE FOR THE STRUCTURE
|
||||
EMPID DS CL4 EMPLOYEE ID
|
||||
DS CL6 FILLER TO POSITION 10
|
||||
EMPLOYEE DS CL21 NAME OF EMPLOYEE
|
||||
DS CL2 FILLER TO POSITION 34
|
||||
SALARY DS CL4 MONTHLY SALARY
|
||||
TOEND DS CL43 80 BYTES SO FAR
|
||||
*--------S-T-A-R-T----O-F----O-U-T-P-U-T----S-T-R-U-C-T-U-R-E---------*
|
||||
PTITLE DC CL121' P A Y R O L L R E P O R T - B I M C O R P.'
|
||||
OUTAREA DC 0CL133' '
|
||||
EMPTY DC CL1' '
|
||||
PEMPID DS CL4' '
|
||||
DC CL6' '
|
||||
PEMPLOYE DS CL20' '
|
||||
DC CL2' '
|
||||
PDOLLAR DC CL1' '
|
||||
PSALARY DS CL5' '
|
||||
OFILLER DC CL94' '
|
||||
*
|
||||
ZSALARY DC PL3'0' INITIALIZE SLARY PACKED FIELD
|
||||
PSALARY DS CL5' '
|
||||
OFILLER DC CL94' '
|
||||
*
|
||||
ZSALARY DC PL3'0' INITIALIZE SLARY PACKED FIELD
|
||||
ZTOTSAL DC PL05'0' INITIALIZE TOTAL WAGES PACKED FIELD
|
||||
EDWD DC X'4020202020206B2020'
|
||||
TOTALLNE DS 0CL133
|
||||
SKIP DC CL1'0'
|
||||
TFILL1 DC CL09' '
|
||||
TFILL2 DC CL17' '
|
||||
TDOLLAR DC CL1'$'
|
||||
ATOTAL DC CL10' '
|
||||
TFILL3 DC CL12' '
|
||||
TOTMSG DC CL61'TOTAL MONTHLY WAGES'
|
||||
TFILL4 DC CL33' '
|
||||
R0 EQU 0
|
||||
R1 EQU 1
|
||||
R2 EQU 2
|
||||
R3 EQU 3
|
||||
R4 EQU 4
|
||||
R5 EQU 5
|
||||
R6 EQU 6
|
||||
R7 EQU 7
|
||||
R8 EQU 8
|
||||
R9 EQU 9
|
||||
R10 EQU 10
|
||||
R11 EQU 11
|
||||
R12 EQU 12
|
||||
R13 EQU 13
|
||||
R14 EQU 14
|
||||
R15 EQU 15
|
||||
END
|
||||
/*
|
||||
//GO.SYSPRINT DD SYSOUT=*
|
||||
//GO.SYSUDUMP DD SYSOUT=*
|
||||
//GO.SYSABEND DD SYSOUT=*
|
||||
//GO.OUTDD DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=122,BLKSIZE=122)
|
||||
//GO.INDD DD DSN=HERC01.SALARIES.INPUT,DISP=SHR
|
||||
//
|
||||
Reference in New Issue
Block a user