Reference attributes from different CS

Hi!
I have the following situation: There are two Oracle MA, that imports data from HR-system. The first MA imports persons, the second one imports departments.  It isn't suitable for me to combine them. The department object has an atribute "chiefID",
where is set an identifier of the person. So the question is: how can I flow chiefID as Reference atribute? AFAIK, to be able to flow reference attributes - both objects should be in one CS.
Thanks for any help!

Hello,
There is another way if you have FIMPortal and service and  keep to independant Oracle MA. Use an Extended flow to transform "chiefid" in "csObjectID of chief" by using code and the FindMvEntries method (http://msdn.microsoft.com/en-us/library/microsoft.metadirectoryservices.utils.findmventries.aspx):
From Oracle MA, Find user in MV and save his csObjectID into a string
Define an export flow of this string attribute to a reference attribute in FIM MA (Works only with mono value)
Define an import flow from FIM MA from the reference attribute to the MV
Regards,
Sylvain

Similar Messages

  • Reference Items from different pages

    Hey Guys,
    I have a short question:
    How can I reference Items from a different page?
    I have a query, which references to a datepicker from another page.....
    Can anybody help?
    Thanks,
    Tim

    Tim,
    just as you would reference the item on the same page.
    The current value is written to session state.
    For example, you datepicker on page 1 is called P1_DATE1.
    Then you can reference is using the usual methods on page 2:
    select v('P1_DATE1') from dual;
    select :P1_DATE1 from dual;
    select '&P1_DATE1.' from dual;~Dietmar.

  • How to use attributes from different context nodes in one view?

    I am VERY new to the concept of CRM and currently working on creating an alternate version of the BP_HEAD_SEARCH. With help from SAPPRESSs book 'SAP CRM Web Client' i was ble to create my own simple Z-component.
    However after going back and forth the book and the forum (including this [article|https://wiki.sdn.sap.com/wiki/display/CRM/Howtoaddanexistingfieldtoasearchpageofadifferent+component]) i was not able to find a solution to my problem. My current search uses BuilHeaderAdvancedSearch as context node for searching. But the search should also be able to use attributes from BuilActivity, which is directly related to BuilHeader. I can't seem to find a way to get attributes from BuilActivity into the search window of my component without having to change SAP-Standard.
    Is this really the only way? Please advise on possible code and insertion point.

    Any suggestions?

  • Copy user attribute from different user to user currently being edited

    Dear all,
    I'm somehow stuck with a requirement I've to implement.
    I've to copy some user attributes from one user to another. I learned that I should be able to use "getResourceObject" for
    this and I tried to implement this in my user form:
    <Field name='otherUser_actvtGrps'>
    <Display class='Text'>
    <Property name='title' value='otherUser_actvtGrps'/>
    </Display>
    <Default>
    <set name='otheruser'>
    <invoke name='getResourceObject' class='com.waveset.ui.FormUtil'>
    <select>
    <ref>context</ref>
    <ref>:display.session</ref>
    </select>
    <s>SAP_System_A</s> <!-- the resource ID -->
    <s>User</s>
    <s>TemplateUser</s> <!-- this is the AccountID that i need as source -->
    <null/>
    </invoke>
    <ref>otheruser.user.attributes.activityGroups</ref> <!-- this is the attribute from the source user I want to copy/read -->
    </set>
    </Default>
    </Field>
    But this does not return anything..
    Any ideas what I did wrong ?
    Many many thanks for any help/ideas !
    Best regards
    Joerg

    Do you know where to get some docs about the topics you mentioned ?
    1. Your adapter might not to support Resource Objects of type User.ResourceReference manual, the "Resource Object Management" section in each adapter chapter. Also the resource description in XML has the ObjectTypes section, for example, for Active Directory adapters:
      <ObjectTypes>
        <ObjectType name="Group" nameKey="UI_RESOURCE_OBJECT_TYPE_GROUP" icon="group">
          <ObjectClasses operator="AND">
            <ObjectClass name="Group"/>
          </ObjectClasses>
          <ObjectFeatures>
            <ObjectFeature name="create"/>
            <ObjectFeature name="update"/>
            <ObjectFeature name="delete"/>
          </ObjectFeatures>
          <ObjectAttributes idAttr="distinguishedName" displayNameAttr="samAccountName" descriptionAttr="description" objectClassAttr="objectclass">
            <ObjectAttribute name="cn" type="string"/>
            <ObjectAttribute name="sAMAccountName" type="string"/>
    2. You can fetch the complete user view with all resource account information.You will find many examples in IdM XPRESS samples.
    Get user view using LighthouseContext and user accountId
    <invoke name='getView'>
      <invoke name='getLighthouseContext'>
        <ref>WF_CONTEXT</ref>
      </invoke>
      <concat>
        <s>UserViewer:</s>
        <ref>accountId</ref>
      </concat>
      <Map>
      </Map>
    </invoke>Or with WorkflowServices (see BusinessAdministration manual):
    <Action id='0' application='com.waveset.session.WorkflowServices'>
      <Argument name='op' value='getView'/>
      <Argument name='viewId'>
        <concat>
          <s>User:</s>
          <ref>accountId</ref>
        </concat>
      </Argument>
      <Return from='view' to='user'/>
    </Action>
    3. You can fetch resource account info directly using ResourceAdapter API (not too well documented way).Example in Java:
        LighthouseContext ctx = <get context here>;
        // Get resource object
        Resource res = (Resource) ctx.getObject(Type.RESOURCE, <resource name>);
        // Pack resource and user accountId into a ResourceInfo object
        WSUser user = new WSUser();
        ResourceInfo info = new ResourceInfo();
        info.setAccountId(accountId);
        info.setResource(res);
        info.setAttributes(null);
        user.setResourceInfo(new ResourceInfo[] {info});
        // Rertrieve ResourceAdapter object
        ResourceAdapter ra = ResourceOp.findAdapter(res, res.getCache());
        // Get account info into the 'user' object
        WSUser result = ra.getUser(user);
        // Now you can get account status from ResourceInfo ...
        info = result.getResourceInfo(res);
        // ... and account attributes from WSAttributes
        WSAttributes attributes = result.getWSAttributes();
        ...

  • Reading Attributes from different context nodes in the same view

    Hi,
    I have added a new field as part of an enhancement for Trade Promotions. This field is a checkbox and part of the context node TRADE in the view TPMOE/HeaderEOF. This field will be checked or unchecked using a logic in the background.
    The logic will be based on an attribute (Fund Plan ID) which is part of another context node FUNDPLAN in the same view.
    How can I read the attribute of FUNDPLAN context node in TRADE context node?
    A sample code will be quite helpful as I am new to CRM 2007.
    Thanks,
    Abhishek
    Edited by: Abhishek  Periwal on Oct 16, 2008 2:35 PM

    Hi Abhishek,
    If I understand your question correctly, you would like to access the Fund plan ID (in a different context node) in the getter setter methods of the check box attribute which you have added.
    The code snippet mentioend by sudeep works perfectly fine when you are making any checks in the view implementation class. But since you are in the getter setter methods of the context class, this doesnot work as "me" always refers to the class instance in which you are present.
    Now in this case what you need to do is :
    1)  create an attribute <view_controller> in your context class. Here the context is TRADE. The type of this attribute wud be same as the view controller class CL_TPMOE_HEADEREOF0_IMPL
    2) Go to the view controller class and redefine the method
    DO_VIEW_INIT_ON_ACTIVATION. This method is called only once when the view is loaded for the first time.
    3) In this method, put the following code
    me->typed_context->(Trade)->[view_controller] = me.
    by the above code, you are setting the newly created attribute to the view controller instance.
    4) The next step would be, go back to your getter setter methods or what ever it may be, try referring to the Fund plan ID by the code snippet mentioned below
    data: lr_entity type ref to cl_crm_bol_entity.
    lr_entity ?= me->[view_controller]->typed_context->[the context node in which the fund plan id is present]->get_current().
    lv_field_value = lr_entity->get_property_as_String( **pass the field name here ).
    This should definitely resolve the problem.
    Thanks,
    Vinay

  • How to close FPGA reference out from different while loop

    Hi Friends,
                  I`ve different while loop which performs the FPGA read port on different loops I`ve the FPGA out on every terminal at the end of the while loop. I`ve just connected the merge error function in which all the error out of the FPGA are combined and given to simple error handler. How to close the FPGA Reference.

    Can you attach your VI?  I'm not clear on what you mean.  Are you saying that you are using the FPGA reference which is passed into multiple loops, and then continuing the reference wire to pass the ref out of each of the multiple loops?
    If that is the case, I don't believe you can't merge references like you can error clusters.  You will just need to wire one of the reference to the close FPGA VI.  Additionally though, I'd recommend that you use your error clusters in some manner to ensure data flow so that all the other loops stop first, and you are sure you are closing the reference after all the other loops are done with the ref. 

  • HOW TO ACCESS ATTRIBUTES FROM DIFFERENT VIEW SET

    Hi Experts,
    How i can  access the variables declared in context class from component controller class
    and vice-versa.
    Thanks & Regards
    Ansal

    Hi Ansal
    You can bind your context node of view to component controller context node and then you can access the data.
    You can do this binding by inserting following statements in create_context_node method of your _ctxt class.
    owner->do_context_node_binding( iv_controller_type = cl_bsp_wd_controller=>co_type_component
       iv_target_node_name = 'BUILHEADER'  
       iv_node_2_bind = builheader ).
    Regards,
    Rashmi

  • Cannot get attributes from different child elements...

    Hi,
    I have an Xpath expression which happily gives me all the 'element' elements when I put in the the step variable(1, 2 or 3), see below....
    "/remove[@step < "+step+"]/element"
    <remove step="1">
         <element path="epg.schedule.programme.longName" />
         <element path="epg.schedule.scope" />
    </remove>
    <remove step="2">
         <element path="epg.schedule.programme.mediaDescription" />
    </remove>
    <remove step="3">
         <element path="epg.schedule.programme.genre" />
         <element path="epg.schedule.programme.memberOf" />
         <element path="epg.schedule.programme" />
    </remove>
    But when I ask for each elements attribute 'path' it only every returns the paths for step 1...
    "/remove[@step="+step+"]/element/@path"
    Any ideas greatly appreciated.
    Thanks.
    Paul.

    If the xpath expression
    "/remove[@step["+step+"]/element/@path"is selected with a selectSingleNode method the first <element/> in the <remove/> element gets selected.
    If the xpath expression is selected with with selectNodes method a node list of elements is returned.
    To select an element specify the xpath expression:
    "/remove[@step[3]/element[1]/@path"seelcts the path attribute for the first element in the third remove element

  • Creating Sales Order with reference to Quotation from different Sales Area

    Hi,
    I would like to inform you that our customer (GE ENERGY OC) from Europe have a requirement where they want to create sales orders with reference to quotation that is from different sales area. Standard SAP functionality doesn't allow this feature, hence requesting your help to give me an update in this regard.
    Please treat this as urgent as they have to do business cutover where they are in the process of completing open sales orders.
    Thanks
    Ashfaq
    Mobile: +91-98857-07558
    E-Mail: [email protected]

    Hi RadhaKrishna,
    In standard system it is not possible to create sales order from a quotation whose sales are is different.
    However I think this is possible by using some user exit in sales order. I have never tried this.
    Regards
    srini

  • Multiple keyfigure from different planning area based on attribute value

    Multiple keyfigure from different planning area based on the attribute value of Cost element charac.
    I need to obtain the value of the attribute in a fox function. Let me explain it further.
    Background :
    Planning area -
    Charac----
    KF
    area1 -
    Payscale group--- Amount
    Cost element------AmountVR
    area2--Payscalegroup----KF1
    KF2
    KF3
    Cost Element has an attribute "Type"
    Value for attribute "Type" = 1,2,3
    Based on the value of the attribute, the corresponding KF needs to be multiplied.
    Logic :
    If type = 1.
    AmountVR = Amount * KF1.
    elseif type = 2.
    AmountVR = Amount * KF2.
    elseif type = 3.
    AmountVR = Amount * KF3.
    endif.
    The problem I'm facing is that I'm not able to read the data of attribute "Type". None of the below statement retrieve the value of the "Type".
    TYPE = ATRV(Attribute,COSTELEMENT,CO_AREA)
    or
    TYPE = ATRV(Attribute,COSTELEMENT)
    Could you please help me in reading from a time dependent compounding InfoObject?
    Regards,
    Raghu

    Hi..
    Thanx Bindu..
    I have actual data for Month days..if i am craeting in same layout it is too large.
    that's why i am creating two layouts.
    below example for better undersatnding.
    Actual:
    D1 :D2: D3  :D4 : D5  :D6 : D7   :  FULLACT (sume of C(1)  sum of d1 to d7))
    10  :8  :12 :  10 : 14   : 6  : 10    :  70     
    Plan:
    D1EST : D2EST: D3EST :D4EST :D5EST: D6EST: D7EST:  FULLEST (sum of d1 to d7)
    10         :10        :  10      :  10      :10       :    10    :     10  :         70
    How can i read FULLACT value and that value i have to distribute  equally in planing layout and always FULLEST is equal to FULLACT.if not equal i have to throug error message hoe can i setup if you have sample code can you send it to me.
    what is your idea....
    Edited by: Eyda rose on Jun 4, 2008 4:59 PM

  • Reading Attributes from same context node of different attributes

    Hi,
    I  want read Attributes from same context nodes of diifrent attributes.
    I have attribute A and B of same node, want to get read value from  atrribute A into B.
    Regards,
    Brahmaji

    solved
    DATA: lv_current TYPE REF TO if_bol_bo_property_access.
       DATA: lv_value type String.
       IF iterator IS BOUND.
        lv_current = iterator->get_current( ).
      ELSE.
        lv_current = collection_wrapper->get_current( ).
      ENDIF.
      CALL METHOD current->get_property_as_string
            EXPORTING
              iv_attr_name = 'ZZAFLD00004Y'
            RECEIVING
              rv_result    = lv_value .

  • Problem with Persistent Object as Reference Attribute of Persistent Object

    Hello All,
    I have a problem with a persistent class that contains a reference attribute to another persistent class.  I can write the reference object attribute to the DB but when I read the reference attribute back from the DB the object is null.  Allow me to explain...
    I have two tables; one is a data table with one key field of type OS_GUID, the second is a mapping table with several business key fields and two further fields; an instance GUID and a class identifier GUID.  The data table is used to contain all the data for an object.  The mapping table is used to hold a relationship between the GUID assigned in the data table and the business key.  The mapping table has been structured in this way by following the help here:
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/df/e785a9e87111d4b2eb0050dadfb92b/frameset.htm
    and the field mapping in persistent class for the mapping table has been mapped following the help here:
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/06/f23c33638d11d4966d00a0c94260a5/frameset.htm
    The code I use to create entries in the data and mapping table is:
    <-snip->
      DATA:
        gv_blank_data_guid TYPE REF TO zcl_ps_data,
        gv_data_guid       TYPE        os_guid,
        go_data_ps         TYPE REF TO zcl_ps_data,
        go_data_agent      TYPE REF TO zca_ps_data,
        go_data_map_ps     TYPE REF TO zcl_ps_data_map,
        go_data_map_agent  TYPE REF TO zca_ps_data_map,
        go_exc             TYPE REF TO cx_root.
      go_data_agent = zca_ps_data=>agent.
      go_data_map_agent = zca_ps_data_map=>agent.
      TRY.
    Check if there's already data with the business key on the DB
          go_data_map_ps = go_data_map_agent->get_persistent(
                             i_data_ref     = iv_data_ref
                             i_action       = iv_action ).
    ... if there is then exit.
          EXIT.
        CATCH cx_root INTO go_exc.
      ENDTRY.
      TRY.
    Create the data...
          go_data_ps = go_data_agent->create_persistent(
                           i_root_guid = gv_blank_data_guid
                           i_req_date  = iv_req_date ).
          TRY.
    ... finally, write the new data to the data business key map table
              go_data_map_ps = go_data_map_agent->create_persistent(
                                 i_data_ref     = iv_data_ref
                                 i_action       = iv_action
                                 i_data_guid    = go_data_ps ).    "note1
            CATCH cx_root INTO go_exc.
          ENDTRY.
        CATCH cx_os_object_not_found.
      ENDTRY.
      COMMIT WORK.
    <-snip->
    The fact that it is possible to pass the object GO_DATA_PS in the call to GO_DATA_MAP_AGENT (the line that I've put the comment "note1" on) indicates to me that the reference to the data persistent object can be written to the DB by the mapping persistent object.  After executing the above code the mapping table object and class identifier fields are populated.  Also, if multiple entries are written to the tables then the class identifier field in the mapping table is always the same and the object ID is different as expected.
    However, the problem I have is if I read an object from the DB using the business key with the following code:
    <-snip->
      DATA:
        gv_req_date        type        datum,
        gv_data_guid       TYPE        os_guid,
        go_data_ps         TYPE REF TO zcl_ps_data,
        go_data_agent      TYPE REF TO zca_ps_data,
        go_data_map_ps     TYPE REF TO zcl_ps_data_map,
        go_data_map_agent  TYPE REF TO zca_ps_data_map,
        go_exc             TYPE REF TO cx_root.
      go_data_agent = zca_ps_data=>agent.
      go_data_map_agent = zca_ps_data_map=>agent.
      TRY.
    Read data mapping with the business key
          go_data_map_ps = go_data_map_agent->get_persistent(
                             i_data_ref     = iv_data_ref
                             i_action       = iv_action ).
    ... then read the data.
          TRY.
              CALL METHOD go_data_map_ps->get_data_guid
                RECEIVING
                  result = go_data_ps.
            CATCH cx_os_object_not_found.
          ENDTRY.
        CATCH cx_root INTO go_exc.
      ENDTRY.
    <-snip->
    At no point during this code are the attributes of the object of the persistent class for the data table populated with the contents of the fields of the data table referenced as the attribute of the mapping table.  To clarify, when viewing the object in the debugger all the attributes of the mapping object that are simple table fields are populated with the values of the fields of in the mapping table, however, the attributes of the object that represents the persistent class for the data table are not populated with the fields of the data table.  I had hoped that by reading the mapping table object the data object would automatically be populated.  Is there another step I need to perform to populate the data object?
    I'm sorry if the above is hard to follow.  Without being able to provide screenshots it's difficult to explain.
    If someone has managed to store references to persistent objects in a table and then read the references back could you list the steps you went through to create the persistent classes and include the code that reads the objects please?  The code I have almost works, I must be just missing some subtle point...
    Thanks in advance,
    Steve.

    Hi Andrea,
    The iObject being replicated at item level for Service Complaints is the SAP standard behaviour.
    Generally we raise complaint refering to some sales or service issues. In your scenario you are trying to create a complaint based on an iObject, then you have to mention the corresponding product details. I dont see any business requirement not to copy the iObject product at the item level.
    If you want it then I think only you have to write a Z program for it.
    Hope this helps!
    Regards,
    Chethan

  • Trouble with anchor and reference attributes combined with a Correlation ID

    Greetings, I'm a little green on FIM and looking for some advice.
    We have an HR system where we store the information on Contractors, Interns, and Employees.
    The business process for converting Contractors and Interns to Employees is to terminate the Contractor and re-hire as an Employee. This gives us a different employee number for the "live" entry in the HR system.
    Also, there is a "Supervisor No" attribute that is a Reference attribute for their manager. This is their employee number.
    What do I do in FIM? If the Employee number is the anchor, won't the system consider the employee a new object? Is there a way to connect the new employee record to the metaverse object that was a contractor or intern, and update the anchor attribute (the
    new employee number)?
    I was thinking of using a different custom field in the HR system as the FIM_Sync. But just realized that if this became the anchor, then no managers would connect since the Supervisor No is an Employee number.
    Thanks in advance for helping.
    -Doug
    *** Update ***
    I read some of the articles on Correlation ID that are in the 2003 version of MIIS the TechNet library. So a follow up question would be what happens between the CS and MV when the HR object changes.. Assuming I have this FIM_Sync attribute to be my
    Correlation ID.
    Contractor is created. Employee ID is anchor and FIM_Sync field is populated.
    New object in CS
    Projected into MV
    Provisioned out to AD and other systems, but they don't have the FIM_Sync attribute in their schema.
    Business Event.. Contactor converted to Employee:
    Contractor in HR system terminated (employment_state) and FIM_Sync entry removed.
    Employee record created in HR system and FIM_Sync value populated with what it was in the contractor record
    New Employee object in CS
    Does Contractor get disconnected?
    Does the Employee CS object get joined to existing MV object?

    At one of my previous projects we solved the same scenario as following:
    1. That was not a fully automatic process.
    2. Once we receive event that Contractor is terminated in HR, we put that user in "Terminated Contractors" set, disabling his active accounts, where the object resides for 30 days (business policy) before his accounts are removed from target systems.
    3. There's a custom workflow which triggers a notification to administrators if the following criteria are met:
    Name/Surname of fresh Employee are equal to one of the members of "Terminated Contractors" set
    Employee record from HR came within a week after Contractor's termination date (also, a business policy, agreed at customer's level. HRs are lazy and not necessarily process that transfer same day).
    4. IAM Administrator contacts HR to ensure that persons in question are actually the same one. Upon confirmation, manual join is made. Once object is joined, Correlation ID is written back to HR (actually, a buffer database acting as HR source) to ensure
    that the join can be made automatically.
    We faced several problems, though, which are beyond the scope of FIM itself:
    1. HRs were creating Employee record before terminating Contractor's one. A major pain, since new accounts are created, et cetera.
    2. HRs were creating Employee records too late (that's why we set a "timeout" for a week, initially it was two days)
    3. We had a case once when Contractor was terminated and new Employee came with the same name, but those were different people and HR application doesnt allow to differentiate "contractor fired" and "contractor moves to employee" events. That's why we had
    to stick to a manual and documented procedure.

  • Report using Data from different tables

    Hello,
    I am trying to convert a Cobol batch program to Oracle 6i tabular report.
    The data is fetched from many different tables and there are lots of processing(i.e, based on the value of a column from one table need additional processing from different tables) required to generate the desired columns in the final report.
    I would like to know what is the best strategy to follow in Oracle Reports 6i. I heard that CREATE GLOBAL TEMPORARY TABLE is an option. ( or REF CURSOR ?) I do not know much about its usage. Can somebody guide me about this or any other better way to achieve the result.
    Thank you in advance
    Priya

    Hello,
    There are many, many options available to you, each of which has advantages and disadvantages. This is why it is difficult to answer "what is best?" without alot more details about your specific circumstances.
    In general, you're going to be writing PL/SQL to do any conditional logic that cannot be expressed as pure SQL. It can executed in the database, or it can executed within Reports itself. And most reports developers do some of both.
    As a general rule, you want to send only the data you need from the database to the report. This means you want to do as much filtering and aggregating of the data as is readily possible within the database. If this cannot be expressed as plain SQL queries, then you'll want to create a stored procedures to help do this work.
    Generally, the PL/SQL you create for executing within the report should be focused on control of the formatting, such as controlling whether a field is visible, or controlling display attributes for conditional formatting.
    But these are not hard and fast rules. In some cases, it is difficult to get all the stored procedures you might like installed into the database. Perhaps the dba is reluctant to let you install that many stored procedures. Perhaps there are restrictions when and how often updates can be made to stored procedures in a production database, which makes it difficult to incrementally adjust your reports based on user feedback. Or perhaps there are restrictions for how long queries are allowed to run.
    So, Reports offers lots of options and features to let you do data manipulation operations from within the report data model.
    In any case, Oracle does offer temporary table capabilities. You can populate a temp table by running stored procedures that do queries, calculations and aggregations. And you can define and initiate a dynamic query statement within the database and pass a handle to this query off to the report to execute (ref cursor).
    From the reports side, you can have as many queries as you want in the data model, arranged in any hierarchy via links. You can parameterize and change the queries dynamically using bind variables and lexicals. And you can add calculations, aggregations, and filters.
    Again, most people do data manipulation both in the database and in Reports, using the database for what it excels at, and Reports for what it excels at.
    Hope this helps.
    Regards,
    The Oracle Reports Team --skw                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • GR and IR from different vendor??

    hi experts
    Can anybody give some idea to how to go about the below scenario.
    I have to create 1 PO to x vendor for 100/ea quantity.
    X vendor he 'll distribute the same some 50 vendors and advised to send materials and invoice to me with ref to 1 PO.
    So, i 'll be doing GR and IR from 50 different vendors lik per vendor 2 quantity . ( Like third party).
    By keeping reference of 1 PO , i have to do GR and IR for 50 different vendor .
    Any suggestion and solution in SAP.
    Thanks
    SAP-MM

    Hi,
    U can acheive this via Partner Function.
    There U can give the ordering Address(OA) and Good Supplier(GS) as different vender
    and PI(invoice Party) as one vender.
    Suppose you get material from different vender and Invoice from other vender.
    Hope Help U !
    Regards,
    Pardeep Malik

Maybe you are looking for