2013 Jan 31 6:11 AM
Hello All,
I'm trying to change the value of a custom field in ME53N using BADI ME_PROCESS_REQ_CUST during POST. But at 'CALL METHOD im_item->set_data', it throws a runtime error 'Access via 'NULL' object reference not possible.'. Am I missing something in the below code ?
Regards.
Code:
DATA: lt_items TYPE mmpur_requisition_items,
ls_item TYPE mmpur_requisition_item,
ls_header TYPE mereq_header,
* im_item TYPE REF TO if_purchase_requisition_item,
lv_count type i value 1,
lv_item type i value 0.
data: ls_mereq_item type mereq_item,
lv_zzarno type eban-zzarno.
if lv_count = 1.
import lv_zzarno to lv_zzarno from MEMORY id 'ZZARNO'.
lt_items = im_header->get_items( ).
loop at lt_items into ls_item.
ls_mereq_item = ls_item-item->get_data( ).
if ls_mereq_item-zzarno NE lv_zzarno.
ls_mereq_item-zzarno = lv_zzarno.
CALL METHOD im_item->set_data
EXPORTING
im_data = ls_mereq_item.
endif.
endloop.
endif.
2013 Jan 31 6:26 AM
Hi,
This error due to ,access the object without actually creating it.
Try to create the object and then use this object or U have not object reference for process.
For one example look at this one,
http://scn.sap.com/thread/416848
Change as per ur logic.
Hope it helps.
Thnaks
Gourav.
2013 Jan 31 8:51 AM
Well, read again what you have written
ls_mereq_item = ls_item-item->get_data( ).
if ls_mereq_item-zzarno NE lv_zzarno.
ls_mereq_item-zzarno = lv_zzarno.
CALL METHOD im_item->set_data " replace im_item with ls_item-item
EXPORTING
im_data = ls_mereq_item.
You read data for object ls_item-item and try to update in another unknown object, source copied from another method ?
But POST method seems late in the process, couldn't you perform this in PROCESS_ITEM or CHECK methods ?
Regards,
Raymond
2013 Feb 04 6:56 AM