Multiple MATMAS IDoc getting created through RBDMIDOC program

Hello All,
I am creating MATMAS Idocs by RBDMIDOC proram, but as MATMAS message type is used in multiple distribution models ( i.e. MATAMAS is being sent to multiple partners), its creating multiple IDocs.
I want my IDoc to get triggered only for a particular partner. How can i acheive this ?
Searched on SDN but did not found solution.

As the standard settings, IDOCs will be transmitted to all the Partners which are maintained in WE20 (Partner Configuration).  You can restrict the triggering of IDOC based on some condition using the Business transaction event MGV00100 (Publish & Subscribe).  This event is called from Function module MASTERIDOC_CREATE_MATMAS (Line number 2074).  Documentation of Standard FM SAMPLE_INTERFACE_MGV00100  reads
* Event rissen by the ALE outbound process for MATMAS.
* It allows to modify the idoc's control header the idoc data aswell
* as serialization information created by the standard SAP outbound
* process.
* Raising the EXCEPTION ERROR will prevent the IDOC from being
* submitted to the ALE layer.
* BE CAREFUL WITH ANY CHANGES TO IDOC_CONTROL. IT MAY EFFECT YOUR WHOLE
* ALE-SCENARIO
You have to copy the Standard FM SAMPLE_INTERFACE_MGV00100 to a Z function module and assign it using transaction code FIBF.  Search SCN to get more details about configuring Business transaction events using FIBF.

Similar Messages

  • Infotype 1000, Position data IDOC is not getting created via RBDMIDOC

    Hi All,
    We are using PFAL styandard HRMD_A message type,  while executing RBDMIDOC with message type HRMD_A, all the infotypes data IDOC is created except Infotype 1000 Position(S).
    The same is (Infotype 1000, position IDOC is created in dev server) but the same is not getting created in Quality and Prod.
    Can any one suggest the same, what could be the error.
    Thanks.

    Hi,
    You need to check in your filter settings in BD64 for your corresponding distribution model, if you have included IT1000 for PD objects such as O, C, S. After adding this filter group, you have to distribute the source system into the target system (Edit > Model view> distribute). In the target system, you have to generate partner profiles (environment> generate partner profiles).
    Hope it helps,
    Christine

  • IDOCS get created  After one day?

    Hello all,
    the outbound idocs are get created after one day delay,
    After uploading the materials the idocs have to generated through program RBDMIDOC and need to be posted immediately .
    RBDMIDOC-scheduled at 10 mints .
    but in our scenario the idocs are generated after one day delay..
    what could be the reason?.
    it's urgent .
    Warm regards
    Nandan
    Edited by: Nandan ND on Feb 19, 2008 12:47 PM
    Edited by: Nandan ND on Feb 19, 2008 1:35 PM
    Edited by: Nandan ND on Feb 19, 2008 1:36 PM

    Hi,
    Check whether program   RBDMIDOC is scheduled only once? If it is running only once then you this will happen.
    And also schedule the job to execute only after your upload process is over.
    Regards,
    Ashok

  • MATMAS IDOC not creating required views

    Hi
    We have a scenario where an external system is sending material master data to ECC via PI. The msg type used is MATMAS03. The data gets processed successfully in ECC but does not create the basic data views. The inbound idoc has many fields which belong to basic data views, yet the views that have similar fields other than basic data get created. We have checked the configuration for screen sequencing (Industry standard sequence) and analysed the function module used for inbound processing of idocs. We did not find anything wrong with them. We see that the VPSTA and PSTAT maintenance fields get populated with all other views other than Basic data 1 and 2. This is automatically handled by SAP standard logic.
    Does anybody have any idea what could be causing this? Any troubleshooting tips will help.
    Thanks
    Arvind

    do you have a valid warehouse number and data for your warehouse in the IDOC?

  • Get Idoc Number created through BD14

    Hi,
    I want to send some vendor details from SAP side to other system.And for that I am submitting BD14 using some vendor numberand message type cremas.
    Now whenever we execute BD14 transaction with a vendor it will create one idoc number.
    Now please let me know can we get this idoc number?
    If i go to we02 i can see that but i want the table from where i can get this idoc number as i want show it in my final report output.
    Edited by: Julius Bussche on Sep 12, 2008 4:45 PM

    Hi
    Its very simple.
    Use function module SREL_GET_NEXT_RELATIONS
    where :
    GWA_OBJECT-OBJKEY = VENDOR_NUMBER.
    GWA_OBJECT-OBJTYPE = 'LFA1'.
    CALL FUNCTION 'SREL_GET_NEXT_RELATIONS'
      EXPORTING
        OBJECT = GWA_OBJECT
      TABLES
        ROLES = GT_ROLES .
    DELETE GT_ROLES WHERE OBJKEY EQ VENDOR_NUMBER AND OBJTYPE EQ 'LFA1'.
    After that, you will get IDOC number in the OBJKEY field where OBJTYPE = 'IDOC'

  • To Update the IDOC segment values through report program

    My requirement is to update the Idoc segment through the report program. Any SAP provided standard function module is available to update the Idoc segment values. Please help needed.

    DATA: LT_EDIDD TYPE STANDARD TABLE OF EDIDD."Local Table to Hold EDIDD
        LT_EDIDD = I_EDIDD. "table should have the data
    *-- Opening the IDoc for Edit
        CALL FUNCTION 'EDI_DOCUMENT_OPEN_FOR_EDIT'
          EXPORTING
            DOCUMENT_NUMBER               = X_EDIDC-DOCNUM
          TABLES
            IDOC_DATA                     = IT_EDIDD
          EXCEPTIONS
            DOCUMENT_FOREIGN_LOCK         = 1
            DOCUMENT_NOT_EXIST            = 2
            DOCUMENT_NOT_OPEN             = 3
            STATUS_IS_UNABLE_FOR_CHANGING = 4
            OTHERS                        = 5.
        IF SY-SUBRC <> 0.
          MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
    *-- Editing the IDoc
        CALL FUNCTION 'EDI_CHANGE_DATA_SEGMENTS'
          TABLES
            IDOC_CHANGED_DATA_RANGE = LT_EDIDD
          EXCEPTIONS
            IDOC_NOT_OPEN           = 1
            DATA_RECORD_NOT_EXIST   = 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.
    *-- Closing the IDoc after Edit
        CALL FUNCTION 'EDI_DOCUMENT_CLOSE_EDIT'
          EXPORTING
            DOCUMENT_NUMBER  = X_EDIDC-DOCNUM
            DO_COMMIT        = 'X'
            DO_UPDATE        = 'X'
            WRITE_ALL_STATUS = 'X'
          EXCEPTIONS
            IDOC_NOT_OPEN    = 1
            DB_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.
    thanks
    vijay

  • Issue in getting output through concurrent program

    Hi,
    I have developed a procedure and registered in APPS and passing 2 parameters.
    while running the concurrent program i have entered values for 2 parameters and submitted.. but it is going as null (log file) and i am not getting output.
    This procedure is working fine in Back End.
    Please help me to fix it.
    What could be the issue...
    Thanks
    Winsky.

    Hi,
    stored procedures MUST be coded with errbuf and retcode OUT parameters
    which MUST be defined as first parameters of your procedure if you want to
    use the procedure as concurrent request.
    errbuf parameter comes first, retcode comes second, then the rest of your
    parameters.
    Populate retcode with 0 if logic within your procedure completes successful,
    use 2 if the program ran into an exception (either a logic exception or when
    an unexpected error should occurr) and use 1 for retcode, if your logic
    should indicate a warning such as "no data found for processing" or something
    like this.
    When defining concurrent program in sysadmin responsibility do NOT define
    parameters for errbuf and retcode, only for the rest of your parameters.
    That's all - in short.
    Regards

  • Generating an idocxml file for matmas idoc,getting invalid characters in it

    HI
    i am generating and(ZMATMAS) idoc xml in a folder in R3 using the Port (No PI involve here).   and after generating the file SAP PI system will pick that file to process , but for some files,invalid characters like  oxb(vertical tab) are being passed due to which messages are failing in PI ,SO HOW I CAN AVOID GENERATING THESE INVALID CHARACTERS inxml file in R3.
    regards
    sandeep
    Edited by: pendyalas on Feb 2, 2011 10:48 PM

    >
    pendyalas wrote:
    > Thank you   , . i have one more concern how to type the invalid character ((0xb )vertical tab) while declaring them in table in we21
    >
    check out also the following SDN thread and OSS Note,
    Handling of 0xb character
    Google to find out how special characters can be entered.. There were some suggestions to press ALT and enter the four digit representation for the special characters (you can probably play around with it)...

  • Customer is getting created multiple tims when it has multiple sites

    Hi,
    I developed customer conversion.
    when I load data through conversion in R12 Customer is getting created multiple tims when it has multiple sites.
    what are the things I have to take care to prevent this.
    Please suggest me If any one has Idea.
    Thanks & Regards,
    Narendra.

    Hi Gabriel,
    Thanks for taking time to reply to my post.
    When one of my collegue giving the print, there is only one spool which is getting created, but when I run the program there are multiple spools are getting created.
    -Pradeep

  • Filtering out MATMAS IDoc based on a condition

    Hi All,
           We are distributing a Material Master IDoc (Message Type MATMAS / IDoc Type MATMAS05) from an ECC 6.0 (WebAS 700) system to an external Non-SAP system via SAP XI.
           Now our requirement is that the users will maintain a Z-table with all the SAP plants that are relevant for the external system. They can add or delete plants from this table in the future
           If the MATMAS Idoc is created/extended for a plant which is not in the Z-Table then it should not get distributed.
    E.g. If MATMAS IDoc contains plant 5000 and 5000 is not in the Z-Table then the Idoc should not even be created
    We Tried a lot of enhancements: -
    SMOD Enhancement - MGV00001
    Enhancement Spot - ES_SAPLMV01 at different call up points
    But none of them give the required exact result.
    If we implement the enhancement spot inside the function module MASTERIDOC_CREATE_MATMAS, we get a message "1 Master IDoc created, 0 Communication IDocs created". So something is getting created and that's incomplete anyway.
    So I am not sure how reliable this is
    <b>One last approach I have is</b>: -
    1) Send the IDoc to XI (without filtering)
    2) Let XI look at the Plant code and compare with the Z-Table in ECC (via a Z-RFC function module) and then decide whether to send the IDoc or not send it to external system
    Please let me know if my approch is correct or I am missing something here
    Thanks and Regards,
    Aditya

    Hi Aditya,
    If the Communication Idoc is not created it means that the IDOC is not sent out of the system. The Master Idoc creation does not mean the Idoc is sent to the XI adapter.
    The purpose of Restricting at the Plant level will be satisfied if you delete the Idoc data with in the function module MASTERIDOC_CREATE_MATMAS.
    It will work. Consequently you can add an additional check in XI to do this check, but this will increase the number of connections made to R3.
    Hope it helps.
    Thanks,

  • How to crete Button through ABAP programming

    Hello Friends,
    I am creating 2 selection screens through ABAP code and using them in my Tabstrip control also created through ABAP programming.
    Can I also create button on the selection screen through abap programming. If yes then how, and how to assign funtion code and capture the Function Code???
    Moderator Message: Read the below advice.
    Edited by: kishan P on Dec 30, 2010 7:44 PM

    Have a look at F1 help on SELECTION-SCREEN. There should be an example as well.

  • Email to User after User created through Reconcilitation

    Hi,
    I want to send a mail after user gets created through Recon?Any help will be appreciated

    see Metalink Doc ID:      560808.1
    Thanks
    IDM

  • Work scheduling view via MATMAS idoc

    Can somebody tell me which segment and field is used in MATMAS idoc to create Work scheduling view?

    Hi,
    Identify the various Basic Types available for MATMAS and then provide the basic type in transaction WE30 and you can check the various segments being generated.
    Thanks
    Krithika

  • Creation of IDOC through abap program.

    hello all,
    I hav created idoc through abap program. I hav used FM 'Master_idoc _distrribute'.this program creates an idoc but giving status 30. can any one tell me how to get status 03. I hav already created port, Logical sys,partner no.,distribution model.
    My Program is as follows:
    ABLES : CRMD_ORDERADM_I,CRMD_ORDERADM_H,CRMD_SCHEDLIN.
    DATA : S_CTRL_REC LIKE EDIDC OCCURS 0 WITH HEADER LINE,"Idoc Control Record
           ORDER_NO TYPE CRMT_OBJECT_ID VALUE '5000000032'," SEGMENT ORDER DATA
           PRODUCT TYPE CRMT_ORDERED_PROD VALUE 'SRV_01',
           QUANTITY TYPE CRMT_SCHEDLIN_QUAN VALUE '1.000'.
    DATA : ZORDER LIKE ZORDER_NUM OCCURS 0 WITH HEADER LINE.
    DATA :  T_EDIDD LIKE EDIDD OCCURS 0 WITH HEADER LINE.     "Data Records
    DATA :  T_COMM_IDOC LIKE EDIDC OCCURS 0 WITH HEADER LINE. "Generated Communication IDOc
    CONSTANTS :
    C_ZRZSEG1 LIKE EDIDD-SEGNAM VALUE 'ZORDER_NUM'.
    PARAMETERS :  C_MESTYP LIKE EDIDC-MESTYP DEFAULT 'ZORDER_IDOC2', "Message Type
                  C_RCVPRT LIKE EDIDC-RCVPRT DEFAULT 'LS',          "Partner type of receiver
                  C_LOGSYS LIKE EDIDC-RCVPRN DEFAULT 'BSNL_OUT',
                  C_RCVPOR LIKE EDIDC-RCVPOR DEFAULT 'A000000006',
                  C_SNDPOR LIKE EDIDC-SNDPOR DEFAULT 'SAPBCD0000',
                  C_SNDPRN LIKE EDIDC-SNDPRN DEFAULT 'BCDCLNT100',
                  C_IDOCTP LIKE EDIDC-IDOCTP DEFAULT 'ZORDER2',
                  C_SNDPRT LIKE EDIDC-SNDPRT DEFAULT 'LS'.          "Destination System
    ***START-OF-SELECTION
    START-OF-SELECTION.
      PERFORM GENERATE_CONTROL_RECORD.
      PERFORM SEND_IDOC.
    *&      Form  generate_control_record
    FORM GENERATE_CONTROL_RECORD .
      S_CTRL_REC-RCVPOR = C_RCVPOR. "Receiver Port
      S_CTRL_REC-MESTYP = C_MESTYP. "Message type
      S_CTRL_REC-IDOCTP = C_IDOCTP. "Basic IDOC type
      S_CTRL_REC-RCVPRT = C_RCVPRT. "Partner type of receiver
      S_CTRL_REC-SNDPOR = C_SNDPOR. "SENDER PORT
      S_CTRL_REC-RCVPRN = C_LOGSYS. "Partner number of receiver
      S_CTRL_REC-SNDPRT = C_SNDPRT. "Sender Partner type
      S_CTRL_REC-SNDPRN = C_SNDPRN. "Sender Partner Number
    APPEND S_CTRL_REC.
    ENDFORM.                    " generate_control_record
    *&      Form  send_idoc
    FORM SEND_IDOC.
    ZORDER-ORDER_NO = ORDER_NO.
    ZORDER-PRODUCT = PRODUCT.
    ZORDER-QUANTITY = QUANTITY.
    APPEND ZORDER.
    T_EDIDD-SEGNAM = C_ZRZSEG1.
    T_EDIDD-SDATA = ZORDER.
    APPEND T_EDIDD.
      CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'
        EXPORTING
          MASTER_IDOC_CONTROL            = S_CTRL_REC
        TABLES
          COMMUNICATION_IDOC_CONTROL     = T_COMM_IDOC
          MASTER_IDOC_DATA               = T_EDIDD
        EXCEPTIONS
          ERROR_IN_IDOC_CONTROL          = 1
          ERROR_WRITING_IDOC_STATUS      = 2
          ERROR_IN_IDOC_DATA             = 3
          SENDING_LOGICAL_SYSTEM_UNKNOWN = 4
          OTHERS                         = 5.
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ELSE.
        COMMIT WORK.
        LOOP AT T_COMM_IDOC.
          WRITE:/ 'IDoc Generated - ', T_COMM_IDOC-DOCNUM.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " send_idoc
    I hav created segment , basic type,message typealso and release also .I also linked them.
    Plz help me.
    Hemlata

    Hi Hemalatha,
    Just call this Progream RSEOUT00 from your Zprogram and pass the basic parameters like IDOC number, Basic type,Partner number etc.
    You can check the parameters by executing the Program RSEOUT00.
    This Program will change the status of your IDOC 30 to 03.
    Thanks.
    Note:Reward Points if you find useful.

  • PO is getting created but showing error is address with status of IDoc - 51

    Hi Experts,
    I am using IDoc type  - PORDCR103
    Process code - copy of  IDOC_INPUT_PORDCR1 (Function Module)
    After processing through WE19 it is generating an IDoc number with status - 51 showing error in Address , But it is creating a PO.
    My requirement is In status -51 It should not create PO.
    Inside IDOC_INPUT_PORDCR1 a Bapi  'BAPI_PO_CREATE1' is used for creating PO. Here In RETURN parameter of BAPI a Row is comming with Message type - E.  Some other messages are also there of type 'S' and 'W'.
    After processing ,  PO is getting created with staus - 51.
    Please help me .
    Thanks
    Susanta
    Edited by: Susanta22 on Oct 11, 2011 12:29 PM

    Hi,
    in ur code ur filling the idoc data rcord, control record ryt ..before u append data to idoc data , u r also validating and u might be doing in loop for appening the idoc data.
    if there is any error in idoc then it won't distribute the data, it will be in error status only..u can only see the data in WE02. Then u can also change the data in WE02 and redistirbute it via BD87.
    if u have any conerns let me know
    Regards,
    Nagaraj

Maybe you are looking for

  • File paths and moving files

    I'm having trouble with what I thought would be a simple script. All I want to do is create a simple script that moves Pages templates into the appropriate template folder. I keep getting the following error: "Applescript Error Finder got an error: H

  • How do I avoid syncing everything? I want each my devices to vary in their content.

    I have a few devices, and I have different uses for each of them. I don't want certain apps on certain devices, and I always end up with apps i don't need or want on my devices. Also, when I put effort into making a playlist on a device, I hate that

  • Regarding process chin.

    Hi all, If i am using process chin then how can i ensure that the data is uploaded in to PSA,ODS and infocube. I mean is there any log facility for this.. thanks,

  • How to make the UoM field optional field

    In material master Basic data1 tab, I want to make UoM field optional field. In OMS9, I changed this field from Req,field to Opt field ,but when i create a material, the UoM is still Req. How to resolve this? Thank you.

  • WLST errors ( No stack trace available.)

    for s in svrs: name = s.getName() try: cd('/ServerRuntimes/' + name) except: pass Above loop works fine for all the running servers but if any of server is not running then while executing cd commnad within loop it thows error "No stack trace availab