🤣DeathAndPain hat geschrieben: ↑10.10.2024 13:40Auch im medizinischen Bereich könnte ich ein Beispiel erläutern, bei dem 3 Hautärzte nacheinander übelst versagt haben und ich als Laie mir dann sehr erfolgreich selber geholfen habe - mit Mitteln aus dem Baumarkt!
...
An die Bremsen meines Autos gehe ich nicht selber ran. Das ist ein sicherheitsrelevanter Bereich; da gehe ich kein Risiko ein.
Folgende Benutzer bedankten sich beim Autor tar für den Beitrag (Insgesamt 2):
ralf.wenzel • black_adept
Werden in einem laufenden Report einmal gesetzte Attribute einer statischen Klasse nicht beibehalten - also auch, wenn man zum SELECTION SCREEN zurückgeht und das Ganze erneut ausführt? Genau das wird mittels Instanziierung verhindert und ganz nebenbei wird mittels etwaigem FREE auch der Speicher freigeräumt.DeathAndPain hat geschrieben: ↑11.10.2024 10:54in dem Fall, in dem Du genau weißt, dass Du nur eine Instanz brauchst, eine statische Klasse keine Nachteile hat, aber übersichtlicher zu handhaben ist.
Vor einigen Jahren habe ich das mal für Mini-SAP getan. Einfach und insb. für Einsteiger ist das mMn jedoch nicht: https://go.support.sap.com/minisap/#/minisapDeathAndPain hat geschrieben: ↑11.10.2024 10:54meines Wissens kann man sich privat kostenlos einen SAP-Server zu spielen aufsetzen.
Werden die nicht durch ODATA-Services abgelöst?black_adept hat geschrieben: ↑09.10.2024 14:36Das stimmt so nicht. Es gibt diverse andere Gründe FM zu schreiben
- RFC-FuBa
Ich denke, das ist das, was black_adept mit "mit Kanonen auf Spatzen schießen" gemeint hat. Eine Listbox zu füllen erfordert einen einzigen Funktionsbausteinaufruf (an dem auch Du in Deiner Klasse nicht vorbeikommen wirst, es sei denn, die SAP hat mittlerweile eine klassenbasierte Alternative dafür eingeführt, ohne dass ich das mitbekommen hätte). Listboxen in Selektionsbildern enthalten meist eine statische Liste von Werten; die gebe ich dem Funktionsbaustein direkt als dickes VALUE-Konstrukt mit.ralf.wenzel hat geschrieben: ↑15.10.2024 16:03Sowas hatte ich neulich auch, mit mehreren Listboxen im Selektionsbild. Und schon schreibe ich nur eine Klasse für die Listbox und mache drei Instanzen draus.
Code: Alles auswählen.
CALL FUNCTION 'VRM_SET_VALUES' EXPORTING id = 'P_LST'
values = VALUE ty_it_listbox( ( key = 'A' text = 'Punkt 1' )
( key = 'B' text = 'Punkt 2' )
( key = 'C' text = 'Punkt 3' ) )
EXCEPTIONS id_illegal_name = 1.
Man muss natürlich schon wissen, was es mit den diversen Abkürzungen auf sich hat. Dann aber finde ich Deine Frage recht leicht zu beantworten: A4H, wenn man sich ein S/4 HANA-System aufsetzen möchte und NPL, wenn es ein herkömmliches R/3-System werden soll. In letzterem Fall würde ich immer auf Sybase setzen, weil das die kostenlos mitgelieferte Datenbank der SAP ist (bietet sich für ein kostenminimales Spielzeugsystem an).tar hat geschrieben:Vor einigen Jahren habe ich das mal für Mini-SAP getan. Einfach und insb. für Einsteiger ist das mMn jedoch nicht: https://go.support.sap.com/minisap/#/minisap
Welche Variante darfs sein?
Wenn Du in den SELECTION-SCREEN zurückgehst, ist immer alles weg, als ob Du die Transaktion neu gestartet hättest. Tatsächlich lädt er dann sogar die neueste Codeversion nach. (Bedeutet im Klartext: Wenn Du Deine Ergebnisliste auf dem Schirm hast und am Code was korrigierst und dann mit F3 ins Selektionsbild zurückkehrst, lädt er Deine Korrektur, so dass Du direkt wieder testen kannst, ohne die Transaktion zu verlassen.)tar hat geschrieben:Werden in einem laufenden Report einmal gesetzte Attribute einer statischen Klasse nicht beibehalten - also auch, wenn man zum SELECTION SCREEN zurückgeht und das Ganze erneut ausführt?
"Abgelöst" ist ein dehnbarer Begriff. Sicherlich sind ODATA-Services neuer und können gerade für Zugriffe aus externen Systemen eine gute Wahl sein. Wenn ich allerdings weiß, dass Quell- und Zielsystem SAP-Systeme sind, dann finde ich es viel einfacher und damit auch eleganter, einen RFC-Funktionsbaustein zu bauen und aufzurufen, als aufwendig einen ODATA-Service zu bauen, der letztlich auch nichts anderes leistet.Ralf hat geschrieben:Werden die nicht durch ODATA-Services abgelöst?
Das stimmt nur bedingt. ABAP verhält sich hier unterschiedlich, je nachdem ob ein Report über SE38/SE80 gestartet wurde oder über einen Transaktionscode, der auf den Report verweist. Das Verhalten mit dem Nachladen des Codes ist auf jeden Fall bei Aufruf nicht über Transaktionscode korrekt. Allerdings sieht das nicht so aus, weil SAP beim Rücksprung auf das Selektionsbild zwar den gesamten Report neu lädt aber es irgendwo eine Schleife gibt, die dir die Belegung des Selektionsbild bevor du F8 gedrückt hast zurücklädt ( was der Grund ist, warum man ab START-OF-SELECTION die globalen Felder des Selscreens modifizieren kann, aber beim Rücksprung auf den Selscreen diese auf die Werte zurückgesetzt werden, die sie hatten als du F8 gedrückt hast ).DeathAndPain hat geschrieben: ↑20.10.2024 18:33Wenn Du in den SELECTION-SCREEN zurückgehst, ist immer alles weg, als ob Du die Transaktion neu gestartet hättest. Tatsächlich lädt er dann sogar die neueste Codeversion nach. (Bedeutet im Klartext: Wenn Du Deine Ergebnisliste auf dem Schirm hast und am Code was korrigierst und dann mit F3 ins Selektionsbild zurückkehrst, lädt er Deine Korrektur, so dass Du direkt wieder testen kannst, ohne die Transaktion zu verlassen.)tar hat geschrieben:Werden in einem laufenden Report einmal gesetzte Attribute einer statischen Klasse nicht beibehalten - also auch, wenn man zum SELECTION SCREEN zurückgeht und das Ganze erneut ausführt?
Ich hab heute mal den ganzen Tag versucht, diese Version unter OpenSUSE zu installieren und mich dabei von einem nervigen Problem zum nächsten gehangelt, um zufällig im sechsten(!) Google-Suchergebnis über Stackoverflow in einem winzigen(!) Link im dortigen dritten(!) Kommentar schlussendlich bei diesem Beitrag zu landen (man beachte den Scrollbalken!), der besagt, dass das mit aktuellen Linux-Distributionen und insb. dem von SAP selbst empfohlenen OpenSUSE überhaupt nicht mehr geht, ohne erst händisch selbst den 32 kByte großen SAP-Installer anzupassen, was natürlich jeder Anfänger mal eben ganz flink nebenbei zu erledigen weiß 🤣DeathAndPain hat geschrieben: ↑20.10.2024 18:33Die richtige Seite für die Auswahl ist meiner Meinung nach diese hier. Dort sticht einem sofort SAP NetWeaver AS ABAP Developer Edition 7.52 SP04 als passender Download ins Auge.
Folgende Benutzer bedankten sich beim Autor tar für den Beitrag:
DeathAndPain
Code: Alles auswählen.
docker pull sapse/abap-cloud-developer-trial:ABAPTRIAL_2022_SP01
docker run --stop-timeout 3600 -i --name a4h -h vhcala4hci -p 3200:3200 -p 3300:3300 -p 8443:8443 -p 30213:30213 -p 50000:50000 -p 50001:50001 sapse/abap-cloud-developer-trial:ABAPTRIAL_2022_SP01 -skip-limits-check
Frisches Debian als VM aufgesetzt: 🤔rob_abc hat geschrieben: ↑27.10.2024 16:16Unter Debian sind es 2 Kommandos im Terminal, fertig.Code: Alles auswählen.
docker pull sapse/abap-cloud-developer-trial:ABAPTRIAL_2022_SP01 docker run --stop-timeout 3600 -i --name a4h -h vhcala4hci -p 3200:3200 -p 3300:3300 -p 8443:8443 -p 30213:30213 -p 50000:50000 -p 50001:50001 sapse/abap-cloud-developer-trial:ABAPTRIAL_2022_SP01 -skip-limits-check