Kivanc,
As has been observed, the LTAxxxx numbering scheme is limited to decimal digits. The xxxx is directly derived from a numeric field in the Unit Control Block for the particular LAT device.
Thus, the ability to create a numbering scheme as described in the original post depends upon the fortuitous [lucky!] circumstance that a) the port numbers on a given server did not exceed 8; and b) that the number of servers did not involve more than could be fit in three decimal digits.
For programming, such a naming convention is not often needed, although as implied by the original posting, it does have advantages for operational support (which is often the case with numbering conventions).
One can represent 16 and 32 port servers as TWO servers for the purposes of your configuration, although it will be necessary to do some changes to set up the correct port numbers when using LATCP, to wit:
LTA1008 (terminal server 100, port 8)
LTA1010 (terminal server 100, port 9)
LTA1018 (terminal server 100, port 16)
While the above numbers can be decoded by sight, it is admittedly not as obvious as your existing scheme.
The F$GETDVI also provides the Terminal Server and Port information using the TT_ACCPORNAM parameter. This, combined with removing the explicit numbering from the port creation procedure would PROBABLY IMHO, be the best choice.
Finally, one can also create logical names as the LAT ports are created (using the CREATE PORT /LOGICAL, as mentioned previously) and generate the name of the form LATTERMINAL_
_). With an additional "decode" DCL command procedure to search the logical name table for the correct LTA device, this would also work.
IMHO, using F$GETDVI (or the corresponding SYS$ call) to get information about server and port is far better than decoding the number. If programs need to be able to address lines by some form of PORT/SERVER, I would create logical names using the CREATE PORT/LOGICAL in a proforma way as described above.
- Bob Gezelter, http://www.rlgsc.com