Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- *CREATED BY : MARISZA
- *CREATED DATE : 20190521
- *PAYROLL PINJAMAN TASPEN
- FLXFTSPINDKIF E K DISK
- FLXLTSPPEN IF E K DISK
- FLXLTSPDPM UF E K DISK
- FLXLKWJCR UF E K DISK
- FLXL0021 IF E K DISK
- FLXLKWJLOGKIF A E K DISK
- FLXLKWJCH UF E K DISK
- FTBLMSG IF E K DISK
- FRKLMAS IF E K DISK
- FSAFMAS IF E K DISK
- FSAFTAB IF E K DISK
- DCOMARA EUDS EXTNAME(FEFCOMM)
- D DSTGL DS
- D DSYY 1 4 0
- D DSMM 5 6 0
- D DSYYMM 1 6 0
- D DSBLINFO DS
- D DSPERIODE 1 6 0
- D DSTIPE 7 7 0
- D DSNOPEN 8 22
- D acnox S 10 0
- D SAFMASACNO S 10 0
- D SAFMASBRCOD S 3 0
- D SAFMASPDID S 3 0
- D SAFTABBRCOD S 3 0
- D SAFTABPDID S 3 0
- ISACMAS
- I ACNO ACNOSAF
- I BLCUR BLCURSAF
- C *DTAARA DEFINE *LDA COMARA
- C IN COMARA
- C KTSPDPM1 KLIST
- C KFLD DTHNBLN
- C KFLD DNOREK
- C KFLD DNOPEN
- C KTSPDPM2 KLIST
- C KFLD DTHNBLN
- C KFLD DNOREK
- C KTSPPEN KLIST
- C KFLD PIDINDUK
- C KFLD PNOPEN
- C KTBFMSG KLIST
- C KFLD TBID
- C KFLD TBKEY
- C KKWJCR1 KLIST
- C KFLD CNOREK
- C KFLD CTIPE
- C* KFLD CNOPIN
- C* KKWJCR2 KLIST
- C* KFLD CTIPE
- C* KFLD CNOPIN
- C K002 KLIST
- C KFLD CNOPIN
- C KFLD THN
- C KFLD MM
- C KKWJCH1 KLIST
- C KFLD HNOREK
- C KFLD HTHNBLN
- C KFLD HRCSTA
- C KKWJCH2 KLIST
- C KFLD HNOREK
- C KFLD HTHNBLN
- C KKWJLOGK1 KLIST
- C KFLD LNOREK
- C KFLD LTHNBLN
- C KFLD LTIPE
- C KFLD LNOPEN
- C KKWJLOGK2 KLIST
- C KFLD LNOREK
- C KFLD LTHNBLN
- C KFLD LTIPE
- C KSAFTAB KLIST
- C KFLD ZPDID
- C KFLD ZBRCOD
- C KSAFTAB2 KLIST
- C KFLD SAFTABBRCOD
- C KFLD SAFTABPDID
- C KSAFMAS KLIST
- C KFLD SAFMASBRCOD
- C KFLD SAFMASPDID
- C KFLD SAFMASACNO
- *SALMIN
- C Z-ADD 0 SALMIN 13 0
- *INIT PARAMETER PAYROLL
- C Z-ADD 0 LTOTALGAJI 16 0
- C Z-ADD 0 LTOTALKWJ 16 0
- C Z-ADD 0 LBLKOTEN 16 0
- C Z-ADD 0 LANGSURAN 16 0
- *INIT PARAMETER BLOKIR
- C Z-ADD 0 ZACNO 10 0
- C MOVEL *BLANK ZKODE 10
- C Z-ADD 0 ZNOM 15 2
- C Z-ADD 0 ZTGLEFF 8 0
- C MOVE *BLANK ZTGLAKH 8 0
- C MOVEL *BLANK ZKET1 30
- C MOVEL *BLANK ZKET 30
- C MOVEL *BLANK ZINFO1 50
- C Z-ADD 0 ZRETVAL 1 0
- C MOVEL *BLANK ZRETMSG 30
- *-------------------------------------------------------------------*
- *MAIN PROGRAM
- *-------------------------------------------------------------------*
- C *ENTRY PLIST
- C PARM ZPERIODE 6 0
- C PARM ZIDINDUK 10 0
- C EVAL DSTGL =%CHAR(ZPERIODE)
- C Z-ADD 0 XNOMINAL 14 2
- C Z-ADD 0 ZNOMINAL 14 2
- C
- C ZIDINDUK CHAIN LXRTSPINDK 7373
- C IF *IN73 = '0' AND CRCSTAINDK = 1
- C Z-ADD CIDINDUK PIDINDUK
- C MOVEL '' PNOPEN
- C KTSPPEN SETLL LXRTSPPEN
- C ZIDINDUK READE LXRTSPPEN 7070
- C DOW NOT *IN70
- C Z-ADD 0 LTOTALGAJI
- C EXSR CEKDAPEM
- C Z-ADD 0 LTOTALKWJ
- C EXSR CEKSAFMAS
- C EXSR CEKSALMIN
- C EXSR GETKWJCR
- C EXSR GETKWJCH
- C EXSR GETKWJDR
- C IF DSTSOTN = 30
- C EXSR BLKOTEN
- C ENDIF
- C PIDINDUK READE LXRTSPPEN 7070
- C ENDDO
- C ENDIF
- C SETON LR
- C RETURN
- *-------------------------------------------------------------------*
- *SUB ROUTINE
- *-------------------------------------------------------------------*
- C CEKDAPEM BEGSR
- C Z-ADD PNOREK DNOREK
- C Z-ADD ZPERIODE DTHNBLN
- C MOVEL '' DNOPEN
- C KTSPDPM1 SETLL LXRTSPDPM
- C KTSPDPM2 READE LXRTSPDPM 7171
- C DOW NOT*IN71
- C Z-ADD 3460 TRIDT
- C Z-ADD CNOREKINDK ACNOT
- C Z-ADD DNOREK ACNOC
- C Z-ADD DNOMINAL AMTR
- C EVAL TRDES1 = 'TASPEN ' + %CHAR(DTHNBLN)
- C +' ' + DNOPEN
- C EXSR INITTRF
- C EXSR TRFGAJI
- C UPDATE LXRTSPDPM 74
- C KTSPDPM2 READE LXRTSPDPM 7171
- C ENDDO
- C ENDSR
- *INIT TRANSAKSI
- C INITTRF BEGSR
- C MOVE '44444444' PASSTR
- C Z-ADD 0 PCTLP
- C MOVE SYDT CQDATT
- C MOVE '0' PREQJ
- C Z-ADD UBU SGBUC
- C Z-ADD 0 SGIDC
- C Z-ADD UBU SGBUT
- C Z-ADD 0 SGIDT
- C Z-ADD 0 CCCODT
- C Z-ADD 0 CCCODC
- C OUT COMARA
- C ENDSR
- *CALL FEPMAIN DANA PENSIUN
- C TRFGAJI BEGSR
- C CALL 'FEPMAIN'
- C IN COMARA
- C RTNID COMP '0' 80
- C N80 CALL 'FEPMSGR4'
- C* IF *IN80
- C CALL 'FEPMSGR4'
- *SUKSES
- C IF TRST = 5
- C Z-ADD 1 DSTSBYR
- C ADD AMTR LTOTALGAJI
- C Z-ADD SYDT DTRNDAT
- C MOVEL BTCOD DTRNUID
- *PENDING
- C ELSEIF TRST = 2
- C Z-ADD 9 DSTSBYR
- C EVAL DKET = 'PENDING'
- *GAGAL
- C ELSE
- C Z-ADD 9 DSTSBYR
- C MOVEL 'MSG' TBID
- C EVAL TBKEY = %INT(RTNMSG)
- C KTBFMSG CHAIN MSGREC 7272
- C N72 EVAL DKET = TBDESC
- C 72 EVAL DKET = 'RTNMSG = ' + RTNMSG
- C ENDIF
- C* ENDIF
- *
- C TIME DTRNTIM
- C Z-ADD SYDT DTRNDAT
- C MOVEL UIDSGN DTRNUID
- C ENDSR
- *GET KEWAJIBAN CHANNELING
- C GETKWJCR BEGSR
- C Z-ADD PNOREK CNOREK
- C Z-ADD 2 CTIPE
- C KKWJCR1 SETLL LXRKWJCR
- C CNOREK READE LXRKWJCR 7676
- C DOW NOT*IN76 AND CTIPE = 2
- C IF CLPERIODE < ZPERIODE
- C Z-ADD CNOPIN NOPIN
- C Z-ADD DSYY THN
- C Z-ADD DSMM MM
- C
- C K002 CHAIN RSREC 7777
- C IF NOT *IN77
- C EVAL LANGSURAN = POKOK + BUNGA
- C ENDIF
- *CALL FEPMAIN
- C Z-ADD 4360 TRIDT
- C Z-ADD CNOREK ACNOT
- C Z-ADD CREKESC ACNOC
- C Z-ADD 0 XNOMINAL
- C Z-ADD 0 ZNOMINAL
- C Z-ADD 0 ZPDID 3 0
- C Z-ADD 0 ZBRCOD 3 0
- C
- C CNOREK CHAIN SACMAS 4343
- C IF *IN43 = '0'
- C Z-ADD BLCURSAF XNOMINAL
- C Z-ADD PDID ZPDID
- C Z-ADD BRCOD ZBRCOD
- C ENDIF
- C EXSR CEKSALMIN
- C EVAL ZNOMINAL = XNOMINAL - SALMIN - AMBLK
- C MOVEL *BLANK ZKET1
- C IF ZNOMINAL > 0
- C IF ZNOMINAL < LANGSURAN
- C Z-ADD ZNOMINAL AMTR
- C EVAL TRDES1 = 'SBG KWJ ' + %CHAR(DTHNBLN)
- C + ' ' + %CHAR(DNOREK)
- C EVAL ZKET1= 'OVERBOOK SEBAGIAN'
- C
- C ELSE
- C Z-ADD LANGSURAN AMTR
- C EVAL TRDES1 = 'KWJ ' + %CHAR(DTHNBLN)
- C + ' ' + %CHAR(DNOREK)
- C ENDIF
- C ENDIF
- C EXSR INITTRF
- C EXSR CALLFECR
- *END CALL FEPMAIN
- C* Z-ADD ZPERIODE HTHNBLN
- C UPDATE LXRKWJCR 91
- C ENDIF
- C CNOREK READE LXRKWJCR 7676
- C ENDDO
- C ENDSR
- *GET KEWAJIBAN CHANNELING MURNI
- C GETKWJCH BEGSR
- C Z-ADD PNOREK HNOREK
- C Z-ADD 0 HTHNBLN
- C Z-ADD 1 HRCSTA
- C* Z-ADD 1 HMITRA
- C KKWJCH1 SETLL LXRKWJCH
- C KKWJCH2 READE LXRKWJCH 7979
- C DOW NOT*IN79
- *CALL FEPMAIN
- C Z-ADD 4360 TRIDT
- C Z-ADD HNOREK ACNO
- C Z-ADD HNOREK ACNOT
- C Z-ADD HREKESC ACNOC
- C Z-ADD 0 ZBRCOD 3 0
- C Z-ADD 0 ZPDID 3 0
- C ACNO CHAIN SACMAS 4545
- C IF NOT *IN45
- C Z-ADD BLCURSAF XNOMINAL
- C Z-ADD PDID ZPDID
- C Z-ADD BRCOD ZBRCOD
- C ENDIF
- C EXSR CEKSALMIN
- C EVAL ZNOMINAL = XNOMINAL - SALMIN - AMBLK
- C MOVEL *BLANK ZKET1
- C IF ZNOMINAL > 0
- C IF ZNOMINAL < HNOMINAL
- C Z-ADD ZNOMINAL AMTR
- C EVAL TRDES1 = 'SBG ' + 'KWJ ' + %CHAR(DTHNBLN)
- C + ' ' + %CHAR(DNOREK)
- C EVAL ZKET1= 'OVERBOOK SEBAGIAN'
- C ELSE
- C Z-ADD HNOMINAL AMTR
- C EVAL TRDES1 = 'KWJ '+ %CHAR(DTHNBLN)
- C + ' ' + %CHAR(DNOREK)
- C ENDIF
- C ENDIF
- C EXSR INITTRF
- C EXSR CALLFECH
- C Z-ADD ZPERIODE HTHNBLN
- C UPDATE LXRKWJCH
- *END CALL FEPMAIN
- C KKWJCH2 READE LXRKWJCH 7979
- C ENDDO
- C ENDSR
- *BLOKIR OTENTIKASI
- C BLKOTEN BEGSR
- C Z-ADD ZPERIODE DSPERIODE
- C Z-ADD DJNSDPM DSTIPE
- C MOVEL DNOPEN DSNOPEN
- *
- C Z-ADD DNOREK ZACNO
- C MOVEL 'TSP' ZKODE
- C EVAL LBLKOTEN = LTOTALGAJI - LTOTALKWJ
- C IF LBLKOTEN <= 0
- C Z-ADD SALMIN ZNOM
- C ELSE
- C Z-ADD LBLKOTEN ZNOM
- C Z-ADD SYDT ZTGLEFF
- C MOVE 20500101 ZTGLAKH
- C MOVEL *BLANK ZKET
- C EVAL ZKET = 'BLOKIR SISA DANA PENSIUN '
- C + 'PERIODE ' + %CHAR(ZPERIODE)
- C EVAL ZINFO1 = DSBLINFO
- C Z-ADD 0 ZRETVAL
- C MOVEL *BLANK ZRETMSG
- *
- C CALL 'SAPBLKTAB'
- C PARM ZACNO
- C PARM ZKODE
- C PARM ZNOM
- C PARM ZTGLEFF
- C PARM ZTGLAKH
- C PARM ZKET
- C PARM ZINFO1
- C PARM ZRETVAL
- C PARM ZRETMSG
- C ENDIF
- C ENDSR
- *GET KEWAJIBAN DIRECT
- C GETKWJDR BEGSR
- C Z-ADD PNOREK LNOREK
- C Z-ADD ZPERIODE LTHNBLN
- C Z-ADD 1 LTIPE
- C Z-ADD 1 LMITRA
- C KKWJLOGK1 SETLL LXRKWJLOGK
- C KKWJLOGK2 READE LXRKWJLOGK 8181
- C DOW NOT*IN81
- C ADD LNOMINAL LTOTALKWJ
- C KKWJLOGK2 READE LXRKWJLOGK 8181
- C ENDDO
- C ENDSR
- *FEPMAIN KREDIT CHANNELLING
- C CALLFECR BEGSR
- C CALL 'FEPMAIN'
- C IN COMARA
- C RTNID COMP '0' 80
- C N80 CALL 'FEPMSGR4'
- *SUKSES
- C IF TRST = 5
- C Z-ADD ZPERIODE CLPERIODE
- C Z-ADD 1 LRCSTA
- C ADD AMTR LTOTALKWJ
- *PENDING
- C ELSEIF TRST = 2
- C Z-ADD 9 LRCSTA
- C EVAL LKET = 'PENDING'
- *GAGAL
- C ELSE
- C Z-ADD 9 LRCSTA
- C MOVEL 'MSG' TBID
- C EVAL TBKEY = %INT(RTNMSG)
- C KTBFMSG CHAIN MSGREC 7272
- C N72 EVAL LKET = TBDESC
- C 72 EVAL LKET = 'RTNMSG = ' + RTNMSG
- C ENDIF
- *
- C* IF LRCSTA = 1 OR LRCSTA = 9
- C MOVEL CNOPEN LNOPEN
- C Z-ADD CNOPIN LNOPIN
- C Z-ADD CNOREK LNOREK
- C MOVEL DNAMA LNAMA
- C Z-ADD ZPERIODE LTHNBLN
- C Z-ADD AMTR LNOMINAL
- C Z-ADD CTIPE LTIPE
- C Z-ADD CREKESC LREKESC
- C Z-ADD CMITRA LMITRA
- C Z-ADD 0 LCHNKE
- C TIME LINPTIM
- C Z-ADD SYDT LINPDAT
- C MOVEL UIDSGN LINPUID
- C MOVEL ZKET1 LKET
- C WRITE LXRKWJLOGK 78
- C* ENDIF
- C ENDSR
- *FEPMAIN KREDIT CHANNELLING MURNI
- C CALLFECH BEGSR
- C CALL 'FEPMAIN'
- C IN COMARA
- C RTNID COMP '0' 80
- C N80 CALL 'FEPMSGR4'
- *SUKSES
- C IF TRST = 5
- C Z-ADD 1 LRCSTA
- C ADD AMTR LTOTALKWJ
- *PENDING
- C ELSEIF TRST = 2
- C Z-ADD 9 LRCSTA
- C EVAL LKET = 'PENDING'
- *GAGAL
- C ELSE
- C Z-ADD 9 LRCSTA
- C MOVEL 'MSG' TBID
- C EVAL TBKEY = %INT(RTNMSG)
- C KTBFMSG CHAIN MSGREC 7272
- C N72 EVAL LKET = TBDESC
- C 72 EVAL LKET = 'RTNMSG = ' + RTNMSG
- C ENDIF
- C* IF LRCSTA = 1 OR LRCSTA = 9
- *
- C MOVEL HNOPEN LNOPEN
- C Z-ADD 0 LNOPIN
- C Z-ADD HNOREK LNOREK
- C MOVEL DNAMA LNAMA
- C Z-ADD ZPERIODE LTHNBLN
- C Z-ADD AMTR LNOMINAL
- C Z-ADD 3 LTIPE
- C Z-ADD HREKESC LREKESC
- C Z-ADD HCHNKE LCHNKE
- C Z-ADD HMITRA LMITRA
- C TIME LINPTIM
- C Z-ADD SYDT LINPDAT
- C MOVEL UIDSGN LINPUID
- C MOVEL ZKET1 LKET
- C WRITE LXRKWJLOGK 78
- C* ENDIF
- C ENDSR
- *CEK SAFMAS
- C CEKSAFMAS BEGSR
- C Z-ADD ACNOC SAFMASACNO
- C SAFMASACNO CHAIN SACMAS 9090
- C IF NOT *IN90
- C Z-ADD BRCOD SAFMASBRCOD
- C Z-ADD PDID SAFMASPDID
- C ENDIF
- C ENDSR
- *CEK SALDO MINIMAL
- C CEKSALMIN BEGSR
- C Z-ADD SAFMASBRCOD SAFTABBRCOD
- C Z-ADD SAFMASPDID SAFTABPDID
- C KSAFTAB2 CHAIN SACTAB 9595
- C IF NOT*IN95
- C Z-ADD MINBAL SALMIN
- C ELSE
- C Z-ADD 0 SALMIN
- C ENDIF
- C ENDSR
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement