Max number characters allowed using the :NAME attribute

Posted by Rom Elwell on 20-Jun-2014 10:43

Please forgive my ignorance.  Can someone confirm that the :NAME attribute only allows values up to 32-characters in length?

DEF VAR   tempTableName  AS CHAR INIT "ADO_ttprinterHead_ttFieldProperties".

...

hADOttBuffer:COPY-TEMP-TABLE(aBufferHandle, FALSE, FALSE, FALSE, tempTableName).

MESSAGE hADOttBuffer:NAME VIEW-AS ALERT-BOX.

The last message outputs the string 'ADO_ttprinterHead_ttFieldPropert'.  The last 3 characters are truncated.

Posted by Matt Gilarde on 20-Jun-2014 11:10

The NAME attribute doesn't have a limit of 32 characters in general but the COPY-TEMP-TABLE method does truncate the fifth parameter to 32 characters when copying it. Some identifiers, including temp-table names, are limited to 32 characters. I don't know what the reason for this limitation is.

All Replies

Posted by Matt Gilarde on 20-Jun-2014 11:10

The NAME attribute doesn't have a limit of 32 characters in general but the COPY-TEMP-TABLE method does truncate the fifth parameter to 32 characters when copying it. Some identifiers, including temp-table names, are limited to 32 characters. I don't know what the reason for this limitation is.

Posted by Thomas Mercer-Hursh on 20-Jun-2014 11:16

There are a number of limits like this still hanging around.  Don't get me started on stream names!

Posted by Rom Elwell on 20-Jun-2014 11:29

Thank you Matt for your reply!

Posted by Roberta Miller on 20-Jun-2014 11:35

For your reference, there is a table of name length limits in OpenEdge Deployment: Managing ABL Applications, Appendix C, "OpenEdge Application Limits > Name limits" (Table 33) This includes the table name length limit of 32 characters, plus some others that are different.

Posted by Rom Elwell on 20-Jun-2014 11:38

Roberta,

Fantastic!  You read my mind.  Thank you for this info!

This thread is closed