Parameterproblematik (OOP-ALV)

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

Parameterproblematik (OOP-ALV)

Beitrag von Kali (ForumUser / 25 / 6 / 1 ) »
Hallo Zusammen.

Vorweg: Ich bin noch ein richtiger Grünschnabel. :)

Ich habe mir nun zwei eigene Tabellen gebaut.
Aus Tabelle 1 habe ich mir in eine interne Tabelle die Daten zu den Spalten Name, Datum und Abteilung geholt.
Aus der zweiten Tabelle habe ich, wenn die Abteilung übereinstimmt, noch die E-Mailadresse des Verantwortlichen und eine zweite für die Vertretung dazugelesen.

Die interne Tabelle wird korrekt gefüllt und kann über den Write-Befehl auch korrekt ausgegeben werden.
Nun möchte ich das ganze allerdings in einem ALV ausgeben.... und es knallt.

Ich weiß, dass es daran liegt, dass der Parameter vom Type TABLE nicht mit meiner internen Tabelle übereinstimmt. Aber ich habe als Anfägner und trotz googlen keinen richtigen Ansatz wie ich das Problem lösen kann. (Allein für das Lokalisieren habe ich eine ganze Weile gebraucht)

Fehlermeldung erscheint an der Stelle:

Code: Alles auswählen.

  cl_salv_table=>factory( IMPORTING r_salv_table = gr_table
   CHANGING t_table = xitab ).
Hoffe ihr könnt mir einen Tipp in die richtige Richtung geben? Wie muss ich mit einem solchen Problem umgehen?

Vielen Dank
Kali

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


Re: Parameterproblematik (OOP-ALV)

Beitrag von c oco (Specialist / 326 / 12 / 16 ) »
hi,
welchen typ hat deine interne tabelle?

Re: Parameterproblematik (OOP-ALV)

Beitrag von Kali (ForumUser / 25 / 6 / 1 ) »
Habe sie so aufgebaut:

Code: Alles auswählen.

DATA: BEGIN OF xitab OCCURS 0,
      name LIKE zhr_az_eintritt-name,
      datum LIKE zhr_az_eintritt-datum,
      abteilung LIKE zhr_az_eintritt-abteilung,
      mailvera LIKE zhr_az_kontakt-mailvera,
      vertret LIKE zhr_az_kontakt-vertret,
  END OF xitab.

Re: Parameterproblematik (OOP-ALV)

Beitrag von c oco (Specialist / 326 / 12 / 16 ) »
du übergibst hier keine tabelle sondern eine struktur.

Code: Alles auswählen.

data: itab type table of xitab.
Mit dem Zusatz "Table" deklarierst du itab als Tabelle.

jetzt kannst du itab als parameter übergeben!

Gruß coco

Folgende Benutzer bedankten sich beim Autor c oco für den Beitrag:
Kali


Re: Parameterproblematik (OOP-ALV)

Beitrag von Kali (ForumUser / 25 / 6 / 1 ) »
Gibt es für diese Zeile einen bestimmen Zeitpunkt/Ort im Quelltext an dem man die Data-Vereinbarung schreiben muss?

Wenn ich es so mache, sagt mir die Workbench nur "Der Typ XITAB" ist unbekannt.

Aber ja... du hast Recht. Ich habe eine Struktur... Bin ich blöd! :x :?
In solche Anfänger-Fettnäpfchen trete ich noch sehr häufig.


EDIT:

Mit

Code: Alles auswählen.

DATA: itab LIKE TABLE OF xitab.
klappt es dann.

Ich danke dir !
Zuletzt geändert von Kali am 30.08.2012 14:26, insgesamt 1-mal geändert.

Re: Parameterproblematik (OOP-ALV)

Beitrag von c oco (Specialist / 326 / 12 / 16 ) »
Versuch das mal:

Code: Alles auswählen.

    Types: BEGIN OF xitab,
          name LIKE zhr_az_eintritt-name,
          datum LIKE zhr_az_eintritt-datum,
          abteilung LIKE zhr_az_eintritt-abteilung,
          mailvera LIKE zhr_az_kontakt-mailvera,
          vertret LIKE zhr_az_kontakt-vertret,
      END OF xitab.
Edit: Es sollte auch kein Vorwurf sein, sondern ein Hinweis.
Wir alle haben mal als Anfänger angefangen und es treten so oft neue
Fälle auf, in denen ich mich auch als Neuling fühle.

Re: Parameterproblematik (OOP-ALV)

Beitrag von Kali (ForumUser / 25 / 6 / 1 ) »
Werde ich gleich auch einmal testen. :)

Viele Wege führen nach Rom - sieht zumindest für mich so aus.

Danke fürs Licht ins Dunkle bringen. :)

Edit: Klappt nun übrigens alles. ALV wird korrekt ausgegeben.

Re: Parameterproblematik (OOP-ALV)

Beitrag von ewx (Top Expert / 4918 / 332 / 655 ) »
Kali hat geschrieben:Habe sie so aufgebaut:

Code: Alles auswählen.

DATA: BEGIN OF xitab OCCURS 0,
      name LIKE zhr_az_eintritt-name,
      datum LIKE zhr_az_eintritt-datum,
      abteilung LIKE zhr_az_eintritt-abteilung,
      mailvera LIKE zhr_az_kontakt-mailvera,
      vertret LIKE zhr_az_kontakt-vertret,
  END OF xitab.
Wieder ein schönes Beispiel, warum man interne Tabellen nicht mit impliziten Kopfzeilen verwenden sollte.
In diesem Fall ist

Code: Alles auswählen.

xitab[]
die interne Tabelle.
"Schöner" ist es, wenn du - so wie von coco geschrieben - mit Types arbeitest und einmal den Arbeitsbereich und einmal die interne Tabelle zum Arbeitsbereich definierst.

Seite 1 von 1

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Stücklisten
vor einer Stunde von Selma.schwarz 1 / 10
Belege
vor einer Stunde von Selma.schwarz 1 / 5
Belege
vor einer Stunde von Selma.schwarz 1 / 4

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

Stücklisten
vor einer Stunde von Selma.schwarz 1 / 10
Belege
vor einer Stunde von Selma.schwarz 1 / 5
Belege
vor einer Stunde von Selma.schwarz 1 / 4

Unbeantwortete Forenbeiträge

Stücklisten
vor einer Stunde von Selma.schwarz 1 / 10
Belege
vor einer Stunde von Selma.schwarz 1 / 5
Belege
vor einer Stunde von Selma.schwarz 1 / 4