DMEE Configuration:Step By Step Part 1
Hi All,
This is my First Document in the Forum and hope this will be helpful for all.
I have searched in Forum but I did not get any Document on DMEE where Step By Step Configuration is Given.
Any Suggestion and Critics are always Welcome as this will help me to improve.
Introduction:
DME stands for Data Medium Exchange
A data medium exchange (DME) is a data exchange file which is used to send payment information of an enterprise to banks or tax authority. Basically these files contain financial data which can be in flat file or xml file format. Different File formats can be created for different countries and different banks based on their own norm which replaces conventional ABAP programs.
DMEE Configuration:Step By Step.
Create Payment Medium Formats (OBPM1) Accounts Receivable and Accounts Payable ® Business Transactions ® Outgoing Payments ® Automatic Outgoing Payments ® Payment Media ® Make Settings for Payment Medium Formats from Payment Medium Workbench ® Create Payment Medium Formats
Select New Entries
Format : Z_IDES
Description : Z_IDES
Payment medium without docs. : Select
Type : 01 File
Country : IN
Mapping using DME engine : Select
Company Code : Select
House Bank : Select
Save!
Create a new format with the same name as your DMEE format tree. Choose the format output Payment medium without docs., and type File. Under Program control, set the Mapping using DME engine indicator. Once this indicator is set, the DME engine button appears, which allows you to access the DMEE format tree directly.
Under Format information, specify your country. You can also write documentation for your PMW format by choosing the field help for the Documentation module field. From there, choose Proceed, and a document maintenance screen appears. Select document class General text, enter a name for the text, and create the documentation. Lastly, enter the name of this text in the PMW format in the Documentation module field.
DME Engine: Initial Screen (DMEE):
Select Active Version and press Copy.
Click on Change.
Click on DMEE tree:Properties
Here you need to give the format attributes for your DMEE output File.
Please see the screen shot Below.
In the Field type you have two options 1 or 2
I have taken 1,Fields are separated by Delimiter.
In Delimiter Section I have taken | but you can use comma,semi colon or anything.
Delimiter separates the items in DMEE file by the input provided by you.
After this click on Sort/Key Fields.
Sort key Fileds controls the output of line in DMEE.It actually controls the levels of DMEE.
Please see the Screen Shot below.
Header data should appear only once, so a value like the payment run identifier (FPAYH-LAUFD) is the same for the entire payment run and file created. Next level is usually the single payment (FPAYH-LFDNR), so the DMEE creates a new line for every payment. Alternatively and based on the requirements, this could be done also per vendor. Lowest level is usually the invoice references, as you can group several vendor invoices in a single payment.
After This Goto File Data where you need to tick on Carriage return and Line Feed.
The tick on Carriage return and Line feed is for creatin new line after the finish of Header Part.
Carriage Return is used for creating new line in word or PDF formart and Line Feed is used for creating new line in XML format.
Please refer Screen Shot Given Below.
In Header Part you need to define the Level and the type of output you want..
Screen shot is attached for the same.
The tick on Carriage return and Line feed is for creatin new line after the finish of Header Part.
Carriage Return is used for creating new line in word or PDF formart and Line Feed is used for creating new line in txt Format.
Add the fields to Header and Details as per the requirement and then save.
Now will show step by step for every Header and payment Details configured here.
- P.S:Requirement may vary according to Client and Bank.
In Header Part I have made it Constant which you need to choose in Attributes tab of DMEE.
Give name(as I have given Header),Give Length and choose character as shown in Screen Shot Below.
Go to Source Tab and write what you want to get in the output as shown in screen shot below.
The Next is Corporate ID,This is nothing but the paying Co code.
Give Name,Length and Type.
Please select Structure Field(I have taken Structure Field because it can be fetched from the Tables and Field,Some data are there which you can fetch from tables so either you have to make it constant or you have to use Exit Module).
Click on Source Tab.
You will find Field name,You can choose Field name according to your requirement.
Here I have taken FPAYH-ZBUKR as shown in screen shot below.
Now We will configure the payment details.
As I have copied the standard structure where Segment group and Elements were already there but you can definitely create segment group,segment and elements according to the requirement.
In my Configuration the first is payment type(Means the payment is NEFT or RTGS)
For this you can not use constant or structure field,here you need to use Exit Module and you need the help of ABAPER to write a logic(The logic here is that if the amount is less than or equal to rs 200000 then NEFT else RTGS).
Now click on the Source Tab and one need to provide structure and Field name(though we are using Exit Module but we need to provide Structure and Field name so that the data can be populated in the Structure and field given and system populates the data in DMEE file through this Structure and Field)
I have Used FPAYH-FORMZ,.
Please refer the screen shot Below.
The Exit Function “ZDMEE_EXIT_TEMPLATE_ABA” is done by ABAPER and you need to assign this Exit Function as shown in Screen Shot Above.
I am giving the code as well which is done by ABAPER and it works according to NODE ID.
The Coding is as follows:
CASE i_extension–node–node_id.
WHEN ‘N_8559886880’ .
IF l_item–fpayp–dmbtr LT 200000.
l_item–fpayh–formz = ‘NEFT’.
o_value = l_item–fpayh–formz.
c_value = l_item–fpayh–formz.
ELSE.
l_item–fpayh–formz = ‘RTGS’.
o_value = l_item–fpayh–formz.
c_value = l_item–fpayh–formz.
ENDIF.
Now click on Payee IFSC Code and Configure as given in the screen shot below.
PS:Please maintain the IFSC code of Payee bank in Control Data Tab in SWIFT column in House bank .
Click on Payee Bank Number and Configure According to Screen Shot.
Click on Receivers IFSC Code and configure as shown in Screen Shot Below.
I have used Exit Module here as well and the coding is as follows:
WHEN ‘N_9336226660’ . “ifsc code
CLEAR: l_lifnr,l_bkref.
l_lifnr = l_item–fpayp–gpa2r.
SELECT SINGLE bkref FROM lfbk INTO l_bkref WHERE lifnr = l_lifnr.
l_item–fpayh–bkref = l_bkref . ” L_ITEM-FPAYH-EIKTO. ” L_BKREF.
o_value = l_item–fpayh–bkref.
c_value = l_item–fpayh–bkref.
Now in Vendor Master Data You need to maintain IFSC code in Reference Details Field as shown in Screen Shot Below.
Now Click on Beneficiary Account No and configure as shown in Screen Shot Below.
Here also I have used Exit Module and the Coding is as follows:
WHEN ‘N_3908411670’. “account no
CLEAR: l_lifnr,l_bankn.
l_lifnr = l_item–fpayp–gpa2r.
SELECT SINGLE bankn FROM lfbk INTO l_bankn WHERE lifnr = l_lifnr .” L_ITEM-FPAYH-EIKTO.
l_item–fpayh–zbnkn = l_bankn.
o_value = l_item–fpayh–zbnkn.
c_value = l_item–fpayh–zbnkn.
Maintain bank account in vendor master in Bank account Column as Shown in Screen Shot Below.
Now Click on Transaction Currency and configure as shown below.
Now Click on Amount and configure as Shown in Screen Shot.
Click on Name of Payee(Vendor) and configure as shown in Screen Shot Below.
Click on Vendor Email Id and Configure as shown in Screen Shot Below.
Here also I have used Exit Module.
Coding is as follows:
WHEN ‘N_9785488450’. ” Vendor Email ID
CLEAR: l_lifnr,l_adrnr,l_emailid.
l_lifnr = l_item–fpayp–gpa2r.
SELECT SINGLE adrnr FROM lfa1 INTO l_adrnr WHERE lifnr = l_lifnr .
IF sy–subrc IS INITIAL.
SELECT SINGLE smtp_addr FROM adr6 INTO l_emailid WHERE ADDRNUMBER = l_adrnr.
ENDIF.
l_item–fpayh–INTAD = l_emailid.
o_value = l_item–fpayh–INTAD.
c_value = l_item–fpayh–INTAD.
WHEN OTHERS.
ENDCASE.
Click on User Mobile No(Vendor) and Configure as shown in Screen Shot.
Settings in Bank Customization (FBZP):
a) Payment Methods in Country: Create Pymt. Method ‘E’ for country ‘IN’. Define the Currency.
In Payment Medium,Put Z_IDES in Format Column.
b) Bank Determination: For Paying Company Code ‘1000’, select Ranking Order.
Create New Entries for “E”
c) Bank Accounts
Create Bank Account for 1000.
Due to limitations of screenshots (Up to 20 in one Document) rest of the Configuration is in
DMEE Configuration:Step By Step Part 2
Please Follow the link for the same.
http://scn.sap.com/docs/DOC-65031
Hope this will be helpful for all.
Any Suggestions or Critics will be highly appreciated as this will help me to Improve in Future.
Regards
Eugene
Hi
Thanks for Sharing the above document.. it contains useful information ..
you may add a brief description of the DMEE process and what is used for in the beginning of the document , this would be great..
Regards
Mahmoud El Nady
Hi Mahmoud,
Thanks for encouraging words and suggestion.
I would definitely Edit and give a brief about DMEE
Thanks again.
Regards
Eugene
I have a Defect in the current DMEE that is running in the system, and my ABAP is out of commission.
Any chance you can give me an idea how to fix it?
Hi Ranu,
Keep up your good work.
I know many of the consultants still struggling to know the details of PMW structure details. This would be a good knowledge sharing for the SCN Finance Community.
Best Regards,
Ravi
hey Ravi, your lsmw doc was awesome. if possible can you create a document on how to upload g/l master data through standard batch direct input RFBISA00 program.Thanks.
Hi Sam,
You may please refer to the post of Naimesh Patel
LSMW with RFBIBL00
I know this is for posting a journal, but, this is based on the program. You could be easily able to correlate the same.
Hi Ravi,
Thanks a lot for your encouraging words.
Your comment on my post means a lot to me and many of the consultants like me because you are inspiration to many of them in the community.
Regards
Eugene
Ranu Eugene,
Wow !!!!!!! This is being amazing. I have being waiting for this for a long time. Light at the end of the tunnel.
Excellent . Keep up the good work.
Hi Sam,
Thanks a lot for such a wonderful comment.
Regards
Eugene
Hi Ranu,
Thanks for sharing a wonderful document.
Regards,
Mohammed Kalim
Hi Mohammed,
Thanks for you encouraging words.
Regards
Eugene
Hi Eugene,
Thank you for sharing knowledge. If is very useful to understand PMW and DME process for all the countries.
Regards,
Prasad
Hi Prasad,
Thanks for you appreciation.
Regards
Eugene
Eugene, thank you for sharing this! I had to implement DMEE few years ago and all the posts I found were just "oh, it's very easy!". It actually is pretty easy, but only after you've done all the steps. When I was starting, I had no clue what I was getting into (oh, and figuring out that DME name has to be the same - took me at least few hours, it is not intuitive at all). Actually I thought about posting a similar document, but glad you beat me to it because it's a lot of work!
Just a couple of improvements I'd suggest:
- Make sure to spell check the text and use the correct capitalization ("screenshot" is one word usually written in lower case). Take a look at this document as an example of good professional formatting on SCN.
- It would be great if you could reduce the screenshots to show only the relevant part instead of the whole screen. Especially the first ones are very difficult to see clearly. You could use either Paint or Snagit for that. But I understand that fixing images in a blog is major pain on SCN.
One additional comment - for the user functions SAP provides a template FM DMEE_EXIT_TEMPLATE_ABA that needs to be copied because it has all the right parameters in it. There is also documentation available for that function.
Thanks again, great job!
Hi Jelena,
Thanks a lot for your encouraging words.
Thanks for you suggestion,I would definitely try and implement in my next document.
Thanks a ton for pointing out about the FM template DMEE_EXIT_TEMPLATE_ABA which actually have missed in my document but many thanks to you for pointing it out.
Regards
Eugene.
the template you provided do not contain import paramater i_extension .Use template DMEE_EXIT_TEMPLATE_EXTEND_ABA or add import parameter i_extension type dmee_exit_interface_aba in your current Z FM.
Hi Wasi,
Thanks for your input.
Will try and check it in the system.
Regards
Eugene
Hii Ranu,
A very brief and awesome document... looking forward for more documents from you
Hi Aby,
Thanks for appreciation.
Regards
Eugene
Hi Ranu,
Keep up the good work. Nice Document.
Regards
Rakesh
Hi Rakesh,
Thanks for appreciation.
Regards
Eugene
Very nice work dear Ranu
Thanks for appreciation Naveen
Regards,
Eugene
Nice Document Ranu,Keep writing
Thanks for encouraging sunil kumar boya
Regards
Eugene
Hi Ranu,
Very useful document ..Thank you
Regards
Murugan c
Dear Ranu,
Great Document, this consolidates all the steps.
I have one query:
In case of Beneficiary Account number we FPAYH-ZBNKN,why do we need to provide the exit module ?
If there is a field in the structure FPAYH or FPAYHX or FPAYP then why do we need to create a exit program for the same.
As per my basic understanding these structure get field from the REGUH or REGUP table at the time of execution of F110.
Can you please explain the usage of Exit module with the example of FPAYH-ZBNKN (where exit is used) and ZPAYH-ZNMEI where only structure is used.
Regards,
Sapan Agarwal
Hi Sapan,
You are right that structures get the field from REGUH or REGUP.
I did try with structure FPAYH-ZBNKN and I was getting the value as well but it was payee bank account number,I tried it many times but of no use.After further analysis i found that FPAYH-ZBNKN and FPAYHX-UBKNT both are fetching the data from house bank which is payee bank account number,this is the reason why I have used exit module.
Exit modules is used in DMEE to populate the data in DMEE file which are not present in standard structure and field in DMEE like I have done in FPAYH-ZBNKN(Beneficiary account number) and FPAYH-FORMZ for payment type(means whether the payment is NEFT or RTGS) and structures are used where you can directly populate the data in DMEE file by only giving Structure and Field in you DMEE structure.
Hope this makes things clear.
Regards
Eugene
Hi Eugene,
Great effort !!!
Hi Eugene,
Thanks .. Its very helpful to every one. Appreciate your effort.
Regards,
Raj
Hi Raj,
Thanks for you kind words.
Regards
Eugene
Ranu, this is a great post. Needs some work on formatting - but you have been very detailed on the content, so hats off to you!
We have a lot of DMEE/PMW/SEPA questions on our discussion forums - hope you could help the community by answering those too.
Cheers to your hard work!
BR,
Zubin
Hi Zubin,
Thanks for appreciation.
Regards,
Eugene
Hi Eugene,
Nice Document.
Regards,
Satya
Hi Satya,
Thanks for your kind word.
Regards
Eugene
Hi,
Thanks for the document which has good info Its very helpful to every one. Appreciate your effort.
Regards,
Nisar
Hi Nisar,
Thanks a lot for your encouraging words.
Regards
Eugene
Hi Eugene,
Nice Document.
But I have a question. How do I make a specific estruture with only 226 positions ? Because, when I make a copie using DMEE PAYM - FEBRABAN_P my file has 240 positions.
Can you help me ?
Regards
Alexandre Folgado
Hi expert,
i would like to know if i reverse a finance doc in sap would it effect on exchange rate? and if i want the exchange rate values remain same not to change what should i do please help me.
Dear Nisar,
This is not the right forum to ask question.
Please click on the link given below and post your query there,you will get the reply for sure.
http://scn.sap.com/post!input.jspa?container=2102&containerType=14
Regards
Eugene
Thanks Ranu,
Hi Ranu,
Really helpful document. Thanks for sharing this.
Regards,
Sunil
Hi Sunil,
Thanks for your kind words.
Regards
Eugene
Hi Ranu Eugene,
In my system AUTOPLAN1 tree does not exist. So I am not able to copy. How can I proceed ?
Hi P D
If I am not wrong then AUTOPLAN1 structure is for Hong Kong.
Well I just checked in my system It is showing,If it is not showing in yours then kindly raise an OSS in market Place.
Regards
Eugene
Hi Ranu Eugene,
My requirement is to have a custom bank format for bank direct debits. I have gone through help.sap.com and they are proposing two option to achieve this. One through DMEE set up and other through exits. But I am not getting how to code in exits EXIT_RFFOEXIT_100, EXIT_RFFOEXIT_101. If you have any sample to share it would be great.
Hi Eugene,
Congratulations, this document is so helpful.
We are using DMEE trees to generate an XML file and we are facing an issue with one tag that contains 3 fields separated by blank spaces, for example:
<MyTag>field1 field2 field3 </MyTag>
We have read several OSS notes about this and tried different solutions but still the file will be written deleting every space in between fields. We have even tried setting the tag as a constant but still it appears without blanks in the file. The only workaround we have found so far is to use "non breakable spaces" (ascii 255) which maintain the fields correctly separated but, as they are not blanks, the file is not successfully read.
Have you found any trouble with blank spaces?
Thanks and best regards.
José M.
Goood doc.
Hi Ranu,
Very well documented and thanks for sharing this information!
I used your documentation for Citibank everything work fines, but last values of record terminator does get populate when file is generated. Below link for my issue, can you assist ?
DMEE Citibank File Creation Record Terminator
B/R
Prashant Rane
Thanks for this document.
In my project , I am using a Z FM to update the field in XML. This same field need to be suppressed for certain country and to be displayed as per FM logic for some country.
I tried using Condition and Status=2 for the field but output is always as per the FM logic.
Any suggestion on how to achieve, DO I need to build the suppression logic in the FM? in that case will the FM be able to control the output based on status set to 2 through code logic in FM? Please advise. Any other suggestion on how to suppress blank fields as some banks reject the xml even if the field is blank
Hi Ranu,
The document is really very useful.
I will surely ask my friends and colleagues to go through this document.
Regards,
Kripa
Hi Kripa,
Thanks for your encouraging words.
Hope this document would help your colleagues and friends too.
Regards
Eugene
Hi Ranu,
Keep up your good work. The document is very good.
Best Regards,
Arvind Leo Pereira
Hi Arvind,
Thanks a lot for kind words.
Regards
Eugene
Hello Ranu,
very good documentation. Do you know if it is possible to create a tree without Header line, but with a Trailer at the end? I need to count line items and amounts but it should only occur once at the end. Level 1 should be only the Trailer record.
Thanks and best regards,
Sebastian
Hi Ranu, Great article! This was very helpful. Regarding the Email Function Module, for my implementation, I had to add define the data type for i_item as it was not consistent in the ABAP editor for me.
After defining ls_item as the dmee_paym_if_type, then I could reference ls_item. Since the ABAP editor wouldn't directly let me reference i_item in the code.
ls_item TYPE dmee_paym_if_type.
ls_item = i_item.
l_lifnr = ls_item-fpayp-gpa2r.
Thanks again, this was very helpful.
Hi Ranu
Nice Document and great work.
I Have a doubt. If we have maintained multiple email if for a vendor then how it will work.
Hello,
can you split the DMEE file based on number of records? We have a requirement to split the file after every 100 records, or we have to write a custom program for this kind of requirement?
Thanks,
Kapil
Helpful document Thanks....
This link appeared in the right day and the right minute.
Kudos!
Hello Ranu,
I have a Defect in the current DMEE that is running in the system, and my ABAP is out of commission.
Any chance you can give me an idea how to fix it?
Hi Ranu,
good blog.
Am new to DMEE, have a question.
Question-1:
-We have maintained a tree for sweden
-bank number checks for digits less than 10
-once F110 done and bnk_app done, it creates a file where bank details are put.
-now in one case there is a bank number greater than 10
-once F110 done and bnk_app done, it creates file but the bank number has 2 ZEROES in between
What could be issue, is it because a tree for sweden with bank digits greater than 10 is not maintained?
or could it be something else?
Question-2:
Does this DMEE once created, builds a Zreport in system?
Question-3:
How to do debugging of DMEE
Thanks,
Aditya V
Hi Ranu,
Really it’s a great document on DMEE, I have a doubt Can we use two two payment methods like check and wire in single format with minor changes.
Thanks & Regards
Gangaraju
Hi Ranu
I have gone through your document, its very nice. Now I have to face the issue for multiple vendors items to displays in DME file. I have checked the vendor master data & invoice line items. Can you help me?
Regards
Suman
blast from the past but no complaints when 'it works' before dmeex and s/4 license split.
Cheers,
gm