This document is intended to provide a detailed guide and examples about how to write an EKL Script with opening id 'DELMIA_DragDrop_Authorization_ID'
Introduction
This opening ID is triggered when a PPR object is dropped onto another PPR object. It allows customization of the desired behavior for drag and drop actions within the application, specifically determining whether the drop should be allowed.
Version – 2024x FD04 (FP2432),2025x FD01 (FP.CFA 2506)
Pre-requisites:
Licenses
PPL (Process Engineer): Required to create Mfg. Item Structure, Process objects and Work Instructions
Disclaimer: Licenses mentioned above are as per 2024x documentation.
| Opening ID: | DELMIA_DragDrop_Authorization_ID |
| Customization intent: | Execution |
| Execution context: | Client |
| Usage | To customize the behavior when dropping a PPR object on another PPR object: |
Example:
Below use cases define specific rules for drag and drop behavior within the application, ensuring that only the appropriate items are dropped in the respective operations. To achieve this, we need to customize the BL opening Id “DELMIA_DragDrop_Authorization_ID”
| No | Use Case |
| 1 | Only "RemoveMaterial" items can be dropped on Remove Material operation. |
| 2 | Only "Fasten" items can be drag and dropped to Fastening operations |
| 3 | Neither "RemoveMaterial" nor "Transform" items can be dropped to the Loading operation |
Logical Flow:
Business Rule Sample:
Detail Explanation:
Inputs:
iLstSourceOccurrences: A list of source occurrences that are being dragged.iTargetOccurrence: The target occurrence where the drag and drop action is being attempted.iWorkbenchName: The name of the workbench [This is not used directly in the example but can be used to restrict drag and drop in particular application]
Outputs:
oIsAuthorized: A Boolean that determines whether the drag and drop action is allowed.oMessage: A message providing information if the action is not authorized.If any rule for drag and drop is violated,
oIsAuthorizedis set tofalseand a corresponding message is set for the user.
Sample MBOM and Workplan DataSet:
Note: Remove Material Item type consist of Pre-Drill, Drill, No-Drill, Cut, Bevel, Grind Item Type.
Scenario1:
Drag Drill Item Type to RemoveMaterial Operation
Result: Assignment will be successful.
Drag Fasten Item to RemoveMaterial Operation
Result: Error message and assignment will fail. It triggers the error message:
In the Relations tab, you can see only Drill Item assigned to Remove Material Operation
Logic to authorize Drag and Drop of Remove Material Item Type to Remove Material Operation:
if ((CurrentSourceRef.IsSupporting("RemoveMaterial") == false) and (TargetReference.IsSupporting("DELLmiRemoveMaterialOperationReference")) )
{
oIsAuthorized = false
oMessage="Type not supported for Drag and Drop on Remove Material operation"
break
}
Scenario2:
Drag Fasten Item to Point Fastening Operation
Result: Assignment will be successful. The script allows "Fasten" items to be assigned to Point Fastening operation.
Drag “Valve” Provide Item type to Point Fastening Operation
Result: Error message and assignment will fail. An error message will be triggered
In the Relations tab, you can see only Fasten Item assigned to Operation
Logic to authorize Drag and Drop of Fasten Item Type to Fastening Operation:
if ((CurrentSourceRef.IsSupporting("Fasten") == false) and (TargetReference.IsSupporting("DELLmiCurveOperationReference") OR TargetReference.IsSupporting("DELLmiPunctualOperationReference") ) )
{
oIsAuthorized = false
oMessage="Type not supported for Drag and Drop on Fastening operation"
break
}
Scenario3:
Drag Transform Item to Loading Operation
Result: Error message and assignment will fail. Since the item is of type "Transform," the drop will fail, and the error message will be:
Drag Provide Item to Loading Operation
Result: Assignment will be successful.
In the Relations tab, you can see only Provide Item assigned to Operation
Logic to restrict Drag and Drop of Transform/Remove Material Item Type to Loading Operation:
if ((CurrentSourceRef.IsSupporting("RemoveMaterial") OR CurrentSourceRef.IsSupporting("Transform")) and (TargetReference.IsSupporting("DELLmiLoadingOperationReference")))
{
oIsAuthorized = false
oMessage="Type not supported for Drag and Drop on Loading operation "
break
}
Other Supported DELMIA Types
When we associate this BL with type ‘DELLmiLoadingOperationReference’ the BL gets invoked on Loading Operation.
The same Business Logic can be applied to other DELMIA types.
Similarly, one can use below type in script for customization
‘DELFmiFunctionReference’ for Mfg Items types and their subtypes
‘DELLmiGeneralSystemReference’ for General system
‘DELWkiInstructionReference’ for Work Instruction
‘VPMReference’ for different Resource types and Engineering items (Products/ parts)
In the example, we have used
| FactType | To Invoke On |
|---|---|
| DELLmiLoadingOperationReference | Loading operation |
| DELLmiCurveOperationReference | Curve Fastening operation |
| DELLmiPunctualOperationReference | Point Fastening operation |
| DELLmiRemoveMaterialOperationReference | Remove Material operation |
Business Rule Deployment:
The below page can be referred for Business Rule deployment.
For deployment using Data Setup app following Resource set ID and opening needs to be used:
Resource Set ID:
Opening:
Reference:
Documentation: Authorize Drag and Drop In Planning Applications (DELMIA_DragDrop_Authorization_ID)
Author:
Person Of Contact: @Akansha BHASAKHETRE
