Idoc in an inbound to enable multiple entries through inbound function modu

hi all,
its urgent please ,
i have an idoc in mm which have to allow multiple line items throgh miro transaction but it is allowing single line items.
if u do it manually it will allow multiple line  for same invoce and purchase order . please tell me  how to set thsi problem

Yu,
  Yes you can call.
  Generally you will extract the data from EDID4,EDIDC and EDIDS tables.
At the time of extraction put conditions that based on data call you inbound function modules. and process it.
Thanks.

Similar Messages

  • How to enable multiple entries for bundling free goods in vbn1?

    Hi SAP Gurus,
    How can I enable bundling of free goods in SAP using vbn1?
    In creating an entry, I place the material number, qty and other required fields then assign the material number of the item that I want to bundle with the 1st product. My problem is that I can only assign 1 material number to a product.
    Scenario:
    Mat. No. 1 is the main item, then I assign matNo.2 to be budled with matNo.1. I also wanted to assign matNo.3 to be bundled with matNo.1. But unfortunately, When I place another entry using matNo.1. Error says that it is currently being processed. It seems I can only assign a single free goods. How can I set this to multiple?
    Thanks in advance!

    Hi Colleague,
    No. This function is not provided in the R/3 System. Only one record is taken into account during the free goods determination with the existence of several valid condition records. This record is the one with the largest minimum quantity. For this record the system only generates one free goods subitem.   
    Free goods can only be supported on a 1:1 ratio. This means that an order item can lead to a free goods item. Agreements in the following form are not supported: #eWith material 1, material 2 and material 3 are free of charge#e or #eIf material 1 and material 2 are ordered at the same time, then material 3 is free of charge#e.                        
    You can refer FAQ note 549963 which clarifies this point.
    I hope it can be helpful.
    Regards
    Ruy Castro

  • Enable Multiple entry at table maintanance at a time by more then one user

    Hello all,
    My requirment is to enable the multple user, can login to the same table for making there entry simultaneosuly . i have created the table and table maintance as well. and i have created the new lock object and added the code accrdingly and i have used the custom fm which is generated in the tablemainta function group.
    forex: table xyz user 1 , 2, 3, 4, 5,so on..
    table should allow all user tomake there entry at time and the entry edited one user should be disabled to other user. I have gone the forum i didnt found the correct one ..plz guide me
    regards
    raju

    >
    swathi4 m wrote:
    > This is not happening.
    What is not happening? If you want to control update access to a database table, you'll need to implement a lock object.  Read the SAP help on lock objects or search this forum.

  • IDOC from inbound function module

    Hi All,
    I have a inbound function module..
    I dont know its Idoc type.
    Ho to find the IDOC based on Inbound Function module
    Thanks
    Amruta

    Hi Amruta
    Inbound Function Moduel always in the format of IDOC_INPUT_XXXXXXX
    xxxxxx is the your Message type...
    Based on you message type u can get you idoc type....
    if function moduel is Standard one ...
    Thanks
    Ram

  • Reg : IDOC - inbound function module

    HI guys,
    I have an ....list of error inbound idocs .......(presently using function module X)......
    but recently we made lot of changes in  inbound function module and release as "Y"...hence presently all idocs Uses the inbound function module 'Y'.
    In this scenario i wanted to re-process the old idocs.....(which were in error state 51).......Which should use the old function module 'X'.....(it should not use Function module 'Y') 
    In short 'based on the date ....my inbound function module should be assigned while processing idocs.
    idoc date <   01.01.2011   then old function module  (I.E  FM  "X")
    idoc date > = 01.01.2011  then new function module (i.e. FM "Y")
    regards
    Girish

    You can't do that via the standard config.  You can, however, embed the call to your 'X' function in your new 'Y' function based on your date criteria.  Whether that date is hard-coded or stored in TVARVC is up to you.

  • MB01 is giving error:No entry for partner function '' in table TPAR

    MB01 is giving below error when i am trying to trigger ALE idocs using output type 'ZWE2'
    Error:'No entry for partner function '' in table TPAR'.
    I am unable to find what could be the above error and how to rectify.
    Any help in this regard would be appreciated.
    Thanks!

    There is a partner function code for which there is no configuration data in TPAR.  What is the partner function?  Can you find that and verify that it is correct, or correct it to a value that is configured in TPAR?

  • Multiple Entries on ipod

    I imported a 4 disc CD to i tunes and then synced it to my ipod. When I go into albums on the ipod, there are multiple entries and not just the 4 cds.Every entry shows the same tracks, so in essence I have about 10 entries for each CD. Also, in another case when a single album was synced to the ipod, it appears 4 times on the ipod. Why this happening?

    *HowTo: Grouping Tracks Into Albums*
    Excuse the long post, but hopefully covering all the bases (that I can think of) will help you fix the other issues you are likely to run into as you try to organise your iTunes library.
    *Use an album friendly view*
    iTunes will let you sort music on many columns, some of which are unlikely to group albums together or put the tracks in their normal order. The most useful order for editing the library is probably *Album by Artist*. If you're not already there, select the list view and click on the column heading for Album until it reads Album by Artist.
    *One cover, too many tracks*
    The iPod (and iTunes to a lesser extent) conflates two or more albums with the same title, most obviously with *Greatest Hits*. On the iPod this can result in one album acting as a combination of two or more. Selecting any cover gives all the tracks of all albums with the same title. The workaround for this "Greatest Hits" bug is to give each album a unique title - I tend to go for *Album - Album Artist* as this reads clearly in the iTunes browser. Alternatively you could use the wording as it appears on the cover or append different numbers of spaces for each different album. Somewhat oddly, setting different values for Sort Album doesn't work.
    *Missing Artist or Album not with others by same artist*
    iTunes relies on the Gracenote CDDB database when identifying CD's. This often marks collections or anthologies of an artist's work as a compilation. In iTunes, however, the compilation flag has the logical function of grouping together tracks with the same album name, but different artists on each track, e.g. "Now That's What I Call Metal 666!". These compilations are then all grouped together at the end of cover flow. Most of us however, would expect "Greatest Hits" albums to be listed with the other albums by the same album artist. For albums which are essentially by a single album artist or group it is best to set the appropriate value for the album artist and clear the compilation flag.
    *One album, too many covers*
    For true compilations, where each track is by a different artist, the answer is to set the compilation flag to true and enable the iTunes preference to *Group compilations when browsing*. If the album is not a compilation however, any tracks which list guest artists may be treated as separate items. Filling in the Album Artist field is enough to link things in iTunes. Sadly, however, the iPod ignores the Album Artist field when grouping albums so this is only a partial solution. You can simply mark the entire album as a compilation which seems to be the way iTMS handles it, however that's not an ideal fix. Short of waiting for Apple to address this issue (and as far as I can tell it goes back to the 1st gen. of iPods) we need a workaround. What I do is to put any additional artist info. in square brackets after the song name. E.g. *Track \[Feat. Guest\]* and then set *Artist=Album Artist* for each track. For anthologies where the Album Artist is credited as part of another group, e.g. for Cream tracks on an Eric Clapton anthology, I use *Track \[As Group\]*. For a track where the main Album Artist doesn't receive a credit, e.g. the first track of the Slim Shady LP credited to Jeff Bass, I just set the track name to *Track \[Guest\]* while still setting the artist to the album artist. N.b. I use square brackets to indicate that this is information about the track as distinct from the song title and also use this style for Mix/Live/Bonus info.
    *One album, still too many covers*
    iTunes may split albums into two or more sections if some tracks from the album have different values for Artist, Album Artist, Album, No. of Discs or Part of a Compilation. Tiny differences such as trailing spaces, accented characters or variants of symbols can sometimes be quite hard to spot. The iPod is also more sensitive to case variations and may split or reorder an album that looks okay in iTunes. Normally overtyping the desired value for each shared field will complete the grouping of the album into one entity. Occasionally, however, this method seems to fail. When this happens I've found that you can force every field to update properly by adding some extra text - e.g. a trailing X, which once applied seems to complete the joining of the tracks into one album. Once this has happened the extra data can be removed and the album should remain properly grouped.
    *Tried that, there are STILL too many covers!*
    The Sort Artist, Sort Album & Sort Album Artist fields can be used to override the normal sort order. For example iTunes automatically drops leading articles (a/an/the) so "The Beatles" are arranged under "B" instead of "T". Occasionally different tracks from the same album can have different values in these sort fields which can also break up the grouping. Making the sort columns visible in iTunes can help with spotting & correcting such problems.
    *One cover for multi-disc album*
    Multi-disc albums are often listed as *Album (CD1)* for CD 1, *Album (CD2)* for CD 2 etc. To display these properly using just one cover, each disc should have the correct *Disc X of Y* values set, and then the entire album should be given the single title Album. Being somewhat obsessive I also renumber the tracks sequentially, working backwards from the last track (so that no two tracks ever have the same number) until I reach disc 1. BTW You can still give the individual discs different artwork should it be relevant so that the correct artwork will be displayed as the album progresses.
    *Tracks out of sequence*
    Check that all tracks have the same/correct disc no. For a single disc album this should be either blank (my preference) or 1 of 1. iTunes will sort tracks with a disc no. of 1 before those that are blank. Just for fun the iPod sorts them the other way around. Consistency is the key. In addition ensure that the Sort Artist, Sort Album Artist & Sort Album fields are the same across all tracks.
    *One artist, many names*
    With some artists, particularly classical composers, you should be aware of alternative representations of their names. E.g. 2Pac vs. Tupac. The menus will work best if for each artist you standardise on just one form of their name. E.g. make a choice between Mozart, W.A. Mozart or Wolfgang Amadeus Mozart, and then apply it consistently. For classical music I tend also to use the Composer as the Artist & Album Artist and either discard the performer details or place these into the Comments field. The Sort Artist/Sort Album Artist fields can group alternate forms in iTunes but these will break up again on the iPod. It is best therefore to use Artist & Album Artist consistently so the name is shown the way that you want and Sort Artist & Sort Album Artist to control where it is displayed.
    tt2

  • Multiple entries in TEVEN for one time event created by HR-PDC

    Hi experts,
    we have a SAP certified time attendance system connected to our ERP 6.0 system by HR-PDC interface.
    Now it happens from time to time that exactly one time event causes multiple entries in SAP table TEVEN and therefore is shown in the check report PT40.
    The number of duplicate records is always different - up to about 140 entries for one and the same time event in the worst case.
    Except the field PDSNR all the other fields contain exactly the same values.
    I have checkt many of the problematic bookings and I have always just one correct time event in the source application and there is only one data record in the corresponding IDOC too.
    Also the number of transferred records shown in the protocol spool of the report SAPCDT45 is correct and identical to the number of records in the IDOC.
    The first place where I can identify the problem with the duplicate records is the table TEVEN.
    No records are left in the interface table CC1TEV.
    I have seen that within one block of identical time bookings in TEVEN the field PDSNR ist not numbered in one sequence but there are gaps in between that are used for any other entries.
    As I can see in historical entries of TEVEN the problem exists already for years so it does not seem to be in direct connection with the latest support pack or something like that.
    The relevant jobs run every 15 minutes whereby SAPCDT45 is started 5 minutes after RPTCC106.
    Has anyone else experienced this strange behaviour or knows what I could further investigate?
    Many thanks for your replies in advance and best regards
    Günter

    Hi Carlos,
    thanks for your fast reply.
    It seems that an entry for Status A00 or A05 would solve my problems and of course I will try to handle it by this view.
    But do you know whether there is any possibility to find out how it comes to these repeated postings?
    I do not know whether the repeated postings happen in the same package (IDOC) or in an earlier package and to be honest I do not think that the record comes from the source application a second time because there I could find only one record that seems to be correct.
    I also cannot understand how it comes that I have even 140 "identical" entries for one time event.
    Could you please let me know your thoughts about that?
    Anyway I thank you for offering a solution - even if I do not understand the reason for the pborlem.
    Thanks and best regards
    Günter

  • How to submit a multiple-selection list box in an Infopath Sharepoint form as multiple entries on a Sharepoint list?

    I would like to be able to submit an Infopath form with a multiple selection list box in Sharepoint as multiple entries on a Sharepoint list.
    For example, a user has to complete the following fields:
    First Name:
    Last Name:
    Favorite Color (can select more than one):
    [] Blue
    [] Red
    [] Yellow
    [] Green
    If the user picks blue AND red and submits the form, the Sharepoint list would feature TWO entries, both with their first and last names, but with different colors in the "Favorite Color" column.
    Please let me know if there is a way to do this. Any guidance would be helpful!

    Hi redhotc,
    According to your description, my understanding is that you want to set multiple default values for a multiple checkbox list in InfoPath form.
    I did a test with SQL database table. I set three default values for the checkbox list by adding three values field under the group field(Data->Default values), each value field is for a default value. Then publish it to my SharePoint site, everything
    was fine.Please have a try as the below link:
    http://www.bizsupportonline.net/infopath2010/pre-select-items-multiple-selection-list-box-infopath-2010.htm
    Note: if you are using SQL databse table, you may need to enable ‘Allow cross-domain data access for user form templates that use connection settings in a data connection file’ in CA. More information, please refer to:
    http://answers.flyppdevportal.com/categories/sharepoint2010/sharepoint2010customization.aspx?ID=418b9423-a96c-4e5e-91f9-6a1b010ebb69
    I hope this helps.
    Thanks,
    Wendy
    Wendy Li
    TechNet Community Support

  • How to edit Idoc data in inbound processing

    Moved to correct forum by moderator
    Hi All,
    How to edit idoc data in inbound processing ? We have a custom FM in inbound scenario and requirement is to update a value in idoc, this value comes after certain processing in custom FM.
    I tried editing it through
    EDI_DOCUMENT_OPEN_FOR_EDIT
    EDI_CHANGE_DATA_SEGMENTS
    EDI_DOCUMENT_CLOSE_EDIT
    but there is problem in this approach. By this procedure two idocs are created in system, one with original data and one with modified data. We want only one with modified data.
    We do not want any direct database table updates.
    Please provide appropriate solution.
    Note : We are not changing status record. Please do not post replies related to status change
    Edited by: Matt on Nov 19, 2008 2:24 PM

    Hi,
    You can edit the idoc by doing the following steps:-
    1. Goto WE02 transaction and give the IDOC number and execute
    2. Once the required IDOC gets retrieved then double on the text pad icon beside the segment which you wanted to change.
    3. Select the Data Record at the top and click Display <-> Change option, which will enable you to change the data in that segment.
    4. After doing the step 3 then click the save button to save your changes.
    5. Then system will generate a new idoc number to store the actual data and your current idoc will hold the new data and the idoc will be in 69 status.
    6. Execute the Program RC1_IDOC_SET_STATUS by giving your idoc number and status as 69 and new status 64 and remove the test flag
    7. Then the IDOC will be in 64 status and you can reprocess the idoc with the help of the program RBDAPP01 by giving the idoc number.
    The above is the entire process for editing the error idoc and reprocessing it again.
    I hope I am clear and you understood the entire flow of editing and reprocessing an idoc.
    Thanks,
    Mahesh.

  • Contacts producing multiple entries as does calendar . How to stop and fix please.

    Contacts producing multiple entries as does Calender. How to stop and fix pls?

    ok easiest way it to restore to factory setting and start from there. When you go to do your first sync you don’t “sync contacts or calendar”. When you add mobile me onto your Ipad select all the services that you want to enable and then mobile me will keep everything in sync.
    If you need futher steps let me know

  • Problem with IDOC inbound function module

    hi
       While excecuting the inbound function module in WE19
    I am getting error (short dump) 
    Incorrect parameter with Call transaction.

    Creating a Function Module (Direct Inbound Processing)
    This step describes how to create a function module which is identified by the IDoc Interface using a new process code and called from ALE (field TBD52-FUNCNAME). Direct inbound processing using a function module (not using a workflow) always includes the ALE layer. This setting (processing with function module and ALE layer) is identified by the value 6 in the field TEDE2-EDIVRS, which is read by the function module IDOC_START_INBOUND. IDOC_START_INBOUND then calls ALE.
    Prerequisites
    You must have completed the required steps in Defining and Using a Basic Type .
    Procedure
    Choose Tools ® ABAP Workbench ® Development ® Function Builder, and create a new function module.
    Create the segments as global data in your function group. The function module should copy the application data from the segments into the corresponding application tables and modify the IDoc status accordingly. If an error occurs, the function module must set the corresponding workflow parameters for exception handling.
    Activate the function module: From the initial screen of the Function Builder select .
    In the example, create the function module IDOC_INPUT_TESTER with a global interface. The function module is called when an IDoc of type TESTER01 is received for inbound processing. You will assign an application object ("standard order") to this IDoc type and therefore maintain tables from SD. To do this, call transaction VA01 using the command CALL TRANSACTION. Please note that the intention here is not to simulate a realistic standard order, but only to illustrate how data reaches application tables from an IDoc table via segment structures (form routine READ_IDOC_TESTER) and how the function module triggers an event for exception handling (by returning suitable return variables to the ALE layer in the FORM routine RETURN_VARIABLES_FILL).
    A comprehensive example of the code for an inbound function module is provided in the ALE documentation in the SAP Library under  Example Program to Generate an IDoc. This function module, for example, also checks whether the logical message is correct and calls a (fictitious) second function module which first writes the application data and then returns the number of the generated document. In addition, status 53 is only set if the application document was posted correctly.
    Administration parameters for IDOC_INPUT_TESTER
    Application abbreviation
    V (Sales and Distribution)
    Processing type
    Normal, start immediately
    Interface for IDOC_INPUT_TESTER (global interface)
    Formal parameters
    Reference structure
    Explanation
    Import parameters
    INPUT_METHOD
    BDWFAP_PAR-INPUTMETHD
    Describes how the function module is to be processed (example: in the background)
    MASS_PROCESSING
    BDWFAP_PAR-MASS_PROC
    Mass inbound processing? (indicator)
    Export parameters
    WORKFLOW_RESULT
    BDWFAP_PAR-RESULT
    Set to 99999 if an event is to be triggered for error handling.
    APPLICATION_VARIABLE
    BDWFAP_PAR-APPL_VAR
    Variable freely available from application for workflow
    IN_UPDATE_TASK
    BDWFAP_PAR-UPDATETASK
    Asynchronous update? (indicator is not set in example)
    CALL_TRANSACTION_DONE
    BDWFAP_PAR-CALLTRANS
    Transaction called? (indicator is not set in example)
    Table
    IDOC_CONTRL
    EDIDC
    IDoc control record
    IDOC_DATA
    EDIDD
    IDoc data records
    IDOC_STATUS
    BDIDOCSTAT
    IDoc status records for ALE
    RETURN_VARIABLES
    BDWFRETVAR
    IDoc assigned to Object type method parameters.
    SERIALIZATION_INFO
    BDI_SER
    If several IDocs are to be processed in a certain sequence: this structure contains the necessary information
    Example
    FUNCTION IDOC_INPUT_TESTER.
    ""Globale Schnittstelle:
    *"       IMPORTING
    *"             VALUE(INPUT_METHOD) LIKE  BDWFAP_PAR-INPUTMETHD
    *"             VALUE(MASS_PROCESSING) LIKE  BDWFAP_PAR-MASS_PROC
    *"       EXPORTING
    *"             VALUE(WORKFLOW_RESULT) LIKE  BDWFAP_PAR-RESULT
    *"             VALUE(APPLICATION_VARIABLE) LIKE  BDWFAP_PAR-APPL_VAR
    *"             VALUE(IN_UPDATE_TASK) LIKE  BDWFAP_PAR-UPDATETASK
    *"             VALUE(CALL_TRANSACTION_DONE) LIKE  BDWFAP_PAR-CALLTRANS
    *"       TABLES
    *"              IDOC_CONTRL STRUCTURE  EDIDC OPTIONAL
    *"              IDOC_DATA STRUCTURE  EDIDD
    *"              IDOC_STATUS STRUCTURE  BDIDOCSTAT
    *"              RETURN_VARIABLES STRUCTURE  BDWFRETVAR
    *"              SERIALIZATION_INFO STRUCTURE  BDI_SER
    initialize SET/GET Parameter and internal tables
      PERFORM INITIALIZE_ORGANIZATIONAL_DATA.
    Move IDOC to internal tables of application
      PERFORM READ_IDOC_TESTER.
    call transaction Order Entry VA01
      PERFORM CALL_VA01_IDOC_ORDERS USING ERRORCODE.
    set status value
      perform write_status_record using errorcode.
    return values of function module
      PERFORM RETURN_VARIABLES_FILL USING ERRORCODE.
    ENDFUNCTION.
    FORM INITIALIZE_ORGANIZATIONAL_DATA.
    initialize SET/GET parameters
       SET PARAMETER ID 'VKO' FIELD SPACE.
       SET PARAMETER ID 'VTW' FIELD SPACE.
       SET PARAMETER ID 'SPA' FIELD SPACE.
       SET PARAMETER ID 'VKB' FIELD SPACE.
       SET PARAMETER ID 'VKG' FIELD SPACE.
    initialize internal tables
       REFRESH BDCDATA.
       CLEAR BDCDATA.
       CLEAR BELEGNUMMER.
       CLEAR ERRTAB.
       REFRESH ERRTAB.
       REFRESH XBDCMSGCOLL.
       CLEAR XBDCMSGCOLL.
    ENDFORM.                    " INITIALIZE_ORGANIZATIONAL_DATA
    FORM READ_IDOC_TESTER.
      PERFORM INITIALIZE_IDOC.
    LOOP AT IDOC_DATA
       WHERE DOCNUM = IDOC_CONTRL-DOCNUM.
        CASE IDOC_DATA-SEGNAM.
    header data
          WHEN 'E1HEAD'.
            MOVE IDOC_DATA-SDATA TO E1HEAD.
            PERFORM PROCESS_SEGMENT_E1HEAD.
    position data
          WHEN 'E1ITEM'.
            MOVE IDOC_DATA-SDATA TO E1ITEM.
            PERFORM PROCESS_SEGMENT_E1ITEM.
        ENDCASE.
    ENDLOOP.
    only when there were one or more items
      CHECK FIRST NE 'X'.
      APPEND XVBAP.                        "last one
    ENDFORM.                    " READ_IDOC_TESTER
    FORM INITIALIZE_IDOC.
      CLEAR XVBAK.
      REFRESH XVBAP.
      CLEAR XVBAP.
      POSNR = 0.
      FIRST = 'X'.
    ENDFORM.                    " INITIALIZE_IDOC
    FORM PROCESS_SEGMENT_E1HEAD.
    requested date of delivery
      WLDAT = E1HEAD-WLDAT.
    delivery date
      XVBAK-BSTDK = E1HEAD-BSTDK.
    customer number
      XVBAK-KUNNR = E1HEAD-AUGEB.
    order number
      XVBAK-BSTNK = E1HEAD-BELNR.
    division
      XVBAK-SPART = E1HEAD-SPART.
    distribution channel
      XVBAK-VTWEG = E1HEAD-VTWEG.
    sales organization
      XVBAK-VKORG = E1HEAD-VKORG.
    order type
      XVBAK-AUART = E1HEAD-AUART.
    do not fill incoterms (inco1, inco2)
    customer function
      CALL CUSTOMER-FUNCTION '001'
           EXPORTING
                PI_VBAK621           = XVBAK
           IMPORTING
                PE_VBAK621           = XVBAK
           TABLES
                PT_IDOC_DATA_RECORDS = IDOC_DATA.
    ENDFORM.                    " PROCESS_SEGMENT_E1HEAD
    FORM PROCESS_SEGMENT_E1ITEM.
    position number
      XVBAP-POSNR = XVBAP-POSNR + 1.
    amount
      XVBAP-WMENG = E1ITEM-MENGE.
    unit
      CALL FUNCTION 'ISO_TO_SAP_MEASURE_UNIT_CODE'
           EXPORTING
                ISO_CODE  = E1ITEM-BMEINH
           IMPORTING
                SAP_CODE  = XVBAP-VRKME
           EXCEPTIONS
                OTHERS    = 0.
    material number
      XVBAP-MATNR = E1ITEM-LMATNR.
    CALL CUSTOMER-FUNCTION '002'
           EXPORTING
                PI_VBAP621           = XVBAP
           IMPORTING
                PE_VBAP621           = XVBAP
           TABLES
                PT_IDOC_DATA_RECORDS = IDOC_DATA.
    APPEND XVBAP.
    ENDFORM.                    " PROCESS_SEGMENT_E1ITEM
    FORM CALL_VA01_IDOC_ORDERS USING ERRORCODE.
    call transaction first dynpro
      PERFORM DYNPRO_START.
    call transaction double-line entry
      PERFORM DYNPRO_DETAIL2.
    incoterms
      PERFORM DYNPRO_HEAD_300.
    call transaction item datas
      PERFORM DYNPRO_POSITION.
      PERFORM DYNPRO_SET USING 'BDC_OKCODE' 'SICH'.
    determine input method
      IF INPUT_METHOD IS INITIAL.
        INPUT_METHOD = 'N'.
      ENDIF.
    call transaction VA01
    CALL TRANSACTION 'VA01' USING    BDCDATA
                             MODE     INPUT_METHOD
                             UPDATE   'S'
                             MESSAGES INTO XBDCMSGCOLL.
    errorcode = SY-SUBRC.       " remember returncode for status update
    ENDFORM.                    " CALL_VA01_IDOC_ORDERS
    form write_status_record using errorcode.
    FILL IDOC_STATUS
    IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
    IF ERRORCODE = 0.
    IDOC_STATUS-STATUS = BELEG_GEBUCHT. "value 53
       GET PARAMETER ID 'AUN' FIELD BELEGNUMMER.
       IDOC_STATUS-MSGID = 'V1'.
       IDOC_STATUS-MSGNO = '311'.
       IDOC_STATUS-MSGV1 = 'Terminauftrag'.
       IDOC_STATUS-MSGV2 = BELEGNUMMER.
    ELSE.
        IDOC_STATUS-STATUS = BELEG_NICHT_GEBUCHT. "value 51
        IDOC_STATUS-MSGID = SY-MSwGID.
        IDOC_STATUS-MSGNO = SY-MSGNO.
        IDOC_STATUS-MSGV1 = SY-MSGV1.
        IDOC_STATUS-MSGV2 = SY-MSGV2.
        IDOC_STATUS-MSGV3 = SY-MSGV3.
        IDOC_STATUS-MSGV4 = SY-MSGV4.
      ENDIF.
      APPEND IDOC_STATUS.
    ENDFORM.
    FORM DYNPRO_START.
      PERFORM DYNPRO_NEW USING PROGRAMM_AUFTRAG
                               DYNPRO-EINSTIEG
                      CHANGING LAST_DYNPRO.
    ordertype
      PERFORM DYNPRO_SET USING 'VBAK-AUART' XVBAK-AUART.
    sales organization
      PERFORM DYNPRO_SET USING 'VBAK-VKORG' XVBAK-VKORG.
    Distribution channel
      PERFORM DYNPRO_SET USING 'VBAK-VTWEG' XVBAK-VTWEG.
    Division
      PERFORM DYNPRO_SET USING 'VBAK-SPART' XVBAK-SPART.
    Sales office
      PERFORM DYNPRO_SET USING 'VBAK-VKBUR' XVBAK-VKBUR.
    Sales group
      PERFORM DYNPRO_SET USING 'VBAK-VKGRP' XVBAK-VKGRP.
    ENDFORM.                    " DYNPRO_START
    FORM DYNPRO_NEW USING    PROGNAME
                             DYNPRONR
                    CHANGING LAST_DYNPRO.
    CLEAR BDCDATA.
    BDCDATA-PROGRAM = PROGNAME.
    BDCDATA-DYNPRO  = DYNPRONR.
    BDCDATA-DYNBEGIN   = 'X'.
    APPEND BDCDATA.
    LAST_DYNPRO = DYNPRONR.
    ENDFORM.                    " DYNPRO_NEW
    FORM DYNPRO_SET USING    FELDNAME
                             FELDINHALT.
      CLEAR BDCDATA.
      CHECK FELDINHALT NE SPACE.
    dynpro field name
      BDCDATA-FNAM = FELDNAME.
    contents
      BDCDATA-FVAL = FELDINHALT.
      APPEND  BDCDATA.
    ENDFORM.                    " DYNPRO_SET
    FORM DYNPRO_DETAIL2.
    okcode
    PERFORM DYNPRO_SET USING 'BDC_OKCODE' PANEL-UER2.
    fix dynpro number 4001
      PERFORM DYNPRO_NEW  USING    PROGRAMM_AUFTRAG
                                   '4001'
                          CHANGING LAST_DYNPRO.
    order party
      PERFORM DYNPRO_SET      USING 'KUAGV-KUNNR'  XVBAK-KUNNR.
    purchase order number
      PERFORM DYNPRO_SET      USING 'VBKD-BSTKD'   XVBAK-BSTNK.
    requested delivery date
      PERFORM DYNPRO_DATE_SET USING 'VBKD-BSTDK'   XVBAK-BSTDK.
    purchase order date
      PERFORM DYNPRO_DATE_SET USING 'RV45A-KETDAT' WLDAT.
    ENDFORM.                    " DYNPRO_DETAIL2
    FORM DYNPRO_DATE_SET USING    FELDNAME
                                  FELDINHALT.
      DATA: DATE TYPE D.
      CLEAR BDCDATA.
      CHECK FELDINHALT NE SPACE.
      BDCDATA-FNAM = FELDNAME.
      WRITE FELDINHALT  TO DATE.
      BDCDATA-FVAL = DATE.
      APPEND  BDCDATA.
    ENDFORM.                    " DYNPRO_DATE_SET
    FORM DYNPRO_HEAD_300.
      PERFORM DYNPRO_SET USING 'BDC_OKCODE' PANEL-KKAU.
    incoterms part 1
      IF NOT XVBAK-INCO1 IS INITIAL.
       PERFORM DYNPRO_SET USING 'VBKD-INCO1' XVBAK-INCO1.
      ENDIF.
    incoterms part 2
      IF NOT XVBAK-INCO2 IS INITIAL.
       PERFORM DYNPRO_SET USING 'VBKD-INCO2' XVBAK-INCO2.
      ENDIF.
    PERFORM DYNPRO_SET USING 'BDC_OKCODE' 'BACK'.
    ENDFORM.                    " DYNPRO_HEAD_300
    FORM DYNPRO_POSITION.
      LOOP AT XVBAP.
    dynpro item double line entry
      PERFORM DYNPRO_SET USING 'BDC_OKCODE' 'UER2'.
        IF XVBAP-POSNR = 1.
    material number
          PERFORM DYNPRO_SET      USING 'VBAP-MATNR(01)'   XVBAP-MATNR.
    order quantity
          PERFORM DYNPRO_SET      USING 'RV45A-KWMENG(01)' XVBAP-WMENG.
    desired delivery date
          PERFORM DYNPRO_DATE_SET USING 'RV45A-ETDAT(1)'  WLDAT.
    sales unit
          PERFORM DYNPRO_SET      USING 'VBAP-VRKME(1)'   XVBAP-VRKME.
        ELSE.
         PERFORM DYNPRO_SET      USING 'BDC_OKCODE'      'POAN'.
    material number
          PERFORM DYNPRO_SET      USING 'VBAP-MATNR(02)'    XVBAP-MATNR.
    order quantity
          PERFORM DYNPRO_SET      USING 'RV45A-KWMENG(02)'  XVBAP-WMENG.
    desired delivery date
          PERFORM DYNPRO_DATE_SET USING 'RV45A-ETDAT(02)'   WLDAT.
    sales unit
          PERFORM DYNPRO_SET      USING 'VBAP-VRKME(02)'    XVBAP-VRKME.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " DYNPRO_POSITION
    FORM RETURN_VARIABLES_FILL USING ERRORCODE.
    allocate IDOC numbers to Workflow output parameters
      IF MASS_PROCESSING <> SPACE.
        IF ERRORCODE = 0.
          RETURN_VARIABLES-WF_PARAM = PID.
          RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
          APPEND RETURN_VARIABLES.
          RETURN_VARIABLES-WF_PARAM = APO.
          RETURN_VARIABLES-DOC_NUMBER = BELEGNUMMER.
          APPEND RETURN_VARIABLES.
          WORKFLOW_RESULT = C_WF_RESULT_OK.
        ELSE.
          RETURN_VARIABLES-WF_PARAM = EID.
          RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
          APPEND RETURN_VARIABLES.
          WORKFLOW_RESULT = C_WF_RESULT_ERROR.
        ENDIF.
      ELSE.
        IF ERRORCODE = 0.
          RETURN_VARIABLES-WF_PARAM = APE.
          RETURN_VARIABLES-DOC_NUMBER = BELEGNUMMER.
          APPEND RETURN_VARIABLES.
          WORKFLOW_RESULT = C_WF_RESULT_OK.
        ELSE.
          WORKFLOW_RESULT = C_WF_RESULT_ERROR.
        ENDIF.
      ENDIF.
    ENDFORM.                    " RETURN_VARIABLES_FILL
    Globale Daten von IDOC_INPUT_TESTER
    TABLES: E1HEAD, E1ITEM.
    DATA: BEGIN OF BDCDATA OCCURS 500.
            INCLUDE STRUCTURE BDCDATA.
    DATA: END OF BDCDATA.
    DATA: BEGIN OF XVBAK.                 "Kopfdaten
         INCLUDE STRUCTURE VBAK621.
    DATA: END OF XVBAK.
    DATA: BEGIN OF XVBAP OCCURS 50.        "Position
           INCLUDE STRUCTURE VBAP.
    DATA:  WMENG(18) TYPE C.
    DATA:  LFDAT LIKE VBAP-ABDAT.
    DATA:  KSCHL LIKE KOMV-KSCHL.
    DATA:  KBTRG(16) TYPE C.
    DATA:  KSCHL_NETWR LIKE KOMV-KSCHL.
    DATA:  KBTRG_NETWR(16) TYPE C.
    DATA:  INCO1 LIKE VBKD-INCO1.
    DATA:  INCO2 LIKE VBKD-INCO2.
    DATA:  YANTLF(1) TYPE C.
    DATA:  PRSDT LIKE VBKD-PRSDT.
    DATA:  HPRSFD LIKE TVAP-PRSFD.
    DATA: END OF XVBAP.
    DATA: BEGIN OF DYNPRO,
          EINSTIEG          LIKE T185V-DYNNR VALUE 101,
          KKAU              LIKE T185V-DYNNR,
          UER2              LIKE T185V-DYNNR,
          KBES              LIKE T185V-DYNNR,
          ERF1              LIKE T185V-DYNNR,
          PBES              LIKE T185V-DYNNR,
          PKAU              LIKE T185V-DYNNR,
          PEIN              LIKE T185V-DYNNR,
          EID1              LIKE T185V-DYNNR,
          POPO              LIKE T185V-DYNNR,
          EIPO              LIKE T185V-DYNNR,
          KPAR              LIKE T185V-DYNNR,
          PSDE              LIKE T185V-DYNNR,
          PPAR              LIKE T185V-DYNNR,
          KDE1              LIKE T185V-DYNNR,
          KDE2              LIKE T185V-DYNNR,
          PDE1              LIKE T185V-DYNNR,
          PDE2              LIKE T185V-DYNNR,
          PKON              LIKE T185V-DYNNR,
          END OF DYNPRO.
    DATA: BEGIN OF PANEL,
          KKAU              LIKE T185V-PANEL VALUE 'KKAU',
          UER2              LIKE T185V-PANEL VALUE 'UER2',
          KBES              LIKE T185V-PANEL VALUE 'KBES',
          ERF1              LIKE T185V-PANEL VALUE 'ERF1',
          PBES              LIKE T185V-PANEL VALUE 'PBES',
          PKAU              LIKE T185V-PANEL VALUE 'PKAU',
          PEIN              LIKE T185V-PANEL VALUE 'PEIN',
          EID1              LIKE T185V-PANEL VALUE 'EID1',
          EIAN              LIKE T185V-PANEL VALUE 'EIAN',
          POPO              LIKE T185V-PANEL VALUE 'POPO',
          EIPO              LIKE T185V-PANEL VALUE 'EIPO',
          KPAR              LIKE T185V-PANEL VALUE 'KPAR',
          PSDE              LIKE T185V-PANEL VALUE 'PSDE',
          POAN              LIKE T185V-PANEL VALUE 'POAN',
          PPAR              LIKE T185V-PANEL VALUE 'PPAR',
          KDE1              LIKE T185V-PANEL VALUE 'KDE1',
          KDE2              LIKE T185V-PANEL VALUE 'KDE2',
          PDE1              LIKE T185V-PANEL VALUE 'PDE1',
          PDE2              LIKE T185V-PANEL VALUE 'PDE2',
          PKON              LIKE T185V-PANEL VALUE 'PKON',
          KOAN              LIKE T185V-PANEL VALUE 'KOAN',
          END OF PANEL.
    DATA: BEGIN OF ERRTAB OCCURS 20,
           TRANS  LIKE TSTC-TCODE,
           ARBGB  LIKE T100-ARBGB,
           CLASS(1) TYPE C,
           MSGNR LIKE T100-MSGNR,
         TEXT LIKE T100-TEXT,
           TEXT(123) TYPE C,
           MSGV1 LIKE SY-MSGV1,
           MSGV2 LIKE SY-MSGV2,
           MSGV3 LIKE SY-MSGV3,
           MSGV4 LIKE SY-MSGV4,
          END OF ERRTAB.
    *---- Hilfsfelder     -
    DATA: PROGRAMM_AUFTRAG LIKE T185V-AGIDV VALUE 'SAPMV45A'.
    DATA: LAST_DYNPRO      LIKE T185V-DYNNR,
          WLDAT            LIKE VBAK-BSTDK,
          POSNR            LIKE VBAP-POSNR,
          FIRST(1)         TYPE C VALUE 'X'.
    DATA: BEGIN OF XBDCMSGCOLL OCCURS 10.
            INCLUDE STRUCTURE BDCMSGCOLL.
    DATA: END OF XBDCMSGCOLL.
    Terminauftrag  ( Auftragsart wird fest gesetzt !)
    DATA:   BELEGNUMMER LIKE VBAK-VBELN.
    DATA:   ERRORCODE LIKE SY-SUBRC.
    Statuswerte fuer IDOC-Status
    DATA:   BELEG_NICHT_GEBUCHT LIKE TEDS1-STATUS VALUE '51'.
    DATA:   BELEG_GEBUCHT       LIKE TEDS1-STATUS VALUE '53'.
    *- Direktwerte für Return_variables -
    data:
        eid like bdwfretvar-wf_param value 'Error_IDOCs',
        pid like bdwfretvar-wf_param value 'Processed_IDOCs',
        apo like bdwfretvar-wf_param value 'Appl_Objects',
        ape like bdwfretvar-wf_param value 'Appl_Object'.
    *- Direktwerte für Workflow_Result -
    DATA: C_WF_RESULT_ERROR LIKE BDWFAP_PAR-RESULT VALUE '99999'.
    DATA: C_WF_RESULT_OK    LIKE BDWFAP_PAR-RESULT VALUE '0'.

  • Multiple Entries in MD04

    Hello all,
    Need some advice on this.
    There exists multiple entries for a purchase order in the MD04 screen. One with element name 'POITEM' and the other one with 'Shipping Notification'. The acknowledgement (shipping notification) is received for the total Purchase Order quantity so obviously the POITEM should have been replaced with ShpgNt in the MD04 screen but it din't.
    Is this something to do with the rescheduling factor ?
    PS: Rescheduling Horizon value in OPPQ = 100 days.
    Regards,
    Rahul

    Hello Rahul
    When the shipping notification is created, the respective quantity should be updated on the field DABMG of the purchase order (table EKET).
    I made a quick notes search and I found several corrections for errors in the update of this field.
    1979068
    MRP reduced quantity not updated for schedule lines
    1860803
    Errors when processing confirmation documents in OLTP
    1827920
    Inbound delivery creation failed to update MRP reduced qty
    1877198
    Confirmation lines not update with PO Confirmation SOA
    Please implement this notes into your system, in order to avoid this kind of problem in the future.
    If there are POs wrongly displayed on transaction MD04 due to an inconsistency on field DABMG you should open an OSS incident to SAP under the component MM-PUR-GF-CON.
    BR
    Caetano

  • Single Host name has multiple entry in SCCM 2007 R3 Console

    Hi Experts,
    A single host name which was not in Active Directory is keep on discovering in SCCM console and makes multiple entries. I am deleting that Host from the SCCM console but it is keep on reoccurring in the console. Delta discovery is not enabled. 
    Kindly help me to fix this problem. Thanks
    Regards,
    Ranjith

    Check if SCCM client is installed on the machine. Uninstall the client setup using if you don't require the machine to report to SCCM server (browse to ccmsetup folder and run "ccmsetup.exe /uninstall" using cmd prompt).
    Just deleting the machine from console will not remove the client installed on it. The SCCM client will always try to report to the assigned server.
    ~ Rajeesh M | Blog:
    ScorpITsPlease remember to 'Mark as Answer' or 'Vote as Helpful' on the post that helps. It helps others reading the thread and recognizes useful contributions. |

  • Data in the cube is showing multiple entries when compared with ODS

    Hello BW Gurus,
    We have a waste report in production planning on Cube and ODS separately. The same info package loads both targets (which means same infosource) but when we run a report on Cube, the records are showing multiple entries (i.e. Key Figures are not matching when compared to ODS) where as the ODS records are showing correctly as it was in R/3. There are totally 6 key figures out of which 4 pulled from R/3 and 2 are populated in BW.
    An Example:
    Waste report in PP run for plant 1000 for 12/2005 and process order 123456. The operational scrap should be 2.46% and the component scrap should be 3.00% for material 10000000. The report is showing 7.87% for planned operational waste % and 9.6% for planned component waste %. These values are not correct. The ODS values for order 123456 matched the data in R/3 for component and operational scrap.
    There is a Start routine to the ODS and also to the cube. I am not good at ABAP so requesting your Help.
    Here is the ODS Code:
    tables: /BI0/PPRODORDER.
    loop at data_package.
    select single COORD_TYPE
    PRODVERS
    into (/BI0/PPRODORDER-COORD_TYPE,
    /BI0/PPRODORDER-PRODVERS)
    from /BI0/PPRODORDER
    where PRODORDER = data_package-PRODORDER
    and OBJVERS = 'A'.
    if sy-subrc = 0.
    if /BI0/PPRODORDER-COORD_TYPE = 'XXXX'
    or /BI0/PPRODORDER-COORD_TYPE = 'YYYY'.
    data_package-PRODVERS = space.
    else.
    data_package-PRODVERS = /BI0/PPRODORDER-PRODVERS.
    endif.
    endif.
    if data_package-calday = space
    or data_package-calday = '00000000'.
    if data_package-TGTCONSQTY NE 0.
    data_package-calday = data_package-ACTRELDATE.
    endif.
    endif.
    modify data_package.
    endloop.
    Here is Cube Code:
    tables: /BI0/PPRODORDER,
    /BIC/ODS.
    TYPES:
    BEGIN OF ys_mat_unit,
    material TYPE /bi0/oimaterial,
    mat_unit TYPE /bi0/oimat_unit,
    numerator TYPE /bi0/oinumerator,
    denomintr TYPE /bi0/oidenomintr,
    END OF ys_mat_unit.
    DATA:
    l_s_mat_unit TYPE ys_mat_unit,
    e_factor type p decimals 5.
    loop at data_package.
    select single COORD_TYPE
    PRODVERS
    into (/BI0/PPRODORDER-COORD_TYPE,
    /BI0/PPRODORDER-PRODVERS)
    from /BI0/PPRODORDER
    where PRODORDER = data_package-PRODORDER
    and OBJVERS = 'A'.
    if sy-subrc = 0.
    if /BI0/PPRODORDER-COORD_TYPE = 'XXX'
    or /BI0/PPRODORDER-COORD_TYPE = 'YYY'.
    data_package-PRODVERS = space.
    else.
    data_package-PRODVERS = /BI0/PPRODORDER-PRODVERS.
    endif.
    endif.
    if data_package-calday = space
    or data_package-calday = '00000000'.
    if data_package-TGTCONSQTY NE 0.
    data_package-calday = data_package-ACTRELDATE.
    endif.
    endif.
    data_package-agsu = 'GSU'.
    data_package-agsu_qty = 0.
    select single gr_qty
    base_uom
    into (/BIC/ODS-gr_qty,
    /BIC/ODS-base_uom)
    from /BIC/ODS
    where prodorder = data_package-prodorder
    and material = data_package-material.
    if sy-subrc = 0.
    if /BIC/ODS-base_uom = 'GSU'.
    data_package-agsu_qty = /BIC/ODS-gr_qty.
    else.
    SELECT SINGLE * FROM /bi0/pmat_unit
    INTO CORRESPONDING FIELDS OF l_s_mat_unit
    WHERE material = data_package-material
    AND mat_unit = 'GSU'
    AND objvers = 'A'.
    IF sy-subrc = 0.
    IF l_s_mat_unit-denomintr <> 0.
    e_factor = l_s_mat_unit-denomintr /
    l_s_mat_unit-numerator.
    multiply /BIC/ODS-gr_qty by e_factor.
    data_package-agsu_qty = /BIC/ODS-gr_qty.
    ENDIF.
    else.
    CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
    EXPORTING
    INPUT = /BIC/ODS-gr_qty
    NO_TYPE_CHECK = 'X'
    ROUND_SIGN = ' '
    UNIT_IN = /BIC/ODS-base_uom
    UNIT_OUT = 'GSU'
    IMPORTING
    OUTPUT = DATA_PACKAGE-gsu_qty
    EXCEPTIONS
    CONVERSION_NOT_FOUND = 1
    DIVISION_BY_ZERO = 2
    INPUT_INVALID = 3
    OUTPUT_INVALID = 4
    OVERFLOW = 5
    TYPE_INVALID = 6
    UNITS_MISSING = 7
    UNIT_IN_NOT_FOUND = 8
    UNIT_OUT_NOT_FOUND = 9
    OTHERS = 10.
    endif.
    endif.
    endif.
    modify data_package.
    endloop.
    some how the AGSU qyt is not populating in the cube and when I dbug the code, I could see a clean record in the internal table but not in the cube.
    your suggestion and solutions would be highly appreciated.
    thanks,
    Swathi.

    Hi Swathi
    In ODs we have option of overwriting and addition however in Cube we have only adition.Thats why you are getting multiple enteries.
    If you are running daily full load on the cube then please delete the earlier requests.
    So at one point of time there should be only one full load request in cube. Hope this will solve your problem.
    Regards,
    Monika

Maybe you are looking for

  • Activating Update Rules in BW Production Systems? How

    Hi all... How do we activate Update rules in Production systems? As we dont have the activate button high lighted in update rules. Urgent. Thansk in Advance.

  • Best practice for multiple VIs talking to same PXI

    I am looking for a reccomended practice for my use case, which I feel has to be what a lot of people do/need. I have a NI-SCOPE PXI device, but this applies to most instruments on some level.  I have multiple VIs that do simple things, such as one VI

  • IPhoto vs. Photoshop Elements 6

    I just bought my first Mac and had no trouble using iPhoto for importing and editing my photos. I then installed Photoshop Elements 6 for Mac (with many hours of support from Adobe, after it repeatedly failed to install properly), and that program wo

  • App expose - only show windows in one desktop?

    Just curious if anyone has found a way to get app expose to only show windows in the current desktop in Lion. In SL if you input the following terminal command then when you activated app expose it would only show you windows for that app in the curr

  • Color inconsistencies when exporting to PDF

    I've created a file in which I am using a master page with a graphic inside a frame; this appears on every page of my document. however, when I export it to pdf (interactive or print), the graphic changes color on two pages - it becomes lighter: (cor