<?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: Condition Records in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/condition-records/m-p/1037483#M85498</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;report ZIMG_UPL_CONDITIONS&lt;/P&gt;&lt;P&gt;       line-size 255&lt;/P&gt;&lt;P&gt;       message-id z00.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;data: c_bslash           value '\',           " Backward slash&lt;/P&gt;&lt;P&gt;      c_fslash           value '/'.           " Forward slash&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;Variable 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;data: x_data_in(230) type c,   " String&lt;/P&gt;&lt;P&gt;      v_lines        type i,   " Total no. of lines&lt;/P&gt;&lt;P&gt;      v_err_cnt      type i,   " Error count&lt;/P&gt;&lt;P&gt;      v_msg(250)     type c.   " Log msg&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;Internal Tables                                                      *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to upload the data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_data_in occurs 0 ,&lt;/P&gt;&lt;P&gt;       matnr_old(18),          " Old material number&lt;/P&gt;&lt;P&gt;       price(16),              " Selling price&lt;/P&gt;&lt;P&gt;       gcolor(3),              " Grid color&lt;/P&gt;&lt;P&gt;       gsize(5),               " Grid Size&lt;/P&gt;&lt;P&gt;      end of it_data_in.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table with SAP Material Numbers &amp;amp; no grid values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_cond_recs occurs 0 ,&lt;/P&gt;&lt;P&gt;       matnr(18),              " SAP material number&lt;/P&gt;&lt;P&gt;       price(16),              " Selling price&lt;/P&gt;&lt;P&gt;      end of it_cond_recs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table with SAP Material Numbers with grid values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_cond_recsg occurs 0 ,&lt;/P&gt;&lt;P&gt;       matnr(18),              " SAP material number&lt;/P&gt;&lt;P&gt;       price(16),              " Selling price&lt;/P&gt;&lt;P&gt;       gvalue(8),              " Grid value&lt;/P&gt;&lt;P&gt;      end of it_cond_recsg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for getting the BDC data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of it_bdcdata occurs 0.&lt;/P&gt;&lt;P&gt;        include structure bdcdata.  " Table to hold BDC data&lt;/P&gt;&lt;P&gt;data : end of it_bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for reading the messages of call transaction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : BEGIN OF It_MESSAGE_TAB OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE BDCMSGCOLL. "Table to hold messages&lt;/P&gt;&lt;P&gt;DATA : END OF It_MESSAGE_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for Error messages&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_error occurs 0,&lt;/P&gt;&lt;P&gt;       matnr(18) type n,   " Material no.&lt;/P&gt;&lt;P&gt;       msg(250),           " Log message&lt;/P&gt;&lt;P&gt;      end of it_error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to upload the presentation server&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_upload occurs 0,&lt;/P&gt;&lt;P&gt;       string(230) type c,&lt;/P&gt;&lt;P&gt;      end of it_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;                   Selection Screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&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;     Build Logical System Info Block                                 *&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 b_dsn with frame title text-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;parameters: p_fname type rlgrap-filename.                 " File name&lt;/P&gt;&lt;P&gt;parameters: rd_pserv radiobutton group radi default 'X',  " Pres. Server&lt;/P&gt;&lt;P&gt;            rd_aserv radiobutton group radi.              " App.  Server&lt;/P&gt;&lt;P&gt;selection-screen end of block b_dsn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*selection-screen begin of block outputfile with frame title text-002.&lt;/P&gt;&lt;P&gt;*parameters: p_ofile type edi_path-pthnam default '/tmp/log.txt'.&lt;/P&gt;&lt;P&gt;*selection-screen end of block outputfile.&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;at Selection-screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check which file is selected&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;at selection-screen on value-request for p_fname.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Perform to get the current value of the selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform get_current_value.&lt;/P&gt;&lt;P&gt;  if rd_aserv = 'X'.&lt;/P&gt;&lt;P&gt;    message i003 with 'Can not browse unix directories'(003).&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  F4 help for presentation server file name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform get_local_file_name.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at selection-screen.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;perform to validate file name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform validate_filename using p_fname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;perform to validate output file name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform validate_filename using p_ofile.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;   Start of selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&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;Presentation File upload&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  if rd_pserv = 'X'.&lt;/P&gt;&lt;P&gt;    perform ws_upload.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Unix File Upload&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; if rd_aserv = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   perform load_unix.&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;  if not it_data_in[] is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  perform to process data posting&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform process_data_posting.&lt;/P&gt;&lt;P&gt;  endif.&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;   End of selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if not it_error[] is initial.&lt;/P&gt;&lt;P&gt;  write:/'Total no. of errors:', v_err_cnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at it_error.&lt;/P&gt;&lt;P&gt;    write:/ 'Material no :', it_error-matnr,&lt;/P&gt;&lt;P&gt;          / 'Log Msg     :', it_error-msg(70).&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt; write:'Success'.&lt;/P&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  ws_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;      Subroutine for Uploading file&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 ws_upload.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'WS_UPLOAD'&lt;/P&gt;&lt;P&gt;       exporting&lt;/P&gt;&lt;P&gt;            filename                = p_fname&lt;/P&gt;&lt;P&gt;            filetype                = 'DAT'&lt;/P&gt;&lt;P&gt;       tables&lt;/P&gt;&lt;P&gt;            data_tab                = it_data_in&lt;/P&gt;&lt;P&gt;       exceptions&lt;/P&gt;&lt;P&gt;            conversion_error        = 1&lt;/P&gt;&lt;P&gt;            file_open_error         = 2&lt;/P&gt;&lt;P&gt;            file_read_error         = 3&lt;/P&gt;&lt;P&gt;            invalid_type            = 4&lt;/P&gt;&lt;P&gt;            no_batch                = 5&lt;/P&gt;&lt;P&gt;            unknown_error           = 6&lt;/P&gt;&lt;P&gt;            invalid_table_width     = 7&lt;/P&gt;&lt;P&gt;            gui_refuse_filetransfer = 8&lt;/P&gt;&lt;P&gt;            customer_error          = 9&lt;/P&gt;&lt;P&gt;            others                  = 10.&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    message i003 with&lt;/P&gt;&lt;P&gt;    'Unable to Upload file from presentation server'(008).&lt;/P&gt;&lt;P&gt;    stop.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;   delete it_data_in index 1.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " ws_upload&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  load_unix&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;      Form to Load Unix File&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 load_unix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  open dataset p_fname for input in text mode.&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    message i003 with p_fname.&lt;/P&gt;&lt;P&gt;    stop.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    do.&lt;/P&gt;&lt;P&gt;      clear x_data_in.&lt;/P&gt;&lt;P&gt;      read dataset p_fname into x_data_in.&lt;/P&gt;&lt;P&gt;      case sy-subrc.&lt;/P&gt;&lt;P&gt;        when 0.&lt;/P&gt;&lt;P&gt;          split x_data_in at '~'&lt;/P&gt;&lt;P&gt;               into it_data_in-matnr_old&lt;/P&gt;&lt;P&gt;                    it_data_in-price&lt;/P&gt;&lt;P&gt;                    it_data_in-gcolor&lt;/P&gt;&lt;P&gt;                    it_data_in-gsize.&lt;/P&gt;&lt;P&gt;          append it_data_in.&lt;/P&gt;&lt;P&gt;          clear it_data_in.&lt;/P&gt;&lt;P&gt;        when 4.&lt;/P&gt;&lt;P&gt;          exit.&lt;/P&gt;&lt;P&gt;        when 8.&lt;/P&gt;&lt;P&gt;          message i003 with 'Unable to Read the File'(009) p_fname.&lt;/P&gt;&lt;P&gt;          stop.&lt;/P&gt;&lt;P&gt;      endcase.&lt;/P&gt;&lt;P&gt;    enddo.&lt;/P&gt;&lt;P&gt;    close dataset p_fname.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " load_unix&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  get_current_value&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;      Read the screen for radio button&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 get_current_value.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local internal table for screen fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  data: begin of i_dynpfields occurs 0.&lt;/P&gt;&lt;P&gt;          include structure dynpread.&lt;/P&gt;&lt;P&gt;  data: end of i_dynpfields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear   i_dynpfields.&lt;/P&gt;&lt;P&gt;  refresh i_dynpfields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_dynpfields-fieldname = 'RD_ASERV'.&lt;/P&gt;&lt;P&gt;  append i_dynpfields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'DYNP_VALUES_READ'&lt;/P&gt;&lt;P&gt;       exporting&lt;/P&gt;&lt;P&gt;            dyname               = sy-cprog&lt;/P&gt;&lt;P&gt;            dynumb               = sy-dynnr&lt;/P&gt;&lt;P&gt;       tables&lt;/P&gt;&lt;P&gt;            dynpfields           = i_dynpfields&lt;/P&gt;&lt;P&gt;       exceptions&lt;/P&gt;&lt;P&gt;            invalid_abapworkarea = 1&lt;/P&gt;&lt;P&gt;            invalid_dynprofield  = 2&lt;/P&gt;&lt;P&gt;            invalid_dynproname   = 3&lt;/P&gt;&lt;P&gt;            invalid_dynpronummer = 4&lt;/P&gt;&lt;P&gt;            invalid_request      = 5&lt;/P&gt;&lt;P&gt;            no_fielddescription  = 6&lt;/P&gt;&lt;P&gt;            invalid_parameter    = 7&lt;/P&gt;&lt;P&gt;            undefind_error       = 8&lt;/P&gt;&lt;P&gt;            double_conversion    = 9&lt;/P&gt;&lt;P&gt;            others               = 10.&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;   message i999  with 'Unbale to read the selection screen values'(015).&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    read table i_dynpfields index 1.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      move i_dynpfields-fieldvalue to rd_aserv.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " get_current_value&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  get_local_file_name&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;      F4 help for presentation server&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 get_local_file_name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local variable&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  data: l_fname like ibipparms-path,   " File name&lt;/P&gt;&lt;P&gt;        v_repid like sy-repid.&lt;/P&gt;&lt;P&gt;  l_fname = p_fname.&lt;/P&gt;&lt;P&gt;  v_repid = sy-repid.&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  = v_repid&lt;/P&gt;&lt;P&gt;            dynpro_number = sy-dynnr&lt;/P&gt;&lt;P&gt;            field_name    = 'P_FNAME'&lt;/P&gt;&lt;P&gt;       importing&lt;/P&gt;&lt;P&gt;            file_name     = l_fname&lt;/P&gt;&lt;P&gt;       exceptions&lt;/P&gt;&lt;P&gt;            others        = 1.&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    p_fname = l_fname.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " get_local_file_name&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  validate_filename&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;      To validate file name&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 validate_filename using p_fname type any.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if rd_aserv = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local variable for file length&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    data : l_len type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_len = strlen( p_fname ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if p_fname ca space.&lt;/P&gt;&lt;P&gt;      if sy-fdpos &amp;lt; l_len.&lt;/P&gt;&lt;P&gt;        message e333 with 'File name should not contain spaces'(004).&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if p_fname ca c_bslash.&lt;/P&gt;&lt;P&gt;      message e333 with 'File name should not contain \'(005).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    if p_fname na c_fslash. " No directory path given&lt;/P&gt;&lt;P&gt;      message w333 with 'File will be created in home directory'(006).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  if p_fname&lt;EM&gt;0(1) = c_fslash and p_fname&lt;/EM&gt;1 = space.&lt;/P&gt;&lt;P&gt;    message e333 with 'File name should not contain only /'(007).&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " validate_filename&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  process_data_posting&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;      To process data posting&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 process_data_posting.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;perform get SAP Material number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform get_SAP_materials.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;perform to build BDC Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform build_bdc_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " process_data_posting&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  get_SAP_materials&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;      To get SAP Material numbers for the old materials&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 get_SAP_materials.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local variable&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: l_gvalue(8),  " Grid value&lt;/P&gt;&lt;P&gt;      l_matnr(18).  " Material no.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sort it_data_in by matnr_old.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at it_data_in.&lt;/P&gt;&lt;P&gt;  at new matnr_old.&lt;/P&gt;&lt;P&gt;    select single matnr from mara into l_matnr&lt;/P&gt;&lt;P&gt;                        where bismt = it_data_in-matnr_old.&lt;/P&gt;&lt;P&gt;  endat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  concatenate it_data_in-gcolor&lt;/P&gt;&lt;P&gt;              it_data_in-gsize&lt;/P&gt;&lt;P&gt;         into l_gvalue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if l_gvalue is initial.&lt;/P&gt;&lt;P&gt;    it_cond_recs-matnr = l_matnr.&lt;/P&gt;&lt;P&gt;    it_cond_recs-price = it_data_in-price.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    append it_cond_recs.&lt;/P&gt;&lt;P&gt;    clear  it_cond_recs.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    it_cond_recsg-matnr  = l_matnr.&lt;/P&gt;&lt;P&gt;    it_cond_recsg-price  = it_data_in-price.&lt;/P&gt;&lt;P&gt;    it_cond_recsg-gvalue = l_gvalue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    append it_cond_recsg.&lt;/P&gt;&lt;P&gt;    clear  it_cond_recsg.&lt;/P&gt;&lt;P&gt;  endif.&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;sort it_cond_recs  by matnr.&lt;/P&gt;&lt;P&gt;sort it_cond_recsg by matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_SAP_materials&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  build_bdc_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;      To build bdc data for J3a4 (Create price &amp;amp; SZ Condition)&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_bdc_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not it_cond_recs[] is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  perform to build BDC Data for J3a4 with out grid values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform build_bdc_data_no_grid.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not it_cond_recsg[] is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  perform to build BDC Data for J3a4 with grid values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform build_bdc_data_with_grid.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_bdc_data&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  populate1&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;      To populate screen and field information&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 populate1 USING value(p_a) type any&lt;/P&gt;&lt;P&gt;                     value(p_b) type any&lt;/P&gt;&lt;P&gt;                     value(p_c) type any.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if p_a = 'X'.&lt;/P&gt;&lt;P&gt;    it_bdcdata-program  = p_b.&lt;/P&gt;&lt;P&gt;    it_bdcdata-dynpro   = p_c.&lt;/P&gt;&lt;P&gt;    it_bdcdata-dynbegin = p_a.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    it_bdcdata-fnam     = p_b.&lt;/P&gt;&lt;P&gt;    it_bdcdata-fval     = p_c.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  append it_bdcdata.&lt;/P&gt;&lt;P&gt;  clear it_bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " populate1&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  build_bdc_data_with_grid&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;      To build bdc data for J3a4 (Create price &amp;amp; SZ Condition)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      with grid values&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_bdc_data_with_grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: l_gsize(18),  " Field name&lt;/P&gt;&lt;P&gt;      l_kbetr(15),  " Field name&lt;/P&gt;&lt;P&gt;      l_cnt type n, " Counter&lt;/P&gt;&lt;P&gt;      l_cnt_c(3).   " Counter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; loop at it_cond_recsg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   at new matnr.&lt;/P&gt;&lt;P&gt;     read table it_cond_recsg index sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      perform populate1 using : 'X' 'SAPLJ3AT' '0100',&lt;/P&gt;&lt;P&gt;                              : ' ' 'RV13A-KSCHL' 'J3AP',&lt;/P&gt;&lt;P&gt;                              : ' ' 'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      perform populate1 using : 'X' 'SAPLV14A' '0100',&lt;/P&gt;&lt;P&gt;                              : ' ' 'RV130-SELKZ(04)' 'X',&lt;/P&gt;&lt;P&gt;                              : ' ' 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;   endat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   l_cnt = l_cnt + 1.&lt;/P&gt;&lt;P&gt;   l_cnt_c = l_cnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   if l_cnt &amp;lt;= 13.&lt;/P&gt;&lt;P&gt;   concatenate 'KOMG-J_3ASIZE(' l_cnt_c ')' into l_gsize.&lt;/P&gt;&lt;P&gt;   concatenate 'KONP-KBETR(' l_cnt_c ')' into l_kbetr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   perform populate1 using : 'X' 'SAPMV13A' '1499',&lt;/P&gt;&lt;P&gt;                           : ' ' 'KOMG-VKORG' '0010',&lt;/P&gt;&lt;P&gt;                           : ' ' 'KOMG-VTWEG' '10',&lt;/P&gt;&lt;P&gt;                           : ' ' 'KOMG-MATNR' it_cond_recsg-matnr,&lt;/P&gt;&lt;P&gt;                           : ' ' l_gsize it_cond_recsg-gvalue,&lt;/P&gt;&lt;P&gt;                           : ' ' l_kbetr it_cond_recsg-price,&lt;/P&gt;&lt;P&gt;                           : ' ' 'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;   l_cnt = 1.&lt;/P&gt;&lt;P&gt;   perform populate1 using : ' ' 'BDC_OKCODE' '=NEWP'.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  at end of matnr.&lt;/P&gt;&lt;P&gt;    perform populate1 using : 'X' 'SAPMV13A' '1499',&lt;/P&gt;&lt;P&gt;                            : ' ' 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   perform populate1 using : 'X' 'SAPLJ3AT' '0100',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                           : ' ' 'BDC_OKCODE' '/EBA0'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  perform to call transaction J3a4&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform call_transaction.&lt;/P&gt;&lt;P&gt;    clear l_cnt.&lt;/P&gt;&lt;P&gt;  endat.&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;ENDFORM.                    " build_bdc_data_with_grid&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  build_bdc_data_no_grid&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;      To build bdc data for J3a4 (Create price &amp;amp; SZ Condition)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      with no grid values&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_bdc_data_no_grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: l_matnr(15),  " Field name&lt;/P&gt;&lt;P&gt;      l_kbetr(15),  " Field name&lt;/P&gt;&lt;P&gt;      l_cnt type n, " Counter&lt;/P&gt;&lt;P&gt;      l_cnt_c(3).   " Counter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform populate1 using : 'X' 'SAPLJ3AT' '0100',&lt;/P&gt;&lt;P&gt;                          : ' ' 'RV13A-KSCHL' 'J3AP',&lt;/P&gt;&lt;P&gt;                          : ' ' 'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform populate1 using : 'X' 'SAPLV14A' '0100',&lt;/P&gt;&lt;P&gt;                          : ' ' 'RV130-SELKZ(06)' 'X',&lt;/P&gt;&lt;P&gt;                          : ' ' 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at it_cond_recs.&lt;/P&gt;&lt;P&gt;   l_cnt = l_cnt + 1.&lt;/P&gt;&lt;P&gt;   l_cnt_c = l_cnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   if l_cnt &amp;lt;= 14.&lt;/P&gt;&lt;P&gt;   concatenate 'KOMG-MATNR(' l_cnt_c ')' into l_matnr.&lt;/P&gt;&lt;P&gt;   concatenate 'KONP-KBETR(' l_cnt_c ')' into l_kbetr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   perform populate1 using : 'X' 'SAPMV13A' '1004',&lt;/P&gt;&lt;P&gt;                           : ' ' 'KOMG-VKORG' '0010',&lt;/P&gt;&lt;P&gt;                           : ' ' 'KOMG-VTWEG' '10',&lt;/P&gt;&lt;P&gt;                           : ' ' l_matnr it_cond_recs-matnr,&lt;/P&gt;&lt;P&gt;                           : ' ' l_kbetr it_cond_recs-price,&lt;/P&gt;&lt;P&gt;                           : ' ' 'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;   l_cnt = 1.&lt;/P&gt;&lt;P&gt;   perform populate1 using : ' ' 'BDC_OKCODE' '=NEWP'.&lt;/P&gt;&lt;P&gt;  endif.&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;  perform populate1 using : 'X' 'SAPMV13A' '1004',&lt;/P&gt;&lt;P&gt;                          : ' ' 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform populate1 using : 'X' 'SAPLJ3AT' '0100',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         : ' ' 'BDC_OKCODE' '/EBA0'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To call the transaction J3a4&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform call_transaction.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_bdc_data_no_grid&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  call_transaction&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;      To call the transaction J3a4&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 call_transaction.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure declaration for options&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: x_opt like ctu_params.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_opt-DISMODE   = 'N'.   " No Screen Mode&lt;/P&gt;&lt;P&gt;x_opt-UPDMODE   = 'S'.   " Update mode "Synchronous or Asynchronous&lt;/P&gt;&lt;P&gt;x_opt-DEFSIZE   = 'X'.   " Sets to the default size of the window&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;call the transaction J3a4&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL TRANSACTION 'J3A4' USING It_BDCDATA&lt;/P&gt;&lt;P&gt;                        MESSAGES INTO it_MESSAGE_TAB&lt;/P&gt;&lt;P&gt;                        options from x_opt.&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;   v_err_cnt = v_err_cnt + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   clear v_lines.&lt;/P&gt;&lt;P&gt;   describe table it_message_tab lines v_lines.&lt;/P&gt;&lt;P&gt;   read table it_message_tab index v_lines.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Perform to read the messages&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   perform message_format.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Appending the error records into error table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   it_error-matnr = it_cond_recsg-matnr.     " Material No.&lt;/P&gt;&lt;P&gt;   it_error-msg   = v_msg.                   " Error message&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   append it_error.&lt;/P&gt;&lt;P&gt;   clear it_error.&lt;/P&gt;&lt;P&gt; endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REFRESH: It_BDCDATA,&lt;/P&gt;&lt;P&gt;         it_message_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR:   It_BDCDATA,&lt;/P&gt;&lt;P&gt;         it_message_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " call_transaction&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  message_format&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;      Subroutine to read the messages&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 message_format.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; CLEAR V_MSG.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'FORMAT_MESSAGE'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              ID        = It_MESSAGE_TAB-MSGID&lt;/P&gt;&lt;P&gt;              LANG      =  'EN'&lt;/P&gt;&lt;P&gt;              NO        = It_MESSAGE_TAB-MSGNR&lt;/P&gt;&lt;P&gt;              V1        = It_MESSAGE_TAB-MSGV1&lt;/P&gt;&lt;P&gt;              V2        = It_MESSAGE_TAB-MSGV2&lt;/P&gt;&lt;P&gt;              V3        = It_MESSAGE_TAB-MSGV3&lt;/P&gt;&lt;P&gt;              V4        = It_MESSAGE_TAB-MSGV4&lt;/P&gt;&lt;P&gt;         IMPORTING&lt;/P&gt;&lt;P&gt;              MSG       = V_MSG&lt;/P&gt;&lt;P&gt;         EXCEPTIONS&lt;/P&gt;&lt;P&gt;              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;P&gt;      V_MSG = SPACE.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " message_format&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this out then. In No screen mode in the call transaction it says No batch input data.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 27 Oct 2005 16:12:45 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2005-10-27T16:12:45Z</dc:date>
    <item>
      <title>Condition Records</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/condition-records/m-p/1037481#M85496</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;I am uploading condition records in j3a4 transaction. I also tried VK11. I have problem in the recording. I am using call transaction, after i post the record it takes me to the first screen with out returning to the called program. If i am coding in the program for 'BACK' button it says leave to transaction is not possible. if not it says no batch input data. Can any one help me in this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;or is there a function module or BAPI to achieve this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Oct 2005 15:52:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/condition-records/m-p/1037481#M85496</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-10-27T15:52:35Z</dc:date>
    </item>
    <item>
      <title>Re: Condition Records</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/condition-records/m-p/1037482#M85497</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can u post ur code...probably u can give No screen mode in call transaction syntax&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Oct 2005 15:57:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/condition-records/m-p/1037482#M85497</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-10-27T15:57:34Z</dc:date>
    </item>
    <item>
      <title>Re: Condition Records</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/condition-records/m-p/1037483#M85498</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;report ZIMG_UPL_CONDITIONS&lt;/P&gt;&lt;P&gt;       line-size 255&lt;/P&gt;&lt;P&gt;       message-id z00.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;data: c_bslash           value '\',           " Backward slash&lt;/P&gt;&lt;P&gt;      c_fslash           value '/'.           " Forward slash&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;Variable 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;data: x_data_in(230) type c,   " String&lt;/P&gt;&lt;P&gt;      v_lines        type i,   " Total no. of lines&lt;/P&gt;&lt;P&gt;      v_err_cnt      type i,   " Error count&lt;/P&gt;&lt;P&gt;      v_msg(250)     type c.   " Log msg&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;Internal Tables                                                      *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to upload the data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_data_in occurs 0 ,&lt;/P&gt;&lt;P&gt;       matnr_old(18),          " Old material number&lt;/P&gt;&lt;P&gt;       price(16),              " Selling price&lt;/P&gt;&lt;P&gt;       gcolor(3),              " Grid color&lt;/P&gt;&lt;P&gt;       gsize(5),               " Grid Size&lt;/P&gt;&lt;P&gt;      end of it_data_in.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table with SAP Material Numbers &amp;amp; no grid values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_cond_recs occurs 0 ,&lt;/P&gt;&lt;P&gt;       matnr(18),              " SAP material number&lt;/P&gt;&lt;P&gt;       price(16),              " Selling price&lt;/P&gt;&lt;P&gt;      end of it_cond_recs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table with SAP Material Numbers with grid values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_cond_recsg occurs 0 ,&lt;/P&gt;&lt;P&gt;       matnr(18),              " SAP material number&lt;/P&gt;&lt;P&gt;       price(16),              " Selling price&lt;/P&gt;&lt;P&gt;       gvalue(8),              " Grid value&lt;/P&gt;&lt;P&gt;      end of it_cond_recsg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for getting the BDC data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of it_bdcdata occurs 0.&lt;/P&gt;&lt;P&gt;        include structure bdcdata.  " Table to hold BDC data&lt;/P&gt;&lt;P&gt;data : end of it_bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for reading the messages of call transaction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : BEGIN OF It_MESSAGE_TAB OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE BDCMSGCOLL. "Table to hold messages&lt;/P&gt;&lt;P&gt;DATA : END OF It_MESSAGE_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for Error messages&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_error occurs 0,&lt;/P&gt;&lt;P&gt;       matnr(18) type n,   " Material no.&lt;/P&gt;&lt;P&gt;       msg(250),           " Log message&lt;/P&gt;&lt;P&gt;      end of it_error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to upload the presentation server&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_upload occurs 0,&lt;/P&gt;&lt;P&gt;       string(230) type c,&lt;/P&gt;&lt;P&gt;      end of it_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;                   Selection Screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&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;     Build Logical System Info Block                                 *&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 b_dsn with frame title text-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;parameters: p_fname type rlgrap-filename.                 " File name&lt;/P&gt;&lt;P&gt;parameters: rd_pserv radiobutton group radi default 'X',  " Pres. Server&lt;/P&gt;&lt;P&gt;            rd_aserv radiobutton group radi.              " App.  Server&lt;/P&gt;&lt;P&gt;selection-screen end of block b_dsn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*selection-screen begin of block outputfile with frame title text-002.&lt;/P&gt;&lt;P&gt;*parameters: p_ofile type edi_path-pthnam default '/tmp/log.txt'.&lt;/P&gt;&lt;P&gt;*selection-screen end of block outputfile.&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;at Selection-screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check which file is selected&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;at selection-screen on value-request for p_fname.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Perform to get the current value of the selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform get_current_value.&lt;/P&gt;&lt;P&gt;  if rd_aserv = 'X'.&lt;/P&gt;&lt;P&gt;    message i003 with 'Can not browse unix directories'(003).&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  F4 help for presentation server file name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform get_local_file_name.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at selection-screen.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;perform to validate file name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform validate_filename using p_fname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;perform to validate output file name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform validate_filename using p_ofile.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;   Start of selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&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;Presentation File upload&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  if rd_pserv = 'X'.&lt;/P&gt;&lt;P&gt;    perform ws_upload.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Unix File Upload&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; if rd_aserv = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   perform load_unix.&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;  if not it_data_in[] is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  perform to process data posting&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform process_data_posting.&lt;/P&gt;&lt;P&gt;  endif.&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;   End of selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if not it_error[] is initial.&lt;/P&gt;&lt;P&gt;  write:/'Total no. of errors:', v_err_cnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at it_error.&lt;/P&gt;&lt;P&gt;    write:/ 'Material no :', it_error-matnr,&lt;/P&gt;&lt;P&gt;          / 'Log Msg     :', it_error-msg(70).&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt; write:'Success'.&lt;/P&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  ws_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;      Subroutine for Uploading file&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 ws_upload.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'WS_UPLOAD'&lt;/P&gt;&lt;P&gt;       exporting&lt;/P&gt;&lt;P&gt;            filename                = p_fname&lt;/P&gt;&lt;P&gt;            filetype                = 'DAT'&lt;/P&gt;&lt;P&gt;       tables&lt;/P&gt;&lt;P&gt;            data_tab                = it_data_in&lt;/P&gt;&lt;P&gt;       exceptions&lt;/P&gt;&lt;P&gt;            conversion_error        = 1&lt;/P&gt;&lt;P&gt;            file_open_error         = 2&lt;/P&gt;&lt;P&gt;            file_read_error         = 3&lt;/P&gt;&lt;P&gt;            invalid_type            = 4&lt;/P&gt;&lt;P&gt;            no_batch                = 5&lt;/P&gt;&lt;P&gt;            unknown_error           = 6&lt;/P&gt;&lt;P&gt;            invalid_table_width     = 7&lt;/P&gt;&lt;P&gt;            gui_refuse_filetransfer = 8&lt;/P&gt;&lt;P&gt;            customer_error          = 9&lt;/P&gt;&lt;P&gt;            others                  = 10.&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    message i003 with&lt;/P&gt;&lt;P&gt;    'Unable to Upload file from presentation server'(008).&lt;/P&gt;&lt;P&gt;    stop.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;   delete it_data_in index 1.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " ws_upload&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  load_unix&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;      Form to Load Unix File&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 load_unix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  open dataset p_fname for input in text mode.&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    message i003 with p_fname.&lt;/P&gt;&lt;P&gt;    stop.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    do.&lt;/P&gt;&lt;P&gt;      clear x_data_in.&lt;/P&gt;&lt;P&gt;      read dataset p_fname into x_data_in.&lt;/P&gt;&lt;P&gt;      case sy-subrc.&lt;/P&gt;&lt;P&gt;        when 0.&lt;/P&gt;&lt;P&gt;          split x_data_in at '~'&lt;/P&gt;&lt;P&gt;               into it_data_in-matnr_old&lt;/P&gt;&lt;P&gt;                    it_data_in-price&lt;/P&gt;&lt;P&gt;                    it_data_in-gcolor&lt;/P&gt;&lt;P&gt;                    it_data_in-gsize.&lt;/P&gt;&lt;P&gt;          append it_data_in.&lt;/P&gt;&lt;P&gt;          clear it_data_in.&lt;/P&gt;&lt;P&gt;        when 4.&lt;/P&gt;&lt;P&gt;          exit.&lt;/P&gt;&lt;P&gt;        when 8.&lt;/P&gt;&lt;P&gt;          message i003 with 'Unable to Read the File'(009) p_fname.&lt;/P&gt;&lt;P&gt;          stop.&lt;/P&gt;&lt;P&gt;      endcase.&lt;/P&gt;&lt;P&gt;    enddo.&lt;/P&gt;&lt;P&gt;    close dataset p_fname.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " load_unix&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  get_current_value&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;      Read the screen for radio button&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 get_current_value.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local internal table for screen fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  data: begin of i_dynpfields occurs 0.&lt;/P&gt;&lt;P&gt;          include structure dynpread.&lt;/P&gt;&lt;P&gt;  data: end of i_dynpfields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear   i_dynpfields.&lt;/P&gt;&lt;P&gt;  refresh i_dynpfields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_dynpfields-fieldname = 'RD_ASERV'.&lt;/P&gt;&lt;P&gt;  append i_dynpfields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'DYNP_VALUES_READ'&lt;/P&gt;&lt;P&gt;       exporting&lt;/P&gt;&lt;P&gt;            dyname               = sy-cprog&lt;/P&gt;&lt;P&gt;            dynumb               = sy-dynnr&lt;/P&gt;&lt;P&gt;       tables&lt;/P&gt;&lt;P&gt;            dynpfields           = i_dynpfields&lt;/P&gt;&lt;P&gt;       exceptions&lt;/P&gt;&lt;P&gt;            invalid_abapworkarea = 1&lt;/P&gt;&lt;P&gt;            invalid_dynprofield  = 2&lt;/P&gt;&lt;P&gt;            invalid_dynproname   = 3&lt;/P&gt;&lt;P&gt;            invalid_dynpronummer = 4&lt;/P&gt;&lt;P&gt;            invalid_request      = 5&lt;/P&gt;&lt;P&gt;            no_fielddescription  = 6&lt;/P&gt;&lt;P&gt;            invalid_parameter    = 7&lt;/P&gt;&lt;P&gt;            undefind_error       = 8&lt;/P&gt;&lt;P&gt;            double_conversion    = 9&lt;/P&gt;&lt;P&gt;            others               = 10.&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;   message i999  with 'Unbale to read the selection screen values'(015).&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    read table i_dynpfields index 1.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      move i_dynpfields-fieldvalue to rd_aserv.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " get_current_value&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  get_local_file_name&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;      F4 help for presentation server&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 get_local_file_name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local variable&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  data: l_fname like ibipparms-path,   " File name&lt;/P&gt;&lt;P&gt;        v_repid like sy-repid.&lt;/P&gt;&lt;P&gt;  l_fname = p_fname.&lt;/P&gt;&lt;P&gt;  v_repid = sy-repid.&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  = v_repid&lt;/P&gt;&lt;P&gt;            dynpro_number = sy-dynnr&lt;/P&gt;&lt;P&gt;            field_name    = 'P_FNAME'&lt;/P&gt;&lt;P&gt;       importing&lt;/P&gt;&lt;P&gt;            file_name     = l_fname&lt;/P&gt;&lt;P&gt;       exceptions&lt;/P&gt;&lt;P&gt;            others        = 1.&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    p_fname = l_fname.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " get_local_file_name&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  validate_filename&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;      To validate file name&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 validate_filename using p_fname type any.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if rd_aserv = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local variable for file length&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    data : l_len type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_len = strlen( p_fname ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if p_fname ca space.&lt;/P&gt;&lt;P&gt;      if sy-fdpos &amp;lt; l_len.&lt;/P&gt;&lt;P&gt;        message e333 with 'File name should not contain spaces'(004).&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if p_fname ca c_bslash.&lt;/P&gt;&lt;P&gt;      message e333 with 'File name should not contain \'(005).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    if p_fname na c_fslash. " No directory path given&lt;/P&gt;&lt;P&gt;      message w333 with 'File will be created in home directory'(006).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  if p_fname&lt;EM&gt;0(1) = c_fslash and p_fname&lt;/EM&gt;1 = space.&lt;/P&gt;&lt;P&gt;    message e333 with 'File name should not contain only /'(007).&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " validate_filename&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  process_data_posting&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;      To process data posting&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 process_data_posting.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;perform get SAP Material number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform get_SAP_materials.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;perform to build BDC Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform build_bdc_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " process_data_posting&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  get_SAP_materials&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;      To get SAP Material numbers for the old materials&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 get_SAP_materials.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local variable&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: l_gvalue(8),  " Grid value&lt;/P&gt;&lt;P&gt;      l_matnr(18).  " Material no.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sort it_data_in by matnr_old.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at it_data_in.&lt;/P&gt;&lt;P&gt;  at new matnr_old.&lt;/P&gt;&lt;P&gt;    select single matnr from mara into l_matnr&lt;/P&gt;&lt;P&gt;                        where bismt = it_data_in-matnr_old.&lt;/P&gt;&lt;P&gt;  endat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  concatenate it_data_in-gcolor&lt;/P&gt;&lt;P&gt;              it_data_in-gsize&lt;/P&gt;&lt;P&gt;         into l_gvalue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if l_gvalue is initial.&lt;/P&gt;&lt;P&gt;    it_cond_recs-matnr = l_matnr.&lt;/P&gt;&lt;P&gt;    it_cond_recs-price = it_data_in-price.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    append it_cond_recs.&lt;/P&gt;&lt;P&gt;    clear  it_cond_recs.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    it_cond_recsg-matnr  = l_matnr.&lt;/P&gt;&lt;P&gt;    it_cond_recsg-price  = it_data_in-price.&lt;/P&gt;&lt;P&gt;    it_cond_recsg-gvalue = l_gvalue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    append it_cond_recsg.&lt;/P&gt;&lt;P&gt;    clear  it_cond_recsg.&lt;/P&gt;&lt;P&gt;  endif.&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;sort it_cond_recs  by matnr.&lt;/P&gt;&lt;P&gt;sort it_cond_recsg by matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_SAP_materials&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  build_bdc_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;      To build bdc data for J3a4 (Create price &amp;amp; SZ Condition)&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_bdc_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not it_cond_recs[] is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  perform to build BDC Data for J3a4 with out grid values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform build_bdc_data_no_grid.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not it_cond_recsg[] is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  perform to build BDC Data for J3a4 with grid values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform build_bdc_data_with_grid.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_bdc_data&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  populate1&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;      To populate screen and field information&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 populate1 USING value(p_a) type any&lt;/P&gt;&lt;P&gt;                     value(p_b) type any&lt;/P&gt;&lt;P&gt;                     value(p_c) type any.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if p_a = 'X'.&lt;/P&gt;&lt;P&gt;    it_bdcdata-program  = p_b.&lt;/P&gt;&lt;P&gt;    it_bdcdata-dynpro   = p_c.&lt;/P&gt;&lt;P&gt;    it_bdcdata-dynbegin = p_a.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    it_bdcdata-fnam     = p_b.&lt;/P&gt;&lt;P&gt;    it_bdcdata-fval     = p_c.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  append it_bdcdata.&lt;/P&gt;&lt;P&gt;  clear it_bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " populate1&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  build_bdc_data_with_grid&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;      To build bdc data for J3a4 (Create price &amp;amp; SZ Condition)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      with grid values&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_bdc_data_with_grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: l_gsize(18),  " Field name&lt;/P&gt;&lt;P&gt;      l_kbetr(15),  " Field name&lt;/P&gt;&lt;P&gt;      l_cnt type n, " Counter&lt;/P&gt;&lt;P&gt;      l_cnt_c(3).   " Counter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; loop at it_cond_recsg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   at new matnr.&lt;/P&gt;&lt;P&gt;     read table it_cond_recsg index sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      perform populate1 using : 'X' 'SAPLJ3AT' '0100',&lt;/P&gt;&lt;P&gt;                              : ' ' 'RV13A-KSCHL' 'J3AP',&lt;/P&gt;&lt;P&gt;                              : ' ' 'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      perform populate1 using : 'X' 'SAPLV14A' '0100',&lt;/P&gt;&lt;P&gt;                              : ' ' 'RV130-SELKZ(04)' 'X',&lt;/P&gt;&lt;P&gt;                              : ' ' 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;   endat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   l_cnt = l_cnt + 1.&lt;/P&gt;&lt;P&gt;   l_cnt_c = l_cnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   if l_cnt &amp;lt;= 13.&lt;/P&gt;&lt;P&gt;   concatenate 'KOMG-J_3ASIZE(' l_cnt_c ')' into l_gsize.&lt;/P&gt;&lt;P&gt;   concatenate 'KONP-KBETR(' l_cnt_c ')' into l_kbetr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   perform populate1 using : 'X' 'SAPMV13A' '1499',&lt;/P&gt;&lt;P&gt;                           : ' ' 'KOMG-VKORG' '0010',&lt;/P&gt;&lt;P&gt;                           : ' ' 'KOMG-VTWEG' '10',&lt;/P&gt;&lt;P&gt;                           : ' ' 'KOMG-MATNR' it_cond_recsg-matnr,&lt;/P&gt;&lt;P&gt;                           : ' ' l_gsize it_cond_recsg-gvalue,&lt;/P&gt;&lt;P&gt;                           : ' ' l_kbetr it_cond_recsg-price,&lt;/P&gt;&lt;P&gt;                           : ' ' 'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;   l_cnt = 1.&lt;/P&gt;&lt;P&gt;   perform populate1 using : ' ' 'BDC_OKCODE' '=NEWP'.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  at end of matnr.&lt;/P&gt;&lt;P&gt;    perform populate1 using : 'X' 'SAPMV13A' '1499',&lt;/P&gt;&lt;P&gt;                            : ' ' 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   perform populate1 using : 'X' 'SAPLJ3AT' '0100',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                           : ' ' 'BDC_OKCODE' '/EBA0'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  perform to call transaction J3a4&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform call_transaction.&lt;/P&gt;&lt;P&gt;    clear l_cnt.&lt;/P&gt;&lt;P&gt;  endat.&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;ENDFORM.                    " build_bdc_data_with_grid&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  build_bdc_data_no_grid&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;      To build bdc data for J3a4 (Create price &amp;amp; SZ Condition)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      with no grid values&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_bdc_data_no_grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: l_matnr(15),  " Field name&lt;/P&gt;&lt;P&gt;      l_kbetr(15),  " Field name&lt;/P&gt;&lt;P&gt;      l_cnt type n, " Counter&lt;/P&gt;&lt;P&gt;      l_cnt_c(3).   " Counter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform populate1 using : 'X' 'SAPLJ3AT' '0100',&lt;/P&gt;&lt;P&gt;                          : ' ' 'RV13A-KSCHL' 'J3AP',&lt;/P&gt;&lt;P&gt;                          : ' ' 'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform populate1 using : 'X' 'SAPLV14A' '0100',&lt;/P&gt;&lt;P&gt;                          : ' ' 'RV130-SELKZ(06)' 'X',&lt;/P&gt;&lt;P&gt;                          : ' ' 'BDC_OKCODE' '=WEIT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at it_cond_recs.&lt;/P&gt;&lt;P&gt;   l_cnt = l_cnt + 1.&lt;/P&gt;&lt;P&gt;   l_cnt_c = l_cnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   if l_cnt &amp;lt;= 14.&lt;/P&gt;&lt;P&gt;   concatenate 'KOMG-MATNR(' l_cnt_c ')' into l_matnr.&lt;/P&gt;&lt;P&gt;   concatenate 'KONP-KBETR(' l_cnt_c ')' into l_kbetr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   perform populate1 using : 'X' 'SAPMV13A' '1004',&lt;/P&gt;&lt;P&gt;                           : ' ' 'KOMG-VKORG' '0010',&lt;/P&gt;&lt;P&gt;                           : ' ' 'KOMG-VTWEG' '10',&lt;/P&gt;&lt;P&gt;                           : ' ' l_matnr it_cond_recs-matnr,&lt;/P&gt;&lt;P&gt;                           : ' ' l_kbetr it_cond_recs-price,&lt;/P&gt;&lt;P&gt;                           : ' ' 'BDC_OKCODE' '/00'.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;   l_cnt = 1.&lt;/P&gt;&lt;P&gt;   perform populate1 using : ' ' 'BDC_OKCODE' '=NEWP'.&lt;/P&gt;&lt;P&gt;  endif.&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;  perform populate1 using : 'X' 'SAPMV13A' '1004',&lt;/P&gt;&lt;P&gt;                          : ' ' 'BDC_OKCODE' '=SICH'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform populate1 using : 'X' 'SAPLJ3AT' '0100',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         : ' ' 'BDC_OKCODE' '/EBA0'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To call the transaction J3a4&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform call_transaction.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_bdc_data_no_grid&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  call_transaction&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;      To call the transaction J3a4&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 call_transaction.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure declaration for options&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: x_opt like ctu_params.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_opt-DISMODE   = 'N'.   " No Screen Mode&lt;/P&gt;&lt;P&gt;x_opt-UPDMODE   = 'S'.   " Update mode "Synchronous or Asynchronous&lt;/P&gt;&lt;P&gt;x_opt-DEFSIZE   = 'X'.   " Sets to the default size of the window&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;call the transaction J3a4&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL TRANSACTION 'J3A4' USING It_BDCDATA&lt;/P&gt;&lt;P&gt;                        MESSAGES INTO it_MESSAGE_TAB&lt;/P&gt;&lt;P&gt;                        options from x_opt.&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;   v_err_cnt = v_err_cnt + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   clear v_lines.&lt;/P&gt;&lt;P&gt;   describe table it_message_tab lines v_lines.&lt;/P&gt;&lt;P&gt;   read table it_message_tab index v_lines.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Perform to read the messages&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   perform message_format.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Appending the error records into error table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   it_error-matnr = it_cond_recsg-matnr.     " Material No.&lt;/P&gt;&lt;P&gt;   it_error-msg   = v_msg.                   " Error message&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   append it_error.&lt;/P&gt;&lt;P&gt;   clear it_error.&lt;/P&gt;&lt;P&gt; endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REFRESH: It_BDCDATA,&lt;/P&gt;&lt;P&gt;         it_message_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR:   It_BDCDATA,&lt;/P&gt;&lt;P&gt;         it_message_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " call_transaction&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  message_format&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;      Subroutine to read the messages&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 message_format.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; CLEAR V_MSG.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'FORMAT_MESSAGE'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              ID        = It_MESSAGE_TAB-MSGID&lt;/P&gt;&lt;P&gt;              LANG      =  'EN'&lt;/P&gt;&lt;P&gt;              NO        = It_MESSAGE_TAB-MSGNR&lt;/P&gt;&lt;P&gt;              V1        = It_MESSAGE_TAB-MSGV1&lt;/P&gt;&lt;P&gt;              V2        = It_MESSAGE_TAB-MSGV2&lt;/P&gt;&lt;P&gt;              V3        = It_MESSAGE_TAB-MSGV3&lt;/P&gt;&lt;P&gt;              V4        = It_MESSAGE_TAB-MSGV4&lt;/P&gt;&lt;P&gt;         IMPORTING&lt;/P&gt;&lt;P&gt;              MSG       = V_MSG&lt;/P&gt;&lt;P&gt;         EXCEPTIONS&lt;/P&gt;&lt;P&gt;              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;P&gt;      V_MSG = SPACE.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " message_format&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this out then. In No screen mode in the call transaction it says No batch input data.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Oct 2005 16:12:45 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/condition-records/m-p/1037483#M85498</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-10-27T16:12:45Z</dc:date>
    </item>
    <item>
      <title>Re: Condition Records</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/condition-records/m-p/1037484#M85499</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Subbu,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;there's an interface named &amp;lt;b&amp;gt;RV14BTCI&amp;lt;/b&amp;gt; to create condition records.&lt;/P&gt;&lt;P&gt;-&amp;gt; look documentation of this report&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards Andreas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Oct 2005 05:50:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/condition-records/m-p/1037484#M85499</guid>
      <dc:creator>andreas_mann3</dc:creator>
      <dc:date>2005-10-28T05:50:52Z</dc:date>
    </item>
  </channel>
</rss>

