MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   itabs pasadas de moda (foro/showthread.php?t=11211)

ic_man_777 21/02/08 23:50:12

itabs pasadas de moda
 
Porqué se dice que las tablas internas con cabecera estan en desuso?:confused:

bacha 22/02/08 02:32:13

Porque creo que las "work areas" las substituyeron.... al menos eso fue lo que yo aprendi en mi academia de abap... jeje...

una work area la defines a partir de una tabla interna (por ejemplo it_tabla )

Data: wa_table LIKE LINE OF it_tabla.

con ella puedes trabajar como si fuera una cabezara.

Creo que las cabeseras estan obsoletas por las actualizaciones ya implementadas en las nuevas versiones de SAP.

Saludos.

darona 22/02/08 08:02:18

Buenas.
¿Me podéis explicar que ventajas tiene usar una work area en lugar de los datos de cabecera de una tabla interna?
Yo lo veo más incómo, ya que el uso de las work areas supone un paso adicional a la hora de leer los datos de una tabla interna (el de pasar los datos a la work area). Una vez tienes los datos en la work area la forma de trabajar es la misma que si tuviéramos los datos en la cabecera de la tabla interna, ¿no?

Saludos,
David.

crounly 22/02/08 10:20:24

Por eficiencia y rapidez.
Aunque en vez de work areas seria mejor Field symbols

Mira esta entrada de BLAG donde compara work areas y field symbols, analizando quien es mejor recorriendo en un loop una tabla interna con 50000 registros


pirri 22/02/08 15:25:15

Quería añadir un par de cosas, sobre las diferencias entre work areas, tablas internas con cabecera y field symbols.

Las work areas y las tablas internas con cabecera, necesitan que se copien los datos desde la tabla interna a ambas. Mientras que si se usa un field symbols declarado con la misma estructura de una tabla interna para recorrerla, no copiamos ninguna información, tan sólo nos desplazamos por las distintas posiciones de la tabla (un puntero). Por lo que el desplazamiento es mucho más rápido.

Pero cuando se busca que un programa sea más rápido, optimizarlo en cuanto a la velocidad, hay que estudiar donde se está perdiendo el tiempo. Usando la herramienta estándar de sap con test buenos para ello y en condiciones concretas. Lo más habitual es que el mayor tiempo se pierde en la selección de datos, mientras que el recorrido de los datos ya en una tabla interna no suponga mucho tiempo en comparación y ni lo note el usuario si lo mejoramos, aunque siempre está bien tener el mejor código que optimice los recursos en todos los puntos.

ic_man_777 22/02/08 20:34:00

entonces es por performance :)
por que si, es bastante comodo utilizar tablas internas con cabeceras.

Floren 25/02/08 16:14:42

Hola,

Otro motivo esencial, es el cambio de abap a orientación a objetos.
La idea es que cuando se declare una tabla interna, solo se reserve espacio en memoria para lo que será la tabla en sí, y no su cabecera.

Un saludo

ic_man_777 26/02/08 00:33:00

Ese si que es un buen motivo.
Orientacion a objetos, si tenia mas o menos en cuenta lo de las work areas y habia visto el ejemplo de los field symbols en el blog de blag...
eso que me dices si que es nuevo.

Salu2. y felicitaciones por tu blog.

Floren 27/02/08 11:44:43

Me alegra que te haya gustado!

Muchas gracias y un saludo


Husos Horarios son GMT. La hora en este momento es 04:47:54.

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