2014 May 29 5:49 PM
Hi All,
Can you please let me know how to access the accounting data i.e. cost center in the method check or post.
I need to put validation on Check on cost center.
Please some sample code f you have.
2014 May 29 6:14 PM
Hi,Juheb,
Please validate your accounting data in inside CHECK method.
you can use below sample code. this code is written for ME_PROCESS_PO_CUST
Regards,
Prasenjit
INCLUDE mm_messages_mac.
DATA: ls_ACCOUNT TYPE MEPOACCOUNTING,
ltb_account type table of MEPOACCOUNTING,
ltb_meaccount type PURCHASE_ORDER_ACCOUNTINGS,
ls_meaccount type PURCHASE_ORDER_ACCOUNTING,
ls_mepohead TYPE MEPO_HEADER,
ltb_mepoitem type PURCHASE_ORDER_ITEMS,
lwa_item TYPE purchase_order_item,
lwa_item_data TYPE mepoitem.
CALL METHOD im_header->get_previous_data
IMPORTING
ex_data = ex_data
EXCEPTIONS
no_data = 1.
ls_mepohead = im_header->get_data( ).
ltb_mepoitem = im_header->get_items( ).
REFRESH: ltb_item_data, ltb_account.
LOOP AT ltb_mepoitem INTO lwa_item.
" Read each PO item data
lwa_item_data = lwa_item-item->get_data( ).
clear: ltb_meaccount, ls_meaccount.
ltb_meaccount = lwa_item-ITEM->GET_ACCOUNTINGS( ).
loop at ltb_meaccount into ls_meaccount.
ls_account = ls_meaccount-ACCOUNTING->GET_DATA( ).
Validate here your code.
append ls_account to ltb_account.
clear: ls_account.
endloop.
Endloop.
2014 May 29 6:14 PM
Hi,Juheb,
Please validate your accounting data in inside CHECK method.
you can use below sample code. this code is written for ME_PROCESS_PO_CUST
Regards,
Prasenjit
INCLUDE mm_messages_mac.
DATA: ls_ACCOUNT TYPE MEPOACCOUNTING,
ltb_account type table of MEPOACCOUNTING,
ltb_meaccount type PURCHASE_ORDER_ACCOUNTINGS,
ls_meaccount type PURCHASE_ORDER_ACCOUNTING,
ls_mepohead TYPE MEPO_HEADER,
ltb_mepoitem type PURCHASE_ORDER_ITEMS,
lwa_item TYPE purchase_order_item,
lwa_item_data TYPE mepoitem.
CALL METHOD im_header->get_previous_data
IMPORTING
ex_data = ex_data
EXCEPTIONS
no_data = 1.
ls_mepohead = im_header->get_data( ).
ltb_mepoitem = im_header->get_items( ).
REFRESH: ltb_item_data, ltb_account.
LOOP AT ltb_mepoitem INTO lwa_item.
" Read each PO item data
lwa_item_data = lwa_item-item->get_data( ).
clear: ltb_meaccount, ls_meaccount.
ltb_meaccount = lwa_item-ITEM->GET_ACCOUNTINGS( ).
loop at ltb_meaccount into ls_meaccount.
ls_account = ls_meaccount-ACCOUNTING->GET_DATA( ).
Validate here your code.
append ls_account to ltb_account.
clear: ls_account.
endloop.
Endloop.
2014 May 30 4:55 PM
Thank you Prasenjit.
I am trying to modify the above code for ME_PROCESS_REQ_CUST but I am getting dump.
Can you please provide me the code for CHECK method of ME_PROCESS_REQ_CUST.
I will be very thankful to you.
2014 Jun 02 8:50 AM
2014 Jun 02 11:58 AM
Hi Prasenjit,
Thank you for your reply.
I have written below code in Check method as per the given thread but I am getting short dump saying ' Access via 'NULL' object reference not possible.'
Please check if i m doing something wrong. your reply will be highly appreciated.
DATA: l_account_list TYPE mmpur_accounting_list,
l_account_line TYPE mmpur_accounting_type,
ls_exkn TYPE exkn.
DATA i_items TYPE mmpur_requisition_items.
DATA: wa_item LIKE LINE OF i_items,
lv_if_item TYPE REF TO if_purchase_requisition_item,
lt_itm_data TYPE mereq_item.
CALL METHOD lv_if_item->if_acct_container_mm~get_items
RECEIVING
re_items = l_account_list.
CHECK l_account_list IS NOT INITIAL.
LOOP AT l_account_list INTO l_account_line.
CALL METHOD l_account_line-model->get_exkn
RECEIVING
re_exkn = ls_exkn.
ENDLOOP.
2014 Jun 02 12:36 PM
Hi Juheb,
Please try to debug and check where system get null value for that reference object.
once you identify then please validate the value after that you can pass.
Regards,
Prsenjit
2014 Jun 02 1:24 PM
2014 Jun 02 5:23 PM
Hi Prasenjit/Raymond,
Thank you for your replies. I am now able to get the accounting data in CHECK method.
but I am getting only single entry in l_account_list, though I am creating PR with multiple line items.
Its picking only last line items accounting data.
Please help.
2014 Jun 03 7:18 AM
Can you confirm/infirm that "im_header->GET_ITEMS" returns only one record in "RE_ITEMS" itab (with ITEM field) or that during the "LOOP AT RE_ITEMS INTO lr_item." the "lr_item-item->if_acct_container_mm~get_items returns" returns only on record in its own "RE_ITEMS" itab (with MODEL field on which you apply GET_EXKN method) ?
Regards,
Raymond