Pragmas - wohin damit?

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
11 Beiträge • Seite 1 von 1
11 Beiträge Seite 1 von 1

Pragmas - wohin damit?

Beitrag von ralf.wenzel (Top Expert / 3924 / 200 / 280 ) »

Code: Alles auswählen.

data: ##NEEDED
  salv         type ref to cl_salv_table,  ##NEEDED
  create_order type ref to lcl_create_order, ##NEEDED
  get_so       type abap_bool, ##NEEDED
  get_sp       type abap_bool. ##NEEDED
Ergibt 5x die Meldung, dass das Pragma da nicht stehen darf. Ich finde keinen Weg, diese Meldung wegzumachen UND die Meldung, dass ich das global nicht definieren darf, nicht erscheinen zu lassen.

Wer kann mir syntaxtechnisch Nachhilfe geben?
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

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


Re: Pragmas - wohin damit?

Beitrag von zzcpak (Expert / 673 / 5 / 68 ) »
hi Ralf,

pragmas stehen meines Wissens IM Quelltext, also z.B.

Code: Alles auswählen.

data: variable type i ##NEEDED.
Setz die Dinger doch mal VOR das Komma bzw. Doppelpunkt, wobei ... nach DATA: muss ja eigentlich keins stehen.

Re: Pragmas - wohin damit?

Beitrag von ralf.wenzel (Top Expert / 3924 / 200 / 280 ) »
Doch, wenn es ein globales Feld ist. Aber keines der von mir zitierten Pragmas führt zum Unterdrücken der SLIN-Meldung.
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Pragmas - wohin damit?

Beitrag von black_adept (Top Expert / 4089 / 127 / 940 ) »
Probier mal die Schreibweise ohne Doppelpunkt und das Pragma hinter den abschließenden Punkt und alles was zu DATA gehört auf eine Zeile.

Etwa

Code: Alles auswählen.

data  salv         type ref to cl_salv_table.    ##NEEDED
data  create_order type ref to lcl_create_order. ##NEEDED
data  get_so       type        abap_bool.        ##NEEDED
data  get_sp       type        abap_bool.        ##NEEDED

P.S. Gabs nicht auch eine Pseudobefehl, der den SLIN für einen Bereich ausschaltet.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Pragmas - wohin damit?

Beitrag von ralf.wenzel (Top Expert / 3924 / 200 / 280 ) »
Ach du lieber Himmel. Ich schreibe IMMER die Anweisungen mit Doppelpunkt, wenn ich sie mehrfach brauche. Das macht (in meinen Augen) den Code deutlich lesbarer.

Ich finde es grausig, wie das Coding in globalen Klassen aussieht. Da kann man sich nen Wolf formatieren, das SAP baut den immer zurück.

Inzwischen habe ich den globalen Kram aber verbannt ;)
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Pragmas - wohin damit?

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
ralf.wenzel hat geschrieben:

Code: Alles auswählen.

data: ##NEEDED
  salv         type ref to cl_salv_table,  ##NEEDED
  create_order type ref to lcl_create_order, ##NEEDED
  get_so       type abap_bool, ##NEEDED
  get_sp       type abap_bool. ##NEEDED
##NEEDED hinter 'Data:' kenne ich ueberhaupt nicht!
Ansonsten muss ein " vor jedem ##NEEDED.

Code: Alles auswählen.

data: 
  salv         type ref to cl_salv_table,  "##NEEDED
  create_order type ref to lcl_create_order, "##NEEDED
  get_so       type abap_bool, "##NEEDED
  get_sp       type abap_bool. "##NEEDED


Vor den Pragmas gab es: SET EXTENDED CHECK ON|OFF was nun durch die Pragmas obsolet ist.

Gibt es bei Euch keine Programmierrichtlinien? Die Beschreibung der Referenzen und Flags finde ich fragwuerdig.

Re: Pragmas - wohin damit?

Beitrag von ralf.wenzel (Top Expert / 3924 / 200 / 280 ) »
Unit605 hat geschrieben:##NEEDED hinter 'Data:' kenne ich ueberhaupt nicht!
Ansonsten muss ein " vor jedem ##NEEDED.
Dann ist es kein Pragma, sondern ein Vorläufer davon ;)
Unit605 hat geschrieben:Gibt es bei Euch keine Programmierrichtlinien? Die Beschreibung der Referenzen und Flags finde ich fragwuerdig.
1. Es ist mein eigenes Programm
2. Was ist daran so fragwürdig?
3. Nein, gibt es nicht
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Pragmas - wohin damit?

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
ralf.wenzel hat geschrieben:
Unit605 hat geschrieben:##NEEDED hinter 'Data:' kenne ich ueberhaupt nicht!
Ansonsten muss ein " vor jedem ##NEEDED.
Dann ist es kein Pragma, sondern ein Vorläufer davon ;)
Es funktioniert aber bei mir genaus so mit den "##NEEDED.

Dein erwaehnter Vorlaeufer lautet: "EC NEEDED


Unit605 hat geschrieben:Gibt es bei Euch keine Programmierrichtlinien? Die Beschreibung der Referenzen und Flags finde ich fragwuerdig.
1. Es ist mein eigenes Programm
2. Was ist daran so fragwürdig?
3. Nein, gibt es nicht[/quote]

1. Jedes Programm ist jemandes eigenes Programm. Verstehe die Antwort nicht.
2. Schade, dass Du es nicht selber erkennst.
3. Auch hier schade, aber ich als Programmierer habe auch meine eigenen Programmierrichtlinien, die sich weitgehend mit denen der meisten Firmen deckt. Also keine Umstellung meines Programmierverhalten notwendig.

Re: Pragmas - wohin damit?

Beitrag von ralf.wenzel (Top Expert / 3924 / 200 / 280 ) »
Unit605 hat geschrieben:1. Jedes Programm ist jemandes eigenes Programm. Verstehe die Antwort nicht.
2. Schade, dass Du es nicht selber erkennst.
3. Auch hier schade, aber ich als Programmierer habe auch meine eigenen Programmierrichtlinien, die sich weitgehend mit denen der meisten Firmen deckt. Also keine Umstellung meines Programmierverhalten notwendig.
"Mein Programm" meint: Das habe ich für mich geschrieben, nicht für wen anderen. Warum sagst du nicht, was daran merkwürdig ist, ich bin sicher, dass ich es dir erkären kann ;)

Meine eigenen Programmierrichtlinien habe ich nur insofern, als dass ich den Kopf beim Programmieren einschalte. Ich schlage die Hände über dem Kopf zusammen, wenn ich sehe, dass Unternehmen seitenlange Dokumente schreiben, dass Tabellen "gt_..." oder "lt_..." zu heißen haben (die SAP rät von solchen Präfixen ab, weil sie nicht wirklich einen Inhalt transportieren), aber einen gescheiten Testprozess schreiben sie da nicht rein.

Dann führt das dazu, dass es heißt "Ihre Tabellen haben die falschen Namen", aber gleichzeitig sagen "Unit Tests? Testklassen? Dafür haben wir kein Budget!".

Also, was stört dich?
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Pragmas - wohin damit?

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Pragmas wohin damit:

vor dem Komma bzw. Punkt.

Code: Alles auswählen.

data:
  salv         type ref to cl_salv_table  ##NEEDED,
  create_order type ref to lcl_create_order  ##NEEDED,
  get_so       type abap_bool ##NEEDED,
  get_sp       type abap_bool ##NEEDED.
Programmierrichtlinien: Ich vergass, Du bist ja derjenige, der jedem Kunden vorschreibt, wie man zu programmieren hat.


Warum nennst Du Deine Daten nicht so:

Code: Alles auswählen.

data:
  Feld1        type ref to cl_salv_table  ##NEEDED,
  Feld2        type ref to lcl_create_order ##NEEDED,
  Feld3        type abap_bool ##NEEDED,
  Feld4        type abap_bool ##NEEDED.

Re: Pragmas - wohin damit?

Beitrag von ralf.wenzel (Top Expert / 3924 / 200 / 280 ) »
Unit605 hat geschrieben:Programmierrichtlinien: Ich vergass, Du bist ja derjenige, der jedem Kunden vorschreibt, wie man zu programmieren hat.

Nein, ich werde aber nicht fürs Programmeintippen bezahlt, sondern auch dafür, dass ich die Prozesse beim Kunden verbessere. Für einen Programmeintipper bin ich deutlich zu teuer.
Unit605 hat geschrieben: Warum nennst Du Deine Daten nicht so:

Code: Alles auswählen.

data:
  Feld1        type ref to cl_salv_table  ##NEEDED,
  Feld2        type ref to lcl_create_order ##NEEDED,
  Feld3        type abap_bool ##NEEDED,
  Feld4        type abap_bool ##NEEDED.
Weil sie dann keine Aussage haben. Ich erkäre es dir: In DIESEM Programm gibt es genau einen einzigen ALV, darum heißt der SALV. Ja, kann man noch deutlicher machen, vielleicht benenne ich das Ding noch in order_list um - da könntest du recht haben. Die beiden Parameter get_so (hole sales orders) und get_sp (hole spare part orders) werden erstens durch den Programmkontext klar und außerdem stehen da (wie bei mir immer) ABAP-Doc taugliche Kommentare in der Art

Code: Alles auswählen.

data:
  "! get sales orders
  get_so type abap_bool,
  "! get spare parts
  get_sp type abap_bool.
Danke übrigens für den Tipp, dass die vor das Komma müssen.
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Seite 1 von 1

Vergleichbare Themen

3
Antw.
2856
Views
Automatische Pragmas bei Klassenattributen
von IHe » 26.10.2016 14:46 • Verfasst in ABAP® Core
6
Antw.
5464
Views
Gesucht: Liste der Pragmas
von DeathAndPain » 29.09.2017 16:02 • Verfasst in ABAP® für Anfänger
3
Antw.
17290
Views
ABAP 7.02 - Neues Feature - Pragmas in ABAP
von foessleitnerj » 09.01.2013 17:02 • Verfasst in Tips + Tricks & FAQs

Aktuelle Forenbeiträge

Daten an Tabelle binden
vor einer Stunde von Lukas Sanders 2 / 787
Dialog-Container mit Toolbar/Status
vor 14 Stunden von black_adept gelöst 21 / 2616

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

Daten an Tabelle binden
vor einer Stunde von Lukas Sanders 2 / 787
Dialog-Container mit Toolbar/Status
vor 14 Stunden von black_adept gelöst 21 / 2616

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2402
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 8986