Map text from SRM confirmation to ECC Material Document
The document elaborates steps on how to map the text entered by user in SRM confirmation to the Material document and how it relates to the Accounting document further.
This is specifically related to classic scenario. As confirmed by SAP ‘There is no note for this, customers that need this functionality usually implement this on their own with custom code and fields.’
Incase of NonLimit / Non service Pos below is the text I am trying to Map
And for the LIMIT / Service POS below text .
We need to be mapping the field related to text in the Material Document when you go to ‘Purchasing history’ in PO document .
Click on the material document it will take you to the below place and this is where we are trying to map the text in ‘Where’ Tab field ‘Text’ .
I tried using config and it shows the below config points in Define Text schema, and for mapping outbound texts as well but that did not help . either
Case 1 : For the material PO the confirmation document flows via IDOC MBGMCR
Case 2 : For Limit ./ Service POs it does not flow through the IDOC but using a RFC enabled FM .
In ECC it calls BAPI_ENTRYSHEET_CREATE and this calls the FM MS_CREATE_SERVICE_ENTRY_MULTI
In SRM META_ENTRYSHEET_CREATE which calls : META_BAPI_DISPATCH
The place where we need to add the text which is in material document ‘Where’ Tab as shown above.
We need to find the user exit to be able to map the data . Using SMOD it can be found the relevant user Exit which is EXIT_SAPMM07M_001 a part of user EXIT MBCF0002 .
I wrote another article on how to find this user exit but has been rejected on account of many similar articles posted in past which I somehow did not agree with but did not do anything about
Anyway , Pass the data you need to map to E_SGTXT (exporting parameter of this exit EXIT_SAPMM07M_001)
If it is a limit PO then the text gets stored in a table called t_esll_t which you can find in FM MS_CREATE_SERVICE_ENTRY_MULTI
and you can import into this exit using import statement as below :
IMPORT t_esll_t FROM MEMORY ID ‘ZLIMIT_PO’.
FREE MEMORY ID ‘ZLIMIT_PO’.
If however it is a non Limit PO then the data can be picked from table EKPO table txz01 field .
For Limit / Service POs
LOOP AT t_esll_t INTO wa_esll_t.
IF wa_esll_t–ktext1 IS NOT INITIAL.
MOVE: wa_esll_t–ktext1 TO e_sgtxt.
For Non limit Pos
Read entry from EKPO
wa_ekpo–txz01 TO e_sgtxt.
The text we map shows at the below place in the accounting document and is quite helpful when you try to create a reconciliation report . This text could be a SC number or something which the client finds relevant in their business context
Hope the document has been useful in understanding the basics .
Thanks for reading and do let me know if any feedback / Comments.