interne Tabellen

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

interne Tabellen

Beitrag von niermaj (ForumUser / 55 / 0 / 0 ) »
Hallo,
habe ein problem beim vergleichen interner Tabellen.
Bsp.: Tab1 hat 10 Spalten und eine davon ist VKONT.
Tab2 hat 3 Spalten und eine Spalte hat den Wert 'VKONT'. Jedoch wird das zur Laufzeit dynamisch generiert. Ich möchte nun prüfen ob mit der Spalte von Tab2 (Wert 'VKONT') eine Spalte in Tab1 exestiert und einen Wert hat.
ungefähr so:
if tab1-(tab2-fieldname) is initial.

Geht so etwas? Kann mir da jemand helfen.

gruß
Jörg

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


Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »

Code: Alles auswählen.

data feld(30).
field-symbols <feld>.
feld = 'TAB2-VKONT'.
assign (feld) to <feld>.
if sy-subrc = 0.
*** Feld vorhanden ***
endif.
Gruß,
Enno.

Beitrag von niermaj (ForumUser / 55 / 0 / 0 ) »
Ist nicht ganz was ich meine, sorry.
Mein problem sieht eher so aus:
CASE ls_idoc_data-segnam.

WHEN 'ZTEST01'.
ls_ztest01 = ls_idoc_data-sdata.

READ TABLE lt_idoc_ctrls WITH KEY segnam = ls_idoc_data-segnam.

IF sy-subrc = 0.

if ls_ztest01-(lt_idoc_ctrls-fieldname) is initial.
raise_error.
endif.

ENDIF.



ewx hat geschrieben:

Code: Alles auswählen.

data feld(30).
field-symbols <feld>.
feld = 'TAB2-VKONT'.
assign (feld) to <feld>.
if sy-subrc = 0.
*** Feld vorhanden ***
endif.
Gruß,
Enno.

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Hi Jörg,

das ist doch das, was du meinst...

in <feld> steht dann der Wert des Feldes.
Den kannst du auch auf INITIAL abfragen.

Gruß,
Enno.

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo,

da die Felder doch dynamisch in der ersten Tabelle vorliegen sollen, müsste es statt dessen in etwa so aussehen:

Code: Alles auswählen.

FIELD-SYMBOLS:
  <fs> TYPE ANY.
CASE ls_idoc_data-segnam. 
  WHEN 'ZTEST01'. 
    ls_ztest01 = ls_idoc_data-sdata. 
    READ TABLE lt_idoc_ctrls WITH KEY segnam = ls_idoc_data-segnam. 
    IF sy-subrc = 0. 
      ASSIGN COMPONENT lt_idoc_ctrls-fieldname OF STRUCTURE ls_ztest01 TO <fs>.
      IF sy-subrc NE 0 OR
         <fs> IS INITIAL. 
        raise_error. 
      ENDIF. 
    ENDIF. 
ENDCASE.
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Moin Ereglam,

damit kannst du aber nicht speziell auf VKONT abfragen.

Gruß,
Enno.

interne Tabellen

Beitrag von niermaj (ForumUser / 55 / 0 / 0 ) »
Vielen lieben Dank. Es hat funktioniert!!!! :lol:

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo Enno,

das ist schon richtig, aber in der Anfrage von niermaj stand doch, dass es in der Tabelle Tab2 ein Feld gibt, in dem der Feldname hinterlegt ist, den er in Tab1 prüfen will. Wenn er (oder sie) halt kein VKONT in das Tabellenfeld schreibt, kann auch tatsächlich nicht Tab1-VKONT prüfen. ;)

Aber, soweit ich verstanden habe, können auch andere Werte als VKONT in Tab2-Feldname stehen. Somit ist mein Vorschlag technisch nicht falsch, oder?
Wenn das nicht der Fall ist, ist Dein Vorschlag günstiger, wobei er dann aber auch direkt tab1-vkont prüfen kann...

@niermaj
Mit welchen Verfahren hattest Du denn nun Erfolg?
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von niermaj (ForumUser / 55 / 0 / 0 ) »
Ich habe das Beispiel von Ereglam übernommen, weil VKONT nur als Beispiel zu sehen ist. Es können auch andere Werte drin stehen.

Gruß
Jörg

Seite 1 von 1

Vergleichbare Themen

3
Antw.
411
Views
4
Antw.
3401
Views
Interne Tabellen
von Fools » 19.01.2005 16:04 • Verfasst in ABAP® für Anfänger
1
Antw.
1165
Views
RFC und interne Tabellen
von Mr.Black » 23.01.2007 18:22 • Verfasst in ABAP® Core
4
Antw.
3358
Views
Interne Tabellen mit Key
von Nicole » 13.10.2004 11:04 • Verfasst in ABAP® für Anfänger
3
Antw.
2223
Views
interne tabellen
von rolle » 02.06.2005 13:13 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

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.