Credit Limit for Customer in SAP SD post will detail all the important Data for Credit calculation for Customer in SAP SD .
It includes determination of credit control area, Calculation of Credit horizon date, and determination of Credit Exposure in SAP SD.
Table of Contents
Retriving Credit control area
Credit Control Area can be retrieve from the Company code.
The Value of Credit Control Area ( KKBER ) is stored in SAP Table T001-KKBER.
Here a sample ABAP Program to retrieve Credit Control Area for a SAP company code based on Sales Organisation:
" SAP CUSTOMER CREDIT AREA CONTROL SELECT SINGLE t001~kkber tvko~waers INTO (lv_kkber, lv_waers_comp) FROM tvko AS tvko INNER JOIN t001 AS t001 ON tvko~bukrs = t001~bukrs WHERE tvko~vkorg = IV_VKORG.
Retrieving Risk Category for customer
The Risk Category classifies Customer on Credit risk exposure.
Technically it is stored in SAP Table KNKK Customer master credit management: Control area data
and the field CTLPC : Credit management: Risk category. This information is set by Risk Control Area
The field KNKK-CASHD Date of Last Payment is also a relevant field when dealing with Credit Limit.
Here a sample ABAP program code to retrieve Risk Category for SAP SD Customer:
" Retriving Risk Category for Customer in SAP SD SELECT SINGLE ctlpc cashd INTO (lv_ctlpc, lv_cashd) FROM knkk WHERE kunnr = IV_KUNNR AND kkber = l_kkber. " Get Currency of Risk Category SELECT SINGLE waers INTO lv_waers FROM t014 WHERE kkber = lv_kkber.
SAP SD Credit Horizon Date
In order to understand the calculation of SD credit Horizon Date check this OSS note 379007. This note explains the mechanism of horizon date calculation.
The SD Credit Horizon Date can be calculated with the following standard Function Module SD_CREDIT_HORIZON_DATE.
Here a sample ABAP Programs to retrieve this information:
" Calculate Credit Horizon Date ( Credit limit ) CALL FUNCTION 'SD_CREDIT_HORIZON_DATE' EXPORTING i_kkber = lv_kkber i_ctlpc = lv_ctlpc i_horizon_exist = 'X' IMPORTING e_horizon_date = lv_horda. " If no Credit Horizon Date found, set it to max date IF lv_horda IS INITIAL. lv_horda = '99991231'. ENDIF.
This SCN Wiki page details the mechanism of Credit Horizon Date calculation. It is well written and step by step detailed.
SAP SD Customer Credit Exposure
SD Credit Exposure is the sum of Open Delivery, Open Invoice + Open Order.
The different values can be retrieve using the standard function module SD_CREDIT_EXPOSURE.
A sample ABAP Code to retrieve the Credit Exposure in order to calculate Credit Limit for a SAP Customer in SAP SD will be:
(check above how to retrieve Horizon Date HORDA and Credit Area Control KKBER )
" SD_CREDIT_EXPOSURE For SAP Customer CALL FUNCTION 'SD_CREDIT_EXPOSURE' EXPORTING flag_open_delivery = 'X' flag_open_invoice = 'X' flag_open_order = 'X' horizon_date = lv_horda kkber = lv_kkber knkli = IV_KUNNR IMPORTING open_delivery = lv_open_deliv open_invoice = lv_open_inv open_order = lv_open_ord. " Credit Exposure is the sum of Open Delivery, Open Invoice + Open Order LV_CREDIT_EXPOSURE = lv_open_deliv + lv_open_inv + lv_open_ord.
Credit Limit for SD Customer
The credit limit for SD Customer is set on SAP tcode/ Transaction FD32/FD33.
The corresponding field is KLIMK Customer’s credit limit in the table KNKK containing Customer master credit management: Control area data
The keys to retrieve Customer Credit Limit in SAP SD ( KNKK-KLIMK) are :
- KNKK-KUNNR : Customer Number
- KNKK-KKBER : Credit control area