Advertisement
Guest User

Untitled

a guest
Jul 16th, 2018
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. SUBROUTINE TEST.NOFILE(AC.DETAILS)
  2. *-----------------------------------------------------------------------------
  3. *
  4. *-----------------------------------------------------------------------------
  5. * Modification History :
  6. *-----------------------------------------------------------------------------
  7.     $INSERT I_COMMON
  8.     $INSERT I_EQUATE
  9.     $INSERT I_ENQUIRY.COMMON
  10.     $INSERT I_F.CUSTOMER.ACCOUNT
  11.     $INSERT I_F.STMT.ENTRY
  12.     $INSERT I_F.ACCOUNT
  13.     $INSERT I_F.ACCR.ACCT.CR
  14.     $INSERT I_F.ACCR.ACCT.DR
  15. *-----------------------------------------------------------------------------
  16.  
  17.     GOSUB INIT
  18.     GOSUB OPENFILES
  19.     GOSUB PROCESS
  20. RETURN
  21.  
  22. INIT:
  23.     DANE.TMP = ""
  24.     ACC.FWD = ""
  25.     AC.DETAILS = ""
  26. RETURN
  27.  
  28. OPENFILES:
  29.     FN.CUSTOMER.ACCOUNT = "F.CUSTOMER.ACCOUNT"
  30.     F.CUSTOMER.ACCOUNT  = ""
  31.     CALL OPF(FN.CUSTOMER.ACCOUNT,F.CUSTOMER.ACCOUNT)
  32.    
  33.     FN.ACCOUNT = "F.ACCOUNT"
  34.     F.ACCOUNT  = ""
  35.     CALL OPF(FN.ACCOUNT,F.ACCOUNT)
  36.    
  37.     FN.CUSTOMER = "F.CUSTOMER"
  38.     F.CUSTOMER  = ""
  39.     CALL OPF(FN.CUSTOMER,F.CUSTOMER)
  40.    
  41.     FN.ACCT.ENT.FWD = "F.ACCT.ENT.FWD"
  42.     F.ACCT.ENT.FWD  = ""
  43.     CALL OPF(FN.ACCT.ENT.FWD,F.ACCT.ENT.FWD)
  44.    
  45.     FN.STMT.ENTRY = "F.STMT.ENTRY"
  46.     F.STMT.ENTRY  = ""
  47.     CALL OPF(FN.STMT.ENTRY,F.STMT.ENTRY)
  48. RETURN
  49.  
  50. PROCESS:
  51.     LOCATE "FLAG" IN D.FIELDS<1> SETTING FLAG.POS THEN
  52.         FLAG = D.RANGE.AND.VALUE<FLAG.POS>
  53.     END ELSE
  54.         FLAG = "NO"
  55.     END
  56.    
  57.     LOCATE "CUSTOMER.NO" IN D.FIELDS<1> SETTING CUS.POS THEN
  58.         DYN.LIST = D.RANGE.AND.VALUE<CUS.POS>
  59.     END ELSE
  60.         SEL.CMD = "SELECT " : FN.CUSTOMER
  61.         DYN.LIST = ""
  62.         DYN.NO = ""
  63.         DYN.ERR = ""
  64.         CALL EB.READLIST(SEL.CMD,DYN.LIST,"",DYN.NO,DYN.ERR)
  65.     END
  66.    
  67.     FOR J = 1 TO DYN.NO
  68.        
  69.         CUSTOMER.NO = DYN.LIST<J>
  70.         CALL F.READ(FN.CUSTOMER.ACCOUNT,CUSTOMER.NO,R.CA,F.CUSTOMER.ACCOUNT,CA.ERR)
  71.         TOTAL.WRK.BAL = 0
  72.         ACC.FWD = ""
  73.         NO.OF.AC = DCOUNT(R.CA,FM)
  74.    
  75.         FOR I = 1 TO NO.OF.AC
  76.        
  77.             ACC.ID = R.CA<1>
  78.             R.ACC = ""
  79.             ERR.ACC = ""
  80.             CALL F.READ(FN.ACCOUNT,ACC.ID,R.ACC,FN.ACCOUNT,ERR.ACC)
  81.        
  82.             TOTAL.WRK.BAL = TOTAL.WRK.BAL + R.ACC<AC.WORKING.BALANCE>
  83.             IF (FLAG EQ "YES") THEN
  84.                 CALL F.READ(FN.ACCT.ENT.FWD,ACC.ID,R.ACC.FWD,F.ACCT.ENT.FWD,ERR.ACC.FWD)
  85.                 ACC.FWD<-1> = R.ACC.FWD
  86.             END
  87.            
  88.         NEXT I
  89.        
  90.         BEGIN CASE
  91.             CASE (FLAG NE "YES")
  92.                 DANE.TMP<1> = NO.OF.AC
  93.                 DANE.TMP<2> = TOTAL.WRK.BAL
  94.                 DANE.TMP<3> = CUSTOMER.NO
  95.                 DANE.TMP<4> = ""
  96.                 AC.DETAILS<-1> = CHANGE(DANE.TMP,FM,"*")
  97.             CASE (FLAG EQ "YES" AND ACC.FWD NE "")
  98.                 DANE.TMP<1> = NO.OF.AC
  99.                 DANE.TMP<2> = TOTAL.WRK.BAL
  100.                 DANE.TMP<3> = CUSTOMER.NO
  101.                 DANE.TMP<4> = CHANGE(ACC.FWD, FM, "#")
  102.                 AC.DETAILS<-1> = CHANGE(DANE.TMP,FM,"*")
  103.             CASE (FLAG EQ "YES" AND ACC.FWD EQ "")
  104.                 NULL
  105.         END CASE
  106.        
  107.     NEXT J
  108.    
  109. RETURN
  110.  
  111. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement