Release 10.1A: OpenEdge Development:
ADM Reference

> ## Position character table

> The Position Character table (table type 2), provides the ordinal position of the parameter and stores the parameter value in a character field. As with the position native data type table, the ordinal position of the parameter is important.

> Figure A–2 shows the definition of the position character type temp-table.

>     DEFINE TEMP-TABLE ttCallParam NO-UNDO
>         FIELD iParamNo       AS INTEGER
>         FIELD cParamName     AS CHARACTER
>         FIELD cDataType      AS CHARACTER
>         FIELD cIOMode        AS CHARACTER
>         FIELD cValue         AS CHARACTER
>         INDEX pudx IS UNIQUE PRIMARY
>           iParamNo.

> Figure A–2: Position character table type definition

> The code in Example A–9 illustrates how to set up the same set of parameters as those in Example A–7 for the position native data type table.

> Example A–9: Parameters stored in a position character table type
>     /* Include the temp-table definition */
>     {src/adm2/calltables.i
>      &PARAM-TABLE-TYPE = "2"}
>     /* Create the parameter values into the parameter value table */
>       CREATE ttCallParam.
>       ASSIGN
>         ttCallParam.iParamNo   = 1
>         ttCallParam.cDataType  = "CHARACTER"
>         ttCallParam.cIOMode    = "INPUT"
>         ttCallParam.cValue     = "aaa"
>       .
>       CREATE ttCallParam.
>       ASSIGN
>         ttCallParam.iParamNo   = 2
>         ttCallParam.cDataType  = "INTEGER"
>         ttCallParam.cIOMode    = "INPUT-OUTPUT"
>         ttCallParam.cValue     = "12"
>       .
>       CREATE ttCallParam.
>       ASSIGN
>         ttCallParam.iParamNo   = 3
>         ttCallParam.cDataType  = "HANDLE"
>         ttCallParam.cIOMode    = "OUTPUT"
>         ttCallParam.cValue     = ?
>       .

> The conversion to the appropriate data type is done when the dynamic temp-table structure is built from this table.

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095