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.