Can anyone help on this. Please convert the following assembler code into Easytrieve.
MVC 0(255,RZ),0(RX) COPY INPUT TO OUTPUT AREA
MVC 255(95,RZ),255(RX) COPY REMAINING INPUT TO OUTPUT
CLI 0(RX),C'H' CHECK FOR HEADER RECORD
BE 50
CLI 0(RX),C'B' CHECK FOR BATCH RECORD
BE 40
CLI 0(RX),C'T' CHECK FOR TRAILER RECORD
BE 60
LA RV,32 LENGTH OF FIRST NAME FIELD
01 NULL PROCESS DETAIL RECORD
LA RW,48(RV,RZ) START OF FIRST NAME FIELD +
NULL REMAINING LENGTH
CLI 0(RW),C' ' IF NOT BLANK GO TO 10
BNE 10 ELSE
BCT RV,01 DECREMENT LENGTH AND LOOP
10 NULL
MVC 2(32,RW),313(RX)
MVC 80(32,RZ),80(RX) COPY STARTING AFTER NAME FIELD
MVC 313(32,RZ),=C' '
CP TALLY3,=P'1' IF PROCESSING RETURNS BATCH
BE 20
AP TALLY5,=P'1' ADD 1 TO PAYMENTS COUNT
B 30
20 AP TALLY6,=P'1' ADD 1 TO RETURNS COUNT
30 NULL
LH RV,=H'350' SET OUT RECORD LENGTH
STH RV,LENZ
B 50
40 NULL
CLI 16(RZ),C'D' IS THIS A RETURNS BATCH?
BE 45
ZAP TALLY3,=P'0' SET RETURNS BATCH SWITCH OFF
B 50 C INDICATES CREDIT BATCH (PAYMENTS)
45 NULL D INDICATES DEBIT BATCH (REVERSALS)
ZAP TALLY3,=P'1' SET RETURNS BATCH SWITCH ON
50 NULL
AP TALLY1,=P'1' ADD 1 TO NUMBER OF RECORDS
BAL SYSUT2(RZ) WRITE THE RECORD
B DELETE(RX) READ NEXT SYSUT1
60 NULL
AP TALLY1,=P'1' ADD 1 TO NUMBER OF RECORDS
UNPK 1(10,RZ),TALLY1 MOVE NUMBER OF RECORDS TO TRAILER
OI 10(RZ),X'F0' FORCE SIGN TO F
LH RV,=H'350' SET OUT RECORD LENGTH
STH RV,LENZ
BAL SYSUT2(RZ) WRITE THE TRAILER RECORD
B DELETE(RX) IF OK, READ NEXT SYSUT1
*
EOFX NULL ,
B EOF
END
MVC 255(95,RZ),255(RX) COPY REMAINING INPUT TO OUTPUT
CLI 0(RX),C'H' CHECK FOR HEADER RECORD
BE 50
CLI 0(RX),C'B' CHECK FOR BATCH RECORD
BE 40
CLI 0(RX),C'T' CHECK FOR TRAILER RECORD
BE 60
LA RV,32 LENGTH OF FIRST NAME FIELD
01 NULL PROCESS DETAIL RECORD
LA RW,48(RV,RZ) START OF FIRST NAME FIELD +
NULL REMAINING LENGTH
CLI 0(RW),C' ' IF NOT BLANK GO TO 10
BNE 10 ELSE
BCT RV,01 DECREMENT LENGTH AND LOOP
10 NULL
MVC 2(32,RW),313(RX)
MVC 80(32,RZ),80(RX) COPY STARTING AFTER NAME FIELD
MVC 313(32,RZ),=C' '
CP TALLY3,=P'1' IF PROCESSING RETURNS BATCH
BE 20
AP TALLY5,=P'1' ADD 1 TO PAYMENTS COUNT
B 30
20 AP TALLY6,=P'1' ADD 1 TO RETURNS COUNT
30 NULL
LH RV,=H'350' SET OUT RECORD LENGTH
STH RV,LENZ
B 50
40 NULL
CLI 16(RZ),C'D' IS THIS A RETURNS BATCH?
BE 45
ZAP TALLY3,=P'0' SET RETURNS BATCH SWITCH OFF
B 50 C INDICATES CREDIT BATCH (PAYMENTS)
45 NULL D INDICATES DEBIT BATCH (REVERSALS)
ZAP TALLY3,=P'1' SET RETURNS BATCH SWITCH ON
50 NULL
AP TALLY1,=P'1' ADD 1 TO NUMBER OF RECORDS
BAL SYSUT2(RZ) WRITE THE RECORD
B DELETE(RX) READ NEXT SYSUT1
60 NULL
AP TALLY1,=P'1' ADD 1 TO NUMBER OF RECORDS
UNPK 1(10,RZ),TALLY1 MOVE NUMBER OF RECORDS TO TRAILER
OI 10(RZ),X'F0' FORCE SIGN TO F
LH RV,=H'350' SET OUT RECORD LENGTH
STH RV,LENZ
BAL SYSUT2(RZ) WRITE THE TRAILER RECORD
B DELETE(RX) IF OK, READ NEXT SYSUT1
*
EOFX NULL ,
B EOF
END