Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 17 Next »

This method is used for passing a parameter by reference either to JavaScript functions or with pjs.call().

When using pjs.call(), the use of pjs.refParm() is optional. When a declared field is passed as a parameter to pjs.call(), it is automatically converted to use pjs.refParm() internally. The explicit use of pjs.refParm() may be more efficient in some cases.

Parameters

  1. 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

Call an IBM i Program with By-Reference Parameter
// 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('mypgm1', myField1);


// Call using explicit parameter wrap, pjs.refParm(). 
pjs.call('mypgm1', pjs.refParm("myField1"));

 

Call an IBM i Program with By-Reference Parameter
// 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('mypgm2', myField1, myField2, myField3); 


// Call using explicit parameter wrap, pjs.refParm(). 
pjs.call('mypgm2', pjs.refParm("myField1"), pjs.refParm("myField2"), pjs.refParm("myField3"));


Call a JavaScript Function with a By-Reference Parameter
// 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 });   
// The initial value of 10 of myNum is changed to 20 after the function executes. 
double(pjs.refParm("myNum")); 





  • No labels