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,
KyleThanks 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
VikasHello 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,
KyleJeff,
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 PMHI,
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 -
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
SasiHi,
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 -
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
MoumitaHi 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 RibaWe 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 AMThis 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
NilRaj,
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,
PrabhatHi
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
-
My mail does not open at all. Thank you
My yahoo mail is very slow. Once it opens, it tells me to use a different mail set up. Everything I click it does not work. After half hour I may get the list of e-mails.They do not open up to read them. This is happening since you have modified mozi
-
Function module / name spaces
Hello all, I was asked to create a function module with the prefix "ZIST_" in its name. Unfortunately this name is part of the SAP namespace, as the system tells me during FM creation (it would be ok to use "Z_IST_" though). Technically it is possibl
-
DIAGNOSTICS Microsoft Windows XP Home Edition Service Pack 2 (Build 2600) Sony Corporation VGN-S360 iTunes 7.2.0.35 CD Driver 2.0.6.1 CD Driver DLL 2.0.6.2 LowerFilters: PxHelp20 (2.0.0.0), UpperFilters: GEARAspiWDM (2.0.6.1), Current user is an admi
-
When selecting a song to play from iTunes library, I continually get an error message indicating the original file could not be found. Then asks, would you like to locate it? Does anyone know how to fix this? I'm not even able to play the songs I
-
Disabling the button in a form
Hi, May i know how to disabling the button in a form based on value of item in same itself. For eg: In a form an Select list item called 'Flag' which holds the values like Y and N. If Flag is N means the Button called 'Check' will be disable otherwis