METHOD if_ex_me_process_req_cust~fieldselection_item_refkeys.
DATA: l_item_list TYPE mmpur_requisition_items,
l_item TYPE mmpur_requisition_item,
l_item_akt TYPE mereq_item,
l_item_ref TYPE REF TO if_purchase_requisition_item.
DATA:
ld_attr TYPE string,
lo_obj TYPE REF TO object, " root object
wa_ebkn TYPE ebkn,
it_ebkn TYPE TABLE OF ebkn,
wa_prps TYPE prps,
it_prps TYPE TABLE OF prps.
FIELD-SYMBOLS:
<lo_lcl> TYPE ANY,
<ls_item> TYPE mereq_item,
<ls_itemx> TYPE mereq_itemx.
DATA : ws_eban TYPE eban.
l_item_ref ?= im_item. " TYPE REF TO if_purchase_requisition_item
*data: obj type ref to lcl_req_item.
*create object: obj type lcl_req_item.
lo_obj = l_item-item. " casting to root object !!!!!
*************************
FIELD-SYMBOLS: <test1> TYPE eban,<test2> TYPE eban.
DATA: oref TYPE REF TO data.
CREATE DATA oref LIKE l_item_ref.
* assign oref->* to <test1>.
* assign component 'C_ACMOD_AUTOMATIC'of structure <test1> to <lo_lcl>.
* ld_attr = 'C_ACMOD_AUTOMATIC'.
* assign l_item_ref->(ld_attr) to <lo_lcl>.
* assign component 'my_persistent_eban' of structure
****************************
* assign l_item_ref to <test2>.
DATA obj12 TYPE REF TO object.
DATA textname TYPE string.
DATA tline TYPE TABLE OF tline.
obj12 = im_item.
ld_attr = 'MY_PERSISTENT_EBAN'.
ASSIGN obj12->(ld_attr) TO <lo_lcl> .
DATA : et_textlines TYPE mmpur_t_textlines,
ev_bool TYPE c,
is_texttypes TYPE mmpur_texttypes.
MOVE <lo_lcl> TO ws_eban.
ld_attr = 'MY_STATE->ITEM'.
ASSIGN obj12->(ld_attr) TO <ls_item>.
SELECT SINGLE * FROM ebkn INTO wa_ebkn WHERE banfn = ws_eban-banfn.
ld_attr = 'MY_STATE->ITEMX'.
ASSIGN obj12->(ld_attr) TO <ls_itemx>.
* assign component
SELECT SINGLE * FROM prps INTO wa_prps WHERE pspnr = wa_ebkn-ps_psp_pnr.
CONCATENATE ws_eban-banfn ws_eban-bnfpo INTO textname.
is_texttypes-tdobject = 'EBAN'.
is_texttypes-tdid = 'B99'.
is_texttypes-tdtext = textname.
is_texttypes-textflag = 'X'.
*is_texttypes-DISPLAYMODE = 'X'.
IF ( ( ( ws_eban-werks EQ 'GAR1' ) OR ( ws_eban-werks EQ 'ARK2' ) ) AND ( ws_eban-knttp EQ 'Q' ) AND ( wa_prps-slwid EQ 'Z000001' ) ).
ELSE.
CALL METHOD l_item_ref->if_longtexts_mm~get_text(
EXPORTING
im_tdid = 'B99'
im_texttype = is_texttypes
IMPORTING
ex_textlines = et_textlines ).
REFRESH et_textlines.
CALL METHOD l_item_ref->if_longtexts_mm~set_text(
EXPORTING
im_tdid = 'B99'
im_textlines = et_textlines
) .
ENDIF.
***************************************
data: ls_item type mereq_item.
CALL METHOD l_item_ref->get_data
receiving
re_data = ls_item
.
ls_item-adrn2 = '94558'.
CALL METHOD l_item_ref->set_data
EXPORTING
im_data = ls_item
.
ENDMETHOD.
DATA: l_item_list TYPE mmpur_requisition_items,
l_item TYPE mmpur_requisition_item,
l_item_akt TYPE mereq_item,
l_item_ref TYPE REF TO if_purchase_requisition_item.
DATA:
ld_attr TYPE string,
lo_obj TYPE REF TO object, " root object
wa_ebkn TYPE ebkn,
it_ebkn TYPE TABLE OF ebkn,
wa_prps TYPE prps,
it_prps TYPE TABLE OF prps.
FIELD-SYMBOLS:
<lo_lcl> TYPE ANY,
<ls_item> TYPE mereq_item,
<ls_itemx> TYPE mereq_itemx.
DATA : ws_eban TYPE eban.
l_item_ref ?= im_item. " TYPE REF TO if_purchase_requisition_item
*data: obj type ref to lcl_req_item.
*create object: obj type lcl_req_item.
lo_obj = l_item-item. " casting to root object !!!!!
*************************
FIELD-SYMBOLS: <test1> TYPE eban,<test2> TYPE eban.
DATA: oref TYPE REF TO data.
CREATE DATA oref LIKE l_item_ref.
* assign oref->* to <test1>.
* assign component 'C_ACMOD_AUTOMATIC'of structure <test1> to <lo_lcl>.
* ld_attr = 'C_ACMOD_AUTOMATIC'.
* assign l_item_ref->(ld_attr) to <lo_lcl>.
* assign component 'my_persistent_eban' of structure
****************************
* assign l_item_ref to <test2>.
DATA obj12 TYPE REF TO object.
DATA textname TYPE string.
DATA tline TYPE TABLE OF tline.
obj12 = im_item.
ld_attr = 'MY_PERSISTENT_EBAN'.
ASSIGN obj12->(ld_attr) TO <lo_lcl> .
DATA : et_textlines TYPE mmpur_t_textlines,
ev_bool TYPE c,
is_texttypes TYPE mmpur_texttypes.
MOVE <lo_lcl> TO ws_eban.
ld_attr = 'MY_STATE->ITEM'.
ASSIGN obj12->(ld_attr) TO <ls_item>.
SELECT SINGLE * FROM ebkn INTO wa_ebkn WHERE banfn = ws_eban-banfn.
ld_attr = 'MY_STATE->ITEMX'.
ASSIGN obj12->(ld_attr) TO <ls_itemx>.
* assign component
SELECT SINGLE * FROM prps INTO wa_prps WHERE pspnr = wa_ebkn-ps_psp_pnr.
CONCATENATE ws_eban-banfn ws_eban-bnfpo INTO textname.
is_texttypes-tdobject = 'EBAN'.
is_texttypes-tdid = 'B99'.
is_texttypes-tdtext = textname.
is_texttypes-textflag = 'X'.
*is_texttypes-DISPLAYMODE = 'X'.
IF ( ( ( ws_eban-werks EQ 'GAR1' ) OR ( ws_eban-werks EQ 'ARK2' ) ) AND ( ws_eban-knttp EQ 'Q' ) AND ( wa_prps-slwid EQ 'Z000001' ) ).
ELSE.
CALL METHOD l_item_ref->if_longtexts_mm~get_text(
EXPORTING
im_tdid = 'B99'
im_texttype = is_texttypes
IMPORTING
ex_textlines = et_textlines ).
REFRESH et_textlines.
CALL METHOD l_item_ref->if_longtexts_mm~set_text(
EXPORTING
im_tdid = 'B99'
im_textlines = et_textlines
) .
ENDIF.
***************************************
data: ls_item type mereq_item.
CALL METHOD l_item_ref->get_data
receiving
re_data = ls_item
.
ls_item-adrn2 = '94558'.
CALL METHOD l_item_ref->set_data
EXPORTING
im_data = ls_item
.
ENDMETHOD.
No comments:
Post a Comment