Step-by-step BDC upload

can u send me the step by step process for a BDC program
i had given a excel sheet with field names and length .....that is to be uploaded
it is material master(MM01)
thanks in advance

Hi,
for the bdc upload
step1. go to the Transaction SHDb and create a new recording for the transaction MM01 and save the recording.
step 2: from the same transaction select the recording and go the program.
Note: if you have ur file in presentation server insted  of open dataset use gui_upload.
make the needed necessary changes in the coding.
i've attached the sample coding, keep that as reference and do according to your need.
REPORT zmm01_bdc
       NO STANDARD PAGE HEADING LINE-SIZE 255.
INCLUDE bdcrecx1.
DATA: dataset(132) TYPE c.
   DO NOT CHANGE - the generated data section - DO NOT CHANGE    ***
  If it is nessesary to change the data section use the rules:
  1.) Each definition of a field exists of two lines
  2.) The first line shows exactly the comment
      '* data element: ' followed with the data element
      which describes the field.
      If you don't have a data element use the
      comment without a data element name
  3.) The second line shows the fieldname of the
      structure, the fieldname must consist of
      a fieldname and optional the character '_' and
      three numbers and the field length in brackets
  4.) Each field must be type C.
Generated data section with specific formatting - DO NOT CHANGE  ***
DATA: BEGIN OF record,
data element: MATNR
        matnr_001(018),
data element: MBRSH
        mbrsh_002(001),
data element: MTART
        mtart_003(004),
data element: XFELD
        kzsel_01_004(001),
data element: XFELD
        kzsel_02_005(001),
data element: MATNR
        matnr_006(018),
data element: MBRSH
        mbrsh_007(001),
data element: MTART
        mtart_008(004),
data element: XFELD
        kzsel_01_009(001),
data element: XFELD
        kzsel_02_010(001),
data element: MAKTX
        maktx_011(040),
data element: MEINS
        meins_012(003),
data element: MATKL
        matkl_013(009),
data element: MTPOS_MARA
        mtpos_mara_014(004),
data element: MAKTX
        maktx_015(040),
      END OF record.
DATA l_lines TYPE i .
DATA it_record LIKE TABLE OF record WITH HEADER LINE .
DATA wa_record LIKE record .
End generated data section ***
START-OF-SELECTION.
  CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
      filename                      ='C:\MM01_FILE.TXT'
     filetype                      = 'ASC'
     has_field_separator           = '#'
  HEADER_LENGTH                 = 0
  READ_BY_LINE                  = 'X'
  DAT_MODE                      = ' '
  CODEPAGE                      = ' '
  IGNORE_CERR                   = ABAP_TRUE
  REPLACEMENT                   = '#'
  CHECK_BOM                     = ' '
IMPORTING
  FILELENGTH                    =
  HEADER                        =
    TABLES
      data_tab                      = it_record
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_dataset USING dataset.
  PERFORM open_group.
  DO.
    READ DATASET dataset INTO record.
    IF sy-subrc <> 0. EXIT. ENDIF.
    LOOP AT it_record INTO wa_record.
      PERFORM bdc_dynpro      USING 'SAPLMGMM' '0060'.
      PERFORM bdc_field       USING 'BDC_CURSOR'
                                    'RMMG1-MTART'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '/00'.
      PERFORM bdc_field       USING 'RMMG1-MATNR'
                                    record-matnr_001.
      PERFORM bdc_field       USING 'RMMG1-MBRSH'
                                    record-mbrsh_002.
      PERFORM bdc_field       USING 'RMMG1-MTART'
                                    record-mtart_003.
      PERFORM bdc_dynpro      USING 'SAPLMGMM' '0070'.
      PERFORM bdc_field       USING 'BDC_CURSOR'
                                    'MSICHTAUSW-DYTXT(02)'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '=ENTR'.
      PERFORM bdc_field       USING 'MSICHTAUSW-KZSEL(01)'
                                    record-kzsel_01_004.
      PERFORM bdc_field       USING 'MSICHTAUSW-KZSEL(02)'
                                    record-kzsel_02_005.
      PERFORM bdc_dynpro      USING 'SAPLMGMM' '0060'.
      PERFORM bdc_field       USING 'BDC_CURSOR'
                                    'RMMG1-MATNR'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '/00'.
      PERFORM bdc_field       USING 'RMMG1-MATNR'
                                    record-matnr_006.
      PERFORM bdc_field       USING 'RMMG1-MBRSH'
                                    record-mbrsh_007.
      PERFORM bdc_field       USING 'RMMG1-MTART'
                                    record-mtart_008.
      PERFORM bdc_dynpro      USING 'SAPLMGMM' '0070'.
      PERFORM bdc_field       USING 'BDC_CURSOR'
                                    'MSICHTAUSW-DYTXT(02)'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '=ENTR'.
      PERFORM bdc_field       USING 'MSICHTAUSW-KZSEL(01)'
                                    record-kzsel_01_009.
      PERFORM bdc_field       USING 'MSICHTAUSW-KZSEL(02)'
                                    record-kzsel_02_010.
      PERFORM bdc_dynpro      USING 'SAPLMGMM' '4004'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '/00'.
      PERFORM bdc_field       USING 'MAKT-MAKTX'
                                    record-maktx_011.
      PERFORM bdc_field       USING 'BDC_CURSOR'
                                    'MARA-MATKL'.
      PERFORM bdc_field       USING 'MARA-MEINS'
                                    record-meins_012.
      PERFORM bdc_field       USING 'MARA-MATKL'
                                    record-matkl_013.
      PERFORM bdc_field       USING 'MARA-MTPOS_MARA'
                                    record-mtpos_mara_014.
      PERFORM bdc_dynpro      USING 'SAPLMGMM' '4004'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '/00'.
      PERFORM bdc_field       USING 'BDC_CURSOR'
                                    'MAKT-MAKTX'.
      PERFORM bdc_field       USING 'MAKT-MAKTX'
                                    record-maktx_015.
      PERFORM bdc_dynpro      USING 'SAPLSPO1' '0300'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '=YES'.
      PERFORM bdc_transaction USING 'MM01'.
ENDDO.
  PERFORM close_group.
  PERFORM close_dataset USING dataset.

Similar Messages

  • Steps to upload vendor invoice(tcode fb60) in bdc

    hi, iam srinivas can any one plz send me the steps to upload veneor invoice tcode is (fb60).i dont want the code but i want the steps to create .
    thanks and regards.
    Srinivas.

    refer this site.
    FI_AP_FBR2_Post_With_Reference (FBR2)
    Business Process Description Overview
    Use this procedure to copy a previously posted non-PO invoice document that uses many of the same values.
    This may help reduce data entry time if used correctly.  For example, the library invoice vouchers that have the same vendor but many invoices on them might be a good example of when to use this transaction code.
    Trigger
    Perform this procedure when there is an invoice that needs to have data entered where most of the fields are the same as a prior invoice document already entered in the system.
    Prerequisites
    ·         Security Role:  AP_DIR_INV_ENTRY
    ·         An FB60 invoice has already been data entered.
    Menu Path
    None
    Transaction Code
    FBR2
    Tips and Tricks
    ·         If you would like to save this transaction under your "Favorites" folder, right-click on the "Favorites" folder, select "Insert Transaction" and type in this t-code when the box appears.
    ·         You may use the transaction code:  search_sap_menu to search for a transaction codes menu path.
    Procedure
    Enter Vendor Invoice: Company Code PUR
    Typically the FBR2 - Post With Reference transaction is accessed from the Financial transaction code that you just used.  For Accounts Payable, typically we would use the FB60 transaction code to enter invoices that are not PO-related.  After you have entered an invoice, you can now post a second invoice.  Feel free to post an invoice in DEV to the Vendor ID number:  31.  Choose today's date as the Invoice Date.  Enter a Vendor Invoice in the Reference Field. Enter $1000 as the Amount.  Enter a Text that you want to show on the remittance advice to the vendor.  Choose your own GL Account and Cost Center.  Enter 21010000 as the Fund.  Make sure to also enter $1000 in the Amount in doc. curr. field.
        Please be aware that the FB60 screenshot above is using the ZPurdue Variant so unless you are also using that same variant the order of your columns may differ.
        Refer to FB60 documentation for more information regarding entering a non-PO related invoice.
        After an invoice has been entered, you may proceed to step 1.  If you prefer not to enter an FB60 invoice then after you open FB60, immediately do step 1, but enter "1900001354" in the Document Number field.
    1.       Select Goto Post with reference           Shift+F9 to go to the FBR2 transaction.
    Post Document: Header Data
    The document number you just entered in FB60 should now display.  If you did not first enter your own FB60 invoice, please enter 1900001354 in the Document Number field.  Make sure Company Code is PUR and Fiscal Year is 2007.
        If you did enter your own FB60 invoice to reference to, please be aware that the data entry fields will have different content in the screen shots than what you are seeing on your screen.
    2.       Click  or the "Enter" key to proceed.
    Post Document: Header Data
    Because we want to avoid paying the same invoice twice, we must change the reference field to another Vendor Invoice text.
    3.       As required, complete/review the following fields:
    Field Name
    R/O/C
    Description
    Reference
    R
    Allows for further clarification of an entry by reference to other sources of information, either internal or external to SAP.  Any SAP-posted document number can be used as a "reference" when entering a new document.
    Example:          VENDORINVOICE#2
        Your reference number should be different than the one above.  Otherwise, the system will think you are entering a duplicate invoice.  Please change your text slightly.
    Post Document: Header Data
    4.       Click  or the "Enter" key to proceed.
    Post Document Display Overview
    You are now viewing the document overview screen.
    5.       Double-click  to open that line item.
    Post Document Correct Vendor item
    When you open the Vendor line item, you may change the Text field here to change what appears on the remittance advice.
    6.       As required, complete/review the following fields:
    Field Name
    R/O/C
    Description
    Text
    O
    Description field for an entry.
    Example:          prints on remittance advice - for second invoice
    Post Document Correct Vendor item
    7.       Click  to return to the document overview screen.
    Post Document Display Overview
    The document overview screen.
    8.       Click  to post this second invoice which has the same fields as the original except a different vendor invoice number and a different remittance advice text.
    Information
    Pending upon your user settings, you may not get this pop up box, but just a message in the bottom left hand corner of the screen.
    9.       Click  to close the box.
    Enter Vendor Invoice: Company Code PUR
    Because you used the menu (Goto Post with reference) from FB60 to access the FBR2 transaction code, you are then returned to the FB60 transaction after you have posted the invoice.
    10.     Another way to access FBR2 is to just type the t-code in the field at the top of the screen.  As required, complete/review the following fields:
    Field Name
    R/O/C
    Description
    Transaction Code
    R
    A unique four-character (in most cases) identification assigned to each SAP transaction based on its purpose.
    Example:          /nfbr2
    11.     Click  or the "Enter" key to proceed.
    Post Document: Header Data
    The FBR2 transaction code opens with the last document number entered as the default.
    12.     Click  or the "Enter" key to proceed.
    Post Document: Header Data
    This time we will change the vendor number
    13.     Change the Reference field.  As required, complete/review the following fields:
    Field Name
    R/O/C
    Description
    Reference
    R
    Allows for further clarification of an entry by reference to other sources of information, either internal or external to SAP.  Any SAP-posted document number can be used as a "reference" when entering a new document.
    Example:          VENDORINVOICE
        Your reference number should be different than the one above.  Otherwise, the system will think you are entering a duplicate invoice.  Please change your text slightly.
    Post Document: Header Data
    14.     As required, complete/review the following fields:
    Field Name
    R/O/C
    Description
    Account
    R
    Unique identification number. SAP uses several kinds of accounts. SAP's general ledger accounts are similar to standard in most accounting systems. SAP also uses sub-ledger accounts for customers (accounts receivable), vendors (accounts payable), and assets (asset accounts). These sub-ledger accounts roll-up to a general ledger account.
    Example:          5000129
        Vendor 5000129 in DEV has withholding tax applied to it in the vendor master.
    Post Document: Header Data
    15.     Click  or the "Enter" key to proceed.
    Post Document Add Vendor item
    If the vendor invoice date was a date in the past, the due date for pay immediately will be in the past.  You may get the above informational message to alert you of the date.  If you do, just hit the "Enter" key to acknowledge it.
    Enter Withholding Tax Information
    Because this vendor has withholding tax information in its vendor master, you will receive this popup up box.
    16.     Click  to accept it.
        Refer to the Tax Department for more information regarding withholding tax.
    Post Document Display Overview
    You should now see the document overview screen.  If you do not, then click on .
    17.     Double-click  OR click  to open it.
    Post Document Correct Vendor item
    18.     As required, complete/review the following fields:
    Field Name
    R/O/C
    Description
    Text
    O
    Description field for an entry.
    Example:          change remittance advice text
    Post Document Correct Vendor item
    19.     Click  to view that Vendor's Withholding tax information again.
    Enter Withholding Tax Information
        If for some reason, for this invoice the vendor should not have any withholdings, you would enter a 0.00 in both the W/Tax Base and W/Tax Amt fields.
        When using the FBR2 to change withholding tax amounts, you need to be very careful if using this new invoice as the "reference" invoice for the next one.  For example, if you put 0.00 in both W/Tax Base and W/Tax Amt fields then if this is the reference invoice, those 0.00 amounts will automatically be applied to the next; however, you won't see the 0.00 displayed.  The 0.00 will be assumed.
    20.     Click  to close the box.
    Post Document Correct Vendor item
    21.     Click  to post the invoice.
    Post Document: Header Data
    Your new document number will display in the bottom left hand corner.  Pending upon your user settings, you may also get a pop up box to acknowledge.
    You have posted another invoice, but this time you changed the vendor ID used, the vendor invoice, and the text on the remittance advice.
        Notice that the "Document Number" field now defaults to the newly posted invoice number.
        Because you entered FBR2 in the transaction code field to access this screen, when you post an invoice you are returned to the beginning of the FBR2 screen.  Remember, when you accessed it from the menu line of FB60?  If you access it that way, you are then returned to FB60 after the Post with Reference document is posted.
    22.     Because you are returned to the start of FBR2 again, you may just click  or the "Enter" key to proceed.
    Post Document: Header Data
    Now you are at the start of entering a new invoice again.
    23.     Click  to return to the main menu without finishing the process of entering another invoice.
    24.     You have completed this transaction.
    Result
    You have posted two documents by using a reference document.  This reduced the data entry required since it defaults the fields from the reference document.
    Comments
    Be very careful using this transaction if you change withholding tax amounts.
    To see the results/calculations of discounts and withholdings, you must run F110, the Payment Program.
    http://www.purdue.edu/onepurduehelp/content/fi_ap_fbr2_post_with_reference/wi/html/index.htm
    Message was edited by:
            Karthikeyan Pandurangan
    Message was edited by:
            Karthikeyan Pandurangan

  • Please send detail steps for uploading legacy data

    Hi friends,
    please send detail steps for uploading legacy data
    Thanking u in advance,
    Diwa.

    HI U CAN USE LSMW TO UPLOAD LEGACY DATA
    LSMW is used for migrating data from a legacy system to SAP system, or from one SAP system to another.
    Apart from standard batch/direct input and recordings, BAPI and IDocs are available as additional import methods for processing the legacy data.
    The LSMW comprises the following main steps:
    Read data (legacy data in spreadsheet tables and/or sequential files).
    Convert data (from the source into the target format).
    Import data (to the database used by the R/3 application.
    But, before these steps, you need to perform following steps :
    Define source structure : structure of data in the source file.
    Define target structure : structure of SAP that receives data.
    Field mapping: Mapping between the source and target structure with conversions, if any.
    Specify file: location of the source file
    Of all the methods used for data migration like BDC, LSMW , Call Transaction which one is used most of the time?
    How is the decision made which method should be followed? What is the procedure followed for this analysis?
    All the 3 methods are used to migrate data. Selection of these methods depends on the scenario, amount of data need to transfer. LSMW is a ready  tool provided by SAP and you have to follow some 17 steps to migrate master data. While in BDCs Session method is the better choice because of some advantages over call transaction. But call transaction is also very useful to do immediate updation of small amout of data. (In call transaction developer has to handle errors).
    SO Bottom line is make choice of these methods based of real time requirements.
    These methods are chosen completely based on situation you are in. Direct input method is not available for all scenario, else, they are the simplest ones. In batch input method ,you need to do recording for the transaction concerned. Similarly, IDoc, and BAPI are there, and use of these need to be decided based on the requirement.
    Try to go through the some material on these four methods, and implement them.  You will then have a fair idea about when to use which.
    LSMW Steps For Data Migration
    How to develop a lsmw for data migration for va01 or xk01 transaction?
    You can create lsmw for data migration as follows (using session method):
    Example for xk01 (create vendor)
    Initially there will be 20 steps but after processing 1 step it will reduced to 14 for session method.
    1. TCode : LSMW.
    2. Enter Project name, sub project name and object name.
        Execute.
    3. Maintain object attributes.
        Execute
        select Batch Input recording
        goto->Recording overview
        create
        recording name.
        enter transaction code.
        start recording
        do recording as per ur choice.
        save + back.
        enter recording name in lsmw screen.
        save + back
    Now there will be 14 steps.
    2. MAINTAIN SOURCE STRUCTURES.
        Here you have  to enter the name of internal table.
        display change
        create
        save + back
    3. MAINTAIN SOURCE FIELDS.
        display change
        select structure
        source_fields->copy fields.
        a dialogue window will come .
        select -> from data file
        apply source fields
        enter No. of fields
        length of fields
        attach file
        save + back
    4. MAINTAIN STRUCTURE RELATIONS
        display change
        save + back
    5. MAINTAN FIELD MAPPING & CONVERSION RULE
        display change
        click on source field, select exact field from structue and enter
        repeat these steps for all fields.
        save+back
    6. MAINTAIN FIXED VALUES, TRANSACTION, USER DEFINED
        execute
        save + back
    7. SPECIFY FILES.
        display change
        click on legacy data
        attah flat file
        give description
        select tabulatore
        enter
        save + back
    8. ASSIGN FILE
        execute
        display  change
        save + back
    9. IMPORT DATA.
        execute
        display  change
        save + back
    10. DISPLAY IMPORTED DATA
          enter ok, it willl show records only.
          back
    11. CONVERT DATA
          execute
          display  change
          save + back
    12. DISPLAY CONVERTED DATA
          execute
          display  change
          save + back
    13. CREATE BATCH INPUT SESSION
          tick keep batch input folder
          F8
          back
    14. RUN BATCH INPUT SESSION.
          sm35 will come
          Object name will be shown here
          select object & process

  • " steps to upload data from R/3 to BO ! "

    Hai  Friends ,
                           Can  anyone let me the steps to upload the data from R/3  to BO tools .

    Hi,
    In ref to you query please post your query to the Inegrationforum.
    [SAP Business One Integration Technology;
    Regards,
    Rakesh N

  • Another iTunes Match Step 3 upload question

    iTunes Match keeps failing on Step 3: Uploading artwork and remaining songs.
    It completes steps 1 and 2, but then shortly after it starts step 3, my cable modem acts as if it has lost connectivity (lights go dim), Airport Extreme goes blinky yellow, and then both recover. If they can recover before iTunes Match times out, then the process continues; otherwise, the Stop button changes to Start, and I have to start over from step 1. The last attempt was a relatively big one--I got 67 items to upload.
    My cable modem/Airport Extreme work flawlessly otherwise; this happens only during Step 3. I removed and reapplied power to both the cable modem and Airport Extreme, and I restarted the computer. What is going on here, and is there any way to keep iTunes Match from timing out (can the timeout interval be changed)?
    Why is it necessary to keep repeating steps 1 and 2? The software should know where to resume. I have 4800 items to upload, and this is going to take forever. Not a good impression.

    More information. I'm directly connected to cable modem (and have been), so Airport Extreme is not in the picture, other than that it's still running for my iPad and iPhone to connect to the Interwebs.
    Whenever Match stops when trying to upload a song, I find the album and delete it. Then I start over. I now have half of my connection matched and a very small part of the rest uploaded. If I keep deleting albums, I guess my problem will be solved because there will be nothing to upload. I don't think this is how Match is supposed to work.
    It's been all of a day since I signed up, and I've spent hours trying to resolve this. Is there any documentation beyond the feeble "Troubleshooting iTunes Match" document? It's not crashing, so I don't have any errors to refer to. It just hangs and then stops.

  • Any comprehensive STEP-BY-STEP for uploading my ORIGINAL albums and singles to iTunes?

    Any comprehensive STEP-BY-STEP for uploading my ORIGINAL albums and singles to SELL over iTunes?
    This are all original (C)All rights reserved music, and I want it to be available over iTunes to sell as tracks or full album.
    Thanks!

    HelliXSystems wrote:
    But this are companies.
    Yes, they will do everything needed to get your music into iTunes. It is far easier to do it this way.
    Most simply charge a small flat rate (~$10 a song, $40 an album).
    If you want to do it yourself, you will need to register with Apple.
    You will need to have at least 20 albums in yoru catalog.
    See this -> https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa/wo/2.0.0.9.7.3.1.1
    (emphasis mine)
    The requirements to work directly with Apple are listed below. If you do not meet all of these requirements, you can work with an Apple-approved aggregator instead. Aggregators are third parties that can help you meet technical requirements, deliver and manage your content, and assist with marketing efforts.
    Technical Requirements:
    A Mac running OS X 10.5.8 or later
    At least 512 MB RAM
    QuickTime 7.0.3 or later. This is so you can encode and deliver content using our dedicated software.
    For optimal performance, use an Intel-based Mac running Mac OS X 10.5 or later. However, PowerPC G4 and G5 are also supported.
    At least 20 GB of available hard drive space (more for larger catalogs) is recommended.
    A broadband internet connection with an upload rate of 1 MB/sec or faster is recommended.
    To deliver music video or concert film content to the iTunes Store, you must use an Apple-approved encoding house. Encoding houses typically charge fees for their services. Learn more about the differences between encoding houses and aggregators.
    Content Requirements:
    At least 20 albums in your catalog
    UPCs/EANs/JANs for all products you intend to distribute
    ISRCs for all tracks you intend to distribute
    Financial Requirements:
    A U.S. Tax ID
    A valid iTunes Store account, with a credit card on file
    Apple does not pay partners until they meet payment requirements and earning thresholds in each territory. (This means you will not get paid until you sell a certain minimum amount of content) You should consider this before applying to work directly with Apple as you may receive payments faster by working with an Apple-approved aggregator.
    If you meet these requirements and wish to apply, click Continue.
    Note: Meeting these requirements and submitting an application does not guarantee that Apple will work directly with you. You may still be referred to an Apple-approved aggregator.
    Interested in working through a third party to sell content on the iTunes Store? Contact an Apple-approved aggregator.

  • ITunes Match quitting unexpectedly before Step 3 (uploading process)

    I have around a 9000 song library, and about 3/4 of that were matched in the iTunes Store no problem, so I can access that pretty easy. When I first set up iTunes Match to match my entire library, it ran about halfway through Step 3, uploading quite a few songs before quitting unexpectedly on me midpoint. I now have about 80% of my library up in the Cloud, with about 1000 songs left to upload, but any time I open iTunes and turn on iTunes Match, it starts to begin uploading the remaining songs, and before I can even see anything begin to upload, iTunes completely dies on me and quits. I don't know if it's a group of songs I'm trying to upload that are causing the error or not, and even if that was the problem, I have no idea how to find those songs in question. If there's another issue, I'd love to know what could be causing this. I've had nothing but problems since I bought this, and I'd like to have something I paid $25 work the way I want it to.
    Thanks in advance.

    Michael, thanks for all your hardwork on this and I see the intentin in the link provided.  I have the same 2 songs hanging there.  Trying to watch the "Music", which has more than 2 songs uploading, and when it crashes, there are 11 songs downloading.  How does a novice like myself discern what to "delete" with so many moving parts?

  • Step 3: Uploading - Constantly hangs after 1 song uploaded

    Hi Folks
    Having some real difficulty with step 3 of the iTUNES match process on my PC (Windows 7) as was wondering could someone assist.
    Step 3: Uploading.
    Uploads 1 track each time the process is complete and then freezes, hangs etc. Starts the whole process over again after about an hour.
    Some of my files are large, but less than 200mb limit
    Tried deleting the file it kept hanging the upload on, but simply does the same with the next.
    My internet connection is poor, around 2.5mb in speed however albeit slow, i thought it would be an issue.
    Anti-virus is Norton 360 however i have changed all firewall settings (i think) to allow free flowing internet traffic for apple applications, itunes etc.
    I dont want to get into the business of completing removing files and re-adding again as this can cause problems etc if not done right.
    If anyone has any useful tips, hints or miracle cures it would be grealty appreciated.
    From what i can see, this is a major bug bear for a lot of people?
    Thanks
    Simon.

    Hi Folks
    Having some real difficulty with step 3 of the iTUNES match process on my PC (Windows 7) as was wondering could someone assist.
    Step 3: Uploading.
    Uploads 1 track each time the process is complete and then freezes, hangs etc. Starts the whole process over again after about an hour.
    Some of my files are large, but less than 200mb limit
    Tried deleting the file it kept hanging the upload on, but simply does the same with the next.
    My internet connection is poor, around 2.5mb in speed however albeit slow, i thought it would be an issue.
    Anti-virus is Norton 360 however i have changed all firewall settings (i think) to allow free flowing internet traffic for apple applications, itunes etc.
    I dont want to get into the business of completing removing files and re-adding again as this can cause problems etc if not done right.
    If anyone has any useful tips, hints or miracle cures it would be grealty appreciated.
    From what i can see, this is a major bug bear for a lot of people?
    Thanks
    Simon.

  • BDC upload problem in hr master

    Hi,
    we are facing a problem in BDC upload for hr master tcode pa40.
    we want to stop bdc after 2 screens only and not process further screens. how to do this?
    please help
    Thanks.

    Hi,
    If you are using Session Mode :
    After 2nd screen's is porcessed Use \BEND in the ok code field of BDC TABLE.
    This will work,
    Regards,
    Gurpreet.

  • BDC upload program for inoftypes 14 and 168

    Hi All,
    I am uploading IT 14 and 168 through a single BDC program. i am opening the bdc session using
    BDC_OPEN_GROUP before bdc recording. my requirement is to upload IT 168 only when uploading
    of IT 14 is successful. For this i am using the message table of the first upload(for IT14). if the message
    type is 'S'(success) then i am uploading IT168 else i am moving it to an error internal table. Please suugest
    wthr this logic is fine. Also where should i call BDC_CLOSE_GROUP. currently i am calling it after the
    PERFORM for upload of infotype 168 but it is giving error "unable to open BDC_CLOSE_GROUP".
    Can anyone suggest me the solution through some sample code.
    i am attaching here my code for your reference.
    REPORT  ZUSAHR_IN_BN_E_014_168  NO STANDARD PAGE HEADING
                            LINE-COUNT 65 LINE-SIZE 132.
    *=======================================================================
    TYPE-POOLS
    *=======================================================================
    TYPE-POOLS: slis,
                truxs.
    *=======================================================================
    TABLES
    *=======================================================================
    TABLES: pernr.
    *=======================================================================
    INFOTYPES
    *=======================================================================
    INFOTYPES: 0000,                                    "Action
               0014,                                    "Recurring payement/deductions
               0168.                                    "Insurance plan
    *=======================================================================
    TYPES
    *=======================================================================
    TYPES : BEGIN OF t_0014_0168,
             num(20) type c,         "Number
             actcode(1) type c,      "action code
             lgart LIKE p0014-lgart, "Wage Type
            betrg LIKE q0014-betrg, "Amount
             betrg(14) type c, "Amount
             bplan LIKE p0168-bplan, "Benefit plan
             bcovr like p0168-bcovr, "Insurance Option
            END OF t_0014_0168,
            BEGIN OF t_pernr,
              pernr LIKE p0002-pernr,  "personnel number
              perid like p0002-perid,  "SSN
            END OF t_pernr,
            BEGIN OF errmsg,
              pernr LIKE p0014-pernr,  "personnel number
              messg(85),              " message text
            END OF errmsg,
            BEGIN OF succmsg,
              pernr LIKE p0014-pernr,  "personnel number
             messg(85),              " message text
            END OF succmsg.
    *=======================================================================
    INTERNAL TABLES
    *=======================================================================
    DATA : i_itab TYPE STANDARD TABLE OF t_0014_0168,
           i_pernr TYPE STANDARD TABLE OF t_pernr,
           i_bdcitab TYPE STANDARD TABLE OF bdcdata ,
           i_bdcmsgcoll TYPE STANDARD TABLE OF bdcmsgcoll,
           i_errmsg TYPE STANDARD TABLE OF errmsg,
           i_succmsg TYPE STANDARD TABLE OF succmsg.
    *=======================================================================
    RANGES
    *=======================================================================
    *=======================================================================
    DATA DECLARATION
    *=======================================================================
    DATA : messg(85).
    *=======================================================================
    GLOBAL WORKAREAS
    *=======================================================================
    DATA : wa_itab TYPE t_0014_0168,
           wa_pernr TYPE t_pernr,
           wa_bdcitab TYPE bdcdata ,
           wa_bdcmsgcoll TYPE bdcmsgcoll,
           wa_errmsg TYPE errmsg,
           wa_succmsg TYPE succmsg.
    *=======================================================================
    GLOBAL VARIABLES
    *=======================================================================
    DATA : g_n1 TYPE sy-dbcnt.
    *=======================================================================
    GLOBAL CONSTANTS
    *=======================================================================
    DATA : g_x TYPE c VALUE 'X',
           g_asc    TYPE char10 VALUE 'ASC',
           g_xls(3) TYPE c VALUE 'XLS',
           g_f TYPE c VALUE 'F',
           g_1 TYPE c VALUE '1',
           g_0 TYPE c VALUE '0',
           g_u TYPE c VALUE 'U',
           g_int(3) TYPE c VALUE 'INT',
           g_raw(3) TYPE c VALUE 'RAW',
           G_A(1) TYPE C VALUE 'A',
           G_C(1) TYPE C VALUE 'C',
           G_D(1) TYPE C VALUE 'D'.
    *=======================================================================
    SELECTION-SCREEN
    *=======================================================================
    *Block for Additional selection
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS : p_check TYPE char1 DEFAULT 'X', "check box for test run
                 p_file1 TYPE  rlgrap-filename OBLIGATORY, " upload file
                 p_file2 TYPE rlgrap-filename OBLIGATORY, " succ emp
                 p_file3 TYPE rlgrap-filename OBLIGATORY. " err emp
    SELECTION-SCREEN END OF BLOCK b1.
    *=======================================================================
    AT SELECTION-SCREEN
    *=======================================================================
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file1.
      PERFORM sub_file_intake.
    *=======================================================================
    START-OF-SELECTION
    *=======================================================================
    START-OF-SELECTION.
      PERFORM sub_data_upload.
      PERFORM GET_PERNR_SSN.
    *=======================================================================
    END-OF-SELECTION
    *=======================================================================
    END-OF-SELECTION.
    *> upload the data using BDC
      PERFORM sub_bdc_upload.
    *> To display the contents of the input file for test run
      IF p_check = space.
        PERFORM sub_output.
      ELSE.
    *> To display in the messages after uploading the input file
        PERFORM sub_output_messages.
      ENDIF.
    *&      Form  sub_file_intake
          F4 on filename to accept file
    -->  p1        text
    <--  p2        text
    FORM sub_file_intake .
    To provide F4 Functionality for file path
      CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
        EXPORTING
          program_name  = syst-repid
        CHANGING
          file_name     = p_file1
        EXCEPTIONS
          mask_too_long = 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.
    ENDFORM.                    " sub_file_intake
    *&      Form  SUB_DATA_UPLOAD
           Upload the input file and perform the checkings.
    -->  p1        text
    <--  p2        text
    FORM SUB_DATA_UPLOAD .
    *> local variable for filename
      DATA : l_file1 TYPE string.
    *> assign value for file1.
      l_file1 = p_file1.
    *> function to upload the input file
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename                = l_file1
          filetype                = g_asc
          has_field_separator     = g_x
        TABLES
          data_tab                = i_itab
        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.
    ENDFORM.                    " SUB_DATA_UPLOAD
    *&      Form  sub_output
          if program is on test run mode then display records
    FORM sub_output .
    *> Count the number of employee to be processed
      CLEAR g_n1.
      DESCRIBE TABLE i_itab LINES g_n1.
      IF g_n1 NE 0.
    *> if program is in test run mode then display
        LOOP AT i_itab INTO wa_itab.
          WRITE: / wa_itab-num,
                   wa_itab-lgart,
                   wa_itab-betrg,
                   wa_itab-bplan,
                   wa_itab-bcovr.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " sub_output
    *&      Form  sub_bdc_upload
          bdc upload
    FORM sub_bdc_upload .
    *> Count the number of employee to be processed
      CLEAR g_n1.
      DESCRIBE TABLE i_itab LINES g_n1.
      IF g_n1 NE 0.
        PERFORM sub_open_group.
        PERFORM sub_bdc_sessions.
       PERFORM sub_close_group.
      ELSE.
        MESSAGE e003(zmsg) WITH text-021.
      ENDIF.
    ENDFORM.                    " sub_bdc_upload
    *&      Form  sub_open_group
          bdc_open_group
    FORM sub_open_group .
    *> group name
      DATA : c_group LIKE apqi-groupid .
      c_group = text-001.
      CALL FUNCTION 'BDC_OPEN_GROUP'
        EXPORTING
          client              = sy-mandt
          group               = c_group
          holddate            = sy-datum
          keep                = g_x
          user                = sy-uname
          prog                = sy-cprog
        EXCEPTIONS
          client_invalid      = 1
          destination_invalid = 2
          group_invalid       = 3
          group_is_locked     = 4
          holddate_invalid    = 5
          internal_error      = 6
          queue_error         = 7
          running             = 8
          system_lock_error   = 9
          user_invalid        = 10
          OTHERS              = 11.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    " sub_open_group
    *&      Form  sub_close_group
          Close the BDC Session
    FORM sub_close_group .
      CALL FUNCTION 'BDC_CLOSE_GROUP'
        EXCEPTIONS
          not_open    = 1
          queue_error = 2
          OTHERS      = 3.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
               WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    " sub_close_group
    *&      Form  sub_bdc_sessions
          BDC Sessions
    FORM sub_bdc_sessions .
    *> Local Constants
      DATA: l_ctumode LIKE ctu_params-dismode VALUE 'A',
            l_cupdate LIKE ctu_params-updmode VALUE 'S',
            l_startdate(10) type c,
            l_enddate(10) type c,
            l_tcode(4) TYPE c VALUE 'PA30',
            l_info(2) TYPE c VALUE '14'.
      LOOP AT i_itab INTO wa_itab.
        perform bdc_dynpro      using 'SAPMP50A' '1000'.
       IF  wa_itab-actcode = G_A.
        perform bdc_field       using 'BDC_OKCODE'
                                      '=INS'.
       ELSEIF  wa_itab-actcode = G_D.
        perform bdc_field       using 'BDC_OKCODE'
                                      '=DEL'.
       ELSEIF  wa_itab-actcode = G_C.
        perform bdc_field       using 'BDC_OKCODE'
                                      '=MOD'.
       ENDIF.
        perform bdc_field       using 'RP50G-PERNR' wa_itab-num.
        perform bdc_field       using 'RP50G-TIMR6'
                                      'X'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'RP50G-CHOIC'.
        perform bdc_field       using 'RP50G-CHOIC' l_info.
        perform bdc_dynpro      using 'MP001400' '2010'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'Q0014-BETRG'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '/00'.
        perform bdc_field       using 'P0014-BEGDA'
                                      '03/18/2008'.
        perform bdc_field       using 'P0014-ENDDA'
                                      '12/31/9999'.
        perform bdc_field       using 'P0014-LGART' wa_itab-lgart.
       perform bdc_field       using 'Q0014-BETRG' wa_itab-betrg.
        perform bdc_field       using 'Q0014-BETRG'
                                       wa_itab-betrg.
                                     '               248'.
       perform bdc_field       using 'P0014-BETRG' wa_itab-betrg.
        perform bdc_field       using 'P0014-WAERS'
                                      'USD'.
        perform bdc_dynpro      using 'MP001400' '2010'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'P0014-BEGDA'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '=UPD'.
        perform bdc_field       using 'P0014-BEGDA'
                                      '03/18/2008'.
        perform bdc_field       using 'P0014-ENDDA'
                                      '12/31/9999'.
       perform bdc_field       using 'P0014-LGART' wa_itab-lgart.
       perform bdc_field       using 'Q0014-BETRG' wa_itab-betrg.
       perform bdc_field       using 'P0014-BETRG' wa_itab-betrg.
        perform bdc_field       using 'P0014-WAERS'
                                      'USD'.
    *>  refresh the message tab
        REFRESH i_bdcmsgcoll.
        CALL TRANSACTION l_tcode USING i_bdcitab
                         MODE   l_ctumode
                         UPDATE l_cupdate
                         MESSAGES INTO i_bdcmsgcoll.
    *>  refresh the bdc data tab
        REFRESH i_bdcitab.
    *>  store the message for this pernr
        PERFORM sub_build_messages.
      ENDLOOP.
    ENDFORM.                    " sub_bdc_sessions
           Start new screen                                              *
    FORM bdc_dynpro USING program dynpro.
      CLEAR wa_bdcitab.
      wa_bdcitab-program  = program.
      wa_bdcitab-dynpro   = dynpro.
      wa_bdcitab-dynbegin = g_x.
      APPEND wa_bdcitab TO i_bdcitab.
    ENDFORM.                    "BDC_DYNPRO
           Insert field                                                  *
    FORM bdc_field USING fnam fval.
      IF fval <> space.
        CLEAR wa_bdcitab.
        wa_bdcitab-fnam = fnam.
        wa_bdcitab-fval = fval.
        APPEND wa_bdcitab TO i_bdcitab.
      ENDIF.
    ENDFORM.                    "BDC_FIELD
    *&      Form  sub_build_messages
          Generate the messages
    FORM sub_build_messages .
    *> Local Constants
      DATA : l_s TYPE c VALUE 'S'.
      LOOP AT i_bdcmsgcoll INTO wa_bdcmsgcoll.
    *> generate the message
        CALL FUNCTION 'MESSAGE_TEXT_BUILD'
          EXPORTING
            msgid               = wa_bdcmsgcoll-msgid
            msgnr               = wa_bdcmsgcoll-msgnr
            msgv1               = wa_bdcmsgcoll-msgv1
            msgv2               = wa_bdcmsgcoll-msgv2
            msgv3               = wa_bdcmsgcoll-msgv3
            msgv4               = wa_bdcmsgcoll-msgv4
          IMPORTING
            message_text_output = messg
          EXCEPTIONS
            OTHERS              = 1.
        IF sy-subrc EQ 0.
    *> if message type is 'S' then store in successful table
          IF wa_bdcmsgcoll-msgtyp = l_s.
            MOVE wa_itab-num TO wa_succmsg-pernr.
            MOVE messg TO wa_succmsg-messg.
            APPEND wa_succmsg TO i_succmsg.
            CLEAR wa_succmsg.
            PERFORM BDC_UPLOAD_168.
          ELSE.
    *> if message type is 'E' then store in error table
            MOVE wa_itab-num TO wa_errmsg-pernr.
            MOVE messg TO wa_errmsg-messg.
            APPEND wa_errmsg TO i_errmsg.
            CLEAR wa_errmsg.
          ENDIF.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " sub_build_messages
    *&      Form  sub_output_messages
          text
    -->  p1        text
    <--  p2        text
    FORM sub_output_messages .
      IF p_check = g_x.
    *> clear the count
        CLEAR g_n1.
    *> count the number of successful employees
        DESCRIBE TABLE i_succmsg LINES g_n1.
        IF g_n1 <> 0 .
    *> download success file
          PERFORM sub_succ_file.
    *> display the successful employees
          WRITE :/ text-002.
          LOOP AT i_succmsg INTO wa_succmsg.
            WRITE:/ wa_succmsg-pernr, wa_succmsg-messg.
          ENDLOOP.
        ENDIF.
    *> clear the count
        CLEAR g_n1.
    *> count the number of error employees
        DESCRIBE TABLE i_errmsg LINES g_n1.
        IF g_n1 <> 0 .
    *> download error file
          PERFORM sub_err_file.
    *> display the error employees
          WRITE :/ text-003.
          LOOP AT i_errmsg INTO wa_errmsg.
            WRITE:/ wa_errmsg-pernr,wa_errmsg-messg.
          ENDLOOP.
        ENDIF.
      ENDIF.
    ENDFORM.                   " sub_output_messages
    *&      Form  SUB_SUCC_FILE
          text
    -->  p1        text
    <--  p2        text
    FORM sub_succ_file .
    *> local variable for filename
      DATA : l_file1 TYPE string.
    *> assign value for file1.
      l_file1 = p_file2.
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          filename                = l_file1
          filetype                = g_asc
        TABLES
          data_tab                = i_succmsg
        EXCEPTIONS
          file_write_error        = 1
          no_batch                = 2
          gui_refuse_filetransfer = 3
          invalid_type            = 4
          no_authority            = 5
          unknown_error           = 6
          header_not_allowed      = 7
          separator_not_allowed   = 8
          filesize_not_allowed    = 9
          header_too_long         = 10
          dp_error_create         = 11
          dp_error_send           = 12
          dp_error_write          = 13
          unknown_dp_error        = 14
          access_denied           = 15
          dp_out_of_memory        = 16
          disk_full               = 17
          dp_timeout              = 18
          file_not_found          = 19
          dataprovider_exception  = 20
          control_flush_error     = 21
          OTHERS                  = 22.
      IF sy-subrc EQ 0.
        MESSAGE s003(zmsg) WITH text-006.
      ENDIF.
    ENDFORM.                    " SUB_SUCC_FILE
    *&      Form  SUB_ERR_FILE
          text
    -->  p1        text
    <--  p2        text
    FORM sub_err_file .
    *> local variable for filename
      DATA : l_file1 TYPE string.
    *> assign value for file1.
      l_file1 = p_file3.
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          filename                = l_file1
          filetype                = g_asc
        TABLES
          data_tab                = i_errmsg
        EXCEPTIONS
          file_write_error        = 1
          no_batch                = 2
          gui_refuse_filetransfer = 3
          invalid_type            = 4
          no_authority            = 5
          unknown_error           = 6
          header_not_allowed      = 7
          separator_not_allowed   = 8
          filesize_not_allowed    = 9
          header_too_long         = 10
          dp_error_create         = 11
          dp_error_send           = 12
          dp_error_write          = 13
          unknown_dp_error        = 14
          access_denied           = 15
          dp_out_of_memory        = 16
          disk_full               = 17
          dp_timeout              = 18
          file_not_found          = 19
          dataprovider_exception  = 20
          control_flush_error     = 21
          OTHERS                  = 22.
      IF sy-subrc EQ 0.
        MESSAGE s003(zmsg) WITH text-007.
      ENDIF.
    ENDFORM.                    " SUB_ERR_FILE
    *&      Form  GET_PERNR_SSN
          text
    -->  p1        text
    <--  p2        text
    FORM GET_PERNR_SSN .
      data : l_cnt type i.
      describe table i_itab lines l_cnt.
      if l_cnt ge 0.
        SELECT PERNR PERID FROM PA0002 INTO table i_pernr
               FOR ALL ENTRIES IN i_itab
               WHERE PERID EQ i_itab-num.
        IF SY-SUBRC EQ 0.
          PERFORM MODIFY_TABLE.
        ENDIF.
      endif.
    ENDFORM.                    " GET_PERNR_SSN
    *&      Form  MODIFY_TABLE
          text
    -->  p1        text
    <--  p2        text
    FORM MODIFY_TABLE .
      LOOP AT i_itab INTO wa_itab.
        READ TABLE i_pernr INTO wa_pernr WITH KEY perid = wa_itab-num.
        IF SY-SUBRC EQ 0.
          MOVE WA_PERNR-PERNR TO WA_ITAB-NUM.
          MODIFY i_itab FROM wa_itab.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " MODIFY_TABLE
    *&      Form  BDC_UPLOAD_168
          text
    -->  p1        text
    <--  p2        text
    FORM BDC_UPLOAD_168 .
    PERFORM sub_open_group.
      PERFORM sub_bdc_sessions_168.
      PERFORM sub_close_group.
    ENDFORM.                    " BDC_UPLOAD_168
    *&      Form  SUB_BDC_SESSIONS_168
          text
    -->  p1        text
    <--  p2        text
    FORM SUB_BDC_SESSIONS_168 .
      DATA: l_ctumode LIKE ctu_params-dismode VALUE 'A',
             l_cupdate LIKE ctu_params-updmode VALUE 'S',
             l_sdate(10) type c,
             l_edate(10) type c,
             l_tcode(4) TYPE c VALUE 'PA30',
             l_info(3) TYPE c VALUE '168'.
      LOOP AT i_itab INTO wa_itab.
        perform bdc_dynpro      using 'SAPMP50A' '1000'.
        IF  wa_itab-actcode = G_A.
          perform bdc_field       using 'BDC_OKCODE'
                                        '=INS'.
        ELSEIF  wa_itab-actcode = G_D.
          perform bdc_field       using 'BDC_OKCODE'
                                        '=DEL'.
        ELSEIF  wa_itab-actcode = G_C.
          perform bdc_field       using 'BDC_OKCODE'
                                        '=MOD'.
        ENDIF.
        perform bdc_field       using 'RP50G-PERNR' wa_itab-num.
        perform bdc_field       using 'RP50G-TIMR6'
                                      'X'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'RP50G-CHOIC'.
        perform bdc_field       using 'RP50G-CHOIC' l_info.
        perform bdc_dynpro      using 'MP016800' '2000'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '/00'.
        perform bdc_field       using 'P0168-BEGDA'
                                      '03/18/2008'.
        perform bdc_field       using 'P0168-ENDDA'
                                      '12/31/9999'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'P0168-BCOVR'.
        perform bdc_field       using 'P0168-BPLAN' wa_itab-bplan.
        perform bdc_field       using 'P0168-BCOVR' wa_itab-bcovr.
        perform bdc_field       using 'Q0168-CSTDT'
                                      '03/18/2008'.
        perform bdc_field       using 'Q0168-EEPER'
                                      '2'.
        perform bdc_field       using 'P0168-PERIO'
                                      '2'.
        perform bdc_dynpro      using 'MP016800' '2000'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'P0168-BEGDA'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '=UPD'.
        perform bdc_field       using 'P0168-BEGDA'
                                      '03/18/2008'.
        perform bdc_field       using 'P0168-ENDDA'
                                      '12/31/9999'.
        perform bdc_field       using 'P0168-BPLAN' wa_itab-bplan.
        perform bdc_field       using 'P0168-BCOVR' wa_itab-bcovr.
        perform bdc_field       using 'Q0168-CSTDT'
                                      '03/18/2008'.
        perform bdc_field       using 'Q0168-EEPER'
                                      '2'.
    *>  refresh the message tab
        REFRESH i_bdcmsgcoll.
        CALL TRANSACTION l_tcode USING i_bdcitab
                         MODE   l_ctumode
                         UPDATE l_cupdate
                         MESSAGES INTO i_bdcmsgcoll.
    *>  refresh the bdc data tab
        REFRESH i_bdcitab.
    *>  store the message for this pernr
        PERFORM sub_build_messages_168.
      ENDLOOP.
    ENDFORM.                    " SUB_BDC_SESSIONS_168
    *&      Form  SUB_BUILD_MESSAGES_168
          text
    -->  p1        text
    <--  p2        text
    FORM SUB_BUILD_MESSAGES_168 .
    *> Local Constants
      DATA : l_s TYPE c VALUE 'S'.
      LOOP AT i_bdcmsgcoll INTO wa_bdcmsgcoll.
    *> generate the message
        CALL FUNCTION 'MESSAGE_TEXT_BUILD'
          EXPORTING
            msgid               = wa_bdcmsgcoll-msgid
            msgnr               = wa_bdcmsgcoll-msgnr
            msgv1               = wa_bdcmsgcoll-msgv1
            msgv2               = wa_bdcmsgcoll-msgv2
            msgv3               = wa_bdcmsgcoll-msgv3
            msgv4               = wa_bdcmsgcoll-msgv4
          IMPORTING
            message_text_output = messg
          EXCEPTIONS
            OTHERS              = 1.
        IF sy-subrc EQ 0.
    *> if message type is 'S' then store in successful table
          IF wa_bdcmsgcoll-msgtyp = l_s.
            MOVE wa_itab-num TO wa_succmsg-pernr.
            MOVE messg TO wa_succmsg-messg.
            APPEND wa_succmsg TO i_succmsg.
            CLEAR wa_succmsg.
          ELSE.
    *> if message type is 'E' then store in error table
            MOVE wa_itab-num TO wa_errmsg-pernr.
            MOVE messg TO wa_errmsg-messg.
            APPEND wa_errmsg TO i_errmsg.
            CLEAR wa_errmsg.
          ENDIF.
        ENDIF.
      ENDLOOP.
    Many thanks in advance!!!!
    Rupesh

    For the IDOC perspective, you can uses CREMAS.
    For the mass maintenance you still have XK99 (which also uses CREMAS internally)
    True there is NO BAPI
    For the BDC and the table control. Well this is not really true.
    In batchinput, instead of maintaining the rows by there Number, you should select it at the first position.
    OK-CODE /06 will open a selection screen SAPMF02K 2324. The result of the selection screen goes to the first line of the table control.
    Of course this works only in BDC
    reward points if helpful
    Edited by: Alain Bacchi  on Jun 18, 2008 8:48 AM

  • MB11 BDC upload issue

    hi experts.
    I am using a BDC-UPLOAD program for MB11 but there is one error during an upload.
    Here is a procedure which i am following:
    I have created an upload file, which is tab-delimited format. In which such information exists:
    01.12.2008 12.12.2008 561 d920 m920 536319000 1 PC 100
    Now when i am uploading this file using movement type P61 or 561 a same error occurs:
    Formatting error in the field MSEG-EXBWR ; see next message
    Make an entry in all required fields and this is a required field, its a currency type field but i have even checked it by replacing it into char & num.
    Is there any standard upload program for STOCK UPLOAD using MB11?  If there is any one who can send me a solution.
    thanks in advance.
    Regards,
    Yahya Shoaib.

    Hi,
    For Stock upload I prefer creation of a program by calling Function Module BAPI_GOODSMVT_CREATE. When you use BAPI, as it is being function module you need not do the recording as well. You can test the BAPI also manually in SE37. This simulation helps in passing the data in the feed file. You may contact your ABAPer for creating a program using this  BAPI. You can input the feed file in similar fashion that of BDC

  • Error in BDC upload

    Hi,
    I am facing a problem in BDC upload for hr master data tcode pa40.
    I want to stop bdc after 3 screens and i dont want to processforthe remaining screens.
    Can anyone help me onthis?
    Thanks in advance.

    Hi Anil,
    I am regret to you becz i could nt tell thanks because i am full busy of my work.
    Thanks a lot.
    I have checked with your valuable logic. Now I am processing BDC upto two screens.
    Regards,
    Sreekanth

  • BDC Uploading  - Organisation structure position error

    Hi Gurus,
    When we are uploading Master data through BDC its uploading in pa30 but its not updating positions in organization structure (PPOM_OLD - TCODE) . we cant find the holder under the position though we have upload the data and clear see the data in pa30 for that position.
    when we are doing Action manually its updating the position. ofcourse its common too.
    My question is why its not updaing the holder to the position when we are doing BDC upload
    Any thoughts and suggestions.
    Regards,
    Ravi
    Edited by: ravi Kumar on Jun 17, 2010 12:02 PM

    First try this.
    1. Execute RHINTE00 for one person
    Selection screen
    tick CREATE RELATIONSHIPS and CREATE HOLDER RELATIONSHIPS ONLY.
    Remove the TEST tick and run.
    First try for one person only then you can run it for others.
    cheers
    Ajay

  • MFBF bdc upload ERROR

    hie gurus , can anyone help me , i have created a bdc upload for transaction MFBF  repetitive manufacturing backflush
    , when i upload a material with multiple production version i get an error , production version for material could not be
    determined. initially its supposed to give a pop up window that allows me to select the production version, in the bdc recording so the pop window is not being called in the program for some reason i have not modified the recording
    in anyway this is straight from sm35 recording to my z program :
    perform bdc_dynpro      using 'SAPLBARM' '0800'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=GOON'.
    perform bdc_field       using 'RM61B-RB_BAUGR'
                                  'X'.
    perform bdc_field       using 'RM61B-BUDAT'
                                  '06.06.2011'.
    perform bdc_field       using 'RM61B-BLDAT'
                                  '06.06.2011'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RM61B-MATNR'.
    perform bdc_field       using 'RM61B-MATNR'
                                  '900-03-000'.
    perform bdc_field       using 'RM61B-WERKS'
                                  '1200'.
    perform bdc_field       using 'RM61B-ERFMG'
                                  '1111'.
    error screen not being called
    perform bdc_dynpro      using 'SAPLBARM' '0160'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MKAL-VERID(02)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=GOON'.
    perform bdc_field       using 'RM61B-SELEK(02)'
                                  'X'.

    Hi Daniel,
    Please check the BAPIs available in Function group 2127 if you can use any. That way you do not have to manipulate the screens in BDC.
    Regards,
    Shyam

  • Error during MB11 bdc-upload

    hi experts.
    I am using a BDC-UPLOAD program for MB11 but there is one error during an upload.
    Here is a procedure which i am following:
    I have created an upload file, which is tab-delimited format. In which such information exists:
    01.12.2008 12.12.2008 561 d920 m920 536319000 1 PC 100
    Now when i am uploading this file using movement type P61 or 561 a same error occurs:
    Formatting error in the field MSEG-EXBWR ; see next message
    Make an entry in all required fields and this is a required field, its a currency type field but i have even checked it by replacing it into char & num.
    Is there any standard upload program for STOCK UPLOAD using MB11? If there is any one who can send me a solution.
    thanks in advance.
    Regards,
    Yahya Shoaib.

    OK...I think you have declared the internal table field for that value same as the standard table right??
    Now, create a variable with char and then move the value to that char variable and then pass it to the subroutines...
    Ex:
    loop at itab into wa.
    var1 = wa-amount
    perform bdc_field using mseg-exwbr var1.
    endloop.
    Now, I think it will pick up the value.
    VIshwa.

Maybe you are looking for