Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


This file object method will open the file so the script is able to manipulate records within the chosen file.

You only need to use open if you have defined your file with 'userOpen' as true.

Parameters

None.

Return Value

Nonemethod opens the file.

Exception Handling

If there is a problem creating the data area, an Error An Error instance will be thrown with the following properties:

  • message - The IBM i message text.
  • error - The message id.
  • help - The message help text.

...

Example 1: Using .open() with userOpen

//Define the table.
Code Block
languagejavascript
titleOpen file, read first record, close file
  pjs.defineTable("productsp", { userOpen: true,  read: true,  keyed: true,  levelIds: [ '4AFA8C636F188' ] });
  //Create a DS based off of a record format from the table.
pjs.define("myDS1", { type: 'data structure', likerec: { intrecname: 'products' }});
 
//Open and read the first record
productsp.open(); productsp.open();
  productsp.fetchNext(false, null, pjs.ds("myDS1"));
  //Store a field in a variable
var output = pjs.char(myDS1.prid);

 

Example 2: Using .open without userOpen - crash

Code Block
languagejavascript
pjs.defineTable("productsp", { read: true, levelIds: [ '4AFA8C636F188' ] });
pjs.define("data", { type: 'char', length: 50, varying: true });

pjs.setError(false);
try {
  //Will crash because the file is already open
  productsp.open();
}
catch(err) {
  pjs.setError(err);
}

if (pjs.error()) {  // OPEN issued to a file already opened.
  data = 'Error ' + pjs.char(pjs.status());
}


//By this point, data = "Error 1215" productsp.close()

RPG Equivalent

OPEN

Requirements

This API requires the Profound.js Connector module.