Script Callout

From ADempiere
Revision as of 18:45, 25 January 2008 by Red1 (Talk) (Status: more prominence to company names)

Jump to: navigation, search
This Wiki is read-only for reference purposes to avoid broken links.

Status

  • Testing for Next Release 340 - January, 2008
  • A real huge contribution from Carlos Ruiz, Quality Systems & Solutions (QSS), Colombia
  • Now it can work with any java scripting language such as Groovy and Jython, thanks to Víctor Pérez, E-Evolution (Libero), Mexico

Creating the Rule

Within the script you can use:

  • Window context variables start with a single underscore _
  • Login context variables start with two underscores __
  • Parameters for callout start with three underscores ___
    • ___WindowNo
    • ___Tab
    • ___Field
    • ___Value
    • ___OldValue


01 BeanShell.png

Configure the callout

02 BeanShellCallout.png


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 (___Tab.getValue("Name") != null) {
    ___Tab.setValue("Description", ___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 now you can follow this syntax:
    • @script:beanshell:ValidateQtyOnHand
    • @script:groovy:ValidateQtyOnHand
    • @script:jython:ValidateQtyOnHand
  • Note: When you create the rule, you have to set in the Search Key box with the respective rule:
    • Search Key : beanshell:ValidateQtyOnHand
    • Search Key : groovy:ValidateQtyOnHand
    • Search Key : jython:vValidateQtyOnHand
  • Set the Event Type as Callout and Rule Type as JSR 223 Scripting APIs

See Also