TDINFUDT

Description

Retrieves information about the client-defined datatype for a column.

Syntax

%INCLUDE SYGWPLI;
01 TDPROC        PTR,
01 RETCODE       FIXED BIN(31),
01 COLUMN_NUMBER FIXED BIN(31),
01 USER_DATATYPE FIXED BIN(31);
CALL TDINFUDT (TDPROC, RETCODE, COLUMN_NUMBER,
                USER_DATATYPE); 

Parameters

TDPROC

(I) Handle for this client/server connection. This must be the same value specified in the associated TDACCEPT call. The TDPROC handle corresponds to the connection and command handles in Open Client Client-Library.

RETCODE

(O) Variable where the result of function execution is returned. Its value is one of the codes listed in Table 3-21.

COLUMN_NUMBER

(I) Number of the column with the datatype that is being queried. Columns are numbered sequentially; the first column in a row is number 1.

USER_DATATYPE

(O) Variable where the user-defined datatype is returned. This can be any datatype assigned to the column by a client.

Returns

The RETCODE argument can contain any of the return values listed in Table 3-21.

Table 3-21: TDINFUDT return values

Return value

Meaning

TDS_OK (0)

Function completed successfully.

TDS_ENTRY_NOT_FOUND (-8)

The specified column number, transaction number, or parameter does not exist.

TDS_INVALID_PARAMETER (-4)

Invalid parameter value. The value assigned to one or more of the arguments supplied in the call is not valid. The operation failed.

TDS_INVALID_TDPROC (-18)

Error in specifying a value for the TDPROC argument.

Examples

Example 1

The following code fragment illustrates a typical use of TDINFUDT. This example is taken from the sample program in Appendix B, “Sample RPC Application for CICS.”

 	 /*------------------------------------------------------------------*/
	SETUP_REPLY_COLUMNS:
  	 /*------------------------------------------------------------------*/
          DB_DESCRIBE_HV_PTR    = ADDR(EMPLOYEE_FNM);
          DB_COLUMN_NAME_HV_PTR = ADDR(CN_FNM);
          WRKLEN1               = STG(EMPLOYEE_FNM)-2;
          WRKLEN2               = STG(CN_FNM);
          DB_HOST_TYPE          = TDSVARYCHAR;
          DB_CLIENT_TYPE        = TDSVARYCHAR;
          CALL DESCRIBE_COLUMN;
 
  	 /*      ------------------------------------------------------------*/
  	 /*      Here we let TDESCRIB convert from DB2 varchar (TDSVARYCHAR) */
  	 /*      to DBCHAR.                                                  */
  	 /*      ------------------------------------------------------------*/
          DB_DESCRIBE_HV_PTR    = ADDR(EMPLOYEE_LNM);
          DB_COLUMN_NAME_HV_PTR = ADDR(CN_LNM);
          WRKLEN1               = STG(EMPLOYEE_LNM)-2;
          WRKLEN2               = STG(CN_LNM);
          DB_HOST_TYPE          = TDSVARYCHAR;
          DB_CLIENT_TYPE        = TDSCHAR;
          CALL DESCRIBE_COLUMN;
 
          DB_DESCRIBE_HV_PTR    = ADDR(EMPLOYEE_ED);
          DB_COLUMN_NAME_HV_PTR = ADDR(CN_ED);
          WRKLEN1               = STG(EMPLOYEE_ED);
          WRKLEN2               = STG(CN_ED);
          DB_HOST_TYPE          = TDSINT2;
          DB_CLIENT_TYPE        = TDSINT2;
          CALL DESCRIBE_COLUMN;
 
  	 /*      ------------------------------------------------------------*/
  	 /*      Get the user defined datatype of EMPLOYEE_ED column.        */
  	 /*      ------------------------------------------------------------*/
          CALL TDINFUDT (GWL_PROC, GWL_RC,
                         CTR_COLUMN,
                         GWL_INFUDT_USER_TYPE);
 
  	 /*      ------------------------------------------------------------*/
  	 /*      Set the user defined datatype of EMPLOYEE_ED column.        */
  	 /*      ------------------------------------------------------------*/
          CALL TDSETUDT (GWL_PROC, GWL_RC,
                         CTR_COLUMN,
                         GWL_INFUDT_USER_TYPE);

Usage


TDINFUDT

Use this function to determine the datatype defined for a column by the client. When your application returns results to the client, it can specify the user-defined datatype for that column with the function TDSETUDT.

See also

Related functions