cancel
Showing results for 
Search instead for 
Did you mean: 

Transfer customer fields from EBP to R/3

Former Member
0 Kudos

Hey,

we have a SRM-system with a R/3 backend and added some customer fields to the accounting or purchase orders. The question now is how to transfer the cuf-data from SRM to R/3.

There are the function-modules like B470_PO_CREATE of package BBP_BD which are dealing with the data and include the cuf-data. For my understanding i should write my own driver by copying such a function-module and call the remote BAPI (also a copy of the SAP-functionmodule BAPI_PO_CREATE) that has the cuf-data as import (original SAP doesnt have that) and save them according to that.

The question now is how can i make SRM using the new functionmodule and what is the best practice for that problem.

thanks for your help.

best regards,

oliver

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

ok i found my error...its working now. Just forgot to add the BAPI_TE_MEPOITEMX lines 😕

Now i just need to know where to get the correct EBELP to add that to the extensionin table. Can i take that from CS_PO1_DOCUMENT-IT_POITEM using the index of the current IS_SC_DOCUMENT-ITEM ? Or can their order vary ?

thanks for the help,

oliver

Former Member
0 Kudos

Yes right.. To get the correct EBELP to add that to the extensionin table, you have to use CS_PO1_DOCUMENT-IT_POITEM using the index of the current IS_SC_DOCUMENT-ITEM...

Regards

- Atul

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

In classic scenario, use BADI BBP_CREATE_PO_BACK.

In extended classic scenario or direct procurement, use BADI BBP_ECS_PO_OUT_BADI.

Depending on your SRM version, Use either of the BADIs in SRM

BBP_CREATE_BE_PO_NEW

BBP_CREATE_PO_BACK

BBP_ECS_PO_OUT_BADI

Related links ->

See these related links for sample code/hints:

BR,

Disha.

Pls reward points for useful answers.

Former Member
0 Kudos

thanks for the replies.

I implemented the BADI BBP_CREATE_BE_PO_NEW~FILL_PO_INTERFACE1.

In there i got something like this:

DATA: ls_exin TYPE BBP_PDS_TRANSFER_ITEM.

LOOP AT is_sc_document-item ASSIGNING <fs_item>.

ls_exin-STRUCTURE = 'BAPI_TE_PO_ITEMS'.

ls_exin-VALUEPART = 'test'. (only one custom field for testing)

APPEND ls_exin TO CS_PO1_DOCUMENT-IT_EXTENSIONIN[].

ENDLOOP.

This works and he runs into that BADI on runtime. The problem is the R/3 side. All my exists i tried weren't called. Which are:

SAPL2012 - EXIT_SAPL2012_001

SAPL2012 - EXIT_SAPL2012_003

SAPLMEWP - EXIT_SAPLMEWP_002

Can you guide me in what exists i have to use and how exactly i have to fill the CS_PO1_DOCUMENT-IT_EXTENSIONIN -structure of SRM ?!

We use SRM 5.0 and ECC 6.0.

Thanks for your help.

oliver

Former Member
0 Kudos

Please see useful pointers ->

Regards

- Atul

Former Member
0 Kudos

thanks...i made it working. Now im searching for the way how i have to merge the data from EXTENSIONIN back into the Position/Accounting data. (using EXIT_SAPL2012_001 for preprocessing)

BAPIMEPOITEM doesnt include the CI_EKPODB or CI_EKPODBX so how can i bring them together so the saved PO already have them included ?

thanks and greets,

oliver

Former Member
0 Kudos

Hi,

See these related threads for more pointers:

BR,

Disha.

Pls reward points for useful answers.

Former Member
0 Kudos

Thanks but i already know all these links. Im using BADI BBP_CREATE_BE_PO~FILL_PO_INTERFACE1 to fill my extensionin-table.

For that i loop over the import-parameter IS_SC_DOCUMENT-ITEM. In order to fill the extension-PO_ITEM -field i need the EBELP of that item. But within the structure of IS_SC_DOCUMENT-ITEM there is no such field. NUMBER_INT or NUMBER_EXT doesnt seem to be the correct ebelp-numbers.

Can you tell me where i can get the ebelps ?

I add the extension-lines to the itab CS_PO1_DOCUMENT-IT_EXTENSIONIN[]. Thats correct, right ?!

thanks,

oliver

Former Member
0 Kudos

_

Former Member
0 Kudos

Oliver,

Were you able to find a way how to merge the PO data from EXTENSIONIN back into the Position/Accounting data. (using EXIT_SAPL2012_001 for preprocessing)

BAPIMEPOITEM doesnt include the CI_EKPODB or CI_EKPODBX so how can i bring them together so the saved PO already have.

Your quick response will be appricateted.

Thanks,

Purnima

Former Member
0 Kudos

Hi

Using BADI definition - BBP_CREATE_PO_BACK (Transaction code - SE18) this can done very easily... You need to implement this BADI ...

For more details, please let me know.

Related links ->

Regards

- Atul