Modify auf eine Z-Tabelle

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

Modify auf eine Z-Tabelle

Beitrag von max1 (ForumUser / 8 / 0 / 0 ) »
Hallo zusammen,

ich fange gerade erst mit dem ABAP programmieren an und soll folgende Aufgabe lösen.

1) Eine Z-Tabelle (ZTesttabelle) mit 4 Spalten anlegen.

2) Ein Programm und ein dazugehöriges Dynpro mit 4 Eingebefeldern anlegen.

3) Nun soll in die 4 Eingebefelder ein Wert eingetragen werden können und wenn auf dem Dynpro auf speichen geklickt wird sollen die eingetragenen Werte in die Z-Tabelle gespeichert werden.

Ich hab die Z-Tabelle und das Dynpro schon angelegt (also Aufgabe 1 und 2).

Beim ABAP Code hört mein Latein aber schnell auf.
Hier mein Code. Wie kann ich das Ding mit relativ wenig Aufwand prog. ?

Wer kann mir weiter helfen? Bin für jede Anwort dankbar...

Infos:
Z-Tabelle =ztesttabelle
die Felder in der Z-Tabelle heißen MATNR, LGPLA, LPMAX, LPMIN, NSMNG

input1 bis input5 sind die Eingabefelder im Dynpro

Code: Alles auswählen.

REPORT Z_VIEW1.

DATA: input1 TYPE c,
input2 TYPE c, 
input3 TYPE i,
input4 TYPE i,
input5 TYPE i.

call screen 1000.

MODULE init_screen_1000 OUTPUT.
      CLEAR: input1, input2, input3, input4, input5.
ENDMODULE.

MODULE user_command_1000 INPUT.
     Modify  ??????
ENDMODULE.   

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


Re: Modify auf eine Z-Tabelle

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
max1 hat geschrieben: Infos:
Z-Tabelle =ztesttabelle
die Felder in der Z-Tabelle heißen MATNR, LGPLA, LPMAX, LPMIN, NSMNG

input1 bis input5 sind die Eingabefelder im Dynpro
In SAP geht vieles über Namensgleichheit. Nenn die Dynpro-Felder wie in der DB-Tabelle bzw. definiere sie darüber:
Wenn du auf alle Felder zugreif willst geht das eleganter mittels Struktur bzw. hier mittels Table.

Code: Alles auswählen.

TABLES ztesttabelle.
Lege alle Dynprofelder mit DDict-Bezug auf dem Dynpro an. Zusätzlich brauchst du noch ein OKCODE-Feld.
max1 hat geschrieben: call screen 1000.
1000 ist für ein Dynpro sehr schlecht, da SelectionScreen in Reports im default mit Nummer 1000 generiert werden. Nummer also besser nicht verwenden.
max1 hat geschrieben: MODULE init_screen_1000 OUTPUT.
CLEAR: input1, input2, input3, input4, input5.
ENDMODULE.
Du musst dir noch einen GUI-Status setzten, damit du speichern und nagivieren kannst.

Hier wertest du den Funktionscode aus:
max1 hat geschrieben: MODULE user_command_1000 INPUT.
CASE okcode.
WHEN 'BACK'.

WHEN 'SAVE'.
* Da du mittels TABLES eine Struktur erzeugt hast wird es hier einfacher:
MODIFY ztesttabelle FROM ztesttabelle.
* Fehlerhandling
if sy-subrc = 0.
COMMIT WORK.
else.
* Fehlermeldung
endif.

ENDMODULE.
Ansonsten hilft die F1-Hilfe.
Gruß Hendrik

Re: Modify auf eine Z-Tabelle

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
JHM hat geschrieben:

Code: Alles auswählen.

TABLES ztesttabelle.
Hier wertest du den Funktionscode aus:
max1 hat geschrieben:

Code: Alles auswählen.

MODULE user_command_1000 INPUT.
  CASE okcode.
     WHEN 'BACK'.

    WHEN 'SAVE'.
*   Da du mittels TABLES eine Struktur erzeugt hast wird es hier einfacher:
     MODIFY  ztesttabelle FROM ztesttabelle.
*  Fehlerhandling
    if sy-subrc = 0.
      COMMIT WORK.
    else. 
*      Fehlermeldung
    endif.

ENDMODULE.
Ansonsten hilft die F1-Hilfe.
Wenn die Felder mit TABLES 'bekanntgemacht' worden sind, ist beim Modify das from nicht mehr nötig...aber das nur so nebenbei.

JHM: Warst ungefähr 10min früher dran mit anwort. :lol:


Gruß
Markus

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
Hier nochmal der ganze Quelltext:

Das einzige hier nicht ersichtliche:
Auf dem Dynpro im Layout mit 'F6' die Felder aus deiner Tabelle holen (DictionaryBezug)

und in der Elementliste dem Typ 'OK' den Namen okcode geben.

Status erstellen wo das SAVE-Symbol den Funktionscode 'SAVE' bekommt und die Exit-Taste (gelbe TAste mit Pfeil nach oben) den Code 'EXIT' bekommt und den Typ auf 'E' setzen.

Code: Alles auswählen.

TABLES: ZTesttabelle.
DATA: okcode TYPE sy-ucomm.

START-OF-SELECTION.
  CALL SCREEN 100.


Dynpro 100 (Ablauflogik)
PROCESS BEFORE OUTPUT.

  MODULE status_0100.


PROCESS AFTER INPUT.

  MODULE exit AT EXIT-COMMAND.
  MODULE user_command_0100.



MODULE status_0100 OUTPUT.
  SET PF-STATUS 'DYN100'.
ENDMODULE.                 " STATUS_0100  OUTPUT

MODULE exit INPUT.
  LEAVE PROGRAM.
ENDMODULE.                 " exit  INPUT

MODULE user_command_0100 INPUT.
  CASE okcode.
    WHEN 'SAVE'.
      MODIFY ZTesttabelle.
  ENDCASE.
ENDMODULE.                 " user_command_0100  INPUT

Gruß
Markus

(mir is grad langweilig :roll: darum so ausführlich)

Re: Modify auf eine Z-Tabelle

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
MarkusW hat geschrieben: ...
Wenn die Felder mit TABLES 'bekanntgemacht' worden sind, ist beim Modify das from nicht mehr nötig...aber das nur so nebenbei.
...
Ist zwar ausserhalb des ABAP-OO nicht notwendig, wird aber von SAP auch als veraltet bezeichnet.
Daher sollte man immer, auch der besseren Lesbarkeit wegen, explizit angeben, von wo die Daten genommen werden...
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von max1 (ForumUser / 8 / 0 / 0 ) »
Vielen, vielen Dank für eure Hilfe..
Es hat funktioniert

Seite 1 von 1

Vergleichbare Themen

9
Antw.
4137
Views
Modify interne Tabelle
von ABAPSunny » 27.03.2008 10:39 • Verfasst in ABAP® für Anfänger
0
Antw.
984
Views
Modify auf Z Tabelle von itab
von AndreFIAE2014 » 13.12.2016 14:40 • Verfasst in ABAP® für Anfänger
7
Antw.
14118
Views
Modify auf interne Tabelle
von Ines » 25.10.2006 13:43 • Verfasst in ABAP® für Anfänger
8
Antw.
7315
Views
Modify einer internen Tabelle
von lisa » 17.09.2008 12:30 • Verfasst in ABAP® für Anfänger
2
Antw.
10060
Views
Dynamische Tabelle Zugriff auf Felder und Modify
von herr mb » 07.01.2010 09:41 • Verfasst in ABAP Objects®

Ü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.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 11 Stunden von Bright4.5 1 / 220
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 1862
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8465