Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SUBROUTINE TEST.NOFILE(AC.DETAILS)
- *-----------------------------------------------------------------------------
- *
- *-----------------------------------------------------------------------------
- * Modification History :
- *-----------------------------------------------------------------------------
- $INSERT I_COMMON
- $INSERT I_EQUATE
- $INSERT I_ENQUIRY.COMMON
- $INSERT I_F.CUSTOMER.ACCOUNT
- $INSERT I_F.STMT.ENTRY
- $INSERT I_F.ACCOUNT
- $INSERT I_F.ACCR.ACCT.CR
- $INSERT I_F.ACCR.ACCT.DR
- *-----------------------------------------------------------------------------
- GOSUB INIT
- GOSUB OPENFILES
- GOSUB PROCESS
- RETURN
- INIT:
- DANE.TMP = ""
- ACC.FWD = ""
- AC.DETAILS = ""
- RETURN
- OPENFILES:
- FN.CUSTOMER.ACCOUNT = "F.CUSTOMER.ACCOUNT"
- F.CUSTOMER.ACCOUNT = ""
- CALL OPF(FN.CUSTOMER.ACCOUNT,F.CUSTOMER.ACCOUNT)
- FN.ACCOUNT = "F.ACCOUNT"
- F.ACCOUNT = ""
- CALL OPF(FN.ACCOUNT,F.ACCOUNT)
- FN.CUSTOMER = "F.CUSTOMER"
- F.CUSTOMER = ""
- CALL OPF(FN.CUSTOMER,F.CUSTOMER)
- FN.ACCT.ENT.FWD = "F.ACCT.ENT.FWD"
- F.ACCT.ENT.FWD = ""
- CALL OPF(FN.ACCT.ENT.FWD,F.ACCT.ENT.FWD)
- FN.STMT.ENTRY = "F.STMT.ENTRY"
- F.STMT.ENTRY = ""
- CALL OPF(FN.STMT.ENTRY,F.STMT.ENTRY)
- RETURN
- PROCESS:
- LOCATE "FLAG" IN D.FIELDS<1> SETTING FLAG.POS THEN
- FLAG = D.RANGE.AND.VALUE<FLAG.POS>
- END ELSE
- FLAG = "NO"
- END
- LOCATE "CUSTOMER.NO" IN D.FIELDS<1> SETTING CUS.POS THEN
- DYN.LIST = D.RANGE.AND.VALUE<CUS.POS>
- END ELSE
- SEL.CMD = "SELECT " : FN.CUSTOMER
- DYN.LIST = ""
- DYN.NO = ""
- DYN.ERR = ""
- CALL EB.READLIST(SEL.CMD,DYN.LIST,"",DYN.NO,DYN.ERR)
- END
- FOR J = 1 TO DYN.NO
- CUSTOMER.NO = DYN.LIST<J>
- CALL F.READ(FN.CUSTOMER.ACCOUNT,CUSTOMER.NO,R.CA,F.CUSTOMER.ACCOUNT,CA.ERR)
- TOTAL.WRK.BAL = 0
- ACC.FWD = ""
- NO.OF.AC = DCOUNT(R.CA,FM)
- FOR I = 1 TO NO.OF.AC
- ACC.ID = R.CA<1>
- R.ACC = ""
- ERR.ACC = ""
- CALL F.READ(FN.ACCOUNT,ACC.ID,R.ACC,FN.ACCOUNT,ERR.ACC)
- TOTAL.WRK.BAL = TOTAL.WRK.BAL + R.ACC<AC.WORKING.BALANCE>
- IF (FLAG EQ "YES") THEN
- CALL F.READ(FN.ACCT.ENT.FWD,ACC.ID,R.ACC.FWD,F.ACCT.ENT.FWD,ERR.ACC.FWD)
- ACC.FWD<-1> = R.ACC.FWD
- END
- NEXT I
- BEGIN CASE
- CASE (FLAG NE "YES")
- DANE.TMP<1> = NO.OF.AC
- DANE.TMP<2> = TOTAL.WRK.BAL
- DANE.TMP<3> = CUSTOMER.NO
- DANE.TMP<4> = ""
- AC.DETAILS<-1> = CHANGE(DANE.TMP,FM,"*")
- CASE (FLAG EQ "YES" AND ACC.FWD NE "")
- DANE.TMP<1> = NO.OF.AC
- DANE.TMP<2> = TOTAL.WRK.BAL
- DANE.TMP<3> = CUSTOMER.NO
- DANE.TMP<4> = CHANGE(ACC.FWD, FM, "#")
- AC.DETAILS<-1> = CHANGE(DANE.TMP,FM,"*")
- CASE (FLAG EQ "YES" AND ACC.FWD EQ "")
- NULL
- END CASE
- NEXT J
- RETURN
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement