Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

BADI : ME_PROCESS_PO_CUST

Former Member
0 Kudos

Hi Experts,

I want to use the BADI : ME_PROCESS_PO_CUST and the method POST in tht BADI. But here I don't know how to get the Item data. I was able to get the header data by using the below code

DATA : ls_hdr TYPE REF TO if_purchase_order_mm.

DATA : po_header TYPE mepoheader.

CALL METHOD im_header->get_data

RECEIVING

re_data = po_header.

Now please guide me how to get the item data that we enter in the ME21N screen to here.

      • Points will be assigned for the helpful answers

Regards,

Ravi

1 ACCEPTED SOLUTION

uwe_schieferstein
Active Contributor
0 Kudos

Hello Ravi

Have a look at my posting in thread:

...
METHOD if_ex_me_process_po_cust~check.
* define local data
  DATA:
    lt_items      TYPE purchase_order_items,
    ls_item       TYPE purchase_order_item,
*
    ls_header     TYPE mepoheader,
    ls_detail     TYPE mepoitem,
    lt_details    TYPE tab_mepoitem.
 
 
 
* Get the order items
  lt_items = im_header->get_items( ).
...

Regards

Uwe

3 REPLIES 3

uwe_schieferstein
Active Contributor
0 Kudos

Hello Ravi

Have a look at my posting in thread:

...
METHOD if_ex_me_process_po_cust~check.
* define local data
  DATA:
    lt_items      TYPE purchase_order_items,
    ls_item       TYPE purchase_order_item,
*
    ls_header     TYPE mepoheader,
    ls_detail     TYPE mepoitem,
    lt_details    TYPE tab_mepoitem.
 
 
 
* Get the order items
  lt_items = im_header->get_items( ).
...

Regards

Uwe

0 Kudos

Hi Uwe,

Thanks for the response. I have tried the below code and when i check the po_items in debugging it contains the following message ->

the code which i tried was as below

DATA : po_header TYPE mepoheader.

DATA:

lt_items TYPE purchase_order_items,

ls_item TYPE purchase_order_item.

CALL METHOD im_header->get_data

RECEIVING

re_data = po_header.

lt_items = im_header->get_items( ).

In debugging when I check for header data I got the header fileds data from ME21N screen but for item data i couldn't get like tht. Please guide me how to proceed.

Regards,

Ravi

0 Kudos

Hello Ravi

The following coding shows how to retrieve item details of a new purchase order. Class CL_PO_ITEM_HANDLE_MM implements the interface IF_PURCHASE_ORDER_ITEM_MM which represents the items returned by method im_header->get_items( ).

METHOD if_ex_me_process_po_cust~post.
* define local data
  DATA:
    lt_items      TYPE purchase_order_items,
*    ls_item       LIKE LINE OF lt_items,  " alternatively
    ls_item       TYPE purchase_order_item,
*
    ls_header     TYPE mepoheader,
    ls_detail     TYPE mepoitem,
    lt_details    TYPE tab_mepoitem.


* Get the order items
  lt_items = im_header->get_items( ).

  LOOP AT lt_items INTO ls_item.
    ls_detail = ls_item-item->get_data( ).
    APPEND ls_detail TO lt_details.
"   Call additional methods (of IF_PURCHASE_ORDER_ITEM_MM) for
"   additional data about the purchase order item, e.g.
*    GET_SCHEDULES	Delivery Schedule
*    GET_ACCOUNTINGS	Account Assignments
*    GET_CONDITIONS	Get Item Conditions
  ENDLOOP.


ENDMETHOD.

Regards

Uwe