SAP/ABAP

how to call BAPI_ALM_ORDER_MAINTAIN

Denise 2014. 11. 27. 12:15
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