Code: Alles auswählen.
* es werde nur Materialenarten die in der ZLO_INTMM_MTART definiert sind gesammelt
* ( + die, die über Parameter eingeschränkt wurden)
SELECT a~matnr b~ean11 a~meins a~brgew a~ntgew a~mstae
a~gewei a~groes a~volum a~voleh c~rbtxt
d~maktx a~mtart
FROM ( mara AS a
INNER JOIN ZLO_INTMM_MTART as zlo ON a~mtart = zlo~mtart
LEFT JOIN mean AS b ON a~matnr = b~matnr
AND a~meins = b~meinh
AND b~eantp = 'Z1'
LEFT JOIN t142t AS c ON a~raube = c~raube
AND c~spras = 'DE'
LEFT JOIN makt AS d ON a~matnr = d~matnr
AND d~spras = 'DE' )
INTO CORRESPONDING FIELDS OF l_str_matItem
WHERE a~matnr BETWEEN g_from AND g_to
AND a~mstae BETWEEN g_mstae_from AND g_mstae_to.
* auslesen des Bestimmungslandes
l_str_matItem-atwrt = me->getAufmachung( l_str_matItem-matnr ).
APPEND l_str_matItem TO matliste.
CLEAR l_str_matItem.
ENDSELECT.
Auch wenn man es vielleicht vermeiden sollte: Ganz so schlimm ist das meiner Meinung nach nicht. Zumindest gibt es bei SELECTS viele andere Regeln, die es dringender zu befolgen gilt (Daten-/Treffermenge/Anzahl Zugriffe klein halten, Indizes verwenden...).ralf.wenzel hat geschrieben:2. "into corresponding fields" ist ein Laufzeitfresser, wenn schon select/endselect sein muss, dann ohne "corresponding fields", sondern darauf achten, dass die rausgesuchten Felder kompatibel und reihenfolgerichtig die Zielfelder treffen.
SAP Hilfe hat geschrieben: Die Varianten ... INTO CORRESPONDING FIELDS OF wa, ... INTO CORRESPONDING FIELDS OF TABLE itab und ... APPENDING CORRESPONDING FIELDS OF TABLE itab benötigen im Vergleich zu den entsprechenden Varianten ohne CORRESPONDING FIELDS eine etwas höhere - von der Größe der Lösungsmenge aber unabhängige - Laufzeit. Sie sollten deshalb möglichst vermieden werden.