type table of noch aktuell?

Getting started ... Alles für einen gelungenen Start.
22 Beiträge • Vorherige Seite 2 von 2 (current)
22 Beiträge Vorherige Seite 2 von 2 (current)

Re: type table of noch aktuell?

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Hmm, hat man da nicht schneller einen ASSIGN COMPONENT geschrieben mit entsprechender Selektion der Datenelemente?
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: type table of noch aktuell?

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
ewx hat geschrieben:Ich nehme ebenfalls lieber separate MOVES da sie deutlicher sind.
Kommt immer auf die Situation an - stell dir mal folgendes vor:
Ich muss eine Methode verwenden, die eine voll typisierte Struktur als Parameter erwartet. Mein Programm hingegen arbeitet mit einer Struktur, die die erstgenannte Struktur als Teilmenge enthält.

Auch in dem Fall, dass du untypisierte Strukturen hast, kann das MOVE-CORRESPONDING auftrumpfen.
Eine Programmanforderung wie z.B. Schreibe eine Methode, der man eine Struktur übergeben kann. Die Felder Feldname1,...,FeldnameN der Struktur sollen initialsiert/geändert werden. ist für mich am schönsten mit MOVE-CORRESPONDING zu lösen, indem man eine Struktur definiert, die genau die zu bearbeitenden Felder enthält, diese mittels MOVE-CORRESPONDING aus der übergebenen Struktur füllt und ab jetzt kann man mit einer voll typisierten Struktur weiterarbeiten.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: type table of noch aktuell?

Beitrag von Basler84 (ForumUser / 60 / 31 / 0 ) »
Jetzt muss ich hier nochmal einhaken, auch wenns schon ne Weile her ist. Wenn ich keine Kopfzeile verwenden soll wie kann ich denn dann die interene Tabelle deklarieren, das folgendes Beispiel funktioniert. Geht das überhaupt?

Code: Alles auswählen.

select * from ltap into ls_ltap 
  where ( vlenr eq llenum or nlenr eq llenum ) and pquit ne 'X'.
  move-corresponding ls_ltap to it_ltap.
  append it_ltap.
endselect. 

Re: type table of noch aktuell?

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
ich weiss ja nicht wie it_ltap zur Zeit deklariert ist, aber eigentlich müsste es so gehen:

Code: Alles auswählen.

select * from ltap appending table it_ltap
  where ( vlenr eq llenum or nlenr eq llenum ) and pquit ne 'X'.
schöne Grüße
Alexander

ECC 6.0 EHP 7

Re: type table of noch aktuell?

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Alexander D. hat geschrieben:ich weiss ja nicht wie it_ltap zur Zeit deklariert ist
In dem Fall dann so

Code: Alles auswählen.

select * from ltap appending corresponding fields of table it_ltap
  where ( vlenr eq llenum or nlenr eq llenum ) and pquit ne 'X'.
Entspricht dem MOVE-CORRESPONDING

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

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: type table of noch aktuell?

Beitrag von Basler84 (ForumUser / 60 / 31 / 0 ) »
Erst mal danke für die Antworten hat so funktioniert! :)

Aber irgendwie gibts doch einiges, dass ohne die Kopfzeile nicht so funktioniert wie ich mir das ausmale...^^
In der Deklaration mit Kopfzeile habe ich folgenden loop:

Code: Alles auswählen.

  loop at it_ltap.
    update ltak
    set    kgvnq  = 'X' "getrennte Quittierung möglich
    where  tanum  = it_ltap-tanum.

    update ltap
    set    kgvnq  = 'X' "getrennte Quittierung möglich
    where  tanum  = it_ltap-tanum.
  endloop.
Ohne Kopfzeile gibts jetzt erst mal die Meldung, dass ich einen der zusätze wie into, assigning etc. verwenden muss. Zudem wird der nächste Fehler dann sein, dass ich das Feld it_ltap-tanum wohl nicht direkt ansprechen kann. Gibt es dafür auch eine Lösung ohne Kopfzeile?

Re: type table of noch aktuell?

Beitrag von JHM (Top Expert / 1188 / 1 / 195 ) »
Basler84 hat geschrieben:Zudem wird der nächste Fehler dann sein, dass ich das Feld it_ltap-tanum wohl nicht direkt ansprechen kann. Gibt es dafür auch eine Lösung ohne Kopfzeile?
Natürlich:

Code: Alles auswählen.

  loop at it_ltap INTO wa_ltap.
    update ltak
    set    kgvnq  = 'X' "getrennte Quittierung möglich
    where  tanum  = wa_ltap-tanum.

    update ltap
    set    kgvnq  = 'X' "getrennte Quittierung möglich
    where  tanum  = wa_ltap-tanum.
  endloop.
ABER: DIREKTE UPDATES AUF SAP-TABELLEN SOLLTEN NIE AUSGEFÜHRT WERDEN!
Ausnahme: SAP hat einen HW dafür erstellt.

Wenn SAP Tabellen geändert werden sollen, dann immer über SAP-Funktionen (BAPI, FuBa oder BI). Die Gefahr vor Inkonsitenzen ist viel zu hoch. Zudem gibt es auch keine Änderungsbelege, die dir dann ein Prüfer um die Ohren hauen wird.

Folgende Benutzer bedankten sich beim Autor JHM für den Beitrag:
Basler84

Gruß Hendrik

Vergleichbare Themen

1
Antw.
4703
Views
string table type in soli_tab
von heiko lutz » 25.05.2005 18:13 • Verfasst in ABAP® Core
0
Antw.
2120
Views
SE80 -> Klassenbibliothek und TYPE TABLE OF REF TO
von schmitzandreas » 27.07.2007 16:28 • Verfasst in ABAP Objects®
9
Antw.
3312
Views
Frage zu set_table_for_first_display bzw TYPE TABLE OF-Defis
von kkauerau » 11.01.2017 14:25 • Verfasst in ABAP® für Anfänger
16
Antw.
1570
Views
Spaltenzugriff über Field-Symbol Type Table
von JanR » 22.04.2021 15:29 • Verfasst in ABAP® für Anfänger
0
Antw.
1183
Views
SAP Access & Identity Management - noch aktuell?
von SaskuAc » 14.12.2017 11:54 • Verfasst in SAP - Allgemeines

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

Zwischensumme Adobe Forms
vor 4 Tagen von Lucyalison 1 / 71
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 141