You are on page 1of 2

DATA:

lt_item_sc TYPE bbpt_pd_sc_item_icu,


ls_orgdata TYPE bbp_pds_org,
ls_longtext TYPE bbp_pds_longtext,
lv_string TYPE string.
DATA lde_end TYPE c.
* call update buffer*
* MOVE-CORRESPONDING is_item TO ls_item_sc.
APPEND is_item TO lt_item_sc.
* Update PDO buffer for item
CALL METHOD me->core_object->mo_pdo_update_buffer->/sapsrm/if_pdo_update_buffe
r~update
EXPORTING
it_item = lt_item_sc
CHANGING
co_message_handler = co_message_handler.
* Update Partners via DO
CALL METHOD me->core_object->/sapsrm/if_pdo_do_partner_base~update_item_partne
rs
EXPORTING
iv_item_guid = is_item-guid
it_partner = it_partner
CHANGING
co_message_handler = co_message_handler.
* Update Pricedata via DO
CALL METHOD me->core_object->/sapsrm/if_pdo_do_price_calc~update_price_record
EXPORTING
it_pridoc = it_pridoc
CHANGING
co_message_handler = co_message_handler.
* Update Orgdata via DO
READ TABLE it_orgdata INTO ls_orgdata
WITH KEY p_guid = is_item-guid.
CALL METHOD me->core_object->/sapsrm/if_pdo_do_orgdata~update_orgdata
EXPORTING
is_orgdata = ls_orgdata
CHANGING
co_message_handler = co_message_handler.
* Update Account Assignment via DO
CALL METHOD me->core_object->/sapsrm/if_pdo_do_acct_assgmnt~update_account_ass
ignment
EXPORTING
it_account = it_account
CHANGING
* EV_CHANGED =
co_message_handler = co_message_handler.
* Update Longtexts
IF it_longtext IS SUPPLIED.
LOOP AT it_longtext INTO ls_longtext WHERE guid EQ is_item-guid.
CONCATENATE lv_string ls_longtext-tdline INTO lv_string.
AT END OF TDID.
lde_end = 'X'.
ENDAT.
IF lde_end = 'X'.
TRY.
CALL METHOD me->core_object->/sapsrm/if_pdo_do_longtext~add_longtext
EXPORTING
iv_p_guid = ls_longtext-guid
iv_tdid = ls_longtext-tdid
iv_tdspras = ls_longtext-tdspras
iv_tdformat = ls_longtext-tdformat
iv_text_preview = lv_string
CHANGING
co_message_handler = co_message_handler.
* CATCH /sapsrm/cx_pdo_text_exsits.
ENDTRY.
CLEAR lv_string.
CLEAR lde_end.
ENDIF.
ENDLOOP.
ENDIF.
* Update Limit
IF it_limit IS SUPPLIED.
IF NOT it_limit IS INITIAL.
me->core_object->mo_pdo_update_buffer->/sapsrm/if_pdo_update_buffer~update
(
EXPORTING
it_limit = it_limit
CHANGING
co_message_handler = co_message_handler ).
ENDIF.
ENDIF.
* Update Attachment
IF it_attach IS SUPPLIED.
IF NOT it_attach IS INITIAL.
me->core_object->mo_pdo_update_buffer->/sapsrm/if_pdo_update_buffer~update
(
EXPORTING
it_attach = it_attach
CHANGING
co_message_handler = co_message_handler ).
ENDIF.
ENDIF.
* Update tax
IF it_tax IS SUPPLIED.
IF NOT it_tax IS INITIAL.
me->core_object->mo_pdo_update_buffer->/sapsrm/if_pdo_update_buffer~update
(
EXPORTING
it_tax = it_tax
CHANGING
co_message_handler = co_message_handler ).
ENDIF.
ENDIF.

You might also like