<?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 Problem , Pls help in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-problem-pls-help/m-p/1291680#M155580</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;For subscrens, usually you've to use the main screen program name and screen number. &lt;/P&gt;&lt;P&gt;See the technical info of that field, use the program name, screen#, and field name from field description for batchinput, see if it works.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Sridhar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 07 Jun 2006 21:32:57 GMT</pubDate>
    <dc:creator>sridhar_k1</dc:creator>
    <dc:date>2006-06-07T21:32:57Z</dc:date>
    <item>
      <title>BDC Problem , Pls help</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-problem-pls-help/m-p/1291677#M155577</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi , &lt;/P&gt;&lt;P&gt;I am trying to create a BDC for routing opertaions update . During recording for a Screen ( that has subscreens )i get this :&lt;/P&gt;&lt;P&gt;BDC_SUBSCR SAPLCPDO       1210GENERAL.&lt;/P&gt;&lt;P&gt;I wanted to know Is there a special way to populate the subscreen fields ? I just copied the bdcdata-fnam = 'bdc_subscr' and fval = SAPLCPDO       1210GENERAL , but it looks like this is not the correct way as i get an error saying No transaction data for screen SAPLCPDO. &lt;/P&gt;&lt;P&gt;I would appreciate if anyone can let me know how to code for this. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you very much&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Jun 2006 20:25:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-problem-pls-help/m-p/1291677#M155577</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-07T20:25:10Z</dc:date>
    </item>
    <item>
      <title>Re: BDC Problem , Pls help</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-problem-pls-help/m-p/1291678#M155578</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Have you recorded your transaction via transaction code SHDB.  This really is the best way to get your BDC code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Rich Heilman&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Jun 2006 20:26:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-problem-pls-help/m-p/1291678#M155578</guid>
      <dc:creator>RichHeilman</dc:creator>
      <dc:date>2006-06-07T20:26:33Z</dc:date>
    </item>
    <item>
      <title>Re: BDC Problem , Pls help</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-problem-pls-help/m-p/1291679#M155579</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Tamanna,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If your requirement is how to code BDC program for a transaction which has subscreens in it...then refer to the example program I had created at one of my client places. But this is not for tcode CA02. Sorry I couldn't be of more help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;* Table declaration

TABLES:
  wyt3,
  /bay2/u7sxcrecce.
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Internal Table Declaration for Bushy Park Legacy data
*&amp;amp;---------------------------------------------------------------------*
DATA : BEGIN OF i_leg OCCURS 0,
  po_nm(15),     " PO No - EBELN
  byrc(2),       " Purchasing group - buyer code - EKGRP
  vendor(10),    " LIFNR
  po_date(6),    " BEDAT
  cur(3),        " currency - WAERS
  zterm(2),      " terms code - ZTERM
  fob(2),        " FOB code - IINCO1
  mat(7),        " material - EMATN
  mat_pck(15),   " material PCK - ematn
  quant(15),     " quantity due - MENGE
  u_meas(2),     " Unit of measure - MEINS
  del_date(6),   " Item delivery date - EINDT
  ven_mat(30),   " Material # used by vendor
  net_pr(17),    " Net price - NETPR
  ship_via(3),   " Ship via
  del_loc(5),    " Delivery location -  ABLAD
  dist_acc(21),  " Distribution account
  txz01(55),     " Purchase Document Text
  recip(5),      " Recipient - WEMPF
  line_cd(3),    " Line code
  comp(2),       " Company
  line_num(4),   " PO line number
  indicator(1),  " Indictor as to what kind of PO's is being converted
  projnbr(30),   " filler
  works(2),      " Legacy works - WERKS
  work_ord(7),   " Work Order Number - AUFNR
  wbs(8),        " Project number - use for WBS x-ref
  cost_elem(7),  " G/L account for Project PO's w/o mat. master - SAKTO
  xref_wbs(23),  " WBS for manual load - SAKTO
  percent(12),   " Mara
* Filler for NET PRICE
  filler(17),    " Mara - net price
  gl_act(7),     " GL acct for Work Order
  label(3),      " Label
  iwg_warehouse(9),
  cost_cen(5),   " Cost center
  expence_cl(4), " Expence class
  tax_code(2),   " Tax Code
  quan_gr(16),   " Quantity of goods received
  amt_gr(17),    " Amount of goods received
  quan_fi(16),   " Quantity invoiced
  amt_fi(17),    " Amount invoiced
  site(15),      " Site name - Added by Naren Somen
*  flag(1),       " Indicator for valuted material - N/A
*  commit_amt(14)," Commitment value
 END OF i_leg.


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Internal Table Declaration for SAP data
*&amp;amp;---------------------------------------------------------------------*
DATA : BEGIN OF i_sap OCCURS 0,
          po_nm(15),            " PO No - EBELN
          ekgrp(3),             " Purchasing Group
          lifnr(10),            " Vendor Number
          zterm(4),             " Payment Terms
          werks(4),             " Plant
          txz01(40),            " Text
          netprice(14),         " Price
          commit_amt(14),       " Commitment values
       END OF i_sap.

DATA: bdcdata LIKE bdcdata          OCCURS 0 WITH HEADER LINE.
DATA: i_xleg LIKE i_leg OCCURS 0 WITH HEADER LINE.
DATA: i_wyt3 LIKE wyt3 OCCURS 0 WITH HEADER LINE.
DATA: p_itab LIKE i_leg OCCURS 0 WITH HEADER LINE.


* Internal table to store the messages
DATA: BEGIN OF i_mesage_tab OCCURS 0.
        INCLUDE STRUCTURE bdcmsgcoll .
DATA END OF i_mesage_tab.

*Begin of change by Naren Somen
*Buffer to the hold the records from tab delimited text file
DATA:  BEGIN OF i_record_buffer,
         record_buffer(4000)   TYPE c.
DATA:  END OF i_record_buffer.
*End of change by Naren Somen


DATA: w_input_rec_count(6) TYPE n," Input File Record Counter
      w_address TYPE p,           " Count of vendor addresses found
      w_flg  TYPE c VALUE 'X',    " BDC Rec Indicator
      w_insert_line(1) TYPE c,    " Insert New Line Item in PO
      w_del_date(10),             " Delivery Date Format Changes
      w_year(4),                  " Year
      w_mon(2),                   " Month
      w_date(2),                  " Date
      w_purgrp(3),                " SAP Purchasing group
      w_vendor(10),               " SAP vendor
      w_payterm(4),               " SAP payment terms
      w_plant(4),                 " SAP plant
      w_acct(10),                 " SAP G/L acct - temp
      w_order(12),                " SAP Work Order Number
      w_aufnr LIKE ekkn-aufnr.    " Work Order

DATA:  w_input LIKE swaexpdef-expr,
       w1_dec LIKE dfies-decimals,
       w_mul TYPE i,
       w_val TYPE i,
       w_val01 LIKE ekpo-netpr,
       w_netprice(11),                   " Net Price
       w_netprice_hold(11),              " hold variable for net price
       w_netprice1(14),                  " Net Price before dec. point
       w_netprice2(9),                   " Net Price after dec. point
       w_quant TYPE c VALUE '1',         " Quantity
       w_count LIKE sy-tabix,            " Loop Counter
       w_costcenter TYPE kostl,          " Costcenter
       w_glaccount TYPE kstar,           " G/L account
       w_item TYPE bstpo VALUE '0010',   " Line item number
       w_quote(1) TYPE x VALUE '27'.

DATA: BEGIN OF i_epstp,
         field1(11) TYPE c VALUE 'RM06E-EPSTP',
         field2(1) TYPE c VALUE '(',
         field3(3) TYPE n VALUE 000,
         field4(1) TYPE c VALUE ')',
     END OF i_epstp.

DATA: BEGIN OF i_knttp,
         field1(10) TYPE c VALUE 'EKPO-KNTTP',
         field2(1) TYPE c VALUE '(',
         field3(3) TYPE n VALUE 000,
         field4(1) TYPE c VALUE ')',
     END OF i_knttp.

DATA: BEGIN OF i_txz01,
         field1(10) TYPE c VALUE 'EKPO-TXZ01',
         field2(1) TYPE c VALUE '(',
         field3(3) TYPE n VALUE 000,
         field4(1) TYPE c VALUE ')',
     END OF i_txz01.

DATA: BEGIN OF i_eeind,
         field1(11) TYPE c VALUE 'RM06E-EEIND',
         field2(1) TYPE c VALUE '(',
         field3(3) TYPE n VALUE 000,
         field4(1) TYPE c VALUE ')',
     END OF i_eeind.

DATA: BEGIN OF i_netpr,
         field1(10) TYPE c VALUE 'EKPO-NETPR',
         field2(1) TYPE c VALUE '(',
         field3(3) TYPE n VALUE 000,
         field4(1) TYPE c VALUE ')',
     END OF i_netpr.

DATA: BEGIN OF i_matkl,
         field1(10) TYPE c VALUE 'EKPO-MATKL',
         field2(1) TYPE c VALUE '(',
         field3(3) TYPE n VALUE 000,
         field4(1) TYPE c VALUE ')',
     END OF i_matkl.

DATA: BEGIN OF i_werks,
         field1(10) TYPE c VALUE 'EKPO-WERKS',
         field2(1) TYPE c VALUE '(',
         field3(3) TYPE n VALUE 000,
         field4(1) TYPE c VALUE ')',
     END OF i_werks.

DATA: BEGIN OF i_ktext1,
         field1(11) TYPE c VALUE 'ESLL-KTEXT1',
         field2(1) TYPE c VALUE '(',
         field3(3) TYPE n VALUE 000,
         field4(1) TYPE c VALUE ')',
     END OF i_ktext1.

DATA: BEGIN OF i_meins,
         field1(10) TYPE c VALUE 'ESLL-MEINS',
         field2(1) TYPE c VALUE '(',
         field3(3) TYPE n VALUE 000,
         field4(1) TYPE c VALUE ')',
      END OF i_meins.

DATA: BEGIN OF i_ekpo_meins,
         field1(10) TYPE c VALUE 'EKPO-MEINS',
         field2(1) TYPE c VALUE '(',
         field3(3) TYPE n VALUE 000,
         field4(1) TYPE c VALUE ')',
     END OF i_ekpo_meins.

DATA: BEGIN OF i_menge,
         field1(10) TYPE c VALUE 'ESLL-MENGE',
         field2(1) TYPE c VALUE '(',
         field3(3) TYPE n VALUE 000,
         field4(1) TYPE c VALUE ')',
     END OF i_menge.

DATA: BEGIN OF i_ekpo_menge,
         field1(10) TYPE c VALUE 'EKPO-MENGE',
         field2(1) TYPE c VALUE '(',
         field3(3) TYPE n VALUE 000,
         field4(1) TYPE c VALUE ')',
     END OF i_ekpo_menge.

DATA: BEGIN OF i_tbtwr,
         field1(10) TYPE c VALUE 'ESLL-TBTWR',
         field2(1) TYPE c VALUE '(',
         field3(3) TYPE n VALUE 000,
         field4(1) TYPE c VALUE ')',
     END OF i_tbtwr.

DATA: BEGIN OF i_mkntm,
         field1(11) TYPE c VALUE 'RM11K-MKNTM',
         field2(1) TYPE c VALUE '(',
         field3(3) TYPE n VALUE 000,
         field4(1) TYPE c VALUE ')',
     END OF i_mkntm.

DATA: BEGIN OF i_kostl,
         field1(10) TYPE c VALUE 'ESKN-KOSTL',
         field2(1) TYPE c VALUE '(',
         field3(3) TYPE n VALUE 000,
         field4(1) TYPE c VALUE ')',
     END OF i_kostl.

DATA: BEGIN OF i_sakto,
         field1(10) TYPE c VALUE 'ESKN-SAKTO',
         field2(1) TYPE c VALUE '(',
         field3(3) TYPE n VALUE 000,
         field4(1) TYPE c VALUE ')',
     END OF i_sakto.

DATA: BEGIN OF i_bstpo,
         field1(11) TYPE c VALUE 'RM06E-BSTPO',
         field2(1) TYPE c VALUE '(',
         field3(3) TYPE n VALUE 000,
         field4(1) TYPE c VALUE ')',
     END OF i_bstpo.

DATA: BEGIN OF i_kstar,
         kstar TYPE kstar,
      END OF i_kstar.

DATA: c_yb(2) VALUE 'YB'.
DATA: c_partner_counter(3) TYPE c VALUE '002'. "Partner Counter -
"Naren Somen

CONSTANTS: c_185(4) TYPE c VALUE '0185',     " System ID - Walker
           c_202(4) TYPE c VALUE '0202',     " System ID - Bushy Park
           c_delimiter(1) TYPE x  VALUE '09'," tab character-Naren Somen
           c_unit(2) TYPE c VALUE 'PU',      " Unit of measure
           c_sq(2) TYPE c VALUE 'SQ',
           c_zero(1) TYPE c VALUE '0',
           c_loop(2) TYPE c VALUE '14',
           c_00(2) TYPE c VALUE '00'.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Input Parameters / Selection Options
*&amp;amp;---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE text-tx1.
PARAMETERS : p_input  LIKE filename-fileextern OBLIGATORY,  " Input File
             p_error  LIKE filename-fileextern OBLIGATORY. " Output File
SELECTION-SCREEN END OF BLOCK bl1.
*
SELECTION-SCREEN BEGIN OF BLOCK bl3 WITH FRAME TITLE text-tx3.
PARAMETERS : p_ekorg LIKE ekko-ekorg OBLIGATORY.
SELECTION-SCREEN END OF BLOCK bl3.
*
SELECTION-SCREEN BEGIN OF BLOCK bl4 WITH FRAME TITLE text-tx4.
PARAMETERS : p_uname LIKE apqi-userid OBLIGATORY,
             p_sess LIKE bgr00-group OBLIGATORY.
SELECTION-SCREEN END OF BLOCK bl4.
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Main Program Logic
*&amp;amp;---------------------------------------------------------------------*
START-OF-SELECTION.

  PERFORM open_input_output_files.
  PERFORM create_bdc_session.
  PERFORM write_results.

END-OF-SELECTION.
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  OPEN_INPUT_OUTPUT_FILES
*&amp;amp;---------------------------------------------------------------------*

FORM open_input_output_files.

  PERFORM open_input_file.
  PERFORM open_output_error_file.

ENDFORM.                    " OPEN_INPUT_OUTPUT_FILES

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  CREATE_BDC_SESSION
*&amp;amp;---------------------------------------------------------------------*
FORM create_bdc_session.

  PERFORM open_group.

  i_xleg[] = i_leg[].

  LOOP AT i_leg.
    IF i_leg-po_nm = i_xleg-po_nm.
      SKIP.
    ELSE.
      PERFORM read_xref_tables.
*-- First screen
      CLEAR w_insert_line.
      PERFORM bdc_dynpro      USING 'SAPMM06E'    '0100'.
      PERFORM bdc_field       USING 'BDC_CURSOR'  'RM06E-BSART'.
      PERFORM bdc_field       USING 'BDC_OKCODE'  '/00'.
      PERFORM bdc_field       USING 'EKKO-LIFNR'  i_sap-lifnr.
      PERFORM bdc_field       USING 'RM06E-BSART' c_yb.
      PERFORM bdc_field       USING 'EKKO-EKORG'  p_ekorg.
      PERFORM bdc_field       USING 'EKKO-EKGRP'  i_sap-ekgrp.

      PERFORM vendor_address.

      IF w_address EQ '3'.
        PERFORM bdc_dynpro      USING 'SAPMSSY0'    '0120'.
        PERFORM bdc_field       USING 'BDC_CURSOR'  '04/02'.
        PERFORM bdc_field       USING 'BDC_OKCODE'  '=SELV'.
        PERFORM bdc_dynpro      USING 'SAPMSSY0'    '0120'.
        PERFORM bdc_field       USING 'BDC_CURSOR'  '04/02'.
        PERFORM bdc_field       USING 'BDC_OKCODE'  '=SELV'.
        PERFORM bdc_dynpro      USING 'SAPMSSY0'    '0120'.
        PERFORM bdc_field       USING 'BDC_CURSOR'  '04/02'.
        PERFORM bdc_field       USING 'BDC_OKCODE'  '=SELV'.
      ENDIF.

      IF w_address EQ '2'.
        PERFORM bdc_dynpro      USING 'SAPMSSY0'    '0120'.
        PERFORM bdc_field       USING 'BDC_CURSOR'  '04/02'.
        PERFORM bdc_field       USING 'BDC_OKCODE'  '=SELV'.
        PERFORM bdc_dynpro      USING 'SAPMSSY0'    '0120'.
        PERFORM bdc_field       USING 'BDC_CURSOR'  '04/02'.
        PERFORM bdc_field       USING 'BDC_OKCODE'  '=SELV'.

      ENDIF.
      IF w_address EQ '1'.
        PERFORM bdc_dynpro      USING 'SAPMSSY0'    '0120'.
        PERFORM bdc_field       USING 'BDC_CURSOR'  '04/02'.
        PERFORM bdc_field       USING 'BDC_OKCODE'  '=SELV'.
      ENDIF.

      PERFORM bdc_dynpro      USING 'SAPMM06E'    '0120'.
      PERFORM bdc_field       USING 'BDC_CURSOR'  'RM06E-EBELP'.
      PERFORM bdc_field       USING 'BDC_OKCODE'  '=KOPF'.

      PERFORM bdc_dynpro      USING 'SAPMM06E'    '0101'.
      PERFORM bdc_field       USING 'BDC_CURSOR'  'EKKO-VERKF'.
      PERFORM bdc_field       USING 'BDC_OKCODE'  'AB'.
      PERFORM bdc_field       USING 'EKKO-VERKF'  i_leg-po_nm.
      PERFORM bdc_field       USING 'EKKO-ZTERM'  i_sap-zterm.
      PERFORM bdc_field       USING 'EKKO-SPRAS'  'EN'.
      PERFORM bdc_field       USING 'BDC_SUBSCR'  'SAPLXM06'.

      PERFORM record_counter.

      LOOP AT i_xleg WHERE po_nm EQ i_leg-po_nm.
*        w_count = w_count + 1.
        WRITE: i_leg-del_date TO w_del_date YYMMDD.
        CONCATENATE '20' w_del_date INTO w_del_date.
        MOVE w_del_date(4) TO w_year.
        MOVE w_del_date+4(2) TO w_date.
        MOVE w_del_date+6(2) TO w_mon.
        CONCATENATE w_date '/' w_mon '/' w_year INTO w_del_date.

        PERFORM item_xref_tables.

        IF w_insert_line EQ space.
*-- Second Screen Line # 1
          PERFORM bdc_dynpro  USING 'SAPMM06E' '0120'.
          PERFORM bdc_field   USING 'BDC_CURSOR'  i_eeind.
          PERFORM bdc_field   USING 'BDC_OKCODE'  '/00'.
*          PERFORM bdc_field   USING i_bstpo  w_item.
          PERFORM bdc_field   USING i_epstp  'D'.
          PERFORM bdc_field   USING i_knttp  'K'.
          PERFORM bdc_field   USING i_txz01  i_sap-txz01.
          PERFORM bdc_field   USING i_eeind  w_del_date.
          PERFORM bdc_field   USING i_netpr  i_sap-netprice.
          PERFORM bdc_field   USING i_matkl  '25080400'.
          PERFORM bdc_field   USING i_werks  i_sap-werks.
**-- Second Screen Line # 2 Onwards.
        ELSE.
*--- Call Insert Line.
          PERFORM line_item_data.

          IF i_epstp-field3 GT c_loop.
            PERFORM bdc_dynpro   USING 'SAPMM06E' '0120'.
            PERFORM bdc_field    USING 'BDC_CURSOR'  'RM06E-EBELP'.
            PERFORM bdc_field    USING 'BDC_OKCODE'  '=NP'.
            PERFORM record_counter.
            PERFORM line_item_data.
          ENDIF.

          PERFORM bdc_dynpro   USING 'SAPMM06E' '0120'.
          PERFORM bdc_field    USING 'BDC_CURSOR'  i_eeind.
          PERFORM bdc_field    USING 'BDC_OKCODE'  '/00'.
*          PERFORM bdc_field    USING i_bstpo  w_item.
          PERFORM bdc_field    USING i_epstp  'D'.
          PERFORM bdc_field    USING i_knttp  'K'.
          PERFORM bdc_field    USING i_txz01  i_sap-txz01.
          PERFORM bdc_field    USING i_eeind  w_del_date.
          PERFORM bdc_field    USING i_netpr  i_sap-netprice.
          PERFORM bdc_field    USING i_matkl  '25080400'.
          PERFORM bdc_field    USING i_werks  i_sap-werks.
        ENDIF.
        w_insert_line = 'X'.
*-- Third Screen.
        PERFORM bdc_dynpro      USING 'SAPLMLSP'    '0200'.
        PERFORM bdc_field       USING 'BDC_OKCODE'  '/00'.
        PERFORM bdc_field       USING 'BDC_SUBSCR'  'SAPLMLSP'.
        PERFORM bdc_field       USING 'BDC_SUBSCR'  'SAPLMLSL'.
        PERFORM bdc_field       USING 'BDC_SUBSCR'  'SAPLMLSL'.
        PERFORM bdc_field       USING 'BDC_SUBSCR'  'SAPLMLSP'.
        PERFORM bdc_field       USING 'BDC_CURSOR'  'ESLL-TBTWR(01)'.
        PERFORM bdc_field       USING i_ktext1 i_sap-txz01.
        PERFORM bdc_field       USING i_menge  i_xleg-quant.
        PERFORM bdc_field       USING i_meins  'PU'.
        PERFORM bdc_field       USING i_tbtwr  i_sap-netprice.

        PERFORM bdc_dynpro      USING 'SAPLMLSK'    '0200'.
        PERFORM bdc_field       USING 'BDC_CURSOR'  'ESKN-SAKTO(01)'.
        PERFORM bdc_field       USING 'BDC_OKCODE'  '/00'.
        PERFORM bdc_field       USING i_mkntm  w_quant.
        PERFORM bdc_field       USING i_kostl  w_costcenter.
        PERFORM bdc_field       USING i_sakto  w_glaccount.

        PERFORM bdc_dynpro      USING 'SAPLMLSK'    '0200'.
        PERFORM bdc_field       USING 'BDC_CURSOR'  'ESLL-INTROW'.
        PERFORM bdc_field       USING 'BDC_OKCODE'  '=BACK'.

        PERFORM bdc_dynpro      USING 'SAPLMLSP'    '0200'.
        PERFORM bdc_field       USING 'BDC_OKCODE'  '=ESB'.
        PERFORM bdc_field       USING 'BDC_SUBSCR'  'SAPLMLSP'.
        PERFORM bdc_field       USING 'BDC_SUBSCR'  'SAPLMLSL'.
        PERFORM bdc_field       USING 'BDC_SUBSCR'  'SAPLMLSL'.
        PERFORM bdc_field       USING 'BDC_SUBSCR'  'SAPLMLSP'.
        PERFORM bdc_field       USING 'BDC_CURSOR'  'ESLL-KTEXT1(01)'.
        ENDLOOP.
        PERFORM bdc_dynpro      USING 'SAPMM06E' '0120'.
        PERFORM bdc_field       USING 'BDC_OKCODE'  '=BU'.
        PERFORM bdc_transaction USING 'ME21'.
    ENDIF.
  ENDLOOP.
  PERFORM close_group.

ENDFORM.                    " CREATE_BDC_SESSION

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  WRITE_RESULTS
*&amp;amp;---------------------------------------------------------------------*
FORM write_results.

  WRITE: text-tx5, w_input_rec_count.
ENDFORM.                    " WRITE_RESULTS

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  OPEN_INPUT_FILE
*&amp;amp;---------------------------------------------------------------------*
FORM open_input_file.
  OPEN DATASET p_input FOR INPUT IN TEXT MODE.
  IF sy-subrc &amp;lt;&amp;gt; 0.
    MESSAGE e000 WITH p_input.
  ENDIF.
  DO.
    READ DATASET p_input INTO i_record_buffer.
    IF sy-subrc &amp;lt;&amp;gt; 0.
      EXIT.
    ELSE.
      SPLIT i_record_buffer-record_buffer AT  c_delimiter INTO
                                                i_leg-po_nm
                                                i_leg-byrc
                                                i_leg-vendor
                                                i_leg-po_date
                                                i_leg-cur
                                                i_leg-zterm
                                                i_leg-fob
                                                i_leg-mat
                                                i_leg-mat_pck
                                                i_leg-quant
                                                i_leg-u_meas
                                                i_leg-del_date
                                                i_leg-ven_mat
                                                i_leg-net_pr
                                                i_leg-ship_via
                                                i_leg-del_loc
                                                i_leg-dist_acc
                                                i_leg-txz01
                                                i_leg-recip
                                                i_leg-line_cd
                                                i_leg-comp
                                                i_leg-line_num
                                                i_leg-indicator
                                                i_leg-projnbr
                                                i_leg-works
                                                i_leg-work_ord
                                                i_leg-wbs
                                                i_leg-cost_elem
                                                i_leg-xref_wbs
                                                i_leg-percent
                                                i_leg-filler
                                                i_leg-gl_act
                                                i_leg-label
                                                i_leg-iwg_warehouse
                                                i_leg-cost_cen
                                                i_leg-expence_cl
                                                i_leg-tax_code
                                                i_leg-quan_gr
                                                i_leg-amt_gr
                                                i_leg-quan_fi
                                                i_leg-amt_fi
"Added by Naren Somen
                                                i_leg-site.
*                                                i_leg-flag
*                                                i_leg-commit_amt.
      APPEND i_leg.
    ENDIF.
  ENDDO.
  DESCRIBE TABLE i_leg LINES w_input_rec_count.
  CLOSE DATASET p_input.

ENDFORM.                    " OPEN_INPUT_FILE

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  OPEN_OUTPUT_ERROR_FILE
*&amp;amp;---------------------------------------------------------------------*

FORM open_output_error_file.
  OPEN DATASET p_error FOR OUTPUT IN TEXT MODE.
  IF sy-subrc &amp;lt;&amp;gt; 0.
    MESSAGE e001 WITH p_error.
  ENDIF.
ENDFORM.                    " OPEN_OUTPUT_ERROR_FILE

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  OPEN_GROUP
*&amp;amp;---------------------------------------------------------------------*

FORM open_group.
  CALL FUNCTION 'BDC_OPEN_GROUP'
       EXPORTING
            client = sy-mandt
            group  = p_sess
            user   = p_uname
            keep   = 'X'.
ENDFORM.                    " OPEN_GROUP

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  BDC_DYNPRO
*&amp;amp;---------------------------------------------------------------------*
FORM bdc_dynpro USING  program  dynpro.
  CLEAR bdcdata.
  bdcdata-program  = program.
  bdcdata-dynpro   = dynpro.
  bdcdata-dynbegin = w_flg.
  APPEND bdcdata.
  CLEAR bdcdata.
ENDFORM.                               " BDC_DYNPRO

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  BDC_FIELD
*&amp;amp;---------------------------------------------------------------------*
FORM bdc_field USING fnam fval.
  CLEAR bdcdata.
  bdcdata-fnam = fnam.
  bdcdata-fval = fval.
  APPEND bdcdata.
  CLEAR bdcdata.
ENDFORM.                               " BDC_FIELD

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  BDC_transaction
*&amp;amp;---------------------------------------------------------------------*
FORM bdc_transaction USING tran_code.
  CALL FUNCTION 'BDC_INSERT'
       EXPORTING
            tcode     = tran_code
       TABLES
            dynprotab = bdcdata.
  CLEAR bdcdata.
  REFRESH bdcdata.
ENDFORM.                               " BDC_TRANSACTION
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  CLOSE_GROUP
*&amp;amp;---------------------------------------------------------------------*

FORM close_group.
  CALL FUNCTION 'BDC_CLOSE_GROUP'
       EXCEPTIONS
            not_open    = 0
            queue_error = 0
            OTHERS      = 0.
ENDFORM.                               " CLOSE_GROUP

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  READ_XREF_TABLES
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM read_xref_tables.

  CLEAR i_sap.
  PERFORM convert_pur_group            USING i_leg-byrc.
  PERFORM convert_vendor               USING i_leg-vendor.
  PERFORM convert_payterm              USING i_leg-zterm.

ENDFORM.                    " READ_XREF_TABLES

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  CONVERT_PUR_GROUP
*&amp;amp;---------------------------------------------------------------------*
FORM convert_pur_group USING    p_byrc.

  SELECT SINGLE ekgrp FROM /bay2/u7emxrbuyr
     INTO w_purgrp
     WHERE system_id EQ c_185 AND leginp_cd EQ p_byrc.

  IF sy-subrc EQ 0.
    MOVE w_purgrp TO i_sap-ekgrp.
    CLEAR w_purgrp.
  ENDIF.

ENDFORM.                    " CONVERT_PUR_GROUP

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  CONVERT_VENDOR
*&amp;amp;---------------------------------------------------------------------*
FORM convert_vendor USING    p_vendor.

  DATA : w_venfamily(8) TYPE c,
         w_vendor_temp(7) TYPE c,
         wa_vendor TYPE /bay2/u7pxxrvend,
         wa_vendor1 TYPE /bay2/u7pxxrvend.
  CLEAR: w_vendor, w_venfamily, w_vendor_temp.

* Select with Full Vendor Number
  SELECT SINGLE * FROM /bay2/u7pxxrvend INTO wa_vendor
      WHERE leg_ven_num EQ p_vendor AND system_id = c_185.

  IF sy-subrc EQ 0.
    IF wa_vendor-ktokk EQ 'YKRD'.
      MOVE wa_vendor-lifnr TO w_vendor.
    ELSE.     " IF YSUP
* Select the YKRD for corrusponding YSUP from WYT3
      SELECT ekorg lifnr
      INTO (wyt3-ekorg, wyt3-lifnr)
      FROM wyt3
      WHERE
      lifn2 EQ wa_vendor-lifnr.
        SELECT SINGLE lifnr
        INTO w_vendor
        FROM wyt3
        WHERE lifnr EQ wyt3-lifnr AND
              ekorg EQ wyt3-ekorg AND
              parvw EQ 'LF'.
        IF sy-subrc EQ 0.
          EXIT.
        ENDIF.
      ENDSELECT.                " SELECT ekorg lifnr
    ENDIF.                      " IF wa_vendor-ktokk EQ 'YKRD'.
  ENDIF.                        " IF SY-SUBRC EQ 0.

  IF w_vendor IS  INITIAL.
* Select YKRD with Legacy Vendor Family Number
    MOVE p_vendor TO w_vendor_temp.
    CONCATENATE w_vendor_temp '%' INTO w_venfamily.
    SELECT SINGLE * FROM /bay2/u7pxxrvend INTO wa_vendor1
            WHERE leg_ven_num LIKE w_venfamily AND
            ktokk EQ 'YKRD' AND system_id = c_185.
    IF sy-subrc EQ 0.
      MOVE wa_vendor1-lifnr TO w_vendor.
      MOVE w_vendor TO i_sap-lifnr.
    ELSE.
      CONCATENATE p_vendor 'X' INTO i_sap-lifnr.
    ENDIF.
  ELSE.
    MOVE w_vendor TO i_sap-lifnr.
  ENDIF.


ENDFORM.                    " CONVERT_VENDOR

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  CONVERT_PAYTERM
*&amp;amp;---------------------------------------------------------------------*
FORM convert_payterm USING    p_i_leg01_trms_code.

  SELECT SINGLE zterm
  INTO w_payterm
  FROM /bay2/u7emcpterm
  WHERE legpterm EQ p_i_leg01_trms_code AND system_id = c_185.

  IF sy-subrc = 0.
    MOVE w_payterm TO i_sap-zterm.
    CLEAR w_payterm.
  ENDIF.

ENDFORM.                    " CONVERT_PAYTERM

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  CONVERT_PLANT
*&amp;amp;---------------------------------------------------------------------*
FORM convert_plant USING p_works.

  SELECT SINGLE werks FROM /bay2/u7smcpwerk
     INTO w_plant
     WHERE system_id EQ c_185
     AND legwerks EQ p_works.

  IF sy-subrc = 0.
    MOVE w_plant TO i_sap-werks.
  ENDIF.

ENDFORM.                    " CONVERT_PLANT

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  VENDOR_ADDRESS
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM vendor_address.
  REFRESH i_wyt3.

  SELECT * FROM wyt3 INTO i_wyt3
  WHERE lifnr EQ i_sap-lifnr
  AND parza = c_partner_counter.
    APPEND i_wyt3.
    CLEAR i_wyt3.
  ENDSELECT.

  DESCRIBE TABLE i_wyt3 LINES w_address.

ENDFORM.                    " VENDOR_ADDRESS

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  ITEM_XREF_TABLES
*&amp;amp;---------------------------------------------------------------------*
FORM item_xref_tables.

  PERFORM convert_plant                USING i_xleg-works.
  PERFORM convert_costcenter           USING i_xleg-cost_cen
i_xleg-works.
  PERFORM convert_glacc                USING i_xleg-expence_cl.

  MOVE: i_xleg-txz01(40) TO i_sap-txz01,
        i_xleg-po_nm TO i_sap-po_nm,
        i_xleg-filler+3(14) TO i_sap-netprice.
*        i_xleg-commit_amt TO i_sap-commit_amt.

ENDFORM.                    " ITEM_XREF_TABLES

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  RECORD_COUNTER
*&amp;amp;---------------------------------------------------------------------*
FORM record_counter.

  i_epstp-field3 = 1.
  i_knttp-field3 = 1.
  i_txz01-field3 = 1.
  i_eeind-field3 = 1.
  i_netpr-field3 = 1.
  i_matkl-field3 = 1.
  i_werks-field3 = 1.
  i_ktext1-field3 = 1.
  i_meins-field3 = 1.
  i_menge-field3 = 1.
  i_tbtwr-field3 = 1.
  i_mkntm-field3 = 1.
  i_kostl-field3 = 1.
  i_sakto-field3 = 1.
  i_ekpo_meins-field3 = 1.
  i_ekpo_menge-field3 = 1.
  w_count = 0.

ENDFORM.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  LINE_ITEM_DATA
*&amp;amp;---------------------------------------------------------------------*
FORM line_item_data.

   i_epstp-field3 = i_epstp-field3 + 1.
   i_knttp-field3 = i_knttp-field3 + 1.
   i_txz01-field3 = i_txz01-field3 + 1.
   i_eeind-field3 = i_eeind-field3 + 1.
   i_netpr-field3 = i_netpr-field3 + 1.
   i_matkl-field3 = i_matkl-field3 + 1.
   i_werks-field3 = i_werks-field3 + 1.
   i_ekpo_menge-field3 = i_ekpo_menge-field3 + 1.
   i_ekpo_meins-field3 = i_ekpo_meins-field3 + 1.
   w_item = w_item + 10.

ENDFORM.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  CONVERT_COSTCENTER
*&amp;amp;---------------------------------------------------------------------*
FORM convert_costcenter           USING p_costcenter p_works.

   CONCATENATE c_sq p_works p_costcenter c_zero INTO w_costcenter.

ENDFORM.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  CONVERT_COSTCENTER
*&amp;amp;---------------------------------------------------------------------*
FORM convert_glacc                USING w_expence_cl.

   SELECT SINGLE kstar FROM /bay2/u7sxcrecce INTO i_kstar-kstar WHERE
leginp_cd EQ w_expence_cl.

   MOVE i_kstar-kstar TO w_glaccount.

ENDFORM.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Jun 2006 20:30:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-problem-pls-help/m-p/1291679#M155579</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-07T20:30:59Z</dc:date>
    </item>
    <item>
      <title>Re: BDC Problem , Pls help</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-problem-pls-help/m-p/1291680#M155580</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;For subscrens, usually you've to use the main screen program name and screen number. &lt;/P&gt;&lt;P&gt;See the technical info of that field, use the program name, screen#, and field name from field description for batchinput, see if it works.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Sridhar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Jun 2006 21:32:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-problem-pls-help/m-p/1291680#M155580</guid>
      <dc:creator>sridhar_k1</dc:creator>
      <dc:date>2006-06-07T21:32:57Z</dc:date>
    </item>
    <item>
      <title>Re: BDC Problem , Pls help</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-problem-pls-help/m-p/1291681#M155581</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi sharma , &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; why dont u try with BAPIs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
BAPI_ROUTING_CREATE            Creation of a routing                                                  
BAPI_ROUTING_EXISTENCE_CHECK   Check whether routing exists                                           
IDOC_INPUT_ROUTING_CREATE                                                                             
ROUTING_CLEARBUFFER                                                                                
ROUTING_DISPLAY                                                                                
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Jun 2006 05:25:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-problem-pls-help/m-p/1291681#M155581</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-08T05:25:17Z</dc:date>
    </item>
    <item>
      <title>Re: BDC Problem , Pls help</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-problem-pls-help/m-p/1291682#M155582</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;Try to Record it using SHDB tansaction Properly with out errors, and get the Code from recording that will give clear idea about the screen numbers and screen fields&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;vijay&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Jun 2006 05:40:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-problem-pls-help/m-p/1291682#M155582</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-08T05:40:02Z</dc:date>
    </item>
    <item>
      <title>Re: BDC Problem , Pls help</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-problem-pls-help/m-p/1291683#M155583</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI,&lt;/P&gt;&lt;P&gt;  No need to handle subscreen while doing BDC.you can just use your Screen number and Program name like normal screen.Dont worry about subscreen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Bujji.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Jun 2006 05:58:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-problem-pls-help/m-p/1291683#M155583</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-08T05:58:04Z</dc:date>
    </item>
  </channel>
</rss>

