Sono nuovo di ABAP. Iniziato l'apprendimento delle tabelle interne. Stavo leggendo i modi per creare tabelle interne.ABAP: Sintassi per la creazione di una tabella interna dalla tabella di database esistente
mi sono imbattuto nel seguente sintassi per creare una tabella interna da una tabella di database esistente:
data: it_mara type table of mara.
Sono confuso dal momento che Mara è un tavolo e se entrambi sx e dx sono dello stesso tipo allora shouldn 't si tratti solo:
data: it_mara type mara.
Qual è la necessità di convertire mara in una tabella quando è già un tavolo?
Sì, quella sembra essere la ragione. Ho collegato un debugger al programma oggi per vedere il tipo di 'mara'. Diceva "struttura piatta" che è strano dal momento che Mara è un tavolo. Ma forse è così che funziona il runtime SAP ABAP. Sembra che consideri una tabella come una matrice di campi (struttura) quando si fa riferimento al suo nome in dichiarazioni e definizioni. Il nome quindi punta internamente alla tabella del database sottostante. Strano! –
@ The-Droidster Forse non necessariamente strano, ma in ogni caso confuso, soprattutto per un debuttante nel campo ABAP! Divertiti ad impararlo! – Jagger
@ The-Droidster Diventa ancora più divertente. Prova il seguente programma e vedi di che tipo è la variabile 'MARA'. Guarda che è definito con la parola chiave 'TABLES'. 'RAPPORTO ZZY. TAVOLI MARA. START-OF-SELEZIONE. SELEZIONA * DA MARA FINO A 10 RIGHE. WRITE/MARA-MATNR. ENDSELECT. Mostra anche come il nome 'MARA' sia sovraccaricato in questo caso. – Jagger