<?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: BDC Call transaction program for VA01. in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-call-transaction-program-for-va01/m-p/1955515#M393281</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kalyan,&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;BDC (Batch Data Communication) works based on the data in the Internal table of structure "BDCDATA", and some of the very important lines with information (in sequence) Dynpro, Cursor-field and Data Fields, then call Transaction / Session Creation Logic.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In Call Transaction method of BDC, the Message is handled manually using the structure "BDCMSGCOLL" and by refering to messages in "T100" Table. [Refer the standard Include BECRECX1 for more information.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BDC can be created by Recording tool or my scracth creating a new program. Use transaction code 'SHDB'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A sample code by using the Recording method (Here both Call transaction and Session Method of BDC will be created by standard Recording tool [this you can find in include BDCRECX1])&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************&lt;/P&gt;&lt;P&gt;Code Only the Program, withoug Include BDCRECX1 (This std, inclu you can find)&lt;/P&gt;&lt;P&gt;**********************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***INCLUDE BDCRECX1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for programs doing a data transfer by creating a batch-input session&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for programs doing a data transfer by CALL TRANSACTION USING&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;parameters session radiobutton group ctu. "create session&lt;/P&gt;&lt;P&gt;selection-screen comment 3(20) text-s07 for field session.&lt;/P&gt;&lt;P&gt;selection-screen position 45.&lt;/P&gt;&lt;P&gt;parameters ctu radiobutton group ctu. "call transaction&lt;/P&gt;&lt;P&gt;selection-screen comment 48(20) text-s08 for field ctu.&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;selection-screen comment 3(20) text-s01 for field group.&lt;/P&gt;&lt;P&gt;selection-screen position 25.&lt;/P&gt;&lt;P&gt;parameters group(12). "group name of session&lt;/P&gt;&lt;P&gt;selection-screen comment 48(20) text-s05 for field ctumode.&lt;/P&gt;&lt;P&gt;selection-screen position 70.&lt;/P&gt;&lt;P&gt;parameters ctumode like ctu_params-dismode default 'N'.&lt;/P&gt;&lt;P&gt;"A: show all dynpros&lt;/P&gt;&lt;P&gt;"E: show dynpro on error only&lt;/P&gt;&lt;P&gt;"N: do not display dynpro&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;selection-screen comment 3(20) text-s02 for field user.&lt;/P&gt;&lt;P&gt;selection-screen position 25.&lt;/P&gt;&lt;P&gt;parameters: user(12) default sy-uname. "user for session in batch&lt;/P&gt;&lt;P&gt;selection-screen comment 48(20) text-s06 for field cupdate.&lt;/P&gt;&lt;P&gt;selection-screen position 70.&lt;/P&gt;&lt;P&gt;parameters cupdate like ctu_params-updmode default 'L'.&lt;/P&gt;&lt;P&gt;"S: synchronously&lt;/P&gt;&lt;P&gt;"A: asynchronously&lt;/P&gt;&lt;P&gt;"L: local&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;selection-screen comment 3(20) text-s03 for field keep.&lt;/P&gt;&lt;P&gt;selection-screen position 25.&lt;/P&gt;&lt;P&gt;parameters: keep as checkbox. "' ' = delete session if finished&lt;/P&gt;&lt;P&gt;"'X' = keep session if finished&lt;/P&gt;&lt;P&gt;selection-screen comment 48(20) text-s09 for field e_group.&lt;/P&gt;&lt;P&gt;selection-screen position 70.&lt;/P&gt;&lt;P&gt;parameters e_group(12). "group name of error-session&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;selection-screen comment 3(20) text-s04 for field holddate.&lt;/P&gt;&lt;P&gt;selection-screen position 25.&lt;/P&gt;&lt;P&gt;parameters: holddate like sy-datum.&lt;/P&gt;&lt;P&gt;selection-screen comment 51(17) text-s02 for field e_user.&lt;/P&gt;&lt;P&gt;selection-screen position 70.&lt;/P&gt;&lt;P&gt;parameters: e_user(12) default sy-uname. "user for error-session&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;selection-screen comment 51(17) text-s03 for field e_keep.&lt;/P&gt;&lt;P&gt;selection-screen position 70.&lt;/P&gt;&lt;P&gt;parameters: e_keep as checkbox. "' ' = delete session if finished&lt;/P&gt;&lt;P&gt;"'X' = keep session if finished&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;selection-screen comment 51(17) text-s04 for field e_hdate.&lt;/P&gt;&lt;P&gt;selection-screen position 70.&lt;/P&gt;&lt;P&gt;parameters: e_hdate like sy-datum.&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen skip.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;selection-screen comment 1(33) text-s10 for field nodata.&lt;/P&gt;&lt;P&gt;parameters: nodata default '/' lower case. "nodata&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;selection-screen comment 1(33) text-s11 for field smalllog.&lt;/P&gt;&lt;P&gt;parameters: smalllog as checkbox. "' ' = log all transactions&lt;/P&gt;&lt;P&gt;"'X' = no transaction logging&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;data definition&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;Batchinputdata of single transaction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: bdcdata like bdcdata occurs 0 with header line.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;messages of call transaction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: messtab like bdcmsgcoll occurs 0 with header line.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;error session opened (' ' or 'X')&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: e_group_opened.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;message texts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;tables: t100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;at selection screen *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at selection-screen.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;group and user must be filled for create session&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;if session = 'X' and&lt;/P&gt;&lt;P&gt;group = space or user = space.&lt;/P&gt;&lt;P&gt;message e613(ms).&lt;/P&gt;&lt;P&gt;endif.&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;open dataset *&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 open_dataset using p_dataset.&lt;/P&gt;&lt;P&gt;open dataset p_dataset&lt;/P&gt;&lt;P&gt;for input in text mode&lt;/P&gt;&lt;P&gt;encoding default.&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;write: / text-e00, sy-subrc.&lt;/P&gt;&lt;P&gt;stop.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;close dataset *&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 close_dataset using p_dataset.&lt;/P&gt;&lt;P&gt;close dataset p_dataset.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create batchinput session *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;(not for call transaction using...) *&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 open_group.&lt;/P&gt;&lt;P&gt;if session = 'X'.&lt;/P&gt;&lt;P&gt;skip.&lt;/P&gt;&lt;P&gt;write: /(20) 'Create group'(i01), group.&lt;/P&gt;&lt;P&gt;skip.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;open batchinput group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'BDC_OPEN_GROUP'&lt;/P&gt;&lt;P&gt;exporting client = sy-mandt&lt;/P&gt;&lt;P&gt;group = group&lt;/P&gt;&lt;P&gt;user = user&lt;/P&gt;&lt;P&gt;keep = keep&lt;/P&gt;&lt;P&gt;holddate = holddate.&lt;/P&gt;&lt;P&gt;write: /(30) 'BDC_OPEN_GROUP'(i02),&lt;/P&gt;&lt;P&gt;(12) 'returncode:'(i05),&lt;/P&gt;&lt;P&gt;sy-subrc.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;end batchinput session *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;(call transaction using...: error session) *&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 close_group.&lt;/P&gt;&lt;P&gt;if session = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;close batchinput group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'BDC_CLOSE_GROUP'.&lt;/P&gt;&lt;P&gt;write: /(30) 'BDC_CLOSE_GROUP'(i04),&lt;/P&gt;&lt;P&gt;(12) 'returncode:'(i05),&lt;/P&gt;&lt;P&gt;sy-subrc.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;if e_group_opened = 'X'.&lt;/P&gt;&lt;P&gt;call function 'BDC_CLOSE_GROUP'.&lt;/P&gt;&lt;P&gt;write: /.&lt;/P&gt;&lt;P&gt;write: /(30) 'Fehlermappe wurde erzeugt'(i06).&lt;/P&gt;&lt;P&gt;e_group_opened = ' '.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start new transaction according to parameters *&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_transaction using tcode.&lt;/P&gt;&lt;P&gt;data: l_mstring(480).&lt;/P&gt;&lt;P&gt;data: l_subrc like sy-subrc.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;batch input session&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;if session = 'X'.&lt;/P&gt;&lt;P&gt;call function 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;exporting tcode = tcode&lt;/P&gt;&lt;P&gt;tables dynprotab = bdcdata.&lt;/P&gt;&lt;P&gt;if smalllog &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;write: / 'BDC_INSERT'(i03),&lt;/P&gt;&lt;P&gt;tcode,&lt;/P&gt;&lt;P&gt;'returncode:'(i05),&lt;/P&gt;&lt;P&gt;sy-subrc,&lt;/P&gt;&lt;P&gt;'RECORD:',&lt;/P&gt;&lt;P&gt;sy-index.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;call transaction using&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;refresh messtab.&lt;/P&gt;&lt;P&gt;call transaction tcode using bdcdata&lt;/P&gt;&lt;P&gt;mode ctumode&lt;/P&gt;&lt;P&gt;update cupdate&lt;/P&gt;&lt;P&gt;messages into messtab.&lt;/P&gt;&lt;P&gt;l_subrc = sy-subrc.&lt;/P&gt;&lt;P&gt;if smalllog &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;write: / 'CALL_TRANSACTION',&lt;/P&gt;&lt;P&gt;tcode,&lt;/P&gt;&lt;P&gt;'returncode:'(i05),&lt;/P&gt;&lt;P&gt;l_subrc,&lt;/P&gt;&lt;P&gt;'RECORD:',&lt;/P&gt;&lt;P&gt;sy-index.&lt;/P&gt;&lt;P&gt;loop at messtab.&lt;/P&gt;&lt;P&gt;select single * from t100 where sprsl = messtab-msgspra&lt;/P&gt;&lt;P&gt;and arbgb = messtab-msgid&lt;/P&gt;&lt;P&gt;and msgnr = messtab-msgnr.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_mstring = t100-text.&lt;/P&gt;&lt;P&gt;if l_mstring cs '&amp;amp;1'.&lt;/P&gt;&lt;P&gt;replace '&amp;amp;1' with messtab-msgv1 into l_mstring.&lt;/P&gt;&lt;P&gt;replace '&amp;amp;2' with messtab-msgv2 into l_mstring.&lt;/P&gt;&lt;P&gt;replace '&amp;amp;3' with messtab-msgv3 into l_mstring.&lt;/P&gt;&lt;P&gt;replace '&amp;amp;4' with messtab-msgv4 into l_mstring.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;replace '&amp;amp;' with messtab-msgv1 into l_mstring.&lt;/P&gt;&lt;P&gt;replace '&amp;amp;' with messtab-msgv2 into l_mstring.&lt;/P&gt;&lt;P&gt;replace '&amp;amp;' with messtab-msgv3 into l_mstring.&lt;/P&gt;&lt;P&gt;replace '&amp;amp;' with messtab-msgv4 into l_mstring.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;condense l_mstring.&lt;/P&gt;&lt;P&gt;write: / messtab-msgtyp, l_mstring(250).&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;write: / messtab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;skip.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Erzeugen fehlermappe ************************************************&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;if l_subrc &amp;lt;&amp;gt; 0 and e_group &amp;lt;&amp;gt; space.&lt;/P&gt;&lt;P&gt;if e_group_opened = ' '.&lt;/P&gt;&lt;P&gt;call function 'BDC_OPEN_GROUP'&lt;/P&gt;&lt;P&gt;exporting client = sy-mandt&lt;/P&gt;&lt;P&gt;group = e_group&lt;/P&gt;&lt;P&gt;user = e_user&lt;/P&gt;&lt;P&gt;keep = e_keep&lt;/P&gt;&lt;P&gt;holddate = e_hdate.&lt;/P&gt;&lt;P&gt;e_group_opened = 'X'.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;call function 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;exporting tcode = tcode&lt;/P&gt;&lt;P&gt;tables dynprotab = bdcdata.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;refresh bdcdata.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start new screen *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form bdc_dynpro using program 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.&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;Insert field *&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_field using fnam fval.&lt;/P&gt;&lt;P&gt;if fval &amp;lt;&amp;gt; nodata.&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;endif.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can find many example programs in SDN or Google.... &lt;SPAN __jive_emoticon_name="happy"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Kishore&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 28 Feb 2007 09:02:08 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-02-28T09:02:08Z</dc:date>
    <item>
      <title>BDC Call transaction program for VA01.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-call-transaction-program-for-va01/m-p/1955514#M393280</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi friends could you please guide me to write BDC call Transaction program to upload  Va01. I need any example programs and the pattern of the flat file to enter, please i am new to BDC.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Feb 2007 08:53:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-call-transaction-program-for-va01/m-p/1955514#M393280</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-02-28T08:53:49Z</dc:date>
    </item>
    <item>
      <title>Re: BDC Call transaction program for VA01.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-call-transaction-program-for-va01/m-p/1955515#M393281</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kalyan,&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;BDC (Batch Data Communication) works based on the data in the Internal table of structure "BDCDATA", and some of the very important lines with information (in sequence) Dynpro, Cursor-field and Data Fields, then call Transaction / Session Creation Logic.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In Call Transaction method of BDC, the Message is handled manually using the structure "BDCMSGCOLL" and by refering to messages in "T100" Table. [Refer the standard Include BECRECX1 for more information.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BDC can be created by Recording tool or my scracth creating a new program. Use transaction code 'SHDB'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A sample code by using the Recording method (Here both Call transaction and Session Method of BDC will be created by standard Recording tool [this you can find in include BDCRECX1])&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************&lt;/P&gt;&lt;P&gt;Code Only the Program, withoug Include BDCRECX1 (This std, inclu you can find)&lt;/P&gt;&lt;P&gt;**********************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***INCLUDE BDCRECX1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for programs doing a data transfer by creating a batch-input session&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for programs doing a data transfer by CALL TRANSACTION USING&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;parameters session radiobutton group ctu. "create session&lt;/P&gt;&lt;P&gt;selection-screen comment 3(20) text-s07 for field session.&lt;/P&gt;&lt;P&gt;selection-screen position 45.&lt;/P&gt;&lt;P&gt;parameters ctu radiobutton group ctu. "call transaction&lt;/P&gt;&lt;P&gt;selection-screen comment 48(20) text-s08 for field ctu.&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;selection-screen comment 3(20) text-s01 for field group.&lt;/P&gt;&lt;P&gt;selection-screen position 25.&lt;/P&gt;&lt;P&gt;parameters group(12). "group name of session&lt;/P&gt;&lt;P&gt;selection-screen comment 48(20) text-s05 for field ctumode.&lt;/P&gt;&lt;P&gt;selection-screen position 70.&lt;/P&gt;&lt;P&gt;parameters ctumode like ctu_params-dismode default 'N'.&lt;/P&gt;&lt;P&gt;"A: show all dynpros&lt;/P&gt;&lt;P&gt;"E: show dynpro on error only&lt;/P&gt;&lt;P&gt;"N: do not display dynpro&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;selection-screen comment 3(20) text-s02 for field user.&lt;/P&gt;&lt;P&gt;selection-screen position 25.&lt;/P&gt;&lt;P&gt;parameters: user(12) default sy-uname. "user for session in batch&lt;/P&gt;&lt;P&gt;selection-screen comment 48(20) text-s06 for field cupdate.&lt;/P&gt;&lt;P&gt;selection-screen position 70.&lt;/P&gt;&lt;P&gt;parameters cupdate like ctu_params-updmode default 'L'.&lt;/P&gt;&lt;P&gt;"S: synchronously&lt;/P&gt;&lt;P&gt;"A: asynchronously&lt;/P&gt;&lt;P&gt;"L: local&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;selection-screen comment 3(20) text-s03 for field keep.&lt;/P&gt;&lt;P&gt;selection-screen position 25.&lt;/P&gt;&lt;P&gt;parameters: keep as checkbox. "' ' = delete session if finished&lt;/P&gt;&lt;P&gt;"'X' = keep session if finished&lt;/P&gt;&lt;P&gt;selection-screen comment 48(20) text-s09 for field e_group.&lt;/P&gt;&lt;P&gt;selection-screen position 70.&lt;/P&gt;&lt;P&gt;parameters e_group(12). "group name of error-session&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;selection-screen comment 3(20) text-s04 for field holddate.&lt;/P&gt;&lt;P&gt;selection-screen position 25.&lt;/P&gt;&lt;P&gt;parameters: holddate like sy-datum.&lt;/P&gt;&lt;P&gt;selection-screen comment 51(17) text-s02 for field e_user.&lt;/P&gt;&lt;P&gt;selection-screen position 70.&lt;/P&gt;&lt;P&gt;parameters: e_user(12) default sy-uname. "user for error-session&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;selection-screen comment 51(17) text-s03 for field e_keep.&lt;/P&gt;&lt;P&gt;selection-screen position 70.&lt;/P&gt;&lt;P&gt;parameters: e_keep as checkbox. "' ' = delete session if finished&lt;/P&gt;&lt;P&gt;"'X' = keep session if finished&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;selection-screen comment 51(17) text-s04 for field e_hdate.&lt;/P&gt;&lt;P&gt;selection-screen position 70.&lt;/P&gt;&lt;P&gt;parameters: e_hdate like sy-datum.&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen skip.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;selection-screen comment 1(33) text-s10 for field nodata.&lt;/P&gt;&lt;P&gt;parameters: nodata default '/' lower case. "nodata&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of line.&lt;/P&gt;&lt;P&gt;selection-screen comment 1(33) text-s11 for field smalllog.&lt;/P&gt;&lt;P&gt;parameters: smalllog as checkbox. "' ' = log all transactions&lt;/P&gt;&lt;P&gt;"'X' = no transaction logging&lt;/P&gt;&lt;P&gt;selection-screen end of line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;data definition&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;Batchinputdata of single transaction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: bdcdata like bdcdata occurs 0 with header line.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;messages of call transaction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: messtab like bdcmsgcoll occurs 0 with header line.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;error session opened (' ' or 'X')&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: e_group_opened.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;message texts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;tables: t100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;at selection screen *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at selection-screen.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;group and user must be filled for create session&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;if session = 'X' and&lt;/P&gt;&lt;P&gt;group = space or user = space.&lt;/P&gt;&lt;P&gt;message e613(ms).&lt;/P&gt;&lt;P&gt;endif.&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;open dataset *&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 open_dataset using p_dataset.&lt;/P&gt;&lt;P&gt;open dataset p_dataset&lt;/P&gt;&lt;P&gt;for input in text mode&lt;/P&gt;&lt;P&gt;encoding default.&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;write: / text-e00, sy-subrc.&lt;/P&gt;&lt;P&gt;stop.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;close dataset *&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 close_dataset using p_dataset.&lt;/P&gt;&lt;P&gt;close dataset p_dataset.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create batchinput session *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;(not for call transaction using...) *&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 open_group.&lt;/P&gt;&lt;P&gt;if session = 'X'.&lt;/P&gt;&lt;P&gt;skip.&lt;/P&gt;&lt;P&gt;write: /(20) 'Create group'(i01), group.&lt;/P&gt;&lt;P&gt;skip.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;open batchinput group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'BDC_OPEN_GROUP'&lt;/P&gt;&lt;P&gt;exporting client = sy-mandt&lt;/P&gt;&lt;P&gt;group = group&lt;/P&gt;&lt;P&gt;user = user&lt;/P&gt;&lt;P&gt;keep = keep&lt;/P&gt;&lt;P&gt;holddate = holddate.&lt;/P&gt;&lt;P&gt;write: /(30) 'BDC_OPEN_GROUP'(i02),&lt;/P&gt;&lt;P&gt;(12) 'returncode:'(i05),&lt;/P&gt;&lt;P&gt;sy-subrc.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;end batchinput session *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;(call transaction using...: error session) *&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 close_group.&lt;/P&gt;&lt;P&gt;if session = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;close batchinput group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'BDC_CLOSE_GROUP'.&lt;/P&gt;&lt;P&gt;write: /(30) 'BDC_CLOSE_GROUP'(i04),&lt;/P&gt;&lt;P&gt;(12) 'returncode:'(i05),&lt;/P&gt;&lt;P&gt;sy-subrc.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;if e_group_opened = 'X'.&lt;/P&gt;&lt;P&gt;call function 'BDC_CLOSE_GROUP'.&lt;/P&gt;&lt;P&gt;write: /.&lt;/P&gt;&lt;P&gt;write: /(30) 'Fehlermappe wurde erzeugt'(i06).&lt;/P&gt;&lt;P&gt;e_group_opened = ' '.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start new transaction according to parameters *&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_transaction using tcode.&lt;/P&gt;&lt;P&gt;data: l_mstring(480).&lt;/P&gt;&lt;P&gt;data: l_subrc like sy-subrc.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;batch input session&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;if session = 'X'.&lt;/P&gt;&lt;P&gt;call function 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;exporting tcode = tcode&lt;/P&gt;&lt;P&gt;tables dynprotab = bdcdata.&lt;/P&gt;&lt;P&gt;if smalllog &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;write: / 'BDC_INSERT'(i03),&lt;/P&gt;&lt;P&gt;tcode,&lt;/P&gt;&lt;P&gt;'returncode:'(i05),&lt;/P&gt;&lt;P&gt;sy-subrc,&lt;/P&gt;&lt;P&gt;'RECORD:',&lt;/P&gt;&lt;P&gt;sy-index.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;call transaction using&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;refresh messtab.&lt;/P&gt;&lt;P&gt;call transaction tcode using bdcdata&lt;/P&gt;&lt;P&gt;mode ctumode&lt;/P&gt;&lt;P&gt;update cupdate&lt;/P&gt;&lt;P&gt;messages into messtab.&lt;/P&gt;&lt;P&gt;l_subrc = sy-subrc.&lt;/P&gt;&lt;P&gt;if smalllog &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;write: / 'CALL_TRANSACTION',&lt;/P&gt;&lt;P&gt;tcode,&lt;/P&gt;&lt;P&gt;'returncode:'(i05),&lt;/P&gt;&lt;P&gt;l_subrc,&lt;/P&gt;&lt;P&gt;'RECORD:',&lt;/P&gt;&lt;P&gt;sy-index.&lt;/P&gt;&lt;P&gt;loop at messtab.&lt;/P&gt;&lt;P&gt;select single * from t100 where sprsl = messtab-msgspra&lt;/P&gt;&lt;P&gt;and arbgb = messtab-msgid&lt;/P&gt;&lt;P&gt;and msgnr = messtab-msgnr.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;l_mstring = t100-text.&lt;/P&gt;&lt;P&gt;if l_mstring cs '&amp;amp;1'.&lt;/P&gt;&lt;P&gt;replace '&amp;amp;1' with messtab-msgv1 into l_mstring.&lt;/P&gt;&lt;P&gt;replace '&amp;amp;2' with messtab-msgv2 into l_mstring.&lt;/P&gt;&lt;P&gt;replace '&amp;amp;3' with messtab-msgv3 into l_mstring.&lt;/P&gt;&lt;P&gt;replace '&amp;amp;4' with messtab-msgv4 into l_mstring.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;replace '&amp;amp;' with messtab-msgv1 into l_mstring.&lt;/P&gt;&lt;P&gt;replace '&amp;amp;' with messtab-msgv2 into l_mstring.&lt;/P&gt;&lt;P&gt;replace '&amp;amp;' with messtab-msgv3 into l_mstring.&lt;/P&gt;&lt;P&gt;replace '&amp;amp;' with messtab-msgv4 into l_mstring.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;condense l_mstring.&lt;/P&gt;&lt;P&gt;write: / messtab-msgtyp, l_mstring(250).&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;write: / messtab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;skip.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Erzeugen fehlermappe ************************************************&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;if l_subrc &amp;lt;&amp;gt; 0 and e_group &amp;lt;&amp;gt; space.&lt;/P&gt;&lt;P&gt;if e_group_opened = ' '.&lt;/P&gt;&lt;P&gt;call function 'BDC_OPEN_GROUP'&lt;/P&gt;&lt;P&gt;exporting client = sy-mandt&lt;/P&gt;&lt;P&gt;group = e_group&lt;/P&gt;&lt;P&gt;user = e_user&lt;/P&gt;&lt;P&gt;keep = e_keep&lt;/P&gt;&lt;P&gt;holddate = e_hdate.&lt;/P&gt;&lt;P&gt;e_group_opened = 'X'.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;call function 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;exporting tcode = tcode&lt;/P&gt;&lt;P&gt;tables dynprotab = bdcdata.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;refresh bdcdata.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start new screen *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form bdc_dynpro using program 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.&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;Insert field *&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_field using fnam fval.&lt;/P&gt;&lt;P&gt;if fval &amp;lt;&amp;gt; nodata.&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;endif.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can find many example programs in SDN or Google.... &lt;SPAN __jive_emoticon_name="happy"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Kishore&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Feb 2007 09:02:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-call-transaction-program-for-va01/m-p/1955515#M393281</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-02-28T09:02:08Z</dc:date>
    </item>
    <item>
      <title>Re: BDC Call transaction program for VA01.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-call-transaction-program-for-va01/m-p/1955516#M393282</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The flat file layout will be relevant to your needs - no one elses.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do you really need to use BDC. You should use a BAPI.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Feb 2007 09:02:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-call-transaction-program-for-va01/m-p/1955516#M393282</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-02-28T09:02:19Z</dc:date>
    </item>
    <item>
      <title>Re: BDC Call transaction program for VA01.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-call-transaction-program-for-va01/m-p/1955517#M393283</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi kalyan&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;First u should get the exact requirement&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1)we have to analyse the flat file&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2)Analyse the corresponding transaction &lt;/P&gt;&lt;P&gt;  what is the program name,screen no,what are all the fields to be processed during the updation process.make a note of it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3) go to SHDB for recording,after recording from there come to ABAP EDITOR by clicking genereate program&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4)create an internal table &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5) create an internal table related to BDCDATA structure.&lt;/P&gt;&lt;P&gt;     via this only we can pass all the data to the database tables&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;6)create an internal table related to BDCMSGCOLL structure to handle the error&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;7) upload the falt file to the internal tabe by GUI_UPLOAD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":smiling_face_with_sunglasses:"&gt;😎&lt;/span&gt; Than to the BDCDATA table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;9)call the transaction&lt;/P&gt;&lt;P&gt;   syntax : call transaction TCODE using BDCDATA mode 'all screen/errorscreen/no screen' update 'syn/asyn' messages in to bdcmsgcoll structure&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;10) check subrc value,if not 0&lt;/P&gt;&lt;P&gt;     handle the error by using FORMAT_MESSAGE fn module&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If u find this will be helpul up to some extend,reward pts&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;P.Thangaraj&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Feb 2007 09:19:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-call-transaction-program-for-va01/m-p/1955517#M393283</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-02-28T09:19:34Z</dc:date>
    </item>
    <item>
      <title>Re: BDC Call transaction program for VA01.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-call-transaction-program-for-va01/m-p/1955518#M393284</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;See the following sample prog for VA01&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:   bdcdata LIKE bdcdata    OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA :  w_auart(4)   TYPE c,&lt;/P&gt;&lt;P&gt;        w_vkorg(4)   TYPE c,&lt;/P&gt;&lt;P&gt;        w_vtweg(2)   TYPE c,&lt;/P&gt;&lt;P&gt;        w_spart(2)   TYPE c,&lt;/P&gt;&lt;P&gt;        w_kunnr(10)  TYPE c,&lt;/P&gt;&lt;P&gt;        w_kunrg(10)  TYPE c,&lt;/P&gt;&lt;P&gt;        w_bstkd(35)  TYPE c,&lt;/P&gt;&lt;P&gt;        w_bstdk(10)  TYPE c,&lt;/P&gt;&lt;P&gt;        w_kwmeng(18) TYPE c,&lt;/P&gt;&lt;P&gt;        w_zterm(4)   TYPE c,&lt;/P&gt;&lt;P&gt;        w_inco1(3)   TYPE c,&lt;/P&gt;&lt;P&gt;        w_inco2(28)  TYPE c,&lt;/P&gt;&lt;P&gt;        w_augru(3)   TYPE c.&lt;/P&gt;&lt;P&gt;DATA :  var1    TYPE string,&lt;/P&gt;&lt;P&gt;        var2    TYPE  c VALUE '(',&lt;/P&gt;&lt;P&gt;        var3    TYPE  c VALUE ')',&lt;/P&gt;&lt;P&gt;        num(2)  TYPE  c,&lt;/P&gt;&lt;P&gt;        flag(1) TYPE  c.&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF it_order,     "  Internal table Structure&lt;/P&gt;&lt;P&gt;        auart(4)   TYPE c,    "  Sales Order Type&lt;/P&gt;&lt;P&gt;        vkorg(4)   TYPE c,    "  Sales Organization&lt;/P&gt;&lt;P&gt;        vtweg(2)   TYPE c,    "  Distribution Channel&lt;/P&gt;&lt;P&gt;        spart(2)   TYPE c,    "  Division&lt;/P&gt;&lt;P&gt;        kunnr(10)  TYPE c,    "  Sold-to-Party&lt;/P&gt;&lt;P&gt;        kunrg(10)  TYPE c,    "  Ship-to-Party&lt;/P&gt;&lt;P&gt;        bstkd(35)  TYPE c,    "  Purchase Order No&lt;/P&gt;&lt;P&gt;        bstdk(10)  TYPE c,    "  Purchase Order Date&lt;/P&gt;&lt;P&gt;        zterm(4)   TYPE c,    "  Payment Terms&lt;/P&gt;&lt;P&gt;        inco1(3)   TYPE c,    "  Inco Terms1&lt;/P&gt;&lt;P&gt;        inco2(20)  TYPE c,    "  Inco Terms2&lt;/P&gt;&lt;P&gt;        augru(3)   TYPE c,    "  Order Reason&lt;/P&gt;&lt;P&gt;        mabnr(18)  TYPE c,    "  Material No&lt;/P&gt;&lt;P&gt;        kwmeng(18) TYPE c,    "  Quantity&lt;/P&gt;&lt;P&gt;       END OF it_order,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       itab LIKE STANDARD TABLE OF it_order WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;PARAMETER filename LIKE rlgrap-filename.&lt;/P&gt;&lt;P&gt;PARAMETER session LIKE apqi-groupid.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR filename.&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;  Get the file path&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WS_FILENAME_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      def_filename     = filename&lt;/P&gt;&lt;P&gt;      def_path         = ' '&lt;/P&gt;&lt;P&gt;      mask             = ',&lt;STRONG&gt;.&lt;/STRONG&gt;,&lt;STRONG&gt;.&lt;/STRONG&gt;.'&lt;/P&gt;&lt;P&gt;      mode             = 'O'&lt;/P&gt;&lt;P&gt;      title            = 'Select File'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      filename         = filename&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      selection_cancel = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WS_UPLOAD'&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;P&gt;     codepage                      = ' '&lt;/P&gt;&lt;P&gt;     filename                      = filename&lt;/P&gt;&lt;P&gt;     filetype                      = 'ASC'&lt;/P&gt;&lt;P&gt;     headlen                       = ' '&lt;/P&gt;&lt;P&gt;     line_exit                     = ' '&lt;/P&gt;&lt;P&gt;     trunclen                      = ' '&lt;/P&gt;&lt;P&gt;     user_form                     = ' '&lt;/P&gt;&lt;P&gt;     user_prog                     = ' '&lt;/P&gt;&lt;P&gt;     dat_d_format                  = ' '&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILELENGTH                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      data_tab                      = itab&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;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;  PERFORM open_group.&lt;/P&gt;&lt;P&gt;  LOOP AT itab.&lt;/P&gt;&lt;P&gt;    CLEAR : w_auart,w_vkorg,w_vtweg,w_spart,w_kunnr,w_kunrg,&lt;/P&gt;&lt;P&gt;            w_bstkd,w_bstdk,w_zterm,w_inco1,w_inco2,w_augru.&lt;/P&gt;&lt;P&gt;    w_auart = itab-auart.&lt;/P&gt;&lt;P&gt;    w_vkorg = itab-vkorg.&lt;/P&gt;&lt;P&gt;    w_vtweg = itab-vtweg.&lt;/P&gt;&lt;P&gt;    w_spart = itab-spart.&lt;/P&gt;&lt;P&gt;    w_kunnr = itab-kunnr.&lt;/P&gt;&lt;P&gt;    w_kunrg = itab-kunrg.&lt;/P&gt;&lt;P&gt;    w_bstkd = itab-bstkd.&lt;/P&gt;&lt;P&gt;    w_bstdk = itab-bstdk.&lt;/P&gt;&lt;P&gt;    w_zterm = itab-zterm.&lt;/P&gt;&lt;P&gt;    w_inco1 = itab-inco1.&lt;/P&gt;&lt;P&gt;    w_inco2 = itab-inco2.&lt;/P&gt;&lt;P&gt;    w_augru = itab-augru.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ON CHANGE OF itab-kunnr OR itab-kunrg OR itab-bstkd .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      flag = 0.&lt;/P&gt;&lt;P&gt;      num  = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM bdc_dynpro      USING 'SAPMV45A' '0101'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                    'VBAK-AUART'.&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 'VBAK-AUART'    "  Order Type&lt;/P&gt;&lt;P&gt;                                    itab-auart.&lt;/P&gt;&lt;P&gt;     PERFORM bdc_field       USING 'VBAK-VKORG'    "  Sales Organization&lt;/P&gt;&lt;P&gt;                                    itab-vkorg.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'VBAK-VTWEG'    "  Distribution Channel&lt;/P&gt;&lt;P&gt;                                    itab-vtweg.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'VBAK-SPART'    "  Division&lt;/P&gt;&lt;P&gt;                                    itab-spart.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_dynpro      USING 'SAPMV45A' '4001'.&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 'VBKD-BSTKD'    "  PO Number&lt;/P&gt;&lt;P&gt;                                    itab-bstkd.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'VBKD-BSTDK'    "  PO Date&lt;/P&gt;&lt;P&gt;                                    itab-bstdk.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'KUAGV-KUNNR'   " Sold to Party&lt;/P&gt;&lt;P&gt;                                    itab-kunnr.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'KUWEV-KUNNR'   "  Ship to Party&lt;/P&gt;&lt;P&gt;                                    itab-kunrg.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'VBKD-ZTERM'    "  Payment Terms&lt;/P&gt;&lt;P&gt;                                    itab-zterm.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'VBKD-INCO1'    "  Inco Terms1&lt;/P&gt;&lt;P&gt;                                    itab-inco1.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'VBKD-INCO2'    "  Inco Terms2&lt;/P&gt;&lt;P&gt;                                    itab-inco2.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field       USING 'VBAK-AUGRU'    "  Order Reason&lt;/P&gt;&lt;P&gt;                                    itab-augru.&lt;/P&gt;&lt;P&gt;    ENDON.&lt;/P&gt;&lt;P&gt;    IF flag = 0.&lt;/P&gt;&lt;P&gt;      LOOP AT itab WHERE bstkd = itab-bstkd AND kunnr = itab-kunnr .&lt;/P&gt;&lt;P&gt;        var1 = 'RV45A-MABNR'.&lt;/P&gt;&lt;P&gt;        CONCATENATE var1 var2 num var3 INTO var1.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field  USING  var1&lt;/P&gt;&lt;P&gt;                                  itab-mabnr.&lt;/P&gt;&lt;P&gt;        var1 = 'RV45A-KWMENG'.&lt;/P&gt;&lt;P&gt;        CONCATENATE var1 var2 num var3 INTO var1.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_field  USING  var1&lt;/P&gt;&lt;P&gt;                                     itab-kwmeng.&lt;/P&gt;&lt;P&gt;        PERFORM bdc_dynpro      USING 'SAPMV45A' '4001'.&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;        num = 2.&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;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CONTINUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    flag = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM bdc_dynpro      USING 'SAPMV45A' '4001'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                  '=SICH'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM bdc_transaction USING 'VA01'.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  PERFORM close_group.&lt;/P&gt;&lt;P&gt;  WRITE : / 'Session',session, 'was Created'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM open_group.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BDC_OPEN_GROUP'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            client = sy-mandt&lt;/P&gt;&lt;P&gt;            group  = session&lt;/P&gt;&lt;P&gt;            user   = sy-uname&lt;/P&gt;&lt;P&gt;            keep   = 'X'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM close_group.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BDC_CLOSE_GROUP'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM bdc_transaction USING tcode.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            tcode     = tcode&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            dynprotab = bdcdata.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM bdc_dynpro USING program 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.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM bdc_field USING fnam fval.&lt;/P&gt;&lt;P&gt;  IF fval &amp;lt;&amp;gt; ' '.&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;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Feb 2007 09:22:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-call-transaction-program-for-va01/m-p/1955518#M393284</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-02-28T09:22:31Z</dc:date>
    </item>
  </channel>
</rss>

