Create a matmas idoc based on PIR information

Hello friends,
can you please help me on the following points please :-) ?
I need to create matmas idocs and these idocs should be sent on a web portal identified on our SAP system as a logical system. The vendors will have access only to the materials they supply. For this reason, I need to send in the matmas the GLN code corresponding to the vendor for which we have created a purchase information record. This way, on the web portal the display of matmas information will be organised according to GLN codes.
Question :
how can we create the MATMAS idocs according to purchase information records? I mean how can I create matmas idocs selecting the materials supplied by specific vendors???
is there any standard way to do it on SAP? or has it got to be done a specific way. and if so, do you have any idea on how to do it?
Thanks in advance for your very precious help,
Kind regards,
Karenn

are you thinking about manual creation in BD10, or something automatic?
BD10 has the standard F4 material search help.
If you need to do it regular and manually, then you may consider creation of a new included search help where you can search based on info records.

Similar Messages

  • 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,

  • BAPI/FM to create idoc based from another(Just like WE19)...

    Hello Experts,
    Are there any BAPI to create a new idoc based on an existing one just like the functionality of WE19?
    Thank you guys!

    But looks like this function module is opening CO07 in SAPGUI...i actually need to call the function module from web application and create the add-on order. Please advise.
    Besides..i can pass the KTEXT value during the function module call itself right? can you pls tell me the reason why i need to force this in the enhancement spot?
    Regards,
    Kumar.
    Edited by: Kumar Kasavaraju on Aug 28, 2009 11:02 PM

  • Reg. Custom MATMAS IDOC

    Hi Gurus,
    I created one custom idoc based on matmas. I want to raise that idoc whenever material created or changed (Changes only send to thirdparty). How can we do this.
    Thanks & Regards
    Krishna

    HI krishna,
    goto WE61 to activate change pointers first.
    then run the program RBDMIDOC.
    Regards,
    Chinna

  • Userexit: Outbound matmas idoc

    Hi Guys,
    I am looking for a suitable userexit for Outbound matmas idoc.
    The requirement is once the idoc number has been generated with idoc status AFTER that only i need a userexit for my own .
    I am using BD10 transaction code to create the MATMAS idoc.
    Will appriciate your help..!
    Thanks,
    Biswajit.

    Hi,
    The flow is like this in BD10....
    CALL FUNCTION 'MASTERIDOC_CREATE_REQ_MATMAS'
       CALL FUNCTION 'MASTERIDOC_CREATE_MATMAS'
          CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'        " it return the control record with idoc no after execution
              CALL FUNCTION 'IDOC_CREATE_ON_DATABASE'    " it return the control record with idoc no after execution
                  CALL FUNCTION 'EDI_DOCUMENT_CLOSE_CREATE_TAB'     " it return the control record with idoc no after execution
                          PERFORM F09_IDOC_INSERT_WITH_NUMBER USING IDENTIFIER    " idoc no generates here in control record
                                                DOCNUM
                                                IDOC_CONTROL
                                                SYNTAX_RETURN
                                                FREE_RETURN
                                                SYN_ACTIVE.
    So i need a userexit / enhancement point after that with control record data.......

  • 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.

  • Creating  idocs based on invoice number ocurrences

    Hi ,
    I want  to create idocs based on invoice numbers .
    Lets say i have a file coming in from sender system
    Invoice1 material customer value
    Invoice1 materail1 ..........
    imvoice2 material2.....
    invoice2 material1.....
    invoice1 material3..
    Invoice3. material4....
    So for Invoice1 only one Idoc should be created  similarly for invoice 2 which is ocurring twice in the file
    only 1 idoc  should be created
    Let me know how to achieve this ..  by UDF , or by split by value
    please help
    thnx
    Chirdip

    Hi,
      Change the IDOC occurance to 0-unbounded.Export the xsd change the occurance and import it to external definition.
    Map Like below:
    invoice number--removecontext--sort--splitbyvalue(valuechange)--IDOC
    other fields you need to map like below.
    invoice number--removecontext--sortbykey--SplibyValue(Each)---IDOC fields
    source field----removecontext------
    Regards,
    Prakasu.M

  • Create Individual Idocs Based on Parent and Child Segment type

    Hi Experts,
    I have a scenario IDOC to FILE ,  Split Single IDOC into Multiple IDOC's based on parent and child Segment Type
    For example If 3 child segments are same and 1 segment is different under parent segment then 3 same child segments are clubbed and create single idoc under parent segments and 1 different child should create in individual idoc under parent segment.
    Note : Same logic should work for N number of Parent Segments and Child Segments.
    Outbound:
    ZIdocName
    Control Record
    Data Record
    Parent Segment A
       Child Segment 1
       Child Segment 1
       Child Segment 1
       Child Segment 2
    Parent segment  B
       Child Segment 3
    Status Record
    I should get output like below
    Inbound:
    ZIdocName
    Control Record
    Data Record
    Parent segment A
      Child Segment 1
      Child Segment 1
      Child Segment 1
    Status Record
    ZIdocName
    Control Record
    Data Record
    Parent segment A
      Child Segment 2
    Status Record
    ZIdocName
    Control Record
    Data Record
    Parent Segment B
      Child Segment 3
    Status Record
    Please suggest me step by step process to achieve this task.
    Thanks.
    Ram

    Hello,
    Segment won't hold any value, so filter criteria should be there on some field wich exist in Parent node and chile node?
    Paste ur XML?
    Try this(Assuming u have some fields in parent/child segment on which u want to define filter criteria):
    Parent Field--UseOneAsMany----RC----
                                      ------------------Concat ----splitbyvalue(value change)--collapse context --- ZIdoc
    Child field-- RC----------
    Child field--RC--splitbyvalue(valuechange)--CC -Splitbyvalue(each value) -- ParentSegment
    Child field--RC--splitbyvalue(valuechange)--- ChildSegment
    RC -> Remove Context
    CC - Collapse Context
    Note - i haven't tested ur mapping, so make sure to adjust context in mapping
    Thanks
    Amit Srivastava
    Message was edited by: Amit Srivastava

  • Creating new material using i/b MATMAS IDOC

    Hi mates,
    I'm trying to create a material in R/3 using an inbound MATMAS IDOC. The material type I use is confiugured for internal number assignment. So, I'm leaving the E1MARAM-MATNR blank.
    But, the IDOC failing saying 'No Material Transfered'.
    I'm using '005' for the field MSGFN in E1MARAM, E1MAKTM, E1MARMM etc. Is this the right value?
    I'm trying to create a material with only the basic view data maintained.
    Whats wrong/missing in my config?
    I appreciate ur inputs.
    thx in adv
    praveen

    Hi Praveen,
    Use WE19 transaction to execute the function module IDOC_INPUT_MATMAS01.
    Use different values for the MSGFN field and check it
    Regards
    Arun

  • Create Idocs based on Company Code change & Line Items less than 950

    Dear all,
    I am trying to create the Idocs based on the flat file in the following way.
    1) Create the Idoc per company code
    2) If company code exceeds 950 lines then create another Idoc
    I am trying to follow this BLOG and could not be able to achieve it because in the Blog explained with flat structure and my case is Idoc structure.
    /people/claus.wallacher/blog/2006/06/29/message-splitting-using-the-graphical-mapping-tool
    I changed the Idoc Occurrence and imported to External definition.
    I am able to do the both check individually but not able to put them in combining.
    Please advice..
    Regards

    Company Codes -> sort -> SplitbyVlaue(Valuechange) -> CollapseContexts -> remove contexts
    AND
    Contact(CompanyCodes, Lines) both in header context - removeContexts - SortbyKey(CompanyCodes) -
    formatbyExample(Company Codes -> sort -> SplitbyVlaue(Valuechange)) - count - greater(>950)
    Srikanth Srinivasan

  • How to create a simple idoc in practice? can you provide an example?

    how to create a simple idoc in practice? can you provide an example with full source code?

    Try with the follwoing steps
    Sending System(Outbound ALE Process)
    Tcode SALE „³ for
    a) Define Logical System
    b) Assign Client to Logical System
    Tcode SM59-RFC Destination
    Tcode BD64 ¡V Create Model View
    Tcode BD82 ¡V Generate partner Profiles & Create Ports
    Tcode BD64 ¡V Distribute the Model view
    This is Receiving system Settings
    Receiving System(Inbound ALE )
    Tcode SALE „³ for
    a) Define Logical System
    b) Assign Client to Logical System
    Tcode SM59-RFC Destination
    Tcode BD64 ¡V Check for Model view whether it has distributed or not
    Tcode BD82 -- Generate partner Profiles & Create Ports
    Tcode BD11 Getting Material Data
    Tcode WE05 ¡V Idoc List for inbound status codes
    Message Type MATMAS
    Tcode BD10 ¡V Send Material Data
    Tcode WE05 ¡V Idoc List for watching any Errors
    1)a Goto Tcode SALE
    Click on Sending & Receiving Systems-->Select Logical Systems
    Here Define Logical Systems---> Click on Execute Button
    go for new entries
    1) System Name : ERP000
    Description : Sending System
    2) System Name : ERP800
    Description : Receiving System
    press Enter & Save
    it will ask Request
    if you want new request create new Request orpress continue for transfering the objects
    B) goto Tcode SALE
    Select Assign Client to Logical Systems-->Execute
    000--> Double click on this
    Give the following Information
    Client : ERP 000
    City :
    Logical System
    Currency
    Client role
    Save this Data
    Step 2) For RFC Creation
    Goto Tcode SM59-->Select R/3 Connects
    Click on Create Button
    RFC Destination Name should be same as partner's logical system name and case sensitive to create the ports automatically while generating the partner profiles
    give the information for required fields
    RFC Destination : ERP800
    Connection type: 3
    Description
    Target Host : ERP000
    System No:000
    lan : EN
    Client : 800
    User : Login User Name
    Password:
    save this & Test it & RemortLogin
    3)
    Goto Tcode BD64 -- click on Change mode button
    click on create moduleview
    short text : xxxxxxxxxxxxxx
    Technical Neme : MODEL_ALV
    save this & Press ok
    select your just created modelview Name :'MODEL_ALV'.
    goto add message type
    Model Name : MODEL_ALV
    sender : ERP000
    Receiver : ERP800
    Message type :MATMAS
    save & Press Enter
    4) Goto Tcode BD82
    Give Model View : MODEL_ALV
    Partner system : ERP800
    execute this by press F8 Button
    it will gives you sending system port No :A000000015(Like)
    5) Goto Tcode BD64
    seelct the modelview
    goto >edit>modelview-->distribute
    press ok & Press enter
    6)goto Tcode : BD10 for Material sending
    Material : mat_001
    Message Type : MATMAS
    Logical System : ERP800
    and Execute
    7)goto Tcode : BD11 for Material Receiving
    Material : mat_001
    Message Type : MATMAS
    and Execute --> 1 request idoc created for message type Matmas
    press enter
    Thanks & regards
    Sreenivas
    Here Master Idoc set for Messge type MATMAS-->press Enter
    1 Communication Idoc generated for Message Type
    this is your IDOC
    Take a look at this guide.
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://www.allsaplinks.com/idoc_sample.html
    http://www.sappoint.com/abap/ale.pdf
    http://www.sappoint.com/abap/ale2.pdf
    http://www.sapgenie.com/ale/configuration.htm
    http://www.sappoint.com/abap/ale.pdf
    http://www.sappoint.com/abap/ale2.pdf
    http://www.sapdevelopment.co.uk/training
    http://www.sappro.com/downloads/OneClientDistribution.pdf
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    Create The Extension Segment
    Transaction: WE31
    The first step in extending an IDoc is to create the new segments that will go into that IDoc. There are some rules that you need to follow when creating the segments:
    - The name of each segment type must start with ‘Z1’
    - For each field in the segment you need to define a field name and a
    data element.
    - The data element for the segment structure must be of data type ‘CHAR’.
    How to create new segments:
    Run the segment maintenance transaction WE31.
    Type your new segment name, and click on Create.
    Define the fields of your segment:
    Field name
    Data Element for the field (from the ABAP dictionary).
    Do not change the Export length!
    Save the segment
    Run Segment -->Check to check the segment for consistency.
    Release the segment for transport. Select Edit -->Set Release. Note that the “Release’ column now has a check mark.
    Create the Extension IDoc Type
    Transaction: WE30
    After you create the segments to be added to the extension type, you can create the extension type itself. Execute transaction WE30, enter the extension name, select Extension type, and click Create. You now have three options:
    Create new type: Does not refer to other extension types
    Create copy: Copies info from an extension type that already exists
    Create successor: Extends an extension type from a previous release
    of R/3. You can only have one version of an extension type for
    each release.
    Enter the Basic IDoc type that this extension type will extend.
    The screen now shows the structure of the IDoc type you used as
    a reference.
    Position the cursor on one of the segments and click Create. This will insert an extension segment as a child of the selected segment.
    NOTE: A segment cannot appear more than once in an IDoc type! You must control the use of duplicate segments with the segment attributes (the next screen).
    The segment attribute screen appears. Enter the information and save.
    Extension segments should not be mandatory (for future upgrades), and will need to have minimum and maximum number of instances defined. This answers the question, “for each instance of the parent segment, how many instances of the child segment may we have?”
    You can press the Segment Editor pushbutton to view or change the segment definition.
    Create the new Message Type
    You can only use an extension IDoc type by assigning it to a message type. You can create a new message type for this.
    First the message type itself needs to be created.
    Transaction: WE81
    Create a new entry and save. Use SAP established customer naming conventions (good form is to start with a Z and retain the rest of the related SAP message type, so, for example, MATMAS becomes ZMATMAS).
    After creating the message type, associate it with the corresponding Basic IDoc Type and Extension Type. This relationship is used when IDocs are sent to or received from a partner to determine what segments are valid and what the hierarchy for those segments is.
    Transaction: WE82
    Create a new entry and enter the Message type, Basic IDoc type, Extension type, and Release, and save your data. Note: the release assignment is not valid for prior SAP releases.
    One message type can be associated with many basic IDoc types; however, you need a one-to-one relationship for distribution via ALE.
    regards,
    srinivas
    *reward for useful answers*</b>

  • Error while creating an outbound idoc using idoc type delvry02

    hi,
         i getting the following error while creating an outbound idoc(outbound shipping notification) using message type " DESADV" and IDOC TYPE " DELVRY02"
    ERROR:
                " SPECIFY EITHER ADDRESS NO OR ADDRESS HANDLE"
    MESSAGE NO: AM053
    Help would be appreciated.
    regards
    leo

    The message is kind of self-explanatory. It seems that some address (delivery address ?) is required but is missing from the IDoc. If it's a syntax error, then the segment with error will appear in red in WE05 transaction.
    It is also possible that you have filled some field that you should have left blank and now SAP is trying to find an address based on that field.
    Check your IDoc contents. It's really hard to tell from the distance since the requirements and configuration could be very different in different systems. Sometimes the OSS note search by message ID and number is also helpful.

  • Splitting Purchase Order Idoc based on qty

    Hi All,
    I am having a requirement wherein i have to insert multiple line items in purchase order idoc  based on quatity .Eg if the line item qty is 3 then the same line item has to be repated for 3 times and purchase order idoc has to created with 3 line items.I am trying to do this User exit EXIT_SAPLEINM_002 which is used Customer Enhancements to Data Segments: Purchasing Document (Outbound ).Can anybody tell me how can i go ahead inserting multiple lineitems in purchase order idoc based on the qty.So, Can anybody know how to handle this scenario? Also, can you please let me know whether is there any standard procedure for handling this scenario
    Thanks in advance
    Regards
    Saravana

    Hi,
    Use t.code ME2M or ME2N , enter account assignment category A & then choose selection parameter WE101 (open goods receipt) and execute.
    Regards,
    Biju K

  • Multiple IDOCs based on multiple fields in File to IDOC mapping

    Hello Experts,
         I have a requirement to create multiple IDOCs based on multiple fields.
         Earlier my requirement is to create IDOCs based on ShipID (i.e., for every ShipID new IDOC...I achieved this).
         But now the requirement was to create IDOC based on two more fields like
    Source:
         ShipID1
         FieldA with value1 
         FieldB with value1
    Target :
         1 IDOC to create
    and If
    Source:
         ShipID1
         FiledA with Value2
         FiledB with Value2
         ShipID1
         FiledA with Value1
         FiledB with Value2
    Target:
         2 IDOCs based on FiledA
    Like wise IDOC should create for every change in FiledA and FieldB.
    If FiledA and FiledB has no changes then create IDOC based on ShipID
    please help me in achieving this as this is an urgent requirement.

    Hi Prasad -
    Just concat all the three fields - shipID1, FieldA and FieldB and
    remove contexts
    split by value (value changed)
    collapse contexts
    This way whenever there is a change in any of the above fields you'll have separate IDOC..

  • IDOC: Status (Error/Success/information)report to Sender system

    How would one send a message(error/success/information) to the sending(external) system to inform them of the statuses of the messages they've sent to our SAP system?

    Hi Baumann,
    you have an option called Audit reporting in which you can have the status of idoc at sender side.read the following.
    Setting Up Audit Reporting
    In the default behavior, after an IDoc is dispatched to a destination system, the sender does not know the state of the process on the destination system. You can configure the system, however, for cross-system reporting. You must model the ALEAUD message between the systems.
    Two programs enable cross-system reporting.
    1)RBDSTATE. This program is scheduled to run periodically on the destination system. It reports the status of incoming IDocs to the sending system, using the ALEAUD message and ALEAUD01 IDoc. This status information is recorded separately from IDoc status information in the audit logs.
    2)RBDAUD01. This program is executed on the sending system. It analyzes the audit log and displays the output as a report.
    The RBDSTATE program returns the following statuses, from the receiving to the sending system.
    RBDSTATE Is Run on the Receiving System
    Status of IDoc in receiving system     Status reported to sending system via ALEAUD
    53 (Application document posted.)     41 (Application document created in receiving system.)
    51 (Error: Application document not posted.)     Status 39 (IDoc is in the receiving system.) This status is repeated each time RBDSTATE is run, as long as the IDoc remains in status 51.
    68 (Error: No further processing.)     40 (Application document not created in receiving system.)
    reward points if helpful,

Maybe you are looking for

  • Java.sql.SQLException: Invalid cursor position on saving

    Dear all I'm having a problem with saving components on a JSF page. The page is plit in two parts: 1. Save report details, which are being saved correctly. Here is the code public String btnSaveReport_action() {         // TODO: Process the button cl

  • Car Stereo wont play after 4.1

    Hello, this is a problem that has seemed to progressively get worse with each iOS update. I know this is probably more of an issue for the maker of the car stereo, but it's also an issue caused by the OS updates. The stereo is a Valor ITS-702. iOS 2

  • Filename printing on dustcover - but I don't want it to!

    Hi all, Hoping someone can help as this is driving me crazy. No matter what I do (erase the filename, insert a space instead of the filename, make the text the same colour as the background), the filename keeps coming up in white text underneath all

  • I can't open .CR2 files with elements 11

    I have a canon T5, it records .CR2 files for RAW. Photoshop Elements 11 won't open .CR2 files. I downloaded update 7.40.137 but that doesn't help. What do I do now?                     thanks Ed

  • 2900 Series Router Shows Wrong Date in Logs

    Hello All, Router: 2911 SIP Gateway (C2900-UNIVERSALK9-M) IOS Ver: Version 15.2(4)M3 When I run the "show ntp status" command it is showing the correct date/time in with the NTP data. But when I run "show logg" the SIP messages being logged are showi