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 / 1972 / 264 / 418 ) »
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 / 3955 / 202 / 281 ) »
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
Neuer Artikel über BRF+ in der neuen iX 05/25!

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 / 1972 / 264 / 418 ) »
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.
1661
Views
BW Routinen Bezeichung - Tabelle
von CryptForce » 15.05.2017 09:38 • Verfasst in Sonstige Module
4
Antw.
2687
Views
Textsymbole in Deklarationen
von SteJu » 02.06.2008 09:02 • Verfasst in ABAP® für Anfänger
17
Antw.
5235
Views
Grundsatzfrage: Deklarationen
von ralf.wenzel » 12.12.2013 21:51 • Verfasst in ABAP® Core
68
Antw.
17239
Views
Deklarationen: Tabellarisch oder nicht?
von ralf.wenzel » 28.03.2017 10:34 • Verfasst in ABAP® Core
0
Antw.
2629
Views
Bilanzdaten ermitteln Bilanzpositionen ermitteln
von Blueshape » 20.01.2006 09:12 • Verfasst in ABAP® Core

Ü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

IBAN und BUT0BK
Gestern von GastX gelöst 4 / 1331
Gewährleistungsende im Equipment
vor 2 Tagen von Yourairld gelöst 8 / 23624
IF mit AND und OR
vor einer Woche von GastX 6 / 11756
Meine Inbox
vor einer Woche von Rabea1103 1 / 9261

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

IBAN und BUT0BK
Gestern von GastX gelöst 4 / 1331
Gewährleistungsende im Equipment
vor 2 Tagen von Yourairld gelöst 8 / 23624
IF mit AND und OR
vor einer Woche von GastX 6 / 11756
Meine Inbox
vor einer Woche von Rabea1103 1 / 9261