Workflow for Master Agreement (Publish to ERP)

What is the best practice for approval workflow before publishing a master agreement from eSource to ECC?
In the interest in keeping the source-of-truth within a single application we do not want to keep approval workflow of Outline Agreements in ECC as it is currently when moving the creation of the master agreement functionality to eSource.  There is no inherent workflow functionality for master agreements in eSource.  Are there customizations and/or best practices for having workflow of master agreements such that the Publish to ERP would not be possible until approval has been done within the eSource application?

Hi,
As you rightly said, Work flow support is not available in MA and more specifically before sending it to ERP
Here are some options you may want to consider:
- Try to use ACL/Security rights to control who can publish to ERP. For instance only the "document owner" can publish and the document owners are responsible. You can put a message or ask the publisher to enter some values on extension fields on who all approved this document.
- Try using approval functionality in ERP if that works. that may be the simplest..
The following options require heavy customization & scripting:
Leverage workflow support from other docs
- Tie an User defined business document (UDO that supports workflow) with MA. Provide a custom action, which will create a UDO biz doc instance and trigger a workflow behind the scenes.  MA will have a reference to UDO and vice versa. Users will approve the UDO.  In your Pre Publish to ERP script check for the approval conditions of UDO and work with that.
- if MA is created from Projects try using project workflow for the business process..
Good luck!
Thanks, Baski

Similar Messages

  • Overiding Mandatory Fields for master Agreement Template

    Hello,
    In the standard creation of the master agreement template the CONTACT field is mandatory. To me, this does not make sense because a template would need to be created for every contact/supplier.  We want to make the CONTACT field optional for master agreement templates.  I am trying to create a page customization with the following properties to accomplish this:
    UI ID:contracts.contract.ui.buyside.default
    Name:Master AgreementParent
    Class: Master Agreement
    Field ID: Contact
    Property: required
    Value: no
    Dimension on parent set
    Dimension Field :  IS_TEMPLATE
    Dimension Field Type: Boolean
    Dimension Value: yes
    I can not seem to make it work.  Any suggestions?  Is this even possible?
    Thanks in advance,
    Kyle

    Thanks for the quick reply.  I was hoping to avoid a dummy vendor.  This is sure a strange piece of software.
    Kyle

  • Disabling the default search when searching for master Agreements

    Hello Experts
    I am relatively new to SAP e sourcing ,we are working on 5.1 system.
    We have a query , Contract management->Agreements->Search master agreements and Sub agreements.
    This query takes a lot of time for execution.
    When user selects this option , it runs this query and then displays a screen with all the filters and search results at the bottom.
    I want to ensure that this query is not run by default, so that when user selects this option , the page only displays the selection criteria , users can specify the filter values and hit on search.
    Can anyone please help me on how can we disable the default execution of query everytime "Search master agreements and Sub agreements " is selected from the dropdown.
    is there any option within the query itself or do we need any script for doing this.
    Regards
    Vikas

    Hello Vikas,
    This should be the general approach.
    1) Write a new query that has the functionality you desire. In your case you can duplicate the existing query and make one of the filters mandatory. This will ensure that the query does not get executed by default. Save this new query in the system.
    2) Identify the corresponding query group. In your case it is FCI-ContractBuyList.
    3) In this query group, find the entry for 'Search Master Agreements and Agreements' query and check 'Remove Query from Selection List'.
    4)Add your new query in this query group and check the 'Include in SRM Navigation' checkbox. Click Save.
    Let us know if this works.
    Thanks
    Devesh

  • Attachments Toolbar for Master Agreements

    On the sell side, when suppliers log on, we are trying to hide the Attachments toobar (button) when they are in Master Agreements. In Toolbar Customization I can Hide the toolbar but it does it on both the buy and the sell sides and we want to keep it available for the buy side. Has anyone wver come accross this issue and has a solution ?

    Jeff,
    It does make sense to me what you are trying but it does not make sense in the logic of SAP Sourcing.  You don't want the suppliers to see the button to not confuse them but in the logic if you activate it on one side the possibility you are sharing a document is real so it should be visible on both sides or you will have confusion on the buyer side if someone chooses internal and external view while the supplier doesn't see even the attachment section.
    On the buyer side the default is internal only so if this is not changed by the master agreement owner on the buyer side the attachment section will always be empty for the supplier causing no unnecessary confusion.
    There is no way at present to hide this only on the supplier side as far as I see it.
    Regards,
    Erik

  • Importing Attachments for Master Agreements in CLM

    I am attempting to load contract files (.doc/PDF) using the import tool and I am having issues.  What needs to be populated in the 'Attachment Order Code' field in the load file.
    Can someone outline the steps to load an existing contract created outside of CLM to a master agreement?
    I am using E-Sourcing 5.1/CLM 2.0.
    Thanks in Advance,
    Kyle

    Jeff,
    It does make sense to me what you are trying but it does not make sense in the logic of SAP Sourcing.  You don't want the suppliers to see the button to not confuse them but in the logic if you activate it on one side the possibility you are sharing a document is real so it should be visible on both sides or you will have confusion on the buyer side if someone chooses internal and external view while the supplier doesn't see even the attachment section.
    On the buyer side the default is internal only so if this is not changed by the master agreement owner on the buyer side the attachment section will always be empty for the supplier causing no unnecessary confusion.
    There is no way at present to hide this only on the supplier side as far as I see it.
    Regards,
    Erik

  • Master Agreements fields carry over to child Agreement.

    Hi,
    How can I carry over the fields set in the master agreement module to a child agreement?
    I believe I need to have a script definition on the creation of child agreement. but how can I get the reference to the master agreement fields? Any sample code?
    Also if not for script definition is there any other way out?
    Edited by: patsy lobo on Sep 22, 2008 7:35 PM
    Edited by: patsy lobo on Sep 22, 2008 7:36 PM

    HI,
    Adding to what Sudipta has said, you can also use the workbook technique for accomplishing these type of changes. That way you can achieve all hover text changes in one shot across all MA tabs.
    The 2 main tabs in the wokbook to be changed are: 'Localized Resource' and 'UI overrides' tab.
    As an example, suppose you want to add the following text for Master Agreement External Category field:
    "This field is a classification hierarchy to describe the products or services of the event and/or agreement."
    So in the Localized resource tab, fill out the following:
    BUNDLE: custom
    RESOURCE_ID: xxx     
    RESOURCE_KIND: APP_TEXT     
    DEFAULT_VALUE: This field is a classification hierarchy to describe the products or services of the event and/or agreement.
    Then refer the same attributes in the UI Overrides tab:
    UI_ID: contracts.agreement.ui.buyside.default
    FIELD: EXT_CAT
    ATTRIBUTE: Description
    VALUE: Same as Resource ID used in localized resource (xxx above)
    Hope this helps,
    Vikram Shukla

  • Workflow for Vendor Master

    Do we have any functionality of workflow for vendor master.

    Thanks for your reply.
    Dual control functionality we have already explained to the users. they are not convinced with that.
    what users are looking at is the the purchase clerk will enter the purchasing related data in vendor master then the mail for approval will go the manager purchase. Upon approval, the accounting clerk will enter the company code date and for approval it will go to accounts manager. Once vendor master has been approved then only the transaction against this vendor should be possible.
    Clerk creates vendor master> Manager Approves> then only vendor master is available for use in transaction.
    this is the functionality the user is looking at.
    Since I am a MM consultant does not know about work flow. If this kind of functionality is feasible in workflow then we can raise request in our company to arrange for a workflow consultant.
    before that we need to be sure on that whether it is achievable or not.
    Please confirm.

  • Script for setting Inco-terms in Master Agreement Setup

    Hi All,
    We have a requirement to create a follow-on child Master Agreement from a Parent MA. So we are writting a toolbar script to craete this follow-on Master Agreement. The problem we are facing is , we are not able to populate inco-terms (delivery terms) from the setup of Parent to Child Master Agreement.
    Although Master Agreement Setup has APIs but it seems there is no method which can allow us to get and set the values of inco-term in the collection (DEL_TERM_COLLN ) which is present in the setup of Master Agreement.
    Can you please throw some light on this issue, if it would be possible to set incoterms values in Master Agreement Setup.
    Thanks in Advance!
    Regards,

    Hello,
    If the IAPI doesnu2019t have the getter and setter, I would suggest raising a OSS message with SAP.
    Regards,
    Vikram

  • Material master workflow for changes

    Hi Experts
    I have a requirement to trigger multiple material workflows for all the plants that have a blocked status in MRP1 when the material gets uploaded into SAP from a third party.
    I have used SWEC and created a new 'MaterialChanged' event and put a start condition for the workflow to look at the MRP1/status.
    This looks to work fine as long as there is one plant and its MRP1 has blocked status. I am not able to figure out how to handle if there is a multiple plant specific data for a material and all or some of the plants are blocked, this is when multiple workflows are expected to trigger for each plant. Each plant has got different set of approvers.
    Because I think the 'trigger' will happen only once for a material irrespective of how many plants the material may have.
    If any of you have handled this kind of scenario, appreciate your help.
    Thanks 
    Sasi

    Hi,
    I think the easiest would be to just echance the business object with an attribute if there are any plants with the blocked status.
    then in your workflow, you retrieve how many plants there are with blocked status and then use that data in the other tab for multiline element in a subworkflow.
    This will create all the workflows per plant.
    Kind regards, Rob Dielemans

  • Automatic publish to ERP

    Hi,
    I am using SAP sourcing7. We have a requirement where we need to automatically publlsh master agreements to ERP. For this, we have created a custom variable through workbook and used below document lifecycle script. However, I get error saying "Typed variable declaration : Class: ExporterIfc not found in namespace"
    I have checked the SAP integration jar and the classes ExporterIfc, SmartExporter all seem to be same and belonging to right packages.  Can you please help.
    import java.util.HashMap;
    import com.frictionless.sap.integration.exporter.ExporterIfc;
    import com.frictionless.sap.integration.exporter.SmartExporter;
    PROP_DATACONV_ENABLED = "data.conversion.enable";
    PROP_SET = "custom";
    // Get logger
    logMsg =Logger.createLogMessage(session);
    void publishOA(){
    Logger.info(logMsg.setLogMessage("*********Starting publishOA**********"));
    HashMap map = new HashMap();
    map.put("mode", "export");
    ExporterIfc exporter = new SmartExporter(doc,map);
    exporter.process();
    //*********** Main Method **********
    Logger.info(logMsg.setLogMessage("*********STARTING AUTOMATIC PUBLISH TO ERP**********"));
    dcInProg =IapiSystemUtilities.getSystemProperty(session,PROP_SET,PROP_DATACONV_ENABLED,"false");
    Logger.info(logMsg.setLogMessage("*********dcInProg**********" + dcInProg));
    if(Boolean.valueOf(dcInProg)){
    publishOA();
    Regards
    Moumita

    Hi Bram,
    What is the exact issue you are facnig? Is it in autopublish script or you are getting validation errors when trying to publish to ERP.
    In case, it is in autopublish in SAP sourcing 7.0, you should use below script in collection validation with class as Agreement/Master Agreement and target as Collection Validation.
    Please let me know if you want more information.
    import java.util.HashMap;
    import com.sap.eso.sapintegration.exporter.ExporterIfc;
    import com.sap.eso.sapintegration.exporter.SmartExporter;
    PROP_DATACONV_ENABLED = "data.conversion.enable";
    PROP_SET = "custom";
    // Get logger
    logMsg =Logger.createLogMessage(session);
    void publishOA(){
    Logger.info(logMsg.setLogMessage("*********Starting Publish to ERP**********"));
    HashMap map = new HashMap();
    map.put("mode", "export");
    ExporterIfc exporter = new SmartExporter(doc,map);
    doc.getExtensionField("Z_MIGRATION_VAR").set(true);
    Logger.info(logMsg.setLogMessage("*********Setting migration flag to**********" + Z_MIGRATION_VAR));
    exporter.process();
    Logger.info(logMsg.setLogMessage("*********Ended Publish to ERP**********"));
    //*********** Main Method **********
    dcInProg =IapiSystemUtilities.getSystemProperty(session,PROP_SET,PROP_DATACONV_ENABLED,"false");
    Logger.info(logMsg.setLogMessage("*********Migration is enabled**********" + dcInProg));
    lineItemsCollection = doc.getLineItems();
    isExported=doc.getExtensionField("Z_MIGRATION_VAR").get();
    Logger.info(logMsg.setLogMessage("******isExported******" + isExported));
    collectionsize = lineItemsCollection.size();
    // If there are lineitems, then only publish to ERP
    if (collectionsize>0) {
         Logger.info(logMsg.setLogMessage("******Number of Lineitems******" + collectionsize));
         if(Boolean.valueOf(dcInProg)){
              if(!isExported) {
                   publishOA();
    Regards
    Moumita

  • Copy line items from Master Agreement to SubAgreement

    Dear all,
    As a requirement, we need to create a dummy line item at master agreement and subagreement level to be able to publish them to ERP without need
    to complete line items (they are completed in ERP via a development).
    We have created master agreement templates with a dummy line item but at subagreement level, templates are not available.
    What we are trying to develop is a script on post_create at agreement level to copy line items from Master Agreement to SubAgreement. We are able to get Master Agreement line items and copy them to the SubAgreement, but the subagreement is not created. This is the code we are using:
    import com.sap.odp.api.doccommon.masterdata.ValueListValueIBeanHomeIfc;
    import com.sap.odp.api.doccommon.masterdata.ValueListValueIBeanIfc;
    import com.sap.odp.api.doccommon.masterdata.ValueListTypeIBeanHomeIfc;
    import com.sap.odp.api.doccommon.masterdata.ValueListTypeIBeanIfc;
    import com.sap.eso.api.contracts.ContractIBeanHomeIfc;
    Mst_agreementBean = doc.getParentIBean();
    lineItemCollectionSub = doc.getLineItems();
    lineItemCollection = Mst_agreementBean.getLineItems();
    collectionsize = lineItemCollection.size();
    colln = Mst_agreementBean.getCollectionMetadata("MA_LINEITEMS").get(Mst_agreementBean);
    colln2 = doc.getCollectionMetadata("MA_LINEITEMS").get(doc)
    newProject = Mst_agreementBean.getIBeanHomeIfc().createFromAnother(Mst_agreementBean);
    newMember = colln.get(1);
    //  Get Values Line Item
    assCat = newMember.getAcctAssignCategory();
    actLimP         = newMember.getActualLimitPercent();
    delAdCity       = newMember.getDeliveryAddressCity();
    delAdCount    = newMember.getDeliveryAddressCountryRef();
    delAdDist       = newMember.getDeliveryAddressDistrict();
    //... (all fields included in the script)
    // Create Line
    newMember2 = newMember;
    AgreementHome = IBeanHomeLocator.lookup(session, doc.getObjectReference());
    AgreementHome.upgradeToEdit(doc);
    // Set Values
    newMember2.setAcctAssignCategory(assCat);
    newMember2.setActualLimitPercent(actLimP);
    newMember2.setDeliveryAddressCity(delAdCity);
    newMember2.setDeliveryAddressCountryRef(delAdCount);
    newMember2.setDeliveryAddressDistrict(delAdDist);
    //... (all fields included in the script)
    try{
    colln2.add(newMember2);
    AgreementHome.save(doc);
    AgreementHome.downgradeToView(doc);
    collectionbean = colln2.get(0);
    logInfo("Value of  collectionbeanSub " + collectionbean );
    }catch (ApplicationException e){
    logInfo("Error " + e.getClass() + ". " + e.getMessage());
    When we try to create an Agreement under a Master Agreement (clicking Add on Agreement tab), following error message is shown related to the line in blue:
    Facility=local4;sessionid=4e73bb8e73304d6284816f93f4e04522a7c387b; tenantid=#tenant.ecb#;username=LUGUELL; exception=Sourced file: inline evaluation of: ``// **   import com.sap.odp.api.doccommon.masterdata.ValueListValueIBeanHomeI ... '' : Method Invocation AgreementHome.save : at Line: 164 : in file: inline evaluation of: ``// **    import com.sap.odp.api.doccommon.masterdata.ValueListValueIBeanHomeI ... '' : AgreementHome .save ( doc )
    Target exception: java.lang.NullPointerException: while trying to invoke the method com.sap.eso.contracts.ContractTypeBo.getVendorVisible()
    of a null object returned from com.sap.eso.contracts.ContractCommonBo.getTypeBo()
    ;stacktrace=Sourced file: inline evaluation of: ``// *JLA*    import com.sap.odp.api.doccommon.masterdata.ValueListValueIBeanHomeI ... '' : Method Invocation AgreementHome.save : at Line: 164 : in file: inline evaluation of: ``// *JLA*    import com.sap.odp.api.doccommon.masterdata.ValueListValueIBeanHomeI ... '' : AgreementHome .save ( doc )
    Target exception: java.lang.NullPointerException: while trying to invoke the method com.sap.eso.contracts.ContractTypeBo.getVendorVisible()
    of a null object returned from com.sap.eso.contracts.ContractCommonBo.getTypeBo()
    Any ideas what is causing the error? What are we missing on our code to copy line items?
    Many thanks,
    Marc Romagosa
    Message was edited by: Marc Romagosa de Riba

    We managed to create a line item at VALIDATE script, but not at POST_CREATE. Either it is a bug or it is not possible at POST_CREATE script.

  • Use of ADOBE form with SAP workflow for R/3 4.6C

    Hi All,
    We are thinking of usage of ADOBE form feature as one of options to design workflow for creation and maintenance of “Info record” like “Material Master” creation. BTW the existing systems are EP 7.0 with the back end SAP ERP system 4.6 C
    We would like to just check the feasibility of usage of ADOBE interactive form for above scenario. Would it be possible to go ahead with the above concept or what would be pre-requisites or risks involved?
    1.     How would system identify the role to direct the Adobe form for approval in case the form is raised by multi department?
    2.     How can the data validations in ADOBE form happen with reference to SAP std. tables?
    An early reply would be appreciated.
    Rgds,

    Hi,
    If you use EP 70 you can used guided procedure for your requirement .
    Regards

  • Unable to capture field values in Master agreement  Line Items

    I am trying to get the field values from master agreement line items page. I have written the following code to get the line item details which is working fine to capture part number and quantity->
    agreementBean = doc.getRootParentIBean();
    lineItemCollection = agreementBean.getLineItems();
    collectionsize = lineItemCollection.size();
    for(i=0;i<collectionsize;i++){
         collectionbean = lineItemCollection.get(i);
         partNum = ""+collectionbean.getPartNumber() ;
         Quantity = ""+collectionbean.getQuantity();     
         throw doc.createApplicationException(null,partNum + " , " + Quantity );
    Now, my problem is that I am unable to capture the following field item values in the master agreement > line items page.
    1. Price Unit
    2. Unit Price
    3. Product Category
    4. Plant
    Please help me to find the values.
    Thankx in Advance.
    Su
    Edited by: subrataindra on Aug 10, 2010 11:11 AM

    This will return the name of the plant.
    .getExtensionField("PLANT").get().getDisplayName(session);
    Check if this returns the product category
    collectionbean.getExtensionField("ITEM_CAT").get().getDisplayName();
    This will Return the Price
    collectionbean.getExtensionField("PRICE").get().getPrice();
    (return type :BigDecimal)
    This will return the currency
    collectionbean.getExtensionField("PRICE").get().getCurrency;
    (Return type:String)
    Similarly to retrieve other fields for which there are no standard functions, use .getExtensionField("Field ID")
    Hope this helps
    Regards,
    Immanuel

  • MRP To Generate SCHEDULE LINES for Scheduling Agreement

    Hi
    I have followed the below steps but still the Schedule lines is not generated for scheduling agreement.
    1Maintain MRP views 1,2,3,4 for the material in material mste.(MM01)
    2. Maintain Purchase Info Record for the vendor plant & material combination.(ME11)
    3. Create Scheduling agreement using ME31L
    4. Maintain source list for the material & the scheduling agreement # and Line item set the MRP relevant indicator 2 (Necessary ?) ME01
    During Run MRP for the material.the below details entered///
    Processing key NETCH Net Change in Total Horizon
    Create purchase req. 1 Purchase requisitions in opening period
    Schedule lines 3 Schedule lines
    Create MRP list 1 MRP list
    Planning mode 1 Determination of Basic Dates for Planned
    Run MDBT or MD02 but still doesn't create the schedule lines......Anything else missing.
    MRP1:
    MRP Procedure: PD
    MRP Group: 0000 (External Procurement only)
    Lot Size: EX (Lot For Lot)
    MRP2:
    Procurement Type: F
    Sched Margin Key: 000
    MRP3:
    Avilablity chec: 02 (Individual requirement)
    MRP: 4
    Nil

    Raj,
    Source List a Mandatory for Scheduling Agreement, if you want to create automatic Scheduling line.
    Plz use (2) in MRP RELEVENT tab in ME01 (Source List).
    rest of the thing is ok, make sure a material master(MRP 2 VIEW) in that view you have to give a planed delivery days. it is must.
    HOPE IT WILL WORK
    Regards:
    Poision

  • How to make extended field mandatory in Master Agreement

    Hello All,
    I am new to SAP CLM, and I have requirement where one extended field in master agreement needs to be made as mandatory field.
    I tried in extension definition but check box to make it required is disabled and I am unable to find other way to do it.
    Can some one help me and Please let me know how make extended fields mandatory in CLM.
    Regards,
    Prabhat

    Hi
    This could be achieved using Page Customization.Go to Setup-> User Interface-> Page Customization, open master agreement object (create new with UI ID:contracts.contract.ui.buyside.default if doesn't exist ) and add a new customization for extended field with Property set to Required.
    Regards
    Mudit Saini

Maybe you are looking for