cancel
Showing results for 
Search instead for 
Did you mean: 

How to replicate customer fields in the backend system.

venky_k
Explorer
0 Kudos

Hi All,

I need to transfer PO customer fields that were created in the SRM system to backend SAP system.

I am using Extended Classic Scenario in SRM and SRM Version is 5.0.

I am able to replicate the data created in SRM system to the backend.

How ever, I found the following BADI while debugging.

1. BBP_DOC_SAVE_BADI

2. BBP_CTR_RELVAL_ICC

3. BBP_DOC_SAVE_ICC

4. BBP_F4_SAVE_DB

5. HRSYNC_P

Hence, please tell me which BADI, I need to use to send my customer fields to the backend system.

Regards,

Venky.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

Welcome to SRM forum!!!

For ECS scenario,you need to use the BADI "BBP_ECS_PO_OUT_BADI".

See these related links for sample code/hints:

<b></b>

BR,

Disha.

<b>Pls reward points for useful answers.</b>

venky_k
Explorer
0 Kudos

Hi All,

Thanks for the quick responses..

However, none of the BADI's (BBP_CREATE_BE_PO_NEW, BBP_CREATE_PO_BACK, BBP_ECS_PO_OUT_BADI) are triggered while transferring the data to the backend..

Former Member
0 Kudos

Hi,

Please create a implementation for the BADI "BBP_ECS_PO_OUT_BADI" and then activate that.In std,this BADI is not active.This is definately called in ECS scenario.

BR,

Disha.

<b>Pls reward points for useful answers.</b>

Former Member
0 Kudos

Hi

As Disha told, <u>You need to create a customer Implementation of any othe BADIs using SE19 Transaction.

Say, you create an active customer Implementation of BBP_ECS_PO_OUT_BADI...</u>

<u><b>See links given in earlier reply for detailed sample code.</b></u>

<u>Write the following sample code (pls change it as per your business requirement)</u>

METHOD if_ex_bbp_ecs_po_out_badi~bbp_b46b_po_outbound.
[...]
** Customer fields 
MOVE 'POHEADER' TO w_customer_fields-refobject.
*PO approver
MOVE 'ZZAPPROVER' TO w_customer_fields-fieldname.
MOVE is_header-zzlastapprover TO w_customer_fields-container.
APPEND w_customer_fields TO ct_bapi_customer_fields.
*SC Date
MOVE 'ZZSCDATE' TO w_customer_fields-fieldname.
MOVE lv_scheader-created_at TO w_customer_fields-container(15).
APPEND w_customer_fields TO ct_bapi_customer_fields.
*Requester Org
MOVE 'ZZORGA' TO w_customer_fields-fieldname.
MOVE w_requester_orgunit TO w_customer_fields-container.
APPEND w_customer_fields TO ct_bapi_customer_fields.
[...]

endmethod.

<u>BBP_PO_INBOUND_BADI in R/3.</u>

method IF_EX_BBP_PO_INBOUND_BADI~BBP_MAP_BEFORE_BAPI. 
data wa_customer_fields TYPE BBPS_IF_CUSTOMER_FIELDS. 

data : WA_BAPI_TE_MEPOHEADER type BAPI_TE_MEPOHEADER, 
WA_BAPI_TE_MEPOHEADERX type BAPI_TE_MEPOHEADERX. 

data WA_EXTENSIONIN TYPE BAPIPAREX. 



data txt_960(960) type c. 

[...]

*** EKKO Customer fields. 


*PO Number 
move BBP_POHEADER-PO_NUMBER to WA_BAPI_TE_MEPOHEADER-PO_NUMBER. 
move BBP_POHEADER-PO_NUMBER to WA_BAPI_TE_MEPOHEADERX-PO_NUMBER. 

*ZZAPPROVER 
READ TABLE BBP_CUSTOMER_FIELDS INTO wa_customer_fields 
WITH KEY refobject = 'POHEADER' 
fieldname = 'ZZAPPROVER'. 
IF SY-SUBRC EQ 0. 
MOVE wa_customer_fields-container TO WA_BAPI_TE_MEPOHEADER-ZZAPPROVER. 
WA_BAPI_TE_MEPOHEADERX-ZZAPPROVER = 'X'. 
endif. 

*ZZSCDATE 
READ TABLE BBP_CUSTOMER_FIELDS INTO wa_customer_fields 
WITH KEY refobject = 'POHEADER' 
fieldname = 'ZZSCDATE'. 
IF SY-SUBRC EQ 0. 
MOVE wa_customer_fields-container TO WA_BAPI_TE_MEPOHEADER-ZZSCDATE. 
WA_BAPI_TE_MEPOHEADERX-ZZSCDATE = 'X'. 
endif. 

*ZZORGA 
READ TABLE BBP_CUSTOMER_FIELDS INTO wa_customer_fields 
WITH KEY refobject = 'POHEADER' 
fieldname = 'ZZORGA'. 
IF SY-SUBRC EQ 0. 
MOVE wa_customer_fields-container TO WA_BAPI_TE_MEPOHEADER-ZZORGA. 
WA_BAPI_TE_MEPOHEADERX-ZZORGA = 'X'. 
endif. 

CLEAR txt_960. 
CLEAR WA_EXTENSIONIN. 
write WA_BAPI_TE_MEPOHEADER to txt_960 left-justified. 

WA_EXTENSIONIN-STRUCTURE = 'BAPI_TE_MEPOHEADER'. 
WA_EXTENSIONIN-VALUEPART1 = txt_960(240). 
WA_EXTENSIONIN-VALUEPART2 = txt_960+240(240). 
WA_EXTENSIONIN-VALUEPART3 = txt_960+480(240). 
WA_EXTENSIONIN-VALUEPART4 = txt_960+720(240). 

append WA_EXTENSIONIN to BAPI_EXTENSIONIN. 

CLEAR txt_960. 
CLEAR WA_EXTENSIONIN. 
write WA_BAPI_TE_MEPOHEADERX to txt_960 left-justified. 

WA_EXTENSIONIN-STRUCTURE = 'BAPI_TE_MEPOHEADERX'. 
WA_EXTENSIONIN-VALUEPART1 = txt_960(240). 
WA_EXTENSIONIN-VALUEPART2 = txt_960+240(240). 
WA_EXTENSIONIN-VALUEPART3 = txt_960+480(240). 
WA_EXTENSIONIN-VALUEPART4 = txt_960+720(240). 

append WA_EXTENSIONIN to BAPI_EXTENSIONIN. 


endmethod.

Hope this will help.

Regards

- Atul

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi

<u>Depending on your SRM version, Use either of the BADIs in SRM</u>

<b>BBP_CREATE_BE_PO_NEW

BBP_CREATE_PO_BACK

BBP_ECS_PO_OUT_BADI </b>

<u>Related links -></u>

<u>Hope this will definitely help.</u>

Do let me know.

Regards

- Atul