Code: Alles auswählen.
LOOP AT it_itab ASSIGNING <fs_struc>.
ENDLOOP.
READ TABLE it_itab ASSIGNING <fs_struc>
WITH KEY matnr = lv_field.
Code: Alles auswählen.
LOOP AT it_itab INTO ls_struc.
ENDLOOP.
READ TABLE it_itab INTO ls_struc
WITH KEY matnr = lv_field.
Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
KleinerEisbaer
Here, LOOP AT ... ASSIGNING is very likely to be faster than LOOP AT ... INTO LS_STRUC.
Deactivatable using pragma ##INTO_OK. Message Code UNR 0261
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
KleinerEisbaer
Für diesen ganz speziellen Fall kann ich eigentlich nur Eclipse empfehlen - irgendwo da gibt's einen Menüpunkt "unbenötigte Variablen entfernen"DeathAndPain hat geschrieben: aber allein schon die ganzen Felder, die man definiert, am Ende aber gar nicht verwendet hat und die man daher aus dem Code streichen kann, wodurch dieser kürzer und übersichtlicher wird, sind es schon wert. Und wer jetzt sagt, dass ihm das kaum passiert mit solchen Feldern - ja, davon bin ich auch immer überzeugt, und wenn die Prüfung dann rübergelaufen ist, dann mache ich große Augen...
Und SAP erweitert die Prüfungen von Zeit zu Zeit, und es ist fast immer möglich das Coding (evtl. mit den angebotenen Pragmas ) auf 0 Fehler in der SLIN zu bringen. Selbst wenn man einige Prüfungen für unwichtig hält - manchmal sind es ganz kuriose Meldungen, wo man sich fragt:"Höh???"DeathAndPain hat geschrieben:Die erweiterte Programmprüfung (bzw. der Code Inspector; ich verwechsele die beiden immer) sind sowieso sehr nützliche Tools, die man über das fertige Programm mal rüberrattern lassen sollte. Viele Meldungen sind zwar unwichtig,...
Du hast recht, der Punkt ist da, aber da hätte ich Hemmungen, den einzusetzen, weil er kommentarlos durchrattert und man hinterher nicht weiß, was er gemacht hat. Und es gibt ja nun mal auch indirekte Verwendungen von Variablen. Da kann man sich ganz schnell automatisiert das Programm zerschießen lassen. Im allgemeinen wird man zwar wissen, ob man indirekte Aufrufe drin hat, aber da vergisst man leicht mal irgendwas und hat dann nachher die seltsamsten Programmeffekte. Da ist mir eine Programmprüfung, die mir die Stellen zeigt und mich bewusst entscheiden lässt, was davon weg kann, bedeutend lieber. Das Programm zu schreiben hat 5 Stunden gekostet. Die 5 Minuten, die unbenutzten Felder durchzusehen, habe ich dann auch noch.Für diesen ganz speziellen Fall kann ich eigentlich nur Eclipse empfehlen - irgendwo da gibt's einen Menüpunkt "unbenötigte Variablen entfernen"
Wenn das möglich wäre, würde ich es anstreben, aber leider gibt es viele Meldungen, die "durch ein Pragma nicht ausblendbar" sind, weil die SAP oberlehrerhaft entschieden hat, dass dem Anwender nicht die Möglichkeit gegeben werden darf, sich davon nicht nerven zu lassen. Und wenn ich eh nicht auf Null kommen kann, dann fange ich gar nicht erst mit den Pragmas an, sondern prüfe halt einmal das fertig entwickelte Programm und schaue durch, welche Meldungen Quatsch sind und welche nicht. Besonders nervig ist das deswegen, weil Eclipse diese Warnungen auch immer ungefragt hochpoppen lässt und man das nicht verhindern kann (wohingegen Eclipse ausblendbare Warnungen von sich aus erst mal nicht bringt, auch wenn man sie nicht ausgeblendet hat).Und SAP erweitert die Prüfungen von Zeit zu Zeit, und es ist fast immer möglich das Coding (evtl. mit den angebotenen Pragmas ) auf 0 Fehler in der SLIN zu bringen.
Grundsätzlich gebe ich Dir da recht. Interessant sind die Meldungen allemal. Aber viele haben auch einen hohen Nerv-Faktor - etwa wenn er bei jedem einzelnen SELECT SINGLE anmeckert, dass Du schon wieder nicht den vollständigen Primärschlüssel angegeben hast (obwohl Du genau weißt, dass Du a) nur eine Zeile bekommen kannst oder b) Dir eine der möglichen Zeilen langt, egal welche Du kriegst). Das kommt bei mir eigentlich auch nicht vor, dass ich unbewusst "vergesse", ein bedeutsames Feld des Primärschlüssels mitzuprüfen. Von daher hat diese Meldung nie eine Bedeutung für mich.Selbst wenn man einige Prüfungen für unwichtig hält - manchmal sind es ganz kuriose Meldungen, wo man sich fragt:"Höh???"
Und wenn man dann die Erklärung von SAP liest überlegt man sich evtl. den eigenen Programmierstil ein wenig zu überarbeiten.
Was fällt dir denn aktuell ein, was nicht in der SLIN auspragmatisierbar wäre und was du auch bewusst nicht ändern willst? Zwei bis drei hinreichend unterschiedliche Beispiel hätte ich gern mal.DeathAndPain hat geschrieben:Wenn das möglich wäre, würde ich es anstreben, aber leider gibt es viele Meldungen, die "durch ein Pragma nicht ausblendbar" sind, weil die SAP oberlehrerhaft entschieden hat, dass dem Anwender nicht die Möglichkeit gegeben werden darf, sich davon nicht nerven zu lassen.Und SAP erweitert die Prüfungen von Zeit zu Zeit, und es ist fast immer möglich das Coding (evtl. mit den angebotenen Pragmas ) auf 0 Fehler in der SLIN zu bringen.
Du schreibst, dass du die Zeit hast 5 Minuten für das Ausdünnen von nicht mehr verwendeten Variablen aufzubringen - mit dem selben Argument könntest du auch das zugehörige Pragma bei denjenigen Select-Singles reinwerfen, wo du es für nötig hältst. Und das "0-Fehler-Prinzip" sorgt halt auch dafür, dass nicht nur DU weißt, dass dort ein Partialschlüssel ausreichend ist, sondern falls das mal von jemand anderem gewartet/debuggt werden muss und er ein Pragma sieht kann er das als mögliche Fehlerquelle schon mal in der Prioritätsliste nach unten schieben.DeathAndPain hat geschrieben:[...] Aber viele haben auch einen hohen Nerv-Faktor - etwa wenn er bei jedem einzelnen SELECT SINGLE anmeckert, dass Du schon wieder nicht den vollständigen Primärschlüssel angegeben hast (obwohl Du genau weißt, dass Du a) nur eine Zeile bekommen kannst oder b) Dir eine der möglichen Zeilen langt, egal welche Du kriegst). Das kommt bei mir eigentlich auch nicht vor, dass ich unbewusst "vergesse", ein bedeutsames Feld des Primärschlüssels mitzuprüfen. Von daher hat diese Meldung nie eine Bedeutung für mich.