Folgende Benutzer bedankten sich beim Autor Tron für den Beitrag:
Sebastian82
Den wird es nicht geben mal abgesehen von BAPI_MATERIAL_SAVEDATA, da das Material ja asynchron, in einem separaten Prozess, verbucht wird.Kennt jemand einen User Exit der aufgerufen wird, NACHDEM die Daten der
Materialmaske in die Datenbank übernommen wurden?
Code: Alles auswählen.
:
:
:
ENHANCEMENT-POINT MATERIAL_UPDATE_ALL_11 SPOTS ES_SAPLMGMU .
*$*$-Start: MATERIAL_UPDATE_ALL_11--------------------------------------------------------------$*$*
ENHANCEMENT 1 ZMM_CHECK_MSTAV. "active version
" Tranparente Kundentabelle zmm_mstavstatus:
" MANDT MANDT
" MATNR MATNR
" DELDATE AUSBDAT
" PFLAG NRMARK
data: gs_mstavstatus type zmm_mstavstatus.
" OMARA = OLD mara
" MARA = NEW mara
if Omara-mstav eq gv_mstav and mara-mstav ne gv_mstav.
clear gs_mstavstatus.
gs_mstavstatus-matnr = omara-matnr.
gs_mstavstatus-deldate = sy-datum.
CALL FUNCTION 'Z_MM_MSTAVPOST' in UPDATE TASK
EXPORTING
im_status = gs_mstavstatus
im_processing_mode = 'I'.
endif.
ENDENHANCEMENT.
*$*$-End: MATERIAL_UPDATE_ALL_11--------------------------------------------------------------$*$*
:
:
:
Code: Alles auswählen.
* WOBEI:
FUNCTION z_mm_mstavpost.
*"----------------------------------------------------------------------
*"*"Update Function Module:
*"
*"*"Local Interface:
*" IMPORTING
*" VALUE(IM_STATUS) TYPE ZMM_MSTAVSTATUS
*" VALUE(IM_PROCESSING_MODE) TYPE UPDKZ_D DEFAULT 'I'
*"----------------------------------------------------------------------
DATA ls_zmm_mstavstatus TYPE zmm_mstavstatus.
DATA lv_processing_mode TYPE updkz_d.
lv_processing_mode = im_processing_mode.
CLEAR ls_zmm_mstavstatus.
SELECT SINGLE * FROM zmm_mstavstatus INTO ls_zmm_mstavstatus
WHERE matnr EQ im_status-matnr.
ls_zmm_mstavstatus-matnr = im_status-matnr.
ls_zmm_mstavstatus-deldate = im_status-deldate.
ls_zmm_mstavstatus-pflag = im_status-pflag.
CASE lv_processing_mode.
* modify / update_table
WHEN 'M'.
TRY.
MODIFY zmm_mstavstatus FROM ls_zmm_mstavstatus.
CATCH cx_sy_dynamic_osql_error.
* MESSAGE i061.
ENDTRY.
WHEN 'U'.
TRY.
UPDATE zmm_mstavstatus FROM ls_zmm_mstavstatus.
CATCH cx_sy_dynamic_osql_error.
* MESSAGE i061.
ENDTRY.
* insert into table
WHEN 'I'.
TRY.
INSERT zmm_mstavstatus FROM ls_zmm_mstavstatus.
CATCH cx_sy_dynamic_osql_error.
"MESSAGE I061.
ENDTRY.
* delete table
WHEN 'D'.
TRY.
DELETE zmm_mstavstatus FROM ls_zmm_mstavstatus.
CATCH cx_sy_dynamic_osql_error.
"MESSAGE I061.
ENDTRY.
WHEN OTHERS.
"RAISE wrong_action_code.
ENDCASE.
ENDFUNCTION.
Folgende Benutzer bedankten sich beim Autor Tron für den Beitrag:
Sebastian82
Mit Event 1250 sollte das gehen.