📄 bcb8311.pco
字号:
THEN IF OLD-ERYDAT NOT > OLD-INTDAT THEN IF OLD-INTBAL > OLD-BALLIM THEN COMPUTE WK-XIE-BAL = OLD-INTBAL - OLD-BALLIM COMPUTE WK-CR-ACCM1 = OLD-BALLIM * WK-DAYS COMPUTE WK-CR-ACCM2 = WK-XIE-BAL * WK-DAYS COMPUTE WK-CR-INT1 ROUNDED = WK-CR-ACCM1 * OLD-NXTVAL2 COMPUTE WK-CR-INT2 ROUNDED = WK-CR-ACCM2 * OLD-NXTVAL3 COMPUTE WK-CR-ALL-INT = WK-CR-ALL-INT + WK-CR-INT1 + WK-CR-INT2 ELSE COMPUTE WK-CR-ACCM = OLD-INTBAL * WK-DAYS COMPUTE WK-CR-INT ROUNDED = WK-CR-ACCM * OLD-NXTVAL2 COMPUTE WK-CR-ALL-INT = WK-CR-ALL-INT + WK-CR-INT END-IF ELSE COMPUTE WK-CR-ACCM = OLD-INTBAL * WK-DAYS COMPUTE WK-CR-INT ROUNDED = WK-CR-ACCM * OLD-NXTVAL2 COMPUTE WK-CR-ALL-INT = WK-CR-ALL-INT + WK-CR-INT END-IF ELSE COMPUTE WK-CR-ACCM = OLD-INTBAL * WK-DAYS COMPUTE WK-CR-INT ROUNDED = WK-CR-ACCM * OLD-NXTVAL2 COMPUTE WK-CR-ALL-INT = WK-CR-ALL-INT + WK-CR-INT END-IF MOVE 0 TO WK-CR-ACCM MOVE 0 TO WK-CR-ACCM1 MOVE 0 TO WK-CR-ACCM2 MOVE 0 TO WK-CR-INT MOVE 0 TO WK-CR-INT1 MOVE 0 TO WK-CR-INT2 MOVE 0 TO WK-XIE-BAL END-IF END-IF. IF CUT-UPDINT < 0 THEN COMPUTE WK-DR-ALL-INT = WK-DR-ALL-INT + CUT-UPDINT END-IF. IF CUT-UPDINT > 0 THEN COMPUTE WK-CR-ALL-INT = WK-CR-ALL-INT + CUT-UPDINT END-IF. MOVE WK-DR-ALL-INT TO WK-DACINT. MOVE WK-CR-ALL-INT TO WK-CACINT. 5102-EXIT. EXIT. ******************************************************************* ***5103-GET-DINRAT 取计息帐户当日借方日利率 *** ******************************************************************* 5103-GET-DINRAT. MOVE '/5103-GET-DINRAT/' TO WK-PARA. IF BAL-DINRAT NOT = SPACES THEN EXEC SQL SELECT MAX(EFFDAT) INTO :WK-EFFDAT FROM ACTIRT WHERE CURCDE = :BAL-CURCDE AND IRTKDE = :BAL-DINRAT AND EFFDAT <= :BAL-INTDAT AND RECSTS = :CNST-M-RECSTS-VALID END-EXEC MOVE SQLCODE TO SQL-ERR-CODE IF NOT SQL-C-NORMAL THEN DISPLAY 'WK-EFFDAT NOT FOUND!' display 'curcde' BAL-CURCDE display 'irtkde' BAL-DINRAT display 'effdat' BAL-INTDAT MOVE '1' TO WK-ERR-FLAG GO TO 5103-EXIT END-IF EXEC SQL SELECT MIN(IRTAMT) INTO :WK-IRTAMT FROM ACTIRT WHERE CURCDE = :BAL-CURCDE AND IRTKDE = :BAL-DINRAT AND IRTAMT >= :BAL-INTBAL AND EFFDAT = :WK-EFFDAT AND RECSTS = :CNST-M-RECSTS-VALID END-EXEC MOVE SQLCODE TO SQL-ERR-CODE IF NOT SQL-C-NORMAL THEN DISPLAY 'WK-IRTAMT NOT FOUND!' MOVE '1' TO WK-ERR-FLAG GO TO 5103-EXIT END-IF EXEC SQL SELECT IRTVAL INTO :IRT-IRTVAL FROM ACTIRT WHERE CURCDE = :BAL-CURCDE AND IRTKDE = :BAL-DINRAT AND IRTAMT = :WK-IRTAMT AND EFFDAT = :WK-EFFDAT AND RECSTS = :CNST-M-RECSTS-VALID END-EXEC MOVE SQLCODE TO SQL-ERR-CODE IF NOT SQL-C-NORMAL THEN IF SQL-C-RECORD-NOT-FOUND THEN DISPLAY 'IRT-IRTVAL NOT FOUND!' MOVE '1' TO WK-ERR-FLAG GO TO 5103-EXIT ELSE GO TO ERRCHK END-IF END-IF EXEC SQL SELECT INTDAY INTO :CCY-INTDAY FROM ACTCCY WHERE CURCDE = :BAL-CURCDE AND RECSTS = :CNST-M-RECSTS-VALID END-EXEC MOVE SQLCODE TO SQL-ERR-CODE IF NOT SQL-C-NORMAL THEN IF SQL-C-RECORD-NOT-FOUND THEN DISPLAY 'CURCDE NOT FOUND' MOVE '1' TO WK-ERR-FLAG GO TO 5103-EXIT ELSE GO TO ERRCHK END-IF END-IF MOVE CCY-INTDAY TO WK-DITCST COMPUTE WK-IRTVAL = IRT-IRTVAL / WK-DITCST / 100 COMPUTE WK-DRATSF = BAL-DRATSF / WK-DITCST / 100 COMPUTE WK-NXTVAL1 = WK-IRTVAL + WK-DRATSF ELSE IF BAL-DRATSF NOT = 0 THEN EXEC SQL SELECT INTDAY INTO :CCY-INTDAY FROM ACTCCY WHERE CURCDE = :BAL-CURCDE AND RECSTS = :CNST-M-RECSTS-VALID END-EXEC MOVE SQLCODE TO SQL-ERR-CODE IF NOT SQL-C-NORMAL THEN IF SQL-C-RECORD-NOT-FOUND THEN DISPLAY 'CURCDE NOT FOUND' MOVE '1' TO WK-ERR-FLAG GO TO 5103-EXIT ELSE GO TO ERRCHK END-IF END-IF MOVE CCY-INTDAY TO WK-DITCST COMPUTE WK-DRATSF = BAL-DRATSF / WK-DITCST / 100 MOVE WK-DRATSF TO WK-NXTVAL1 ELSE MOVE 0 TO WK-NXTVAL1020323* DISPLAY 'DR-INTBAL <> 0 DINRAT NOT FOUND'020323* MOVE '1' TO WK-ERR-FLAG020323* GO TO 5103-EXIT END-IF END-IF.021112* display 'wk-nxtval1='wk-nxtval1. 5103-EXIT. EXIT. ******************************************************************* ***5104-GET-CINRAT 取计息帐户当日贷方日利率 *** ******************************************************************* 5104-GET-CINRAT. MOVE '/5104-GET-CINRAT/' TO WK-PARA. IF BAL-CINRAT NOT = SPACES THEN EXEC SQL SELECT MAX(EFFDAT) INTO :WK-EFFDAT FROM ACTIRT WHERE CURCDE = :BAL-CURCDE AND IRTKDE = :BAL-CINRAT AND EFFDAT <= :BAL-INTDAT AND RECSTS = :CNST-M-RECSTS-VALID END-EXEC MOVE SQLCODE TO SQL-ERR-CODE IF NOT SQL-C-NORMAL THEN DISPLAY 'WK-EFFDAT NOT FOUND!' MOVE '1' TO WK-ERR-FLAG display 'curcde' BAL-CURCDE display 'irtkde' BAL-CINRAT display 'effdat' BAL-INTDAT GO TO 5104-EXIT END-IF EXEC SQL SELECT MAX(IRTAMT) INTO :WK-IRTAMT FROM ACTIRT WHERE CURCDE = :BAL-CURCDE AND IRTKDE = :BAL-CINRAT AND IRTAMT <= :BAL-INTBAL AND EFFDAT = :WK-EFFDAT AND RECSTS = :CNST-M-RECSTS-VALID END-EXEC MOVE SQLCODE TO SQL-ERR-CODE IF NOT SQL-C-NORMAL THEN DISPLAY 'WK-IRTAMT NOT FOUND!' MOVE '1' TO WK-ERR-FLAG GO TO 5104-EXIT END-IF EXEC SQL SELECT IRTVAL INTO :IRT-IRTVAL FROM ACTIRT WHERE CURCDE = :BAL-CURCDE AND IRTKDE = :BAL-CINRAT AND IRTAMT = :WK-IRTAMT AND EFFDAT = :WK-EFFDAT AND RECSTS = :CNST-M-RECSTS-VALID END-EXEC MOVE SQLCODE TO SQL-ERR-CODE IF NOT SQL-C-NORMAL THEN IF SQL-C-RECORD-NOT-FOUND THEN DISPLAY 'IRT-IRTVAL NOT FOUND!' MOVE '1' TO WK-ERR-FLAG GO TO 5104-EXIT ELSE GO TO ERRCHK END-IF END-IF EXEC SQL SELECT INTDAY INTO :CCY-INTDAY FROM ACTCCY WHERE CURCDE = :BAL-CURCDE AND RECSTS = :CNST-M-RECSTS-VALID END-EXEC MOVE SQLCODE TO SQL-ERR-CODE IF NOT SQL-C-NORMAL THEN IF SQL-C-RECORD-NOT-FOUND THEN DISPLAY 'CURCDE NOT FOUND' MOVE '1' TO WK-ERR-FLAG GO TO 5104-EXIT ELSE GO TO ERRCHK END-IF END-IF MOVE CCY-INTDAY TO WK-DITCST COMPUTE WK-IRTVAL = IRT-IRTVAL / WK-DITCST / 100 COMPUTE WK-CRATSF = BAL-CRATSF / WK-DITCST / 100 COMPUTE WK-NXTVAL2 = WK-IRTVAL + WK-CRATSF ELSE IF BAL-CRATSF NOT = 0 THEN EXEC SQL SELECT INTDAY INTO :CCY-INTDAY FROM ACTCCY WHERE CURCDE = :BAL-CURCDE AND RECSTS = :CNST-M-RECSTS-VALID END-EXEC MOVE SQLCODE TO SQL-ERR-CODE IF NOT SQL-C-NORMAL THEN IF SQL-C-RECORD-NOT-FOUND THEN DISPLAY 'CURCDE NOT FOUND' MOVE '1' TO WK-ERR-FLAG GO TO 5104-EXIT ELSE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -