<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: BAPI in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi/m-p/3418660#M821097</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hope this will help you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Please reward if help.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT zpo_bapi_purchord_tej.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA DECLARATIONS *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF ty_table,&lt;/P&gt;&lt;P&gt;v_legacy(8),&lt;/P&gt;&lt;P&gt;vendor TYPE bapimepoheader-vendor,&lt;/P&gt;&lt;P&gt;purch_org TYPE bapimepoheader-purch_org,&lt;/P&gt;&lt;P&gt;pur_group TYPE bapimepoheader-pur_group,&lt;/P&gt;&lt;P&gt;material TYPE bapimepoitem-material,&lt;/P&gt;&lt;P&gt;quantity(13),&lt;/P&gt;&lt;P&gt;delivery_date TYPE bapimeposchedule-delivery_date,&lt;/P&gt;&lt;P&gt;net_price(23),&lt;/P&gt;&lt;P&gt;plant TYPE bapimepoitem-plant,&lt;/P&gt;&lt;P&gt;END OF ty_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF ty_alv,&lt;/P&gt;&lt;P&gt;v_legs(8),&lt;/P&gt;&lt;P&gt;success(10),&lt;/P&gt;&lt;P&gt;v_legf(8),&lt;/P&gt;&lt;P&gt;END OF ty_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF ty_alv1,&lt;/P&gt;&lt;P&gt;v_legf1(8),&lt;/P&gt;&lt;P&gt;v_msg(500),&lt;/P&gt;&lt;P&gt;END OF ty_alv1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----Work area declarations.&lt;/P&gt;&lt;P&gt;DATA: x_table TYPE ty_table,&lt;/P&gt;&lt;P&gt;x_header TYPE bapimepoheader,&lt;/P&gt;&lt;P&gt;x_headerx TYPE bapimepoheaderx,&lt;/P&gt;&lt;P&gt;x_item TYPE bapimepoitem,&lt;/P&gt;&lt;P&gt;x_itemx TYPE bapimepoitemx,&lt;/P&gt;&lt;P&gt;x_sched TYPE bapimeposchedule,&lt;/P&gt;&lt;P&gt;x_schedx TYPE bapimeposchedulx,&lt;/P&gt;&lt;P&gt;x_commatable(255),&lt;/P&gt;&lt;P&gt;x_alv TYPE ty_alv,&lt;/P&gt;&lt;P&gt;x_alv1 TYPE ty_alv1,&lt;/P&gt;&lt;P&gt;x_alv2 TYPE ty_alv1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----Internal table declarations.&lt;/P&gt;&lt;P&gt;DATA: it_table TYPE TABLE OF ty_table,&lt;/P&gt;&lt;P&gt;it_commatable LIKE TABLE OF x_commatable,&lt;/P&gt;&lt;P&gt;it_item TYPE TABLE OF bapimepoitem,&lt;/P&gt;&lt;P&gt;it_itemx TYPE TABLE OF bapimepoitemx,&lt;/P&gt;&lt;P&gt;it_sched TYPE TABLE OF bapimeposchedule,&lt;/P&gt;&lt;P&gt;it_schedx TYPE TABLE OF bapimeposchedulx,&lt;/P&gt;&lt;P&gt;it_alv TYPE TABLE OF ty_alv,&lt;/P&gt;&lt;P&gt;it_alv1 TYPE TABLE OF ty_alv1,&lt;/P&gt;&lt;P&gt;it_alv2 TYPE TABLE OF ty_alv1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: po_number TYPE bapimepoheader-po_number,&lt;/P&gt;&lt;P&gt;x_return TYPE bapiret2,&lt;/P&gt;&lt;P&gt;it_return TYPE TABLE OF bapiret2,&lt;/P&gt;&lt;P&gt;v_file TYPE string,&lt;/P&gt;&lt;P&gt;v_temp(8),&lt;/P&gt;&lt;P&gt;v_succsount TYPE i VALUE 0,&lt;/P&gt;&lt;P&gt;v_failcount TYPE i VALUE 0,&lt;/P&gt;&lt;P&gt;v_total TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: v_temp1(5) TYPE n VALUE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: x_event TYPE slis_t_event,&lt;/P&gt;&lt;P&gt;x_fieldcat TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;x_list_header TYPE slis_t_listheader,&lt;/P&gt;&lt;P&gt;x_event1 LIKE LINE OF x_event,&lt;/P&gt;&lt;P&gt;x_layout1 TYPE slis_layout_alv,&lt;/P&gt;&lt;P&gt;x_variant1 TYPE disvariant,&lt;/P&gt;&lt;P&gt;x_repid2 LIKE sy-repid.&lt;/P&gt;&lt;P&gt;DATA : it_fieldcat TYPE TABLE OF slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SELECTION-SCREEN *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK v_b1 WITH FRAME.&lt;/P&gt;&lt;P&gt;*-----To fetch the flat file.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_file TYPE rlgrap-filename.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK v_b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AT SELECTION-SCREEN *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;IF p_file IS INITIAL.&lt;/P&gt;&lt;P&gt;MESSAGE text-001 TYPE 'E'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.&lt;/P&gt;&lt;P&gt;*-----To use F4 help to find file path.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'F4_FILENAME'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;program_name = syst-cprog&lt;/P&gt;&lt;P&gt;dynpro_number = syst-dynnr&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;file_name = p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;v_file = p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;START-OF-SELECTION *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM gui_upload.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT it_table INTO x_table.&lt;/P&gt;&lt;P&gt;PERFORM header_details.&lt;/P&gt;&lt;P&gt;v_temp = x_table-v_legacy.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT it_table INTO x_table WHERE v_legacy = v_temp.&lt;/P&gt;&lt;P&gt;PERFORM lineitem.&lt;/P&gt;&lt;P&gt;PERFORM schedule.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DELETE it_table WHERE v_legacy = v_temp.&lt;/P&gt;&lt;P&gt;PERFORM bapicall.&lt;/P&gt;&lt;P&gt;MOVE po_number TO x_alv-success.&lt;/P&gt;&lt;P&gt;APPEND x_alv TO it_alv.&lt;/P&gt;&lt;P&gt;CLEAR x_alv.&lt;/P&gt;&lt;P&gt;*-----To clear the item details in internal table after the operation for a header.&lt;/P&gt;&lt;P&gt;REFRESH: it_item,&lt;/P&gt;&lt;P&gt;it_itemx,&lt;/P&gt;&lt;P&gt;it_sched,&lt;/P&gt;&lt;P&gt;it_schedx.&lt;/P&gt;&lt;P&gt;CLEAR: v_temp1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;v_total = v_succsount + v_failcount.&lt;/P&gt;&lt;P&gt;PERFORM display_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM GUI_UPLOAD *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM gui_upload .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;filename = v_file&lt;/P&gt;&lt;P&gt;filetype = 'ASC'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;data_tab = it_commatable&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;file_open_error = 1&lt;/P&gt;&lt;P&gt;file_read_error = 2&lt;/P&gt;&lt;P&gt;no_batch = 3&lt;/P&gt;&lt;P&gt;gui_refuse_filetransfer = 4&lt;/P&gt;&lt;P&gt;invalid_type = 5&lt;/P&gt;&lt;P&gt;no_authority = 6&lt;/P&gt;&lt;P&gt;unknown_error = 7&lt;/P&gt;&lt;P&gt;bad_data_format = 8&lt;/P&gt;&lt;P&gt;header_not_allowed = 9&lt;/P&gt;&lt;P&gt;separator_not_allowed = 10&lt;/P&gt;&lt;P&gt;header_too_long = 11&lt;/P&gt;&lt;P&gt;unknown_dp_error = 12&lt;/P&gt;&lt;P&gt;access_denied = 13&lt;/P&gt;&lt;P&gt;dp_out_of_memory = 14&lt;/P&gt;&lt;P&gt;disk_full = 15&lt;/P&gt;&lt;P&gt;dp_timeout = 16&lt;/P&gt;&lt;P&gt;OTHERS = 17&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;*-----To fetch the comma seperated flat file into an internal table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT it_commatable INTO x_commatable.&lt;/P&gt;&lt;P&gt;IF x_commatable IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;SPLIT x_commatable AT ',' INTO&lt;/P&gt;&lt;P&gt;x_table-v_legacy&lt;/P&gt;&lt;P&gt;x_table-vendor&lt;/P&gt;&lt;P&gt;x_table-purch_org&lt;/P&gt;&lt;P&gt;x_table-pur_group&lt;/P&gt;&lt;P&gt;x_table-material&lt;/P&gt;&lt;P&gt;x_table-quantity&lt;/P&gt;&lt;P&gt;x_table-delivery_date&lt;/P&gt;&lt;P&gt;x_table-net_price&lt;/P&gt;&lt;P&gt;x_table-plant.&lt;/P&gt;&lt;P&gt;APPEND x_table TO it_table.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;CLEAR x_table.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. " gui_upload&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM HEADER_DETAILS *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM header_details .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE 'NB' TO x_header-doc_type.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;input = x_table-vendor&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;output = x_table-vendor&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;MOVE x_table-vendor TO x_header-vendor.&lt;/P&gt;&lt;P&gt;MOVE x_table-purch_org TO x_header-purch_org.&lt;/P&gt;&lt;P&gt;MOVE x_table-pur_group TO x_header-pur_group.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_headerx-doc_type = 'X'.&lt;/P&gt;&lt;P&gt;x_headerx-vendor = 'X'.&lt;/P&gt;&lt;P&gt;x_headerx-purch_org = 'X'.&lt;/P&gt;&lt;P&gt;x_headerx-pur_group = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " header_details&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM LINEITEM *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM lineitem .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;v_temp1 = v_temp1 + 10.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;input = v_temp1&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;output = v_temp1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE v_temp1 TO x_item-po_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;input = x_table-material&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;output = x_table-material.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE x_table-material TO x_item-material.&lt;/P&gt;&lt;P&gt;MOVE x_table-quantity TO x_item-quantity.&lt;/P&gt;&lt;P&gt;MOVE x_table-net_price TO x_item-net_price.&lt;/P&gt;&lt;P&gt;MOVE x_table-plant TO x_item-plant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_itemx-po_item = v_temp1.&lt;/P&gt;&lt;P&gt;x_itemx-material = 'X'.&lt;/P&gt;&lt;P&gt;x_itemx-quantity = 'X'.&lt;/P&gt;&lt;P&gt;x_itemx-net_price = 'X'.&lt;/P&gt;&lt;P&gt;x_itemx-plant = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND x_item TO it_item.&lt;/P&gt;&lt;P&gt;APPEND x_itemx TO it_itemx.&lt;/P&gt;&lt;P&gt;CLEAR: x_item, x_itemx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " lineitem1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM SCHEDULE *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM schedule .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE x_table-delivery_date TO x_sched-delivery_date.&lt;/P&gt;&lt;P&gt;MOVE v_temp1 TO x_sched-po_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_schedx-delivery_date = 'X'.&lt;/P&gt;&lt;P&gt;x_schedx-po_item = v_temp1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND x_sched TO it_sched.&lt;/P&gt;&lt;P&gt;APPEND x_schedx TO it_schedx.&lt;/P&gt;&lt;P&gt;CLEAR: x_sched, x_schedx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " schedule&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM BAPICALL *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM bapicall .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_PO_CREATE1'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;poheader = x_header&lt;/P&gt;&lt;P&gt;poheaderx = x_headerx&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;exppurchaseorder = po_number&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;return = it_return&lt;/P&gt;&lt;P&gt;poitem = it_item&lt;/P&gt;&lt;P&gt;poitemx = it_itemx&lt;/P&gt;&lt;P&gt;poschedule = it_sched&lt;/P&gt;&lt;P&gt;poschedulex = it_schedx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF po_number IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;v_succsount = v_succsount + 1.&lt;/P&gt;&lt;P&gt;MOVE x_table-v_legacy TO x_alv-v_legs.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;v_failcount = v_failcount + 1.&lt;/P&gt;&lt;P&gt;MOVE x_table-v_legacy TO x_alv-v_legf.&lt;/P&gt;&lt;P&gt;MOVE x_table-v_legacy TO x_alv1-v_legf1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT it_return INTO x_return.&lt;/P&gt;&lt;P&gt;IF x_alv1-v_msg IS INITIAL.&lt;/P&gt;&lt;P&gt;MOVE x_return-message TO x_alv1-v_msg.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;CONCATENATE x_alv1-v_msg x_return-message INTO x_alv1-v_msg SEPARATED BY space.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND x_alv1 TO it_alv1.&lt;/P&gt;&lt;P&gt;CLEAR x_alv1.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. " bapicall&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM DISPLAY_ALV *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM display_alv .&lt;/P&gt;&lt;P&gt;PERFORM x_list_header.&lt;/P&gt;&lt;P&gt;PERFORM build_fieldcat CHANGING x_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_repid2 = sy-repid.&lt;/P&gt;&lt;P&gt;x_event1-name = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;x_event1-form = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;APPEND x_event1 TO x_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i_callback_program = x_repid2&lt;/P&gt;&lt;P&gt;is_layout = x_layout1&lt;/P&gt;&lt;P&gt;it_fieldcat = x_fieldcat&lt;/P&gt;&lt;P&gt;i_callback_user_command = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;i_callback_top_of_page = 'TOP_OF_PAGE'&lt;/P&gt;&lt;P&gt;i_save = 'A'&lt;/P&gt;&lt;P&gt;is_variant = x_variant1&lt;/P&gt;&lt;P&gt;it_events = x_event&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;t_outtab = it_alv&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;program_error = 1&lt;/P&gt;&lt;P&gt;OTHERS = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. " display_master_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM USER_COMMAND *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM user_command USING ucomm LIKE sy-ucomm selfield&lt;/P&gt;&lt;P&gt;TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE it_alv INTO x_alv INDEX selfield-tabindex.&lt;/P&gt;&lt;P&gt;CLEAR : x_alv2,it_alv2[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT it_alv1 INTO x_alv1 WHERE v_legf1 = x_alv-v_legf.&lt;/P&gt;&lt;P&gt;x_alv2 = x_alv1.&lt;/P&gt;&lt;P&gt;APPEND x_alv2 TO it_alv2 .&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : it_fieldcat TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;DATA : x3_fieldcat LIKE LINE OF it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR : x3_fieldcat,it_fieldcat[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR x3_fieldcat.&lt;/P&gt;&lt;P&gt;x3_fieldcat-col_pos = '1'.&lt;/P&gt;&lt;P&gt;x3_fieldcat-fieldname = 'V_LEGF1'.&lt;/P&gt;&lt;P&gt;x3_fieldcat-reptext_ddic = text-111.&lt;/P&gt;&lt;P&gt;x3_fieldcat-ref_tabname = 'IT_ALV2'.&lt;/P&gt;&lt;P&gt;APPEND x3_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR x3_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR x3_fieldcat.&lt;/P&gt;&lt;P&gt;x3_fieldcat-col_pos = '1'.&lt;/P&gt;&lt;P&gt;x3_fieldcat-fieldname = 'V_MSG'.&lt;/P&gt;&lt;P&gt;x3_fieldcat-reptext_ddic = text-112.&lt;/P&gt;&lt;P&gt;x3_fieldcat-ref_tabname = 'IT_ALV2'.&lt;/P&gt;&lt;P&gt;APPEND x3_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR x3_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_layout1-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;x_layout1-zebra = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF it_alv2[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i_callback_program = x_repid2&lt;/P&gt;&lt;P&gt;is_layout = x_layout1&lt;/P&gt;&lt;P&gt;it_fieldcat = it_fieldcat&lt;/P&gt;&lt;P&gt;i_save = 'A'&lt;/P&gt;&lt;P&gt;i_callback_top_of_page = 'TOP'&lt;/P&gt;&lt;P&gt;is_variant = x_variant1&lt;/P&gt;&lt;P&gt;it_events = x_event&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;t_outtab = it_alv2&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;program_error = 1&lt;/P&gt;&lt;P&gt;OTHERS = 2.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM USER_COMMAND *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM top.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;it_list_commentary = 'Commentry'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM BUILD_FIELDCAT *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_fieldcat CHANGING et_fieldcat TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: x1_fieldcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR x1_fieldcat.&lt;/P&gt;&lt;P&gt;x1_fieldcat-col_pos = '1'.&lt;/P&gt;&lt;P&gt;x1_fieldcat-fieldname = 'V_LEGS'.&lt;/P&gt;&lt;P&gt;x1_fieldcat-reptext_ddic = text-108.&lt;/P&gt;&lt;P&gt;x1_fieldcat-ref_tabname = 'IT_ALV'.&lt;/P&gt;&lt;P&gt;APPEND x1_fieldcat TO et_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR x1_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x1_fieldcat-col_pos = '2'.&lt;/P&gt;&lt;P&gt;x1_fieldcat-fieldname = 'SUCCESS'.&lt;/P&gt;&lt;P&gt;x1_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;x1_fieldcat-reptext_ddic = text-109.&lt;/P&gt;&lt;P&gt;x1_fieldcat-ref_tabname = 'IT_ALV'.&lt;/P&gt;&lt;P&gt;APPEND x1_fieldcat TO et_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR x1_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x1_fieldcat-col_pos = '3'.&lt;/P&gt;&lt;P&gt;x1_fieldcat-fieldname = 'V_LEGF'.&lt;/P&gt;&lt;P&gt;x1_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;x1_fieldcat-reptext_ddic = text-110.&lt;/P&gt;&lt;P&gt;x1_fieldcat-ref_tabname = 'IT_ALV'.&lt;/P&gt;&lt;P&gt;APPEND x1_fieldcat TO et_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR x1_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " build_fieldcat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM BUILD_LIST_HEADER *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM x_list_header.&lt;/P&gt;&lt;P&gt;DATA: x_list_header1 TYPE slis_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----List Header: type H&lt;/P&gt;&lt;P&gt;CLEAR x_list_header1 .&lt;/P&gt;&lt;P&gt;x_list_header1-typ = 'H'.&lt;/P&gt;&lt;P&gt;x_list_header1-info = text-105.&lt;/P&gt;&lt;P&gt;APPEND x_list_header1 TO x_list_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----List Key: type S&lt;/P&gt;&lt;P&gt;x_list_header1-typ = 'S'.&lt;/P&gt;&lt;P&gt;x_list_header1-key = text-106.&lt;/P&gt;&lt;P&gt;x_list_header1-info = v_total.&lt;/P&gt;&lt;P&gt;APPEND x_list_header1 TO x_list_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----List Key: Type S&lt;/P&gt;&lt;P&gt;CLEAR x_list_header1 .&lt;/P&gt;&lt;P&gt;x_list_header1-typ = 'S'.&lt;/P&gt;&lt;P&gt;x_list_header1-key = text-107.&lt;/P&gt;&lt;P&gt;x_list_header1-info = v_succsount.&lt;/P&gt;&lt;P&gt;APPEND x_list_header1 TO x_list_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " build_list_header&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM TOP_OF_PAGE *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;it_list_commentary = x_list_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " TOP_OF_PAGE&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 20 Feb 2008 08:26:17 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-02-20T08:26:17Z</dc:date>
    <item>
      <title>BAPI</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi/m-p/3418659#M821096</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm using BAPI_PO_CREATE1&lt;/P&gt;&lt;P&gt;now it is showing error that&lt;/P&gt;&lt;P&gt;Please enter material no. or account assignment category&lt;/P&gt;&lt;P&gt;what to do about it plz guide.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 20 Feb 2008 08:23:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi/m-p/3418659#M821096</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-20T08:23:39Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi/m-p/3418660#M821097</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hope this will help you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Please reward if help.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT zpo_bapi_purchord_tej.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA DECLARATIONS *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF ty_table,&lt;/P&gt;&lt;P&gt;v_legacy(8),&lt;/P&gt;&lt;P&gt;vendor TYPE bapimepoheader-vendor,&lt;/P&gt;&lt;P&gt;purch_org TYPE bapimepoheader-purch_org,&lt;/P&gt;&lt;P&gt;pur_group TYPE bapimepoheader-pur_group,&lt;/P&gt;&lt;P&gt;material TYPE bapimepoitem-material,&lt;/P&gt;&lt;P&gt;quantity(13),&lt;/P&gt;&lt;P&gt;delivery_date TYPE bapimeposchedule-delivery_date,&lt;/P&gt;&lt;P&gt;net_price(23),&lt;/P&gt;&lt;P&gt;plant TYPE bapimepoitem-plant,&lt;/P&gt;&lt;P&gt;END OF ty_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF ty_alv,&lt;/P&gt;&lt;P&gt;v_legs(8),&lt;/P&gt;&lt;P&gt;success(10),&lt;/P&gt;&lt;P&gt;v_legf(8),&lt;/P&gt;&lt;P&gt;END OF ty_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF ty_alv1,&lt;/P&gt;&lt;P&gt;v_legf1(8),&lt;/P&gt;&lt;P&gt;v_msg(500),&lt;/P&gt;&lt;P&gt;END OF ty_alv1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----Work area declarations.&lt;/P&gt;&lt;P&gt;DATA: x_table TYPE ty_table,&lt;/P&gt;&lt;P&gt;x_header TYPE bapimepoheader,&lt;/P&gt;&lt;P&gt;x_headerx TYPE bapimepoheaderx,&lt;/P&gt;&lt;P&gt;x_item TYPE bapimepoitem,&lt;/P&gt;&lt;P&gt;x_itemx TYPE bapimepoitemx,&lt;/P&gt;&lt;P&gt;x_sched TYPE bapimeposchedule,&lt;/P&gt;&lt;P&gt;x_schedx TYPE bapimeposchedulx,&lt;/P&gt;&lt;P&gt;x_commatable(255),&lt;/P&gt;&lt;P&gt;x_alv TYPE ty_alv,&lt;/P&gt;&lt;P&gt;x_alv1 TYPE ty_alv1,&lt;/P&gt;&lt;P&gt;x_alv2 TYPE ty_alv1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----Internal table declarations.&lt;/P&gt;&lt;P&gt;DATA: it_table TYPE TABLE OF ty_table,&lt;/P&gt;&lt;P&gt;it_commatable LIKE TABLE OF x_commatable,&lt;/P&gt;&lt;P&gt;it_item TYPE TABLE OF bapimepoitem,&lt;/P&gt;&lt;P&gt;it_itemx TYPE TABLE OF bapimepoitemx,&lt;/P&gt;&lt;P&gt;it_sched TYPE TABLE OF bapimeposchedule,&lt;/P&gt;&lt;P&gt;it_schedx TYPE TABLE OF bapimeposchedulx,&lt;/P&gt;&lt;P&gt;it_alv TYPE TABLE OF ty_alv,&lt;/P&gt;&lt;P&gt;it_alv1 TYPE TABLE OF ty_alv1,&lt;/P&gt;&lt;P&gt;it_alv2 TYPE TABLE OF ty_alv1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: po_number TYPE bapimepoheader-po_number,&lt;/P&gt;&lt;P&gt;x_return TYPE bapiret2,&lt;/P&gt;&lt;P&gt;it_return TYPE TABLE OF bapiret2,&lt;/P&gt;&lt;P&gt;v_file TYPE string,&lt;/P&gt;&lt;P&gt;v_temp(8),&lt;/P&gt;&lt;P&gt;v_succsount TYPE i VALUE 0,&lt;/P&gt;&lt;P&gt;v_failcount TYPE i VALUE 0,&lt;/P&gt;&lt;P&gt;v_total TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: v_temp1(5) TYPE n VALUE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: x_event TYPE slis_t_event,&lt;/P&gt;&lt;P&gt;x_fieldcat TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;x_list_header TYPE slis_t_listheader,&lt;/P&gt;&lt;P&gt;x_event1 LIKE LINE OF x_event,&lt;/P&gt;&lt;P&gt;x_layout1 TYPE slis_layout_alv,&lt;/P&gt;&lt;P&gt;x_variant1 TYPE disvariant,&lt;/P&gt;&lt;P&gt;x_repid2 LIKE sy-repid.&lt;/P&gt;&lt;P&gt;DATA : it_fieldcat TYPE TABLE OF slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SELECTION-SCREEN *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK v_b1 WITH FRAME.&lt;/P&gt;&lt;P&gt;*-----To fetch the flat file.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_file TYPE rlgrap-filename.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK v_b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AT SELECTION-SCREEN *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;IF p_file IS INITIAL.&lt;/P&gt;&lt;P&gt;MESSAGE text-001 TYPE 'E'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.&lt;/P&gt;&lt;P&gt;*-----To use F4 help to find file path.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'F4_FILENAME'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;program_name = syst-cprog&lt;/P&gt;&lt;P&gt;dynpro_number = syst-dynnr&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;file_name = p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;v_file = p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;START-OF-SELECTION *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM gui_upload.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT it_table INTO x_table.&lt;/P&gt;&lt;P&gt;PERFORM header_details.&lt;/P&gt;&lt;P&gt;v_temp = x_table-v_legacy.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT it_table INTO x_table WHERE v_legacy = v_temp.&lt;/P&gt;&lt;P&gt;PERFORM lineitem.&lt;/P&gt;&lt;P&gt;PERFORM schedule.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DELETE it_table WHERE v_legacy = v_temp.&lt;/P&gt;&lt;P&gt;PERFORM bapicall.&lt;/P&gt;&lt;P&gt;MOVE po_number TO x_alv-success.&lt;/P&gt;&lt;P&gt;APPEND x_alv TO it_alv.&lt;/P&gt;&lt;P&gt;CLEAR x_alv.&lt;/P&gt;&lt;P&gt;*-----To clear the item details in internal table after the operation for a header.&lt;/P&gt;&lt;P&gt;REFRESH: it_item,&lt;/P&gt;&lt;P&gt;it_itemx,&lt;/P&gt;&lt;P&gt;it_sched,&lt;/P&gt;&lt;P&gt;it_schedx.&lt;/P&gt;&lt;P&gt;CLEAR: v_temp1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;v_total = v_succsount + v_failcount.&lt;/P&gt;&lt;P&gt;PERFORM display_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM GUI_UPLOAD *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM gui_upload .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;filename = v_file&lt;/P&gt;&lt;P&gt;filetype = 'ASC'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;data_tab = it_commatable&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;file_open_error = 1&lt;/P&gt;&lt;P&gt;file_read_error = 2&lt;/P&gt;&lt;P&gt;no_batch = 3&lt;/P&gt;&lt;P&gt;gui_refuse_filetransfer = 4&lt;/P&gt;&lt;P&gt;invalid_type = 5&lt;/P&gt;&lt;P&gt;no_authority = 6&lt;/P&gt;&lt;P&gt;unknown_error = 7&lt;/P&gt;&lt;P&gt;bad_data_format = 8&lt;/P&gt;&lt;P&gt;header_not_allowed = 9&lt;/P&gt;&lt;P&gt;separator_not_allowed = 10&lt;/P&gt;&lt;P&gt;header_too_long = 11&lt;/P&gt;&lt;P&gt;unknown_dp_error = 12&lt;/P&gt;&lt;P&gt;access_denied = 13&lt;/P&gt;&lt;P&gt;dp_out_of_memory = 14&lt;/P&gt;&lt;P&gt;disk_full = 15&lt;/P&gt;&lt;P&gt;dp_timeout = 16&lt;/P&gt;&lt;P&gt;OTHERS = 17&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;*-----To fetch the comma seperated flat file into an internal table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT it_commatable INTO x_commatable.&lt;/P&gt;&lt;P&gt;IF x_commatable IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;SPLIT x_commatable AT ',' INTO&lt;/P&gt;&lt;P&gt;x_table-v_legacy&lt;/P&gt;&lt;P&gt;x_table-vendor&lt;/P&gt;&lt;P&gt;x_table-purch_org&lt;/P&gt;&lt;P&gt;x_table-pur_group&lt;/P&gt;&lt;P&gt;x_table-material&lt;/P&gt;&lt;P&gt;x_table-quantity&lt;/P&gt;&lt;P&gt;x_table-delivery_date&lt;/P&gt;&lt;P&gt;x_table-net_price&lt;/P&gt;&lt;P&gt;x_table-plant.&lt;/P&gt;&lt;P&gt;APPEND x_table TO it_table.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;CLEAR x_table.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. " gui_upload&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM HEADER_DETAILS *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM header_details .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE 'NB' TO x_header-doc_type.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;input = x_table-vendor&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;output = x_table-vendor&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;MOVE x_table-vendor TO x_header-vendor.&lt;/P&gt;&lt;P&gt;MOVE x_table-purch_org TO x_header-purch_org.&lt;/P&gt;&lt;P&gt;MOVE x_table-pur_group TO x_header-pur_group.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_headerx-doc_type = 'X'.&lt;/P&gt;&lt;P&gt;x_headerx-vendor = 'X'.&lt;/P&gt;&lt;P&gt;x_headerx-purch_org = 'X'.&lt;/P&gt;&lt;P&gt;x_headerx-pur_group = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " header_details&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM LINEITEM *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM lineitem .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;v_temp1 = v_temp1 + 10.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;input = v_temp1&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;output = v_temp1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE v_temp1 TO x_item-po_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;input = x_table-material&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;output = x_table-material.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE x_table-material TO x_item-material.&lt;/P&gt;&lt;P&gt;MOVE x_table-quantity TO x_item-quantity.&lt;/P&gt;&lt;P&gt;MOVE x_table-net_price TO x_item-net_price.&lt;/P&gt;&lt;P&gt;MOVE x_table-plant TO x_item-plant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_itemx-po_item = v_temp1.&lt;/P&gt;&lt;P&gt;x_itemx-material = 'X'.&lt;/P&gt;&lt;P&gt;x_itemx-quantity = 'X'.&lt;/P&gt;&lt;P&gt;x_itemx-net_price = 'X'.&lt;/P&gt;&lt;P&gt;x_itemx-plant = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND x_item TO it_item.&lt;/P&gt;&lt;P&gt;APPEND x_itemx TO it_itemx.&lt;/P&gt;&lt;P&gt;CLEAR: x_item, x_itemx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " lineitem1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM SCHEDULE *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM schedule .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE x_table-delivery_date TO x_sched-delivery_date.&lt;/P&gt;&lt;P&gt;MOVE v_temp1 TO x_sched-po_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_schedx-delivery_date = 'X'.&lt;/P&gt;&lt;P&gt;x_schedx-po_item = v_temp1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND x_sched TO it_sched.&lt;/P&gt;&lt;P&gt;APPEND x_schedx TO it_schedx.&lt;/P&gt;&lt;P&gt;CLEAR: x_sched, x_schedx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " schedule&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM BAPICALL *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM bapicall .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_PO_CREATE1'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;poheader = x_header&lt;/P&gt;&lt;P&gt;poheaderx = x_headerx&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;exppurchaseorder = po_number&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;return = it_return&lt;/P&gt;&lt;P&gt;poitem = it_item&lt;/P&gt;&lt;P&gt;poitemx = it_itemx&lt;/P&gt;&lt;P&gt;poschedule = it_sched&lt;/P&gt;&lt;P&gt;poschedulex = it_schedx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF po_number IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;v_succsount = v_succsount + 1.&lt;/P&gt;&lt;P&gt;MOVE x_table-v_legacy TO x_alv-v_legs.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;v_failcount = v_failcount + 1.&lt;/P&gt;&lt;P&gt;MOVE x_table-v_legacy TO x_alv-v_legf.&lt;/P&gt;&lt;P&gt;MOVE x_table-v_legacy TO x_alv1-v_legf1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT it_return INTO x_return.&lt;/P&gt;&lt;P&gt;IF x_alv1-v_msg IS INITIAL.&lt;/P&gt;&lt;P&gt;MOVE x_return-message TO x_alv1-v_msg.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;CONCATENATE x_alv1-v_msg x_return-message INTO x_alv1-v_msg SEPARATED BY space.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND x_alv1 TO it_alv1.&lt;/P&gt;&lt;P&gt;CLEAR x_alv1.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. " bapicall&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM DISPLAY_ALV *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM display_alv .&lt;/P&gt;&lt;P&gt;PERFORM x_list_header.&lt;/P&gt;&lt;P&gt;PERFORM build_fieldcat CHANGING x_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_repid2 = sy-repid.&lt;/P&gt;&lt;P&gt;x_event1-name = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;x_event1-form = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;APPEND x_event1 TO x_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i_callback_program = x_repid2&lt;/P&gt;&lt;P&gt;is_layout = x_layout1&lt;/P&gt;&lt;P&gt;it_fieldcat = x_fieldcat&lt;/P&gt;&lt;P&gt;i_callback_user_command = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;i_callback_top_of_page = 'TOP_OF_PAGE'&lt;/P&gt;&lt;P&gt;i_save = 'A'&lt;/P&gt;&lt;P&gt;is_variant = x_variant1&lt;/P&gt;&lt;P&gt;it_events = x_event&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;t_outtab = it_alv&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;program_error = 1&lt;/P&gt;&lt;P&gt;OTHERS = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. " display_master_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM USER_COMMAND *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM user_command USING ucomm LIKE sy-ucomm selfield&lt;/P&gt;&lt;P&gt;TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE it_alv INTO x_alv INDEX selfield-tabindex.&lt;/P&gt;&lt;P&gt;CLEAR : x_alv2,it_alv2[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT it_alv1 INTO x_alv1 WHERE v_legf1 = x_alv-v_legf.&lt;/P&gt;&lt;P&gt;x_alv2 = x_alv1.&lt;/P&gt;&lt;P&gt;APPEND x_alv2 TO it_alv2 .&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : it_fieldcat TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;DATA : x3_fieldcat LIKE LINE OF it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR : x3_fieldcat,it_fieldcat[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR x3_fieldcat.&lt;/P&gt;&lt;P&gt;x3_fieldcat-col_pos = '1'.&lt;/P&gt;&lt;P&gt;x3_fieldcat-fieldname = 'V_LEGF1'.&lt;/P&gt;&lt;P&gt;x3_fieldcat-reptext_ddic = text-111.&lt;/P&gt;&lt;P&gt;x3_fieldcat-ref_tabname = 'IT_ALV2'.&lt;/P&gt;&lt;P&gt;APPEND x3_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR x3_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR x3_fieldcat.&lt;/P&gt;&lt;P&gt;x3_fieldcat-col_pos = '1'.&lt;/P&gt;&lt;P&gt;x3_fieldcat-fieldname = 'V_MSG'.&lt;/P&gt;&lt;P&gt;x3_fieldcat-reptext_ddic = text-112.&lt;/P&gt;&lt;P&gt;x3_fieldcat-ref_tabname = 'IT_ALV2'.&lt;/P&gt;&lt;P&gt;APPEND x3_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR x3_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_layout1-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;x_layout1-zebra = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF it_alv2[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i_callback_program = x_repid2&lt;/P&gt;&lt;P&gt;is_layout = x_layout1&lt;/P&gt;&lt;P&gt;it_fieldcat = it_fieldcat&lt;/P&gt;&lt;P&gt;i_save = 'A'&lt;/P&gt;&lt;P&gt;i_callback_top_of_page = 'TOP'&lt;/P&gt;&lt;P&gt;is_variant = x_variant1&lt;/P&gt;&lt;P&gt;it_events = x_event&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;t_outtab = it_alv2&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;program_error = 1&lt;/P&gt;&lt;P&gt;OTHERS = 2.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM USER_COMMAND *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM top.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;it_list_commentary = 'Commentry'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM BUILD_FIELDCAT *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_fieldcat CHANGING et_fieldcat TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: x1_fieldcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR x1_fieldcat.&lt;/P&gt;&lt;P&gt;x1_fieldcat-col_pos = '1'.&lt;/P&gt;&lt;P&gt;x1_fieldcat-fieldname = 'V_LEGS'.&lt;/P&gt;&lt;P&gt;x1_fieldcat-reptext_ddic = text-108.&lt;/P&gt;&lt;P&gt;x1_fieldcat-ref_tabname = 'IT_ALV'.&lt;/P&gt;&lt;P&gt;APPEND x1_fieldcat TO et_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR x1_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x1_fieldcat-col_pos = '2'.&lt;/P&gt;&lt;P&gt;x1_fieldcat-fieldname = 'SUCCESS'.&lt;/P&gt;&lt;P&gt;x1_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;x1_fieldcat-reptext_ddic = text-109.&lt;/P&gt;&lt;P&gt;x1_fieldcat-ref_tabname = 'IT_ALV'.&lt;/P&gt;&lt;P&gt;APPEND x1_fieldcat TO et_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR x1_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x1_fieldcat-col_pos = '3'.&lt;/P&gt;&lt;P&gt;x1_fieldcat-fieldname = 'V_LEGF'.&lt;/P&gt;&lt;P&gt;x1_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;x1_fieldcat-reptext_ddic = text-110.&lt;/P&gt;&lt;P&gt;x1_fieldcat-ref_tabname = 'IT_ALV'.&lt;/P&gt;&lt;P&gt;APPEND x1_fieldcat TO et_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR x1_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " build_fieldcat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM BUILD_LIST_HEADER *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM x_list_header.&lt;/P&gt;&lt;P&gt;DATA: x_list_header1 TYPE slis_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----List Header: type H&lt;/P&gt;&lt;P&gt;CLEAR x_list_header1 .&lt;/P&gt;&lt;P&gt;x_list_header1-typ = 'H'.&lt;/P&gt;&lt;P&gt;x_list_header1-info = text-105.&lt;/P&gt;&lt;P&gt;APPEND x_list_header1 TO x_list_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----List Key: type S&lt;/P&gt;&lt;P&gt;x_list_header1-typ = 'S'.&lt;/P&gt;&lt;P&gt;x_list_header1-key = text-106.&lt;/P&gt;&lt;P&gt;x_list_header1-info = v_total.&lt;/P&gt;&lt;P&gt;APPEND x_list_header1 TO x_list_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----List Key: Type S&lt;/P&gt;&lt;P&gt;CLEAR x_list_header1 .&lt;/P&gt;&lt;P&gt;x_list_header1-typ = 'S'.&lt;/P&gt;&lt;P&gt;x_list_header1-key = text-107.&lt;/P&gt;&lt;P&gt;x_list_header1-info = v_succsount.&lt;/P&gt;&lt;P&gt;APPEND x_list_header1 TO x_list_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " build_list_header&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM TOP_OF_PAGE *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;it_list_commentary = x_list_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " TOP_OF_PAGE&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 20 Feb 2008 08:26:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi/m-p/3418660#M821097</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-20T08:26:17Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi/m-p/3418661#M821098</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;resolved&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 20 Feb 2008 08:38:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi/m-p/3418661#M821098</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-20T08:38:48Z</dc:date>
    </item>
  </channel>
</rss>

