<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>bdc &#8211; SAP EWM Help</title>
	<atom:link href="https://www.sapewmhelp.com/question-tag/bdc/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.sapewmhelp.com</link>
	<description>SAP EWM questions answered by experts — ABAP, S/4HANA, warehouse management</description>
	<lastBuildDate>Thu, 25 Sep 2025 19:34:01 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.2</generator>
	<item>
		<title>BDC Using Session Method</title>
		<link>https://www.sapewmhelp.com/question/bdc-using-session-method/</link>
					<comments>https://www.sapewmhelp.com/question/bdc-using-session-method/#respond</comments>
		
		<dc:creator><![CDATA[DPM125]]></dc:creator>
		<pubDate>Thu, 25 Sep 2025 19:34:01 +0000</pubDate>
				<guid isPermaLink="false">https://www.sapewmhelp.com/?question=bdc-using-session-method</guid>

					<description><![CDATA[*&#38;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;* *&#38; Report  ZTEST_BDC_FI01_1 *&#38; *&#38;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;* *&#38; *&#38; *&#38;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;* REPORT ztest_bdc_fi01_1. types: begin of ty_error, msg type string, lineno type i, end of ty_error. *       Batchinputdata of single transaction DATA:   bdcdata LIKE bdcdata    OCCURS 0 WITH HEADER LINE. PARAMETERS : p_data TYPE ibipparms&#8211;path. DATA : it_tab TYPE truxs_t_text_data, lv_filename TYPE rlgrap&#8211;filename, it_msg type table of bdcmsgcoll, lv_msg type string, lt_error type table of ty_error, ls_error type ty_error. TYPES: BEGIN OF record, * data element: BANKS banks(003), * data element: BANKK bankl(015), * data element: BANKA banka(060), * data element: REGIO provz(003), * data element: ORT01_GP ort01(035), * data element: BRNCH brnch(040), ** data element: BANKA *        banka_007(060), ** data element: REGIO *        provz_008(003), ** data element: ORT01_GP *        ort01_009(035), ** data element: BRNCH *        brnch_010(040), END OF record. DATA: lt_record TYPE STANDARD TABLE OF record, ls_record TYPE record. AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_data. CALL FUNCTION &#8216;F4_FILENAME&#8217; EXPORTING program_name  = syst&#8211;cprog dynpro_number = syst&#8211;dynnr field_name    = &#8216;P_DATA&#8217; IMPORTING file_name     = p_data. START-OF-SELECTION. &#8221; converting the file data into internal table [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><!--StartFragment --><span><span>*&amp;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*</span><br />
<span>*&amp; Report  ZTEST_BDC_FI01_1</span><br />
<span>*&amp;</span><br />
<span>*&amp;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*</span><br />
<span>*&amp;</span><br />
<span>*&amp;</span><br />
<span>*&amp;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*</span></p>
<p><span>REPORT </span>ztest_bdc_fi01_1<span>.</span></p>
<p><span>types</span><span>: </span><span>begin </span><span>of </span>ty_error<span>,</span><br />
msg <span>type </span>string<span>,</span><br />
lineno <span>type </span><span>i</span><span>,</span><br />
<span>end </span><span>of </span>ty_error<span>.</span></p>
<p><span>*       Batchinputdata of single transaction</span><br />
<span>DATA</span><span>:   </span>bdcdata <span>LIKE </span>bdcdata    <span>OCCURS </span><span>0 </span><span>WITH </span><span>HEADER </span><span>LINE</span><span>.</span><br />
<span>PARAMETERS </span><span>: </span>p_data <span>TYPE </span>ibipparms<span>&#8211;</span>path<span>.</span></p>
<p><span>DATA </span><span>: </span>it_tab <span>TYPE </span>truxs_t_text_data<span>,</span><br />
lv_filename <span>TYPE </span>rlgrap<span>&#8211;</span>filename<span>,</span><br />
it_msg <span>type </span><span>table </span><span>of </span>bdcmsgcoll<span>,</span><br />
lv_msg <span>type </span>string<span>,</span><br />
lt_error <span>type </span><span>table </span><span>of </span>ty_error<span>,</span><br />
ls_error <span>type </span>ty_error<span>.</span></p>
<p><span>TYPES</span><span>: </span><span>BEGIN </span><span>OF </span>record<span>,</span><br />
<span>* data element: BANKS</span><br />
banks<span>(</span><span>003</span><span>)</span><span>,</span><br />
<span>* data element: BANKK</span><br />
bankl<span>(</span><span>015</span><span>)</span><span>,</span><br />
<span>* data element: BANKA</span><br />
banka<span>(</span><span>060</span><span>)</span><span>,</span><br />
<span>* data element: REGIO</span><br />
provz<span>(</span><span>003</span><span>)</span><span>,</span><br />
<span>* data element: ORT01_GP</span><br />
ort01<span>(</span><span>035</span><span>)</span><span>,</span><br />
<span>* data element: BRNCH</span><br />
brnch<span>(</span><span>040</span><span>)</span><span>,</span><br />
<span>** data element: BANKA</span><br />
<span>*        banka_007(060),</span><br />
<span>** data element: REGIO</span><br />
<span>*        provz_008(003),</span><br />
<span>** data element: ORT01_GP</span><br />
<span>*        ort01_009(035),</span><br />
<span>** data element: BRNCH</span><br />
<span>*        brnch_010(040),</span><br />
<span>END </span><span>OF </span>record<span>.</span></p>
<p><span>DATA</span><span>: </span>lt_record <span>TYPE </span><span>STANDARD </span><span>TABLE </span><span>OF </span>record<span>,</span><br />
ls_record <span>TYPE </span>record<span>.</span></p>
<p><span>AT </span><span>SELECTION-SCREEN </span><span>ON </span><span>VALUE-REQUEST </span><span>FOR </span>p_data<span>.</span><br />
<span>CALL </span><span>FUNCTION </span>&#8216;F4_FILENAME&#8217;<br />
<span>EXPORTING</span><br />
program_name  <span>= </span>syst<span>&#8211;</span>cprog<br />
dynpro_number <span>= </span>syst<span>&#8211;</span>dynnr<br />
field_name    <span>= </span>&#8216;P_DATA&#8217;<br />
<span>IMPORTING</span><br />
file_name     <span>= </span>p_data<span>.</span></p>
<p><span>START-OF-SELECTION</span><span>.</span><br />
<span>&#8221; converting the file data into internal table</span><br />
lv_filename <span>= </span>p_data<span>.</span><br />
<span>&#8221; CSV</span><br />
<span>CALL </span><span>FUNCTION </span>&#8216;TEXT_CONVERT_XLS_TO_SAP&#8217;<br />
<span>EXPORTING</span><br />
i_field_seperator    <span>= </span>&#8216;X&#8217;<br />
i_line_header        <span>= </span>&#8216;X&#8217;<br />
i_tab_raw_data       <span>= </span>it_tab<br />
i_filename           <span>= </span>lv_filename<br />
<span>TABLES</span><br />
i_tab_converted_data <span>= </span>lt_record<br />
<span>EXCEPTIONS</span><br />
conversion_failed    <span>= </span><span>1</span><br />
<span>OTHERS               </span><span>= </span><span>2</span><span>.</span><br />
<span>IF </span>sy<span>&#8211;</span>subrc &lt;&gt; <span>0</span><span>.</span><br />
<span>* Implement suitable error handling here</span><br />
<span>ENDIF</span><span>.</span></p>
<p><span>CALL </span><span>FUNCTION </span>&#8216;BDC_OPEN_GROUP&#8217;<br />
<span>EXPORTING</span><br />
<span>CLIENT                    </span><span>= </span>sy<span>&#8211;</span>mandt<br />
<span>GROUP                     </span><span>= </span>&#8216;AKS&#8217;<br />
KEEP                      <span>=  </span>abap_true<br />
<span>EXCEPTIONS</span><br />
CLIENT_INVALID            <span>= </span><span>1</span><br />
DESTINATION_INVALID       <span>= </span><span>2</span><br />
GROUP_INVALID             <span>= </span><span>3</span><br />
GROUP_IS_LOCKED           <span>= </span><span>4</span><br />
HOLDDATE_INVALID          <span>= </span><span>5</span><br />
INTERNAL_ERROR            <span>= </span><span>6</span><br />
QUEUE_ERROR               <span>= </span><span>7</span><br />
RUNNING                   <span>= </span><span>8</span><br />
SYSTEM_LOCK_ERROR         <span>= </span><span>9</span><br />
USER_INVALID              <span>= </span><span>10</span><br />
<span>OTHERS                    </span><span>= </span><span>11</span><br />
<span>.</span><br />
<span>IF </span>sy<span>&#8211;</span>subrc &lt;&gt; <span>0</span><span>.</span><br />
<span>* Implement suitable error handling here</span><br />
<span>ENDIF</span><span>.</span></p>
<p><span>LOOP </span><span>AT </span>lt_record <span>INTO </span>ls_record<span>.</span></p>
<p><span>PERFORM </span>bdc_dynpro      <span>USING </span>&#8216;SAPMF02B&#8217; &#8216;0100&#8217;<span>.</span><br />
<span>PERFORM </span>bdc_field       <span>USING </span>&#8216;BDC_CURSOR&#8217;<br />
&#8216;BNKA<span>&#8211;</span>BANKL&#8217;<span>.</span><br />
<span>PERFORM </span>bdc_field       <span>USING </span>&#8216;BDC_OKCODE&#8217;<br />
&#8216;/00&#8217;<span>.</span><br />
<span>PERFORM </span>bdc_field       <span>USING </span>&#8216;BNKA<span>&#8211;</span>BANKS&#8217;<br />
ls_record<span>&#8211;</span>banks<span>.</span><br />
<span>PERFORM </span>bdc_field       <span>USING </span>&#8216;BNKA<span>&#8211;</span>BANKL&#8217;<br />
ls_record<span>&#8211;</span>bankl<span>.</span><br />
<span>PERFORM </span>bdc_dynpro      <span>USING </span>&#8216;SAPMF02B&#8217; &#8216;0110&#8217;<span>.</span><br />
<span>PERFORM </span>bdc_field       <span>USING </span>&#8216;BDC_CURSOR&#8217;<br />
&#8216;BNKA<span>&#8211;</span>BRNCH&#8217;<span>.</span><br />
<span>PERFORM </span>bdc_field       <span>USING </span>&#8216;BDC_OKCODE&#8217;<br />
&#8216;/00&#8217;<span>.</span><br />
<span>PERFORM </span>bdc_field       <span>USING </span>&#8216;BNKA<span>&#8211;</span>BANKA&#8217;<br />
ls_record<span>&#8211;</span>banka<span>.</span><br />
<span>PERFORM </span>bdc_field       <span>USING </span>&#8216;BNKA<span>&#8211;</span>PROVZ&#8217;<br />
ls_record<span>&#8211;</span>provz<span>.</span><br />
<span>PERFORM </span>bdc_field       <span>USING </span>&#8216;BNKA<span>&#8211;</span>ORT01&#8242;<br />
ls_record<span>&#8211;</span>ort01<span>.</span><br />
<span>PERFORM </span>bdc_field       <span>USING </span>&#8216;BNKA<span>&#8211;</span>BRNCH&#8217;<br />
ls_record<span>&#8211;</span>brnch<span>.</span><br />
<span>PERFORM </span>bdc_dynpro      <span>USING </span>&#8216;SAPMF02B&#8217; &#8216;0110&#8217;<span>.</span><br />
<span>PERFORM </span>bdc_field       <span>USING </span>&#8216;BDC_CURSOR&#8217;<br />
&#8216;BNKA<span>&#8211;</span>BANKA&#8217;<span>.</span><br />
<span>PERFORM </span>bdc_field       <span>USING </span>&#8216;BDC_OKCODE&#8217;<br />
&#8216;=UPDA&#8217;<span>.</span><br />
<span>PERFORM </span>bdc_field       <span>USING </span>&#8216;BNKA<span>&#8211;</span>BANKA&#8217;<br />
ls_record<span>&#8211;</span>banka<span>.</span><br />
<span>PERFORM </span>bdc_field       <span>USING </span>&#8216;BNKA<span>&#8211;</span>PROVZ&#8217;<br />
ls_record<span>&#8211;</span>provz<span>.</span><br />
<span>PERFORM </span>bdc_field       <span>USING </span>&#8216;BNKA<span>&#8211;</span>ORT01&#8242;<br />
ls_record<span>&#8211;</span>ort01<span>.</span><br />
<span>PERFORM </span>bdc_field       <span>USING </span>&#8216;BNKA<span>&#8211;</span>BRNCH&#8217;<br />
ls_record<span>&#8211;</span>brnch<span>.</span></p>
<p><span>CALL </span><span>FUNCTION </span>&#8216;BDC_INSERT&#8217;<br />
<span>EXPORTING</span><br />
TCODE                  <span>= </span>&#8216;FI01&#8217;<br />
<span>*   POST_LOCAL             = NOVBLOCAL</span><br />
<span>*   PRINTING               = NOPRINT</span><br />
<span>*   SIMUBATCH              = &#8216; &#8216;</span><br />
<span>*   CTUPARAMS              = &#8216; &#8216;</span><br />
<span>TABLES</span><br />
dynprotab              <span>= </span>bdcdata[]<br />
<span>EXCEPTIONS</span><br />
INTERNAL_ERROR         <span>= </span><span>1</span><br />
NOT_OPEN               <span>= </span><span>2</span><br />
QUEUE_ERROR            <span>= </span><span>3</span><br />
TCODE_INVALID          <span>= </span><span>4</span><br />
PRINTING_INVALID       <span>= </span><span>5</span><br />
POSTING_INVALID        <span>= </span><span>6</span><br />
<span>OTHERS                 </span><span>= </span><span>7</span><br />
<span>.</span><br />
<span>IF </span>sy<span>&#8211;</span>subrc &lt;&gt; <span>0</span><span>.</span><br />
<span>* Implement suitable error handling here</span><br />
<span>ENDIF</span><span>.</span></p>
<p><span>*    CALL TRANSACTION &#8216;FI01&#8217;USING bdcdata MODE &#8216;A&#8217; MESSAGES INTO it_msg.</span></p>
<p><span>CLEAR</span><span>: </span>bdcdata[]<span>,</span>bdcdata <span>,</span>ls_record<span>.</span><br />
<span>ENDLOOP</span><span>.</span></p>
<p><span>CALL </span><span>FUNCTION </span>&#8216;BDC_CLOSE_GROUP&#8217;<br />
<span>EXCEPTIONS</span><br />
NOT_OPEN          <span>= </span><span>1</span><br />
QUEUE_ERROR       <span>= </span><span>2</span><br />
<span>OTHERS            </span><span>= </span><span>3</span><br />
<span>.</span><br />
<span>IF </span>sy<span>&#8211;</span>subrc &lt;&gt; <span>0</span><span>.</span><br />
<span>* Implement suitable error handling here</span><br />
<span>ENDIF</span><span>.</span></p>
<p><span>*     loop at it_msg into data(ls_msg).</span><br />
<span>*      CALL FUNCTION &#8216;FORMAT_MESSAGE&#8217;</span><br />
<span>*       EXPORTING</span><br />
<span>**         ID              = SY-MSGID</span><br />
<span>**         LANG            = &#8216;-D&#8217;</span><br />
<span>*         NO              = ls_msg-MSGNr</span><br />
<span>*         V1              =  ls_msg-MSGV1</span><br />
<span>*         V2              =  ls_msg-MSGV2</span><br />
<span>*         V3              =  ls_msg-MSGV3</span><br />
<span>*         V4              =  ls_msg-MSGV4</span><br />
<span>*       IMPORTING</span><br />
<span>*         MSG             = lv_msg</span><br />
<span>*       EXCEPTIONS</span><br />
<span>*         NOT_FOUND       = 1</span><br />
<span>*         OTHERS          = 2</span><br />
<span>*                .</span><br />
<span>*      IF sy-subrc eq 0.</span><br />
<span>** Implement suitable error handling here</span><br />
<span>*      ls_error-msg = lv_msg.</span><br />
<span>*      ls_error-lineno = sy-tabix.</span><br />
<span>*      append ls_Error to lt_error.</span><br />
<span>*      ENDIF.</span><br />
<span>*</span><br />
<span>*    endloop.</span><br />
<span>*</span><br />
<span>*    loop at lt_error into ls_error.</span><br />
<span>*      write : / ls_error-lineno, ls_error-msg.</span><br />
<span>*    ENDLOOP.</span><br />
<span>*</span></p>
<p><span>*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*</span><br />
<span>*        Start new screen                                              *</span><br />
<span>*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*</span><br />
<span>FORM </span>bdc_dynpro <span>USING </span><span>program </span><span>dynpro</span><span>.</span><br />
<span>CLEAR </span>bdcdata<span>.</span><br />
bdcdata<span>&#8211;</span><span>program  </span><span>= </span><span>program</span><span>.</span><br />
bdcdata<span>&#8211;</span><span>dynpro   </span><span>= </span><span>dynpro</span><span>.</span><br />
bdcdata<span>&#8211;</span>dynbegin <span>= </span>&#8216;X&#8217;<span>.</span><br />
<span>APPEND </span>bdcdata<span>.</span><br />
<span>ENDFORM</span><span>.</span></p>
<p><span>*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*</span><br />
<span>*        Insert field                                                  *</span><br />
<span>*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*</span><br />
<span>FORM </span>bdc_field <span>USING </span>fnam fval<span>.</span><br />
<span>*  IF FVAL &lt;&gt; NODATA.</span><br />
<span>CLEAR </span>bdcdata<span>.</span><br />
bdcdata<span>&#8211;</span>fnam <span>= </span>fnam<span>.</span><br />
bdcdata<span>&#8211;</span>fval <span>= </span>fval<span>.</span><br />
<span>APPEND </span>bdcdata<span>.</span><br />
<span>*  ENDIF.</span><br />
<span>ENDFORM</span><span>.</span></span></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.sapewmhelp.com/question/bdc-using-session-method/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>BDC using Call Transaction</title>
		<link>https://www.sapewmhelp.com/question/bdc-using-call-transaction/</link>
					<comments>https://www.sapewmhelp.com/question/bdc-using-call-transaction/#respond</comments>
		
		<dc:creator><![CDATA[DPM125]]></dc:creator>
		<pubDate>Thu, 25 Sep 2025 19:32:59 +0000</pubDate>
				<guid isPermaLink="false">https://www.sapewmhelp.com/?question=bdc-using-call-transaction</guid>

					<description><![CDATA[*&#38;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;* *&#38; Report  ZTEST_BDC_FI01_1 *&#38; *&#38;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;* *&#38; *&#38; *&#38;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;* REPORT ztest_bdc_fi01_1. types: begin of ty_error, msg type string, lineno type i, end of ty_error. *       Batchinputdata of single transaction DATA:   bdcdata LIKE bdcdata    OCCURS 0 WITH HEADER LINE. PARAMETERS : p_data TYPE ibipparms-path. DATA : it_tab TYPE truxs_t_text_data, lv_filename TYPE rlgrap-filename, it_msg type table of bdcmsgcoll, lv_msg type string, lt_error type table of ty_error, ls_error type ty_error. TYPES: BEGIN OF record, * data element: BANKS banks(003), * data element: BANKK bankl(015), * data element: BANKA banka(060), * data element: REGIO provz(003), * data element: ORT01_GP ort01(035), * data element: BRNCH brnch(040), ** data element: BANKA *        banka_007(060), ** data element: REGIO *        provz_008(003), ** data element: ORT01_GP *        ort01_009(035), ** data element: BRNCH *        brnch_010(040), END OF record. DATA: lt_record TYPE STANDARD TABLE OF record, ls_record TYPE record. AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_data. CALL FUNCTION &#8216;F4_FILENAME&#8217; EXPORTING program_name  = syst-cprog dynpro_number = syst-dynnr field_name    = &#8216;P_DATA&#8217; [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><span>*&amp;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*<br />
*&amp; Report  ZTEST_BDC_FI01_1<br />
*&amp;<br />
*&amp;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*<br />
*&amp;<br />
*&amp;<br />
*&amp;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*</p>
<p>REPORT ztest_bdc_fi01_1.</p>
<p>types: begin of ty_error,<br />
msg type string,<br />
lineno type i,<br />
end of ty_error.</p>
<p>*       Batchinputdata of single transaction<br />
DATA:   bdcdata LIKE bdcdata    OCCURS 0 WITH HEADER LINE.<br />
PARAMETERS : p_data TYPE ibipparms-path.</p>
<p>DATA : it_tab TYPE truxs_t_text_data,<br />
lv_filename TYPE rlgrap-filename,<br />
it_msg type table of bdcmsgcoll,<br />
lv_msg type string,<br />
lt_error type table of ty_error,<br />
ls_error type ty_error.</p>
<p>TYPES: BEGIN OF record,<br />
* data element: BANKS<br />
banks(003),<br />
* data element: BANKK<br />
bankl(015),<br />
* data element: BANKA<br />
banka(060),<br />
* data element: REGIO<br />
provz(003),<br />
* data element: ORT01_GP<br />
ort01(035),<br />
* data element: BRNCH<br />
brnch(040),<br />
** data element: BANKA<br />
*        banka_007(060),<br />
** data element: REGIO<br />
*        provz_008(003),<br />
** data element: ORT01_GP<br />
*        ort01_009(035),<br />
** data element: BRNCH<br />
*        brnch_010(040),<br />
END OF record.</p>
<p>DATA: lt_record TYPE STANDARD TABLE OF record,<br />
ls_record TYPE record.</p>
<p>AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_data.<br />
CALL FUNCTION &#8216;F4_FILENAME&#8217;<br />
EXPORTING<br />
program_name  = syst-cprog<br />
dynpro_number = syst-dynnr<br />
field_name    = &#8216;P_DATA&#8217;<br />
IMPORTING<br />
file_name     = p_data.</p>
<p>START-OF-SELECTION.<br />
&#8221; converting the file data into internal table<br />
lv_filename = p_data.<br />
&#8221; CSV<br />
CALL FUNCTION &#8216;TEXT_CONVERT_XLS_TO_SAP&#8217;<br />
EXPORTING<br />
i_field_seperator    = &#8216;X&#8217;<br />
i_line_header        = &#8216;X&#8217;<br />
i_tab_raw_data       = it_tab<br />
i_filename           = lv_filename<br />
TABLES<br />
i_tab_converted_data = lt_record<br />
EXCEPTIONS<br />
conversion_failed    = 1<br />
OTHERS               = 2.<br />
IF sy-subrc &lt;&gt; 0.<br />
* Implement suitable error handling here<br />
ENDIF.</p>
<p>LOOP AT lt_record INTO ls_record.<br />
PERFORM bdc_dynpro      USING &#8216;SAPMF02B&#8217; &#8216;0100&#8217;.<br />
PERFORM bdc_field       USING &#8216;BDC_CURSOR&#8217;<br />
&#8216;BNKA-BANKL&#8217;.<br />
PERFORM bdc_field       USING &#8216;BDC_OKCODE&#8217;<br />
&#8216;/00&#8217;.<br />
PERFORM bdc_field       USING &#8216;BNKA-BANKS&#8217;<br />
ls_record-banks.<br />
PERFORM bdc_field       USING &#8216;BNKA-BANKL&#8217;<br />
ls_record-bankl.<br />
PERFORM bdc_dynpro      USING &#8216;SAPMF02B&#8217; &#8216;0110&#8217;.<br />
PERFORM bdc_field       USING &#8216;BDC_CURSOR&#8217;<br />
&#8216;BNKA-BRNCH&#8217;.<br />
PERFORM bdc_field       USING &#8216;BDC_OKCODE&#8217;<br />
&#8216;/00&#8217;.<br />
PERFORM bdc_field       USING &#8216;BNKA-BANKA&#8217;<br />
ls_record-banka.<br />
PERFORM bdc_field       USING &#8216;BNKA-PROVZ&#8217;<br />
ls_record-provz.<br />
PERFORM bdc_field       USING &#8216;BNKA-ORT01&#8217;<br />
ls_record-ort01.<br />
PERFORM bdc_field       USING &#8216;BNKA-BRNCH&#8217;<br />
ls_record-brnch.<br />
PERFORM bdc_dynpro      USING &#8216;SAPMF02B&#8217; &#8216;0110&#8217;.<br />
PERFORM bdc_field       USING &#8216;BDC_CURSOR&#8217;<br />
&#8216;BNKA-BANKA&#8217;.<br />
PERFORM bdc_field       USING &#8216;BDC_OKCODE&#8217;<br />
&#8216;=UPDA&#8217;.<br />
PERFORM bdc_field       USING &#8216;BNKA-BANKA&#8217;<br />
ls_record-banka.<br />
PERFORM bdc_field       USING &#8216;BNKA-PROVZ&#8217;<br />
ls_record-provz.<br />
PERFORM bdc_field       USING &#8216;BNKA-ORT01&#8217;<br />
ls_record-ort01.<br />
PERFORM bdc_field       USING &#8216;BNKA-BRNCH&#8217;<br />
ls_record-brnch.</p>
<p>CALL TRANSACTION &#8216;FI01&#8217;USING bdcdata MODE &#8216;A&#8217; MESSAGES INTO it_msg.</p>
<p>CLEAR: bdcdata[],bdcdata ,ls_record.<br />
ENDLOOP.</p>
<p>loop at it_msg into data(ls_msg).<br />
CALL FUNCTION &#8216;FORMAT_MESSAGE&#8217;<br />
EXPORTING<br />
*         ID              = SY-MSGID<br />
*         LANG            = &#8216;-D&#8217;<br />
NO              = ls_msg-MSGNr<br />
V1              =  ls_msg-MSGV1<br />
V2              =  ls_msg-MSGV2<br />
V3              =  ls_msg-MSGV3<br />
V4              =  ls_msg-MSGV4<br />
IMPORTING<br />
MSG             = lv_msg<br />
EXCEPTIONS<br />
NOT_FOUND       = 1<br />
OTHERS          = 2<br />
.<br />
IF sy-subrc eq 0.<br />
* Implement suitable error handling here<br />
ls_error-msg = lv_msg.<br />
ls_error-lineno = sy-tabix.<br />
append ls_Error to lt_error.<br />
ENDIF.</p>
<p>endloop.</p>
<p>loop at lt_error into ls_error.<br />
write : / ls_error-lineno, ls_error-msg.<br />
ENDLOOP.</p>
<p>*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*<br />
*        Start new screen                                              *<br />
*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*<br />
FORM bdc_dynpro USING program dynpro.<br />
CLEAR bdcdata.<br />
bdcdata-program  = program.<br />
bdcdata-dynpro   = dynpro.<br />
bdcdata-dynbegin = &#8216;X&#8217;.<br />
APPEND bdcdata.<br />
ENDFORM.</p>
<p>*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*<br />
*        Insert field                                                  *<br />
*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*<br />
FORM bdc_field USING fnam fval.<br />
*  IF FVAL &lt;&gt; NODATA.<br />
CLEAR bdcdata.<br />
bdcdata-fnam = fnam.<br />
bdcdata-fval = fval.<br />
APPEND bdcdata.<br />
*  ENDIF.<br />
ENDFORM.</span></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.sapewmhelp.com/question/bdc-using-call-transaction/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>What is BDC in SAP?</title>
		<link>https://www.sapewmhelp.com/question/what-is-bdc-in-sap/</link>
					<comments>https://www.sapewmhelp.com/question/what-is-bdc-in-sap/#respond</comments>
		
		<dc:creator><![CDATA[DPM125]]></dc:creator>
		<pubDate>Wed, 27 Aug 2025 09:55:19 +0000</pubDate>
				<guid isPermaLink="false">https://www.sapewmhelp.com/?question=what-is-bdc-in-sap</guid>

					<description><![CDATA[BDC (Batch Data Communication) is a technique in SAP used to transfer or upload large volumes of data into the system by automating transactions. It simulates manual data entry (like recording keystrokes). Commonly used during data migration or mass updates. Works by preparing a &#8220;session&#8221; of transaction data and then processing it. There are two [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><strong>BDC (Batch Data Communication)</strong> is a technique in SAP used to <strong>transfer or upload large volumes of data</strong> into the system by automating transactions.</p>
<ul>
<li>It simulates manual data entry (like recording keystrokes).</li>
<li>Commonly used during data migration or mass updates.</li>
<li>Works by preparing a &#8220;session&#8221; of transaction data and then processing it.</li>
</ul>
<p>There are <strong>two main methods</strong> of BDC:</p>
<ol>
<li><strong>Call Transaction Method</strong> → Processes data immediately (online).</li>
<li><strong>Session Method</strong> → Creates a batch session, which can be processed later.</li>
</ol>
<h5>Common Function Modules for BDC</h5>
<ol>
<li>
<p><strong><code>BDC_OPEN_GROUP</code></strong></p>
</li>
</ol>
<ul>
<li>Opens a BDC session (used in Session Method).</li>
<li>Parameters: session name, client, user, etc.</li>
</ul>
<ol>
<li>
<p><strong><code>BDC_INSERT</code></strong></p>
<ul>
<li>
<p>Inserts a transaction with its BDC data into the opened session.</p>
</li>
</ul>
</li>
<li>
<p><strong><code>BDC_CLOSE_GROUP</code></strong></p>
<ul>
<li>
<p>Closes the session after inserting all transactions.</p>
</li>
</ul>
</li>
<li>
<p><strong><code>CALL TRANSACTION ... USING</code></strong> (not a FM, but a statement)</p>
<ul>
<li>
<p>Used in Call Transaction method.</p>
</li>
<li>
<p>Executes transaction immediately with given BDC data.</p>
</li>
</ul>
</li>
</ol>
<p>&nbsp;</p>
<p><strong>Example:</strong></p>
<p>DATA: lt_bdcdata TYPE TABLE OF bdcdata,<br />ls_bdcdata TYPE bdcdata.</p>
<p>&#8221; Populate BDC data for transaction (e.g., MM01, FB01 etc.)<br />ls_bdcdata-program = &#8216;SAPMM03&#8217;.<br />ls_bdcdata-dynpro = &#8216;0100&#8217;.<br />ls_bdcdata-dynbegin = &#8216;X&#8217;.<br />APPEND ls_bdcdata TO lt_bdcdata.</p>
<p>&#8221; Open session<br />CALL FUNCTION &#8216;BDC_OPEN_GROUP&#8217;<br />EXPORTING<br />client = sy-mandt<br />group = &#8216;ZBDCSAMPLE&#8217;<br />user = sy-uname.</p>
<p>&#8221; Insert transaction into session<br />CALL FUNCTION &#8216;BDC_INSERT&#8217;<br />EXPORTING<br />tcode = &#8216;MM01&#8217;<br />TABLES<br />dynprotab = lt_bdcdata.</p>
<p>&#8221; Close session<br />CALL FUNCTION &#8216;BDC_CLOSE_GROUP&#8217;.</p>
<p>&nbsp;</p>
<p><strong>Example: Using Call Transaction</strong></p>
<p>CALL TRANSACTION &#8216;MM01&#8217; USING lt_bdcdata MODE &#8216;A&#8217;.</p>
<ul>
<li>
<p><code>MODE 'A'</code> → All screens displayed.</p>
</li>
<li>
<p><code>MODE 'N'</code> → No screens (background).</p>
</li>
<li>
<p><code>MODE 'E'</code> → Errors only.</p>
</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://www.sapewmhelp.com/question/what-is-bdc-in-sap/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
