Un Usuario hizo la siguiente pregunta
cómo usar esta declaración descriptiva. ¿Alguien puede explicarme por favor?
11 respuestas
Ex miembro
Rajeev,
DESCRIBE se usa para encontrar el número de líneas llenas de una tabla interna.
Ej: DETALLES: N TIPO I,
TABLA TIPO ITAB I.
…
CLARO ITAB.
APÉNDICE 36 PARA ITAB.
LAS LÍNEAS DE ITAB DESCRIBEN LA TABLA N.
El resultado se almacena en N.
consulte la documentación de ABAP para obtener más ayuda.
Ex miembro
Hola rajeev,
1. simple.
2. busque el recuento más grande en la tabla interna,
3. solo copia y pega
INFORME abc.
detalles: t001 como la tabla t001 con línea de encabezado.
seleccione * de t001 en la tabla t001.
describa la tabla t001.
escribir: / ‘Número de registros’, sy-tfill.
Sobre,
amit m.
Ex miembro
Hola rajeev,
úsalo así …
data : len type i data a(10) type c. data type(1). DESCRIBE FIELD a LENGTH len type typ.
ahora el len tendrá una longitud de 10 y se escribirá el tipo ‘c’.
solo el uso básico
Hay muchas otras opciones adicionales para esta declaración.
Sobre
satesh
Ex miembro
Hola Rajeev, escribe Describe y presiona F1 en el editor ABAP … encontrarás las diversas funcionalidades para describir.
Este es uno de ellos
DESCRIBE – Devolver tabla interna
Forma básica
TABLA DESCRIBE itab.
Efecto
Devuelve los atributos de la tabla interna. Debe utilizar al menos una de las adiciones que se enumeran a continuación:
Nota
La instrucción DESCRIBE no se puede utilizar para todos los tipos de ABAP. Para los objetos ABAP, SAP ha introducido el concepto RTTI basado en clasificaciones del sistema para determinar los atributos de tipo en tiempo de ejecución. Este concepto se aplica a todos los tipos de ABAP y, por lo tanto, cubre todas las funciones de la instrucción DESCRIBE TABLE.
Complementos:
1. … LÍNEAS n
2. … OCURRE n
3. … TIPO k
Adición 1
… LÍNEAS n
Efecto
Ponga el número de líneas llenas de la tabla t en el forro de campo. El valor devuelto en línea es de tipo I.
Nota
El número de líneas rellenas de la tabla itab también se puede encontrar utilizando las líneas funcionales predefinidas (itab).
Ejemplo
DETALLES: N TIPO I,
TABLA TIPO ITAB I.
…
CLARO ITAB.
APÉNDICE 36 PARA ITAB.
LAS LÍNEAS DE ITAB DESCRIBEN LA TABLA N.
Resultado: el valor es 1 en N.
Adición 2
… OCURRE n
Efecto
El tamaño del parámetro OCCURS pasa de la definición de la tabla (definida por DATA) a la variable n. El valor devuelto an es de tipo I.
Ejemplo
DETALLES: N1 TIPO I,
N2 TIPO I,
ITAB1 TIPO TABLA I EXPLICACIÓN 10,
ITAB2 TIPO I OCURRE 5.
TABLA DESCRIBE ITAB1 OCURRE N1.
TABLA DESCRIBE ITAB2 OCURRE N2.
Resultado: el valor de 10 en OCC es el valor de 10 y N2.
Adición 3
… TIPO k
Efecto
El tipo de tabla escribe desde el itab a las variables n. El valor devuelto para k es de tipo C. Las constantes SYDES_KIND-STANDARD, SYDES_KIND-SORTED y SYDES_KIND-HASHED se definen en el grupo de tipos SYDES para los valores de salida.
Ejemplo
FORMA Genérica Normal cualquier tipo de tabla
TIPO-PISCINAS: SYDES.
…
FORMULARIO_GÉRICO USANDO CUALQUIER TIPO DE TABLA ITAB.
DETALLES: K TIPO C.
ITAB DESCRIBE TABLA TIPO K.
CASO K.
CUANDO SYDES_KIND-QUALITY.
…
NUAIR SYDES_KIND-SORTED.
…
NUAIR SYDES_KIND-HASHED.
…
ENDCASE.
ENDFORM.
Notas
Rendimiento: el tiempo actual para ejecutar la instrucción DESCRIBE TABLE es de aproximadamente 4 msn (micropoderes estandarizados).
La instrucción DESCRIBE TABLE también captura valores en los campos del sistema SY-TFILL y SY-TLENG
Ayuda extra
Determinación de los atributos internos de los atributos
Ex miembro
Hola Rajeev,
Simplemente consulte este enlace a la Ayuda de SAP, que le brinda los diversos usos de la declaración DESCRIBE.
http://help.sap.com/saphelp_nw04/helpdata/en/fc/eb3145358411d1829f0000e829fbfe/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/fc/eb3798358411d1829f0000e829fbfe/content.htm
Espero que esto ayude.
Sobre,
SP.
Ex miembro
Hola rajeev
Este estatuto se utiliza para obtener atributos de tabla internos en tiempo de ejecución que no estaban disponibles estáticamente.
La sintaxis es
DESCRIBA LA TABLA
[LINES <l>] [OCCURS <n>] [KIND <k>]. Da
el número de registros en el itab Tamaño del frente de la mesa y dar tipo itab, es decir, tabla hash estándar (T), ordenada (S) y (H) Gracias
Ex miembro
Hai
Pruébelo con este documento
Devolver atributos de campo
– RÉIMSE DESCRIBE f.
Devolver atributos de tabla internos
– TABLA DESCRIBE itab.
Encuentra la distancia entre dos campos
EXPLICACIÓN DE LA DESCRIPCIÓN ENTRE f1 Y f2 EN f3.
Restaurar atributos de lista
DESCRIBA EL NÚMERO DE LÍNEAS DE LÍNEAS.
– LISTA DESCRIBE NÚMERO DE PÁGINAS n.
– LIST LIST DESCRIBE lin PAGE pag.
– DESCRIBIR LA PÁGINA DE LA LISTA p.
Describe las líneas de la tabla itab v_lines.
Si es inicial.
?????.>
Terminara si.
tablas: marina.
datos: itab aparece como 0 con una línea de encabezado.
detalles: v_lines tipo i.
parámetros: p_mtart como mara-mtart.
seleccionar * de marine en la tabla itab
place mtart = p_mtart.
describir itab líneas tabla v_lines.
que no[] parte delantera.
escribir: / v_lines.
terminara si.
Gracias y Saludos
Sreenivasulu P.
Ex miembro
hola rajeev,
mira esto te dará una idea.
esto es algo que solo he desarrollado
& —-
* & Informar ZAS_HOLLYWOOD
* Y
Y
boleto a hollywood —-
descripción
* y el uso de DESCRIBE se muestra a continuación
* & Autor del don
& —-
INFORME ZAS_HOLLYWOOD.
data tabla marina tipo itab con línea de encabezados.
detalles: lv_lines tipo i.
Parámetro s_matnr similar a mara-matnr.
seleccione * de marine en los campos correspondientes de la tabla itab
donde matnr = s_matnr.
describir la tabla de líneas itab lv_lines.
bucle en itab.
escribir: / itab-matnr, lv_lines, itab-ernam.
endloop.
recompensa si es útil
Ex miembro
hola rajeev,
mira esto te dará una idea.
esto es algo que solo he desarrollado
& —-
* & Informar ZAS_HOLLYWOOD
* Y
Y
boleto a hollywood —-
descripción
* y el uso de DESCRIBE se muestra a continuación
* & Autor del don
& —-
INFORME ZAS_HOLLYWOOD.
data tabla marina tipo itab con línea de encabezados.
detalles: lv_lines tipo i.
Parámetro s_matnr similar a mara-matnr.
seleccione * de marine en los campos correspondientes de la tabla itab
donde matnr = s_matnr.
describir la tabla de líneas itab lv_lines.
bucle en itab.
escribir: / itab-matnr, lv_lines, itab-ernam.
endloop.
recompensa si es útil
anuj
Hola rajeev dv,
las clases OO son mucho más poderosas
cl_abap_structdescr
cl_abap_elemdescr
con métodos como -> get_ddic_field_list o -> get_components o => description_by_data_ref, solo por nombrar algunos.
SAP usa estas clases para construir automáticamente el catálogo de campo en un modelo de objeto ALV; compare la clase CL_SALV_COLUMNS.
Puede obtener la misma información que una declaración DESCRIBE, pero la mayoría son mucho más fáciles. Porque mucha información se puede obtener con DESRIBE … IN solo itab y esto es muy difícil de interpretar.
Sobre,
Clemens
Sobre