4.2 iWebMaster command language
iWEBMaster enhances converted applications by providing pages with
- customized graphical design (such as background colors, fonts, borders, images, etc.)
- small functional objects (such as buttons, tabs, etc.)
- links to services or objects available on remote servers (such as documents on a given server)
In some cases, this would allow to extend the objective of an existing application, by adding functionalities,
such as retrieving images and / or documents from a central archive.
iWEBMaster is a command language:
- it is a set of commands that run on the iSeries
- you use this commands to provide graphical and functional enhancements to 5250 applications already converted to iWEB
- usually you would collect the commands - that make up the enhancements of an application - in one ore more CL programs, so that you can change and rerun them at any time you need.
iWEBMaster elements are object-oriented.
Mainly, they belong to two classes:
- Objects - Objects are defined entities, having a given type (IMG, LINK, BUTTON, FRAME, STYLE, FIELDVIEW, etc.) and related attributes
- Connectors - Connectors implement the link of an object to a given DSPF element or class of elements, like fields, record formats or display files.
In other words, an object is like a stamp: attributes could be size, shape, image, value.
Such a stamp you may use on a postcard, on several postcards, on a letter, on all air-letters. To apply a stamp you need to identify the stamp and the objects that should receive it.
This operator is called "connector", and the links implemented are called "connections".
Therefore, with iWEBMaster you perform mainly two activities:
- you define objects
- you connect objects
Persistence.
Objects and connectors maintain their state (persistence) without considering the existence of the connected display file elements. In other words, after you redesign a display file, you (unless you have a specific need) have not to redefine already defined iWEBMaster objects and connections.
4.2.1 Collections
Collections are containers of objects. An object cannot exist outside of a collection: an object is qualified by its name and its collection name.
Collections provide an easy way to organize objects by grouping them.
Grouping criteria are up to developers.
A simple way to use collections is that of having collections with the names of the converted libraries. For instance, one could define collection "mylib" to contain all objects related to display files in library "mylib".
A collection named "DEFAULT" is initially available.
Collection related commands:
Main iWebMaster commands:
4.2.2 Defining objects
Use comand IWEB/CRTOBJDFN to define a new object.
The object type parameter establishes the class of the object.
After entering the "object type" and pressing the Enter key, the command prompt allows to enter parameters for the object type specified.
Create Object Definition (CRTOBJDFN)
Type options and press Enter.
Object . . . . . . . . . . . . . __________ Name, *DDSSRC
Collection . . . . . . . . . . DEFAULT Name
Object type . . . . . . . . . . ______________________________
'Description' text . . . . . . . *BLANK |
The following is a list of the available object types and the connections supported:
Use
- A = Attribute
- O = Object
- E = Element
- F = Function
| Object type |
Use |
Description |
Related Object types |
| BGCOLOR |
A |
Background color. Can be connected at *FIELD or *FORMAT level. |
Style |
| Commands example: |
1) CRTOBJDFN OBJ(MYCLC/BGCOL) OBJTYPE(BGCOLOR) BGCOLOR(BAE2D3)
|
| |
2) ADDOBJCNT OBJ(MYCLC/BGCOL) TOLEVEL(*FORMAT) LIB(G7B_OBJ) DSP(INTCLI0V) FMT(F1)
|
|
| Before: |
After: |
 |
 |
|
| BORDER |
A |
Border. Can be connected at *FIELD or *FORMAT level. |
Style |
| Commands example: |
1) CRTOBJDFN OBJ(MYCLC/MYBORDER1) OBJTYPE(BORDER) BORDER(LOWERED) |
| |
2) ADDOBJCNT OBJ(MYCLC/MYBORDER1) TOLEVEL(*FIELD) LIB(G7B_OBJ) DSP(INTCLI0V) FMT(F1) FLDUSE(B) |
|
| Before: |
After: |
 |
 |
|
| BUTTON |
O |
Button. Can be connected at *FORMAT level. |
FieldButton
Calendar
Calculator
Fkey |
| Commands example: |
1) CRTOBJDFN OBJ(MYCLC/INTMOVOK) OBJTYPE(BUTTON) IMG('/iwebdata/icons/ok.gif') TOP(5) LEFT(23) WIDTH(1) HEIGHT(1) UNIT(CHAR) BUTTONACT(ENTER) EVAL(('F2CTL.$NSES' '&WNSES') ('F2CTL.$NMOV' '&WNMOV')) COLHEAD('Sel') |
| |
2) ADDOBJCNT OBJ(MYCLC/INTMOVOK) TOLEVEL(*FORMAT) LIB(G7G_OBJ) DSP(INTMOV0V) FMT(F2SUB) |
| Before: |
 |
| After: |
 |
In this sample the button named INTMOVOK is represented with an image and the action of the button is a sequence of several events:
Population of two fields of another format with the variable value of two subfile's fields.
Activation of the Enter Key |
|
| CALCULATOR |
O |
Button to a pop-up calculator. Can be connected at *FIELD level. |
Button
FieldButton
Calendar
Fkey |
| Commands example: |
1) CRTOBJDFN OBJ(MYCLC/CALC) OBJTYPE(CALCULATOR) |
| |
2) ADDOBJCNT OBJ(MYCLC/CALC) TOLEVEL(*FIELD) LIB(ACGWOBJV3) DSP(GRA1000V) FMT(GRA1005D) FLD(IMPMOV) |
| Before: |
 |
| After: |
 |
|
| CALENDAR |
O |
Button to a pop-up calendar for 1 field. Can be connected at *FIELD level. |
Button
FieldButton
Calculator
Fkey |
| Commands example: |
1) CRTOBJDFN OBJ(MYCLC/CALEND) OBJTYPE(CALENDAR) CALENDAR(*DMY) |
| |
2) ADDOBJCNT OBJ(MYCLC/CALEND) TOLEVEL(*FIELD) LIB(ACGWOBJV3) DSP(GRA1000V) FMT(GRA1005D) FLD('DA%') |
|
| Before: |
After: |
 |
 |
|
| CALENDAR2 |
O |
Button to a pop-up calendar for 2 fields. Can be connected at *FIELD level. |
|
| CALENDAR3 |
O |
Button to a pop-up calendar for 3 fields. Can be connected at *FIELD level. |
|
| CONSTANT |
O |
Constant text. Can be connected at *FORMAT level. |
|
| CHECKBOX |
O |
Check-box. Can be connected at *FIELD level. |
RADIOVAR |
| Commands example: |
1) CRTOBJDFN OBJ(MYCLC/CHKBOX1) OBJTYPE(CHECKBOX) VALUEON(X) |
| |
2) ADDOBJCNT OBJ(MYCLC/CHKBOX1) TOLEVEL(*FIELD) LIB(IWEBDEMO) DSP(BOATSCH1) FMT(SFL) FLD(SEL) |
|
| Before: |
After: |
 |
 |
|
| COLHEAD |
A |
Column heading. (used for subfile, iWeb transforms them in Table-object). Can be connected at *FIELD level (or *FORMAT level for new object). |
|
| Commands example: |
1) CRTOBJDFN OBJ(MYCLC/INTMOVI1) OBJTYPE(COLHEAD) COLHEAD('C/F') |
| |
2) ADDOBJCNT OBJ(MYCLC/INTMOVI1) TOLEVEL(*FIELD) LIB(G7G_OBJ) DSP(INTMOV0V) |
| Before: |
 |
| After: |
 |
|
| COLOR |
A |
Color. Can be connected at *FIELD or *FORMAT level. |
|
| COLORCHOOSER |
O |
Button to a pop-up color chooser. Can be connected at *FIELD level. |
|
| FIELDBUTTON |
O |
Button anchored to a field. Can be connected at *FIELD level. |
|
| FIELDCONSTANT |
A |
Constant field. Can be connected at *FIELD level (field type "constant") |
|
| FIELDIMG |
A |
Image anchored to a field. Can be connected at *FIELD level. |
|
| FIELDLINK |
E |
Link anchored to a field. Can be connected at *FIELD level. |
|
| FIELDSTYLE |
A |
Style of a field. Can be connected at *FIELD level. |
|
| FIELDVIEW |
A |
Change a field position, with absolute or relative coordinates. Can be connected at *FIELD level. |
STYLE |
Commands example:
To align right constants |
1) CRTOBJDFN OBJ(MYCLC/ALIGNRIGHT) OBJTYPE(FIELDVIEW) ALIGN(RIGHT) |
| 2) ADDOBJCNT OBJ(MYCLC/ALIGNRIGHT) TOLEVEL(*FIELD) LIB(G7G_OBJ) DSP(INTMAG0V) FLDTYPE(CONST) |
| |
To align field |
3) CRTOBJDFN OBJ(MYCLC/LEN8) OBJTYPE(FIELDVIEW) TOP(10) LEFT(15) POSITION(ABSOLUTE) WIDTH(8) HEIGHT(1) ADAPT('*YES') ALIGN(RIGHT) |
| 4) ADDOBJCNT OBJ(MYCLC/LEN8) TOLEVEL(*FIELD) LIB(G7G_OBJ) DSP(INTMAG0V) FMT(F3) FLD(WQNOR) |
|
| Before: |
After: |
 |
 |
|
| FKEY |
A |
Function Key. Can be connected at *FORMAT level. |
|
| FONT |
A |
Font. Can be connected at *FIELD or *FORMAT level. |
|
| FRAME |
O |
Frame, legend, border. Can be connected at *FORMAT level. |
|
| IMG |
O |
Image. Can be connected at *FORMAT level. |
|
| LINE |
O |
Horizontal line. Can be connected at *FORMAT level. |
|
| Commands example: |
1) CRTOBJDFN OBJ(MYCLC/LINEDEMO) OBJTYPE(LINE) TEXT('') LINE(HORIZONTAL) TOP(23) LEFT(1) LENGTH(80) COLOR(FF0000) SIZE(1) |
| |
2) ADDOBJCNT OBJ(MYCLC/LINEDEMO) TOLEVEL(*FORMAT) LIB(G7C_SRCI) DSP(INTSVN0V) FMT(F2CTL) |
| Before: |
 |
| After: |
 |
|
| LINK |
E |
Link. Can be connected at *FORMAT level. |
|
| LISTBOX |
O |
List box. Can be connected at *FIELD level. |
|
| NONDISPLAY |
A |
Non display attribute. Can be connected at *FIELD level. |
|
| PROTECT |
A |
Protect attribute. Can be connected at *FIELD level. |
|
| RADIOVAR |
O |
Radio-button. Can be connected at *FIELD level. |
|
| Commands example: |
1) CRTOBJDFN OBJ(MYCLC/RADIODEC) OBJTYPE(RADIOVAR) TEXT('') LISTBOXVAL('2,3,4,5') LISTBOXLAB('2 dec.,3 dec.,4 dec.,5 dec.') LISTVIEW(LABEL) AXIS(HORIZONTAL) |
| |
2) ADDOBJCNT OBJ(MYCLC/RADIODEC) TOLEVEL(*FIELD) LIB(G7B_OBJ) DSP(MANCT10V) FMT(F2) FLD(WNDEC) |
| Before: |
 |
| After: |
 |
|
| REPLACEPATTERN |
F |
Replace pattern attribute. To be used to remove '. . . .' or replace '-------' with a line. Can be connected at *FIELD level. |
|
| SCANHEX |
F |
Scan field for hexadecimal values interpretation. Can be connected at *FIELD level. (needs a program reconversion) |
|
| STYLE |
A |
Style of a format and all of its components, including fields. Can be connected at *FORMAT level. |
|
| TAB |
O |
Tab panel. Can be connected at *FORMAT level. |
|
| TABLEHEAD |
A |
Table column heading. (used for subfiles, user can specify which formats and lines must be used to build subfiles column heading). Can be connected at *FORMAT level. |
COLHEAD |
| Commands example: |
1) CRTOBJDFN OBJ(MYCLC/TABLEHEAD1) OBJTYPE(TABLEHEAD) TEXT('') TABLEHEAD((1 EC1CTL 3) (1 EC1CTL 4) (1 EC1CTL 5) (1 EC1CTL 8)) |
| |
2) ADDOBJCNT OBJ(MYCLC/TABLEHEAD1) TOLEVEL(*FORMAT) LIB(CIWEBTEST) DSP(A_TABLEH) FMT('EC1SFL') |
| 5250 subfile: |
 |
| Before: |
 |
| After: |
 |
|
| TABLESTYLE |
A |
Table style. (for iWeb, subfile are transformed to Table). Can be connected at *FORMAT level. |
|
| TEMPLATE |
O |
Template. It groups styles from different components. It is not connected at *FORMAT or *FIELD level but referenced directly in the applet within the html page in the following format:
<param name="template" value="COLLECTION/TEMPLATE.xml"> |
Style
Menustyle
Tablestyle
Fkey
Fkeybar
Bgcolor
FKEYSTYLE |
| Commands example: |
IWEB/CRTOBJDFN OBJ(MYCLC/FKEYBAR) OBJTYPE(FKEYBAR) STATUS(*VISIBLEIFTEXT) FKEYBARPOS(*TOP) |
| |
IWEB/CRTOBJDFN OBJ(MYCLC/STYLE) OBJTYPE(STYLE) BGIMG('/iweb/patterns/stick_blu.png' TOPLEFT 'REPEAT-X') INPUTCOL(DAEAFD) INPUTFONT((*SANSSERIF)) INPUTBORD((LINE 1 9EBEF5)) OUTPUTFONT((*SANSSERIF)) CONSTFONT((*SANSSERIF)) |
| |
IWEB/CRTOBJDFN OBJ(MYCLC/TABLESTYLE) OBJTYPE(TABLESTYLE) HEADCOL(9EBEF5) HEADFONT((*SANSSERIF BOLD)) HEADBORD((LINE 1 8EB3E7)) ODDCOL(DAEAFD) EVENCOL(CFE1F9) TABLEFONT((*SANSSERIF)) TABLEGRID(*NONE) |
| |
IWEB/CRTOBJDFN OBJ(MYCLC/MENUSTYLE) OBJTYPE(MENUSTYLE) BGCOLOR(C6D0D9) MENUICON('/Iwebdata/icons/tango/16x16/places/folder.png') MENUCOL(*DFT 026767) ITEMICON('/Iwebdata/icons/tango/16x16/categories/applications-system.png') ITEMCOL(*DFT 0000FF) |
| |
IWEB/CRTOBJDFN OBJ(&XCLC/F03) OBJTYPE(FKEY) IMG('/IWEBDATA/ICONS/TANGO/16X16/actions/system-log-out.png') LABEL(*DFT) FKEY('CA-CF03') SEQORD(03) |
| |
IWEB/CRTOBJDFN OBJ(&XCLC/F04) OBJTYPE(FKEY) IMG('/IWEBDATA/ICONS/TANGO/16X16/actions/system-search.png') LABEL(*DFT) FKEY('CA-CF04') SEQORD(04) |
| |
IWEB/CRTOBJDFN OBJ(&XCLC/F12) OBJTYPE(FKEY) IMG('&PATH *tcat '/actions/edit-undo.png') LABEL(*DFT) FKEY('CA-CF12') SEQORD(12) |
| |
IWEB/CRTOBJDFN OBJ(&XCLC/F18) OBJTYPE(FKEY) IMG('/IWEBDATA/ICONS/TANGO/16X16/categories/preferences-system.png') LABEL(*DFT) FKEY('CA-CF18') SEQORD(18) |
| |
IWEB/CRTOBJDFN OBJ(&XCLC/ENTER) OBJTYPE(FKEY) IMG('/IWEBDATA/ICONS/TANGO/16X16/actions/go-next.png') LABEL(*DFT) FKEY('ENTER') SEQORD(00) |
| |
IWEB/CRTOBJDFN OBJ(&XCLC/PAGEDOWN) OBJTYPE(FKEY) IMG('/IWEBDATA/ICONS/TANGO/16X16/actions/media-seek-forward.png') LABEL(*DFT) FKEY('PAGEDOWN') SEQORD(29) |
| |
IWEB/CRTOBJDFN OBJ(&XCLC/PAGEUP) OBJTYPE(FKEY) IMG('/IWEBDATA/ICONS/TANGO/16X16/actions/media-seek-backward.png') LABEL(*DFT) FKEY('PAGEUP') SEQORD(30) |
| |
IWEB/CRTOBJDFN OBJ(MYCLC/TEMPLATE) OBJTYPE(TEMPLATE) LOGO('/Iwebdata/images/background/sky.jpg') STYLE(MYCLC/STYLE) TABLESTYLE(MYCLC/TABLESTYLE) FKEYBAR(MYCLC/FKEYBAR) FKEYSTYLE(MYCLC/F03 MYCLC/F04 MYCLC/F12 MYCLC/F18 MYCLC/ENTER MYCLC/PAGEDOWN MYCLC/PAGEUP) MENUSTYLE(MYCLC/MENUSTYLE) APPLETBORD(*NO) |
|
Menu Before: |
 |
Menu After: |
 |
Display Before: |
 |
Display After: |
 |
|
| TITLE |
A |
Title (show in the title-bar). Can be connected at *FIELD level. |
|
| TOOLBARBUTTON |
O |
Tool Bar Button to invoke a customised menu or program
from the tool-bar. Can be connected at *FORMAT level. |
|
| TOOLTIP |
A |
Tooltip. Can be connected at *FIELD or *FORMAT level. |
|
| UNHIDE |
A |
Unhide a hidden field, define a top & left position and a field
usage. Can be connected at *FIELD level. |
|
In defining an object, you may reference display file fields (input, output, both, and even hidden fields) to come up with dynamic strings in some relevant parameters. See the following examples.
This example defines an object-type "image":
- the source of the image is computed from the value of field (FLD1) in a display record format
- when clicked, the image would link to a document archived in the server; again, the document name is computed from a field (FLD2) in a display record format.
IWEB/CRTOBJDFN OBJ(MYCLC/MYIMG)
OBJTYPE(IMG)
TEXT('Article image')
IMG('''/mydir/pictures/'' *cat &FLD1 *tcat ''.gif''')
TOP(8)
LEFT(20)
WIDTH(5)
HEIGHT(3)
TOOLTIP('Article image')
HREF('''/mydir/documents/'' *cat &FLD2 *tcat ''.doc''') |
This example defines an object-type "button":
when pressed, this button would:
- replace the value of display file field FLDACT with value "INFO"
- press the Enter key
IWEB/CRTOBJDFN OBJ(MYCLC/MYBUTTON) OBJTYPE(BUTTON) IMG('/iweb/graphics/icons/i.gif') LABEL(info) TOP(2) LEFT(70) WIDTH(10) HEIGHT(1) BUTTONACT(ENTER) EVAL((FLDACT INFO)) |
This example defines an object-type "button":
when pressed, this button would:
- ask the server to submit a job, that would call a given program passing as a parameter the value of a field (CUSTCOD) in a display record format.
IWEB/CRTOBJDFN OBJ(MYCLC/MYBUTTON2)
OBJTYPE(BUTTON)
IMG('/iweb/graphics/icons/question.gif')
LABEL(select)
TOP(2)
LEFT(70)
WIDTH(10)
HEIGHT(1)
BUTTONACT(SYSCMD)
SYSCMD('''call mylib/mypgm parm('' *cat &CUSTCOD *tcat '')''') |
Object definition related commands:
Note: The CHGOBJDFN command not only updates the object definition, but also refreshes its connections. The effect of the change is immediately visible in the related iWEB converted application, as soon as a page is refreshed. See also "Tips", later in this page.
4.2.3 Connecting objects
A connection connects a qualified object to one or several display record-formats OR fields within a specified library.
Mandatory parameters are:
- The qualified object name (OBJ)
- The connection level (TOLEVEL)
- The library connected (LIB)
Use command ADDOBJCNT to establish connections from a given object to one or many pieces of display file elements.
Add Object Connection (ADDOBJCNT) Type options and press Enter. Object . . . . . . . . . . . . . > MYOBJ Name, *DDSSRC Collection . . . . . . . . . . > MYCLC Name To level . . . . . . . . . . . . > *FIELD *FORMAT, *FIELD, *DDSSRC Language . . . . . . . . . . . . __________ Name Company . . . . . . . . . . . . __________ Name User group . . . . . . . . . . . __________ Name User . . . . . . . . . . . . . . __________ Name List format/field connected . . *NONE *NONE, *, *PRINT, *ONLY Library . . . . . . . . . . . . > MYLIB Name Display . . . . . . . . . . . . __________ Name, %wild%card% Format . . . . . . . . . . . . . __________ Name, %wild%card% Field . . . . . . . . . . . . . __________ Name, %wild%card% Format type . . . . . . . . . . ______ NORMAL, SFL, SFLMSG... + for more values ______ Field type . . . . . . . . . . . __________ A, D, F, I, M, N, S, W, X... + for more values __________
Field simplified type Char-Num _ C, N Field use . . . . . . . . . . . _ I, O, B, H, P, M + for more values _ Field length: From . . . . . . . . . . . . . _______ Number To . . . . . . . . . . . . . . _______ Number Field decimal position: From . . . . . . . . . . . . . ____ Number To . . . . . . . . . . . . . . ____ Number Field top position: From . . . . . . . . . . . . . _______ Number To . . . . . . . . . . . . . . _______ Number Field left position: From . . . . . . . . . . . . . _______ Number To . . . . . . . . . . . . . . _______ Number Reference field library . . . . __________ Name, %wild%card%
Reference field file . . . . . . __________ Name, %wild%card% Reference field format . . . . . __________ Name, %wild%card% Reference field . . . . . . . . __________ Name, %wild%card% 'Constant' %wild%card% text . . ___________________________________________ ______________________________________________________________________________ + for more values ___________________________________________ ______________________________________________________________________________ Option indicators connection: _ Indicator . . . . . . . . . . ___ 01-99, N01-N99 Indicator . . . . . . . . . . ___ 01-99, N01-N99 Indicator . . . . . . . . . . ___ 01-99, N01-N99 Operator . . . . . . . . . . . ___ AND, OR + for more values _ |
4.2.3 Some tips
1 - Managing your iWEBMaster definitions
As iWEBMaster is a command language, iWEBMaster commands can be executed from a command entry. Though this is possible, it is not recommended, because in this way you would be soon out of control.
We suggest to collect your iWEbMaster commands in CL procedures (programs), so that you may recover control even after a long time, and - if you are a Software Vendor - are able to run those procedures at a customer site, knowing that it would work. See the example below. (See also what has been done for the Sample improved application.)
PGM /*----------------------------------------------------------------------------*/ /* As a start, reset all in order: connection, object, collection */ /*----------------------------------------------------------------------------*/ IWEB/RMVOBJCNT OBJ(MYCLC/*ALL) TOLEVEL(*FIELD) + LIB(MYLIB) IWEB/RMVOBJCNT OBJ(MYCLC/*ALL) TOLEVEL(*FORMAT) + LIB(MYLIB) IWEB/DLTOBJDFN OBJ(MYCLC/*ALL) MONMSG MSGID(CPF0000) /* if the collection does not exist */ IWEB/DLTCLC COLLECTION(MYCLC) MONMSG MSGID(CPF0000) /* if the collection does not exist */ /*----------------------------------------------------------------------------*/ /* Create COLLECTION */ /*----------------------------------------------------------------------------*/ IWEB/CRTCLC COLLECTION(MYCLC) TEXT('MYCLC + collection') /*----------------------------------------------------------------------------*/ /* Define object & connect it */ /*----------------------------------------------------------------------------*/ IWEB/CRTOBJDFN ... LIB(MYLIB) ...
IWEB/ADDOBJCNT ... LIB(MYLIB) ...
/*----------------------------------------------------------------------------*/ /* Define object & connect it */ /*----------------------------------------------------------------------------*/ IWEB/CRTOBJDFN ... LIB(MYLIB) ...
IWEB/ADDOBJCNT ... LIB(MYLIB) ...
ENDPGM |
Once you have done that, it may occasionally happen that you would like to test some change to an object definition. In that case, you may want to use the CHGOBJDFN command from a command entry screen. Results are immediately available in the iWEB application. Once you reach your objective, just remember to apply the same changes to the corresponding CRTOBJDFN command in your CL program.
2 - List connections
Parameter LSTCNT(*ONLY) in commands ADDOBJCNT and RMVOBJCNT, provides a list of potential (or actual) connections without adding / removing them.
3 - Cascade prompt for library, display, format, and field names
When entered from a command entry screen (that is: NOT in a source member), the following parameters:
support "educated selection lists".
For instance, if you specify a library name, position the cursor on the DSP keyword and press F4, you are prompted as a list of allowed values the names of all the display files in that library.
Then again, if after selecting a display file for parameter DSP, you position the cursor on the FMT keyword and press F4, you are prompted a list of the record formats in that display file.
Last, if after selecting a record format for the keyword FMT, you position the cursor on the FLD keyword and press F4, you are prompted a list of the fields in that record format.
This may help in building the correct iWEB command.
A similar facility is available for the two qualifiers ("object" and "collection") of the OBJ parameter.
This support is available for the following commands:
|
OBJ |
LIB |
DSP |
FMT |
FLD |
| CRTOBJDFN |
x |
|
|
|
|
| CHGOBJDFN |
x |
|
|
|
|
| ADDOBJCNT |
x |
x |
x |
x |
x |