Integration einer Dynpro

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

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

Integration einer Dynpro

Beitrag von Schäfer_anfänger (ForumUser / 38 / 1 / 0 ) »
Hallo ich bin DH Student und habe gerade meinen dritten Tag mit ABAP.
Ich habe nun die Aufgabe bekommen bestimmte Werte aus der "Mara" und "Makt" herauszulesen und wiederzugeben (auch mit Selection Screen und ALV) soweit hat alles so einigermaßen funktioniert. Nun hab ich aber die Aufgabe bekommen ein Dynpro zu erstellen mit welchem nur einzelne Werte (Materialnummer + Materialkurztext + Erstelldatum...) wiedergegeben wird aber nur für diesen einen Artikel. Es soll möglich sein mit einem Button (rechts) zum nächsten Artikel zu springen und einem Button (links) zum vorherigen. Nun habe ich ein Dynpro erstellt habe aber ehrlich gesagt keine Ahnung wie ich das Dynpro einbinde so, dass in den Ausgabefeldern des Dynpros der Wert angezeigt wird. Also bei Materialnummer die "matnr" welche ich aus "mara" ausgelesen habe. Wie gesagt es ist mein dritter Tag mit ABAP und ich bin bisher noch recht neu im Programmieren. Ich freue mich über jeden Versuch mir zu helfen und ich gebe mein bestes eure Hilfe zu verstehen/nachzuvollziehen.

EDIT: Was muss ich denn bei dem Dynpro bei der Ablauflogik bei "PBO" und "PAI" eintragen...?

Hier mein Code:

Code: Alles auswählen.

AUTHORITY-CHECK OBJECT 'M_MATE_STA'
ID 'ACTVT' FIELD '03'
ID 'STATM' DUMMY.
IF sy-subrc NE 0.
MESSAGE: 'Berechtigung nicht vorhanden' TYPE 'E'.
ELSE.
DATA: zvl_best_verlauf_matnr  TYPE matnr,
      zvl_best_verlauf_maktx  TYPE maktx,
      zvl_best_verlauf_ersda  TYPE ersda,
      zvl_best_verlauf_spras  TYPE spras,
      zvl_best_verlauf_mtart  TYPE mtart.

SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-se1.
  SELECT-OPTIONS:
  material FOR zvl_best_verlauf_matnr,
  beschr   FOR zvl_best_verlauf_maktx NO INTERVALS NO-EXTENSION,
  art      FOR zvl_best_verlauf_mtart NO INTERVALS NO-EXTENSION,
  language FOR zvl_best_verlauf_spras NO INTERVALS NO-EXTENSION,
  date     FOR zvl_best_verlauf_ersda NO INTERVALS NO-EXTENSION.

SELECTION-SCREEN END OF BLOCK BLOCK1.

IF language IS INITIAL.                                        " Der Bereich ist nur drin weil ein Kollege meinte das müsste so . Ich bin anderer Meinung
 DATA language_line LIKE LINE OF language.
language_line-low = sy-langu.
 language_line-sign = 'I'.
language_line-option = 'EQ'.
 APPEND language_line TO language.
 ENDIF.

SELECT mara~matnr, maktx, spras, mtart, ersda
  FROM mara
  INNER JOIN makt ON makt~matnr = mara~matnr
  INTO TABLE @DATA(lt_result)
  UP TO 100 ROWS
  WHERE mara~matnr              In @material
  AND   makt~maktx              In @beschr
  AND   ersda                   In @date
  AND   mtart                   In @art
  AND   makt~spras              In @language.

CALL SCREEN '1001'.

ENDIF.
ABAP Anfänger vom allerfeinsten!

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


Re: Integration einer Dynpro

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Schäfer_anfänger hat geschrieben:.....habe gerade meinen dritten Tag mit ABAP.
...DRITTER TAG....???!?!?!?!?!?!? :hallo: :hallo: :hallo: :hallo: :hallo: :hallo: :hallo: :hallo: :hallo: :hallo: :hallo: :hallo: :hallo: :hallo: :hallo: :hallo:

Berechtigungabfrage, Selections-Screen, Select-Statements, ALV, Dynproerstellung..... AM DRTTEN TAG?????!!!!!?!?!?!?

Re: Integration einer Dynpro

Beitrag von Schäfer_anfänger (ForumUser / 38 / 1 / 0 ) »
Ups dieser Beitrag war ausversehen wo kann ich ihn löschen?
Zuletzt geändert von Schäfer_anfänger am 13.01.2017 13:49, insgesamt 1-mal geändert.
ABAP Anfänger vom allerfeinsten!

Re: Integration einer Dynpro

Beitrag von Schäfer_anfänger (ForumUser / 38 / 1 / 0 ) »
Unit605 hat geschrieben:
Schäfer_anfänger hat geschrieben:.....habe gerade meinen dritten Tag mit ABAP.
...DRITTER TAG....???!?!?!?!?!?!? :hallo: :hallo: :hallo: :hallo: :hallo: :hallo: :hallo: :hallo: :hallo: :hallo: :hallo: :hallo: :hallo: :hallo: :hallo: :hallo:

Berechtigungabfrage, Selections-Screen, Select-Statements, ALV, Dynproerstellung..... AM DRTTEN TAG?????!!!!!?!?!?!?
Haha ja? :D Ich bin mir auch nicht sicher ob das gut ist früher hatten sie wohl hier in der Firma ne 2 wöchige Schulung mit 8 Stunden pro Tag. Jetzt ist es nur noch ne kurze Einführung/Schulung dann 2 Wochen anhand vom Skript durcharbeiten und Aufgaben (die erwähnte) lösen und dann nochmal eine Schulung über 2 Stunden... xD
ABAP Anfänger vom allerfeinsten!

Re: Integration einer Dynpro

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Und dann wundert man sich über Fachkräftemangel.... Unfassbar.


Ralf *wurde noch richtig ausgebildet....
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Integration einer Dynpro

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
Hallo Schäfer,

ich glaube da müssen wir dich langsam ranführen - dein bisheriger Code ist noch ein klein wenig verbesserbar.

Kurze Frage vorab - hast du Programmiervorkenntnisse aus anderen Sprachen oder ist ABAP quasi dein Einstieg in die Programmierung?


1.) Zeitpunkte: Man darf zwar die Zeitpunkte auch weglassen und es wird dann implizit END-OF-SELECTION verwendet - aber es ist programmatisch eigentlich immer am saubersten wenn du vor dem 1. Programmschritt ( Deklarationen sind kein Programmschritt ) den Zeitpunkt angibst, an dem dieser ausgeführt werden soll. --> Irgendwo ein "END-OF-SELECTION" einbauen.

2.) Selektionsbild: Auch hier ein wenig persönlicher Stil - aber da das Selektionsbild üblicherweise vor dem 1. Programmschritt angezeigt wird sollte das zugehörige Coding welches das SelBild aufbaut auch vor dem End-of-Selection stehen. ( Frühere Zeitpunkte als das Selektionsbild ignorieren wir jetzt erst mal )

3.) Daten- und Typdeklarationen: Du hast da ein paar globale Variablen definiert - im ELSE-Pfad. Das ist zwar inzwischen bei einigen neuen ABAP-Sprachelementen implizit möglich und wenn eine Varible tatsächlich nur in einem kurzen Codingabschnitt verwendet wird gut vertretbar - aber bei globalen Variablen sollte man die schon irgendwo gesammelt deklarieren und versuchen auf so viele wie möglich davon zu verzichten

4.) Modularisierung: Lager deine Selektion in eine Form-Routine oder Methode aus. Dann kannst du einige deiner Variablen die nur für die Selektion benötigt werden in der Modularisierungseinheit deklarieren und musst diese nicht mehr global halten. Macht den Code auch übersichtlicher

5.) DAS DYNPRO - das Unbekannte Wesen.
Schau erstmal bei Google nach ob du da einen ansprechenden Treffer findest.
Ganz kurz:
  • Entferne die Kommentare die beim automatischen Anlegen des Dynpros generiert werden und lass dir die zugehörigen Module automatisch generieren. Die dort zu findenden Kommentare auch wieder entfernen und via Doppelklick anlegen
  • Fülle in der Elementliste das Feld OK-CODE mit einer Variablen die du global im Programm definiert hast und die vom Typ SYUCOMM ist.
  • Setze im PAI-Modul den Befehle "SET SCREEN 0" ab - abhängig davon, was in dem im vorigen Schritt definierten Feld steht damit zu aus dem Dynpro wieder heraus kommst.
  • Wirf ein paar Felder auf das Dynpro
Wenn das so weit läuft (ohne die ganze andere Bearbeitung mit den Buttons und dem Anzeigen von Materialinformationen ) kannst du dich ja mal wieder melden
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Integration einer Dynpro

Beitrag von Schäfer_anfänger (ForumUser / 38 / 1 / 0 ) »
Bin auch so weiter gekommen :)

Code: Alles auswählen.

CONTROLS DYNPRO_TABLE TYPE TABLEVIEW USING SCREEN 1001.

AUTHORITY-CHECK OBJECT 'M_MATE_STA'
  ID 'ACTVT' FIELD '03'
  ID 'STATM' DUMMY.
IF sy-subrc NE 0.
   MESSAGE: 'Berechtigung nicht vorhanden' TYPE 'E'.
ELSE.

TYPES: BEGIN OF ty_struct1,
          feld1 TYPE matnr,
          feld2 TYPE maktx,
       END OF ty_struct1.

DATA: zvl_best_verlauf_matnr  TYPE matnr,
      zvl_best_verlauf_maktx  TYPE maktx,
      zvl_best_verlauf_ersda  TYPE ersda,
      zvl_best_verlauf_spras  TYPE spras,
      zvl_best_verlauf_mtart  TYPE mtart,
      lt_result               TYPE TABLE OF ty_struct1,
      ls_result               TYPE ty_struct1,
      TOP_LINE                TYPE i.

DATA: ok_code TYPE sy-ucomm,
      save_ok LIKE ok_code.



SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-se1.
  SELECT-OPTIONS:
  material FOR zvl_best_verlauf_matnr,
  beschr   FOR zvl_best_verlauf_maktx NO INTERVALS NO-EXTENSION,
  art      FOR zvl_best_verlauf_mtart NO INTERVALS NO-EXTENSION,
  language FOR zvl_best_verlauf_spras NO INTERVALS NO-EXTENSION,
  date     FOR zvl_best_verlauf_ersda NO INTERVALS NO-EXTENSION.

SELECTION-SCREEN END OF BLOCK BLOCK1.
ENDIF.

IF language is INITIAL.
  DATA language_line LIKE LINE OF language.
  language_line-low = sy-langu.
  language_line-sign = 'I'.
  language_line-option = 'EQ'.
  APPEND language_line TO language.
 ENDIF.

CALL SCREEN '1001'.



MODULE Load_data OUTPUT.
SELECT mara~matnr, maktx "spras, mtart, ersda
  FROM mara
  INNER JOIN makt ON makt~matnr = mara~matnr
  INTO TABLE @lt_result
  UP TO 100 ROWS
  WHERE mara~matnr              In @material
  AND   makt~maktx              In @beschr
  AND   ersda                   In @date
  AND   mtart                   In @art
  AND   makt~spras              In @language.
ENDMODULE.

MODULE user_command_0100 INPUT.
  save_ok = ok_code.
  CLEAR ok_code.
  CASE save_ok.
  WHEN 'BUTTON_EXIT'.
      LEAVE PROGRAM.
  WHEN 'BUTTON_RETURN'.
      CALL SELECTION-SCREEN 1000.
  ENDCASE.
 ENDMODULE.
ABAP Anfänger vom allerfeinsten!

Re: Integration einer Dynpro

Beitrag von hausi (ForumUser / 56 / 11 / 1 ) »
Supi, dass das bei dir soweit klappt...

Ich bin bei rein technischen Fragen meist nicht diejenige, die man als erstes fragt (weil ich noch das "Küken" bin).

Gerade deshalb lass mich dir im Hinblick auf deinen Code noch einen kleinen Tipp mit auf den Weg geben:
Achte auf eine saubere Formatierung, z. B. alle Deklarationen an den Anfang einer Methode
Schau dass du deinen Code kommentierst z. B. was selektierst du warum wohin? - sei ruhig auch kreativ in Umschreibungen dann macht das ganze auch noch Spaß beim lesen :D
etc....

Du schießt dir selbst ins Knie - spätestens wenn du nach 3-4 Wochen den eigenen Code nochmal anschauen und verstehen willst.

Meine Kollegen, die alle (noch) sehr viel besser programmieren, sind da auch häufiger mal schlampig und freuen sich aber
doch wenn sie mal meinen Code in die Finger bekommen ^^

LG und viel Geduld für die weitere Ausbildung ;)

die Hausi

Re: Integration einer Dynpro

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Naja, das ist ja nicht ganz unumstritten, was du da sagst. Kommentare sollten nicht zuviel und zu lang sein. WAS man macht, steht im ABAP, darum sind sprechende Methodennamen so wichtig. Das WAS fällt bei mir regelmäßig durch, das bläht nur die Kommentare auf. Das WARUM ist deutlich wichtiger.

Außerdem (das wissen viele gar nicht!) kann man jede Methode übersetzbar dokumentieren, was deutlich besser ist als ein sprachenfixer Kommentar, weil es eben die Option zur Übersetzung nicht verbaut.


Ralf

Folgende Benutzer bedankten sich beim Autor ralf.wenzel für den Beitrag:
ibo

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

Re: Integration einer Dynpro

Beitrag von Schäfer_anfänger (ForumUser / 38 / 1 / 0 ) »
ralf.wenzel hat geschrieben:Und dann wundert man sich über Fachkräftemangel.... Unfassbar.


Ralf *wurde noch richtig ausgebildet....
Was hat das mit Fachkräftemangel zu tun? Ich lerne es ja während meines Studiums....
Zuletzt geändert von Schäfer_anfänger am 17.01.2017 14:29, insgesamt 1-mal geändert.
ABAP Anfänger vom allerfeinsten!

Re: Integration einer Dynpro

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
ralf.wenzel hat geschrieben:Außerdem (das wissen viele gar nicht!) kann man jede Methode übersetzbar dokumentieren, was deutlich besser ist als ein sprachenfixer Kommentar, weil es eben die Option zur Übersetzung nicht verbaut.
Sagt der Mann der Eclipse der alten SAPGUI vorzieht und damit eben auf diese Übersetzungsmöglichkeit verzichtet.
Keyword Documentation hat geschrieben:An ABAP Doc short text is part of the source code and is not translatable. This short text replaces the translatable short text of the repository object in its original language when synchronized, which means it must also be specified in the original language. This is an exception to the rule that ABAP Doc comments must always be in English. The original language can be flagged in the source by being specified as follows (this is optional):
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Integration einer Dynpro

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
Schäfer_anfänger hat geschrieben:Was hat das mit Fachkräftemangel zu tun? Ich lerne es ja während meinem Studium....
Genitivmangel
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Integration einer Dynpro

Beitrag von Schäfer_anfänger (ForumUser / 38 / 1 / 0 ) »
black_adept hat geschrieben:
Schäfer_anfänger hat geschrieben:Was hat das mit Fachkräftemangel zu tun? Ich lerne es ja während meinem Studium....
Genitivmangel
Geändert sorry...
ABAP Anfänger vom allerfeinsten!

Re: Integration einer Dynpro

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
black_adept hat geschrieben:
ralf.wenzel hat geschrieben:Außerdem (das wissen viele gar nicht!) kann man jede Methode übersetzbar dokumentieren, was deutlich besser ist als ein sprachenfixer Kommentar, weil es eben die Option zur Übersetzung nicht verbaut.
Sagt der Mann der Eclipse der alten SAPGUI vorzieht und damit eben auf diese Übersetzungsmöglichkeit verzichtet.
Das eine schließt das andere nicht aus.


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

Seite 1 von 1

Vergleichbare Themen

0
Antw.
2390
Views
Web Dynpro SAP-GUI-Integration
von zeWa » 20.08.2014 14:37 • Verfasst in Web-Dynpro, BSP + BHTML
5
Antw.
3802
Views
Integration PP/HR
von ICO-Man » 10.04.2007 14:03 • Verfasst in Human Resources
1
Antw.
2557
Views
CRM-->EP 6.0 Integration Wie?
von lemmy123 » 01.10.2005 21:30 • Verfasst in CRM (Customer Relationship Management)
0
Antw.
1079
Views
SAP GRC Integration mit HANA DB
von hasanbulut » 25.03.2021 16:42 • Verfasst in Sonstige Module
0
Antw.
122
Views
Equipment ALE Integration
von Prego » 15.02.2024 08:23 • 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

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