Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.31 KB | None | 0 0
  1. *-----------------------------------------------------------------------------
  2. * <Rating>474</Rating>
  3. *-----------------------------------------------------------------------------
  4. SUBROUTINE PRBK.ENQ.CUE.CLI.M(ALL.DATOS)
  5. *-----------------------------------------------------------------------------
  6. *
  7. *-----------------------------------------------------------------------------
  8. * Modification History :
  9. *-----------------------------------------------------------------------------
  10. $INSERT I_COMMON
  11. $INSERT I_EQUATE
  12. $INSERT I_ENQUIRY.COMMON
  13. $INSERT I_F.CUSTOMER
  14. $INSERT I_F.ACCOUNT
  15. $INSERT I_F.CURRENCY
  16. $INSERT I_F.PRBK.APP.CUENTA.MUR.M
  17. *-----------------------------------------------------------------------------
  18. DEBUG
  19. GOSUB INITIALIZE
  20. GOSUB OPEN.FILE
  21. GOSUB PROCESS
  22.  
  23. RETURN
  24.  
  25.  
  26. INITIALIZE:
  27. FN.ACCOUNT = 'F.ACCOUNT'
  28. F.ACCOUNT = ''
  29.  
  30. FN.CUSTOMER = 'F.CUSTOMER'
  31. F.CUSTOMER = ''
  32.  
  33. FN.CURRENCY = 'F.CURRENCY'
  34. F.CURR = ''
  35.  
  36. FN.CUENTA = 'F.PRBK.APP.CUENTA.MUR.M'
  37. F.CUENTA = ''
  38.  
  39. RETURN
  40.  
  41.  
  42.  
  43. OPEN.FILE:
  44.  
  45. CALL OPF (FN.ACCOUNT,F.ACCOUNT)
  46. CALL OPF (FN.CUSTOMER,F.CUSTOMER)
  47. CALL OPF (FN.CUENTA,F.CUENTA)
  48. CALL OPF (FN.CURRENCY,F.CURR)
  49. RETURN
  50.  
  51.  
  52.  
  53. PROCESS:
  54. CONTADORFEO = 0
  55. DEBUG
  56. ALL.DATOS = ""
  57. Y.LINEA = ""
  58.  
  59. Y.CUSTOMER.ID = ""
  60. LOCATE "CUSTOMER.ID" IN D.FIELDS<1> SETTING Y.CUSTOMER.ID.POS THEN
  61. Y.CUSTOMER.ID = D.RANGE.AND.VALUE<Y.CUSTOMER.ID.POS>
  62. END
  63.  
  64. Y.ACCOUNT.ID = ""
  65. LOCATE "CUENTA.ID" IN D.FIELDS<1> SETTING Y.ACCOUNT.ID.POS THEN
  66. Y.ACCOUNT.ID = D.RANGE.AND.VALUE<Y.ACCOUNT.ID.POS>
  67. END
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74. IF Y.ACCOUNT.ID THEN
  75. CALL F.READ(FN.ACCOUNT, Y.ACCOUNT.ID,R.ACCOUNT,F.ACCOUNT,Y.ACC.ERR)
  76.  
  77. IF Y.ACC.ERR THEN
  78. ENQ.ERROR = "Y.ACC.ERR"
  79. RETURN
  80. END
  81. CALL F.READ(FN.CUSTOMER, Y.CUSTOMER.ID, R.CUSTOMER, F.CUSTOMER, Y.ERR.CUS)
  82.  
  83. IF Y.ERR.CUS THEN
  84. ENQ.ERROR = Y.ERR.CUS
  85. RETURN
  86. END
  87. Y.CUSTOMER.ID = R.ACCOUNT<AC.CUSTOMER>
  88.  
  89. END
  90.  
  91. ELSE
  92.  
  93.  
  94.  
  95.  
  96. IF NOT (Y.CUSTOMER.ID OR Y.CUENTA.ID) THEN
  97. SEL.CMD = "SELECT ":FN.CUENTA
  98. END
  99. ELSE
  100. IF Y.CUSTOMER.ID THEN
  101. SEL.CMD = "SELECT":FN.ACCOUNT:" WITH CUSTOMER EQ ":Y.CUSTOMER.ID
  102. END
  103. END
  104.  
  105. CRT " TEST"
  106. CALL EB.READLIST(SEL.CMD,SEL.LIST,'',NO.OF.REC,RET.CODE)
  107.  
  108. LOOP
  109.  
  110. CONTADORFEO = CONTADORFEO+1
  111.  
  112.  
  113. REMOVE Y.ID FROM SEL.LIST SETTING Y.POS
  114.  
  115. WHILE Y.ID:Y.POS
  116. CALL F.READ(FN.ACCOUNT, Y.ID, R.ACCOUNT, F.ACCOUNT, Y.ACC.ERR)
  117. CALL F.READ(FN.CUENTA,Y.ID,R.CUENTA,F.CUENTA, Y.CUENTA.ERR)
  118. IF NOT(Y.ACC.ERR) THEN
  119. IF NOT (Y.CUENTA.ERR) AND R.CUENTA NE '' THEN
  120. LT.APP = 'PRBK.APP.CUENTA.MUR.M'
  121. LREF.FIELDS = 'LT.MM.SALDO'
  122. LOCAL.REF.POS = ''
  123.  
  124. CALL MULTI.GET.LOC.REF(LT.APP,LREF.FIELDS,LOCAL.REF.POS)
  125. Y.LT.MM.SALDO.POS = LOCAL.REF.POS<1,1>
  126. Y.SALDO = R.CUENTA<TAB.DOCU.M.LOCAL.REF,Y.LT.MM.SALDO.POS>
  127. Y.CANT.SALDOS = DCOUNT(Y.SALDO,SM)
  128. IF Y.CANT.SALDOS GE 2 THEN
  129.  
  130. Y.CUSTOMER = R.ACCOUNT<AC.CUSTOMER>
  131. Y.ESTADO<-1> = R.CUENTA<TAB.DOCU.M.ESTADO>
  132. Y.CATEGORIA<-1> = R.ACCOUNT<AC.CATEGORY>
  133. Y.MONEDA.ID<-1> = R.ACCOUNT<AC.CURRENCY>
  134.  
  135. CALL F.READ(FN.CURRENCY,Y.MONEDA.ID,R.CURR,F.CURR,Y.CURR.ERR)
  136. IF NOT(Y.CURR.ERR) THEN
  137. Y.DESC.MONEDA=R.CURR<EB.CUR.CCY.NAME>
  138. Y.MONEDA<-1> = Y.DESC.MONEDA
  139. END
  140. END
  141.  
  142. END
  143. END
  144.  
  145. IF Y.CANT.SALDOS GE 2 THEN
  146. CHANGE FM TO VM IN Y.MONEDA
  147. CHANGE FM TO VM IN Y.CATEGORIA
  148. CHANGE FM TO VM IN Y.CUENTAS
  149. CHANGE FM TO VM IN Y.SALDOS
  150.  
  151. Y.LINEA = Y.ID
  152. Y.LINEA := "*" : Y.CUSTOMER
  153. Y.LINEA := "*" : Y.ESTADO
  154. Y.LINEA := "*" : Y.CATEGORIA
  155. Y.LINEA := "*" : Y.MONEDA
  156.  
  157. ALL.DATOS<-1> = Y.LINEA
  158. END
  159.  
  160. REPEAT
  161.  
  162. END
  163.  
  164. RETURN
  165.  
  166.  
  167.  
  168. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement