/* rexx */
drop l.
"execio * diskr MYLIST (stem l. finis"
if rc ^= 0 then do
say 'error in reading MYLIST file !!!'
say 'rc='rc
exit 1
end
drop nj.;j=0
j=j+1;nj.j="//MAI JOB (000),ME,CLASS=C,MSGCLASS=X,"
J=J+1;NJ.J="// NOTIFY=ME,TYPRUN=SCAN,"
j=j+1;nj.j="// MSGLEVEL=(1,1),REGION=0M,TIME=1440;
j=j+1;nj.j="//** UNLOAD PROS SUBMIT"
do l=2 to l.0
j=j+1;nj.j="//STEP"l-1" EXEC PGM=IKJEFT01,REGION=0M"
j=j+1;nj.j="//SYSEXEC DD DISP=SHR,DSN=A.V.ARSINST"
j=j+1;nj.j="//SYSTSPRT DD SYSOUT=*"
j=j+1;nj.j="//SYSTSIN DD *"
j=j+1;nj.j="ARSSHL /usr/lpp/ars/bin/arsadmin +"
j=j+1;nj.j=" unload -h ARCH -g +"
j=j+1;nj.j="'"strip(substr(l.1, 1, 71))"' +"
j=j+1;nj.j=" -u admin -p password -L +"
j=j+1;nj.j=word(l.l, 1)
j=j+1;nj.j="//STDENV DD *"
j=j+1;nj.j="_BPX_SHAREAS=YES"
j=j+1;nj.j="_BPX_BATCH_SPAWN=YES"
j=j+1;nj.j="/*"
j=j+1;nj.j="//OSHOUT1 DD SYSOUT=*,DCB=(RECFM=F,LRECL=255)"
j=j+1;nj.j="//* "
end
nj.0=j
"execio * diskw OUTF (stem nj. finis"
if rc ^= 0 then do
say 'error in writing OUTf file !!!'
say 'rc='rc
exit 2
end
/*
NEWSTACK
DO j=1 TO Nj.0
QUEUE nj.j
END
QUEUE " "
'SUBMIT *' */
exit 0
ID DIVISION.
PROGRAM-ID MAICHDG.
*-------------------------------------------------
*- YPOLOGISMOS CH-DIGIT T.K ME MODULUS 10
*- COMMON-AREA
*- IN ARIQMOS 9(5)
*- OUT CHDG5-N 9
*- ME-15-07-2006
*-------------------------------------------------
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
DECIMAL-POINT IS COMMA.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 S1 PIC 9 VALUE ZERO.
77 SW PIC 9 VALUE ZERO.
*-
01 AR-IN-X.
05 AR-TK PIC 9.
05 AR-SEL PIC 9(4).
*-
01 AR-X.
05 AR-F PIC 9 OCCURS 5 TIMES.
01 AR-N REDEFINES AR-X PIC 9(5).
*-
01 RES-X.
05 RES-1 PIC 9.
05 RES-2 PIC 9.
01 RES-N REDEFINES RES-X PIC 99.
*-
01 AC-X.
05 F PIC X.
05 AC-LAST PIC 9.
01 AC-N REDEFINES AC-X PIC 9(2).
*---------------------------------------------------
LINKAGE SECTION.
COPY RMAICHDG.
PROCEDURE DIVISION USING RMAICHDG.
*---------------------------------
*-
MOVE CHDG5-TK TO AR-TK
MOVE CHDG5-SEL TO AR-SEL
*-
MOVE AR-IN-X TO AR-X
*-
MOVE 1 TO SW
MOVE ZERO TO RES-N AC-N
*-
PERFORM VARYING S1 FROM 5 BY -1 UNTIL S1 = 0
IF SW = 1
MOVE 3TOSW
ELSE
MOVE 1TOSW
END-IF
COMPUTE RES-N = AR-F (S1) * SW
COMPUTE AC-N = AC-N + RES-N
END-PERFORM
*-
COMPUTE RES-N = 10 - AC-LAST
*-
COMPUTE CHDG5-N = RES-2
*-
MOVE 0 TO RETURN-CODE
GOBACK.