Sample update program sap abap
REPORT zjatest.
TABLES:mara.
TYPES: tt_final TYPE STANDARD TABLE OF yvendor_rep.
SELECT-OPTIONS s_matnr FOR mara-matnr.
DATA:
g_global_plant TYPE werks_d, " Global Plant
* g_supply_chain_owner TYPE ysplchown_short_descr,
gi_final TYPE tt_final, " Final table will be the collection of all data
gi_message TYPE bapiret2_t,
gi_yvendor_screen TYPE STANDARD TABLE OF yvendor_screen,
gi_vendor_plants TYPE STANDARD TABLE OF yvendor_plants.
data: s_beskz type range of marc-beskz ,
s_manul type RANGE OF yvendor_screen-ymanual_handle,
s_consm type RANGE OF yvendor_screen-yconsuming.
CALL FUNCTION 'Y_VENDOR_SELECT_N_PREPARE'
IMPORTING
ex_global_plant = g_global_plant
et_final = gi_final
et_msg = gi_message
TABLES
tb_matnr = s_matnr
tb_yvendor_screen = gi_yvendor_screen
TB_BESKZ = s_beskz
TB_MANUL = s_manul
TB_CONSM = s_consm
TB_VENDOR_PLANTS = gi_vendor_plants
EXCEPTIONS
development_owner_not_found = 1
global_buyer_not_found = 2
supply_chain_owner_not_found = 3
global_status_code_not_found = 4
vendor_mark_code_not_found = 5
no_record_found = 6
OTHERS = 7.
IF sy-subrc <> 0.
" Display the error message if no data found for the given input
* MESSAGE i019.
LEAVE LIST-PROCESSING.
ENDIF.
LOOP AT gi_final ASSIGNING FIELD-SYMBOL(<ls_final>) WHERE werks <> '500'.
READ TABLE gi_yvendor_screen ASSIGNING FIELD-SYMBOL(<ls_vendor>) WITH KEY matnr = <ls_final>-matnr werks = <ls_final>-werks yeord = <ls_final>-yeord.
IF sy-subrc = 0 AND <ls_vendor>-lifnr IS INITIAL.
<ls_vendor>-lifnr = <ls_final>-lifnr.
ENDIF.
ENDLOOP.
UPDATE yvendor_screen FROM TABLE gi_yvendor_screen.
Commit work.
Comments
Post a Comment