── SETACTUALNAME ── ( ──<library object identifier>── , ───────────────► ►─<pointer expression>── ) ────────────────────────────────────────────┤
<library object identifier>
──┬─<library entry point identifier>─┬─────────────────────────────────┤ └─<imported data identifier>───────┘
<library entry point identifier>
A procedure identifier declared with a library entry point specification.
A <non-array data identifier> or <array identifier> declared within an <imported declaration>.
The SETACTUALNAME function determines whether or not the ACTUALNAME of the library object specified by the library object identifier can be changed to the name specified by the pointer expression. The function then makes the change, if it is possible. The results of a successful change are returned upon completing the ACTUALNAME change; otherwise, results indicating the reason for failure are returned.
The ACTUALNAME of an object of a linked library cannot be modified. Therefore, a linked library must be delinked before the SETACTUALNAME function can be called to change the ACTUALNAME of any of its objects. The function can be called to modify an object of a library that has not yet been linked.
The ACTUALNAME of an object in a connection library can be modified only if that object is the only object that is imported into the library. Setting the ACTUALNAME of an object in a connection library affects all connections. If a connection is linked when SETACTUALNAME is called, the connection is not affected until it is delinked. This functionality provides compatibility with server libraries. It is recommended that dynamic linkage redirections be performed by using the INTERFACENAME library attribute.
Starting with the first character pointed to by the pointer expression, characters are included as the new object name until a period is encountered, the maximum allowable number of characters is included, or the end of the array row is encountered. The last case results in an error condition.
The SETACTUALNAME function returns the following integer values:
|
Value |
Meaning |
|
1 |
A successful change was made to the ACTUALNAME of the object. |
|
0 |
The new ACTUALNAME is the same as the current ACTUALNAME of the object. |
|
-1 |
The library is linked. The library must be delinked before the SETACTUALNAME function is called. |
|
-2 |
The library object identifier is not currently in an accessible library template. |
|
-3 |
A parameter error occurred in the SETACTUALNAME function. |
|
-4 |
The new ACTUALNAME is already in use by another object. |
|
-5 |
The object is located in a connection library that imports multiple objects. |
Example of the SETACTUALNAME Function
The following example changes the ACTUALNAME of the library entry point EP2 to "ENTRYPOINT2", if possible:
REPLACE NEWEPNAME BY "ENTRYPOINT2."; SETACTUALNAME(EP2,NEWEPNAME);

