Menu items can be added
to forms using personalization to add functionality to the form that can
be invoked as and when required by the user.
As part of one
requirement we had to give the user the option of initiating a workflow
after making a change on the Supplier form. We created a menu item using
personalization for the users to click and initiate the workflow. The
personalization steps are given below
Open the Supplier form
Responsibility: Payables Administrator
Navigation: Suppliers > Entry
Supplier form |
Navigate to Help > Diagnostics > Custom Code > Personalize
Condition
Personalize |
Seq: Next available
Description: Create Menu Item – Nshore 69658
Trigger Event: When-New-Form-Instance
Trigger Object:
Condition: ${ps.org_id.value} NOT IN (103, 4763) – We do not want the personalization for 2 orgs
Processing Mode: Both
Actions
Action |
Seq: 10
Type: Menu
Description: Create menu item
Language: All
Menu Entry: Special3
Menu Label: Approve Site
Icon Name:
Enabled in Block(s): SITE, SITE_USES
The menu item is created
so far. Now we have to add logic/code to the menu item. All Menu
entries of named as SPECIAL are shown in the Tools menu bar on the form.
Condition
Add condition |
Seq: <<Any number>>
Description: Add code to Menu Item – Nshore 69658
Trigger Event: Special3
Trigger Object:
Condition:
xxey_ost_vendor_approval_pkg.chk_existing_wf ( xxey_ost_vendor_approval_pkg.generate_user_key(${item.vndr.vendor_id.value}, ${item.site.vendor_site_id.value}, NULL , NULL )) = 0 AND ${ps.org_id.value} NOT IN (103, 4763) AND ${item.site.inactive_date.value} IS NOT NULL |
Processing Mode: Not in Enter-Query Mode
The condition calls a
packaged function, xxey_ost_vendor_approval_pkg.chk_existing_wf, to
check if a running workflow exists for a supplier or not.
Actions
Action to initiate workflow |
Seq: 10
Type: Builtin
Description: Execute workflow
Language: All
Builtin Type: Execute a procedure
Argument:
The
code in the argument is calling the packaged procedure,
xxey_ost_vendor_approval_pkg.start_wf, after passing the parameters from
the Supplier Site form, to initiate the workflow.
= 'begin xxey_ost_vendor_approval_pkg.start_wf (' '' || :SYSTEM.CURRENT_FORM || '' ',' '' || ${item.vndr.vendor_id.value} || '' ',' '' || ${item.site.vendor_site_id.value} || '' ',' '' || NULL || '' ',' '' || NULL || '' ' ); end' |
Action to show message to user |
Seq: 15
Type: Message
Description: Show message to user
Language: All
Message Type: Show
Message Text: = Approval has been sent to approver.
After the workflow has been initiated a message is shown to the user.
Usage of the personalization
Responsibility: Payables Administrator
Navigation: Suppliers > Entry
Supplier form showing menu item |
Notice the new menu
item, “Approve Site”. This was created through personalization. Also
note that on the Supplier master block the menu item is disabled as we
have set the personalization on the Site block and Site Uses block.
Click on Sites button
Item is enabled on Supplier Site form |
Click on Approve Site menu item
Message to user after workflow initiation |
The user gets a message as part of Action 2, after Action 1 is executed, i.e. after the workflow has been kicked off.
No comments:
Post a Comment