This method is used for passing parameters a parameter by reference either to JavaScript functions or with pjs.call().
When using pjsusing pjs.call(), the use of pjsof pjs.refParm() is is optional. When a declared field is passed as a parameter to pjsto pjs.call(), it is automatically converted to use pjsuse pjs.refParm() internally internally. The explicit use of pjsof pjs.refParm() may may be more efficient in some cases.
Parameters
- Name fieldName - The name of the field to pass. The field must already be defined using pjs.define(). Only one field can be passed to pjs.refParm() at a time.
Return Value
An object that is used to pass the value by reference.
RPG Equivalent
PARM
Examples
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
// Define fields using pjs.define(). pjs.define("myFieldmyField1", {type: "packed decimal", length: 7, decimals: 2}); pjs.define("myField2", {type: "packed decimal", length: 8, decimals: 3}); pjs.define("myField3", {type: "packed decimal", length: 12, decimals: 5}); // Call using default parameter wrap, pjs.refParm(). pjs.call('mypgm1', myField1); // Call using explicit parameter wrap, pjs.refParm(). pjs.call('mypgmmypgm1', pjs.refParm("myField")); // the statement above is equivalent tomyField1")); |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
// Define fields using pjs.define(). pjs.define("myField1", {type: "packed decimal", length: 7, decimals: 2}); pjs.define("myField2", {type: "packed decimal", length: 8, decimals: 3}); pjs.define("myField3", {type: "packed decimal", length: 12, decimals: 5}); // Call using default parameter wrap, pjs.refParm(). pjs.call('mypgmmypgm2', myField); myField1, myField2, myField3); // Call using explicit parameter wrap, pjs.refParm(). pjs.call('mypgm2', pjs.refParm("myField1"), pjs.refParm("myField2"), pjs.refParm("myField3")); |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
// Define function double() that will receive a by reference parameter to multiply by two. function double(number) { // Define temporary field number as type float. pjs.define("number", { type: 'float', length: 8, refParm: number }); // Double value of number. number = number * 2; // Because the field is by-reference, there is no need for a return statement. } // Define myNum field as type float. pjs.define("myNum", { type: 'float', length: 8, initValue: 10 }); double(pjs.refParm("myNum")); // The initial value of 10 of myNum is becomeschanged to 20 after thisthe linefunction executes |
RPG Equivalent
...
.
double(pjs.refParm("myNum")); |