*=========================================================================
* RPG Original Source Code for Pgm. MMACTIV
*=========================================================================
*
* Print Activity Report showing activity in 1994 thru 1996 but
* no activity in 1997.. in seq. by Terr. Code and Account Name
* To Run Report:
* Under SSS take Options 3-3-11 and run procedure MMACTIVITY
* to create a file called MMFILE.SSSRMFDTA
* Then Copy MMFILE.SSSRMFDTA to MMFILEP.SSS, Then Run Program...
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FMMFILEP IF E DISK
F MMFILE KRENAMEMMFL
FQSYSPRT O F 132 PRINTER
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* SSS Procedures produce outfiles with only one field in them
* so MMFILX is a DS which breaks down that one field
* into the data fields needed in this programs
I DS
I 1 200 MMFILX
I 1 5 ATERR
I 9 38 ANAME
I 48 530ACTCDT
I 71 720ACTYY
I 71 760ACTDAT
* RDATE and WKDATE are used to format the date for the report
IRDATE DS
I 1 20HDMM
I 3 3 SL1
I 4 50HDDD
I 6 6 SL2
I 7 80HDYY
IWKDATE DS
I 1 70WKDT
I 2 30WKMM
I 4 50WKDD
I 6 70WKYY
* Program Status Data Structure Page: 43 of the RPG/400 Reference
I SDS
I 1 10 PROGNM
I 254 263 USER
I 270 2750DATE1
I 276 2810DATE2
I 288 2930DATE3
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Z-ADDDATE1 WKDT
C MOVELWKYY HDYY Set
C MOVELWKMM HDMM Report
C MOVELWKDD HDDD Date
C MOVEL'/' SL1
C MOVEL'/' SL2
C Z-ADD99 LCT 30 Line Counter
C Z-ADD*ZEROS ACT94 50 Init.
C Z-ADD*ZEROS ACT95 50 Yearly
C Z-ADD*ZEROS ACT96 50 Totals
C Z-ADD*ZEROS ACT97 50
C Z-ADD*ZEROS ACT98 50
C Z-ADD*ZEROS ACTTT 50 # Act.Recs.Per.Acct.
C Z-ADD*ZEROS HADATE 60 Hold Acct. Date
C MOVE *BLANKS HANAME 30 Hold Acct. Name
C MOVE *BLANKS HTERR 5 Hold Terr. Code
C MOVE 'N' DONE 1 Main Loop Switch
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C DONE DOWEQ'N' B001 Main Loop
C READ MMFILEP 98 Read File
C *IN98 IFEQ '1' Test EOF
C MOVE 'Y' DONE Exit
C GOTO ENDLOP Main Loop
C END
C MOVELMMFILE MMFILX Break Down MSM Rec.
C ANAME IFNE HANAME Acct. Name not =
C EXSR CHKACT Hold Acct. Name
C END Exec Check.Acct.
C ADD 1 ACTTT # Act.Recs.Per.Acct.
C ACTDAT IFGT HADATE Acct.Date >
C Z-ADDACTDAT HADATE Hold Acct.Date
C END
C SELEC Add one to Totals
C ACTYY WHEQ 94 Based on
C ADD 1 ACT94 which Year
C ACTYY WHEQ 95 the Activity
C ADD 1 ACT95 took
C ACTYY WHEQ 96 place
C ADD 1 ACT96 1994
C ACTYY WHEQ 97 thru
C ADD 1 ACT97 1998
C ACTYY WHGT 98
C ADD 1 ACT98
C ENDSL
C ENDLOP TAG
C ENDDO E001 End Main Loop
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C MOVE '1' *INLR End Program
C RETRN Return
* --------------------------------------------------------------------
C CHKACT BEGSR Check Account Record
C ACTTT IFEQ *ZEROS # Act.Recs.Per.Acct.
C GOTO CHKEND Used for a
C END First Time Switch
C ACT95 IFGT 0 Checking Yearly
C ACT96 ANDGT0 Totals > Zeros
C ACT97 ANDEQ0 to Print a Line
C ACT98 ANDEQ0 of the Report
C ADD 1 LCT Add to Line Counter
C LCT IFGT 61 Checking Overflow
C EXCPTHEAD Write Headers
C Z-ADD5 LCT Init. Line Counter
C END
C EXCPTDET1 Write Detail Line
C END
C CHKEND TAG Set Fields for Next
C MOVE ANAME HANAME Set Hold Acct. Name
C MOVE ATERR HTERR Set Hold Terr. Code
C Z-ADD*ZEROS ACT94 Init. Yearly
C Z-ADD*ZEROS ACT95 Total Fields
C Z-ADD*ZEROS ACT96 1994
C Z-ADD*ZEROS ACT97 thru
C Z-ADD*ZEROS ACT98 1998
C Z-ADD*ZEROS ACTTT # Act.Recs.Per.Acct.
C Z-ADD*ZEROS HADATE Init. Hold Acct.Date
C CHKEXT ENDSR
* ------------------------------------------------------------------------
OQSYSPRT E 1 HEAD
O +000 'PGM.Name: '
O PROGNM +000
O +015 'Accounts with Activity'
O +000 ' in 1995 and 1996'
O +000 ' but no Activity in'
O +000 ' 1997'
OQSYSPRT E 1 HEAD
O +000 'Run Date: '
O RDATE +000
OQSYSPRT E 2 HEAD
O +000 'Terr.'
O +001 'Account Name '
O +000 ' '
O +002 '94 Act.'
O +003 '95 Act.'
O +003 '96 Act.'
O +003 '97 Act.'
O +003 'TOT.Act'
O +003 'Last.Act.Date'
OQSYSPRT E 11 HEAD
O +000 '-----'
O +001 '--------------------'
O +000 '----------'
O +002 '-------'
O +003 '-------'
O +003 '-------'
O +003 '-------'
O +003 '-------'
O +003 '-------------'
OQSYSPRT E 1 DET1
O HTERR +000
O HANAME +001
O ACT94 J +002
O ACT95 J +003
O ACT96 J +003
O ACT97 J +003
O ACTTT J +003
O HADATEY +006
*=========================================================================
*=========================================================================
* RPG New Source Code for Pgm. MMACTIV
*=========================================================================
FMMFILEP IF E DISK
F MMFILE KRENAMEMMFL
FQSYSPRT O F 0132 OA PRINTER
IRDATE DS 8
I 1 20HDMM
I 3 3 SL1
I 4 50HDDD
I 6 6 SL2
I 7 80HDYY
IWKDATE DS 7
I 1 70WKDT
I 2 30WKMM
I 4 50WKDD
I 6 70WKYY
I DS
I 1 200 MMFILX
I 1 5 ATERR
I 9 38 ANAME
I 48 530ACTCDT
I 71 720ACTYY
I 71 760ACTDAT
I SDS
I *PROGRAM PROGNM
I 254 263 USER
I 270 2750DATE1
I 276 2810DATE2
I 288 2930DATE3
C Z-ADDDATE1 WKDT
C Z-ADDWKYY HDYY
C Z-ADDWKMM HDMM
C Z-ADDWKDD HDDD
C MOVEL'/' SL1
C MOVEL'/' SL2
C Z-ADD99 LCT 30
C Z-ADD0 ACT94 50
C Z-ADD0 ACT95 50
C Z-ADD0 ACT96 50
C Z-ADD0 ACT97 50
C Z-ADD0 ACT98 50
C Z-ADD0 ACTTT 50
C Z-ADD0 HADATE 60
C MOVE *BLANKS HANAME 30
C MOVE *BLANKS HTERR 5
C MOVE 'N' DONE 1
C DONE DOWEQ'N'
C READ MMFILEP 98
C *IN98 IFEQ '1'
C MOVE 'Y' DONE
C GOTO ENDLOP
C END
C MOVELMMFILE MMFILX
C ANAME IFNE HANAME
C EXSR CHKACT
C END
C ADD 1 ACTTT
C ACTDAT IFGT HADATE
C Z-ADDACTDAT HADATE
C END
C SELEC
C ACTYY WHEQ 94
C ADD 1 ACT94
C ACTYY WHEQ 95
C ADD 1 ACT95
C ACTYY WHEQ 96
C ADD 1 ACT96
C ACTYY WHEQ 97
C ADD 1 ACT97
C ACTYY WHEQ 98
C ADD 1 ACT98
C END
C ENDLOP TAG
C END
C MOVE '1' *INLR
C RETRN
C CHKACT BEGSR
C ACTTT IFEQ 0
C GOTO CHKEND
C END
C ACT95 CABLE0 CHKEND
C ACT96 CABLE0 CHKEND
C ACT97 CABNE0 CHKEND
C ACT98 CABNE0 CHKEND
C ADD 1 LCT
C LCT IFGT 61
C EXCPTHEAD
C Z-ADD5 LCT
C END
C EXCPTDET1
C CHKEND TAG
C MOVE ANAME HANAME
C MOVE ATERR HTERR
C Z-ADD0 ACT94
C Z-ADD0 ACT95
C Z-ADD0 ACT96
C Z-ADD0 ACT97
C Z-ADD0 ACT98
C Z-ADD0 ACTTT
C Z-ADD0 HADATE
C CHKEXT ENDSR
OQSYSPRT E 0001 HEAD
O 10 'PGM.Name: '
O PROGNM 20
O 57 'Accounts with Activity'
O 74 ' in 1995 and 1996'
O 93 ' but no Activity in'
O 98 ' 1997'
OQSYSPRT E 1 HEAD
O 10 'Run Date: '
O RDATE 18
OQSYSPRT E 2 HEAD
O 5 'Terr.'
O 26 'Account Name '
O 36 ' '
O 45 '94 Act.'
O 55 '95 Act.'
O 65 '96 Act.'
O 75 '97 Act.'
O 85 'TOT.Act'
O 101 'Last.Act.Date'
OQSYSPRT E 11 HEAD
O 5 '-----'
O 26 '--------------------'
O 36 '----------'
O 45 '-------'
O 55 '-------'
O 65 '-------'
O 75 '-------'
O 85 '-------'
O 101 '-------------'
OQSYSPRT E 1 DET1
O HTERR 5
O HANAME 36
O ACT94 45 ' , 0 -'
O ACT95 55 ' , 0 -'
O ACT96 65 ' , 0 -'
O ACT97 75 ' , 0 -'
O ACTTT 85 ' , 0 -'
O HADATEY 99
OQSYSPRT D 0006 OA
*=========================================================================
*=========================================================================
* NOP-RPG New Source Code for Pgm. MMACTIV
*=========================================================================
FMMFILEP IF E DISK
F MMFILE KRENAMEMMFL
FQSYSPRT O F 0132 OA PRINTER
IMMFL
I MMFILE
IMMFILE DS 0999
I 00010200 C012
I DS 0275
I I P000100020AK
I I P000300050AA
I I P000600080AB
I I P000900110AC
I I P001200240AD
I I P001500170AE
I I P001800200AF
I 00250054 C004
I 00550059 C003
I 00600060 C005
I 00610065 C013
I 00610260 C010
I 00690098 C006
I 013101320AL
I 013101360AH
I 02610268 C002
I 02630263 C008
I 02640265 C007
I 02660266 C009
I 02670268 C011
I 026902750AI
I 027002710AM
I 027202730AN
I SDS 0429
I 00010010 C001
I 027002750AJ
C Z-ADDAJ AI
C MOVE AI C011
C MOVELAM C002
C MOVE AN C007
C MOVE '/' C008
C MOVE '/' C009
C Z-ADD99 AK
C Z-ADD*ZEROS AA
C Z-ADD*ZEROS AB
C Z-ADD*ZEROS AC
C Z-ADD*ZEROS AD
C Z-ADD*ZEROS AE
C Z-ADD*ZEROS AF
C Z-ADD*ZEROS AG 60
C MOVE *BLANKS C004
C MOVE *BLANKS C003
C MOVE 'N' C005
C TA0009 TAG
C C005 CABNE'N' TA0001
C READ MMFILEP 98
C *IN98 CABNE'1' TAG013
C MOVE 'Y' C005
C GOTO TA0002
C TAG013 TAG
C MOVE C012 C010
C C006 CABEQC004 TA0003
C EXSR SBR001
C TA0003 TAG
C ADD 1 AF
C AH CABLEAG TA0004
C MOVE AH AG
C TA0004 TAG
C AL CABNE94 TA0005
C ADD 1 AA
C GOTO TA0002
C TA0005 TAG
C AL CABNE95 TA0006
C ADD 1 AB
C GOTO TA0002
C TA0006 TAG
C AL CABNE96 TA0007
C ADD 1 AC
C GOTO TA0002
C TA0007 TAG
C AL CABNE97 TA0008
C ADD 1 AD
C GOTO TA0002
C TA0008 TAG
C AL CABLE98 TA0002
C ADD 1 AE
C TA0002 TAG
C GOTO TA0009
C TA0001 TAG
C MOVEL'1' *INLR
C RETRN
C SBR001 BEGSR
C AF CABNE0 TA0010
C GOTO TA0011
C TA0010 TAG
C AB CABLE0 TA0011
C AC CABLE0 TA0011
C AD CABNE0 TA0011
C AE CABNE0 TA0011
C ADD 1 AK
C AK CABLE61 TA0012
C EXCPTHEAD
C Z-ADD5 AK
C TA0012 TAG
C EXCPTDET1
C TA0011 TAG
C MOVE C006 C004
C MOVE C013 C003
C Z-ADD*ZEROS AA
C Z-ADD*ZEROS AB
C Z-ADD*ZEROS AC
C Z-ADD*ZEROS AD
C Z-ADD*ZEROS AE
C Z-ADD*ZEROS AF
C Z-ADD*ZEROS AG
C ENDSR
OQSYSPRT D 6 OA
OQSYSPRT E 1 HEAD
O 10 'PGM.Name: '
O C001 20
O 57 'Accounts with Activity'
O 74 ' in 1995 and 1996'
O 93 ' but no Activity in'
O 98 ' 1997'
OQSYSPRT E 1 HEAD
O 10 'Run Date: '
O C002 18
OQSYSPRT E 2 HEAD
O 5 'Terr.'
O 26 'Account Name '
O 36 ' '
O 45 '94 Act.'
O 55 '95 Act.'
O 65 '96 Act.'
O 75 '97 Act.'
O 85 'TOT.Act'
O 101 'Last.Act.Date'
OQSYSPRT E 11 HEAD
O 5 '-----'
O 26 '--------------------'
O 36 '----------'
O 45 '-------'
O 55 '-------'
O 65 '-------'
O 75 '-------'
O 85 '-------'
O 101 '-------------'
OQSYSPRT E 1 DET1
O C003 5
O C004 36
O AA 45 ' , 0 -'
O AB 55 ' , 0 -'
O AC 65 ' , 0 -'
O AD 75 ' , 0 -'
O AF 85 ' , 0 -'
O AG 100 '0 / / '