Referenz-Variable ins Unterprogramm übergeben

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

Referenz-Variable ins Unterprogramm übergeben

Beitrag von Oliver67 (ForumUser / 2 / 0 / 0 ) »
Moin zusammen,

Innerhalb eines Loops, der eine Referenzvariable auf eine Tabelle verwendet, möchte ich ein Unterprogramm aufrufen, in dem ebenfalls auf diese Tabelle zugegriffen werden soll. Leider scheitere ich an der Übergabe der Referenzvariable.

LOOP AT t_fkkzp REFERENCE INTO DATA(lr_position).
PERFORM blabla CHANGING lr_position.
ENDLOOP.

FORM blabla CHANGING lr_position TYPE any.
IF lr_position->bukrs NE ......
ENDFORM.

Die Fehlermeldung lautet: "LR_POSITION" ist keine Referenz-Variable.

Das ANY ist nur einer von einigen Versuchen ...

hat jemand einen Tipp für mich? Dafür vielen Dank im Voraus!

VG

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


Re: Referenz-Variable ins Unterprogramm übergeben

Beitrag von wolli (ForumUser / 80 / 3 / 1 ) »
Hallo,
ich habe zwar mit dieser Variante noch nie gearbeitet.
Aber vielleicht hilft "Type ref to..." oder das "type" ganz weglassen?
LG Ramona

Re: Referenz-Variable ins Unterprogramm übergeben

Beitrag von PeterPaletti (Specialist / 350 / 32 / 97 ) »
So in etwa?

Code: Alles auswählen.

DATA gt_vbak TYPE STANDARD TABLE OF vbak.

START-OF-SELECTION.

SELECT * FROM vbak INTO TABLE gt_vbak.

LOOP AT gt_vbak REFERENCE INTO DATA(lr_vbak).
  PERFORM write_line CHANGING lr_vbak.
ENDLOOP.
*&---------------------------------------------------------------------*
*&      Form  WRITE_LINE
*---------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      <--P_LR_VBAK  text
*----------------------------------------------------------------------*
FORM write_line  CHANGING pr_vbak TYPE data.
  FIELD-SYMBOLS <line> TYPE any.
  FIELD-SYMBOLS <field> TYPE any.

  ASSIGN pr_vbak->* TO <line>.
  WRITE: /.
  DO.
    ASSIGN COMPONENT sy-index OF STRUCTURE <line> TO <field>.
    WRITE: <field>.
    IF sy-index > 4.
      EXIT.
    ENDIF.
  ENDDO. .

ENDFORM.


Re: Referenz-Variable ins Unterprogramm übergeben

Beitrag von Oliver67 (ForumUser / 2 / 0 / 0 ) »
Erst mal danke, auch wenn ich es noch nicht verstehe.

Ich habe es jetzt wie folgt implemetiert:

LOOP AT t_fkkzp REFERENCE INTO DATA(lr_position).
WRITE: lr_position->bukrs.
PERFORM blabla CHANGING lr_position.
ENDLOOP.

FORM blabla CHANGING pr_position TYPE data.
FIELD-SYMBOLS <pr_position_line> TYPE any.
FIELD-SYMBOLS <pr_position_field> TYPE any.

ASSIGN pr_position->* TO <pr_position_line>.
DO.
ASSIGN COMPONENT sy-index OF STRUCTURE <pr_position_line>
TO <pr_position_field>.
IF sy-index > 4.
RETURN.
ENDIF.
ENDDO.

IF <pr_position_line>-bukrs NE ...

ENDFORM.

Aber ich habe immer noch nicht den Dreh gefunden,
an z.B. das Feld bukrs in der Tabelle t_fkkzp heranzukommen.

Bei "<pr_position_line>-bukrs" oder "<pr_position_field>-bukrs"
bekomme ich die Meldung:
"Das Datenobjekt "<PR_POSITION_LINE>" besitzt keine Struktur und daher auch keine Komponente mit Namen "BUKRS"."

Bei "<pr_position_line>->bukrs" oder "<pr_position_field>->bukrs"
bekomme ich die Meldung:
""<PR_POSITION_LINE>" ist keine Referenz-Variable."

Das Feld bukrs in die spitzen Klammern zu nehmen, scheint auch nicht die Lösung zu sein ...

Re: Referenz-Variable ins Unterprogramm übergeben

Beitrag von Icke0801 (Specialist / 126 / 97 / 7 ) »
ggf. TYPE REF TO DATA !?!
--
Grüße aus der Endlosschleife
-= Icke =-
abapTools

Re: Referenz-Variable ins Unterprogramm übergeben

Beitrag von a-dead-trousers (Top Expert / 4414 / 224 / 1186 ) »
Oder "TYPE REF TO vbak" damit der Zugriff auf "lr_position->bukrs" auch funktioniert und man ohne die Krücke "ASSIGN COMPONENT OF ... " auskommt.
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

5
Antw.
5454
Views
Selektionstabelle an Unterprogramm übergeben
von kbit100 » 30.03.2010 09:54 • Verfasst in ABAP® für Anfänger
9
Antw.
6657
Views
Feldsymbol an Unterprogramm übergeben
von codierknecht » 13.06.2007 11:39 • Verfasst in ABAP® für Anfänger
1
Antw.
1211
Views
Ajax variable an ABAP übergeben
von KroKro » 11.08.2011 10:49 • Verfasst in ABAP® für Anfänger
3
Antw.
2920
Views
Variable über URL parameter übergeben
von Mark12 » 05.09.2005 15:12 • Verfasst in Web-Dynpro, BSP + BHTML
3
Antw.
3586
Views
Referenz-Tabelle UND Referenz-Feld f.BRGEW und NTGEW
von bohne » 22.02.2007 10:52 • 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.