BAPI PO CREATE Example in SAP ABAP.
BAPI PO CREATE.
REPORT zbapi_po_creation.
include zbapi_po_creation_top. " top include for global data declration include zbapi_po_creation_sel. " sel include for selecation include zbapi_po_creation_sub. " f01 subrotine programs *----------------------------------------------* * I N I T I A L I Z A T I O N * *----------------------------------------------* INITIALIZATION. AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file. PERFORM f4_file_name. *&---------------------------------------------------------------------* *& Start of Selection Event * *&---------------------------------------------------------------------* START-OF-SELECTION. PERFORM data_process. " CONVERTING DATA FROM EXCEL TO INTERNAL TABLE *PERFORM uplode_data. *----------------------------------------------* * E N D - O F - S E L E C T I O N * *----------------------------------------------* END-OF-SELECTION. CLEAR gcl_app_log. *****Application Log gcl_app_log = zca_cl_application_log=>get_instance( ). CALL METHOD gcl_app_log->create_app_log_handle( EXPORTING i_object = 'ZRKPANDEY' " Object In SLGO i_subobject = 'ZRKSUB' " Sub Object In SLGO i_tcode = sy-tcode i_repid = sy-cprog RECEIVING r_log_handle = gs_log_handle ). PERFORM uplode_data. ************************* Save and Display Application Log ************************* CALL METHOD gcl_app_log->save_and_display_app_log EXPORTING i_log_handle = gs_log_handle i_flg_save = abap_false. *Text elements *---------------------------------------------------------- * T01 select flat file *Selection texts *---------------------------------------------------------- * P_FILE D .
=============================================================================================
Code listing for: ZBAPI_PO_CREATION_TOP
Description: Include ZBAPI_PO_CREATION_TOP*&---------------------------------------------------------------------* *& Include ZBAPI_PO_CREATION_TOP *&---------------------------------------------------------------------* TYPES: BEGIN OF ty_file, vendor TYPE elifn, " vendro purch_org TYPE ekorg, " puraches orgnization pur_group TYPE bkgrp, " purache groups co_code TYPE bukrs, " comapny code po_item TYPE ebelp, " po item material TYPE matnr, " material number short_text TYPE txz01, " short text QUANTITY type BSTMG, " po quanity NET_PRICE TYPE BAPICUREXT, " net price plant TYPE EWERK, " net price END OF ty_file. DATA: po_number LIKE bapimepoheader-po_number. ***** Internal Table DATA : gt_final TYPE STANDARD TABLE OF ty_file, gs_final TYPE ty_file. * gt_return TYPE STANDARD TABLE OF bapireturn. DATA : gt_return TYPE STANDARD TABLE OF bapiret2, gs_return TYPE bapiret2. DATA : gt_type TYPE truxs_t_text_data. DATA: gt_po_items TYPE TABLE OF bapimepoitem, gt_poitemx TYPE TABLE OF bapimepoitemx, gs_poitemx TYPE bapimepoitemx, wa_po_items LIKE bapimepoitem, return TYPE bapireturn, po_header TYPE TABLE OF bapimepoheader, wa_poheaderx TYPE bapimepoheaderx, wa_po_header TYPE bapimepoheader. * passing constan for values DATA : gc_x TYPE c VALUE 'X'. ***** Declaration for application log DATA: gt_return_log TYPE bapiret2_t. ****************** Class/Objects*************************** DATA: gcl_app_log TYPE REF TO zca_cl_application_log, ****************** Internal Structure ********************* gs_log_handle TYPE balloghndl. "Local table DATA: gt_return1 TYPE STANDARD TABLE OF bapiret2, gs_return1 TYPE bapiret2. DATA: bapiret2 TYPE STANDARD TABLE OF bapiret2.
============================================================================================
Code listing for: ZBAPI_PO_CREATION_SEL
Description: Include ZBAPI_PO_CREATION_SEL*&---------------------------------------------------------------------* *& Include ZBAPI_PO_CREATION_SEL *&---------------------------------------------------------------------* SELECTION-SCREEN BEGIN OF BLOCK a1 WITH FRAME TITLE TEXT-t01. PARAMETER p_file TYPE rlgrap-filename. SELECTION-SCREEN END OF BLOCK a1.============================================================================================Code listing for: ZBAPI_PO_CREATION_SUB
Description: Include ZBAPI_PO_CREATION_SUB*&---------------------------------------------------------------------* *& Include ZBAPI_PO_CREATION_SUB *&---------------------------------------------------------------------* *&---------------------------------------------------------------------* *& Form UPLODE_DATA *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM uplode_data . DATA : lv_log(100) TYPE c. ***** Uploading the data into the database table READ TABLE gt_final INTO gs_final INDEX 1. * header data in po creation wa_po_header-vendor = gs_final-vendor. wa_po_header-purch_org = gs_final-purch_org. PERFORM f_converstion_exit. wa_po_header-pur_group = gs_final-pur_group. wa_po_header-comp_code = gs_final-co_code. * passing x values in po item wa_poheaderx-vendor = gc_x. wa_poheaderx-purch_org = gc_x. wa_poheaderx-pur_group = gc_x. wa_poheaderx-comp_code = gc_x. * item data move LOOP AT gt_final INTO gs_final. wa_po_items-po_item = gs_final-po_item. wa_po_items-material = gs_final-material. wa_po_items-short_text = gs_final-short_text. wa_po_items-quantity = gs_final-quantity. wa_po_items-net_price = gs_final-net_price. wa_po_items-plant = gs_final-plant. * passing x value in po item gs_poitemx-po_item = gs_final-po_item. gs_poitemx-po_itemx = gc_x. gs_poitemx-material = gc_x. gs_poitemx-short_text = gc_x. gs_poitemx-quantity = gc_x. gs_poitemx-po_price = gc_x. gs_poitemx-plant = gc_x. APPEND gs_poitemx TO gt_poitemx. APPEND wa_po_items TO gt_po_items. ENDLOOP. CALL FUNCTION 'BAPI_PO_CREATE1' EXPORTING poheader = wa_po_header poheaderx = wa_poheaderx IMPORTING exppurchaseorder = po_number TABLES return = gt_return1 poitem = gt_po_items poitemx = gt_poitemx. IF gt_return1[] IS NOT INITIAL. LOOP AT gt_return1 INTO gs_return1. "data(gs_return1). gs_return-type = gs_return1-type. gs_return-id = gs_return1-id. CONCATENATE po_number gs_return1-message INTO lv_log SEPARATED BY ' - '. gs_return-message_v1 = lv_log. APPEND gs_return TO gt_return. CLEAR : gs_return1. ENDLOOP. ENDIF. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = 'X'. CHECK sy-subrc EQ 0. CALL METHOD gcl_app_log->add_message_to_app_log EXPORTING i_log_handle = gs_log_handle i_tab_return = gt_return. ENDFORM. " UPLODE_DATA *&---------------------------------------------------------------------* *& Form F4_FILE_NAME *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM f4_file_name . CALL FUNCTION 'F4_FILENAME' EXPORTING field_name = 'P_FILE' IMPORTING file_name = p_file. ENDFORM. " F4_FILE_NAME *&---------------------------------------------------------------------* *& Form DATA_PROCESS *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM data_process . ****** Uploading the data in the file into internal table CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP' EXPORTING i_field_seperator = 'X' i_line_header = 'X' i_tab_raw_data = gt_type i_filename = p_file TABLES i_tab_converted_data = gt_final[] EXCEPTIONS conversion_failed = 1 OTHERS = 2. IF sy-subrc NE 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. ENDFORM. " DATA_PROCESS *&---------------------------------------------------------------------* *& Form F_CONVERSTION_EXIT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM f_converstion_exit . CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input = gs_final-pur_group IMPORTING output = gs_final-pur_group. ENDFORM. " F_CONVERSTION_EXIT===============================================
No comments:
Post a Comment