on 04-11-2006 10:07 AM
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
Hi Peter,
Did you make it work ?
If yes, could you post the solution as i do have the same issue ?
Kind regards,
Yann
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
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
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.