Dynproerzeugung

Getting started ... Alles für einen gelungenen Start.
10 Beiträge • Seite 1 von 1
10 Beiträge Seite 1 von 1

Dynproerzeugung

Beitrag von ServantOfSonata (ForumUser / 40 / 12 / 0 ) »
Hallo Leute,

ich weiß das Thema ist jetzt so basic wie es nur geht, aber mit Dynprogestaltung habe ich bisher noch gar nix am Hut gehabt. Scheint ja auch zu komplex für Klicki-bunti zu sein. :)

Ich versuche gerade eine Reihenfolge herzustellen, wie ich bei der Erzeugung eines Dynpros vorgehen sollte. Ich hab mir bisher einiges dazu angeschaut, komme aber generell noch nich viel weiter.

Ich hab nu mein Progrämmelchen, welches für sich selbst gut arbeitet und will da n Dynpro rausmachen.
Erst mal eine der Basic Fragen voran... Muss ich generell was zur Ablauflogik passieren soll in einen extra Report schreiben oder bezieht sich das alles nur auf einen Report in dem ich alles dann aufrufen muss?

In meinem alten Thread hatte ich ja mein Programm aufgezeigt welches zwei Suchläufe beinhaltet.
Das Dynpro soll auf dem Startbildschirm vier verschiedene Radiobuttons haben, welches dann jeweils Teilabschnitte des Quellcodes abarbeiten sollen.

Wie kann man generell ganz für anfängerliche Anfänger das ganze anpacken... =/

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


Re: Dynproerzeugung

Beitrag von JHM (Top Expert / 1225 / 2 / 204 ) »
ServantOfSonata hat geschrieben:Das Dynpro soll auf dem Startbildschirm vier verschiedene Radiobuttons haben, welches dann jeweils Teilabschnitte des Quellcodes abarbeiten sollen.
Wie wird die Ausgabe gestalltet? Auch mittels Dynpro, ALV, WriteListe?
Startbildschirme für Reports heißen SelektionScreens. Sind auch nur Dynpros, aber die werden aus ABAP-Anweisungen generiert. Ist eigentlich sehr trivial und man kann sich die benötigten Infos aus der F1-Hilfe hohlen.



Ansonsten solltest du dir mal Gedanken machen, wie du die Basics lernen willst. Immer alles in Foren erfragen kann nicht sinnvoll sein. Auch Selbststudium mit Büchern ist so eine Sache. Da sollte aber auch der AG ein wenig interesse mit bringen.
Gruß Hendrik

Re: Dynproerzeugung

Beitrag von ServantOfSonata (ForumUser / 40 / 12 / 0 ) »
Wie wird die Ausgabe gestalltet? Auch mittels Dynpro, ALV, WriteListe?
Weil das nur eine vorläufige Ausgabe werden soll reicht da wohl eine WriteListe. Die soll im Endeffekt nur zum Überprüfen dienen und die Ergebnisse dann in eine Datenbanktabelle wegschreiben.
Startbildschirme für Reports heißen SelektionScreens. Sind auch nur Dynpros, aber die werden aus ABAP-Anweisungen generiert. Ist eigentlich sehr trivial und man kann sich die benötigten Infos aus der F1-Hilfe hohlen.
Dazu habe ich auch schon einiges gelesen, auch die F1-Hilfe habe ich dazu schon angewandt. Die geläufigen Statements sind mir dadurch mittlerweile auch bekannt. Das Zusammenfassen fällt mir allerdings ein wenig schwerer, wo was hinkommt. Mir fehlt dazu halt der Ansatz.
Ansonsten solltest du dir mal Gedanken machen, wie du die Basics lernen willst. Immer alles in Foren erfragen kann nicht sinnvoll sein. Auch Selbststudium mit Büchern ist so eine Sache. Da sollte aber auch der AG ein wenig interesse mit bringen.
Generelles Interesse bringe ich schon mit. Ich arbeite ja nicht allein nur mit Büchern, sondern teste auch mal so zwischendurch und lerne dadurch bissl mehr kennen. Nur programmier ich in der Hinsicht noch nicht so lange und mir fällts nun mal ein wenig schwerer. SAP drum und dran ist halt nicht so einfach zu erlernen wie Englisch. :)

Re: Dynproerzeugung

Beitrag von ServantOfSonata (ForumUser / 40 / 12 / 0 ) »
Hallo,

bislang bin ich schon mal weiter gekommen. ;-) Ich habe ein paar Sachen erfolgreich auf dem Dynpro implementiert und angepasst. Nun tu ich mich ein wenig schwer mit Input-Fields welche Daten in eine Datenbanktabelle schreiben sollen, aber am besten mittels Push-Button.

Soweit ich das richtig verstanden habe, sollten alle Input-Fields gleichnamig der Datenobjekte des Programms sein. Ich würde dann in einem Subscreen gerne die Daten einpflegen und dann innerhalb der zugehörigen DB-Tabelle wegschreiben. Krieg allerdings die Verbindung vom Input-Field zur Datenbanktabelle nicht hin.

Re: Dynproerzeugung

Beitrag von a-dead-trousers (Top Expert / 4485 / 231 / 1205 ) »
ServantOfSonata hat geschrieben:Krieg allerdings die Verbindung vom Input-Field zur Datenbanktabelle nicht hin.
In wie fern?

So, dass das Feld der Datenbank bei der F1-Hilfe auftaucht?
Da musst du den exakt gleichen Namen (TABELLE-FELD) aus dem DDIC verwenden. Sobald du das machst schreit schon der Screenpainter, ob du es mit dem DDIC verknüpfen willst. Im Programm selbst musst du dann mit der TABLES-Anweisung die entsprechende Datenbanktabelle einbinden.

Oder meinst du, dass nach eingabe der Daten und anschließenden Druck auf einen Button die Daten in der Datenbank landen?
Das geht (wenn überhaupt) nur bei der Verwendung einer logischen Datenbank. Aber da deren Verwendung sowieso "deprecated" ist, bleibt dir nichts anderes übrig als das INSERT/UPDATE/DELETE selbst auszuprogrammieren.

lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Dynproerzeugung

Beitrag von ServantOfSonata (ForumUser / 40 / 12 / 0 ) »
Das Dynpro selber wird nur ein Quick-Fix. Soll halt alles ggf. das tun, was es auch machen soll. (Zumindest soweit ichs hinkrieg)
a-dead-trousers hat geschrieben:Da musst du den exakt gleichen Namen (TABELLE-FELD) aus dem DDIC verwenden. Sobald du das machst schreit schon der Screenpainter, ob du es mit dem DDIC verknüpfen willst. Im Programm selbst musst du dann mit der TABLES-Anweisung die entsprechende Datenbanktabelle einbinden.
Das mit TABELLE-FELD habe ich in Bezug auf reine Anzeigeoptionen aus einem Tutorial schon erschließen können. Ist für mich auchs sinnig. Alle TABLES die im Programm verwendet werden, habe ich auch schon im Vorfeld deklariert.
a-dead-trousers hat geschrieben:Oder meinst du, dass nach eingabe der Daten und anschließenden Druck auf einen Button die Daten in der Datenbank landen?
Das geht (wenn überhaupt) nur bei der Verwendung einer logischen Datenbank. Aber da deren Verwendung sowieso "deprecated" ist, bleibt dir nichts anderes übrig als das INSERT/UPDATE/DELETE selbst auszuprogrammieren.
Das Ausprogrammieren von INSERT/UPDATE/DELETE ist mir schon klar, mir gehts in erster Linie nur um die Verbindung. Wenn ich im Subscreen nun ein Inputfield erstelle, muss es direkt den Bezug zur DDIC haben indem es genau gleich heißt oder kann man den Bezug im Coding herstellen?



EDIT: Vielleicht sollte ich dabei sagen, dass mir das Füllen von Inputfields klar ist, das habe ich hinbekommen(SELECT *....), allerdings komm ich beim umgekehrten Verfahren (also nicht aus DB in Inputfield schreiben, sondern von Inputfield in DB) noch nicht weiter, weil das meines Erachtens nicht mittels SELECT Statement funktionieren kann.

Re: Dynproerzeugung

Beitrag von a-dead-trousers (Top Expert / 4485 / 231 / 1205 ) »
ServantOfSonata hat geschrieben:Wenn ich im Subscreen nun ein Inputfield erstelle, muss es direkt den Bezug zur DDIC haben indem es genau gleich heißt oder kann man den Bezug im Coding herstellen?
Sowohl als auch ;)
Erst mit dem SELECT auf die Datenbank bzw. INSERT/UPDATE/DELETE wird der "Bezug" hergestellt.
(Als Bezug verstehe ich hier, dass der Inhalt übertragen wird)
ServantOfSonata hat geschrieben:Vielleicht sollte ich dabei sagen, dass mir das Füllen von Inputfields klar ist, das habe ich hinbekommen(SELECT *....), allerdings komm ich beim umgekehrten Verfahren (also nicht aus DB in Inputfield schreiben, sondern von Inputfield in DB) noch nicht weiter, weil das meines Erachtens nicht mittels SELECT Statement funktionieren kann.
Das hast du richtig verstanden ;)
Du brauchst natürlich die Befehle INSERT/UPDATE oder DELETE um die entsprechende Operation auf der Datenbank auszulösen.
Der Befehl MODIFY wäre auch noch möglich, um im Fall, dass es auf der DB noch nichts gibt, einen Eintrag anzulegen bzw. wenn er vorhanden ist, zu ändern.

lg ADT

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
ServantOfSonata

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Dynproerzeugung

Beitrag von ServantOfSonata (ForumUser / 40 / 12 / 0 ) »
Ah ok. Danke das hat mich schon deutlich weiter gebracht. :) Hab den Push-Button nun auch belegen können und teilweise tut er sogar das was er soll. Ich hab nun noch ein Problem.

Ich arbeite im Subscreen und habe dort auch den Push Button integriert und die Datensätze werden eingefügt, sobald ich ihn betätige. Allerdings springt der Cursor sobald ich entweder Return im Subscreenbereich drücke oder auch wenn ich den Push-Button drücke zurück in das Hauptdynpro auf das erste Inputfield. Kann man das so implementieren, dass er im Inputfield bleibt wo er sich grade befindet.
Es ist zwar nicht allzu schlimm, DASS es passiert, allerdings wird dadurch auch das Inputfield auf dem Hauptdynpro mit ausgelöst, was ich gerne unterbinden würde.

EDIT: Es scheint dadurch wohl auch so, dass in Folge dessen der Datensatz im Subscreenbereich nur eingefügt wird, wenn das Inputfield auf dem Hauptdynpro eine andere Zeichenfolge beinhaltet. Also einmal funktioniert das Einfügen und dann muss die Zeichenfolge geändert werden bis wieder ein Datensatz eingefügt wird.

Re: Dynproerzeugung

Beitrag von a-dead-trousers (Top Expert / 4485 / 231 / 1205 ) »
Hi!

Mit SET CURSOR kannst du den Cursor selbst auf ein bestimmtes Feld setzen.
(Das immer auf das Hauptdynpro gesprungen wird liegt vermutlich an der Einstellung des Dynpros unter Eigenschaften->Cursorposition)

lg ADT

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
ServantOfSonata

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Dynproerzeugung

Beitrag von ServantOfSonata (ForumUser / 40 / 12 / 0 ) »
Hmz.

Also ein einfaches SET CURSOR FIELD im PBO reicht nicht, allerdings wenn ich SET CURSOR FIELD im PBO und GET CURSOR FIELD im PAI anlege, dann funktioniert es. Aber durch das GET CURSOR wird dann im Inputfield meine Variable ausgeschrieben.

Ein CLEAR geht dann auch nicht, weil der CURSOR dann wieder zurückspringt.


Der Insert funktioniert auch, allerdings nur einmal. Meines Earchtens muss ich entweder in der PAI Anweisung etwas ändern (glaube ich eher nicht) oder was ich eher befürchte, dass die Eingabe plus Aktivierung des Pushbutton Auswirkung auf das Hauptdynpro haben. Wenn ich mit dem Push Button die Aktion anschiebe, kriege ich auch eine Reaktion im Ausgabefeld des Hauptdynpros, was egtl. nicht der Fall sein soltle.

Seite 1 von 1

Über diesen Beitrag


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

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.