Difference between revisions of "Script Callout"

From ADempiere
Jump to: navigation, search
This Wiki is read-only for reference purposes to avoid broken links.
(new category)
m (Testing contribution template.)
Line 1: Line 1:
=Status=
+
{{Contribution|logo=Qss.jpg|name=[[User:CarlosRuiz|Carlos Ruiz]], Quality Systems & Solutions (QSS)|url=http://globalqss.com}}
* Testing for Next Release 340 - January, 2008<br>
+
{{Contribution|name=[[User:vpj-cd|Víctor Pérez]], E-Evolution (Libero)|url=http://www.e-evolution.com}}
*A real huge contribution from [[User:CarlosRuiz|Carlos Ruiz]], '''Quality Systems & Solutions (QSS)''', [[Colombia]]
+
[[Category:Features]]
*Now it can work with any java scripting language such as Groovy and Jython, thanks to [[User:vpj-cd|Víctor Pérez]], '''E-Evolution (Libero)''', [[Mexico]]
+
[[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]]
 
[[Category:Features]]
 
[[Category:Developer documentation]]
 
[[Category:Development]]
 
[[Category:Code snippets]]
 

Revision as of 18:22, 12 October 2010

Qss.jpg   {{#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}}}}}
AdempiereLogo.png   {{#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}}}}}

 

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

01 BeanShell.png

Configure Callout from Table/Column

02 BeanShellCallout.png

  • 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