Problem copying/extending materials (MM01) using BDC

Hi,
I am developing a program that will be used to copy/extend material from one plant to another plant by using BDC. When i did it manually in MM01, i selected 8 views (Purchasing, MRP1, MRP2, MRP3, MRP4, General Plant Data/Storage 1, General Plant Data/Storage 2, Accounting 1 and Accounting 2) and marked the "Create views selected" checkbox. Then, the system prompted me for the plant and storage location information (copy from & copy to). After that, the Purchasing view appears and i would just need to click the "SAVE" button and the new material was created.
When i ran the BDC program (by selecting the "Call Transaction - Show all screens" option), i found that i had to run it four times to have the material created. Basically, i found that it went through four views which were purchasing, MRP, General Plant Data / Storage and Accouting view.
I was wondering why it didn't create the selected views for me although i had recorded the "Mark the 'create views selected' option" in the BDC?
Thanks much in advance.

Why choose BDC for MM01 ?
You've the BAPI 'BAPI_MATERIAL_SAVEDATA' at your service. Easy to use & simple to maintain.
Unless you give me specifics i am not convinced about the BDC approach.
BR,
Suhas

Similar Messages

  • Can anyone list problems/errors when uploading data using BDC's and BAPI's?

    Can anyone list the problems/errors when uploading data using BDC's and BAPI's?

    Hi,
    If you are actually creating a BDC to load data pls be more specific.
    Data format incorrect. Tab delimited/ etc
    Dates in wrong formats
    Currency incorrect formats
    Missing screens
    Wrong transaction code
    File not found,
    Missing Mandatory fields,
    Screen resoultion.
    You should always use refresh for your Bdcdata table.
    Loop at internal table.
    refresh Bdcdata.
    regards,
    sowjanya.

  • Problem during Rate Routing Upload using BDC.

    Dear Sir/Madam,
    I am uploading Rate Routings using a BDC program which is working perfectly but having a single problem.
    In the initial screen of the transaction CA21(Create Rate Routing), I need to enter only the Material Number and its Plant and all the other fields should be left blank.
    But, here the group number field is automatically getting filled with the previous value and it is incrementing the group counter number. 
    I want the system to allocate different group number for  each Routing. I want the group number to be unique.
    Thanks,
    Ranjan.

    Dear Ranjan,
    While doing recording CA21. you would pass only the material number and plant (i mean you did recording of CA21 based on material number as well as plant not for routing number (group counter))
    Routing number (group counter) dynamic (In your case Internal number rage has assigned).
    So the Problem is:
    1st record of you internal table update smoothly because you program will pass only material and plant
    group counter (RC271-PLNNR) field is blank, after update 1st record system will regenerates the
    group counter number.
    ones the system updates the data it will generates Group counter number and assign to filed :(RC271-PLNNR).
    after saving the record system will go loop statement of you program. again program will call the call transaction statement with 2nd record of the internal table. call transaction statement pass the material number and plant field at ca21. but group counter number automatically poulated in the screen field because that time system can't be refresh the initial screen of CA21,
    so system will shows previous updated screen ( 1st routing record will show)
    Remove your bdc perform and add this code in your BDC perform.
    *        Start new screen                                              *
    FORM BDC_DYNPRO USING PROGRAM DYNPRO.
       CLEAR BDCDATA.
       BDCDATA-PROGRAM  = PROGRAM.
       BDCDATA-DYNPRO   = DYNPRO.
       BDCDATA-DYNBEGIN = 'X'.
       APPEND BDCDATA.
    ENDFORM.
    *        Insert field                                                  *
    FORM BDC_FIELD USING FNAM FVAL.
       IF FVAL <> SPACE.
         CLEAR BDCDATA.
         BDCDATA-FNAM = FNAM.
         BDCDATA-FVAL = FVAL.
         APPEND BDCDATA.
       ENDIF.
    *                Clearing the Group Counter                                *
       IF FVAL = SPACE.
         CLEAR BDCDATA.
         BDCDATA-FNAM = FNAM.
         BDCDATA-FVAL = FVAL.
         APPEND BDCDATA.
       ENDIF.
    above code: 1st time of call transaction FVAL = space means ( group counter field is blank)
    2nd and rest of the time FVAL <> space. means (previous record group number exists for new call transaction ) so system will be by pass with new record.
    Check with debugging mode. you will come to whats going in you code.
    Even i have go same problem while uploading routing data. i have find out solution after doing my RND.
    Regards,
    Akshath

  • Doubt on mm01 using bdc

    hi ,
    i have done bdc recording for mm01 and mm02 for creating or updating material number into sap system .. there is a column called division in legacy system for that column division three values are there. they are 009,004,001.. they might have created classification view for division 009 materials.
    how to find if there is any classification view created for division 004 materials .
    now i was asked to create classification view for 001 and 004 division materials ...
    can u help me please .. i am new in abap

    hello sir,
    thanks for ur reply.
    i have done bdc recording for mm01 and mm02 for creating or updating material number into sap system .. wat i need to find is that there is a column called division in legacy system for that column division three values are there. they are 009,004,001.. they might have created classification view for  division 009 materials.
    now i was asked to create classification view for 001 and 004 division materials ...
    also how to find if there is any classification view created  for division 004 materials .
    can u help me please .. i am new in abap

  • Problem when recording the data using BDC for Tcode CJ02.

    Dear Experts,
    When i am trying to record the data for TCODE : CJ02 i need to enter the project  Definition and enter the WBS element it takes me to the screen then i should select the WBS element and attach a file for that selected WBS element . The option for me to attach the attachment of file  will be available on the application area(Services for the Object).
    Now the problem when i try to do recording in SHDB this option like create attachement is not visible in the recodring . Kindly suggest me what can i do such that i attach the file for the particular project def and WBS element.
    Either suggest any function module or other procedure .......
    Regards,
    Sana.

    Hi,
      in BDC each and every action is recording. If your press enter in same screen that also recorded once aging may be this is your case repeating field values will appear. we can solve the problem for repeat fields like below.
    suppose in your excel having repeated field X1 X2 X3 the X2 contains repeated field X3 means delete the X3 field.
    Now In your itab having X1 and X2 fields. While in the LOOP the ITAB pass the X2 field to repeated the fields.
    LOOP at ITAB to WA.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'BDC_CURSOR'.
    bdcdata_wa-fval = 'RM08M-EBELN'.
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'INVFO-BLDAT'.
    bdcdata_wa-fval = wa-X2." 1st time pass the X2 fields
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'INVFO-BLDAT'.
    bdcdata_wa-fval = wa-X2." pass the same value to repeated field
    APPEND bdcdata_wa TO bdcdata_tab.
    Endloop.
    Hope you can understand.
    Regards,
    Dhina..

  • Problem copying to student machines using ARD

    I manage a school lab and have been using Remote Desktop, all of a sudden the copy command to student computers stopped working. I found how to do a clean install and updated ARD but it still isn't working. I can access the machines, control them,everything but copy to them. my student machines are on 10.6.8 and I'm using ARD 3.7.2.  I'm wondering if updating my machines to 10.7 would help?  Any suggestions would really be appreciated

    When things "suddenly stop working", that can be an indication that somthing about the underlying network has changed. You might want to check if the IT group has changed out, or reconfigured, any networking hardware recently.

  • Flat  file to upload data using BDC for transaction MM01

    Hi
    I am trying to update data using bdc code has been attached below using a txt file.
    It is updating the first set of data into the table mara ,but  for the rest it is not
    All the data from txt file has being loaded to internal table , but the problem is it does not gets updated from internal table to the database .
    Only the first set of data has been loaded ,<u><b> rest of the data is not loaded</b></u>
    <u><b>content of txt file</b></u>
    zsc     zsc     kg     
    zsv     zsv     kg     
    zsb     zsb     kg
    <u><b>Actual code</b></u>
    report ZMAT_UPLOAD
           no standard page heading line-size 255.
    types declaration..........................................................................
    types : begin of t_mat,
       matnr(20),
       desc(50),
       uom(5),
    end of t_mat.
    internal table and workarea declaration.......................................
    data : i_mat type table of t_mat.
    data : wa_mat type t_mat.
    include bdcrecx1.
    start-of-selection.
    moving the flat file content to internal table................................
    CALL FUNCTION 'UPLOAD'
         EXPORTING
             FILETYPE   = 'DAT'
         TABLES
             data_tab   = i_mat.
    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 i_mat into wa_mat.
    perform bdc_dynpro      using 'SAPLMGMM' '0060'.
    perform bdc_field       using 'BDC_CURSOR'
                                       'RMMG1-MATNR'.
    perform bdc_field       using 'BDC_OKCODE'
                                        '=AUSW'.
    perform bdc_field       using 'RMMG1-MATNR'
                                        wa_mat-matnr.
    perform bdc_field       using 'RMMG1-MBRSH'
                                        'P'.
    perform bdc_field       using 'RMMG1-MTART'
                                        'ZOH'.
    perform bdc_dynpro   using 'SAPLMGMM' '0070'.
    perform bdc_field       using 'BDC_CURSOR'
                                        'MSICHTAUSW-DYTXT(01)'.
    perform bdc_field       using 'BDC_OKCODE'
                                        '=ENTR'.
    perform bdc_field       using 'MSICHTAUSW-KZSEL(01)'
                                        'X'.
    perform bdc_dynpro   using 'SAPLMGMM' '4004'.
    perform bdc_field       using 'BDC_OKCODE'
                                        '=BU'.
    perform bdc_field       using 'MAKT-MAKTX'
                                        wa_mat-desc.
    perform bdc_field       using 'BDC_CURSOR'
                                        'MARA-MEINS'.
    perform bdc_field       using 'MARA-MEINS'
                                        wa_mat-uom.
    perform bdc_field       using 'MARA-MTPOS_MARA'
                                        'NORM'.
    perform bdc_transaction using 'MM01'.
    endloop.
    Perform close_group.

    Hi Sumant,
    just concentrate on bold one
    report ZMAT_UPLOAD
    no standard page heading line-size 255.
    types declaration..........................................................................
    <b>
    data : begin of t_mat occurs 0,
    matnr(20),
    desc(50),
    uom(5),
    end of t_mat.</b>
    internal table and workarea declaration.......................................
    <b>*data : i_mat type table of t_mat.
    *data : wa_mat type t_mat.</b>
    include bdcrecx1.
    start-of-selection.
    moving the flat file content to internal table................................
    CALL FUNCTION 'UPLOAD'
    EXPORTING
    FILETYPE = 'DAT'
    TABLES
    <b>data_tab = i_mat.---> t_mat.</b>
    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.
    <b>loop at i_mat into wa_mat.------>loop at t_mat.</b>
    perform bdc_dynpro using 'SAPLMGMM' '0060'.
    perform bdc_field using 'BDC_CURSOR'
    'RMMG1-MATNR'.
    perform bdc_field using 'BDC_OKCODE'
    '=AUSW'.
    perform bdc_field using 'RMMG1-MATNR'
    <b>wa_mat-matnr.---->t_mat-matnr(change in this for ur wa to t_mat.</b>
    perform bdc_field using 'RMMG1-MBRSH'
    'P'.
    perform bdc_field using 'RMMG1-MTART'
    'ZOH'.
    perform bdc_dynpro using 'SAPLMGMM' '0070'.
    perform bdc_field using 'BDC_CURSOR'
    'MSICHTAUSW-DYTXT(01)'.
    perform bdc_field using 'BDC_OKCODE'
    '=ENTR'.
    perform bdc_field using 'MSICHTAUSW-KZSEL(01)'
    'X'.
    perform bdc_dynpro using 'SAPLMGMM' '4004'.
    perform bdc_field using 'BDC_OKCODE'
    '=BU'.
    perform bdc_field using 'MAKT-MAKTX'
    wa_mat-desc.
    perform bdc_field using 'BDC_CURSOR'
    'MARA-MEINS'.
    perform bdc_field using 'MARA-MEINS'
    wa_mat-uom.
    perform bdc_field using 'MARA-MTPOS_MARA'
    'NORM'.
    perform bdc_transaction using 'MM01'.
    endloop.
    Perform close_group.
    Reward points for helpful answers.
    Thanks
    Naveen khan
    Message was edited by:
            Pattan Naveen
    Message was edited by:
            Pattan Naveen

  • Problem with HP-UX extended procedures that use C++ Standard library

    I am experiencing a problem with using the C++ standard library on HP-UX inside my extended procedures.
    Here is the definition for the library and procedures:
    -bash-3.2$ more nuhash2.sql
    CREATE OR REPLACE LIBRARY xp_nuencryption_l
    AS
    '/home/jchamber/datasecure/lib/libxp_nuencryption.sl';
    CREATE OR REPLACE PACKAGE xp_nuencryption
    AS
    PROCEDURE xp_nuhash2;
    END xp_nuencryption;
    CREATE OR REPLACE PACKAGE BODY xp_nuencryption
    IS
    PROCEDURE xp_nuhash2
    IS EXTERNAL
    LIBRARY xp_nuencryption_l
    NAME "xp_nuhash2"
    LANGUAGE C;
    END xp_nuencryption;
    Here is the PL/SQL test program:
    -bash-3.2$ more testnuhash2.sql
    SET SERVEROUTPUT ON SIZE 1000000
    DECLARE
    BEGIN
    xp_nuencryption.xp_nuhash2 ();
    END;
    Here is the implementation of the extended procudure - notice how we are using the C++ Standard library:
    -bash-3.2$ more xp_nuhash2.cpp
    #include <string.h>
    #include <iostream>
    #include <fstream>
    class MyException {
    public:
    MyException() {}
    int func(std::ofstream& fout )
    fout << "func: About to throw exception in func()" << std::endl;
    throw MyException();
    extern "C"
    void xp_nuhash2 ()
    std::ofstream fout("/home/jchamber/xp_nuhash2.txt");
    try {
    fout << "xp_nuhash2: About to call func()" << std::endl;
    func(fout);
    catch (MyException& ex) {
    fout << "xp_nuhash2: caught MyException" << std::endl;
    fout << std::flush;
    fout.close();
    Here is how we build the library on HP-UX:
    # compile
    aCC -g -AA DA2.0W DS2.0 +z -c xp_nuhash2.cpp -o xp_nuhash.o
    #link using aCC
    aCC -g -AA DA2.0W DS2.0 +z -b -o /home/jchamber/datasecure/lib/libxp_nuencryption.sl xp_nuhash.o \
    /usr/lib/pa20_64/libstd_v2.a \
    /usr/lib/pa20_64/libCsup_v2.a
    chatr +dbg enable /home/jchamber/datasecure/lib/libxp_nuencryption.sl
    Here is how we test:
    SQL> @nuhash2
    Library created.
    Package created.
    Package body created.
    SQL> @testnuhash2
    DECLARE
    ERROR at line 1:
    ORA-28576: lost RPC connection to external procedure agent
    ORA-06512: at "JCHAMBER.XP_NUENCRYPTION", line 0
    ORA-06512: at line 3
    Now, if i use classic C++ (aCC -AP) it works. The trouble is, we have a lot of code that uses the Standard C++ library and we don't have the time to port it back to classic C++.
    The problem seems to be with an incompatibility with the standard C++ library. What is the magic potion of linker and/or compiler switches that would enable my extended procedures to use the standard C++ library?
    Here is the environment we are using:
    Oracle 9i (64-bit)
    HP UX 11.11
    Regards

    I am experiencing a problem with using the C++ standard library on HP-UX inside my extended procedures.
    Here is the definition for the library and procedures:
    -bash-3.2$ more nuhash2.sql
    CREATE OR REPLACE LIBRARY xp_nuencryption_l
    AS
    '/home/jchamber/datasecure/lib/libxp_nuencryption.sl';
    CREATE OR REPLACE PACKAGE xp_nuencryption
    AS
    PROCEDURE xp_nuhash2;
    END xp_nuencryption;
    CREATE OR REPLACE PACKAGE BODY xp_nuencryption
    IS
    PROCEDURE xp_nuhash2
    IS EXTERNAL
    LIBRARY xp_nuencryption_l
    NAME "xp_nuhash2"
    LANGUAGE C;
    END xp_nuencryption;
    Here is the PL/SQL test program:
    -bash-3.2$ more testnuhash2.sql
    SET SERVEROUTPUT ON SIZE 1000000
    DECLARE
    BEGIN
    xp_nuencryption.xp_nuhash2 ();
    END;
    Here is the implementation of the extended procudure - notice how we are using the C++ Standard library:
    -bash-3.2$ more xp_nuhash2.cpp
    #include <string.h>
    #include <iostream>
    #include <fstream>
    class MyException {
    public:
    MyException() {}
    int func(std::ofstream& fout )
    fout << "func: About to throw exception in func()" << std::endl;
    throw MyException();
    extern "C"
    void xp_nuhash2 ()
    std::ofstream fout("/home/jchamber/xp_nuhash2.txt");
    try {
    fout << "xp_nuhash2: About to call func()" << std::endl;
    func(fout);
    catch (MyException& ex) {
    fout << "xp_nuhash2: caught MyException" << std::endl;
    fout << std::flush;
    fout.close();
    Here is how we build the library on HP-UX:
    # compile
    aCC -g -AA DA2.0W DS2.0 +z -c xp_nuhash2.cpp -o xp_nuhash.o
    #link using aCC
    aCC -g -AA DA2.0W DS2.0 +z -b -o /home/jchamber/datasecure/lib/libxp_nuencryption.sl xp_nuhash.o \
    /usr/lib/pa20_64/libstd_v2.a \
    /usr/lib/pa20_64/libCsup_v2.a
    chatr +dbg enable /home/jchamber/datasecure/lib/libxp_nuencryption.sl
    Here is how we test:
    SQL> @nuhash2
    Library created.
    Package created.
    Package body created.
    SQL> @testnuhash2
    DECLARE
    ERROR at line 1:
    ORA-28576: lost RPC connection to external procedure agent
    ORA-06512: at "JCHAMBER.XP_NUENCRYPTION", line 0
    ORA-06512: at line 3
    Now, if i use classic C++ (aCC -AP) it works. The trouble is, we have a lot of code that uses the Standard C++ library and we don't have the time to port it back to classic C++.
    The problem seems to be with an incompatibility with the standard C++ library. What is the magic potion of linker and/or compiler switches that would enable my extended procedures to use the standard C++ library?
    Here is the environment we are using:
    Oracle 9i (64-bit)
    HP UX 11.11
    Regards

  • Change transaction using BDC-problem for large number of lines on screen

    Hi All,
    I am developing BAPI (using BDC) which creates quality notification in SAP which is entered via front end web application. Structure p_qmsm contain 3 lines of task in notification. The code is as given below. To avoid problem of large no of lines on screen,code lines starting with * is used. This actually for pagedown after entering every 2 lines and creates new line. so that 2 lines always push up on screen and there will not be problem for creating large no of lines on screen
    perform bdc_dynpro using 'SAPLIQS0' '7200'.
    perform bdc_field using 'BDC_OKCODE' '=10\TAB11'.
    LOOP AT p_qmsm INTO wa_qmsm.
    *IF wa_qmsm_cntr > 2.
           wa_qmsm_cntr = 2.
           perform bdc_dynpro  using 'SAPLIQS0'                   '7204'.
           perform bdc_field   using 'BDC_OKCODE'                 '=PEND'.
    ENDIF.
    perform bdc_dynpro using 'SAPLIQS0' '7204'.
    perform bdc_field using 'BDC_OKCODE' '/00'.
    CONCATENATE 'VIQMSM-QSMNUM(' wa_qmsm_cntr ')' INTO wm_qmsm_qsmnum.
    CONCATENATE 'VIQMSM-MNGRP(' wa_qmsm_cntr ')' INTO wm_qmsm_mngrp.
    CONCATENATE 'VIQMSM-MNCOD(' wa_qmsm_cntr ')' INTO wm_qmsm_mncod.
    CONCATENATE 'VIQMSM-MATXT(' wa_qmsm_cntr ')' INTO wm_qmsm_matxt.
    perform bdc_field using wm_qmsm_qsmnum wa_qmsm-qsmnum.
    perform bdc_field using wm_qmsm_mngrp wa_qmsm-mngrp.
    perform bdc_field using wm_qmsm_mncod wa_qmsm-mncod.
    perform bdc_field using wm_qmsm_matxt wa_qmsm-matxt.
    wa_qmsm_cntr = wa_qmsm_cntr + 01.
    ENDLOOP.
    CALL TRANSACTION 'IQS2' USING wt_bdc
    MODE 'N' UPDATE 'A'  MESSAGES INTO P_MESSTAB.
    The same code is used in modify mode also. web application is sending all 3 lines in modify mode even if single line is modified. It is already decided to send all rows back from web application to SAP in same sequence. It is working fine if i comment 5 lines which is starting with *. But in modify mode, how can i ensure that correct row is modified? and how can i achieve problem of large no of lines on screen?Please suggest?

    Hi yogesh,
    how can i ensure that correct row is modified?
    1. For this we need to know two things ;
       a) the database table in which the entries are already stored
       b) the sequence in which they are displayed in the transaction.
    2. So before changing any line, we need to compare (the primary key values / important values)
       a) as per the database table and as per the incoming data from web application (using bapi)
      b) if the match is ok, it means that particular row was not modified, else modified.
    how can i achieve problem of large no of lines on screen?
    1. For this I am  not sure about the transaction and its screen. Manytimes for appending row on the screen,
      there is a PLUS + button on the grid toolbar. So for every entry, (inspite of some empty/filled rows already visible on the screen), we should use the + button, and this new row always appears on the top i.e. row number 1.
    hope this helps.
    regards,
    amit m.

  • Problem with uploading data from excel using BDC for tcode f-02

    Hi All,
    I am uploading data from excel using BDC for tcode f-02. The problem here is, while recording, the values of some fields are recording twice. I dont know why it's happening so. But if I run my abap program, I have to give those fields twice in my excel sheet. Otherwise data does not upload. But it is not the feasible way. We must give those fields once in excel. Please tell me, how I can solve the issue.
    With regards,
    Rosaline.

    Hi,
      in BDC each and every action is recording. If your press enter in same screen that also recorded once aging may be this is your case repeating field values will appear. we can solve the problem for repeat fields like below.
    suppose in your excel having repeated field X1 X2 X3 the X2 contains repeated field X3 means delete the X3 field.
    Now In your itab having X1 and X2 fields. While in the LOOP the ITAB pass the X2 field to repeated the fields.
    LOOP at ITAB to WA.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'BDC_CURSOR'.
    bdcdata_wa-fval = 'RM08M-EBELN'.
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'INVFO-BLDAT'.
    bdcdata_wa-fval = wa-X2." 1st time pass the X2 fields
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'INVFO-BLDAT'.
    bdcdata_wa-fval = wa-X2." pass the same value to repeated field
    APPEND bdcdata_wa TO bdcdata_tab.
    Endloop.
    Hope you can understand.
    Regards,
    Dhina..

  • Problem in uploading material master data using BDC?

    Hi all,
    I am using  BDC call transaction method to upload material data. Here i am facing a problem that a value in the flat file is going to the wrong screen field . But my recording done properly.
    In recording, after entering the data in the view BASIC DATA1 and trying to enter the text . For this i need to scroll down the scroll bar and after that i am clicking on basic data text and entering the text. Here i am not touching the languge field.
    But the problem is the text to be entered into the basic data text is storing in language and giving error.
    Please help me by specifying the reason and solution for this problem? Whether i did any mistake in recording in scrolling?
    Thanks,
    Vamshi.

    Hi
    Go with BAPI for such huge transactions and screens. Use BAPI: BAPI_MATERIAL_SAVEDATA.
    Regards,
    Vishwa.

  • Problems using BDC and/or HR_INFOTYPE_OPERATION

    Hi Gurus.
    Our team is developing several inbound HR interfaces but in integrated test in QAS env something really strange is happening during the tests.
    We are using BDC data for data input in infotypes 0000 and 0001 through PA30 and for all the other infotypes we use HR_INFOTYPE_OPERATION.
    Sometimes data input for 0000 and 0001 works, sometimes no, our table log gives us that the data was processed but when we check on the infotypes there is no data there. The BDC mapping was checked several times and we did some tests in another enviroment, everything is ok, the data is processed but in QAS we are having this problems.
    With HR_INFOTYPE_OPERATION, when we run in background mode it give us strange error logs like "a complex application error occurs" but when i did a debug inside of that FM there is nothing missing or nothing wrong.
    The enviroment seems to be very instable but basis teams says that there is no log error, but i've never seems errors like these, sometimes works, sometimes no.
    The last info that i had is QAS instance that we are using was deleted 3 weeks ago and restored again.
    Any suggestions?
    Thanks a lot.

    Hi,
    If your BDC mapping is correct, check the return code after your BDC is excuted with - BDCMSG. Make sure that you give Refresh BDCDATA for every loop.
    Having said this, I have also had issues with BDC every there was no error at the end, however the infotype never got updated.
    Please double check all the relevant screens. I found that for a particular Inf that I was updating, the subtypes belonged to differnt screens. Can you test with the same data in your Dev or some other box? If that doesnt work, there might be a data issue.
    Generally the complex application error occurs when a screen have been modified to prohibit batch processing. It is very difficult to diagnose the error in such cases. Make sure that you are passing all the important data to the FM. You might be able to get more help by searching in this forums as well.
    Regards, Liz

  • Problem during uploading data Using BDC

    While I'm trying to upload data for T.Code J1IS using BDC, Value for the field  Net.***.value ( J_1IASSVAL-J_1IVALNDP) is not getting populated on the screen.
    Pls help.

    Hi,
    This is a Currency Field so you need to pass this to a Char field first and then pass to BDCTAB-FVAL.
    " This is a common problem with BDC with other data types even with Date  and Quantity and Numeric types
    Please note while passing values to BDCTAB all the values should be passed in CHAR form only
    Cheerz
    Ram.

  • Uploading Different types of materials using BDC

    Hello Guyz,
    Could anyone please explain, How do you take care of uploading different types of Materials using BDC?
    There will be lot of Materials in my Flatfile of different Types, say Raw Material(ROH), Semi Finished Materials(HALB) , Finished Goods (FERT) and so on.
    How do you take care of the upload for different material types.
    Regards,
    Sudhir

    Hi,
      First take all fielsds in one itab,three recordings.
    Put the condition,
    If MTART = 'ROH'.
       send those fields in to another itab.
    append the itab.
    elseif mtart = 'HALB'.
       send those fields into itab1.
    append itab1.
    elseif mtart = 'FERT'.
    send those fields into itab2.
    append itab2.
    endif.
    if  not itab[] is initial.
    loop the itab
        here  ur performs
    endloop.
    endif.
    if not itab1 is initial.
    loop the itab1.
    performs.
    endloop.
    endif.
    if not itab2 is intial.
    loop the itab2.
    performs.
    endloop.
    endif.
    if it is helpful  give me the points

  • Problem uploding flatfile in bom(cs01) using bdc recording

    Hi,
         I had a problem while uploading flatfile records in bom(cs01) by using bdc recording.
    I had four records in flatfile(.txt & xl), i.e., header data with its components.
    Sample material:
    (Header data)                (components)
    SOFTDRINKS,WIND,1,  ' 14','1','ml','l'
    SOFTDRINKS,WIND,1,  '11','1','ml','l'
    SOFTDRINKS,WIND,1,  '13','1','ml','l'
    SOFTDRINKS,WIND,1,  ' 15','1','ml','l'
    while executing, the same component entered while recording has been displayed four times not the ff records.
    So, i want to know whether whether ff structure is ok or not,
    whether coding is correct or not?
    report ZBOM1
           no standard page heading line-size 255.
    *include bdcrecx1.
    DATA: BEGIN OF bdc OCCURS 0,
           matnr(18),
           werks(4),
           stlan(1),
          END OF BDC.
    DATA: BEGIN OF BDC1 OCCURS 0,
           idnrk(40),
           MENGE(13),
           MEINS(3),
           postp(1),
          END OF bdc1.
    DATA: BEGIN OF BDCDATA OCCURS 0,
             matnr(18),
             werks(4),
             stlan(1),
             idnrk(18),
             MENGE(18),
             MEINS(3),
             postp(1),
          END OF BDCDATA.
    data: ibdcdata type standard table of bdcdata  with header line.
    *start-of-selection.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        FILENAME                      = 'C:\Documents and Settings\dilipkumar.b\Desktop\soft.txt'
       FILETYPE                       = 'ASC'
       HAS_FIELD_SEPARATOR            = ','
      HEADER_LENGTH                 = 0
      READ_BY_LINE                  = 'X'
      DAT_MODE                      = ' '
      CODEPAGE                      = ' '
      IGNORE_CERR                   = ABAP_TRUE
      REPLACEMENT                   = '#'
      CHECK_BOM                     = ' '
      VIRUS_SCAN_PROFILE            =
      NO_AUTH_CHECK                 = ' '
    IMPORTING
      FILELENGTH                     =
      HEADER                         =
      TABLES
        DATA_TAB                      = BDCDATA
    EXCEPTIONS
      FILE_OPEN_ERROR               = 1
      FILE_READ_ERROR               = 2
      NO_BATCH                      = 3
      GUI_REFUSE_FILETRANSFER       = 4
      INVALID_TYPE                  = 5
      NO_AUTHORITY                  = 6
      UNKNOWN_ERROR                 = 7
      BAD_DATA_FORMAT               = 8
      HEADER_NOT_ALLOWED            = 9
      SEPARATOR_NOT_ALLOWED         = 10
      HEADER_TOO_LONG               = 11
      UNKNOWN_DP_ERROR              = 12
      ACCESS_DENIED                 = 13
      DP_OUT_OF_MEMORY              = 14
      DISK_FULL                     = 15
      DP_TIMEOUT                    = 16
      OTHERS                        = 17
    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 bdcdata.
    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'
                                  'SOFTDRINKS'.
    perform bdc_field       using 'RC29N-WERKS'
                                  'WIND'.
    perform bdc_field       using 'RC29N-STLAN'
                                  '1'.
    perform bdc_field       using 'RC29N-DATUV'
                                  '16.09.2008'.
    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-POSTP(01)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=FCBU'.
    perform bdc_field       using 'RC29P-IDNRK(01)'
                                  '11'.
    perform bdc_field       using 'RC29P-MENGE(01)'
                                  '1'.
    perform bdc_field       using 'RC29P-MEINS(01)'
                                  'ml'.
    perform bdc_field       using 'RC29P-POSTP(01)'
                                  'l'.
    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'
                                  '11'.
    perform bdc_field       using 'RC29P-MENGE'
                                  '1'.
    perform bdc_field       using 'RC29P-MEINS'
                                  'ML'.
    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_transaction using 'CS01'.
    *perform close_group.
    CALL TRANSACTION 'CS01' USING IBDCDATA MODE 'A' UPDATE 'S'.
    REFRESH IBDCDATA.
    endloop.
           Start new screen                                              *
    FORM BDC_DYNPRO USING PROGRAM DYNPRO.
      CLEAR iBDCDATA.
      iBDCDATA-PROGRAM  = PROGRAM.
      iBDCDATA-DYNPRO   = DYNPRO.
      iBDCDATA-DYNBEGIN = 'X'.
      APPEND ibDCDATA .
    ENDFORM.
           Insert field                                                  *
    FORM BDC_FIELD USING FNAM FVAL.
    IF FVAL <> NODATA.
        CLEAR iBDCDATA.
        iBDCDATA-FNAM = FNAM.
        iBDCDATA-FVAL = FVAL.
        APPEND iBDCDATA .
    ENDIF.

    Hi Dilip,
    You are reading your flat file into an internal table, you perform a LOOP over the read itab, but you are not using your BDCDATA data anywhere into IBDCDATA internal table! Those data have to be filled into FVAL parameter.
    Here an additional hint:
    1. The content of flat file is delivered as a STRING in GUI_UPLOAD. First you have to post these values into a structured internal table. And then perform the LOOP at this structured table.
    2. In the new ABAP concept newer ever user Header Lines (in an internal table). One reason: Header Lines are not allowed in ABAP Objects. Instead use
    LOOP AT itab into wa_structure.
    *do something with wa_structure
    APPEND wa_structure to IBDCDATA.
    ENDLOOP.
    Good success,
    Heinz

Maybe you are looking for

  • How to delete the compressed request in bi 7.0?

    how to delete the compressed request in bi 7.0? Reverse Posting option available in BI 7.0? Thanks, Pramod

  • Export Html in Indesign Cs5.5

    Hi All, How to export html using javascript in indesign cs 5.5?

  • BADI MRM_tolerance_group

    Hi , I want to activate one BAdi , MRM_TOLERANCE_GROUP, to check the vendor specific tolerance limits while doing the invoice verification (MIRO) for import purchases. Could anybody give me step by step procedure to activate this BAdi. Regards,

  • Unchecking Print Resolution - need clarification, need Jeff Schewe

    Seeking clarification on using the print module in LR. Have read several threads in which Jeff Schewe (Jeff, are you there?)suggests that you use your file as a master file in LR and that if you uncheck the print resolution box, you can print multipl

  • RAID Admin and Disk Utility show different sizes

    Hello all, I have tried searching through these forums for a resolution to this, but did not really find one. Here is my situation: I have an XServe Dual G4 in a branch office. It has attached to it an XServe RAID. Last week, when I was down working