{"id":7902,"date":"2025-09-26T01:02:59","date_gmt":"2025-09-25T19:32:59","guid":{"rendered":"https:\/\/www.sapewmhelp.com\/?question=bdc-using-call-transaction"},"modified":"2025-09-26T01:02:59","modified_gmt":"2025-09-25T19:32:59","slug":"bdc-using-call-transaction","status":"publish","type":"question","link":"https:\/\/www.sapewmhelp.com\/?question=bdc-using-call-transaction","title":{"rendered":"BDC using Call Transaction"},"content":{"rendered":"<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 \/>\n*&amp;\u00a0Report\u00a0\u00a0ZTEST_BDC_FI01_1<br \/>\n*&amp;<br \/>\n*&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 \/>\n*&amp;<br \/>\n*&amp;<br \/>\n*&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>\n<p>REPORT\u00a0ztest_bdc_fi01_1.<\/p>\n<p>types:\u00a0begin\u00a0of\u00a0ty_error,<br \/>\nmsg\u00a0type\u00a0string,<br \/>\nlineno\u00a0type\u00a0i,<br \/>\nend\u00a0of\u00a0ty_error.<\/p>\n<p>*\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Batchinputdata\u00a0of\u00a0single\u00a0transaction<br \/>\nDATA:\u00a0\u00a0 bdcdata\u00a0LIKE\u00a0bdcdata\u00a0\u00a0\u00a0 OCCURS\u00a00\u00a0WITH\u00a0HEADER\u00a0LINE.<br \/>\nPARAMETERS\u00a0:\u00a0p_data\u00a0TYPE\u00a0ibipparms-path.<\/p>\n<p>DATA\u00a0:\u00a0it_tab\u00a0TYPE\u00a0truxs_t_text_data,<br \/>\nlv_filename\u00a0TYPE\u00a0rlgrap-filename,<br \/>\nit_msg\u00a0type\u00a0table\u00a0of\u00a0bdcmsgcoll,<br \/>\nlv_msg\u00a0type\u00a0string,<br \/>\nlt_error\u00a0type\u00a0table\u00a0of\u00a0ty_error,<br \/>\nls_error\u00a0type\u00a0ty_error.<\/p>\n<p>TYPES:\u00a0BEGIN\u00a0OF\u00a0record,<br \/>\n*\u00a0data\u00a0element:\u00a0BANKS<br \/>\nbanks(003),<br \/>\n*\u00a0data\u00a0element:\u00a0BANKK<br \/>\nbankl(015),<br \/>\n*\u00a0data\u00a0element:\u00a0BANKA<br \/>\nbanka(060),<br \/>\n*\u00a0data\u00a0element:\u00a0REGIO<br \/>\nprovz(003),<br \/>\n*\u00a0data\u00a0element:\u00a0ORT01_GP<br \/>\nort01(035),<br \/>\n*\u00a0data\u00a0element:\u00a0BRNCH<br \/>\nbrnch(040),<br \/>\n**\u00a0data\u00a0element:\u00a0BANKA<br \/>\n*\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0banka_007(060),<br \/>\n**\u00a0data\u00a0element:\u00a0REGIO<br \/>\n*\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0provz_008(003),<br \/>\n**\u00a0data\u00a0element:\u00a0ORT01_GP<br \/>\n*\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0ort01_009(035),<br \/>\n**\u00a0data\u00a0element:\u00a0BRNCH<br \/>\n*\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0brnch_010(040),<br \/>\nEND\u00a0OF\u00a0record.<\/p>\n<p>DATA:\u00a0lt_record\u00a0TYPE\u00a0STANDARD\u00a0TABLE\u00a0OF\u00a0record,<br \/>\nls_record\u00a0TYPE\u00a0record.<\/p>\n<p>AT\u00a0SELECTION-SCREEN\u00a0ON\u00a0VALUE-REQUEST\u00a0FOR\u00a0p_data.<br \/>\nCALL\u00a0FUNCTION\u00a0&#8216;F4_FILENAME&#8217;<br \/>\nEXPORTING<br \/>\nprogram_name\u00a0 =\u00a0syst-cprog<br \/>\ndynpro_number\u00a0=\u00a0syst-dynnr<br \/>\nfield_name\u00a0\u00a0\u00a0 =\u00a0&#8216;P_DATA&#8217;<br \/>\nIMPORTING<br \/>\nfile_name\u00a0\u00a0\u00a0\u00a0 =\u00a0p_data.<\/p>\n<p>START-OF-SELECTION.<br \/>\n&#8221;\u00a0converting\u00a0the\u00a0file\u00a0data\u00a0into\u00a0internal\u00a0table<br \/>\nlv_filename\u00a0=\u00a0p_data.<br \/>\n&#8221;\u00a0CSV<br \/>\nCALL\u00a0FUNCTION\u00a0&#8216;TEXT_CONVERT_XLS_TO_SAP&#8217;<br \/>\nEXPORTING<br \/>\ni_field_seperator\u00a0\u00a0\u00a0 =\u00a0&#8216;X&#8217;<br \/>\ni_line_header\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 =\u00a0&#8216;X&#8217;<br \/>\ni_tab_raw_data\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 =\u00a0it_tab<br \/>\ni_filename\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 =\u00a0lv_filename<br \/>\nTABLES<br \/>\ni_tab_converted_data\u00a0=\u00a0lt_record<br \/>\nEXCEPTIONS<br \/>\nconversion_failed\u00a0\u00a0\u00a0 =\u00a01<br \/>\nOTHERS\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 =\u00a02.<br \/>\nIF\u00a0sy-subrc\u00a0&lt;&gt;\u00a00.<br \/>\n*\u00a0Implement\u00a0suitable\u00a0error\u00a0handling\u00a0here<br \/>\nENDIF.<\/p>\n<p>LOOP\u00a0AT\u00a0lt_record\u00a0INTO\u00a0ls_record.<br \/>\nPERFORM\u00a0bdc_dynpro\u00a0\u00a0\u00a0\u00a0\u00a0 USING\u00a0&#8216;SAPMF02B&#8217;\u00a0&#8216;0100&#8217;.<br \/>\nPERFORM\u00a0bdc_field\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 USING\u00a0&#8216;BDC_CURSOR&#8217;<br \/>\n&#8216;BNKA-BANKL&#8217;.<br \/>\nPERFORM\u00a0bdc_field\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 USING\u00a0&#8216;BDC_OKCODE&#8217;<br \/>\n&#8216;\/00&#8217;.<br \/>\nPERFORM\u00a0bdc_field\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 USING\u00a0&#8216;BNKA-BANKS&#8217;<br \/>\nls_record-banks.<br \/>\nPERFORM\u00a0bdc_field\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 USING\u00a0&#8216;BNKA-BANKL&#8217;<br \/>\nls_record-bankl.<br \/>\nPERFORM\u00a0bdc_dynpro\u00a0\u00a0\u00a0\u00a0\u00a0 USING\u00a0&#8216;SAPMF02B&#8217;\u00a0&#8216;0110&#8217;.<br \/>\nPERFORM\u00a0bdc_field\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 USING\u00a0&#8216;BDC_CURSOR&#8217;<br \/>\n&#8216;BNKA-BRNCH&#8217;.<br \/>\nPERFORM\u00a0bdc_field\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 USING\u00a0&#8216;BDC_OKCODE&#8217;<br \/>\n&#8216;\/00&#8217;.<br \/>\nPERFORM\u00a0bdc_field\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 USING\u00a0&#8216;BNKA-BANKA&#8217;<br \/>\nls_record-banka.<br \/>\nPERFORM\u00a0bdc_field\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 USING\u00a0&#8216;BNKA-PROVZ&#8217;<br \/>\nls_record-provz.<br \/>\nPERFORM\u00a0bdc_field\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 USING\u00a0&#8216;BNKA-ORT01&#8217;<br \/>\nls_record-ort01.<br \/>\nPERFORM\u00a0bdc_field\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 USING\u00a0&#8216;BNKA-BRNCH&#8217;<br \/>\nls_record-brnch.<br \/>\nPERFORM\u00a0bdc_dynpro\u00a0\u00a0\u00a0\u00a0\u00a0 USING\u00a0&#8216;SAPMF02B&#8217;\u00a0&#8216;0110&#8217;.<br \/>\nPERFORM\u00a0bdc_field\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 USING\u00a0&#8216;BDC_CURSOR&#8217;<br \/>\n&#8216;BNKA-BANKA&#8217;.<br \/>\nPERFORM\u00a0bdc_field\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 USING\u00a0&#8216;BDC_OKCODE&#8217;<br \/>\n&#8216;=UPDA&#8217;.<br \/>\nPERFORM\u00a0bdc_field\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 USING\u00a0&#8216;BNKA-BANKA&#8217;<br \/>\nls_record-banka.<br \/>\nPERFORM\u00a0bdc_field\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 USING\u00a0&#8216;BNKA-PROVZ&#8217;<br \/>\nls_record-provz.<br \/>\nPERFORM\u00a0bdc_field\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 USING\u00a0&#8216;BNKA-ORT01&#8217;<br \/>\nls_record-ort01.<br \/>\nPERFORM\u00a0bdc_field\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 USING\u00a0&#8216;BNKA-BRNCH&#8217;<br \/>\nls_record-brnch.<\/p>\n<p>CALL\u00a0TRANSACTION\u00a0&#8216;FI01&#8217;USING\u00a0bdcdata\u00a0MODE\u00a0&#8216;A&#8217;\u00a0MESSAGES\u00a0INTO\u00a0it_msg.<\/p>\n<p>CLEAR:\u00a0bdcdata[],bdcdata\u00a0,ls_record.<br \/>\nENDLOOP.<\/p>\n<p>loop\u00a0at\u00a0it_msg\u00a0into\u00a0data(ls_msg).<br \/>\nCALL\u00a0FUNCTION\u00a0&#8216;FORMAT_MESSAGE&#8217;<br \/>\nEXPORTING<br \/>\n*\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0ID\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0=\u00a0SY-MSGID<br \/>\n*\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0LANG\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0=\u00a0&#8216;-D&#8217;<br \/>\nNO\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 =\u00a0ls_msg-MSGNr<br \/>\nV1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 =\u00a0 ls_msg-MSGV1<br \/>\nV2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 =\u00a0 ls_msg-MSGV2<br \/>\nV3\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 =\u00a0 ls_msg-MSGV3<br \/>\nV4\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 =\u00a0 ls_msg-MSGV4<br \/>\nIMPORTING<br \/>\nMSG\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 =\u00a0lv_msg<br \/>\nEXCEPTIONS<br \/>\nNOT_FOUND\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 =\u00a01<br \/>\nOTHERS\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 =\u00a02<br \/>\n.<br \/>\nIF\u00a0sy-subrc\u00a0eq\u00a00.<br \/>\n*\u00a0Implement\u00a0suitable\u00a0error\u00a0handling\u00a0here<br \/>\nls_error-msg\u00a0=\u00a0lv_msg.<br \/>\nls_error-lineno\u00a0=\u00a0sy-tabix.<br \/>\nappend\u00a0ls_Error\u00a0to\u00a0lt_error.<br \/>\nENDIF.<\/p>\n<p>endloop.<\/p>\n<p>loop\u00a0at\u00a0lt_error\u00a0into\u00a0ls_error.<br \/>\nwrite\u00a0:\u00a0\/\u00a0ls_error-lineno,\u00a0ls_error-msg.<br \/>\nENDLOOP.<\/p>\n<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 \/>\n*\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Start\u00a0new\u00a0screen\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0*<br \/>\n*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*<br \/>\nFORM\u00a0bdc_dynpro\u00a0USING\u00a0program\u00a0dynpro.<br \/>\nCLEAR\u00a0bdcdata.<br \/>\nbdcdata-program\u00a0 =\u00a0program.<br \/>\nbdcdata-dynpro\u00a0\u00a0 =\u00a0dynpro.<br \/>\nbdcdata-dynbegin\u00a0=\u00a0&#8216;X&#8217;.<br \/>\nAPPEND\u00a0bdcdata.<br \/>\nENDFORM.<\/p>\n<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 \/>\n*\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Insert\u00a0field\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0*<br \/>\n*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*<br \/>\nFORM\u00a0bdc_field\u00a0USING\u00a0fnam\u00a0fval.<br \/>\n*\u00a0\u00a0IF\u00a0FVAL\u00a0&lt;&gt;\u00a0NODATA.<br \/>\nCLEAR\u00a0bdcdata.<br \/>\nbdcdata-fnam\u00a0=\u00a0fnam.<br \/>\nbdcdata-fval\u00a0=\u00a0fval.<br \/>\nAPPEND\u00a0bdcdata.<br \/>\n*\u00a0\u00a0ENDIF.<br \/>\nENDFORM.<\/span><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","question-category":[158],"question_tags":[178,387,390,177],"class_list":["post-7902","question","type-question","status-publish","hentry","question-category-abap","question_tags-abap","question_tags-bdc","question_tags-call-transaction","question_tags-sap"],"_links":{"self":[{"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=\/wp\/v2\/question\/7902","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=\/wp\/v2\/question"}],"about":[{"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=\/wp\/v2\/types\/question"}],"author":[{"embeddable":true,"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7902"}],"wp:attachment":[{"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7902"}],"wp:term":[{"taxonomy":"question-category","embeddable":true,"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fquestion-category&post=7902"},{"taxonomy":"question_tags","embeddable":true,"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fquestion_tags&post=7902"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}