<?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: BDC3 in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc3/m-p/3367624#M808145</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Report YCS01_TEST&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ycs01_test.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS truxs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:f_file TYPE string.&lt;/P&gt;&lt;P&gt;*TYPES: BEGIN OF ty_flat, " structure for flat file&lt;/P&gt;&lt;P&gt;*string(200),&lt;/P&gt;&lt;P&gt;*END OF ty_flat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF ty_head, " structure for header file&lt;/P&gt;&lt;P&gt;ind(2) TYPE n,&lt;/P&gt;&lt;P&gt;matnr(18) ,&lt;/P&gt;&lt;P&gt;werks(4) ,&lt;/P&gt;&lt;P&gt;stlan(1) ,&lt;/P&gt;&lt;P&gt;stlal(2) ,&lt;/P&gt;&lt;P&gt;datuv(10) ,&lt;/P&gt;&lt;P&gt;ztext(40),&lt;/P&gt;&lt;P&gt;bmeng(13) ,&lt;/P&gt;&lt;P&gt;bmein(3),&lt;/P&gt;&lt;P&gt;stlst(2) ,&lt;/P&gt;&lt;P&gt;END OF ty_head.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES :BEGIN OF ty_item, "structure for item file&lt;/P&gt;&lt;P&gt;ind(2) TYPE n,&lt;/P&gt;&lt;P&gt;postp(1) ,&lt;/P&gt;&lt;P&gt;posnr(4) ,&lt;/P&gt;&lt;P&gt;idnrk(18) ,&lt;/P&gt;&lt;P&gt;menge(13),&lt;/P&gt;&lt;P&gt;meins(3) ,&lt;/P&gt;&lt;P&gt;potx1(40),&lt;/P&gt;&lt;P&gt;lgort(4) ,&lt;/P&gt;&lt;P&gt;sanka(1),&lt;/P&gt;&lt;P&gt;END OF ty_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES :BEGIN OF ty_flat, " structure for final file&lt;/P&gt;&lt;P&gt;matnr(18) ,&lt;/P&gt;&lt;P&gt;werks(4) ,&lt;/P&gt;&lt;P&gt;stlan(1) ,&lt;/P&gt;&lt;P&gt;stlal(2) ,&lt;/P&gt;&lt;P&gt;datuv(10) ,&lt;/P&gt;&lt;P&gt;ztext(40),&lt;/P&gt;&lt;P&gt;bmeng(13) ,&lt;/P&gt;&lt;P&gt;bmein(3),&lt;/P&gt;&lt;P&gt;stlst(2) ,&lt;/P&gt;&lt;P&gt;postp(1) ,&lt;/P&gt;&lt;P&gt;posnr(4) ,&lt;/P&gt;&lt;P&gt;idnrk(18) ,&lt;/P&gt;&lt;P&gt;menge(13),&lt;/P&gt;&lt;P&gt;meins(3) ,&lt;/P&gt;&lt;P&gt;potx1(40),&lt;/P&gt;&lt;P&gt;lgort(4) ,&lt;/P&gt;&lt;P&gt;sanka(1),&lt;/P&gt;&lt;P&gt;END OF ty_flat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INTERNAL TABLE DECLARATIONS * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : t_flat TYPE TABLE OF ty_flat,&lt;/P&gt;&lt;P&gt;*t_flat1 TYPE TABLE OF ty_flat1,&lt;/P&gt;&lt;P&gt;t_head TYPE TABLE OF ty_head,&lt;/P&gt;&lt;P&gt;t_item TYPE TABLE OF ty_item,&lt;/P&gt;&lt;P&gt;t_bdcdata TYPE TABLE OF bdcdata,&lt;/P&gt;&lt;P&gt;t_bdcmsg TYPE TABLE OF bdcmsgcoll.&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;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WORK AREA DECLARATIONS * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : st_flat LIKE LINE OF t_flat,&lt;/P&gt;&lt;P&gt;*st_flat1 LIKE LINE OF t_flat1,&lt;/P&gt;&lt;P&gt;st_head LIKE LINE OF t_head,&lt;/P&gt;&lt;P&gt;st_item LIKE LINE OF t_item,&lt;/P&gt;&lt;P&gt;st_bdcdata LIKE LINE OF t_bdcdata,&lt;/P&gt;&lt;P&gt;st_bdcmsg LIKE LINE OF t_bdcmsg.&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;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;VARIABLES * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : v_ind(2) TYPE n, " value 1,&lt;/P&gt;&lt;P&gt;v_fld(20),&lt;/P&gt;&lt;P&gt;v_no(2) TYPE n.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION SCREEN * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN : BEGIN OF BLOCK b1 WITH FRAME TITLE text-001. "selection screen&lt;/P&gt;&lt;P&gt;PARAMETERS: p_fnam TYPE rlgrap-filename OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN : END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;field_name = ' '&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;file_name = p_fnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF p_fnam IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;VALIDATE FILE TYPE &lt;/P&gt;&lt;P&gt;PERFORM sub_validate_txt_type.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;f_file = p_fnam.&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 = f_file&lt;/P&gt;&lt;P&gt;filetype = 'ASC'&lt;/P&gt;&lt;P&gt;has_field_separator = '#'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;HEADER_LENGTH = 0 &lt;/P&gt;&lt;P&gt;READ_BY_LINE = 'X' &lt;/P&gt;&lt;P&gt;DAT_MODE = ' ' &lt;/P&gt;&lt;P&gt;CODEPAGE = ' ' &lt;/P&gt;&lt;P&gt;IGNORE_CERR = ABAP_TRUE &lt;/P&gt;&lt;P&gt;REPLACEMENT = '#' &lt;/P&gt;&lt;P&gt;CHECK_BOM = ' ' &lt;/P&gt;&lt;P&gt;VIRUS_SCAN_PROFILE = &lt;/P&gt;&lt;P&gt;NO_AUTH_CHECK = ' ' &lt;/P&gt;&lt;P&gt;IMPORTING &lt;/P&gt;&lt;P&gt;FILELENGTH = &lt;/P&gt;&lt;P&gt;HEADER = &lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;data_tab = t_flat&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;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;&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;SORT t_flat BY posnr . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT t_flat INTO st_flat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE :&lt;/P&gt;&lt;P&gt;st_flat-matnr TO st_head-matnr,&lt;/P&gt;&lt;P&gt;st_flat-werks TO st_head-werks,&lt;/P&gt;&lt;P&gt;st_flat-stlan TO st_head-stlan,&lt;/P&gt;&lt;P&gt;st_flat-stlal TO st_head-stlal,&lt;/P&gt;&lt;P&gt;st_flat-datuv TO st_head-datuv,&lt;/P&gt;&lt;P&gt;st_flat-ztext TO st_head-ztext,&lt;/P&gt;&lt;P&gt;st_flat-bmeng TO st_head-bmeng,&lt;/P&gt;&lt;P&gt;st_flat-bmein TO st_head-bmein,&lt;/P&gt;&lt;P&gt;st_flat-stlst TO st_head-stlst.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at new posnr.&lt;/P&gt;&lt;P&gt;move:&lt;/P&gt;&lt;P&gt;st_flat-posnr to st_item-posnr,&lt;/P&gt;&lt;P&gt;st_flat-postp to st_item-postp,&lt;/P&gt;&lt;P&gt;st_flat-idnrk to st_item-idnrk,&lt;/P&gt;&lt;P&gt;st_flat-menge to st_item-menge,&lt;/P&gt;&lt;P&gt;st_flat-potx1 to st_item-potx1,&lt;/P&gt;&lt;P&gt;st_flat-lgort to st_item-lgort,&lt;/P&gt;&lt;P&gt;st_flat-sanka to st_item-sanka.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ADD 1 TO v_ind.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE v_ind TO st_head-ind.&lt;/P&gt;&lt;P&gt;MOVE v_ind TO st_item-ind.&lt;/P&gt;&lt;P&gt;APPEND st_head TO t_head.&lt;/P&gt;&lt;P&gt;APPEND st_item TO t_item.&lt;/P&gt;&lt;P&gt;CLEAR st_head.&lt;/P&gt;&lt;P&gt;CLEAR st_item.&lt;/P&gt;&lt;P&gt;*CLEAR v_ind.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR v_ind.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*perform open_group.&lt;/P&gt;&lt;P&gt;SORT t_item BY ind.&lt;/P&gt;&lt;P&gt;SORT t_head BY ind.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DELETE ADJACENT DUPLICATES FROM t_head.&lt;/P&gt;&lt;P&gt;DELETE ADJACENT DUPLICATES FROM t_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT t_head INTO st_head.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM bdc_dynpro USING 'SAPLCSDI' '0100'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'RC29N-STLAN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'/00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'RC29N-MATNR'&lt;/P&gt;&lt;P&gt;st_head-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'RC29N-WERKS'&lt;/P&gt;&lt;P&gt;st_head-werks.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'RC29N-STLAN'&lt;/P&gt;&lt;P&gt;st_head-stlan.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'RC29N-STLAL'&lt;/P&gt;&lt;P&gt;st_head-stlal.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'RC29N-DATUV'&lt;/P&gt;&lt;P&gt;st_head-datuv.&lt;/P&gt;&lt;P&gt;PERFORM bdc_dynpro USING 'SAPLCSDI' '0110'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'RC29K-ZTEXT'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'/00'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'RC29K-ZTEXT'&lt;/P&gt;&lt;P&gt;st_head-ztext.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'RC29K-BMENG'&lt;/P&gt;&lt;P&gt;st_head-bmeng.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'RC29K-STLST'&lt;/P&gt;&lt;P&gt;st_head-stlst.&lt;/P&gt;&lt;P&gt;PERFORM bdc_dynpro USING 'SAPLCSDI' '0111'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'RC29K-LABOR'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'/00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT t_item INTO st_item WHERE ind = st_head-ind.&lt;/P&gt;&lt;P&gt;ADD 1 TO v_no.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM bdc_dynpro USING 'SAPLCSDI' '0140'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'RC29P-POSTP(02)'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'/00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONCATENATE 'RC29P-IDNRK(' v_no ')' INTO v_fld.&lt;/P&gt;&lt;P&gt;CONDENSE v_fld.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING v_fld&lt;/P&gt;&lt;P&gt;st_item-idnrk.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONCATENATE 'RC29P-MENGE(' v_no ')' INTO v_fld.&lt;/P&gt;&lt;P&gt;CONDENSE v_fld.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING v_fld&lt;/P&gt;&lt;P&gt;st_item-menge.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONCATENATE 'RC29P-MEINS(' v_no ')' INTO v_fld.&lt;/P&gt;&lt;P&gt;CONDENSE v_fld.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING v_fld&lt;/P&gt;&lt;P&gt;st_item-meins.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONCATENATE 'RC29P-POSTP(' v_no ')' INTO v_fld.&lt;/P&gt;&lt;P&gt;CONDENSE v_fld.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING v_fld&lt;/P&gt;&lt;P&gt;st_item-postp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_SUBSCR'&lt;/P&gt;&lt;P&gt;'SAPLCSDI'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;v_no = 1.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR v_no.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'=FCBU'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL TRANSACTION 'CS01' USING t_bdcdata MODE 'A'&lt;/P&gt;&lt;P&gt;UPDATE 'A' MESSAGES INTO t_bdcmsg.&lt;/P&gt;&lt;P&gt;REFRESH t_bdcdata.&lt;/P&gt;&lt;P&gt;CLEAR t_bdcdata.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDLOOP.&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;&lt;/P&gt;&lt;P&gt;PERFORM fr_format_message. &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Start new screen * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM bdc_dynpro USING program dynpro.&lt;/P&gt;&lt;P&gt;CLEAR st_bdcdata.&lt;/P&gt;&lt;P&gt;st_bdcdata-program = program.&lt;/P&gt;&lt;P&gt;st_bdcdata-dynpro = dynpro.&lt;/P&gt;&lt;P&gt;st_bdcdata-dynbegin = 'X'.&lt;/P&gt;&lt;P&gt;APPEND st_bdcdata TO t_bdcdata.&lt;/P&gt;&lt;P&gt;ENDFORM. "BDC_DYNPRO&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Insert field * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM bdc_field USING fnam fval.&lt;/P&gt;&lt;P&gt;IF fval space. "NODATA.&lt;/P&gt;&lt;P&gt;CLEAR st_bdcdata.&lt;/P&gt;&lt;P&gt;st_bdcdata-fnam = fnam.&lt;/P&gt;&lt;P&gt;st_bdcdata-fval = fval.&lt;/P&gt;&lt;P&gt;APPEND st_bdcdata TO t_bdcdata.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. "BDC_FIELD&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM sub_validate_txt_type .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : str1 TYPE localfile,&lt;/P&gt;&lt;P&gt;str2 TYPE char3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SPLIT p_fnam AT '.'&lt;/P&gt;&lt;P&gt;INTO str1 str2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TRANSLATE str2 TO LOWER CASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF str2 NE 'txt'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;please enter '.txt' file format &lt;/P&gt;&lt;P&gt;MESSAGE i001(zmsg).&lt;/P&gt;&lt;P&gt;LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. "sub_validate_txt_type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward if useful.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 25 Jan 2008 08:25:49 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-01-25T08:25:49Z</dc:date>
    <item>
      <title>BDC3</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc3/m-p/3367623#M808144</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt; please send bdc code for t-code CS01.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Jan 2008 08:23:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc3/m-p/3367623#M808144</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-25T08:23:46Z</dc:date>
    </item>
    <item>
      <title>Re: BDC3</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc3/m-p/3367624#M808145</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Report YCS01_TEST&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ycs01_test.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS truxs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:f_file TYPE string.&lt;/P&gt;&lt;P&gt;*TYPES: BEGIN OF ty_flat, " structure for flat file&lt;/P&gt;&lt;P&gt;*string(200),&lt;/P&gt;&lt;P&gt;*END OF ty_flat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF ty_head, " structure for header file&lt;/P&gt;&lt;P&gt;ind(2) TYPE n,&lt;/P&gt;&lt;P&gt;matnr(18) ,&lt;/P&gt;&lt;P&gt;werks(4) ,&lt;/P&gt;&lt;P&gt;stlan(1) ,&lt;/P&gt;&lt;P&gt;stlal(2) ,&lt;/P&gt;&lt;P&gt;datuv(10) ,&lt;/P&gt;&lt;P&gt;ztext(40),&lt;/P&gt;&lt;P&gt;bmeng(13) ,&lt;/P&gt;&lt;P&gt;bmein(3),&lt;/P&gt;&lt;P&gt;stlst(2) ,&lt;/P&gt;&lt;P&gt;END OF ty_head.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES :BEGIN OF ty_item, "structure for item file&lt;/P&gt;&lt;P&gt;ind(2) TYPE n,&lt;/P&gt;&lt;P&gt;postp(1) ,&lt;/P&gt;&lt;P&gt;posnr(4) ,&lt;/P&gt;&lt;P&gt;idnrk(18) ,&lt;/P&gt;&lt;P&gt;menge(13),&lt;/P&gt;&lt;P&gt;meins(3) ,&lt;/P&gt;&lt;P&gt;potx1(40),&lt;/P&gt;&lt;P&gt;lgort(4) ,&lt;/P&gt;&lt;P&gt;sanka(1),&lt;/P&gt;&lt;P&gt;END OF ty_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES :BEGIN OF ty_flat, " structure for final file&lt;/P&gt;&lt;P&gt;matnr(18) ,&lt;/P&gt;&lt;P&gt;werks(4) ,&lt;/P&gt;&lt;P&gt;stlan(1) ,&lt;/P&gt;&lt;P&gt;stlal(2) ,&lt;/P&gt;&lt;P&gt;datuv(10) ,&lt;/P&gt;&lt;P&gt;ztext(40),&lt;/P&gt;&lt;P&gt;bmeng(13) ,&lt;/P&gt;&lt;P&gt;bmein(3),&lt;/P&gt;&lt;P&gt;stlst(2) ,&lt;/P&gt;&lt;P&gt;postp(1) ,&lt;/P&gt;&lt;P&gt;posnr(4) ,&lt;/P&gt;&lt;P&gt;idnrk(18) ,&lt;/P&gt;&lt;P&gt;menge(13),&lt;/P&gt;&lt;P&gt;meins(3) ,&lt;/P&gt;&lt;P&gt;potx1(40),&lt;/P&gt;&lt;P&gt;lgort(4) ,&lt;/P&gt;&lt;P&gt;sanka(1),&lt;/P&gt;&lt;P&gt;END OF ty_flat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INTERNAL TABLE DECLARATIONS * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : t_flat TYPE TABLE OF ty_flat,&lt;/P&gt;&lt;P&gt;*t_flat1 TYPE TABLE OF ty_flat1,&lt;/P&gt;&lt;P&gt;t_head TYPE TABLE OF ty_head,&lt;/P&gt;&lt;P&gt;t_item TYPE TABLE OF ty_item,&lt;/P&gt;&lt;P&gt;t_bdcdata TYPE TABLE OF bdcdata,&lt;/P&gt;&lt;P&gt;t_bdcmsg TYPE TABLE OF bdcmsgcoll.&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;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WORK AREA DECLARATIONS * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : st_flat LIKE LINE OF t_flat,&lt;/P&gt;&lt;P&gt;*st_flat1 LIKE LINE OF t_flat1,&lt;/P&gt;&lt;P&gt;st_head LIKE LINE OF t_head,&lt;/P&gt;&lt;P&gt;st_item LIKE LINE OF t_item,&lt;/P&gt;&lt;P&gt;st_bdcdata LIKE LINE OF t_bdcdata,&lt;/P&gt;&lt;P&gt;st_bdcmsg LIKE LINE OF t_bdcmsg.&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;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;VARIABLES * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : v_ind(2) TYPE n, " value 1,&lt;/P&gt;&lt;P&gt;v_fld(20),&lt;/P&gt;&lt;P&gt;v_no(2) TYPE n.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION SCREEN * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN : BEGIN OF BLOCK b1 WITH FRAME TITLE text-001. "selection screen&lt;/P&gt;&lt;P&gt;PARAMETERS: p_fnam TYPE rlgrap-filename OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN : END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;field_name = ' '&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;file_name = p_fnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF p_fnam IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;VALIDATE FILE TYPE &lt;/P&gt;&lt;P&gt;PERFORM sub_validate_txt_type.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;f_file = p_fnam.&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 = f_file&lt;/P&gt;&lt;P&gt;filetype = 'ASC'&lt;/P&gt;&lt;P&gt;has_field_separator = '#'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;HEADER_LENGTH = 0 &lt;/P&gt;&lt;P&gt;READ_BY_LINE = 'X' &lt;/P&gt;&lt;P&gt;DAT_MODE = ' ' &lt;/P&gt;&lt;P&gt;CODEPAGE = ' ' &lt;/P&gt;&lt;P&gt;IGNORE_CERR = ABAP_TRUE &lt;/P&gt;&lt;P&gt;REPLACEMENT = '#' &lt;/P&gt;&lt;P&gt;CHECK_BOM = ' ' &lt;/P&gt;&lt;P&gt;VIRUS_SCAN_PROFILE = &lt;/P&gt;&lt;P&gt;NO_AUTH_CHECK = ' ' &lt;/P&gt;&lt;P&gt;IMPORTING &lt;/P&gt;&lt;P&gt;FILELENGTH = &lt;/P&gt;&lt;P&gt;HEADER = &lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;data_tab = t_flat&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;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;&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;SORT t_flat BY posnr . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT t_flat INTO st_flat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE :&lt;/P&gt;&lt;P&gt;st_flat-matnr TO st_head-matnr,&lt;/P&gt;&lt;P&gt;st_flat-werks TO st_head-werks,&lt;/P&gt;&lt;P&gt;st_flat-stlan TO st_head-stlan,&lt;/P&gt;&lt;P&gt;st_flat-stlal TO st_head-stlal,&lt;/P&gt;&lt;P&gt;st_flat-datuv TO st_head-datuv,&lt;/P&gt;&lt;P&gt;st_flat-ztext TO st_head-ztext,&lt;/P&gt;&lt;P&gt;st_flat-bmeng TO st_head-bmeng,&lt;/P&gt;&lt;P&gt;st_flat-bmein TO st_head-bmein,&lt;/P&gt;&lt;P&gt;st_flat-stlst TO st_head-stlst.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at new posnr.&lt;/P&gt;&lt;P&gt;move:&lt;/P&gt;&lt;P&gt;st_flat-posnr to st_item-posnr,&lt;/P&gt;&lt;P&gt;st_flat-postp to st_item-postp,&lt;/P&gt;&lt;P&gt;st_flat-idnrk to st_item-idnrk,&lt;/P&gt;&lt;P&gt;st_flat-menge to st_item-menge,&lt;/P&gt;&lt;P&gt;st_flat-potx1 to st_item-potx1,&lt;/P&gt;&lt;P&gt;st_flat-lgort to st_item-lgort,&lt;/P&gt;&lt;P&gt;st_flat-sanka to st_item-sanka.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ADD 1 TO v_ind.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE v_ind TO st_head-ind.&lt;/P&gt;&lt;P&gt;MOVE v_ind TO st_item-ind.&lt;/P&gt;&lt;P&gt;APPEND st_head TO t_head.&lt;/P&gt;&lt;P&gt;APPEND st_item TO t_item.&lt;/P&gt;&lt;P&gt;CLEAR st_head.&lt;/P&gt;&lt;P&gt;CLEAR st_item.&lt;/P&gt;&lt;P&gt;*CLEAR v_ind.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR v_ind.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*perform open_group.&lt;/P&gt;&lt;P&gt;SORT t_item BY ind.&lt;/P&gt;&lt;P&gt;SORT t_head BY ind.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DELETE ADJACENT DUPLICATES FROM t_head.&lt;/P&gt;&lt;P&gt;DELETE ADJACENT DUPLICATES FROM t_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT t_head INTO st_head.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM bdc_dynpro USING 'SAPLCSDI' '0100'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'RC29N-STLAN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'/00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'RC29N-MATNR'&lt;/P&gt;&lt;P&gt;st_head-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'RC29N-WERKS'&lt;/P&gt;&lt;P&gt;st_head-werks.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'RC29N-STLAN'&lt;/P&gt;&lt;P&gt;st_head-stlan.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'RC29N-STLAL'&lt;/P&gt;&lt;P&gt;st_head-stlal.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'RC29N-DATUV'&lt;/P&gt;&lt;P&gt;st_head-datuv.&lt;/P&gt;&lt;P&gt;PERFORM bdc_dynpro USING 'SAPLCSDI' '0110'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'RC29K-ZTEXT'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'/00'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'RC29K-ZTEXT'&lt;/P&gt;&lt;P&gt;st_head-ztext.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'RC29K-BMENG'&lt;/P&gt;&lt;P&gt;st_head-bmeng.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'RC29K-STLST'&lt;/P&gt;&lt;P&gt;st_head-stlst.&lt;/P&gt;&lt;P&gt;PERFORM bdc_dynpro USING 'SAPLCSDI' '0111'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'RC29K-LABOR'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'/00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT t_item INTO st_item WHERE ind = st_head-ind.&lt;/P&gt;&lt;P&gt;ADD 1 TO v_no.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM bdc_dynpro USING 'SAPLCSDI' '0140'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;'RC29P-POSTP(02)'.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'/00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONCATENATE 'RC29P-IDNRK(' v_no ')' INTO v_fld.&lt;/P&gt;&lt;P&gt;CONDENSE v_fld.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING v_fld&lt;/P&gt;&lt;P&gt;st_item-idnrk.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONCATENATE 'RC29P-MENGE(' v_no ')' INTO v_fld.&lt;/P&gt;&lt;P&gt;CONDENSE v_fld.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING v_fld&lt;/P&gt;&lt;P&gt;st_item-menge.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONCATENATE 'RC29P-MEINS(' v_no ')' INTO v_fld.&lt;/P&gt;&lt;P&gt;CONDENSE v_fld.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING v_fld&lt;/P&gt;&lt;P&gt;st_item-meins.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONCATENATE 'RC29P-POSTP(' v_no ')' INTO v_fld.&lt;/P&gt;&lt;P&gt;CONDENSE v_fld.&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING v_fld&lt;/P&gt;&lt;P&gt;st_item-postp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_SUBSCR'&lt;/P&gt;&lt;P&gt;'SAPLCSDI'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;v_no = 1.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR v_no.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM bdc_field USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;'=FCBU'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL TRANSACTION 'CS01' USING t_bdcdata MODE 'A'&lt;/P&gt;&lt;P&gt;UPDATE 'A' MESSAGES INTO t_bdcmsg.&lt;/P&gt;&lt;P&gt;REFRESH t_bdcdata.&lt;/P&gt;&lt;P&gt;CLEAR t_bdcdata.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDLOOP.&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;&lt;/P&gt;&lt;P&gt;PERFORM fr_format_message. &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Start new screen * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM bdc_dynpro USING program dynpro.&lt;/P&gt;&lt;P&gt;CLEAR st_bdcdata.&lt;/P&gt;&lt;P&gt;st_bdcdata-program = program.&lt;/P&gt;&lt;P&gt;st_bdcdata-dynpro = dynpro.&lt;/P&gt;&lt;P&gt;st_bdcdata-dynbegin = 'X'.&lt;/P&gt;&lt;P&gt;APPEND st_bdcdata TO t_bdcdata.&lt;/P&gt;&lt;P&gt;ENDFORM. "BDC_DYNPRO&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Insert field * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM bdc_field USING fnam fval.&lt;/P&gt;&lt;P&gt;IF fval space. "NODATA.&lt;/P&gt;&lt;P&gt;CLEAR st_bdcdata.&lt;/P&gt;&lt;P&gt;st_bdcdata-fnam = fnam.&lt;/P&gt;&lt;P&gt;st_bdcdata-fval = fval.&lt;/P&gt;&lt;P&gt;APPEND st_bdcdata TO t_bdcdata.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. "BDC_FIELD&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM sub_validate_txt_type .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : str1 TYPE localfile,&lt;/P&gt;&lt;P&gt;str2 TYPE char3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SPLIT p_fnam AT '.'&lt;/P&gt;&lt;P&gt;INTO str1 str2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TRANSLATE str2 TO LOWER CASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF str2 NE 'txt'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;please enter '.txt' file format &lt;/P&gt;&lt;P&gt;MESSAGE i001(zmsg).&lt;/P&gt;&lt;P&gt;LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. "sub_validate_txt_type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward if useful.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Jan 2008 08:25:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc3/m-p/3367624#M808145</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-25T08:25:49Z</dc:date>
    </item>
    <item>
      <title>Re: BDC3</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc3/m-p/3367625#M808146</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi if need full to u please give me max reward point.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;report ZPP_CS01_BDC&lt;/P&gt;&lt;P&gt;       no standard page heading line-size 255.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; D A T A   D E C L A R A T I O N                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF TY_TABDATA,&lt;/P&gt;&lt;P&gt;        MATNR TYPE RC29N-MATNR,"equipmnet no&lt;/P&gt;&lt;P&gt;        WERKS TYPE RC29N-WERKS,"storage location&lt;/P&gt;&lt;P&gt;        STLAN TYPE RC29N-STLAN,"BOM Usage&lt;/P&gt;&lt;P&gt;        STLAL TYPE RC29N-STLAL,"Alternative&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       BOMTXT(1000),"HEADER TEXT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        BMENG(16),"BASIS QUANTITY&lt;/P&gt;&lt;P&gt;       END OF TY_TABDATA.&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF TY_BOMTXT,&lt;/P&gt;&lt;P&gt;        MATNR TYPE RC29N-MATNR,"equipmnet no&lt;/P&gt;&lt;P&gt;        WERKS TYPE RC29N-WERKS,"storage location&lt;/P&gt;&lt;P&gt;        STLAN TYPE RC29N-STLAN,"BOM Usage&lt;/P&gt;&lt;P&gt;        STLAL TYPE RC29N-STLAL,"Alternative&lt;/P&gt;&lt;P&gt;        BOMTXT(1000),"HEADER TEXT&lt;/P&gt;&lt;P&gt;       END OF TY_BOMTXT.&lt;/P&gt;&lt;P&gt;types: begin of ty_matl,&lt;/P&gt;&lt;P&gt;        MATNR TYPE RC29N-MATNR,"equipmnet no&lt;/P&gt;&lt;P&gt;        WERKS TYPE RC29N-WERKS,"storage location&lt;/P&gt;&lt;P&gt;        STLAN TYPE RC29N-STLAN,"BOM Usage&lt;/P&gt;&lt;P&gt;        STLAL TYPE RC29N-STLAL,"Alternative&lt;/P&gt;&lt;P&gt;        POSTP TYPE RC29P-POSTP,"item category&lt;/P&gt;&lt;P&gt;        IDNRK TYPE RC29P-IDNRK,"component&lt;/P&gt;&lt;P&gt;        MENGE(17) ,"quantity&lt;/P&gt;&lt;P&gt;        SANKA TYPE RC29P-SANKA,"COST RELEVANCY&lt;/P&gt;&lt;P&gt;        FMENG	TYPE RC29P-FMENG,"FIXED QUANTITY&lt;/P&gt;&lt;P&gt;       end of ty_matl.&lt;/P&gt;&lt;P&gt;*TYPE-POOLS: SYDES.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Declaration of the Internal Table &amp;amp; Work Area.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:   IT_TABDATA         TYPE  SORTED TABLE  OF  TY_TABDATA&lt;/P&gt;&lt;P&gt;        WITH UNIQUE KEY MATNR WERKS STLAN STLAL,  " Interbnal table for Plant and Storage Location&lt;/P&gt;&lt;P&gt;        WA_TABDATA         TYPE                       TY_TABDATA,&lt;/P&gt;&lt;P&gt;        IT_MATL            TYPE  STANDARD  TABLE  OF  TY_MATL,"Internal Table for component and QUANTITY&lt;/P&gt;&lt;P&gt;        WA_MATL            TYPE                       TY_MATL,&lt;/P&gt;&lt;P&gt;        IT_UPLTXT1          TYPE STANDARD TABLE OF TY_BOMTXT,&lt;/P&gt;&lt;P&gt;        WA_UPLTXT1         TYPE TY_BOMTXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   Global data Declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------------" /&gt;&lt;P&gt;DATA:   gv_year(4)         type c,&lt;/P&gt;&lt;P&gt;        gv_mnth(2)         type c,&lt;/P&gt;&lt;P&gt;        gv_date(2)         type c,&lt;/P&gt;&lt;P&gt;        gv_datum(10)       type c,&lt;/P&gt;&lt;P&gt;        GV_ANS TYPE C,&lt;/P&gt;&lt;P&gt;        w_filename      TYPE  string.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Declaration of the Internal Table with Header Line comprising of the uploaded data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  BEGIN  OF  IT_FILE_UPLOAD  OCCURS  0.&lt;/P&gt;&lt;P&gt;         INCLUDE  STRUCTURE  ALSMEX_TABLINE.  "  Rows for Table with Excel Data&lt;/P&gt;&lt;P&gt;DATA:  END  OF  IT_FILE_UPLOAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Batch Input Data for a single Transaction.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Message of Call Transaction.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------" /&gt;&lt;P&gt;DATA:  BDCDATA  LIKE  BDCDATA     OCCURS  0  WITH  HEADER  LINE,&lt;/P&gt;&lt;P&gt;       MSGTAB   LIKE  BDCMSGCOLL  OCCURS  0  WITH  HEADER  LINE.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; S E L E C T I O N - S C R E E N                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN  BEGIN  OF  BLOCK  B1  WITH  FRAME.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT /1(75) TEXT-001.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN   BEGIN  OF  BLOCK  B2  WITH  FRAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS:            P_FNAME  LIKE  RLGRAP-FILENAME  OBLIGATORY,&lt;/P&gt;&lt;P&gt;                       p_file   LIKE  RLGRAP-FILENAME  .&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN:    END  OF  BLOCK  B2,&lt;/P&gt;&lt;P&gt;                     END  OF  BLOCK  B1.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; E V E N T : AT    S E L E C T I O N - S C R E E N                   *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT  SELECTION-SCREEN  ON  VALUE-REQUEST  FOR  P_FNAME.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'KD_GET_FILENAME_ON_F4'&lt;/P&gt;&lt;P&gt;     EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      PROGRAM_NAME        = SYST-REPID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      DYNPRO_NUMBER       = SYST-DYNNR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FIELD_NAME          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       STATIC              = 'X'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      MASK                = '.'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CHANGING&lt;/P&gt;&lt;P&gt;        FILE_NAME           = P_FNAME&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      MASK_TOO_LONG       = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      OTHERS              = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              .&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    AT  SELECTION-SCREEN  ON  VALUE-REQUEST  FOR  P_FILE.&lt;/P&gt;&lt;P&gt;    call function 'KD_GET_FILENAME_ON_F4'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     PROGRAM_NAME        = SYST-REPID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     DYNPRO_NUMBER       = SYST-DYNNR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     FIELD_NAME          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      STATIC              = 'X'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MASK                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    changing&lt;/P&gt;&lt;P&gt;      file_name           = p_file&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      mask_too_long       = 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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   message e000(zp) with 'File name invalid'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; E V E N T : S T A R T - O F - S E L E C T I O N                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--------------------------------------&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Upload Excel file into Internal Table.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--------------------------------------&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM  UPLOAD_EXCEL_FILE.&lt;/P&gt;&lt;P&gt;  if p_file is not initial.&lt;/P&gt;&lt;P&gt;  PERFORM UPLOAD_TEXT_FILE.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  IF  NOT  IT_FILE_UPLOAD  IS  INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IF NOT IT_UPLTXT1 IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ----------------------------------------------------&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Confirm whether you want to proceed with the Upload.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ----------------------------------------------------&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM  CONFIRM_UPLOAD.&lt;/P&gt;&lt;P&gt;    IF  GV_ANS  EQ  '1'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  -------------------------------------------------------&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Organize the uploaded data into another Internal Table.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  -------------------------------------------------------&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM  ORGANIZE_UPLOADED_DATA.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  -----------------------------------&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Kick-start BDC Operation&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    ------------------------&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM  BDC_OPERATION.&lt;/P&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      LEAVE PROGRAM.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  UPLOAD_EXCEL_FILE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&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;P&gt;FORM UPLOAD_EXCEL_FILE .&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      FILENAME                      = P_FNAME&lt;/P&gt;&lt;P&gt;      I_BEGIN_COL                   = 2&lt;/P&gt;&lt;P&gt;      I_BEGIN_ROW                   = 6&lt;/P&gt;&lt;P&gt;      I_END_COL                     = 10&lt;/P&gt;&lt;P&gt;      I_END_ROW                     = 9999&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      INTERN                        = IT_FILE_UPLOAD&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      INCONSISTENT_PARAMETERS       = 1&lt;/P&gt;&lt;P&gt;      UPLOAD_OLE                    = 2&lt;/P&gt;&lt;P&gt;      OTHERS                        = 3&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " UPLOAD_EXCEL_FILE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  CONFIRM_UPLOAD&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      text&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&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 CONFIRM_UPLOAD .&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'POPUP_TO_CONFIRM'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      TITLEBAR                    = 'Pop-Up to Confirm'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    DIAGNOSE_OBJECT             = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      TEXT_QUESTION               = 'Do you like to proceed with the Upload ???'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    TEXT_BUTTON_1               = 'Ja'(001)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    ICON_BUTTON_1               = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    TEXT_BUTTON_2               = 'Nein'(002)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    ICON_BUTTON_2               = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    DEFAULT_BUTTON              = '1'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    DISPLAY_CANCEL_BUTTON       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    USERDEFINED_F1_HELP         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    START_COLUMN                = 25&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    START_ROW                   = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    POPUP_TYPE                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IV_QUICKINFO_BUTTON_1       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IV_QUICKINFO_BUTTON_2       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;P&gt;     ANSWER                       = GV_ANS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    PARAMETER                   =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     TEXT_NOT_FOUND              = 1&lt;/P&gt;&lt;P&gt;     OTHERS                      = 2.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CONFIRM_UPLOAD&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ORGANIZE_UPLOADED_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      text&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&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 ORGANIZE_UPLOADED_DATA .&lt;/P&gt;&lt;P&gt;DATA : GV_TOTROW TYPE I,"No of records&lt;/P&gt;&lt;P&gt;        GV_ROW TYPE I.&lt;/P&gt;&lt;P&gt;  GV_TOTROW = 1.&lt;/P&gt;&lt;P&gt;  SORT  IT_FILE_UPLOAD  BY  ROW&lt;/P&gt;&lt;P&gt;                            COL.&lt;/P&gt;&lt;P&gt;  LOOP AT IT_FILE_UPLOAD.    " WHERE VALUE &amp;lt;&amp;gt; space.&lt;/P&gt;&lt;P&gt;    GV_TOTROW = IT_FILE_UPLOAD-ROW.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;    GV_ROW = 1.&lt;/P&gt;&lt;P&gt;  WHILE GV_ROW &amp;lt;= GV_TOTROW.&lt;/P&gt;&lt;P&gt;    LOOP  AT  IT_FILE_UPLOAD WHERE ROW = GV_ROW.&lt;/P&gt;&lt;P&gt;      CASE  IT_FILE_UPLOAD-COL.&lt;/P&gt;&lt;P&gt;          WHEN '0001'.&lt;/P&gt;&lt;P&gt;           WA_TABDATA-MATNR = IT_FILE_UPLOAD-VALUE.&lt;/P&gt;&lt;P&gt;           WA_MATL-MATNR = IT_FILE_UPLOAD-VALUE.&lt;/P&gt;&lt;P&gt;          WHEN '0002'.&lt;/P&gt;&lt;P&gt;           WA_TABDATA-WERKS = IT_FILE_UPLOAD-VALUE.&lt;/P&gt;&lt;P&gt;           WA_MATL-WERKS  = IT_FILE_UPLOAD-VALUE.&lt;/P&gt;&lt;P&gt;          WHEN '0003'.&lt;/P&gt;&lt;P&gt;           WA_MATL-STLAN = IT_FILE_UPLOAD-VALUE.&lt;/P&gt;&lt;P&gt;           WA_TABDATA-STLAN = IT_FILE_UPLOAD-VALUE.&lt;/P&gt;&lt;P&gt;          WHEN '0004'.&lt;/P&gt;&lt;P&gt;           WA_MATL-STLAL = IT_FILE_UPLOAD-VALUE.&lt;/P&gt;&lt;P&gt;           WA_TABDATA-STLAL    =  IT_FILE_UPLOAD-VALUE.&lt;/P&gt;&lt;P&gt;          WHEN '0005'.&lt;/P&gt;&lt;P&gt;           WA_TABDATA-BMENG = IT_FILE_UPLOAD-VALUE.&lt;/P&gt;&lt;P&gt;          WHEN '0006'.&lt;/P&gt;&lt;P&gt;           WA_MATL-POSTP = IT_FILE_UPLOAD-VALUE.&lt;/P&gt;&lt;P&gt;          WHEN '007'.&lt;/P&gt;&lt;P&gt;           WA_MATL-IDNRK = IT_FILE_UPLOAD-VALUE.&lt;/P&gt;&lt;P&gt;          WHEN '0008'.&lt;/P&gt;&lt;P&gt;           WA_MATL-MENGE = IT_FILE_UPLOAD-VALUE.&lt;/P&gt;&lt;P&gt;          WHEN '009'.&lt;/P&gt;&lt;P&gt;           WA_MATL-FMENG = IT_FILE_UPLOAD-VALUE.&lt;/P&gt;&lt;P&gt;      ENDCASE.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    GV_ROW = GV_ROW + 1.&lt;/P&gt;&lt;P&gt;    INSERT WA_TABDATA INTO TABLE  IT_TABDATA .&lt;/P&gt;&lt;P&gt;    APPEND WA_MATL TO  IT_MATL.&lt;/P&gt;&lt;P&gt;    CLEAR :WA_TABDATA,WA_MATL.&lt;/P&gt;&lt;P&gt;  ENDWHILE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ORGANIZE_UPLOADED_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BDC_OPERATION&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      text&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&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 BDC_OPERATION .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: LC_TEXT(40) TYPE C VALUE 'TEST',&lt;/P&gt;&lt;P&gt;        LC_TEXT2(40) TYPE C ,&lt;/P&gt;&lt;P&gt;        LC_VAR1(4) TYPE N,&lt;/P&gt;&lt;P&gt;        LC_VAR2(4) TYPE N VALUE 40,&lt;/P&gt;&lt;P&gt;        LOOP_CNTR(3) TYPE N VALUE 3,&lt;/P&gt;&lt;P&gt;        FNAM(40),&lt;/P&gt;&lt;P&gt;        LC_ROWCNTR(3) TYPE N,&lt;/P&gt;&lt;P&gt;        LC_FLDLTH(3) TYPE N,&lt;/P&gt;&lt;P&gt;        LINE_CNTR(3) TYPE N value 2,&lt;/P&gt;&lt;P&gt;        GV_TXPARGRAPH(40).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP  AT  IT_TABDATA  INTO  WA_TABDATA.&lt;/P&gt;&lt;P&gt;   CLEAR BDCDATA.&lt;/P&gt;&lt;P&gt;   REFRESH BDCDATA.&lt;/P&gt;&lt;P&gt;   perform bdc_dynpro      using 'SAPLCSDI' '0100'.&lt;/P&gt;&lt;P&gt;   perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'RC29N-STLAN'.&lt;/P&gt;&lt;P&gt;   perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '/00'.&lt;/P&gt;&lt;P&gt;   perform bdc_field       using 'RC29N-MATNR'&lt;/P&gt;&lt;P&gt;                              WA_TABDATA-MATNR.&lt;/P&gt;&lt;P&gt;   perform bdc_field       using 'RC29N-WERKS'&lt;/P&gt;&lt;P&gt;                              WA_TABDATA-WERKS.&lt;/P&gt;&lt;P&gt;   perform bdc_field       using 'RC29N-STLAN'&lt;/P&gt;&lt;P&gt;                              WA_TABDATA-STLAN.&lt;/P&gt;&lt;P&gt;   perform bdc_field       using 'RC29N-STLAL'&lt;/P&gt;&lt;P&gt;                              WA_TABDATA-STLAL.&lt;/P&gt;&lt;P&gt;   gv_year = sy-datum+0(4).&lt;/P&gt;&lt;P&gt;   gv_mnth = sy-datum+4(2).&lt;/P&gt;&lt;P&gt;   gv_date = sy-datum+6(2).&lt;/P&gt;&lt;P&gt;   concatenate gv_date '.' gv_mnth '.' gv_year    into gv_datum.&lt;/P&gt;&lt;P&gt;   perform bdc_field       using 'RC29N-DATUV'&lt;/P&gt;&lt;P&gt;                              GV_DATUM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***&lt;STRONG&gt;CHECK FOR THE EXISTENCE OF BOM HEADER TEXT&lt;/STRONG&gt;*******************************&lt;/P&gt;&lt;P&gt;   READ TABLE IT_UPLTXT1 INTO WA_UPLTXT1 WITH KEY MATNR = WA_TABDATA-MATNR&lt;/P&gt;&lt;P&gt;                                                 WERKS = WA_TABDATA-WERKS&lt;/P&gt;&lt;P&gt;                                                 STLAN = WA_TABDATA-STLAN&lt;/P&gt;&lt;P&gt;                                               STLAL = WA_TABDATA-STLAL.&lt;/P&gt;&lt;P&gt;******************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="10" type="ul"&gt;&lt;P&gt;IF BOM HEADER TEXT DOES NOT EXIST BY PASS THE OK-CODE**************&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;     perform bdc_dynpro      using 'SAPLCSDI' '0110'.&lt;/P&gt;&lt;P&gt;     perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '=LTZU'.&lt;/P&gt;&lt;P&gt;     perform bdc_field       using 'RC29K-BMENG'&lt;/P&gt;&lt;P&gt;                              WA_TABDATA-BMENG.&lt;/P&gt;&lt;P&gt;     perform bdc_field       using 'RC29K-STLST'&lt;/P&gt;&lt;P&gt;                              '1'.&lt;/P&gt;&lt;P&gt;     perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'RC29K-EXSTL'.&lt;/P&gt;&lt;P&gt;     LOOP AT IT_UPLTXT1 INTO WA_UPLTXT1 WHERE      MATNR =  WA_TABDATA-MATNR AND&lt;/P&gt;&lt;P&gt;                                                 WERKS = WA_TABDATA-WERKS  AND&lt;/P&gt;&lt;P&gt;                                                 STLAN = WA_TABDATA-STLAN  AND&lt;/P&gt;&lt;P&gt;                                                 STLAL = WA_TABDATA-STLAL.&lt;/P&gt;&lt;P&gt;        CLEAR: LC_FLDLTH, LC_ROWCNTR,LC_VAR1.&lt;/P&gt;&lt;P&gt;*********&lt;STRONG&gt;ONLY 40 CHARACTERS CAN BE UPLOADED IN BDC LONG TEXT FOR A SINGLWE LINE&lt;/STRONG&gt;******************&lt;/P&gt;&lt;P&gt;        LC_VAR2 = 40.&lt;/P&gt;&lt;P&gt;        LC_TEXT = 'TEST'.&lt;/P&gt;&lt;P&gt;*********&lt;STRONG&gt;LOGIC FOR AVOIDING WORD BREAKING&lt;/STRONG&gt;*********************************************************&lt;/P&gt;&lt;P&gt;        WHILE NOT LC_TEXT IS INITIAL. "LINE_CNTR &amp;gt;= LC_ROWCNTR.&lt;/P&gt;&lt;P&gt;            CLEAR LC_TEXT.&lt;/P&gt;&lt;P&gt;            CONDENSE WA_UPLTXT1-BOMTXT.&lt;/P&gt;&lt;P&gt;            LC_TEXT = WA_UPLTXT1-BOMTXT+LC_VAR1(40).&lt;/P&gt;&lt;P&gt;            if LC_TEXT+39 &amp;lt;&amp;gt; SPACE.&lt;/P&gt;&lt;P&gt;               LC_FLDLTH = 39.&lt;/P&gt;&lt;P&gt;               WHILE LC_TEXT+LC_FLDLTH(1) &amp;lt;&amp;gt; SPACE.&lt;/P&gt;&lt;P&gt;                  LC_FLDLTH = LC_FLDLTH - 1.&lt;/P&gt;&lt;P&gt;               ENDWHILE.&lt;/P&gt;&lt;P&gt;               LC_TEXT = WA_UPLTXT1-BOMTXT+LC_VAR1(LC_FLDLTH).&lt;/P&gt;&lt;P&gt;               LC_VAR1 = LC_VAR1 + LC_FLDLTH.&lt;/P&gt;&lt;P&gt;               LC_VAR2 = LC_VAR2 + LC_FLDLTH.&lt;/P&gt;&lt;P&gt;            ELSE.&lt;/P&gt;&lt;P&gt;               LC_VAR1 = LC_VAR1 + 40.&lt;/P&gt;&lt;P&gt;               LC_VAR2 = LC_VAR2 + 40.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;****************&lt;STRONG&gt;END OF LOGIC TO AVOID WORD BREAKING&lt;/STRONG&gt;***************************************************&lt;/P&gt;&lt;P&gt;            perform bdc_dynpro      using 'SAPLSTXX' '1100'.&lt;/P&gt;&lt;P&gt;            PERFORM BDC_FIELD       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                          'RSTXT-TXLINE(02)'.&lt;/P&gt;&lt;P&gt;            PERFORM BDC_FIELD       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                                     '=POSF'.&lt;/P&gt;&lt;P&gt;            CONCATENATE 'RSTXT-TXLINE(' line_cntr ')' INTO FNAM.&lt;/P&gt;&lt;P&gt;***********INSERT * TO UNDERSTAND SYSTEM FOR NEW LINE*************************************************&lt;/P&gt;&lt;P&gt;            CONCATENATE 'RSTXT-TXPARGRAPH(' '3' ')' INTO GV_TXPARGRAPH.&lt;/P&gt;&lt;P&gt;            PERFORM BDC_FIELD       USING GV_TXPARGRAPH  '*'.&lt;/P&gt;&lt;P&gt;            perform bdc_field       using FNAM LC_TEXT.&lt;/P&gt;&lt;P&gt;            LC_TEXT2 = WA_UPLTXT1-BOMTXT+LC_VAR2(40).&lt;/P&gt;&lt;P&gt;            LINE_CNTR = LINE_CNTR + 1.&lt;/P&gt;&lt;P&gt;            LOOP_CNTR = LOOP_CNTR + 1.&lt;/P&gt;&lt;P&gt;            IF LOOP_CNTR = 14.&lt;/P&gt;&lt;P&gt;               LOOP_CNTR = 3.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;            LINE_CNTR = 2.&lt;/P&gt;&lt;P&gt;        ENDWHILE.&lt;/P&gt;&lt;P&gt;     ENDLOOP.&lt;/P&gt;&lt;P&gt;     perform bdc_dynpro      using 'SAPLSTXX' '1100'.&lt;/P&gt;&lt;P&gt;     perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                             FNAM.&lt;/P&gt;&lt;P&gt;     perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                          '=TXBA'.&lt;/P&gt;&lt;P&gt;     perform bdc_dynpro      using 'SAPLCSDI' '0110'.&lt;/P&gt;&lt;P&gt;     perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                    'RC29K-BMENG'.&lt;/P&gt;&lt;P&gt;     perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                            '/00'.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;   perform bdc_dynpro      using 'SAPLCSDI' '0110'.&lt;/P&gt;&lt;P&gt;   perform bdc_field       using 'RC29K-BMENG'&lt;/P&gt;&lt;P&gt;                              WA_TABDATA-BMENG.&lt;/P&gt;&lt;P&gt;   perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '/00'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;   perform bdc_dynpro      using 'SAPLCSDI' '0111'.&lt;/P&gt;&lt;P&gt;   perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'RC29K-LABOR'.&lt;/P&gt;&lt;P&gt;   perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '/00'.&lt;/P&gt;&lt;P&gt;   perform bdc_dynpro      using 'SAPLCSDI' '0140'.&lt;/P&gt;&lt;P&gt;   perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'RC29P-POSTP(01)'.&lt;/P&gt;&lt;P&gt;   perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '/00'.&lt;/P&gt;&lt;P&gt;   DATA : FNAM1(20) TYPE C,"concatenated field name&lt;/P&gt;&lt;P&gt;         IDX1(3)      TYPE  N VALUE 1."index&lt;/P&gt;&lt;P&gt;    IDX1 = 1.&lt;/P&gt;&lt;P&gt;  loop at IT_MATL INTO WA_MATL&lt;/P&gt;&lt;P&gt;                      WHERE MATNR = WA_TABDATA-MATNR AND&lt;/P&gt;&lt;P&gt;                            WERKS = WA_TABDATA-WERKS AND&lt;/P&gt;&lt;P&gt;                            STLAN = WA_TABDATA-STLAN AND&lt;/P&gt;&lt;P&gt;                            STLAL = WA_TABDATA-STLAL.&lt;/P&gt;&lt;P&gt;**************&lt;STRONG&gt;END OF PAGE&lt;/STRONG&gt;***********************************&lt;/P&gt;&lt;P&gt;     IF IDX1 = 15.&lt;/P&gt;&lt;P&gt;       perform bdc_dynpro      using 'SAPLCSDI' '0140'.&lt;/P&gt;&lt;P&gt;       perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'RC29P-POSNR(01)'.&lt;/P&gt;&lt;P&gt;       perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '=FCNP'.&lt;/P&gt;&lt;P&gt;       MOVE 2 TO IDX1.&lt;/P&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;P&gt;**************************************************************&lt;/P&gt;&lt;P&gt;     perform bdc_dynpro      using 'SAPLCSDI' '0140'.&lt;/P&gt;&lt;P&gt;     perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'RC29P-POSNR(02)'.&lt;/P&gt;&lt;P&gt;     perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '/00'.&lt;/P&gt;&lt;P&gt;     CONCATENATE 'RC29P-IDNRK(' IDX1 ')' INTO FNAM.&lt;/P&gt;&lt;P&gt;     perform bdc_field       using FNAM&lt;/P&gt;&lt;P&gt;                              WA_MATL-IDNRK.&lt;/P&gt;&lt;P&gt;     CONCATENATE 'RC29P-MENGE(' IDX1 ')' INTO FNAM.&lt;/P&gt;&lt;P&gt;     perform bdc_field       using FNAM&lt;/P&gt;&lt;P&gt;                              WA_MATL-MENGE.&lt;/P&gt;&lt;P&gt;     CONCATENATE 'RC29P-POSTP(' IDX1 ')' INTO FNAM.&lt;/P&gt;&lt;P&gt;     perform bdc_field       using FNAM&lt;/P&gt;&lt;P&gt;                              WA_MATL-POSTP.&lt;/P&gt;&lt;P&gt;     perform bdc_dynpro      using 'SAPLCSDI' '0130'.&lt;/P&gt;&lt;P&gt;     perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                '/00'.&lt;/P&gt;&lt;P&gt;     perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                            'RC29P-FMENG'.&lt;/P&gt;&lt;P&gt;     perform bdc_field       using 'RC29P-FMENG'&lt;/P&gt;&lt;P&gt;                               WA_MATL-FMENG.&lt;/P&gt;&lt;P&gt;     perform bdc_dynpro      using 'SAPLCSDI' '0131'.&lt;/P&gt;&lt;P&gt;     perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                              '/00'.&lt;/P&gt;&lt;P&gt;     perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                              'RC29P-SANKA'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform bdc_field       using 'RC29P-LGORT'"STORAGE LOACTION FOR PO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                              'A004'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform bdc_field       using 'RC29P-SANKA'&lt;/P&gt;&lt;P&gt;                              'X'.&lt;/P&gt;&lt;P&gt;    IDX1 = IDX1 + 1.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  perform bdc_dynpro      using 'SAPLCSDI' '140'.&lt;/P&gt;&lt;P&gt;  perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                 '=FCBU'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                             'RC29K-EXSTL'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL transaction  'CS01' USING BDCDATA&lt;/P&gt;&lt;P&gt;              MODE  'E' UPDATE 'A'&lt;/P&gt;&lt;P&gt;              MESSAGES INTO MSGTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BDC_OPERATION&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  UPLOAD_TEXT_FILE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      text&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&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 UPLOAD_TEXT_FILE .&lt;/P&gt;&lt;P&gt;w_filename = P_FILE.&lt;/P&gt;&lt;P&gt;call function 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      filename                = w_filename&lt;/P&gt;&lt;P&gt;      filetype                = 'ASC'&lt;/P&gt;&lt;P&gt;      has_field_separator     = 'X'&lt;/P&gt;&lt;P&gt;    tables&lt;/P&gt;&lt;P&gt;      data_tab                = IT_UPLTXT1&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 &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   message e000(zp) with 'Error occured while opening file'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; if itab[] is initial.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   message e000(zp) with 'No records found to upload'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " UPLOAD_TEXT_FILE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BDC_DYNPRO&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      text&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;&lt;/P&gt;&lt;P&gt;FORM BDC_DYNPRO  USING    PROGRAM&lt;/P&gt;&lt;P&gt;                          DYNPRO.&lt;/P&gt;&lt;P&gt;  CLEAR:  BDCDATA.&lt;/P&gt;&lt;P&gt;  BDCDATA-PROGRAM   =  PROGRAM.&lt;/P&gt;&lt;P&gt;  BDCDATA-DYNPRO    =  DYNPRO.&lt;/P&gt;&lt;P&gt;  BDCDATA-DYNBEGIN  =  'X'.&lt;/P&gt;&lt;P&gt;  APPEND  BDCDATA.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BDC_DYNPRO&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BDC_FIELD&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      text&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;&lt;/P&gt;&lt;P&gt;FORM BDC_FIELD  USING    FNAM&lt;/P&gt;&lt;P&gt;                         FVAL.&lt;/P&gt;&lt;P&gt;  CLEAR:  BDCDATA.&lt;/P&gt;&lt;P&gt;  BDCDATA-FNAM  =  FNAM.&lt;/P&gt;&lt;P&gt;  BDCDATA-FVAL  =  FVAL.&lt;/P&gt;&lt;P&gt;  APPEND  BDCDATA.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BDC_FIELD&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Jan 2008 08:27:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc3/m-p/3367625#M808146</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-25T08:27:30Z</dc:date>
    </item>
  </channel>
</rss>

