Format-specific structure in DMEE
Here is another article on DMEE functionality, which I hope might be of interest for you.
SAP provided quite sophisticated mapping options mechanism that allows you to populate nodes in DMEE tree with necessary values flexibly. Just to recap, you can use the following options:
- Constant values;
- References to fields in standard structure (e.g. FPAYH, FPAYHX, FPAYP for payment medium purposes) as well as to fields in format-specific structures;
- References to existing tree nodes;
- User exits;
- Own mapping.
Apart from these mapping options, you can also use conditions technique to customize display of certain nodes depending on certain conditions. Besides, SAP provided another option called format specific structure that can be used to enhance the flexibility of tree customizing even more.
Let’s consider the use case. Imagine that for a typical payment order you need to output the following information about the payee: company name, address details etc. Seemingly simple requirement becomes more complicated when you should display this information in local language for domestic payments, but in English for foreign payments. This requirement can be met by several options e.g.:
- Configuring duplicate nodes for each element of payment medium (one storing value in local language, another – in English) and applying conditions technique to make their display dependable on some technical (language) key. Main drawback of this solution is that you should maintain a lot of duplicate nodes.
- Developing user exit for each node that will automatically detect which address version to retrieve and populate a node of tree with correct value. This option is a bit more efficient, but you would have to develop separate user exit for each node of tree.
However, it seems that usage of format-specific structure will be more efficient solution. Format-specific structure is a customer-defined structure that is assigned to payment medium and can be used as a source of additional data primarily for those requisites that belong to a header part of payment medium. Before proceeding to customizing of DMEE tree, you should decide which fields you might need and create this structure in ABAP dictionary (transaction code SE11). Example of such a structure can be found below:
Once the structure is activated, you should assign this structure to tree in transaction DMEE. Assignment can be done on “Format attributes” tab of DMEE tree properties.
Once the structure is assigned to DMEE tree, you should be able to see overview of structure fields beneath DMEE tree (under node “Source fields for format-specific structure”).
Choose option “Structure field” under mapping procedure options for a node, go to Source tab and indicate structure name / field name to use an element.
Note, at this moment you can do the assignment, but at the runtime of payment program the structure itself would be empty. Essentially there are two options to populate the structure with values:
- Development: to develop user exit that would be triggered when new payment medium file is created and will populate the structure with necessary values;
- Customizing: to link the structure to payment medium and save the values in program selection screen variant.
The first option is more complicated and deserves to be considered in a separate post on enhancements in APP. This post will cover only the second option.
As a first step in customizing, you should link the same structure to payment medium format. You can do that in transaction OBPM1 or by the following menu path:
SPRO → Financial Accounting (New) → Accounts Receivable and Accounts Payable → Business Transactions → Outgoing Payments → Automatic Outgoing Payments → Payment Proposal Processing → Payment Media → Make Settings for Payment Medium Formats from Payment Medium Workbench.
Format-specific structure should be indicated in field “Struct. for format parameters”:
You can also mark some of the fields of the structure as required fields. Navigate to tab “Format Parameter Required” and add structure fields which should be mandatory to the table. This part of menu provides search helps that enable you to choose only among fields of the structure assigned to payment medium format.
Once the structure is assigned to payment medium format, you should maintain selection screen variant for payment medium creation program in transaction FBPM. When you indicate payment medium format with format-specific structure, a new button “Format Parameters” will be displayed. Upon click on this button new window will pop-up enabling you to fill in values on selection screen fields and save them into the variant (e.g. UA_IBIS_DEF). Example of selection screen can be found below. Please note that fields Name and Name 2 are display as required entry fields in accordance with format specific settings.
Afterwards, please make sure that this variant is assigned to combination of company code / house bank in transaction OBPM4 or by the following menu path:
SPRO → Financial Accounting (New) → Accounts Receivable and Accounts Payable → Business Transactions → Outgoing Payments → Automatic Outgoing Payments → Payment Proposal Processing → Payment Media → Create / Assign Selection Variants.
An important feature of payment medium format is that it can be re-used across different company codes / house banks. Thus, you can customize the PMW format and its tree centrally, but maintain the values of format specific structures differently per company code / house bank (depending on the settings of details’ levels of PWM format in OBPM1).
Example of resulting payment order layout can be found below:
If you want to experiment with format-specific structures, you can search for existing structures delivered by SAP. You can go to SE11 and search for data structures starting with FPM* (at least a lot of standard structures begin with this prefix e.g. FPM_CH_LSV, FPM_CH_DTA, FPM_SEPA_IE etc). Apart from these, there are other potentially useful standard structures that can be re-used. For instance, you might consider using structure FIPL_S_FRMTS_DMEE that was originally delivered for EC Sales List for Poland.
When you work with the tree / payment medium that was provided by SAP, format-specific structure might already be assigned. That’s why the structure, which is assigned to payment medium format in OBPM1 is considered as SAP structure. However, you still have the option to customize another structure in addition to predefined one. This structure can be assigned to payment medium format in transaction OBPM3 or by the following menu path:
SPRO → Financial Accounting (New) → Accounts Receivable and Accounts Payable → Business Transactions → Outgoing Payments → Automatic Outgoing Payments → Payment Proposal Processing → Payment Media → Adjust Payment Medium Formats.
As you can see from the picture above, additional customer specific structure (i.e. FPM_CH_LSV) has been specified as “Customer structure”. For this structure, you can also configure required fields by navigating to menu “Format Parameter Required”. Afterwards, the selection screen in transaction FBPM will be extended and will include fields from both structures.
Please note, you still can use fields from customer-specific structure in mapping for DMEE tree, however you wouldn’t be able to see this structure in DMEE.
I hope you will find this post useful! Your suggestions and comments are welcome! You can also find this post on Medium platform via the following link.
All sensitive information (bank accounts, company names etc.) used in this example is invented by my own. If there is some coincidence with real-life companies, it is a purely accidental one. The structure of the DMEE tree represents a real-life example although I modified it for the purposes of this blog post.
Good one... can the structure also get values dynamically based on the the PAYMENT RUN, OR it is used only if values are hardcoded in its fields
Both options are available and btw. both were mentioned in the post:) Please refer to the part, where I discuss options on how to populate the fields of the structure (development vs. customizing). I'm planning to post another couple of articles related to DMEE-topics, so I hope soon I should be able to describe development option as well.
excellent~~thanks a lot.
Newbie to PMW, now I know how powerful PMW is!
Thanks for your feedback!:)
Very Good post. I have a query, Can SAP & Customer specific structure field values be populated from screen variant only? or Is it possible to make it dynamic ?
It is possible to populate them dynamically (I've mentioned that in post and in comments section above). I still have to finalize all details and once I'll be ready I'll post another document describing the details.
It is a great document and Thanks for Sharing.
I have one issue currently:- there is a DME file getting generated for ANZ bank,NZ. issue is in production the file is concatenating the last digit of the bank account number in the file, when I checked in dev sytem it is giving correct length. My bank key is of 6 digit in tree and account number is 11 digit. in production file it is showing as 16 digit both together. Not getting why is this concatenating or based on what config it would be doing.