Manage Inconsistent Item-Product Scopes Panel (DELPLMFProcessOccurrence_InconsistentScopeStrategy_ID)

An opening ID is an entry point used to customize business logic. Manage Inconsistent Item-Product Scopes Panel specifies the opening ID run to customize the Suggestion to Perform column of the Manage Inconsistent Item-Product Scopes panel.

The Suggestion to Perform column is filled by dedicated business logic.

Note: For more information about customization by business rules, see Installation and Setup: Customize: Behavior: Data Setup: Customization by Business Rules.

This page discusses:

General Information

The table below provides you with information related to the definition of the opening ID.

This opening ID is used to customize the Manage Inconsistent Item-Product Scopes panel.

Definition Description
PLM Opening ID DELPLMFProcessOccurrence_InconsistentScopeStrategy_ID
Customization intent Execution
Execution context Client

Input Objects

Input objects must be of the following types:

  • ThisObject: Occurrence of the item holding the link.
  • Parameters: Corresponds to the context object.

Context Object Parameters

Parameter Name Type Read or Write Comments
iImplementedProduct ProductOccurrence or Part Read The product implemented by the item
oRerouteStrategy Integer Write Choose between the following:
  • Reroute only the link
  • Replace by new revision
  • Replace by new
  • Existing
  • Ignore
  • Replace by new branch
  • Remove instance
oProposedReference VPMReference Write Proposed reference for replace in case of Strategy = Existing

Sample

The following sample shows you how to customize the Manage Inconsistent Item-Product Scopes panel.

/* 	
Name :   DELPLMFProcessOccurrence_InconsistentScopeStrategy_ID
Mode : Execution
Function : Opening run to manage Inconsistent manufactured item - product scope
Argument :
ThisObject = Manufactured Item occurrence whose reference holds the scope
iImplementedProduct (IN) = ObjectType, occurrence of product implemented by the current manufactured item 
oRerouteStrategy (OUT) = Integer, 1: Reroute Only 2: Replace by new Revision  3: Replace by New   4: xisting 5: Ignore
oProposedReference (OUT) = ObjectType, proposed manufactured item for replace
*/

let PrcsOcc(MfgProcessOccurrence)
let PrdOcc(ProductOccurrence)
let PrdRef(VPMReference)
Let oProposedReference(DELFmiFunctionReference)
Let Strategy(Integer)
let PrcsScopeList(List)
Let Version(String)

oProposedReference = NULL
Strategy = 3

set PrdOcc= Parameters->GetAttributeObject("iImplementedProduct")
if (PrdOcc <> NULL)
{
	Trace(1 , "### Input product not null")

	set PrdRef = PrdOcc.Reference

	// Try to find a Mfg Item already scoping the input product
	PrcsScopeList = GetProcessOfEachScope(PrdRef)
	if (PrcsScopeList.Size() == 0)
	{
		Trace(1 , "### No scope in session")

		/* OK, no process found in session, looking in the database now */
		PrcsScopeList = PrdRef.NavigateFromPartOrPrdToProcessThroughScopeLink()
		if (PrcsScopeList.Size() <> 0)
		{   
			Trace(1 , "### Scope found in server")

			set oProposedReference = PrcsScopeList.GetItem(1)
			Strategy = 4
		}
	} 	
	else
	{
		Trace(1 , "### Scope found in session")

		set oProposedReference = PrcsScopeList.GetItem(1)
		Strategy = 4
	}

	if (Strategy <> 4)
	{
		Version = PrdRef->GetAttributeString("V_version")
		Trace (1 , "### Version : ",Version)
		if (Version == "--A") 
		{
			Strategy = 2
		}
	}
}
Trace (1 , "### Strategy : ",Strategy)

Parameters.SetAttributeInteger("oRerouteStrategy" , Strategy)
Parameters.SetAttributeObject("oProposedReference" , oProposedReference)