PDA

Ver la Versión Completa : Averiguar el tipo de dato


crisgil79
25/09/08, 16:52:32
Hola a todos,

estoy implementando un programa que se conecta a una table de base de datos ORACLE. En ese programa tengo varios valores guardados en una estructura (en sus campos correspondientes, se entiende) y esos los tengo que insertar en la tabla de ORACLE. Para la gestión de errores me piden que compruebe si el tipo de dato de los valores que contienen los campos de la estructura es igual que el tipo de dato del campo de la tabla.

Alguien sabe alguna manera para a partir de un valor determinado saber su tipo de dato? Por ejemplo si tengo el valor 22, éste podria ser un int1 o un char2, a ver si es posible poder averiguar a que tipo de datos corresponde.

Muchas gracias por adelantado.

Cris.

XtiaN
25/09/08, 17:31:07
Hola,
De verdad no creo que exista algo asi como un funcion que arroje el tipo de dato (quizas este equivocado) ya que, como explicas en tu ejemplo, si tienes el valor de 22 puede ser un int o un char(2), no se si SAP tenga una solucion para este tipo de ambiguedades.

En todo caso si tienes los datos almacenados en una estructura y deseas saber que tipo de dato es uno de ellos, pues simplemente visualiza el tipo de dato del campo de la estructura en la cual esta almacenado tu dato....

Saludos,
Christian.

Mike
25/09/08, 17:46:58
Con la clase CL_ABAP_TYPEDESCR puedes conseguir el tipo de dato en ejecucion.

Saludos,
Mike

DavidXD_XD
25/09/08, 19:03:12
Hola .. prueba este ejemplo:

DATA: dataType TYPE REF TO cl_abap_datadescr,
field(5) TYPE C.

dataType ?= cl_abap_typedescr=>describe_by_data( field ).

crisgil79
26/09/08, 07:04:26
Muchas gracias,

he probado con la clase que me habeis indicado y funciona perfectamente.

Era lo que necesitaba, muchas gracias.

Un saludo,

Cris.