Skip to Content
Technical Articles

Bank Cash Credit Limitation in SAP FICO

Introduction:

In this Blog post would like to share one way of the approach to achieve Bank Cash Credit limitation in SAP ECC.

Requirement:

If a industry is having CC account with various Banks, and having Separate GL account of each House Bank, and this requirement is in SAP ECC system. To Tracks the limit utilization / sanction CC Limit.

Proposed Solution:

Though there are multiple ways to approach this requirement, would like to share a solution through FI Substitutions/Validations.

Steps to be followed :

Go-through the General Steps to setup GGB1.

Setting up FI Substitution assigning User Exit

Create a new Step under Substitution as Bank CC limit – Not allowing Negative Value.

Tag U100 Exits for specified prerequisite

BKPF-BUKRS = 'XXXX' AND ( SYST-TCODE = 'F-53' OR
 SYST-TCODE = 'F-58' OR SYST-TCODE = 'F110' OR
 SYST-TCODE = 'FBCJ' OR SYST-TCODE = 'FB50' OR
 SYST-TCODE = 'FB01' )

along with this steps suggested to create a ZTABLE which stores value of given fields list. This can be given t the finance controller of a

| GL ACCOUNT                 |  GL Value Limit   | From Date     |  To DATE    | Main Grp | Sub Grp |

Main Group and Sub Group is created to get consolidated balances of House Banks with grouping logic.

Open program ZRGGBS000 and create a perform with respective FORM name for exit U100.

Tables used to get the Bank account relationship are SKA1, T042IY, T012, T028B Etc,.

and use BAPI_GL_GETGLACCPERIODBALANCES to get the balance of Bank GL.

Sample code attached for reference..

 IF bseg-shkzg EQ 'H'.
    IF bseg-hkont IS NOT  INITIAL.
      bb_hkont = bseg-hkont.
      bb1_hkont = bseg-hkont.

      CALL FUNCTION 'GET_CURRENT_YEAR'
        EXPORTING
          bukrs = 'XXXX'
          date  = bkpf-bldat
        IMPORTING
*         CURRM =
          curry = bb_gjahr
*         PREVM =
*         PREVY =
        .


SHIFT bb1_hkont LEFT DELETING LEADING '0'.
      SELECT SINGLE zdesc FROM zfiparam INTO lv_zdesc WHERE zparameter1 = bb1_hkont.
      IF sy-subrc EQ 0.
        SELECT * FROM zfiparam INTO TABLE it_zfiparam WHERE zdesc EQ lv_zdesc.

        IF sy-subrc EQ 0.

          SELECT SINGLE zdesc1 FROM zfiparam INTO lv_zdesc1 WHERE zparameter1 = bb1_hkont.
          DELETE it_zfiparam WHERE zdesc1 NE lv_zdesc1.


          LOOP AT it_zfiparam INTO wa_zfiparam.
*          IF open_balold IS INITIAL.
            temp = wa_zfiparam-zparameter2.
            open_balold = open_balold + temp.
            CLEAR temp.
*          ENDIF.
          ENDLOOP.
        ENDIF.
      ENDIF.

 IF it_zfiparam IS NOT INITIAL.
        LOOP AT it_zfiparam INTO   wa_zfiparam.

            * Use tables like ska1, t042iy, t012, t028b etc., and get link accounts.
             * get balances using following FM summ it up inside loop.

      CALL FUNCTION 'BAPI_GL_GETGLACCPERIODBALANCES'
                EXPORTING
                  companycode      = bkpf-bukrs
                  glacct           = bb_hkont
                  fiscalyear       = bb_gjahr
                  currencytype     = '10'
* IMPORTING
*                 BALANCE_CARRIED_FORWARD       =
*                 RETURN           =
                TABLES
                  account_balances = bb_open_bal.

             open_bal = open_bal + open_balcur.

        endloop.

  IF lvaban = 'X'.
      IF ( open_bal + open_balold - bseg-dmbtr ) LT 0.
        MESSAGE e398(00) WITH 'BALANCE IN THE ACCOUNT IS NOT AVAILABLE FOR THIS PAYMENT' space.
      ENDIF.
   ENDIF.

  ENDIF.


 

Conclusion :

Through this approach the Cash credit limitation for any number of House banks or linked accounts can be addressed. Please revert in comment for any queries.

 

Regards,

Abinath Sivasankaran

Be the first to leave a comment
You must be Logged on to comment or reply to a post.