Features are one of the ways in which SAP turns structured logic into something configurable. Typically, features use enterprise personnel fields (such as those from IT0001) to determine a default value. There are times, however, when the standard feature is not enough to meet your business requirements. This can happen if your business logic requires fields which are not available in the feature, or if your business logic is complex enough or long enough that it does not fit in , or becomes too confusing to work with, the feature. Fortunately, SAP provides ways to get the default values you need. We’ll take a quick look at the second scenario, where SAP allows you to call an ABAP program to accommodate your logic.
To illustrate, we will use the feature DTAKT as an example. DTAKT is used to default the sending house bank, sending account number, and optionally, the paying company code, for bank transfers. As delivered, it has the following fields available:
As you can see, there are several fields available, and it’s possible that you need several of those fields to determine house bank/account. Let’s say you attempted to use organizational key and cost center, among other fields:
You would receive this error message:
because the length of the field values of decision operation fields located in a path of the hierarchy tree, with one byte of space to separate one field from the next, is greater than 18 bytes.
To get around this, you can make use of the Program node type. What happens with the program node is that the feature passes all the data in the standard structure over to the program, and the program’s ABAP logic will pass back a return value.
In the feature configuration, create a new node with node type Program:
In tree maintenance, this looks like:
Over in ABAP development, you will create a program subroutine pool which contains ABAP logic and follows several rules.
With field return, the subroutine must be named EXT_CALL_F; with table return, the subroutine must be called EXT_CALL_T.
The ABAP framework for field return looks like this:
FORM ext_call_f USING namen back status struc STRUCTURE struc.
**ABAP LOGIC to assign BACK and STATUS.
For table return, use
FORM ext_call_t TABLES back_tab USING namen status struc STRUCTURE struc.
NAMEN = name of the feature
BACK / BACK_TAB = the return value (field or table) which is passed back to the feature
STATUS = 0 is the default and means that a return value has been assigned.
STATUS = 2 is an error condition. No return value was assigned.
STRUC = the feature structure
In our example:
FORM ext_call_f USING namen back status pme11 STRUCTURE pme11.
** use org key and cost center
IF pme11-vdsk1 = ‘00004850000936’ AND pme11-kostl = ‘0000503525’.
BACK = ‘BOA01/ACCT1/0001’.
STATUS = 0.
ELSEIF pme11-vdsk1 = ‘00004850000936’ AND pme11-kostl = ‘0000503600’.
BACK = ‘BOA01/ACCT2/0001’.
STATUS = 0.
STATUS = 2. “error
This is just one of the ways to make features work for you.
ABOUT HR FOCAL POINT
- When time, accuracy and high-quality support are essential, HR Focal Point's precision approach to SAP HCM solutions is the clear choice.
- HR Focal Point has been the SAP HCM expert since 2004 with hundreds of years of combined consulting experience its team.
- HR Focal Point has the SAP HCM experts that will allow you to achieve your goals on time, on point and on budget, thus maximizing your ROI.
- HR Focal Point offers a flexible engagement model so you only pay for the services you require, when you require them.
- As an SAP Services Partner, HR Focal Point is known for delivering high-quality solutions, in support of SAP HCM, that are completed accurately and on schedule.
- HR Focal Point has partnered with SuccessFactors to develop and deliver innovative Cloud solutions, including Employee Central Payroll, for their clients.
FOR MORE INFORMATION
HR Focal Point
Telephone: +1 855.464.4737