CREATE

Purpose

Use the CREATE high-level load function statement to create an object of a specific class in the RODM data cache.

Syntax

Read syntax diagramSkip visual syntax diagramCREATE INVOKER ::= invoke_value; OBJCLASS  ::= class; OBJINST  ::= MyName = (CHARVAR)  'object'; ATTRLIST, field ::= typed_value; END;

Keyword and Parameter Descriptions

INVOKER ::= invoke_value
The identifier value. The value is ignored by the RODM load function, but can be used to number high-level load function statements in your definition files.
OBJCLASS ::= class
The name of the parent class of the object being created.
OBJINST ::= MyName = (CHARVAR) object
The name of the object being created.
field ::= typed_value
Sets the field named field to the value typed_value. For a list of valid data types and values, see typed_value.

Example

Consider the specifications necessary for creating an object to represent system software called SDSF. SDSF is a child of the class named SystemSoftware and has the following fields and values:
  • ProductName with a value of SDSF
  • ProgramNumber with a value of 5697-B82
  • LatestPTFNumber with a value of UY12903
  • CorrespondingAPARNumber with a value of PL45419
  • DateApplied with a value of 03/01/97
  • UseInHost field that links this object to HostA and HostC
    Note: HostA and HostC must already exist for the links to be successful.
The following is the statement needed to create the object SDSF:
Figure 1. Create Object Example
CREATE    INVOKER    ::= 0000003;
          OBJCLASS   ::= SystemSoftware;
          OBJINST    ::= MyName = (CHARVAR) 'SDSF';
          ATTRLIST
                     ProductName             ::= (CHARVAR)  'SDSF',
                     ProgramNumber           ::= (CHARVAR)  '5697-B82',
                     LatestPTFNumber         ::= (CHARVAR)  'UY12903',
                     CorrespondingAPARNumber ::= (CHARVAR)  'PL45419',
                     DateApplied             ::= (CHARVAR)  '03/01/97',
                     UseInHost               ::= (OBJECTLINKLIST)
                      ('Host_Class'.'HostA'.'UseSystemSoftware')
                      ('Host_Class'.'HostC'.'UseSystemSoftware');
END;

Usage Notes

When specifying the parameters of the OBJINST keyword of the CREATE high-level statement you normally specify MyName as the name of the field because the MyName field always represents the name of the object. For example:
OBJINST ::= MyName = (CHARVAR) 'SDSF';
But if you want another of the object's fields to also have the object name as its value, you specify that field name instead of MyName in the OBJINST definition. The MyName field and that field are then assigned the same value. For example, if you want the object name of SDSF assigned as the value of both the MyName and ProductName fields of the object, you specify:
OBJINST ::= ProductName = (CHARVAR) 'SDSF';

Do not repeat ProductName as a field in the ATTRLIST.