The pjs.define() API is used within Profound.js modules to declare fields, arrays, and data structures with a strong data type. All IBM i data types are available.
...
Property name | Property type | Description |
---|---|---|
type | String | The following data types can be specified:
Some config properties only apply to certain types. |
length | Number | Specifies the field length. It is required for most data types; exceptions are:
|
decimals | Number | Specifies the number of decimal positions. It required for packed and zoned fields. |
varying | Boolean | Specifies that a character field is of varying length; otherwise, the field will be a fixed length field padded with spaces. |
initValue | String/Number/Boolean/Array | Specified the field's initial value. |
dim | Number | This property turns the definition into an array. When declared this way, arrays start with an index of 1, similar to RPG. |
orderBy | String | Specifies the default sort order for arrays declared with the dim property. The orderBy property is used by array-related API, such as pjs.lookup(). Possible values are:
|
elements | Object | Specifies an object of subfields for a data structure. Each property within the object is the subfield name, while the property value is another config object. |
qualified | Boolean | Identifies a data structure as qualified, meaning that all references to its subfields must be qualified with the data structure name first; for example: MyDS.mysubfield = "myvalue". This makes the data structure similar to a JavaScript object. If qualifies qualified is not specified, the subfields can be referenced directly; for example: mysubfield = "myvalue". |
special | String | Available to data-structure subfields. Acceptable Identifies a special subfield and can only be specified on a data structure subfield configuration with the elements property. Possible values are:PSDS For a Status Data Structure (statusDS):
For an Information Data Structure (infDS):
|
nullable | Boolean / String | Use this property to create null-capable fields.
|
likeRec | Object | Specified on a data structure Available when using a data structure type. This object requires two elements.
When likerec is specified, the data structure becomes qualified automatically. |
likeDS | String | Used on a data structure to specify the name of another data structure from which the configuration is derived. |
dataArea | String Available to all data types, except from the pointer type. String pointing to data-area object. Example values: | Specifies a data area object to be associated with the declared field. The name of the data area may include a library. For example:
|
statusDS | Boolean | Identifies a Status Data Structure. A Status Data Structure is automatically populated with information about the current Profound.js module and job. It is an easy way to retrieve information, such as the current IBM i job name, the current user id, and more. |
...
Code Block | ||
---|---|---|
| ||
pjs.define("arr", { type: 'char', length: 10, dim: 3, initValue: '0123456789' }); |
Data structures
When you declare a field of data-structure type, this means you need to provide an 'elements' object. Each key in this object will be the name of the subfield and the value of this key will be another config element. If a data-structure is qualified, the data-structure will act similar to a JavaScript object.
Example 5: Data structure with two subfields (non-qualified)
...