cancel
Showing results for 
Search instead for 
Did you mean: 

Mapping fields in SRM with R/3

Former Member
0 Kudos

Hi,

We are inmplementing the extended classic scenario in SRM 4.0.

Currently the Purchase Order in R/3 does not have a field for CATALOGID. I have implemented the BADI BBP_ECS_PO_OUT_BADI in SRM to capture the field CATALOGID. I have also used the standard include provided by SAP in table EKPO to add the field CATALOGID in R/3.

1) How do I map the value of the CATALOGID in BBP_ECS_PO_OUT_BADI to the field CATALOGID in table EKPO in R/3?

2) Do I implement the BADI BBP_PO_INBOUND_BADI in R/3? If yes which method and my question still remains how do I map CATALOGID in BBP_ECS_PO_OUT_BADI to the field CATALOGID in table EKPO in R/3?

3) Just so that I can debug, where is the BAPI BAPI_PO_CREATE1 (I assume this BAPI is used to transfer data from SRM to R/3) called, so that I can put a break point in code.

Thanks,

Pete

Accepted Solutions (0)

Answers (3)

Answers (3)

yann_bouillut
Active Contributor
0 Kudos

Hi Peter,

Did you make it work ?

If yes, could you post the solution as i do have the same issue ?

Kind regards,

Yann

yann_bouillut
Active Contributor
0 Kudos

Hi Peter,

You can read my answers in the following post :

Kind regards,

Yann

Former Member
0 Kudos

Hi Peter,

The CATALOGID field does not exist in standard in R/3.

In order to store the CATALOGID in the R/3 PO, you can either -try to find a standard filed in the PO items (EKPO), and you'll be abble to make the mapping in the SRM BADI BBP_ECS_PO_OUT_BADI.

-Manage a customer field in the R/3 PO Line , and send them to R/3 through table <b>ct_bapi_customer_fields</b> of the BADI.

Regards.

VAdim

Former Member
0 Kudos

Thanks Vadim. I have used the sap provided include CI_EKPODB to include the field CATALOGID in table EKPO in R/3.

I have already implemented the BADI BBP_ECS_PO_OUT_BADI in SRM and I am appending the value of CATALOGID to the table ct_bapi_customer_fields.

Is that all that I have to do to pass the value of CATALOGID from SRM to table EKPO in R/3?

Regards,

Pete

Former Member
0 Kudos

Hi,

It should be sufficient.

Here is a sample code for CUF transfer in the BADI:


**PO CUF at header level
  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.

Hope it helps.

Vadim

Former Member
0 Kudos

Thanks Vadim.

So what you are saying is that following code included in the implementation of BADI BBP_ECS_PO_OUT_BADI will suffice to transfer value of field CATALOGID from SRM system to table EKPO field ZCATALOGID in R3. Correct me if I am wrong.

Data : GV_ITEM type BBP_PDS_PO_ITEM_D,

GV_CUST type BBPS_IF_CUSTOMER_FIELDS_PI.

Loop at IT_ITEM into GV_ITEM.

GV_CUST-refobject = 'POITEM'.

GV_CUST-fieldname = 'CATALOGID'.

GV_CUST-container = GV_ITEM-CATALOGID.

append GV_CUST to ct_bapi_customer_fields.

EndLoop.

Regards,

Pete

Former Member
0 Kudos

Hi Peter,

If the backend added field is <b>ZCATALOGID </b> the code is:

Data : GV_ITEM type BBP_PDS_PO_ITEM_D,
GV_CUST type BBPS_IF_CUSTOMER_FIELDS_PI.

Loop at IT_ITEM into GV_ITEM.
GV_CUST-refobject = 'POITEM'.
GV_CUST-fieldname = '<b>ZCATALOGID</b>'.
GV_CUST-container = GV_ITEM-CATALOGID.
append GV_CUST to ct_bapi_customer_fields.
EndLoop.

Let me know.

Vadim

Former Member
0 Kudos

hai vadim,

can you give me a advice about how to create purchase order in SRM using bapi.

vj

my yahoo mail id is vj_person@yahoo.co.in

Former Member
0 Kudos

Hi,

I am currently facing a problem regarding this customer fields population. I have appended a field (char1) to EKKO table. I have used my own append structure and not the existing EKKO-CI_EKKODB include for appending the customer field.

But when I am processing the BAPI structure with the same logic as mentioned below,the update is NOT happening for this customer field.

ls_bapi_customer_fields-fieldname = 'ZCHK_ATT'.

ls_bapi_customer_fields-refobject = 'POHEADER'.

ls_bapi_customer_fields-container = c_set. " Value X

APPEND ls_bapi_customer_fields TO ct_bapi_customer_fields.

The function module (BBP_PO_INBOUND DESTINATION lv_destination) is being called by the table lt_bapi_customer_fields which holds the values as above.

But the value of 'ZCHK_ATT' is not getting updated in R3?? Could you please let me know the possible reasons.

Many thanks in advance,

Ullas