Denkfehler?? Zwei Tabellen miteinander vermischen

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

Denkfehler?? Zwei Tabellen miteinander vermischen

Beitrag von Trulchen (Specialist / 241 / 4 / 1 ) »
Hallo,

ich brauche mal eure Hilfe.

Ich habe zwei Datenbanktabellen die am Ende in eine Internet Tabelle übertragen werden muss.

Kurz zum Hintergrund eine Bestellung hat innerhalb der Positionszeile mehrer Positionen. Diese mehrern Positionen können aus mehren Zeilen bestehen. Mehrer Zeilen haben mehrer Felder. So ist auch meine Interne Tabelle aufgebaut. (siehe screenshot)
Unbenannt.JPG
Die erste Datenbanktabelle hat unter anderem die Felder "Feldname" "Value" "Position" (vgl. Eintrag )
z.B: MATNR 4711 POS 1
MATNR 0915 POS 2
POSNR 001 POS 1
Die zweite Datenbanktabelle tut eigentlich dann sagen wo die "Matnr" auf dem Formular ist und wird beschrieben durch die Felder "Feldname", "Zeile" , "Spalte"
Also
MATNR 1 1
POSNR 1 2
(Zeile 1 Spalte 1 etc.)

So diese beiden Tabellen soll dann anschließend mein "Tabellen-in Tabellen- in Tabellen" Konstrukt befüllen. Aber ich hab glaub noch ein Logik fehler.
Wenn in "DB1" sich die POS Erhöht soller eine Positon hinzufügen. Wenn in DB2 sich die Zeile erhöht soll er zunächst eine Zeile hinzufügen.

Problem ist wenn meine beiden Tabellen (main_data_t und it_data ) nicht mit Zeile 1 und Positon 1 anfangen und beides nicht absteigend ist dann funktioniert mein Konstrukt nicht mehr :(
Ich weiß nicht ob im Code oder im Aufbau der beiden Tabellen es "kracht"....


Mein bisheriges Coding

Code: Alles auswählen.

  DATA stk_pos_tab  TYPE  zjm_pos_tab.
  DATA stk_felder TYPE  zjm_type_felder.
  DATA main_data  TYPE  zjm_feld_data.
  DATA main_data_t  TYPE  TABLE OF zjm_feld_data.
  DATA stk_zeilen TYPE  zjm_zeilen_tab.
  DATA stk_input LIKE LINE OF it_input.


  DATA pos_alt TYPE i.
  DATA anzahl_pos TYPE i.
  anzahl_pos = 1.
  DATA anzahl_zeilen TYPE i.
  anzahl_zeilen = 1.

*Feldinformationen Lesen
  SELECT * FROM zjm_feld_data INTO main_data.
    APPEND main_data TO main_data_t.
    SORT main_data_t BY zeile name ASCENDING .
  ENDSELECT.

  DATA it_data TYPE zjm_pos_name_value_tt.
  DATA stk_data TYPE zjm_pos_name_value.
  SELECT * FROM zjm_dummy_data INTO CORRESPONDING FIELDS OF TABLE it_data WHERE positions_art = 'DATEN'  .
  SORT it_data BY  zeile feld_name pos ASCENDING.
  

*Feldinformationen entsprechend umsetzen
  LOOP AT it_data INTO stk_input.

    READ TABLE main_data_t WITH KEY name = stk_input-feld_name INTO main_data.

    IF anzahl_zeilen NE main_data-zeile.
      APPEND stk_zeilen TO stk_pos_tab-zeile.
      anzahl_zeilen =  anzahl_zeilen + 1.
      CLEAR stk_zeilen-felder.
    ENDIF.

    IF  anzahl_pos NE stk_input-pos.
      APPEND stk_pos_tab TO et_pos_tab.
      anzahl_pos = anzahl_pos + 1.
      anzahl_zeilen = 1.
      CLEAR stk_zeilen-felder.
      CLEAR stk_pos_tab-zeile.
    ENDIF.

    stk_felder-feld_nr  = main_data-spalte.
    stk_felder-feld_name = main_data-name.
    stk_felder-type =  main_data-type.
    stk_felder-layout = main_data-layout_stil.
    stk_felder-wert = stk_input-value.

    APPEND stk_felder TO stk_zeilen-felder.
    SORT stk_zeilen-felder BY feld_nr ASCENDING.

  ENDLOOP.

*Ausnahme für letzte Zeile bzw. Position
  APPEND stk_zeilen TO stk_pos_tab-zeile.
  APPEND stk_pos_tab TO et_pos_tab.

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


Re: Denkfehler?? Zwei Tabellen miteinander vermischen

Beitrag von Trulchen (Specialist / 241 / 4 / 1 ) »
Hm ich hab es versentlich in die Anfänger Gruppe gemacht... In ABAP Core wäre es wohl besser aufgehoben....

Seite 1 von 1

Vergleichbare Themen

3
Antw.
421
Views
3
Antw.
363
Views
Operieren mit zwei Tabellen
von LisaKremer » 22.01.2020 17:57 • Verfasst in ABAP® für Anfänger
10
Antw.
4164
Views
Ausgabe von zwei Tabellen mit ALV
von Katinka » 15.09.2005 12:54 • Verfasst in ABAP® Core
7
Antw.
8367
Views
Select auf zwei Tabellen
von mip » 27.03.2008 16:05 • Verfasst in ABAP® für Anfänger
7
Antw.
3526
Views
Zwei Tabellen joinen (für ALV)?
von k4lisp3r4 » 22.01.2007 16:33 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag

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

Aktuelle Forenbeiträge

Updates der Daten, Fehlermeldung
Gestern von Egzon gelöst 1 / 50
Wie benutze ich COMMIT WORK richtig
vor 2 Tagen von msfox 17 / 431

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

Updates der Daten, Fehlermeldung
Gestern von Egzon gelöst 1 / 50
Wie benutze ich COMMIT WORK richtig
vor 2 Tagen von msfox 17 / 431

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 5 Wochen von Lucyalison 1 / 269
Group Items auf einer Filterbar
letzen Monat von Bright4.5 1 / 321