SAP ABAP Internal Table

SAP ABAP Internal Table
SAP ABAP internal table è un set di dati sequenziale dinamico in cui tutti i record hanno la stessa struttura e una chiave. Le tabelle interne viene utilizzato come array. È possibile leggere i singoli record della tabella interna utilizzando l’indice o la chiave utilizzando l’istruzione READ. È inoltre possibile eseguire il loop della tabella interna per leggere tutti i record uno per uno.
Il tipo di dati di una tabella interna è completamente specificato dal tipo di riga, chiave e tipo di tabella.
Esistono tre tipi di tabella interna. Sono: tabelle standard, tabelle ordinate e tabelle con hash.
La differenza tra tabelle standard, tabella ordinata e tabelle hash sono –
Tabella standard
-Ha un indice lineare interno.
-Il sistema può accedere ai record utilizzando l’indice della tabella o la chiave.
-Il tempo di risposta per l’accesso alla chiave è proporzionale al numero di voci nella tabella.
– Non è possibile specificare una chiave univoca. Ha sempre una chiave non univoca.
Tabella ordinata
-Tabella ordinata vengono sempre salvati ordinati per la chiave. Hanno anche un indice interno.
-Il sistema può accedere ai record utilizzando l’indice della tabella o la chiave.
-Il tempo di risposta per l’accesso alla chiave è logaritmicamente proporzionale al numero di voci della tabella
, poiché il sistema utilizza una ricerca binaria.
-La chiave di una tabella ordinata può essere univoca o non univoca. Quando si definisce la tabella
, è necessario specificare se la chiave deve essere UNIVOCA o NON UNIVOCA.
Tabella Hash
-Le tabelle hash non hanno indice lineare. È possibile accedere a una tabella con hash solo utilizzando la sua chiave.
– Il tempo di risposta è indipendente dal numero di voci della tabella ed è costante,
poiché il sistema accede alle voci della tabella utilizzando un algoritmo hash.
-La chiave di una tabella con hash deve essere univoca.
-Quando si definisce la tabella, è necessario specificare la chiave come UNIVOCA.
Che cosa è estratti? Come è diverso dal tavolo interno?
Gli estratti sono set di dati sequenziali dinamici in cui linee diverse possono avere strutture diverse. Ogni programma ABAP può attualmente avere un solo set di dati estratto. Non è possibile accedere ai singoli record in un estratto utilizzando chiave o indice. Invece, li elabora sempre usando un ciclo.
Come sopprimere l’assegnazione di linee nell’istruzione LOOP?
Se non si desidera trasferire il contenuto della riga della tabella interna in un’area di lavoro o non si desidera assegnarli a un simbolo di campo, è possibile utilizzare la seguente istruzione:
LOOP IN itab CHE NON TRASPORTA ALCUNA condizione DI CAMPI.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.