METHOD Ref : LIBAPI_ALM_ORDER_PROCESSINGCON
DATA : lv_lines TYPE i, lv_count TYPE i, lv_last TYPE c. DATA : lt_method TYPE TABLE OF bapi_alm_order_method WITH HEADER LINE, lt_header TYPE TABLE OF bapi_alm_order_headers_i WITH HEADER LINE, lt_headerx TYPE TABLE OF bapi_alm_order_headers_up WITH HEADER LINE, lt_return TYPE TABLE OF bapiret2 WITH HEADER LINE. DESCRIBE TABLE gt_indexes LINES lv_lines. LOOP AT gt_indexes. CLEAR : lv_last. IF lv_lines EQ sy-tabix. lv_last = 'X'. ENDIF. READ TABLE gt_alv_dt INDEX gt_indexes-index. CHECK sy-subrc IS INITIAL. lv_count = lv_count + 1. lt_method-refnumber = lv_count. lt_method-objecttype = 'HEADER'. lt_method-objectkey = gt_alv_dt-aufnr. lt_method-method = 'CHANGE'. APPEND lt_method. lt_method-objecttype = ' '. CASE lv_last. WHEN 'X'. lt_method-method = 'SAVE'. WHEN space. lt_method-method = 'DIALOG'. ENDCASE. APPEND lt_method. lt_header-orderid = gt_alv_dt-aufnr. lt_header-systcond = 1. APPEND lt_header. lt_headerx-orderid = gt_alv_dt-aufnr. lt_headerx-systcond = 'X'. APPEND lt_headerx. ENDLOOP. CALL FUNCTION 'BAPI_ALM_ORDER_MAINTAIN' TABLES it_methods = lt_method[] it_header = lt_header[] it_header_up = lt_headerx[] return = lt_return. READ TABLE lt_return WITH KEY type = 'S'. IF sy-subrc IS INITIAL. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = 'X'. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. DESCRIBE TABLE lt_return LINES lv_lines. READ TABLE lt_return INDEX lv_lines. PERFORM show_bapi_message USING lt_return. ENDIF.
'SAP > ABAP' 카테고리의 다른 글
Check if Function call is RFC or Not. (0) | 2015.07.09 |
---|---|
Set initial Screen Variant for Report (0) | 2014.12.03 |
Save Smartform Output in PDF format without code (0) | 2014.11.19 |
Remove special char using hex or char. (0) | 2014.11.19 |
Lock ABAP program. (0) | 2014.10.27 |