Code: Alles auswählen.
CALL METHOD lcl_klasse1=>export_kostenst EXPORTING ex_kostenst = lv_atttribut.
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Hotzenplotz
Code: Alles auswählen.
CLASS-DATA:
lv_attribut TYPE ....
Code: Alles auswählen.
DATA:
lv_attribut TYPE ...
Folgende Benutzer bedankten sich beim Autor Thomas R. für den Beitrag:
Hotzenplotz
Code: Alles auswählen.
CLASS lcl_benutzerinfo DEFINITION.
PUBLIC SECTION.
CLASS-METHODS: select_userinfo.
CLASS-METHODS: export_kostenst RETURNING value(re_kostenst) TYPE xubname.
PRIVATE SECTION.
CLASS-DATA: lv_benutzer TYPE xubname,
lv_kostenst TYPE xukostl.
ENDCLASS.
*----------------------------------------------------------------------*
* CLASS lcl_benutzerinfo IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_benutzerinfo IMPLEMENTATION.
METHOD select_userinfo.
lv_benutzer = sy-uname.
SELECT SINGLE kostl FROM user_addr INTO lv_kostenst WHERE
bname = lv_benutzer.
ENDMETHOD.
METHOD export_kostenst.
re_kostenst = lv_kostenst.
ENDMETHOD.
ENDCLASS.
Code: Alles auswählen.
CLASS lcl_scanner DEFINITION.
PUBLIC SECTION.
CLASS-METHODS: get_kostenst.
PRIVATE SECTION.
CLASS-DATA: lv_kostenst TYPE xukostl.
ENDCLASS. "lcl_scanner DEFINITION
*----------------------------------------------------------------------*
* CLASS lcl_scanner IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_scanner IMPLEMENTATION.
METHOD get_kostenst.
lv_kostenst = lcl_benutzerinfo=>export_kostenst( ).
ENDMETHOD. "get_kostenstelle
ENDCLASS.
a-dead-trousers hat geschrieben:Beim zweiten Aufruf fehlt definitiv die Quell-Variable:Zum generellen Problem kann ich nichts sagen, weil deine Code-Fragmente zuwenig "Inhalt" haben. Wo bzw. wie ist lv_atttribut definiert?Code: Alles auswählen.
CALL METHOD lcl_klasse1=>export_kostenst EXPORTING ex_kostenst = lv_atttribut.
Hotzenplotz hat geschrieben:Hallo zusammen!
Ich habe mich wieder dem Thema angenommen und glaube auch die Lösung gefunden zu haben. Ausgangssituation ist:Dann wollte ich von einer zweiten Klasse aus auf das vorherig deklariert und zugewiesene priv. Attribut lv_kostenst zugreifen:Code: Alles auswählen.
CLASS lcl_benutzerinfo DEFINITION. PUBLIC SECTION. CLASS-METHODS: select_userinfo. CLASS-METHODS: export_kostenst RETURNING value(re_kostenst) TYPE xubname. PRIVATE SECTION. CLASS-DATA: lv_benutzer TYPE xubname, lv_kostenst TYPE xukostl. ENDCLASS. *----------------------------------------------------------------------* * CLASS lcl_benutzerinfo IMPLEMENTATION *----------------------------------------------------------------------* * *----------------------------------------------------------------------* CLASS lcl_benutzerinfo IMPLEMENTATION. METHOD select_userinfo. lv_benutzer = sy-uname. SELECT SINGLE kostl FROM user_addr INTO lv_kostenst WHERE bname = lv_benutzer. ENDMETHOD. METHOD export_kostenst. re_kostenst = lv_kostenst. ENDMETHOD. ENDCLASS.
Mein Fehler lag darin, dass ich die Statische Methode export_kostenst nicht mit einem Returning Parameter deklariert hatte.Code: Alles auswählen.
CLASS lcl_scanner DEFINITION. PUBLIC SECTION. CLASS-METHODS: get_kostenst. PRIVATE SECTION. CLASS-DATA: lv_kostenst TYPE xukostl. ENDCLASS. "lcl_scanner DEFINITION *----------------------------------------------------------------------* * CLASS lcl_scanner IMPLEMENTATION *----------------------------------------------------------------------* * *----------------------------------------------------------------------* CLASS lcl_scanner IMPLEMENTATION. METHOD get_kostenst. lv_kostenst = lcl_benutzerinfo=>export_kostenst( ). ENDMETHOD. "get_kostenstelle ENDCLASS.