Anda di halaman 1dari 4

FUNCTION zbapi_create_order.

*"---------------------------------------------------------------------*"*"Local Interface: *" IMPORTING *" VALUE(VENDOR) TYPE ELIFN OPTIONAL *" VALUE(VPER_START) TYPE KDATB DEFAULT SY-DATUM *" VALUE(VPER_END) TYPE KDATE OPTIONAL *" VALUE(IMAGE_NAME) TYPE SKWF_FILNM DEFAULT 'IMG1' *" EXPORTING *" VALUE(EBELN) TYPE EKKO-EBELN *" VALUE(MESSAGE) TYPE BAPIRET2-MESSAGE *" TABLES *" IT_BIN_IMAGE STRUCTURE SOLISTI1 OPTIONAL *" RET STRUCTURE BAPIRET2 OPTIONAL *" IMAGE_INFO STRUCTURE ZIMGINFO OPTIONAL *" INPUT STRUCTURE ZSTR_ORDER OPTIONAL *"----------------------------------------------------------------------

DATA: head LIKE bapimeoutheader. DATA: headx LIKE bapimeoutheaderx. DATA: lv_ebeln LIKE ekko-ebeln. *DATA: RET LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE. DATA: item LIKE bapimeoutitem OCCURS 0 WITH HEADER LINE. DATA: itemx LIKE bapimeoutitemx OCCURS 0 WITH HEADER LINE. DATA: cnt(10). FREE: ret. * delete from ZPOLIST where ebeln <> ' '. head-vendor = vendor. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input = vendor IMPORTING output = head-vendor. IF NOT head-vendor IS INITIAL. headx-vendor = 'X'. ENDIF. head-doc_type = 'MK'. IF NOT head-doc_type IS INITIAL. headx-doc_type = 'X'. ENDIF. head-doc_date = sy-datum. IF NOT head-doc_date IS INITIAL. headx-doc_date = 'X'. ENDIF. head-purch_org = 'R300'. head-pur_group = 'R30'. IF NOT head-purch_org IS INITIAL. headx-purch_org = 'X'.

ENDIF. IF NOT head-pur_group IS INITIAL. headx-pur_group = 'X'. ENDIF. head-vper_start = vper_start. head-vper_end = vper_end. IF NOT head-vper_start IS INITIAL. headx-vper_start = 'X'. ENDIF. IF NOT head-vper_end IS INITIAL. headx-vper_end = 'X'. ENDIF. * HEAD-LANGU = SY-LANGU. * HEADX-LANGU = 'X'. head-currency = 'USD'. headx-currency = 'X'. FREE: item, itemx. LOOP AT input. DATA: short TYPE char20. ADD 10 TO cnt. *BREAK-POINT. item-item_no = cnt. item-target_qty = input-target_qty. item-acctasscat = 'U'. itemx-acctasscat = 'X'. item-net_price = input-net_price . itemx-net_price = 'X'. item-orderpr_un = 'EA'. itemx-orderpr_un = 'X'. item-po_unit = 'EA'. itemx-po_unit = 'X'. CONCATENATE input-vendor_style_id '/' input-color INTO short. item-short_text = short. "INPUT-SHORT_TEXT. itemx-short_text = 'X'. item-matl_group = input-matl_group. itemx-matl_group = 'X'. APPEND item. IF NOT item-item_no IS INITIAL. itemx-item_no = cnt. ENDIF. IF NOT item-material IS INITIAL. itemx-material = 'X'. ENDIF. IF NOT item-target_qty IS INITIAL. itemx-target_qty = 'X'. ENDIF. * IF NOT ITEM-PLANT IS INITIAL.

* * * * *

ITEMX-PLANT = 'X'. ENDIF. IF NOT ITEM-STGE_LOC IS INITIAL. ITEMX-STGE_LOC = 'X'. ENDIF. APPEND itemx. CLEAR: item, itemx. ENDLOOP.

CALL FUNCTION 'BAPI_CONTRACT_CREATE' EXPORTING header = head headerx = headx ** VENDOR_ADDRESS = ** TESTRUN = ** TECHNICAL_DATA = IMPORTING purchasingdocument = lv_ebeln * EXP_HEADER = TABLES return = ret item = item itemx = itemx.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' * EXPORTING * WAIT = * IMPORTING * RETURN = RETURN . .

READ TABLE ret WITH KEY type = 'E'. IF sy-subrc EQ 0. message = ret-message. ELSE. CONCATENATE 'Contract Agreement' lv_ebeln 'is created successfully.' INTO message SEPARATED BY ' '. ENDIF. CALL FUNCTION 'Z_BAPI_IMAGE' EXPORTING agreement = lv_ebeln image_name = image_name TABLES it_bin_image = it_bin_image image_info = image_info.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

ebeln = lv_ebeln.

ENDFUNCTION.

Anda mungkin juga menyukai