SAP ABAP - Tabelle interne

La tabella interna è in realtà una tabella temporanea, che contiene i record di un programma ABAP che viene eseguito. Una tabella interna esiste solo durante il runtime di un programma SAP. Vengono utilizzati per elaborare grandi volumi di dati utilizzando il linguaggio ABAP. È necessario dichiarare una tabella interna in un programma ABAP quando è necessario recuperare i dati dalle tabelle del database.

I dati in una tabella interna vengono archiviati in righe e colonne. Ogni riga è chiamata aline e ogni colonna è chiamata a field. In una tabella interna, tutti i record hanno la stessa struttura e chiave. Si accede ai singoli record di una tabella interna con un indice o una chiave. Poiché la tabella interna esiste finché il programma associato non viene eseguito, i record della tabella interna vengono eliminati quando l'esecuzione del programma viene terminata. Quindi le tabelle interne possono essere utilizzate come aree di archiviazione temporanea o buffer temporanei in cui i dati possono essere modificati secondo necessità. Queste tabelle occupano la memoria solo in fase di esecuzione e non al momento della loro dichiarazione.

Le tabelle interne esistono solo quando un programma è in esecuzione, quindi quando il codice viene scritto, la tabella interna deve essere strutturata in modo tale che il programma possa utilizzarla. Scoprirai che le tabelle interne funzionano allo stesso modo delle strutture. La differenza principale è che le strutture hanno solo una riga, mentre una tabella interna può avere tante righe quante sono necessarie.

Una tabella interna può essere composta da più campi, corrispondenti alle colonne di una tabella, così come nel dizionario ABAP una tabella è stata creata utilizzando più campi. I campi chiave possono essere utilizzati anche con le tabelle interne e durante la creazione di queste tabelle interne offrono una flessibilità leggermente maggiore. Con le tabelle interne, è possibile specificare una chiave non univoca, consentendo l'archiviazione di un numero qualsiasi di record non univoci e, se necessario, l'archiviazione di record duplicati.

La dimensione di una tabella interna o il numero di righe che contiene non è fissa. La dimensione di una tabella interna cambia in base alle esigenze del programma associato alla tabella interna. Ma si consiglia di mantenere le tabelle interne più piccole possibile. Questo per evitare che il sistema funzioni lentamente mentre fatica a elaborare enormi quantità di dati.

Le tabelle interne sono utilizzate per molti scopi:

  • Possono essere utilizzati per contenere i risultati di calcoli che potrebbero essere utilizzati successivamente nel programma.

  • Una tabella interna può anche contenere record e dati in modo che sia possibile accedervi rapidamente anziché dover accedere a questi dati dalle tabelle del database.

  • Sono estremamente versatili. Possono essere definiti utilizzando un numero qualsiasi di altre strutture definite.

Esempio

Si supponga che un utente desideri creare un elenco di numeri di contatto di vari clienti da una o più tabelle di grandi dimensioni. L'utente crea prima una tabella interna, seleziona i dati rilevanti dalle tabelle dei clienti e quindi inserisce i dati nella tabella interna. Altri utenti possono accedere e utilizzare direttamente questa tabella interna per recuperare le informazioni desiderate, invece di scrivere query di database per eseguire ogni operazione durante il runtime del programma.