Black and White lists at SAP FSCM
SAP FSCM provides some standard objects related to blacklist/whitelist which list as below:
- TCODE: UKM_BLACK_WHITE
- TABLE: UKM_B_W_LIST
- CLASS: CL_UKM_FORMULA_FUNCTIONS
- BADI: UKM_BLACKWHITE_LIST
But looks like blacklist and whitelist are mainly for Credit Scoring not for Credit check steps. And I find no result from the where-used list for those objects within SAP_FIN/release 617 and FSCM_CCD/release 617.
Black and White lists for FSCM Credit check processing
This is our requirement:
- For BP which is on White List in UKM_BLACK_WHITE – all orders creation would always pass credit check even it can't pass any other credit check steps. Credit check logs required.
- For BP which is on Black List in UKM_BLACK_WHITE – order could be created but would always credit failed even it can pass any other credit check steps. Credit check logs required.
SAP provides the standard check steps like 010, 020, 030, etc, for various checks from different dimensions, and of course, you may have customized steps at the definitions of BADI: UKM_CHECK_STEP.
The key points to control the check steps process is two parameters: value C_PASSED and table CT_RESULTS.
- C_PASSED is default as 'X' from a global level, and each check step is like the local level. Any check step clears this C_PASSED will lead to the final credit check failed.
- Every check step will be verified separately by system as different check rule will use a customized combination of check steps(and no rule for that for sure). If C_PASSED is not 'X' for anyone of check steps used during the credit check process then the final result of the credit check will be failed.
- CT_RESULTS is the table to append messages which will be displayed as logs of credit check, which must be adjusted as we need to let the user know what's happened during the credit check.
For BP at the WHITE list
- Add BP checks logic for EVERY CHECK STEPS include all standard(access key required~) and customized steps;
- Don't clear C_PASSED instead we give an extra warning message explain why credit check can pass with failed credit check steps
- Call method cl_ukm_credit_checker=>add_reason which append to CT_RESULTS.

For BP at the BLACK list
- Add BP checks logic for just ONE CHECK STEP for example step 500( which Show Credit Analyst ) will be executed for all credit check steps. As any check step clear C_PASSED will lead to final credit check failed.
- Clear C_PASSED and we give an extra Error message explain why the credit check is failed even all credit check steps are good.
- Call method cl_ukm_credit_checker=>add_reason which append to CT_RESULTS.

Conclusion
By using BADI implementation UKM_CHECK_STEP for check steps separately, we can make black/white list working at the credit check process and leave credit check logs clearly. (You may find one drawback for white list BP at credit check logs, we have to display those Warning messages per check step when multiplying check steps involved. Just come out if we check contents of CHECK_STEP if already exists before append, maybe we can skip those duplicated Warning.)
Maybe SAP provides other solutions for these functions, but at least we can fulfill our requirement by this approach with no much effort. Hope it'll help if someone encounters the same task as me.
Please let me know if exists any other better approach to achieve the same. Thanks.