Hallom zusamman,
ich versuche mit dem Baustein BAPI_ALM_ORDER_MAINTAIN den Userstatus eines Auftrages zu ändern. Es kommt zwar keine Fehlermeldung , gheändert wird der Status auch nicht. Ich muss das Ding bis Morgen Vormittag zum laufen kriegen. Derjenige, der mir dabei Hilft, bekommt 0,5 Kg feinste belgische Pralinen......
Coding:
DATA: it_methods TYPE STANDARD TABLE OF bapi_alm_order_method,
is_methods TYPE bapi_alm_order_method.
*daten für Struktur update - Schalter
DATA: ls_update_opera TYPE bapi_alm_order_operation_up,
lt_update_opera
TYPE STANDARD TABLE OF bapi_alm_order_operation_up.
*Tabelle Statusänderung
DATA: lt_userstatus TYPE bapi_alm_order_usrstat_t,
ls_userstatus TYPE bapi_alm_order_usrstat.
*Vorgangsdefinition für BAPI
DATA: lt_operation TYPE bapi_alm_order_operation_t,
ls_operation TYPE bapi_alm_order_operation.
*Returnparameter BAPI
DATA: lt_bapiret2 TYPE bapiret2_t,
ls_bapiret2 TYPE bapiret2.
*Daten für Fehler beim Commit
DATA: iret_commit TYPE bapiret2.
CLEAR is_methods.
MOVE: '000001' TO is_methods-refnumber,
'SAVE' TO is_methods-method.
APPEND is_methods TO it_methods.
CLEAR is_methods.
MOVE '000001' TO is_methods-refnumber.
is_methods-objecttype = 'USERSTATUS'.
is_methods-method = 'CHANGE'.
is_methods-objectkey = 'A213400'.
APPEND is_methods TO it_methods.
CLEAR is_methods.
clear: ls_userstatus.
ls_userstatus-user_st_text = 'wzzs'.
ls_userstatus-langu = sy-langu.
ls_userstatus-inactive = ' '.
ls_userstatus-change_event = '01'.
APPEND ls_userstatus TO lt_userstatus.
CALL FUNCTION 'BAPI_ALM_ORDER_MAINTAIN'
TABLES
it_methods = it_methods
it_userstatus = lt_userstatus
return = lt_bapiret2.
.
READ TABLE lt_bapiret2 INTO ls_bapiret2 WITH KEY type = 'E'.
IF sy-subrc eq 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
* EXPORTING
* WAIT = 'X'
IMPORTING
return = iret_commit
.
IF iret_commit-type = 'E'.
ENDIF.
ENDIF.
Danke im Voraus
Jens