|
|
| Line 1: |
Line 1: |
| − | Status: working in version > 3.3.1b<br>
| + | #REDIRECT [[Script Callout]] |
| − | | |
| − | Contributed by:<br>
| |
| − | Quality Systems & Solutions - QSS Ltda.<br>
| |
| − | [[User:CarlosRuiz|Carlos Ruiz]] | |
| − | | |
| − | | |
| − | == Create the Rule ==
| |
| − | | |
| − | Within the script you can use:
| |
| − | * Login context variables start with two underscores __
| |
| − | * Parameters for the process start with three underscores ___, for example ___Name
| |
| − | * If the parameter is a range then the parameters will be ___Name1 and ___Name2
| |
| − | And the following predefined:
| |
| − | * ___Ctx - the context
| |
| − | * ___Trx - the transaction
| |
| − | * ___TrxName
| |
| − | * ___Record_ID
| |
| − | * ___AD_Client_ID
| |
| − | * ___AD_User_ID
| |
| − | * ___AD_PInstance_ID
| |
| − | * ___Table_ID
| |
| − | | |
| − | [[Image:01_ScriptForProcess.png]]
| |
| − | | |
| − | == Configure the Process ==
| |
| − | | |
| − | [[Image:02_ProcessWithScript.png]]
| |
| − | | |
| − | == Code provided for copy/paste testing ==
| |
| − | | |
| − | On the Report & Process:
| |
| − | @script:beanshell:ImportDelete
| |
| − | | |
| − | On the Rule Search Key:
| |
| − | beanshell:ImportDelete
| |
| − | | |
| − | On the Rule Script:
| |
| − | import org.compiere.model.MTable;
| |
| − | import org.compiere.util.DB;
| |
| − | import org.compiere.util.Msg;
| |
| − |
| |
| − | /* get Table Info */
| |
| − | MTable table = new MTable (___Ctx, ___AD_Table_ID, ___TrxName);
| |
| − | if (table.get_ID() == 0)
| |
| − | throw new IllegalArgumentException ("No AD_Table_ID=" + ___AD_Table_ID);
| |
| − | String tableName = table.getTableName();
| |
| − | if (!tableName.startsWith("I"))
| |
| − | throw new IllegalArgumentException ("Not an import table = " + tableName);
| |
| − |
| |
| − | /* Delete */
| |
| − | String sql = "DELETE FROM " + tableName + " WHERE AD_Client_ID=" + ___AD_Client_ID;
| |
| − | int no = DB.executeUpdate(sql, ___TrxName);
| |
| − | ___ProcessInfo.addLog (0, null, null, "Deleted "+no+" rows from table "+tableName);
| |
| − | result = "OK";
| |