MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Duda itab (foro/showthread.php?t=66904)

funkeeiads 01/05/13 18:10:28

Duda itab
 
Hola muchachos..
Este es mi primer post.
he estado aprendiendo abap casi 1 mes.
pero tengo una duda que no me deja dormir, lo he buscado pero no me ha quedado claro. Espero que alguien sepa.

Que es la cabecera de una tabla interna?
como se declara?
cual es la diferencia si tiene cabecera o no ?.


Les pregunto a ustedes por que google no me dejó claro.
Un abrazo

vtsuchida 02/05/13 15:05:24

Hola,

La cabecera en una tabla es un workarea del tipo de la tabla y te sirve para hacer append, collect e insert. A su vez, te permite realizar loops.
Por ejemplo, podrías hacer lo siguiente para agregar un registro a la tabla itab:

itab-campo1 = '1'.
itab-campo2 = '2'.
itab-campo3 = '3'.
itab-campo4 = '4'.
itab-campo5 = '5'.

append itab.

Para ver registro por registro, bastaría con que loopees la tabla sin necesidad de un workarea externo:

loop at itab.

Por otro lado, si no usas cabecera, necesitarías usar un workarea para poder realizar las operaciones anteriores:

wa-campo1 = '1'.
wa-campo2 = '2'.
wa-campo3 = '3'.
wa-campo4 = '4'.
wa-campo5 = '5'.

append wa to itab.

loop at itab into wa.

La declaración es simple.

Con cabecera:
DATA: itab type table of ty_tab with header line.

Sin cabecera:
DATA: itab type table of ty_tab.

funkeeiads 03/05/13 00:01:29

duda
 
Por lo que entendí.
1) Para hacer modificaciones, insert, etc. Necesitas una tabla con cabecera?
2) entonces un tabla sin cabecera para que sirve?
3) para manipular la tabla con (insert,modify,etc) necesitas pasar los datos a una tabla con cabecera para poder manipular los datos?

Saludos.

vtsuchida 03/05/13 04:39:04

Puedes hacer las mismas operaciones para ambos tipos de tablas. Solo que, para el caso de las tablas sin cabecera, necesitas apoyarte en un workarea (append,insert,collect,modify,etc). Aunque también podrías hacer uso de un field-symbol (puntero) para mejorar la performance.

Las tablas con cabeceras tienen cierta limitancia, como por ejemplo, no son soportadas en el entorno de objetos.

Por lo general yo uso tablas sin cabeceras, un workarea si es que necesitase agregar registros y un field-symbol para loops.

funkeeiads 03/05/13 14:53:50


Que es exactamente un workarea ?
Saludos y paciencia. soy novato en esto.

vtsuchida 03/05/13 15:05:49

Es el 'wa' del ejemplo que puse. Soy paciente, pero al menos tómate la molestia de googlear un poco, pues la info que pides está en toda la red y en español.

Desmoquattro 05/05/13 00:38:39


También se le llama "estructura", es una lista de campos a nivel plano. La tabla interna sería un conjunto de lineas.


Husos Horarios son GMT. La hora en este momento es 06:53:44.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web