<?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 programming in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-programming/m-p/4282083#M1021593</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rajiv,&lt;/P&gt;&lt;P&gt;In BDC u have to pass the currency and quantity fields to the character variables and then use them in ur BDC. This is because these are right alligned.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So when u populate the bdcdata first pass the quantity to a character variable , later use it to populate the bdcdata.&lt;/P&gt;&lt;P&gt;DATA: w_quantity(20) TYPE c.&lt;/P&gt;&lt;P&gt;LOOP AT itab into wa.&lt;/P&gt;&lt;P&gt;CLEAR w_quantity.&lt;/P&gt;&lt;P&gt;MOVE wa-quantity to w_quantity.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Use w_quantity to populate bdcdata instead of wa-quantity.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also avoid using BDC for anjoy transactions like ME21N, VL01N etc. We have BAPIs for this. Use them.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Vinod.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Vinod Reddy Vemuru on Jul 30, 2008 4:55 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 30 Jul 2008 11:24:43 GMT</pubDate>
    <dc:creator>vinod_vemuru2</dc:creator>
    <dc:date>2008-07-30T11:24:43Z</dc:date>
    <item>
      <title>BDC programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-programming/m-p/4282079#M1021589</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; I am doing a BDC program using call transaction for me21n... when i am trying to take the data from flat file .. quantity and price are not&lt;/P&gt;&lt;P&gt; accepted from internal table but if i directly put the value in the program&lt;/P&gt;&lt;P&gt; its working fine....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; can anybody suggest wat to do&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Rajiv Kumar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Jul 2008 11:19:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-programming/m-p/4282079#M1021589</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-30T11:19:25Z</dc:date>
    </item>
    <item>
      <title>Re: BDC programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-programming/m-p/4282080#M1021590</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I think while u r getting data from the internal table the splitting is not done properly.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Jul 2008 11:22:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-programming/m-p/4282080#M1021590</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-30T11:22:02Z</dc:date>
    </item>
    <item>
      <title>Re: BDC programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-programming/m-p/4282081#M1021591</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;use this program...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;   REPORT ZMM_PO&lt;/P&gt;&lt;P&gt;          LINE-SIZE 351&lt;/P&gt;&lt;P&gt;          NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;          LINE-COUNT 65&lt;/P&gt;&lt;P&gt;          MESSAGE-ID ZMSG.&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;*BDC INCLUDE PROGRAM&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;  Include bdcrecx1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;*INTERNAL TABLES AND STRUCTURES&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;  Data : Begin of it_po occurs 0,&lt;/P&gt;&lt;P&gt;         Docu_No(10),         "Document Number For Legacy System.&lt;/P&gt;&lt;P&gt;         Vdr_No(10),          "Vendor Number&lt;/P&gt;&lt;P&gt;         doc_type(4),         "Document type&lt;/P&gt;&lt;P&gt;         track_number(10),    "Tracking number&lt;/P&gt;&lt;P&gt;         Docu_Date(10),       "Document Date&lt;/P&gt;&lt;P&gt;         Po_Org(4),           "Purchasing Organization&lt;/P&gt;&lt;P&gt;         Po_Group(3),         "Purchasing Group&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       comp_code(4),        "Company Code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Mat_Desc(40),        "short text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         Material(18),        "Material Number&lt;/P&gt;&lt;P&gt;         Quantity(16),        "Purchase order quantity&lt;/P&gt;&lt;P&gt;         Order_unit(3),       "Order unit(UOM)&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       I_Cod(1),            "Category of delivery date(For item)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         Idelivery_Date(10),  "Delivery Date(For item)&lt;/P&gt;&lt;P&gt;         Netprice(13),        "Net price in purchasing document&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       currency(5),         "Currency Key&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Price_Unit(5),       "Price unit&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         Order_Priceunit(3),  "Order Price Unit (UOM)&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Material_Group(4),   "Material group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         Plant(4),            "Plant&lt;/P&gt;&lt;P&gt;         Sdelivery_Date(10),  "Delivery Date(For Shedule)&lt;/P&gt;&lt;P&gt;         Shld_Qty(16),        "Shedule Quantity&lt;/P&gt;&lt;P&gt;         Batch(10),           "Batch&lt;/P&gt;&lt;P&gt;         Storage_location(4), "Storage location&lt;/P&gt;&lt;P&gt;         tax_code(2),         "Tax code&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       sitem_no(5),         "Item Number of Purchasing Document&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       S_Cod(1),            "Category of delivery date(For Shedule)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Srd_Date(10),        "Statistics relevent delivery date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         Er_message(100),     "Error message&lt;/P&gt;&lt;P&gt;         End of it_po.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Iternal table to get the error data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  Data it_error like it_po occurs 0 with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Iternal table to find the error from the legacy data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  Data : begin of it_erfind occurs 0,&lt;/P&gt;&lt;P&gt;         Docu_No(10),             "Legacy document number for error file&lt;/P&gt;&lt;P&gt;         Er_message(100),         "For Error Message&lt;/P&gt;&lt;P&gt;         end of it_erfind.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Variable Declartions&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  Data : temp(40),&lt;/P&gt;&lt;P&gt;         item_count(2) type n,&lt;/P&gt;&lt;P&gt;         schedule_count(2) type n,&lt;/P&gt;&lt;P&gt;         wa like it_po,&lt;/P&gt;&lt;P&gt;         g_message(200).&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;  START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;*READING LEGACY FILE&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;  call function 'UPLOAD'&lt;/P&gt;&lt;P&gt;   exporting&lt;/P&gt;&lt;P&gt;     CODEPAGE                      = 'IBM'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILENAME                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     FILETYPE                      = 'DAT'&lt;/P&gt;&lt;P&gt;    tables&lt;/P&gt;&lt;P&gt;      DATA_TAB                      = IT_PO&lt;/P&gt;&lt;P&gt;   exceptions&lt;/P&gt;&lt;P&gt;     CONVERSION_ERROR              = 1&lt;/P&gt;&lt;P&gt;     INVALID_TABLE_WIDTH           = 2&lt;/P&gt;&lt;P&gt;     INVALID_TYPE                  = 3&lt;/P&gt;&lt;P&gt;     NO_BATCH                      = 4&lt;/P&gt;&lt;P&gt;     UNKNOWN_ERROR                 = 5&lt;/P&gt;&lt;P&gt;     GUI_REFUSE_FILETRANSFER       = 6&lt;/P&gt;&lt;P&gt;     others                        = 7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    write :/(50) 'Upload error!'.&lt;/P&gt;&lt;P&gt;    check 1 = 2.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Sort the internal table based on legacy doucment no and materail number&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort it_po by  Docu_No Material.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform open_group.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      loop at it_po.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            move-corresponding it_po to wa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*To pass the header data based on the document using at new document no&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            AT NEW Docu_No.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                  clear item_count.&lt;/P&gt;&lt;P&gt;                  item_count = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                        perform bdc_dynpro      using 'SAPMM06E' '0100'.&lt;/P&gt;&lt;P&gt;                        perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                                      'EKKO-EKGRP'.&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 'EKKO-LIFNR'&lt;/P&gt;&lt;P&gt;                                                       wa-VDR_NO.&lt;/P&gt;&lt;P&gt;                        perform bdc_field       using 'RM06E-BSART'&lt;/P&gt;&lt;P&gt;                                                       wa-doc_type.&lt;/P&gt;&lt;P&gt;                        perform bdc_field       using 'RM06E-BEDAT'&lt;/P&gt;&lt;P&gt;                                                      wa-docu_date.&lt;/P&gt;&lt;P&gt;                        perform bdc_field       using 'EKKO-EKORG'&lt;/P&gt;&lt;P&gt;                                                      wa-Po_Org.&lt;/P&gt;&lt;P&gt;                        perform bdc_field       using 'EKKO-EKGRP'&lt;/P&gt;&lt;P&gt;                                                      wa-Po_Group.&lt;/P&gt;&lt;P&gt;            ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            AT NEW material.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                clear schedule_count.&lt;/P&gt;&lt;P&gt;                schedule_count = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*If the item exceed 14 then calling the next set of rows to proceed.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                if item_count &amp;gt; 14.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                clear item_count.&lt;/P&gt;&lt;P&gt;                item_count = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                        perform bdc_dynpro      using 'SAPMM06E' '0120'.&lt;/P&gt;&lt;P&gt;                        perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                                      '=NP'.&lt;/P&gt;&lt;P&gt;                endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                    perform bdc_dynpro      using 'SAPMM06E' '0120'.&lt;/P&gt;&lt;P&gt;                    perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                                  'EKPO-MENGE(01)'.&lt;/P&gt;&lt;P&gt;                    perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                                  '/00'.&lt;/P&gt;&lt;P&gt;                    clear temp.&lt;/P&gt;&lt;P&gt;                    concatenate 'EKPO-EMATN(' item_count ')' into temp.&lt;/P&gt;&lt;P&gt;                    perform bdc_field using temp  wa-material.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                    clear temp.&lt;/P&gt;&lt;P&gt;                    concatenate 'EKPO-MENGE(' item_count ')' into temp.&lt;/P&gt;&lt;P&gt;                    perform bdc_field using temp wa-quantity.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                    clear temp.&lt;/P&gt;&lt;P&gt;                    concatenate 'EKPO-MEINS(' item_count ')' into temp.&lt;/P&gt;&lt;P&gt;                    perform bdc_field using temp wa-Order_Unit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                    clear temp.&lt;/P&gt;&lt;P&gt;                    concatenate 'RM06E-EEIND(' item_count ')' into temp.&lt;/P&gt;&lt;P&gt;                    perform bdc_field using temp wa-idelivery_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                    clear temp.&lt;/P&gt;&lt;P&gt;                    concatenate 'EKPO-NETPR(' item_count ')' into temp.&lt;/P&gt;&lt;P&gt;                    perform bdc_field using temp wa-netprice.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                    clear temp.&lt;/P&gt;&lt;P&gt;                    concatenate 'EKPO-BPRME(' item_count ')' into temp.&lt;/P&gt;&lt;P&gt;                    perform bdc_field using temp wa-Order_Priceunit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                    clear temp.&lt;/P&gt;&lt;P&gt;                    concatenate 'EKPO-WERKS(' item_count ')' into temp.&lt;/P&gt;&lt;P&gt;                    perform bdc_field using temp wa-plant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                    clear temp.&lt;/P&gt;&lt;P&gt;                    concatenate 'EKPO-LGORT(' item_count ')' into temp.&lt;/P&gt;&lt;P&gt;                    perform bdc_field using temp wa-storage_location.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                    clear temp.&lt;/P&gt;&lt;P&gt;                    concatenate 'RM06E-CHARG(' item_count ')' into temp.&lt;/P&gt;&lt;P&gt;                    perform bdc_field using temp wa-batch.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*For taxcode after selecting the concerned item&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                clear temp.&lt;/P&gt;&lt;P&gt;                concatenate 'RM06E-TCSELFLAG(' item_count ')' into temp.&lt;/P&gt;&lt;P&gt;                perform bdc_field using temp 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                              '=DETA'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                    perform bdc_dynpro      using 'SAPMM06E' '0111'.&lt;/P&gt;&lt;P&gt;                    perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                                  'EKPO-MWSKZ'.&lt;/P&gt;&lt;P&gt;                    perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                                  '/00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                    perform bdc_field       using 'EKPO-BEDNR'&lt;/P&gt;&lt;P&gt;                                                   wa-track_number.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                    perform bdc_field       using 'EKPO-MWSKZ'&lt;/P&gt;&lt;P&gt;                                                   wa-tax_code.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   clear temp.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   concatenate 'EKPO-MWSKZ(' item_count ')' into temp.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   perform bdc_field using temp wa-tax_code.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*To select the item leve to pass the schedule value&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              clear temp.&lt;/P&gt;&lt;P&gt;              concatenate 'RM06E-TCSELFLAG(' item_count ')' into temp.&lt;/P&gt;&lt;P&gt;              perform bdc_field using temp 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                              '=ET'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*increment to change the table control position for schedlue&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                item_count = item_count + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ENDAT.&lt;/P&gt;&lt;P&gt;*To call the schedule screen only one time when schedul count = 1.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          if schedule_count = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                    perform bdc_dynpro      using 'SAPMM06E' '1117'.&lt;/P&gt;&lt;P&gt;                    perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                                  'EKET-MENGE(02)'.&lt;/P&gt;&lt;P&gt;                    perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                                  '=BACK'.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                clear temp.&lt;/P&gt;&lt;P&gt;                concatenate 'RM06E-EEIND(' schedule_count ')' into temp.&lt;/P&gt;&lt;P&gt;                perform bdc_field using  temp wa-sdelivery_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                clear temp.&lt;/P&gt;&lt;P&gt;                concatenate 'EKET-MENGE(' schedule_count ')' into temp.&lt;/P&gt;&lt;P&gt;                perform bdc_field using temp wa-shld_qty.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Increment to change the table control position for schedlue&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    schedule_count = schedule_count + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        AT END OF docu_no.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                perform bdc_dynpro      using 'SAPMM06E' '0120'.&lt;/P&gt;&lt;P&gt;                perform bdc_field       using 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                              'RM06E-BSTPO(01)'.&lt;/P&gt;&lt;P&gt;                perform bdc_field       using 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                              '=BU'.&lt;/P&gt;&lt;P&gt;                perform bdc_field       using 'RM06E-EBELP'&lt;/P&gt;&lt;P&gt;                                              '10'.&lt;/P&gt;&lt;P&gt;       perform bdc_transaction using 'ME21'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*To fetch the error message from the standard error table&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT SINGLE * FROM T100 WHERE SPRSL = 'E'&lt;/P&gt;&lt;P&gt;                                AND ARBGB = SY-MSGID&lt;/P&gt;&lt;P&gt;                                AND MSGNR = SY-MSGNO.&lt;/P&gt;&lt;P&gt;                                G_MESSAGE = T100-TEXT.&lt;/P&gt;&lt;P&gt;*subroutin to change the error message for every document number&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM REPLACE_PARAMETERS  USING SY-MSGV1 SY-MSGV2 SY-MSGV3&lt;/P&gt;&lt;P&gt;                                  SY-MSGV4 CHANGING  G_MESSAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Seggregate the error if the meg type is E.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-msgty = 'E'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              it_erfind-docu_no = wa-docu_no .&lt;/P&gt;&lt;P&gt;              it_erfind-er_message = G_MESSAGE.&lt;/P&gt;&lt;P&gt;              append it_erfind.&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;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Error Handling&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      AT LAST.&lt;/P&gt;&lt;P&gt;*To segregate the error&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                PERFORM segregate_error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*To download the error from it_error internal table with err mesg&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                PERFORM error_download.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      perform close_group.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Subrotine to replace the parameters&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      FORM REPLACE_PARAMETERS USING P_PAR_1 P_PAR_2 P_PAR_3&lt;/P&gt;&lt;P&gt;                              P_PAR_4 CHANGING P_MESSAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*erst mal pruefen, ob numerierte Parameter verwendet wurden&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          DO.&lt;/P&gt;&lt;P&gt;              REPLACE '&amp;amp;1' WITH P_PAR_1 INTO P_MESSAGE.&lt;/P&gt;&lt;P&gt;              IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;                EXIT.&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;          ENDDO.&lt;/P&gt;&lt;P&gt;          DO.&lt;/P&gt;&lt;P&gt;              REPLACE '&amp;amp;2' WITH P_PAR_2 INTO P_MESSAGE.&lt;/P&gt;&lt;P&gt;              IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;                EXIT.&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;          ENDDO.&lt;/P&gt;&lt;P&gt;          DO.&lt;/P&gt;&lt;P&gt;              REPLACE '&amp;amp;3' WITH P_PAR_3 INTO P_MESSAGE.&lt;/P&gt;&lt;P&gt;              IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;                EXIT.&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;          ENDDO.&lt;/P&gt;&lt;P&gt;          DO.&lt;/P&gt;&lt;P&gt;              REPLACE '&amp;amp;4' WITH P_PAR_4 INTO P_MESSAGE.&lt;/P&gt;&lt;P&gt;              IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;                EXIT.&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;          ENDDO.&lt;/P&gt;&lt;P&gt;*falls keine numerierten Parameter vorh., ersetzen wie gehabt&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          REPLACE '&amp;amp;' WITH P_PAR_1 INTO P_MESSAGE.&lt;/P&gt;&lt;P&gt;          CONDENSE P_MESSAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;                    REPLACE '&amp;amp;' WITH P_PAR_2 INTO P_MESSAGE.&lt;/P&gt;&lt;P&gt;                    CONDENSE P_MESSAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;                          REPLACE '&amp;amp;' WITH P_PAR_3 INTO P_MESSAGE.&lt;/P&gt;&lt;P&gt;                          CONDENSE P_MESSAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                          IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;                              REPLACE '&amp;amp;' WITH P_PAR_4 INTO P_MESSAGE.&lt;/P&gt;&lt;P&gt;                              CONDENSE P_MESSAGE.&lt;/P&gt;&lt;P&gt;                          ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                      ENDIF.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDFORM.&lt;/P&gt;&lt;P&gt;*Subroutine to segregate the error data from the legacy data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FORM segregate_error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      loop at it_erfind.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             loop at it_po where docu_no = it_erfind-docu_no.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                     move-corresponding it_po to it_error.&lt;/P&gt;&lt;P&gt;                     it_error-er_message = it_erfind-er_message.&lt;/P&gt;&lt;P&gt;                     append it_error.&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;      endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDFORM.&lt;/P&gt;&lt;P&gt;*Subroutine to download the error data from the it_error table.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FORM error_download.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              CALL FUNCTION 'WS_DOWNLOAD'&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                CODEPAGE                      = 'IBM'&lt;/P&gt;&lt;P&gt;                FILENAME                      = 'C:\ERROR\PO.TXT'&lt;/P&gt;&lt;P&gt;                FILETYPE                      = 'DAT'&lt;/P&gt;&lt;P&gt;              TABLES&lt;/P&gt;&lt;P&gt;                DATA_TAB                      = IT_ERROR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rgds,&lt;/P&gt;&lt;P&gt;Paras&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Jul 2008 11:22:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-programming/m-p/4282081#M1021591</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-30T11:22:21Z</dc:date>
    </item>
    <item>
      <title>Re: BDC programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-programming/m-p/4282082#M1021592</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;declare these two as chars in the internal table of the same length&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Jul 2008 11:23:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-programming/m-p/4282082#M1021592</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-30T11:23:10Z</dc:date>
    </item>
    <item>
      <title>Re: BDC programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-programming/m-p/4282083#M1021593</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rajiv,&lt;/P&gt;&lt;P&gt;In BDC u have to pass the currency and quantity fields to the character variables and then use them in ur BDC. This is because these are right alligned.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So when u populate the bdcdata first pass the quantity to a character variable , later use it to populate the bdcdata.&lt;/P&gt;&lt;P&gt;DATA: w_quantity(20) TYPE c.&lt;/P&gt;&lt;P&gt;LOOP AT itab into wa.&lt;/P&gt;&lt;P&gt;CLEAR w_quantity.&lt;/P&gt;&lt;P&gt;MOVE wa-quantity to w_quantity.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Use w_quantity to populate bdcdata instead of wa-quantity.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also avoid using BDC for anjoy transactions like ME21N, VL01N etc. We have BAPIs for this. Use them.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Vinod.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Vinod Reddy Vemuru on Jul 30, 2008 4:55 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Jul 2008 11:24:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-programming/m-p/4282083#M1021593</guid>
      <dc:creator>vinod_vemuru2</dc:creator>
      <dc:date>2008-07-30T11:24:43Z</dc:date>
    </item>
    <item>
      <title>Re: BDC programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-programming/m-p/4282084#M1021594</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;thanks for reply..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;actually i am creating a program for the RFC.. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;can this program help on that&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Jul 2008 11:28:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-programming/m-p/4282084#M1021594</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-30T11:28:15Z</dc:date>
    </item>
    <item>
      <title>Re: BDC programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-programming/m-p/4282085#M1021595</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;you use &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BAPI_PO_CREATE1                Create Purchase Order&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rgds,&lt;/P&gt;&lt;P&gt;Paras&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Jul 2008 12:09:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-programming/m-p/4282085#M1021595</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-30T12:09:37Z</dc:date>
    </item>
    <item>
      <title>Re: BDC programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-programming/m-p/4282086#M1021596</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rajeev,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Define two character variables for quantity and Price...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Write your internaltable-quantity field to above respective variable.&lt;/P&gt;&lt;P&gt;data gv_quan(14).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;e.g. write itab-quan to gv_quan.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Similarly for 2nd variable...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Try out this.....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Kuldeep.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Jul 2008 12:22:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-programming/m-p/4282086#M1021596</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-30T12:22:00Z</dc:date>
    </item>
  </channel>
</rss>

