Code: Alles auswählen.
FORM cs_auftr_rueckmelden using p_wa_itab_imerk TYPE imerk_zeile.
DATA: wa_itab_timeticket TYPE BAPI_ALM_TIMECONFIRMATION,
itab_timeticket TYPE TABLE OF BAPI_ALM_TIMECONFIRMATION,
l_wa_return TYPE BAPIRET2,
* l_wa_return_commit TYPE BAPIRET2,
l_wa_retmsg TYPE BAPI_CORU_RETURN
.
wa_itab_timeticket-conf_no = p_wa_itab_imerk-rueckmeldenr.
APPEND wa_itab_timeticket TO itab_timeticket.
*Vorschlagswerte für Rückmeldúng ermitteln
CALL FUNCTION 'BAPI_ALM_GET_PROP'
* EXPORTING
* PROPOSAL = ' '
* IMPORTING
* RETURN =
TABLES
TIMETICKETS = itab_timeticket
DETAIL_RETURN = g_it_retmsg
.
*Rückmeldung mit Vorschlagswerten durchführen
CALL FUNCTION 'BAPI_ALM_CONF_CREATE'
EXPORTING
POST_WRONG_ENTRIES = '2'"Rückmeldungen, bei denen keine Ausnahmesituation auftrat, werden gebucht. Alle Rückmeldungen, bei denen fehlerhafte Daten oder Sperrsituationen festgestellt wurden, werden in den Fehlervorrat übernommen
* TESTRUN = 'X'
IMPORTING
RETURN = l_wa_return
TABLES
TIMETICKETS = itab_timeticket
DETAIL_RETURN = g_it_retmsg.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
* IMPORTING
* RETURN = l_wa_return_commit
.
ENDIF.
ENDFORM. "cs_auftr_rueckmelden