Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
311Activity
0 of .
Results for:
No results containing your search query
P. 1
SAP: Tablas Internas en ABAP

SAP: Tablas Internas en ABAP

Ratings:

5.0

(1)
|Views: 51,126|Likes:
Published by Alejandro Torrijos
Manual sobre el uso de las tablas internas en ABAP.
Manual sobre el uso de las tablas internas en ABAP.

More info:

Published by: Alejandro Torrijos on Feb 15, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

08/20/2013

pdf

text

original

 
Tablas internas
Alejandro Torrijos Página 1
TABLAS INTERNAS
Introducción:
Hay dos maneras de procesar datos en ABAP, tablas internas o unextracto de datos. Todas las entradas de una tabla interna deben tenerla misma estructura. Podemos acceder a una línea mediante una clave.En ABAP las tablas internas hacen la función de los
arrays
en otroslenguajes de programación. El uso más frecuente de una tabla internaes almacenar en memoria los datos de una tabla de una base de datosdurante la ejecución de un programa ABAP.Por lo tanto, las tablas internas son memoria dinámica, es decir, secrean en tiempo de ejecución del programa en la parte de memoria RAMasignada para este propósito (HEAP), y desaparecen una vez que se haejecutado el bloque o programa para el que se habían creado.Una tabla almacena un determinado número de líneas o registros deltipo declarado en TYPES. El tamaño máximo de una tabla interna en unaarquitectura de 32 bits es de 500 megabytes (o 2 millones de líneaspara tablas
hashed 
).
 
Tablas internas
Alejandro Torrijos Página 2
Las tablas planas (
flat structures
) son estructuras complejascompuestas por elementos más simples o campos (por ejemplovariables de tipo i, p, c, o d).Una tabla profunda (
deep
) puede incluir a su vez estructuras complejasde forma recursiva, por ejemplo otras tablas.
Tipo de línea de una tabla interna:
Suele ser normalmente una
estructura
, aunque podría ser cualquiertipo. Cada componente de la estructura es una columna de la tablainterna. El tipo puede ser elemental (c, d, f, i, n, p, t, x) o complejo(incluso otra tabla).
La clave:
La clave identifica cada entrada de una tabla. Hay dos tipos de claves:clave estándar y la clave definida por el usuario. El programador puededecidir si la clave es única (UNIQUE) o no (NON-UNIQUE). Si la clave esúnica no puede haber entradas duplicadas. La clave de las tablasestándar NO puede ser única. La clave de las tablas
hashed 
 
siempre
esúnica.En todas las tablas con un tipo de línea estructurada, la clave estándarla forman
todas
las columnas (excepto si son punteros o tablasinternas). Los campos claves podrían incluso ser estructuras anidadas.Por defecto una línea con estructuras anidadas tiene una clave que vaextendiéndose componente a componente dentro del anidamiento.Si la tabla tiene una línea estructurada, la clave por defecto son todoslos campos de tipo carácter (c, d, t, n, x, string, xstring).Si la tabla interna tiene como tipo de línea una tabla interna NO tieneclave por defecto.Si la tabla tiene un tipo de línea no estructurada, la clave estándar estoda la fila.Para declarar una clave por defecto usamos la instrucciónUNIQUE/NON-UNIQUE DEFAULT KEY.Una clave definida por el usuario puede contener cualquier columna queno contenga una tabla interna.
 
Tablas internas
Alejandro Torrijos Página 3
No es obligatorio declarar una clave. En este caso el sistema seleccionauna clave arbitrariamente. Esto sólo es válido para
field symbols
y parapasar la tabla como un parámetro a procedimientos.Se puede definir un puntero como clave interna.La secuencia de los campos es importante a la hora de definir la clave,por ejemplo cuando intentamos ordenar una tabla de por su clave.
Tablas internas genéricas:
No es necesario declarar completamente el tipo de una tabla interna.Una tabla interna se puede declarar como una tabla genérica. Porejemplo podemos NO especificar la clave, o el tipo de línea.Podemos usar tablas internas genéricas para declarar el tipo de un
field symbol 
, o los parámetros de un procedimiento, pero NO para declararun objeto (
data object 
).
Tipos de tablas internas según el tipo de acceso:
 
Acceso a través de un índice:
o
 
El índice se guarda en la variable de sistema
sy-tabix 
.
o
 
Este es el modo más rápido de acceder a un registro perosólo podemos usarlo si conocemos el índice de undeterminado registro en la tabla.
o
 
No todas las tablas tienen asignado un índice interno (porejemplo las tablas
hashed 
)
 
Acceso a través de una clave:
o
 
La clave puede ser única o múltiple.
o
 
Este es el modo universal en que podemos acceder a unregistro determinado de cualquier tipo de tabla.
Tipos de tablas según la ordenación:
 
Tablas estándar (
Standard table
):
o
 
Este es el tipo de tabla que se crea por defecto si no seindica otra cosa en el programa.
o
 
Las líneas de este tipo de tabla están organizadas según uníndice interno.
o
 
Para buscar un registro determinado podemos hacerlo por elíndice o por la clave. En este último caso el sistema comparauno a uno
todos
los registros de la tabla hasta encontrar elo los que buscamos (búsqueda lineal).

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->