If you want to create a temp-table LIKE a database table or another temp-table with all its fields and at least one of its indexes, use the CREATE-LIKE() method to copy all fields from the source table to the temp-table definition, along with index definitions:
tt-handle:CREATE-LIKE( { source-handle-exp | source-name-exp }
    [, source-index-name-exp ] ).

You define the source table by either passing its handle or its name. The name expression can be either the table name as a quoted literal or a character expression that evaluates to the table name. A source table can be either a database table for a currently connected database or another temp-table whose scope makes it available to the procedure with the CREATE-LIKE method.

If you do not pass the optional second argument, then the temp-table inherits all the index definitions of the underlying table. If you want to specify only one index from the underlying table initially, you can pass its name as a character expression as the second argument. For example, this sequence of statements creates a dynamic temp-table with all the fields from the Customer table, along with just the Name index:
DEFINE VARIABLE hTT AS HANDLE NO-UNDO.
CREATE TEMP-TABLE hTT.
hTT:CREATE-LIKE("Customer","Name").

You can only use the CREATE-LIKE method once for a temp-table definition, when the temp-table is in the clear state. Thus, if you use this method, it must be the first method you invoke for the temp-table. If you want fields from additional tables in the temp-table, you use the ADD-FIELDS-FROM() method to add them. If you want to add more indexes from the source table, you can use the ADD-LIKE-INDEX() method to do this.