Normally when assigning data from one MDO component to another the type of each component is identical so that data can be moved unchanged. However, if the target component is not of the same type as the source component type conversion is automatically performed where possible. Hence the result of the following assignment depends on the type of a.b.c and x.y.z:
&ASSIGN MDO=a.b.c FROM MDO=x.y.z
When assigning into an MDO from external data, or from NCL variables the data type of the input can be nominated for the MDO assignment. If the MDO component is not of this type then type conversion is performed, for example:
&ASSIGN MDO=a.b.c TYPE=INTEGER FROM DATA=123
&ASSIGN MDO=a.b.c TYPE=HEXSTRING FROM VARS=HEXDATA
Similarly, when assigning data from an MDO into NCL variables, the data type of the output can be nominated for the MDO assignment, for example:
&ASSIGN VARS=ABC FROM MDO=a.b.c TYPE=BITSTRING
Valid type operands are:
Type conversion is attempted regardless of the source and target types. Thus, depending on the actual value of the source data and target type, some assignments might produce valid results, while others will produce a type check.
The ASN.1 types can be classified into 3 groups:
The following table shows the general rule for type conversion. It lists the formats of the source data value used for assignment into the target type.
|
SOURCE\\TARGET |
Graphic |
Numeric |
Transparent |
|
Graphic-oriented |
External form |
External form |
Local form |
|
Numeric-oriented |
External form |
Local form |
Local form |
|
Transparent |
Local form |
Local form |
Local form |
For more information about the acceptable external and local form values for each type, see the Network Control Language Reference Guide.