Code: Alles auswählen.
DATA: fxihpa TYPE STANDARD TABLE OF ihpavb.
" Synchrone Verbuchung im selben Work-Prozess erzwingen
SET UPDATE TASK LOCAL.
ASSERT sy-subrc = 0.
CALL FUNCTION 'PM_PARTNER_INIT_OBJNR'
EXPORTING
objnr = equi_objnr.
SELECT * FROM ihpa INTO CORRESPONDING FIELDS OF TABLE fxihpa
WHERE objnr = equi_objnr.
LOOP AT fxihpa ASSIGNING FIELD-SYMBOL(<fs_fxihpa>).
<fs_fxihpa>-updkz = zcl_lag_best_booking_constants=>c_vbkz_aendern_update.
<fs_fxihpa>-kzloesch = space.
" Nur relevante Partnerrollen verarbeiten, andere unverändert lassen
CASE <fs_fxihpa>-parvw.
WHEN zcl_lag_best_booking_constants=>c_parvw_leistungsempfaenger.
<fs_fxihpa>-parnr = io_recipient->user_data_from_pws-persnr.
WHEN zif_constants=>c_parvw_koe.
<fs_fxihpa>-parnr = io_recipient->user_data_from_pws-koe.
WHEN zif_constants=>c_parvw_kostenstelle.
<fs_fxihpa>-parnr = io_recipient->user_data_from_pws-kostl.
WHEN OTHERS.
" Andere Partnerrollen nicht ändern
CLEAR <fs_fxihpa>-updkz.
CONTINUE.
ENDCASE.
ENDLOOP.
CALL FUNCTION 'PM_PARTNER_UPDATE' IN UPDATE TASK
TABLES
fxihpa = fxihpa.
COMMIT WORK AND WAIT.