Difference between revisions of "Script Callout"
From ADempiere
This Wiki is read-only for reference purposes to avoid broken links.
(new category) |
m (Testing contribution template.) |
||
Line 1: | Line 1: | ||
− | = | + | {{Contribution|logo=Qss.jpg|name=[[User:CarlosRuiz|Carlos Ruiz]], Quality Systems & Solutions (QSS)|url=http://globalqss.com}} |
− | + | {{Contribution|name=[[User:vpj-cd|Víctor Pérez]], E-Evolution (Libero)|url=http://www.e-evolution.com}} | |
− | + | [[Category:Features]] | |
− | + | [[Category:Developer documentation]] | |
− | + | [[Category:Development]] | |
+ | [[Category:Code snippets]] | ||
+ | {{Space}} | ||
= Creating the Rule = | = Creating the Rule = | ||
Line 60: | Line 62: | ||
*[http://scripting.dev.java.net/ Java Scripting] | *[http://scripting.dev.java.net/ Java Scripting] | ||
*[[Callout]] | *[[Callout]] | ||
− | |||
− | |||
− | |||
− | |||
− |
Revision as of 18:22, 12 October 2010
{{#if: Carlos Ruiz, Quality Systems & Solutions (QSS)|This contribution was provided by Carlos Ruiz, Quality Systems & Solutions (QSS)|This contribution was provided by The Adempiere Community}} | ||
{{#if: http://globalqss.com%7Chttp://globalqss.com%7Chttp://www.adempiere.com}} | ||
{{{sf_ref}}}}} |
{{#if: Víctor Pérez, E-Evolution (Libero)|This contribution was provided by Víctor Pérez, E-Evolution (Libero)|This contribution was provided by The Adempiere Community}} | ||
{{#if: http://www.e-evolution.com%7Chttp://www.e-evolution.com%7Chttp://www.adempiere.com}} | ||
{{{sf_ref}}}}} |
Contents
Creating the Rule
Within the script you can use:
- Window context variables start with a W_ prefix
- Login context variables start with G_ prefix
- Parameters for callout start with A_ prefix
- A_WindowNo
- A_Tab
- A_Field
- A_Value
- A_OldValue
- A_Ctx
Configure Callout from Table/Column
- This Callout can also be called from the Report & Process Window. Just remember to set in the Rule window from which Event Type are you calling this Rule Script.
Sample Code provided for copy/paste testing
On the Table and Column, callout reference:
@script:beanshell:BP_fillDescriptionFromName
On the Rule Search Key:
beanshell:BP_fillDescriptionFromName
On the Rule Script:
if (A_Tab.getValue("Name") != null) { A_Tab.setValue("Description", A_Tab.getValue("Name")); } result = "";
Scripting Languages
- Now standard Adempiere has uploaded jars to work with groovy, jython and beanshell
- to call a script from a Callout follow these sample syntax:
- @script:beanshell:ValidateQtyOnHand
- @script:groovy:ValidateQtyOnHand
- @script:jython:ValidateQtyOnHand
- When you create the rule, you have to set in the Search Key such as:
- Search Key : beanshell:ValidateQtyOnHand
- Search Key : groovy:ValidateQtyOnHand
- Search Key : jython:ValidateQtyOnHand
- Set the Event Type as Callout and Rule Type as JSR 223 Scripting APIs
See Also
- Script Process for event rule example from a Report & Process window.
- Script ModelValidatorLogin
- Script ModelValidator
- Rule Engine Implementation
- Java Scripting
- Callout