Alle Deklarationen in FORM Routinen ermitteln

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
34 Beiträge • Vorherige Seite 3 von 3 (current)
34 Beiträge Vorherige Seite 3 von 3 (current)

Re: Alle Deklarationen in FORM Routinen ermitteln

Beitrag von DeathAndPain (Top Expert / 1795 / 213 / 396 ) »
Mach mal ein "clear PB0001" und du weißt, warum der vor Verschattung warnt.
Da passiert überhaupt nichts, außer dass meine Variable erwartungsgemäß initialisiert wird.

Was hast Du erwartet, dass er die gleichnamige Datenbanktabelle leert?!? CLEAR kann überhaupt nur interne Felder leeren, und da gibt es nur eins, nämlich das, das ich per DATA definiert habe.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Alle Deklarationen in FORM Routinen ermitteln

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Nur um deinen Fall zu verstehen: Du hast KEINE lokal deklarierte Tabelle gleichen Namens? Du selektierst also nur einen Satz?


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Alle Deklarationen in FORM Routinen ermitteln

Beitrag von Legxis (Specialist / 160 / 90 / 28 ) »
ralf.wenzel hat geschrieben:
09.10.2019 14:23
DeathAndPain hat geschrieben:
09.10.2019 12:38
"Der Arbeitsbereich "PB0001" wird durch ein gleichnamiges lokales Datenobjekt (Parameter,Variable) verschattet."

PB0001 ist eine Tabelle, von der ich eine Zeile lese. Der Einfachheit halber mache ich das mit klassicher Syntax ohne INTO, also mit namensgleicher Variable (aber per DATA, nicht per TABLES deklariert). Daraufhin bekomme ich obenstehende nervige Warnung, die noch nicht mal inhaltlich stimmt, denn es gibt zu der Tabelle keinen TABLES-Befehl und keine globale Variable dieses Namens, sondern lediglich diese lokale Variable, die halt den Namen der Datenbanktabelle trägt (was in ABAP nicht verboten ist), so dass hier überhaupt nichts verschattet wird. Ein Pragma, um das zumindest auszublenden, gibt es auch nicht.
Nur um deinen Fall zu verstehen: Du hast KEINE lokal deklarierte Tabelle gleichen Namens? Du selektierst also nur einen Satz?
Er meint das sicherlich so, die Warnung wird angezeigt, obwohl es nur eine lokale Variable gibt.

Code: Alles auswählen.

PERFORM test.

******************************

FORM test.

  DATA pb0001 TYPE pb0001.

  SELECT SINGLE * FROM pb0001.

ENDFORM.
( SAP ECC 6.0, NetWeaver 7.0, ohne unicode, ohne support/enhancement packages )

Re: Alle Deklarationen in FORM Routinen ermitteln

Beitrag von DeathAndPain (Top Expert / 1795 / 213 / 396 ) »
Ganz genau. Eine interne Tabelle, die genauso heißt wie die Datenbanktabelle, habe ich nicht angelegt. Das wäre sehr irreführend und verwirrend. Ich habe einfach nur wie in Lexgis' Codebeispiel zu sehen per DATA eine Workarea-Variable für den SELECT angelegt, die genauso heißt wie die Tabelle, so dass ich mir beim SELECT den INTO sparen kann.

Wahrscheinlich könnte ich die Meldung wegkriegen, indem ich TABLES anstelle von DATA verwende, aber der TABLES-Befehl beinhaltet noch mehr, was ich hier explizit nicht brauche, und die Warnung ist sachlich falsch.

Vergleichbare Themen

0
Antw.
1761
Views
Hilfsmittel zum Sortieren von Form-Routinen
von cosmo » 12.10.2004 11:53 • Verfasst in Tips + Tricks & FAQs
2
Antw.
1408
Views
Aufrufer (FORM) ermitteln
von RiffRaff » 13.06.2005 15:53 • Verfasst in ABAP® Core
0
Antw.
1475
Views
BW Routinen Bezeichung - Tabelle
von CryptForce » 15.05.2017 09:38 • Verfasst in Sonstige Module
17
Antw.
4776
Views
Grundsatzfrage: Deklarationen
von ralf.wenzel » 12.12.2013 21:51 • Verfasst in ABAP® Core
4
Antw.
2311
Views
Textsymbole in Deklarationen
von SteJu » 02.06.2008 09:02 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 107
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 140