BDC  Intervew Question.

Hai Gurs.
One intervew Question
In BDC requriment which one  you going to choose to do
1) session method     or
2) Call Tranaction method.
if you choose perticually -
  that one mean why ?

Hi,
Depending on the requiremnet u need to go for the type of the method  read below given breif discription about different methods:
To perform data migration from legacy database to new SAP database, BDCs are used. There are three methods in BDC as follows:
1. DIRECT INPUT METHOD
2. CALL TRANSACTION METHOD
3. SESSION METHOD
There are predefined tools used to perform data migration in SAP. They are:
1. RECORDING METHOD (SHDB)
2. LEGACY SYSTEM MIGRATION WORKBENCH (LSMW)
FUNCTION MODULES USED IN BDC:
1. UPLOAD
2. BDC_OPEN_GROUP
3. BDC_INSERT
4. BDC_CLOSE_GROUP
DIRECT INPUT METHOD:
This method is used to perform bulk data transfer from the flat file into the database table.
During data transfer, no manual intervention is required.
ERROR RECORDS:
Records already existing in the database table are called as Error Records. Such Error Records can be handled efficiently using CALL TRANSACTION statement.
ADVANTAGES OF DIRECT INPUT METHOD:
1. We can perform data migration for large number of records.
2. No manual intervention is required during data transfer.
3. Data migration is very fast using this method.
DISADVANTAGES:
1. Error Records cannot be modified during runtime.
CALL TRANSACTION METHOD:
The error records from the flat file can be handled using this method. Whenever SAP comes across error records, these are displayed in a user-defined screen.
CALL TRANSACTION <tcode> statement is used to call the user-defined screen to populate the error records.
3. BDC SESSION METHOD:
Function modules used in SESSION METHOD are:
1. BDC_OPEN_GROUP - This FM is used to create a session with flat file records in the Application Server. While creating session using this FM, we have to specify the CLIENT NUMBER, USERNAME and SESSION NAME.
2. BDC_INSERT - This FM is used to insert the internal table records into the session created in AS.
3. BDC_CLOSE_GROUP - This FM is used to save and activate the session to be processed later.
Regards,
kavitha.

Similar Messages

  • Bdc realtime question

    Can u send some faq in bdc

    http://www.sap-basis-abap.com/sapab038.htm
    http://www.geekinterview.com/Interview-Questions/SAP-R-3/BDC
    http://www.sap-img.com/bdc.htm
    http://www.erpgenie.com/faq/abap.htm#B%20D%20C
    hope thie helps.
    A

  • Can anybody pls tell me  limitations of BDC Session & Call transaction?

    hi, Guys, this is srinivas.
    How can we deside which method is to(BDC session/ Call transaction)
    use to upload data to SAP database?
    Can we run Call Transaction in Background?
    Which is preferable for bulk data? and Why?
    how can we restart Session if any error occurs?
    Thanku?

    Hi,
    Hope it helps this......
    SAP BDC INTERVIEW QUESTIONS  & ANSWERS
    1.       What is full form of BDC Session?
    Batch Data Communication Session.
    2.       What are the steps in a BDC session?
    The first step in a BDC session is to identify the screens of the transaction that the program will process.  Next step is to write a program to build the BDC table that will be used to submit the data to SAP.  The final step is to submit the BDC table to the system in the batch mode or as a single transaction by the CALL TRANSACTION command.
    3.       How do you find the information on the current screen?
    The information on the current screen can be found by SYSTEM à STATUS command from any menu.
    4.       How do you save data in BDC tables?
    The data in BDC tables is saved by using the field name ‘BDC_OKCODE’ and field value of ‘/11’.
    5.       What is the last entry in all BDC tables?
    In all BDC tables the last entry is to save the data by using the field name BDC_OKCODE and a field value of ‘/11’.
    6.       What is a multiple line field?
    A multiple line field is a special kind of field which allows the user to enter multiple lines of data into it.
    7.       How do you populate data into a multiple line field?
    To populate data into a multiple line field, an index is added to the field name to indicate which line is to be populated by the BDC session (Line index).
    8.       Write the BDC table structure.
    BDC table structure
    FIELD                     TYPE                            DESCRIPTION
    Program                CHAR (8)                      Program name of transaction.
    DynPro                 CHAR (4)                      Screen number of transaction.
    DynBegin              CHAR (1)                      Indicator for new screen.
    Fnam                    CHAR (35)                     Name of database field from screen.
    Fval                      CHAR (80)                     Value to submit to field.
    9.       Does the CALL TRANSACTION method allow multiple transactions to be processed by SAP?
    No.  The CALL TRANSACTION method allows only a single transaction to be processed by SAP.
    10.    Does the BDC-INSERT function allow multiple transactions to be processed by SAP?
    Yes.
    11.    What is the syntax for ‘CALL TRANSACTION’?
    CALL TRANSACTION trans .
    Three possible entries are there for MODE.
                      A          -           Show all screens.
                      E          -           Show only screens with errors.
                      N          -           Show no screens.
    Regards,
    V.Balaji
    Reward if usefull

  • BDC session method tcode

    hi
    can anyone give me q asked on BDc session metod and call transtion method
    and what is tcode to check the session ..created?
    regards
    Arora

    Hi,
    Check this links..
    http://www.geekinterview.com/Interview-Questions/SAP-R-3/BDC
    http://www.akaas.net/faq/sap/bdc-questions.htm
    http://techpreparation.com/sap-bdc-interview-questions-answers.htm
    http://www.ittestpapers.com/articles/597/1/SAP-BDC-Interview-Questions-and-Answers/Page1.html
    Regards,
    Omkar.

  • To run a program in BACKGROUND using SUBMIT

    I need to run a program in background using the SUBMIT option. Here i have to pass an internal table form one program to another which will be used to update sales orders using BDC.
    Questions
    1} Can we execute a program in background using SUBMIT?
    2} I am sending data to a MEMORY ID , if i run the program in background will the memory id work. As in do  memory IDs work in the background.
    Thanks in Advance

    refer  same thread.
    Re: Problem with SUBMIT in Background

  • Need change Batch input transaction me21

    Hi all,
    I have to modify a existing report that load data via bdc,
    i have to add ekko-wkurs field in bdc.
    my question is, after put the field wkurs in internal table with other data, how can modify the bdc?
    writing this:  perform bdc_field       using 'EKKO-WKURS'
                                           tab-01-tst-cambio.
    and if it the right way, where I exactly put this piece of program?
    I paste a piece of report where I put this:
    perform bdc_dynpro      using 'SAPMM06E' '0100'.
        perform bdc_field       using 'EKKO-LIFNR'
                                      TAB-01-TST-CODICE_FORNITORE.
        perform bdc_field       using 'RM06E-BSART'
                                      'ZAPI'.
        perform bdc_field       using 'RM06E-BEDAT'
                                      TAB-01-TST-DATA_ODA.
        perform bdc_field       using 'RM06E-BSTNR'
                                       TAB-01-TST-NUM_ODA.
        perform bdc_field       using 'EKKO-EKORG'
                                      'Z535'.
        perform bdc_field       using 'EKKO-EKGRP'
                                      'Z34'.
        PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      '/00'.
        perform bdc_dynpro      using 'SAPMM06E' '0514'.
        perform bdc_field       using 'EKKO-BUKRS'
                                      TAB-01-TST-SOCIETA.
        PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      'ENTE'.
        perform bdc_dynpro      using 'SAPMM06E' '0120'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '=KOPF'.
        perform bdc_dynpro      using 'SAPMM06E' '0101'.
        perform bdc_field       using 'EKKO-ZTERM'
                                      TAB-01-TST-CON_PAG.
        perform bdc_field       using 'EKKO-WAERS'
                                      TAB-01-TST-DIV_ODA.
    aggiunta del campo wkurs
        PERFORM BDC_FIELD       USING 'EKKO-WKURS'
                                      TAB-01-TST-CAMBIO.
        PERFORM BDC_FIELD       USING 'EKKO-IHREZ'
                                      'CONVERSIONE'.
        perform bdc_field       using 'BDC_OKCODE'
                                      'AB'.
    thanks all.

    Hi Fabrizio
    I believe It's right what you have done:
    If this is old code:
    perform bdc_dynpro using 'SAPMM06E' '0101'.
    perform bdc_field using 'EKKO-ZTERM' TAB-01-TST-CON_PAG.
    perform bdc_field using 'EKKO-WAERS' TAB-01-TST-DIV_ODA.
    It's right to add your new code here
    PERFORM BDC_FIELD USING 'EKKO-WKURS' TAB-01-TST-CAMBIO.
    Infact the field 'EKKO-WKURS' is in screen SAPMM06E0101 so it's right place the code where the field of that screen are filled.
    Max

  • Suggestions for Functional module

    Hello experts,
           I Have done B.Sc(Mathematics) and MCA & have learnt SAP/ABAP but do not have any real time project experience,now my problem is i want to go in SAP/SD module but i do not have any have any domain knowledge as such.Can i begin my career in SAP/SD(functional) module as a fresher starting from the first step,will i be able to do it? UR suggestions are very much important for me coz i am in dilemma.plz help me.
    thnks n regards,
    Ashmita.

    Dear,
    First of all Its good - IF you have 2 areas of knowledge in SAP ERP.
    Secondly most functional areas in SAP required minimum real time experience in each areas. Atleast minimum know about process, steps involved, tasks performed in any funcational area you choose.
    The second part is obtaining a real time job in your expertise area. Everyone are a fresher once and only thing you have to keep in mind is - FACE INTERVEW QUESTIONS AND ANSWER THEM CORRECTLY WITH CONFIDENCE. The client has to get confidence that you can achieve something on your own for their requirments.
    GOOD LUCK and GO AHEAD. Concentrate on each and every topic and try to compare them with real time process with imagination and how they related in ERP.
    Regards,
    Syed Hussain.

  • Follow-up question for Chris H on longtext in BDC for IW31

    Chris -
    Here's the relevant part of my code:
    PERFORM DYNPRO USING:
    'X' 'SAPLCOIH'          '3000',            "
    ' ' 'CAUFVD-KTEXT   '   SCRN_PROBLEM1,     " 1st line problem text
    ' ' 'CAUFVD-ANLZU   '   CAUFVD-ANLZU,      " System condition
    ' ' 'BDC_OKCODE'       '=LTXK'.            "
    LOOP AT i_txt INTO wa_txt.
      v_txtln_ctr_n = sy-tabix + 2.    " Chris - note that I'm bumping to "3" here
      v_txtln_ctr_c = v_txtln_ctr_n.
      CONCATENATE 'RSTXT-TXLINE('
                  v_txtln_ctr_c
             INTO v_bdc_txtln_lit.
      CONDENSE v_bdc_txtln_lit NO-GAPS.
      PERFORM DYNPRO USING:
        'X' 'SAPLSTXX'          '1100',              "
        ' ' v_bdc_txtln_lit     wa_txt,              " line of problem text
        ' ' 'BDC_OKCODE'        '=ENTR'.             "
    ENDLOOP.
    This actually works - it creates an order in which the long text begins with what is in the variable SCRN_PROBLEM1 and continues with what is in i_txt concatenated together.  So I get, for example:
    "This is the short description. a b c d e"
    where:
    scrn_problem1 = 'This is the short description'
    row 1 of i_txt = 'a'
    row 2 of i_txt = 'b'
    row 3 of i_txt = 'c'
    row 4 of i_txt = 'd'
    row 5 of i_txt = 'e'
    The only problem is that the BDC doesn't go thru on its own.  When I change 'N' to 'E', the BDC brings up a screen with the title:
    "Change order text header Alternative Language EN"
    Then, when I just "back-arrow" from this, the BDC does complete successfully and I can see the correct text saved for the order in IW32.
    What am I doing wrong to cause this "change order text header" screen to come up?  Is it the "LTXK" value of the OK-CODE in the first dynpro call above?
    Or maybe something with my default user parameters?  I had to set quite a few of these in order to get the BDC to go with just a system, priority, and short text/long text.
    I'm really hoping you can see what's going on here because I'm at a loss.
    Thanks for whatever help you can provide.  You seem to have coded this BDC before, so that's why I'm directing this question to you.
    BTW, I'd try the BAPI except the documentation specifically says it won't observe user default parameters and this is a must in our situation.
    Thanks again
    Dave

    Chris/Rich -
    My suspicion was correct.  In the last loop over the longtext itab, the ok_code must be 'TXBA', not 'ENTR'.
    Here's the code that works without any 'E' interruptions:
    PERFORM DYNPRO USING:
    'X' 'SAPLCOIH'          '3000',            "
    ' ' 'CAUFVD-KTEXT   '   SCRN_PROBLEM1,     " 1st line problem text
    ' ' 'CAUFVD-ANLZU   '   CAUFVD-ANLZU,      " System condition
    ' ' 'BDC_OKCODE'       '=LTXK'.            "
    DESCRIBE TABLE i_txt LINES v_txt_cnt.
    LOOP AT i_txt INTO wa_txt.
      v_txtln_ctr_n = sy-tabix + 2.
      v_txtln_ctr_c = v_txtln_ctr_n.
      CONCATENATE 'RSTXT-TXLINE('
                  v_txtln_ctr_c
             INTO v_bdc_txtln_lit.
      CONDENSE v_bdc_txtln_lit NO-GAPS.
      IF sy-tabix = v_txt_cnt.
        v_txt_ok = '=TXBA'.                    " no more text lines coming
      ELSE.
        v_txt_ok = '=ENTR'.                    " more text lines coming
      ENDIF.
      PERFORM DYNPRO USING:
        'X' 'SAPLSTXX'          '1100',       
        ' ' v_bdc_txtln_lit     wa_txt,        " line of problem text
        ' ' 'BDC_OKCODE'        v_txt_ok.      " ok_code
    ENDLOOP.
    The result is that the longtest display in IW32 will be what's in "SCRN_PROBLEM1" followed by all the lines that are in i_txt.
    Reagrds
    djh

  • Multiple questions on BDC

    Hi everyone
    I have multiple questions on BDC.Would u please answer them with explanations ASAP...
    1. How do you create a batch input session for a transaction?
    a) We create a bdc and use &#8216;call transaction&#8217; in background mode.
    b) We create a bdc and use &#8216;call transaction&#8217; in error mode.
    c) We create a bdc and use &#8216;bdc_insert&#8217; for the transaction.
    d) None of the above.
    2. What is the alternative to batch input session?
    a) Load module
    b) Call transaction
    c) BAPI
    d) Idoc segment
    3. Which SAP table stores the BDC session queue information?
    a) APQD
    b) APQL
    c) APQQ
    d) APQI
    4. Which program can be used to release BDC sessions within a job?
    a) RSBDCSUB
    b) RSBDCJOB
    c) RSSUBBDC
    d) BDCRECXX
    5. Which one of the following is output to the job log when included in an ABAP program running in the background?
    a) Write statements
    b) message statements
    c) report parameters
    d) Submit statements
    6. Your program specs call for you to read the first 10 records from a text file (fname1), and write them out to another text file (fname2).
    Which block of code will accomplish the result desired in the above scenario?
    a) Open dataset fname2 for input in text mode.
    Do 10 times.
    Read dataset fname1 into hold_var.
    Transfer hold_var to fname2.
    Enddo.
    b) open file fname1 for output.
    Open file fname2 for input.
    Read dataset fname1 into hold_var 10 times.
    Transfer hold_var to fname2.
    c) open file fname1 for input.
    Open file fname2 for output.
    Do 10 times.
    Read file fname1 into hold_var.
    Transfer hold_var into fname2.
    Enddo.
    d) open dataset fname1 for input in text mode.
    Open dataset fname2 for output in text mode.
    Do 10 times.
    Read fname1 into hold_var.
    Write hold_var to fname2.
    Enddo.
    7. sy-dynpro is
    a) screen no
    b) program
    c) table
    d) field name
    8. Which of the following are NOT correct usage of BDC_cursor?
    a) To position the cursor on a particular field.
    <bdc_tab>-FNAM = 'BDC_CURSOR'.
    <bdc_tab>-FVAL = &#8216;fieldx&#8217; .
    b) To position the cursor on a particular field.
    <bdc_tab>-FNAM = &#8216;fieldx&#8217;
    <bdc_tab>-FVAL = 'BDC_CURSOR'. .
    c) For fifth row of Table control
    <bdc_tab>-FVAL = 'fieldx(5)'.
    d) For fifth row of Table control
    <bdc_tab>-FNAM = 'BDC_CURSOR(5) '.
    9. In case of background processing of a BI session, which authorization is checked?
    a) Developer of the program that schedules BI Session
    b) User who executes the BI session
    c) User who executes the program that schedules BI Session
    d) User ID that is passed to the BDC_OPN_GROUP function module inside the calling program
    10. Which of the following are TRUE about Transaction Recorder?
    a) Transaction Code is SHDB
    b) Transaction Code is SM35
    c) It can generate ABAP code for the BDC program automatically
    d) It can generate ABAP code for the Call Transaction program automatically
    Regards,
    Pratibha

    Hi,
    1) C We create a bdc and use ‘bdc_insert’ for the transaction
    2) b) Call transaction
    3. d) APQI
    4. a) RSBDCSUB
    5. b) message statements
    6. d) open dataset fname1 for input in text mode.
    Open dataset fname2 for output in text mode.
    Do 10 times.
    Read fname1 into hold_var.
    Write hold_var to fname2.
    Enddo.
    7. a) screen no
    8.  b) To position the cursor on a particular field.
    <bdc_tab>-FNAM = ‘fieldx’
    <bdc_tab>-FVAL = 'BDC_CURSOR'. .
    9.b) User who executes the BI session (or)
    c) User who executes the program that schedules BI Session
    10.  a) Transaction Code is SHDB
    c) It can generate ABAP code for the BDC program automatically
    Regards

  • BDC Questions

    Hi
    Can you give answers for these questions?
    1)What are the transactions we should use in BDC? How do we use it?
    2)How would you use BDC program to transfer material master record using MM01 transaction? Give me steps.
    3)Could we use ME21N transaction, and XK01 transaction, either which one of the transaction, or could we use both the transactions for creating purchase information.
    4)How can we use XD02 transaction to change the customer data for updating KNA1 table? Give the steps.
    5)How the transaction ME21N is used for to upload the purchase order in BDC?
    6)How many transaction we can used in BDC at a time?
    7)How the data get updated in BDC using transaction.
    8)Why BAPI need then BDC?
    Thanks
    Answers will be rewarded

    Hi,
    BDC:
    Batch Data Communication (BDC) is the process of transferring data from one SAP System to another SAP system or from a non-SAP system to SAP System.
    Features :
    BDC is an automatic procedure.
    This method is used to transfer large amount of data that is available in electronic medium.
    BDC can be used primarily when installing the SAP system and when transferring data from a legacy system (external system).
    BDC uses normal transaction codes to transfer data.
    Types of BDC :
    CLASSICAL BATCH INPUT (Session Method)
    CALL TRANSACTION
    BATCH INPUT METHOD:
    This method is also called as ‘CLASSICAL METHOD’.
    Features:
    Asynchronous processing.
    Synchronous Processing in database update.
    Transfer data for more than one transaction.
    Batch input processing log will be generated.
    During processing, no transaction is started until the previous transaction has been written to the database.
    CALL TRANSACTION METHOD :
    This is another method to transfer data from the legacy system.
    Features:
    Synchronous processing. The system performs a database commit immediately before and after the CALL TRANSACTION USING statement.
    Updating the database can be either synchronous or asynchronous. The program specifies the update type.
    Transfer data for a single transaction.
    Transfers data for a sequence of dialog screens.
    No batch input processing log is generated.
    For BDC:
    http://myweb.dal.ca/hchinni/sap/bdc_home.htm
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/bdc&
    http://www.sap-img.com/abap/learning-bdc-programming.htm
    http://www.sapdevelopment.co.uk/bdc/bdchome.htm
    http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
    http://help.sap.com/saphelp_47x200/helpdata/en/69/c250684ba111d189750000e8322d00/frameset.htm
    http://www.sapbrain.com/TUTORIALS/TECHNICAL/BDC_tutorial.html
    Check these link:
    http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
    http://www.sap-img.com/abap/question-about-bdc-program.htm
    http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/
    http://www.planetsap.com/bdc_main_page.htm
    call Transaction or session method ?
    reward if useful
    regards
    Anji

  • Question about creating association between Sharepoint BDC entities using Visual Studio 2010

    I am following this tutorial:
    http://blogs.msdn.com/b/vssharepointtoolsblog/archive/2010/08/02/walkthrough-of-creating-association-between-sharepoint-bdc-entities-using-visual-studio-2010.aspx
    I am getting the following error:
     There is an error in the TypeDescriptors of Parameters on Method with Name 'CustomerToOrder' on Entity (External Content Type) with Name 'Customer' in Namespace 'BdcAssociationSample.BdcModel1'. The TypeDescriptors incompletely define where the Foreign
    Identifiers of Entity 'Order' in Namespace 'BdcAssociationSample.BdcModel1' are to be read. That Entity expects exactly '1' Identifiers, but only '0' TypeDescriptors with the correct Association were found from which to read them.
    I have viewed the following:
    http://lightningtools.com/business_connectivity_services/the-typedescriptors-incompletely-define-where-the-identifiers-of-entity-x-are-to-be-readbcs-error/
    after reading that article, I am still not sure what setting I am missing.  Does anyone have the full working source code from the msdn article linked above?

    Hi,
    According to your post, my understanding is that you got the symbols not loaded error.
    First try rebuilding your project by right mouse click the project > Rebuild If that doesn't work, try a clean of the project (right mouse click on the project > clean)
    If that didn't work check this:
    Right mouse click your project
    select [Properties]
    select the [Build] tab
    make sure [Define DEBUG constant] and [Define TRACE constant] are checked
    Click the [Advanced] button at the bottom of the Build tabpage
    Make sure that [Debug Info:] is set to [full]
    Click [OK] and rebuild the project ;
    Hope that works for you! (step 6 generates the .pdb files, these are the debugging symbols)
    What’s more, you can clean & re-compile the code, then install the respective dlls one more time to GAC (just remove them before adding to GAC again), do an IISReset to check whether it works.
    More reference:
    http://stackoverflow.com/questions/2155930/fixing-the-breakpoint-will-not-currently-be-hit-no-symbols-have-been-loaded-fo
    http://stackoverflow.com/questions/2301216/the-breakpoint-will-not-currently-be-hit-no-symbols-have-been-loaded-for-this-d
    http://geekswithblogs.net/dbutscher/archive/2007/06/26/113472.aspx
    Thanks,
    Jason
    Forum Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Jason Guo
    TechNet Community Support

  • A question in BDC

    Hi all,
    Lets say i am uploading data using BDC.
    i am having 10 fields and the the last field should contain 5 pages of text.
    How do i do that.? what kind of data type will support this.?
    Thanking u all in advance,
    Hari Kiran

    fellas  check this out , written by
    Sakthi C----
    Hi,
    *Just declare it in string data type with large value in bracket like this,
    data : loc_var(250) type string,
    *Make sure that you last value should be saved in this local variable(loc_var) and append this variable in to a internal table and use that internal table for uploading data in the transaction.
    Thanks,
    Sakthi C
    That answers my question.
    Thank u all once again for replying,
    regards,
    Hari kiran

  • Question in BDC session method.

    Hi guys,
    I am trying to upload BOM using BDC session method.
    While doing this, i have learnt the steps by heart. But i do not understrand the logic behind the steps. For example, why do we include this statement
    Data: IT-BDC like BDCDATA occurs 0 with headerline.
    What if we don't include this statement?
    Moderator message: sorry, these forums are not targeted to provide step by step guides to beginners, please search for available information, take courses, etc.
    locked by: Thomas Zloch on Sep 10, 2010 1:06 PM

    Hello Dhirendra,
    Thanks for immediate reply. I want to understand BDC method conceptually. What exactly happens by performing each step.
    I am putting up the BDC i made. I copied some of the code from here and there. It works fine but i don't understand the purpose of BDCDATA,
    call transaction 'cs01'
    and form bdc_dynpro and form bdc_field.
    I am quite new to ABAP. Please don't mind if i ask dumb questions.
    I am unable to understand how control flows through the code logic.
    report ZBDCFORCS01
           no standard page heading line-size 255.
    *include bdcrecx1.
    DATA: IT_BDC LIKE BDCDATA OCCURS 0 WITH HEADER LINE,
          IT_MSGCOLL LIKE BDCMSGCOLL OCCURS 0.
    TYPES TRUXS_T_TEXT_DATA(4096) TYPE C OCCURS 0.
    DATA: I_TAB_RAW_DATA TYPE TRUXS_T_TEXT_DATA.
    DATA: BEGIN OF ITAB OCCURS 0,
          MATNR(18),
          WERKS(4),
          STLAN(1),
          IDNRK(18),
          MENGE(20),
          END OF ITAB.
    SELECTION-SCREEN: BEGIN OF BLOCK b1.
      PARAMETERS: CS01FILE TYPE RLGRAP-FILENAME.
    SELECTION-SCREEN: END OF BLOCK b1.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR CS01FILE.
      CALL FUNCTION 'F4_FILENAME'
       EXPORTING
         PROGRAM_NAME        = SYST-CPROG
         DYNPRO_NUMBER       = SYST-DYNNR
         FIELD_NAME          = ' '
       IMPORTING
         FILE_NAME           = CS01FILE
    start-of-selection.
    CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
      EXPORTING
      I_FIELD_SEPERATOR          =
      I_LINE_HEADER              =
        I_TAB_RAW_DATA             = I_TAB_RAW_DATA
        I_FILENAME                 = CS01FILE
      TABLES
        I_TAB_CONVERTED_DATA       = ITAB[]
    EXCEPTIONS
       CONVERSION_FAILED          = 1
       OTHERS                     = 2
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    *perform open_group.
    LOOP AT ITAB.
    perform bdc_dynpro      using 'SAPLCSDI' '0100'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RC29N-STLAN'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'RC29N-MATNR'
                                 '1400-500'.
    itab-matnr.
    perform bdc_field       using 'RC29N-WERKS'
                                 '1000'.
    itab-werks.
    perform bdc_field       using 'RC29N-STLAN'
                                 '1'.
    itab-stlan.
    perform bdc_field       using 'RC29N-DATUV'
                                  '10.09.2010'.
    perform bdc_dynpro      using 'SAPLCSDI' '0110'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'RC29K-BMENG'
                                  '1'.
    perform bdc_field       using 'RC29K-STLST'
                                  '1'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RC29K-EXSTL'.
    perform bdc_dynpro      using 'SAPLCSDI' '0111'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RC29K-LABOR'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_dynpro      using 'SAPLCSDI' '0140'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RC29P-MENGE(02)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'RC29P-IDNRK(01)'
                                 '1300-320'.
    ITAB-IDNRK.
    perform bdc_field       using 'RC29P-IDNRK(02)'
                                 '1300-312'.
    ITAB-IDNRK.
    perform bdc_field       using 'RC29P-MENGE(01)'
                                 '2'.
    ITAB-MENGE.
    perform bdc_field       using 'RC29P-MENGE(02)'
                                 '2'.
    ITAB-MENGE.
    perform bdc_dynpro      using 'SAPLCSDI' '0130'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RC29P-POSNR'.
    perform bdc_field       using 'RC29P-POSNR'
                                  '0010'.
    perform bdc_field       using 'RC29P-IDNRK'
                                  '1300-320'.
    perform bdc_field       using 'RC29P-MENGE'
                                  '2'.
    perform bdc_field       using 'RC29P-MEINS'
                                  'PC'.
    perform bdc_dynpro      using 'SAPLCSDI' '0131'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RC29P-POTX1'.
    perform bdc_field       using 'RC29P-SANKA'
                                  'X'.
    perform bdc_dynpro      using 'SAPLCSDI' '0130'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RC29P-POSNR'.
    perform bdc_field       using 'RC29P-POSNR'
                                  '0020'.
    perform bdc_field       using 'RC29P-IDNRK'
                                  '1300-312'.
    perform bdc_field       using 'RC29P-MENGE'
                                  '2'.
    perform bdc_field       using 'RC29P-MEINS'
                                  'PC'.
    perform bdc_dynpro      using 'SAPLCSDI' '0131'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RC29P-POTX1'.
    perform bdc_field       using 'RC29P-SANKA'
                                  'X'.
    perform bdc_dynpro      using 'SAPLCSDI' '0140'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RC29P-POSNR(01)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_dynpro      using 'SAPLCSDI' '0140'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RC29P-POSNR(01)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=FCBU'.
    perform bdc_transaction using 'CS01'.
    *perform close_group.
    CALL TRANSACTION 'CS01' USING IT_BDC
                MODE 'A'
                UPDATE 'S'
                MESSAGES INTO IT_MSGCOLL.
    REFRESH IT_BDC.           
    ENDLOOP.
    FORM BDC_DYNPRO USING PROGRAM_DYNPRO.
      CLEAR IT_BDC.
      BDCDATA-PROGRAM = PROGRAM.
      BDCDATA-DYNPRO = DYNPRO.
      BDCDATA-DYNBEGIN = 'X'.
      APPEND IT_BDC.
    ENDFORM.
    FORM BDC_FIELD USING FNAM FVAL.
      CLEAR BDCDATA.
      BDCDATA-FNAM = FNAM.
      BDCDATA-FVAL = FVAL.
      APPEND BDCDATA.
    ENDFORM.
    Edited by: Yayati6260 on Sep 10, 2010 12:29 PM

  • Some BDC question

    sir, plz help me to find out answer of the following question .
    1.You are running a report. It is taking long time for
    execution. What steps will you do to reduce the
    execution time.
    2.After running a BDC program in background, next
    day morning when you see the results, few records
    are not updated(error records). What will you do
    then?
    3.You are given functional specs for a BDC program
    and you need to decide whether to write a method
    call transaction or a session. How u will decide?
    4.What is the difference between report and script?

    HI
    1.You are running a report. It is taking long time for
    execution. What steps will you do to reduce the
    execution time.
    first find out the where it is taking time by going to into the debuging mode , here you will know at what step it is taking time , if it is a standard program then ask your basisi people to reduce the parameter load to increase the xecutuion time , if it is a z program then you can change the code where that taking time
    2.After running a BDC program in background, next
    day morning when you see the results, few records
    are not updated(error records). What will you do
    then?
    you need to update that eroors again
    3.You are given functional specs for a BDC program
    and you need to decide whether to write a method
    call transaction or a session. How u will decide?
    If any error occurs in a call transaction method, the user can either remove it at the same time (mode 'E') else, that record is discarded and all other records are updated in the database..
    However, session method does not update the database till the session is completed successfully.. It can be rescheduled after removing the error..
    However we can not reschedule the call transaction.. call transaction fast as compared to session method..
    In session method we can pass data to multiple transactions.. in call transaction.. only to one..
    I came across a requirement that no record should be updated if there is even a single error record.. in that case i used session method..
    online process used for call transcation.
    back ground job run used for session.
    4.What is the difference between report and script?
    both are used display output in a list but the main diffrence is output devise is there in script

  • Questions on BDC program statements.....

    Hi,
    Currently i am checking below BDC program for packing material use.
    But there is a statement that i am not very clear what it is for...
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'V51VE-EXIDV(01)'.
    For the  'V51VE-EXIDV(01)', here why need to add an (01) at the end.  What does the (01) means??
    Thanks!!!!
      LOOP AT i_lips.
        CLEAR: i_bdc_tab,i_msg_tab.
        REFRESH: i_bdc_tab,i_msg_tab.
        PERFORM bdc_dynpro      USING 'SAPMV50A' '4004'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'LIKP-VBELN'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_field       USING 'LIKP-VBELN'
                                      i_lips-vbeln.
        PERFORM bdc_dynpro      USING 'SAPMV50A' '1000'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=VERP_T'.
    *perform bdc_field       using 'LIKP-BLDAT'
    *                              record-BLDAT_002.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'LIPS-POSNR(01)'.
    *perform bdc_field       using 'LIKP-WADAT'
    *                              record-WADAT_003.
    *perform bdc_field       using 'LIKP-WAUHR'
    *                              record-WAUHR_004.
    *perform bdc_field       using 'LIKP-BTGEW'
    *                              record-BTGEW_005.
    *perform bdc_field       using 'LIKP-GEWEI'
    *                              record-GEWEI_006.
        PERFORM bdc_dynpro      USING 'SAPLV51G' '6000'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=ENTR'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'V51VE-VHILM(01)'.
        PERFORM bdc_field       USING 'V51VE-VHILM(01)'
                                      'BOX'.
    *Select all materails
        PERFORM bdc_dynpro      USING 'SAPLV51G' '6000'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=HU_MARKA'.
    *Select all Boxes
        PERFORM bdc_dynpro      USING 'SAPLV51G' '6000'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=HUMARKHU'.
    *perform bdc_field       using 'V51VE-SELKZ(01)'
    *                              record-SELKZ_01_008.
        PERFORM bdc_dynpro      USING 'SAPLV51G' '6000'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=HU_VERP'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'V51VE-EXIDV(01)'.
        PERFORM bdc_dynpro      USING 'SAPLV51G' '6000'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=SICH'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'V51VE-EXIDV(01)'.
        CALL TRANSACTION 'VL02N' USING i_bdc_tab
                          MODE p_mode
                          MESSAGES INTO i_msg_tab.
    Message was edited by:
            Hoo Laa

    And if this is a BDC running in background, or a call transaction, then placing the cursor on a given field has no effect unless it is needed for navigation to the next screen. 
    When you record a BDC using SHDB there are a lot of statements like this that are added in but are not needed for the BDC to work. 
    Another example is the "BDC_SUBSCR" field name - this does not in most cases appear to have any effect on how the BDC is processed.
    Also, the recording will include fields which have default values on the screen that you do not need to overwrite with the same value from the BDC.
    I often delete these statements from the recording, taking care that I understand what the impact is.  You can try commenting out the line and see what difference it makes to processing. 
    When using a BDC for updating a lot of records, having less of these types of lines in the BDCDATA table will speed performance a bit.
    Andrew

Maybe you are looking for