FuBa Export-Parameter

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

FuBa Export-Parameter

Beitrag von miho (ForumUser / 46 / 10 / 0 ) »
Hallo zusammen,

ich habe das Problem, dass ich den Bezugstyp meines Export-Parameters erst im Laufe des Programms festlegen möchte:
"tab_1 TYPE DATA".
Im Laufe des Programms weise ich folgendes zu:
"CREATE DATA tab_1 TYPE TABLE OF (QUERYTABLE)" wobei (Querytable) ein mitgegebener Parameter ist, wie z.B. Icons. Hierzu legt er mir dann auch eine passende Struktur an...

Code: Alles auswählen.

LOOP AT DATA INTO stk_DATA.
    ASSIGN tab_1->* TO <Dyn_tab>.
"hier wird <Dyn_Rec" mit Daten gefüttert
    INSERT <Dyn_Rec> INTO TABLE <Dyn_tab>.
    INSERT <Dyn_Rec> INTO TABLE tab_1. "<<<<<<<<<<<<<<<<<<< Fehlermeldung: ist keine interne Tabelle.. 
"Wie generiere ich aus tab_1 eine Interne Tabelle mit dem Typ Querytable? Im Debugger werden mir die gewünschten Einträge unter tab_1->* angezeigt. kann ich diese nicht einer Tabelle einfach "anhängen?" 
   UNASSIGN <Dyn_tab>.
  ENDLOOP.
BREAK-POINT.
Wenn ich dem Exportparameter: tab_1 TYPE DATA -> gleich den Tabellentyp mitgebe, den ich auch über (querytable) mitgebe, ist das alles kein Problem. Nur möchte ich ja nicht DEN einen Typ mitgeben, sondern den über den (querytable) mitgegebenen Tabellentyp.. :(
Bin langsam am absoluten Ende meiner Ratlosigkeit und freue mich über jede Hilfe!!.. :(

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


Re: FuBa Export-Parameter

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
Hi miho,

tab_1 ist nur die Referenz auf ein Datenobjekt. An den Tabelleninhalt kommst du nur über <dyn_tab>. Das ->* derferenziert den Zeiger. Du musst dir das so vorstellen, das tab_1 auf eine blackbox zeigt, von der du zwar weißt, dass da was drin ist, aber nicht was. sobald du mit ->* derefernzierst, schaust du in das innere dieser Blackbox und setzt einen Zeiger ( also <dyn_tab> ) auf das Innere.
Sobald du anfängst mit dynamischen Strukturen und Tabellen zu arbeiten, kannst du nur noch mit Zeigern arbeiten und leider nicht auf die herkömmliche Weise dir eine Tabelle anlegen. Das ist leider das Prinzip dieser dynamischen Programmierung.

Zusammenfassend bedeutet dass, dass du in deinem FuBa den Exportparameter tab_1 als referenz anlegen musst, sprich als tab_1 TYPE REF TO DATA. Du bekommst dann als Exportparameter diese eben erwähnte Blackbox auf die du nur mit Zeigern zugreifen kannst. Das verkompliziert die weitere Programmierung zwar etwas, aber dafür bleibst du absolut dynamisch.

Hoffe das hat dir etwas weiter geholfen? Scheint ja mehr um Verständnis- als um Coding-Probleme zu gehen. :)
Gruß,
der Matze

Re: FuBa Export-Parameter

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
hi!

Eine Möglichkeit gäbe es noch:
Du übergibst die Tabelle TAB_1 als Type ANY TABLE (= standard, sorted und hashed) oder INDEX TABLE (= standard und sorted)
Im Programm ermittelst du mit RTTI den Zeilentyp und kannst dir so z.B. auch die QUERYTABLE-Variable ersparen.

Beim Aufruf des FuBa gibst du dann einfach eine interne Tabelle an. Über dessen Aufbau wird dann die Programmlogik in dem FuBa gesteuert.

Beispiel:

Code: Alles auswählen.

lr_tabledescr ?= cl_abap_typedescr=>describe_by_data( tab_1 ).
lr_datadescr = lr_tabledescr->get_table_linetype( ).
ld_querytable = lr_datadescr->get_absolute_name( ). "Oder war es get_relative_name???
select *
  from (ld_querytable)
  into table tab_1.
Wobei hier noch jede Menge Fehlerprüfungen fehlen. :wink:

lg ADT
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

Seite 1 von 1

Vergleichbare Themen

8
Antw.
1916
Views
FuBa Input und Export Parameter
von HH_ABAP » 09.01.2019 16:30 • Verfasst in ABAP® für Anfänger
0
Antw.
1186
Views
Export-Parameter Suchhilfe
von Mr. ABAP » 13.04.2006 15:23 • Verfasst in Dialogprogrammierung
2
Antw.
1078
Views
Export Parameter als Tabelle SE11
von HH_ABAP » 14.01.2019 09:46 • Verfasst in ABAP® für Anfänger
1
Antw.
1912
Views
Suchhilfe Für Listbox & Export Parameter
von SwordMaster » 22.06.2006 12:46 • Verfasst in ABAP® Core
5
Antw.
3752
Views
Parameter NAME im FuBa READ_TEXT
von Nordlicht » 23.08.2006 10:10 • Verfasst in ABAP® Core

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Daten an Tabelle binden
vor 6 Stunden von Bright4.5 3 / 1478
Regex in where
vor 7 Stunden von tar 6 / 144
Programm anlegen mit Vorlage
vor 22 Stunden von DeathAndPain 2 / 126
IT0024 Qualifikationen CP-ID
vor 23 Stunden von DeathAndPain 2 / 357

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

Daten an Tabelle binden
vor 6 Stunden von Bright4.5 3 / 1478
Regex in where
vor 7 Stunden von tar 6 / 144
Programm anlegen mit Vorlage
vor 22 Stunden von DeathAndPain 2 / 126
IT0024 Qualifikationen CP-ID
vor 23 Stunden von DeathAndPain 2 / 357

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9821