cancel
Showing results for 
Search instead for 
Did you mean: 

SRM 7.01 Passing customer field to BE PO Created via SOA

former_member184111
Active Contributor
0 Kudos

Dear Experts,

We are on SRM 7.01.

I found through SDN that we have to use the enhancement spot /SAPSRM/ES_SOA_MAPPING for mapping customer fields from SRM to ECC while creating PO.

Which BADI under this enhancement spot should be used?

I found the customer fields only in the interface of BADI /SAPSRM/BD_BID_DECOUP_MAP_SOA but permitted filter values are as mentioned belwo for this BADI

RFX_REP	                      RFx Replication
RFXRES_REP	RFx Response Replication
AUC_REP	                     Auction Replication
AWARD_NOT	Award Notification
BIDDER_REG 	Bidder Registration (Enrollment)
RFX_CON	                     RFx Replication Confirmation
RFXRES_CON	RFx Response Replication Confirmation
AUC_CON	                      Auction Replication Confirmation

what filter value should be used for BE PO or is it some other BADI?

Any pointers or documentation will be of great help.

Many Thanks,

Anubhav

Accepted Solutions (0)

Answers (1)

Answers (1)

former_member184111
Active Contributor
0 Kudos

Hi Forum,

Please help me on this.

I also tried using the BADI BBP_SAPXML1_OUT_BADI method PURCHASEORDER with filter value PO. I tried passing value of my custom field in an unused standadr field but that field is empty in ECC PO XML.

How to resolve this?

Thank You,

Anubhav

RicardoRomero_1
Active Contributor
0 Kudos

Hi,

Why not use the badi BBP_ECS_PO_OUT_BADI in SRM or BBP_PO_INBOUND_BADi in ECC ?

You can map the custom fields in parameter bapi_extensionin of badi BBP_PO_INBOUND_BADi...

What do you want to do?

former_member184111
Active Contributor
0 Kudos

Hi Ricardo,

The BADI Documentation mentions

You can use this Business Add-In (BAdI) to override the standard and determine which data from an SAP Supplier Relationship Management (SAP SRM) purchase order in the extended classic scenario is transferred to the linked logistic back-end system.

that this BADI is applicable only in extended classic scenario where as we are using classic.

Thank you,

Anubhav

former_member184111
Active Contributor
0 Kudos

Hi Forum,

Follow below steps to achieve this..

SRM: Implement the BADI /SAPSRM/BD_SOA_MAPPING method /SAPSRM/IF_BADI_SOA_MAPPING~MAP_BACKEND_TO_XI and send your Z field into some unused custom field.

Despite the name of this method, it is the correct one even if XI is NOT Used.

ECC:

Implement the BADIs PUR_SE_POERPREQUEST_V1_ASYN method IF_PUR_SE_POERPREQUEST_V1_ASYNINBOUND_PROCESSING and ME_BAPI_PO_CUST method IF_EX_ME_BAPI_PO_CREATE_02MAP2I_EXTENSIONIN.

In the first BADI Fetch the Z field value from Proxy structure standard field that was filled at SRM and pass it along with update flag...sample code:

DATA lt_extension TYPE TABLE OF bapiparex.
  DATA wa_extension LIKE LINE OF lt_extension.
  DATA: wa_poheader TYPE bapi_te_mepoheader,
             wa_poheaderx TYPE bapi_te_mepoheaderx.

  wa_poheader-po_number = cs_bapimepoheader-po_number.
  wa_poheader-zzwerks =  im_input-purchase_order-seller_party-seller_id.

  wa_poheaderx-po_number = cs_bapimepoheader-po_number.
  wa_poheaderx-zzwerks = 'X'.

  wa_extension-structure = 'BAPI_TE_MEPOHEADER'.
  wa_extension-valuepart1 = wa_poheader.
  APPEND wa_extension TO lt_extension.

  wa_extension-structure = 'BAPI_TE_MEPOHEADERX'.
  wa_extension-valuepart1 = wa_poheaderx.
  APPEND wa_extension TO lt_extension.


  ct_extensionin  =  lt_extension.

And in the second BADI map these fields again....code sample..

FIELD-SYMBOLS: <fs_struc> TYPE any,
                 <comp>  LIKE LINE OF cl_abap_structdescr=>components.



  CASE im_name.

    WHEN 'CI_EKKODB'.

      ASSIGN COMPONENT 1 OF STRUCTURE ch_struc TO <fs_struc>.
      <fs_struc> = im_container+0(10).
      ASSIGN COMPONENT 2 OF STRUCTURE ch_struc TO <fs_struc>.
      <fs_struc> = im_container+10(4).

    WHEN 'CI_EKKODBX'.
      ASSIGN COMPONENT 1 OF STRUCTURE ch_struc TO <fs_struc>.
      <fs_struc> = im_container+0(10).
      ASSIGN COMPONENT 2 OF STRUCTURE ch_struc TO <fs_struc>.
      <fs_struc> = im_container+10(1).

  ENDCASE.

T

Navdeepbhat
Explorer
0 Kudos

Hi Anubhav ,

I am facing the same issue while transfering Z fields from SRM to MM .

As you mentioned above:

Z field needs to be passed to some unsused custom field .Could you please let me know what do you mean by unused custom field here .

Thanks.


former_member184111
Active Contributor
0 Kudos

Hi Navdeep,

That must be a type...I meant 'some unsused STANDARD field' for e.g. if PPS is not there you can use some PPS fields..

Thanks,

Anubhav