Tabelle an form übergeben

Getting started ... Alles für einen gelungenen Start.
47 Beiträge • Seite 1 von 4 (current) Nächste
47 Beiträge Seite 1 von 4 (current) Nächste

Tabelle an form übergeben

Beitrag von Tgut (ForumUser / 75 / 3 / 0 ) »
Hallo,
ich mal wieder. Also ich habe eine form die mir per SELECT Werte aus einer Tabelle heraussucht in Abhängigkeit von einem gobalem Wert.

Code: Alles auswählen.

FORM .....

data: l_table type table of table1,
      l_wert(20) type c.

l_wert = g_wert.

....

select  a~feld1 b~feld1  into corresponding fields of table l_table from TabelleA AS a INNER JOINTabelleB AS b on a~FeldmitID1 = b~FeldmitID1  where a~L_FeldmitID2 = L-wert.

....
perform form2 using l_table.


Dann habe ich versucht

Code: Alles auswählen.

Form2 using l_table1

Wenn ich dann versuche

Code: Alles auswählen.

DATA f_line LIKE LINE OF l_table1.
Bekomme ich die Fehlermeldung l_table1 ist keine interne Tabelle.

l_table ist aber definitiv eine interne Tabelle.

Ich möchte die oben mit Select in eine interne Tabelle geschriebenen Daten an die form übergeben und dort die Daten wiederrum als Tabelle weiter verarbeiten. Aber ich kriegs nicht hin, hab schon Bücher und Doku gewälzt, will nicht klappen :roll: .


Gruß
Tatjana

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


Re: Tabelle an form übergeben

Beitrag von Barney (Specialist / 104 / 20 / 9 ) »
Woher soll SAP bei der Deklaration der FORM-Routine wissen, welcher Typ der Parameter L_table1 hat? Da fehlt meines Erachtens die Typisierung hinter dem USING.

In diesem Sinne
Tot ziens

Re: Tabelle an form übergeben

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
hi!

Code: Alles auswählen.

FORM ... USING ... TYPE ...
Der Typ muss aber "komplett" definiert sein.

Code: Alles auswählen.

FORM ... USING ... TYPE STANDARD TABLE OF ...
geht syntaktisch (derzeit noch) nicht.
d.h. Du musst den Typ vorab per TYPES Anweisung oder im DDIC definieren.

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

Re: Tabelle an form übergeben

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
a-dead-trousers hat geschrieben:

Code: Alles auswählen.

FORM ... USING ... TYPE STANDARD TABLE OF ...
geht syntaktisch (derzeit noch) nicht.
Soll das kommen? Wann? Hab ich schon wieder was verpasst?
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Tabelle an form übergeben

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
ralf.wenzel hat geschrieben:Soll das kommen? Wann? Hab ich schon wieder was verpasst?
Ne, aber wäre IMHO eine sinnvolle Erweiterung, da es bei den Methoden ja auch funktioniert.
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: Tabelle an form übergeben

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
Tgut hat geschrieben:...
l_table ist aber definitiv eine interne Tabelle.

Ich möchte die oben mit Select in eine interne Tabelle geschriebenen Daten an die form übergeben und dort die Daten wiederrum als Tabelle weiter verarbeiten.

Code: Alles auswählen.

FORM ... USING l_table TYPE STANDARD TABLE.
FIELD-SYMBOLS: <ls_table_line> TYPE ANY.
LOOP AT l_table ASSIGNING <ls_table_line>.
...
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Tabelle an form übergeben

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Ein Tabellentyp wäre aber besser, weil TYPE ANY im Feldsymbol dazu führt, dass man keinen Zugriff auf die Spalten hat.
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Tabelle an form übergeben

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
Geht aber nicht...
Wenns sein muss definiert man sich halt in der Form eine passende Struktur und macht als erste Anweisung im Loop ein MOVE-CORRESPONDING vom Feldsymbol in die soeben definierte Struktur oder man typisiert das Feldsymbol gleich und verwendet LOOP... ASSIGNING CASTING
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Tabelle an form übergeben

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
black_adept hat geschrieben:Geht aber nicht...
Klar geht. Tabellentyp im Programm anlegen.
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Tabelle an form übergeben

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
ralf.wenzel hat geschrieben:Klar geht. Tabellentyp im Programm anlegen.
Yepp!

Code: Alles auswählen.

TYPES tt_table TYPE STANDARD TABLE OF ts_struct WITH DEFAULT KEY.

FORM do_something USING ut_table TYPE tt_table.
  FIELD-SYMBOLS <ls_line> LIKE LINE OF ut_table.
...
ENDFORM.
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: Tabelle an form übergeben

Beitrag von Tgut (ForumUser / 75 / 3 / 0 ) »
Super danke, jetzt tut's :D

Ihr habt mir schon so oft geholfen wenn ich mal wieder festhänge, echt toll.

Gruß
Tatjana

Re: Tabelle an form übergeben

Beitrag von Tgut (ForumUser / 75 / 3 / 0 ) »
Jetzt sollen die Daten in der F4_Hilfe angezeigt werden.

Code: Alles auswählen.

    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
      EXPORTING
*     DDIC_STRUCTURE         = ''
       retfield               = ' '
*     PVALKEY                = ' '
       dynpprog               = vc_repid
       dynpnr                 = vc_dynnr
*       dynprofield            = ''
*     STEPL                  = 0
     WINDOW_TITLE           = ' '
*     VALUE                  = ' '
       value_org              = 'S'
*     MULTIPLE_CHOICE        = ' '
*     DISPLAY                = ' '
*     CALLBACK_PROGRAM       = ' '
*     CALLBACK_FORM          = ' '
*     MARK_TAB               =
*   IMPORTING
*     USER_RESET             =
      TABLES
        value_tab              = ' '
*     FIELD_TAB              =
     RETURN_TAB             =  ' '
*     DYNPFLD_MAPPING        =
*   EXCEPTIONS
*     PARAMETER_ERROR        = 1
*     NO_VALUES_FOUND        = 2
*     OTHERS                 = 3

Dazu muss ich nun den Typ der value-Tab definieren. Dazu müsste ich die Daten ja sozusagen in eine Tabelle schreiben oder?

Gruß
Tatjana

Re: Tabelle an form übergeben

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

schau dir mit der SE37 den Typ an, der zu RETURNTAB gehört. Den nutzt du um dir programmintern eine lokale Tabelle von diesem Typ (TYPE TABLE OF) anzulegen. und diese lokale Tabelle ersetzt dann die ' ' im Funktionsbausteinaufruf.

EDIT:
damit wird dann die lokale Tabelle beim Rücksprung aus dem FuBa mit den Daten der Returntab gefüllt.
Gruß,
der Matze

Re: Tabelle an form übergeben

Beitrag von Tgut (ForumUser / 75 / 3 / 0 ) »
Ich möchte aber die an die Form übergebene Tabelle l_table nun in der F4-Hilfe ausgeben. Da kommt die Returntabelle noch nicht zum Einsatz.
Es hat jetzt nur mit der Struktur geklappt, bei allem anderen kommt eine Fehlermeldung (vllt. stell ich mich ja blöd an aber ist so) und wie ich krieg ich die Daten aus der Struktur raus (ich hab's versucht ohne Erfolg)?
Gruß
Tatjana

Re: Tabelle an form übergeben

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
Hallo Tatjana,

da war ich wohl gedanklich im falschen Thema. Sorry!

Schau dir mal die Übergabetabellen VALUE_TAB und FIELD_TAB des Bausteins an. Ich bin mir nicht mehr ganz sicher, aber ich meine in VALUE_TAB musst du die Tabelle mit den Werten übergeben und in FIELD_TAB musst du eine eigene Tabelle mit den Feldern die in der F4-Hilfe angezeigt werden sollen anlegen. (Gibt es sicher eine Anleitung zu im Netz)
Gruß,
der Matze

Vergleichbare Themen

3
Antw.
5898
Views
interne Tabelle an Form übergeben
von Andrzej » 17.05.2017 14:14 • Verfasst in ABAP® für Anfänger
2
Antw.
1814
Views
Nochmal Tabelle übergeben an Form
von Tgut » 12.09.2014 11:13 • Verfasst in ABAP® für Anfänger
1
Antw.
467
Views
17
Antw.
8622
Views
Interne Tabelle an Form übergeben innerhalb eines FuBa's
von shapoc » 09.05.2006 14:36 • Verfasst in ABAP® Core
5
Antw.
2281
Views
Interne Tabs an Form übergeben
von Gast » 06.04.2005 11:24 • Verfasst in ABAP® für Anfänger

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