LSMW BOM

Is it possible to use batch recording method when uploading the BOM throughthe LSMW or is it more ideal to use the Direct Input method?

Hi,
When you use the batch input procedure, the system creates a batch input session containing the legacy data, and automatically processes this session. This method supplies the legacy data transaction. The system writes any transfer records that have errors to an error session for later manual processing.
When you use the direct data input procedure, the system writes the legacy transfer data directly to the appropriate tables . The system writes any BOM that have errors to an error file. This procedure normally offers improved performance, as compared to the batch input procedure. However, there are certain limitations as regards the input data and errors.
So best for you to go with second option.
Regards,
R.Brahmankar

Similar Messages

  • LSMW BOM creation error

    Hi Folks,
    I am facing a problem when I tried to use LSMW to create BOM.
    what I have done:
    using std. batch input: 0030 (material BOM)
                                     0001 (create)
    Stracure: BOM_HEADER  material BOM Header
    BOM_ITEM   material BOM Item detail (lower level)
    field:BOM_HEADER                material BOM Header
        KEY                            C(005)    Common Key
        STLST                          C(010)    BOM status
        STLAN                          C(010)    BOM usage
        DATUV                          C(040)    Valid-From Date
        AENNR                          C(040)    Change Number
        STLAL                          C(010)    Alternative BOM
        WERKS                          C(010)    plant
        MATNR                          C(040)    material no.
        BOM_ITEM                  material BOM Item detail
            KEY                            C(005)    Common Key
            MEINS                          C(010)    BOM component unit
            MENGE                          C(040)    BOM component qty
            IDNRK                          C(040)    BOM component no.
            POSTP                          C(010)    BOM item Category
            POSNR                          C(010)    BOM item number
    Structure relationship:
    BGR00 to BOM_HEADER
    BICSK to BOM_HEADER
    BICSP to BOM_ITEM
    mapping and conversion rule: Auto assign and constant for T-code:CS01.
    specify and assign file: one txt for header,and one for item with the same structure as above.
    read data: No error.
    convert data:
    Syntax error in program "/1CADMC/SAP_LSMW_CONV_00003161 ".
    The following syntax error occurred in the program
    /1CADMC/SAP_LSMW_CONV_00003161 :
    "The data object "BOM_HEADER" does not have a component called "IDNRK"."
    Error in ABAP application program.
    I tried several times. IDNRK is for material component which should not be part of Header.
    I guess, the assignment between with BOM_ITEM and BICSP didn't work, and tried to find IDNRK in  BOM_HEADER.
    Hope there is someone can help me.
    Thanks in adv.
    Fred

    Hi,
    Not quite clear from  your initial posting, but based on what little i understand find a few pointers.
    You would need to create 2 different input files, i.e. one for header & another for item & there should be a link between the 2 via a field.
    Eg: You can have a column at the begining of the files say Counter & here you would need to have a unique numbering to identify the header & the relevant components for the same.
    With the above, ensure your structuring of LSMW is correct & it will work.
    Hope the above helps.
    Regards,
    Vivek

  • LSMW BOM Direct Input

    I'm trying to use Direct Input method for uploading BOM and its my first time using Direct Input method. Are there any tutorials that I could use?

    Hi,
    Please check these links
    http://www.sapbrain.com/TUTORIALS/TECHNICAL/LSMW_tutorial.html
    http://www.sap-img.com/sap-data-migration.htm
    Regards,
    R.brahmankar

  • Multiple line items uploading through LSMW

    Hi,
      I am using LSMW as uploading tool for master data uploading in quality server.In the case of multiple line item i am feeling difficulty to use LSMW.
    Plaese help me to find solution...........

    Hi
    First read all the BOM into an internal table and then you upload that internal table
    LSMW
    https://help.sap.com/saphelp_nw04s/helpdata/en/87/f3ae74e68111d1b3ff006094b944c8/content.htm
    [ BOM UPloading BY  LSMW|LSMW BOM]
    Regards
    pavan

  • LSMW logical file

    Hello Gurus,
    I'm creating the transfer programs via LSMW, and I have  fo
    und problems with the source list and inforecord program (RM06IBI0), For this case in the step "specify file" it's mandatory assign the logical path and the logical file in the converted data.
    I the customer systems it doesn't work, for example if I select the logical path TMP and logical file A, I have the following error:
    Logica path TMP doesn' not point to a directory.
    I create via transaction FILE and SARA ( checking the cutomizing against SAP notes) a new logical path ZLSMW and logical path ZLSMW, with transacion AOBJ I relate all to a object.
    But I continue with the same error.
    I test the LSMW in another systems, and it work I select any logical path and any logical file and !! it work !!
    It seems something related with the administration systems, something missing in the system of the customer and not in other systems,,,,,but ¿what?
    Thanks

    Hi Anuj,
    Check this link:
    LSMW BOM Direct Input
    LSMW BOM
    Regards,
    Chandra Sekhar

  • Regarding BOM LSMW

    dear all
    i m devloping lsmw for BOM creation...its giving error while creating session.
    can anybody tell me how to assing logical file name and logical file path?
    i have tried it with t code FILE... but it didnt worked out.. it still giving error....
    the file xyz could not open..
    pls help
    thanks
    jigar p

    Hi,
    Please check steps provided in the following link, This will give some solution for your problem
    <a href="http://abapcode.blogspot.com/2007/05/step-by-step-guide-for-using-lsmw-to.html">LSMW</a>
    Reward if it is useful
    Regards
    Pradeep

  • BOM Uploading through LSMW

    Hi Experts,
      I am Uploading BOM through LSMW by Direct Input method. I am having the following queries,
      1.  In that BOM I have Header data and Item data. While doing the Step 7(specify file) it accept the text file only not the Excel file. If I assign the Excel file means while executing the Step 9(Read Data). It gives error message, file and source structure have no fields.
    So I came back to Step 7 and assign the Text file then it is accepting. What is the reason?
    2. Even though It will allow to execute the Read Data steps I am getting the Header data only not getting the BOM Components data. Results data as follows,
    LSM Workbench: Import Data For BOM, BOM, BOM
    19.02.2010 - 14:45:57
    File(s) Read:       C:\Documents and Settings\Administrator\Desktop\BOM Header.txt
                               C:\Documents and Settings\Administrator\Desktop\BOM ITEM.txt
    File Written:         BOM_BOM_BOM.lsmw.read
    Source Structure             Read      Written        Not Written
    BOMHEADER                        2            2                  0
    BOMITEM                              2            0                  2
    Transactions Read:                   2
    Records Read:                          2
    Transactions Written:                2
    Records Written:                       2
    Can any one help me in this regards.
    Regards,
    Muthamil Murugan

    Hi Girish,
      Can you please explain my queries,
      1.  How can I  maintain Source structure like as follows,
    BOM - BOM - BOM Bill of Material Creation
    Source Structures
            BOMHEADER                Bill of Material Header
                BOMITEM                  BOM ITEM DATA
    2.  Just tell me the method of Maintaining source field, why  i am asking you that I enter manually in table maintenance, whether i am right ?
    3. During source structure maintenance for what structure relationship I have to assign source structure.
    4.During field mapping and conversion rule, I got no fields relates to BOM creation, what I did is just directly go to Extras in menu and choose Auto field mapping, am I right just tell me your suggestion in detail.
    5. During specify files execution I got the screen as follows,
    BOM - BOM - BOM Bill of Material Creation
    Files
                Legacy Data          On the PC (Frontend)
                BOM Header          C:\Documents and Settings\Administrator\Desktop\BOM Header.t
                                               Data for One Source Structure (Table)
                                               Separator Comma
                                               Field Names at Start of File
                                               With Record End Indicator (Text File)
                                               Code Page ASCII
                BOM ITEM DATA    C:\Documents and Settings\Administrator\Desktop\BOM ITEM.txt
                                               Data for One Source Structure (Table)
                                               Separator Comma
                                               Field Order Matches Source Structure Definition
                                               With Record End Indicator (Text File)
                                               Code Page ASCII
            Legacy Data               On the R/3 server (application server)
            Imported Data             File for Imported Data (Application Server)
                Imported Data         BOM_BOM_BOM.lsmw.read
            Converted Data           File for Converted Data (Application Server)
                Converted Data      BOM_BOM_BOM.lsmw.conv
                                               Logical Path BOM_BOM_BOM.LSMW.CONV
                                               Logical File BOM_BOM_BOM.LSMW.CONV
            Wildcard Value          Value for Wildcard '*' in File Name
    Can you brief me in details in the above thing If I did any mistake.
    Waiting for your reply,
    Regards,
    Muthamil

  • Problem while writing the data (LSMW direct input method for Creating BOM )

    Hi all ,
    I am unable to create a BOM using LSMW standard dirrect input mehtod .
    While i going through the *Read data *  step , it is reading the data but unable to write the data .
    My input text files are correct , Is it a problem with respect to the Logical Path or Logical File ......
    Please let me know the Possibilities of arising this problem .
    Regards,
    Raj

    Hi,
      Check this document:
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/90d90895-68dd-2a10-f096-bf8cf2e2f65b
    cheers
    Aveek

  • Request for detailed acts to upload Work center,  BOM, Routing data in LSMW

    Hello PP ANgels,
    Request for detailed actions to upload Work center/Resource,  BOM, Routing/Recipe data in LSMW.
    Thanks in advance

    Sanjay,
    In the forum I found that you had used some "drops", that require a password to view.
    In these forums, the only links I post are public (help.sap.com) and from SAP support (service.sap.com/support).  SAP Support is mostly available only to customers and partners of SAP.  If you meet these criteria, and need a login for the SAP support site, contact the license administrator for your company's SAP licence (this is usually a Basis person).  If you cannot locate this person in your company, contact Service Marketplace directly (service.sap.com/mp).  Alternatively you can contact your local SAP Sales office and speak to your account administrator.
    Maybe it would be a better idea to group all standard solutions in one place.
    I expect it will be so...in Nirvana.  Here, life still entails suffering.
    With respect to your detailed questions, I would have a hard time answering, I have never used recordings in LSMW to create work centers, I always use standard batch/direct input.  I suspect that the VGEXX items are the units of measure from CRHD, I suspect LARXX items are activities from CSSL, and I couldn't comment on FORXX items without doing some research.
    This is the SCM PP forum.  You might get more answers posting this in the ERP PP forum SAP ERP Manufacturing - Production Planning (SAP PP) , since work centers/routings/recipes/BOMs are more or less irrelevant in SCM.
    Sorry I couldn't be of more assistance.
    Best Regards,
    DB49

  • LSMW FOR BOM CREATING.

    Hi Guys,
    I have a requirement where i create lsmw for bom upload using batch input. I m trying to create only one source structure and source fields assigned to this source structure but when finally im executing it its creating the first line item correctly but for all the second line items onwards its saying that Alternative already exists... My functional guy says that its creating just the first component in the bom and for the second component its trying to create another bom...and while its checking for the header which is already created its giving us error..
    I dont know how to handle this.....guys its a little urgent....plz help me out.
    here is a snap shot of the errors..
    10:25:44     Session BOM-CREATE is being processed by user KALVALV in mode N on server psdux07                              0                                                           0     S     00     300
    10:25:44     Creating BOM for material 10000240     CS01     1     SAPLCSDI     0140     7     S     29     030
    10:25:45     Transaction was processed successfully     CS01     1                                                           0     S     00     355
    10:25:45     Alternative 1 already exists     CS01     2     SAPLCSDI     0100     1     E     29     003
    10:25:45     Transaction error     CS01     2                                                           0     S     00     357
    10:25:45     Creating BOM for material 10000346     CS01     3     SAPLCSDI     0140     7     S     29     030
    10:25:45     Transaction was processed successfully     CS01     3                                                           0     S     00     355
    10:25:45     Alternative 1 already exists     CS01     4     SAPLCSDI     0100     1     E     29     003
    10:25:45     Transaction error     CS01     4                                                           0     S     00     357
    10:25:45     Creating BOM for material 10000347     CS01     5     SAPLCSDI     0140     7     S     29     030
    10:25:46     Transaction was processed successfully     CS01     5                                                           0     S     00     355
    10:25:46     Alternative 1 already exists     CS01     6     SAPLCSDI     0100     1     E     29     003
    10:25:46     Transaction error     CS01     6                                                           0     S     00     357
    10:25:46     Creating BOM for material 10000785     CS01     7     SAPLCSDI     0140     7     S     29     030
    10:25:46     Transaction was processed successfully     CS01     7                                                           0     S     00     355
    10:25:46     Alternative 1 already exists     CS01     8     SAPLCSDI     0100     1     E     29     003
    10:25:46     Transaction error     CS01     8                                                           0     S     00     357
    10:25:46     Creating BOM for material 10001252     CS01     9     SAPLCSDI     0140     7     S     29     030
    10:25:46     Transaction was processed successfully     CS01     9                                                           0     S     00     355

    Hi,
    You need to define the two structure header and detail. Both files should have the key fields:
    For example: Both file have Plant, Material Number, BOM Usage & Valid From.
    Then BGR00 and BICSK should be mapped to BOM_HEADER and BICSP to BOM_DETAIL structure.
    Then just do the mapping and should work.
    Hope this helps.
    Regards,
    Bharati Singh

  • Issue during BOM LSMW changes...

    Hello,
    We have created BOM through LSMW but now we have an issue.
    The base quantity was incorrectly uploaded as 100 EA instead of 1 EA.
    Now we we try to change it though the LSMW it does not changes as it might have to go to 2 screens.
    Is there a way where we can do a mass changes/LSMW to that field to change it 1 EA.
    Let me know
    Thanks
    SAP Fans...

    Hi,
    If u know the BOMs that have been created with incorrect quantity then u can do a recording using CS02 to change the quantity and upload the file with BOM and changed quantity.
    Else if u want to upload the same file that you have used to create the BOM for changing, then u need to have a select query in LSMW in Maintain field mapping and conversion rules step at the event __BEGIN_OF_PROCESSING__ and use the CS02 recording.
    Hope it is clear.
    Regards,
    Asif Ali Khan

  • LSMW Batch Input Recording for Create BOM

    Dear All,
    I want to do LSMW for Creating BOM using Batch Input Recording,
    I know that i have to make 2 time Recording, first for the BOM Header and second for the BOM item
    For the BOM header i have done it, but for the BOM item i got some trouble with the item number (POSNR),
    when i run the LSMW, for the first item (item 0010) was success, but for the item 0020, it can't work and i got error
    message " NO BATCH INPUT FOR SAPLCSDI 0150"
    How is the recording step by step for BOM Item so the Item number can increase well?
    Very need your help,
    Regards,
    Marufat

    Hello Santosh,
    Thanks for the reply,
    I already check in SM35 where i also thought that the main problem is about adding the new item number,
    but when i tried to do repeat recording, i can not find any entry for adding the line item, so the line item after 0010 cannot be input
    Is there any solution?
    Regards,
    Marufat

  • Data conversion of material BOM by LSMW

    Hi,
    Right now I try to work on LSMW setting for data conversion of material BOM. However, I forgot how to set
    the linkage of BOM header & item at LSMW since my last
    experience was 1 year ago. I have set up 2 source structures, BOM_HD (header) & BOM_IT (item) from 2 files. Both source
    structures contain one same source field, BOM_ID. From this identical BOM_ID field, the linkage of BOM header and items is set up between 2 files. Can
    anyone know how to make the setting at LSMW ?
    Thanks.
    Regards,
    Nancy

    hello nancy,
    their is no need of getting seperate reacording for both header and item. it will be enough if with only one in th lsmw in the first step u select the direct input method
    and at source structure level create two strucutres such that one can be for header and the other would be for item
    then in the same way while specifying file give first the header file and then the item file.
    at the same step check whether the convert data is getting the logical path and file name or not if u dont then double click at that possition and create it. then ur recording will be done perfectly.
    if u want the entire steps with screen shot i can send u

  • Bom for lsmw

    Hi friends,
    I want to upload the bom through lsmw. I have created two sourct structures.
    1. Header level
    2 low level is item level.
    How to assign the excel sheets for these two structures.
    Please explain the steps for uploading the bom
    Please help me on this
    Venkat

    Dear Venket
    Please refer the below thread for your requirement :
    1.How to upload the Excel sheet into SAP
    2.How to transfer data from excel sheet to SAP data base ?
    3.Material master upload thro' LSMW using Multiple tabs of excel sheet:
    4.uploading data in exel sheet
    5.Load excel sheet
    Hope this will be useful
    Regards
    JH

  • LSMW creation for BOM

    Hi Abapers,
         I have got an assignment to create a LSMW to accomplish the loading of Bill of material but I have never done LSMW
    before. So Can anybody please tell me that out of four processes in LSMW which one I should use and the flow of that.
    Thanks in Advance
    Deepa

    Hi Deepa,
    I have used bdc for bom creation as I got stuck while using lsmw. I am attaching code snippet for your reference.
    Hope this helps
    loop at itab1.
          move itab1 to wa_itab1.
          perform map_rec.
          call transaction 'CS01' using t_bdcdata mode p_mode update 'A'
          messages into messtab .
    *    clear: wa_itab1,wa_itab2, t_bdcdata.
    *    refresh t_bdcdata.
          loop at messtab where msgtyp = 'E' or msgtyp = 'S' .
            select single * from t100 where sprsl = messtab-msgspra
                                      and   arbgb = messtab-msgid
                                      and   msgnr = messtab-msgnr.
            if sy-subrc = 0.
              mstring = t100-text.
              if mstring cs '&1'.
                replace '&1' with messtab-msgv1 into mstring.
                replace '&2' with messtab-msgv2 into mstring.
                replace '&3' with messtab-msgv3 into mstring.
                replace '&4' with messtab-msgv4 into mstring.
              else.
                replace '&' with messtab-msgv1 into mstring.
                replace '&' with messtab-msgv2 into mstring.
                replace '&' with messtab-msgv3 into mstring.
                replace '&' with messtab-msgv4 into mstring.
              endif.
              condense mstring.
              it_messtab-message = mstring(300).
              it_messtab-plant = itab1-matnr.
              if messtab-msgtyp = 'E'.
                it_messtab-status = 'Error'.
              else.
                it_messtab-status = 'Success'.
              endif.
              append it_messtab.
              clear it_messtab.
            endif.
          endloop. "messtab
          clear: wa_itab1,wa_itab2, t_bdcdata.
          refresh t_bdcdata.
        endloop.
        if not it_messtab[] is initial.
          perform buildcatalog.
          perform display.
        endif.
      endif.
    *&      Form  Map_Rec
    *       text
    form  map_rec.
      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'   wa_itab1-matnr."'505111'.
      perform bdc_field       using 'RC29N-WERKS'   wa_itab1-werks."'2245'.
      perform bdc_field       using 'RC29N-STLAN'   wa_itab1-stlan."'1'.
      perform bdc_field       using 'RC29N-STLAL'   wa_itab1-stlal."'01'.
      perform bdc_dynpro      using 'SAPLCSDI'     '0110'.
      perform bdc_field       using 'BDC_CURSOR'   'RC29K-BMENG'.
      perform bdc_field       using 'BDC_OKCODE'    '/00'.
      perform bdc_field       using 'RC29K-BMENG'   wa_itab1-bmeng."'1000'.
      perform bdc_field       using 'RC29K-STLST'   '1'.
      perform bdc_dynpro      using 'SAPLCSDI'      '0111'.
      perform bdc_field       using 'BDC_CURSOR'    'RC29K-LABOR'.
      perform bdc_field       using 'BDC_OKCODE'    '/00'.
      loop at itab2 where matnr = wa_itab1-matnr
                    and werks = wa_itab1-werks.
        append itab2 to itab3.
        clear : itab2, itab3.
      endloop.
      count = '1'.   "Used as a flag
      clear no_lines.
      describe table itab3 lines no_lines.
      loop at itab3.
        perform bdc_dynpro      using 'SAPLCSDI'         '0140'.
        perform bdc_field       using 'BDC_CURSOR'        'RC29P-POSTP(01)'.
        if itab3-posnr = '01'.
          perform bdc_dynpro      using 'SAPLCSDI' '0140'.
          perform bdc_field       using 'BDC_CURSOR'      'RC29P-POSTP(01)'.
          perform bdc_field       using 'BDC_OKCODE'     '/00'.
          perform bdc_field       using 'RC29P-IDNRK(01)'   itab3-idnrk." '49500'.
          perform bdc_field       using 'RC29P-MENGE(01)'    itab3-menge."'20'.
          perform bdc_field       using 'RC29P-MEINS(01)'    itab3-meins. "'kg'.
          perform bdc_field       using 'RC29P-POSTP(01)'    itab3-postp.      "'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'        itab3-idnrk." '49500'.
          perform bdc_field       using 'RC29P-MENGE'       itab3-menge."'20'.
          perform bdc_field       using 'RC29P-MEINS'       itab3-meins. "'KG'.
          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'.
        else.
    ***" Ok Code for saving, Corr. to Last line
          if count = no_lines.
            perform bdc_dynpro      using 'SAPLCSDI' '0140'.
            perform bdc_field       using 'BDC_CURSOR'
                                          'RC29P-POSNR(02)'.
            perform bdc_field       using 'BDC_OKCODE'
                                          '=FCBU'.
          else.     "Ok Code for new line entry
                  perform bdc_dynpro      using 'SAPLCSDI' '0140'.
            perform bdc_field       using 'BDC_CURSOR'
                                          'RC29P-POSNR(02)'.
            perform bdc_field       using 'BDC_OKCODE'
                                          '=FCNP'.
          endif.
          perform bdc_dynpro      using 'SAPLCSDI' '0140'.
          perform bdc_field       using 'BDC_CURSOR'
                                        'RC29P-POSNR(02)'.
          perform bdc_field       using 'BDC_OKCODE'
                                        '/00'.
          perform bdc_field       using 'RC29P-IDNRK(02)'
                                        itab3-idnrk.            "'49502'.
          perform bdc_field       using 'RC29P-MENGE(02)'
                                        itab3-menge.            "'10'.
          perform bdc_field       using 'RC29P-MEINS(02)'
                                        itab3-meins.    "'kg'.
          perform bdc_field       using 'RC29P-POSTP(02)'
                                        itab3-postp.    "'L'.
          perform bdc_dynpro      using 'SAPLCSDI' '0130'.
          perform bdc_field       using 'BDC_OKCODE'
                                        '/00'.
          perform bdc_field       using 'BDC_CURSOR'
                                        'RC29P-POSNR'.
          w_posnr = itab3-posnr * 10.
          condense w_posnr no-gaps.
          if w_posnr <= '90'.
            concatenate '00' w_posnr into w_posnr.
          else.
            concatenate '0' w_posnr into w_posnr.
          endif.
          perform bdc_field       using 'RC29P-POSNR'
                                        w_posnr.                "'0020'.
          perform bdc_field       using 'RC29P-IDNRK'
                                        itab3-idnrk.            "'49502'.
          perform bdc_field       using 'RC29P-MENGE'
                                        itab3-menge.            "'10'.
          perform bdc_field       using 'RC29P-MEINS'
                                        itab3-meins.    "'KG'.
          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'.
          count = count + 1.  "Increment count for every line item
        endif.
      at end of matnr.
      perform bdc_dynpro      using 'SAPLCSDI' '0140'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'RC29P-POSNR(01)'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=FCBU'.
    endat.
      endloop.
    clear itab3[].
    endform. "Map_Rec
    **      Form  BDC_DYNPRO
    form bdc_dynpro using program dynpro.
      clear w_bdcdata.
      w_bdcdata-program  = program.
      w_bdcdata-dynpro   = dynpro.
      w_bdcdata-dynbegin = 'X'.
      append w_bdcdata to t_bdcdata.
    endform.                    "bdc_dynpro
    **      Form  BDC_FIELD
    form bdc_field using fnam fval.
      if fval <> space.
        clear w_bdcdata.
        w_bdcdata-fnam = fnam.
        w_bdcdata-fval = fval.
        append w_bdcdata to t_bdcdata.
      else.
        clear w_bdcdata.
        w_bdcdata-fnam = fnam.
        w_bdcdata-fval = fval.
        append w_bdcdata to t_bdcdata.
      endif.
    endform.                    "bdc_field

Maybe you are looking for