Erstellen einer Factory-Methode (Instanzmethode) Thema ist als GELÖST markiert

Getting started ... Alles für einen gelungenen Start.
21 Beiträge • Vorherige Seite 2 von 2 (current)
21 Beiträge Vorherige Seite 2 von 2 (current)

Re: Erstellen einer Factory-Methode (Instanzmethode)

Beitrag von yuro (ForumUser / 26 / 8 / 0 ) »
Kann mir keiner helfen? :(

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


Re: Erstellen einer Factory-Methode (Instanzmethode)

Beitrag von yuro (ForumUser / 26 / 8 / 0 ) »
Ich bin es jetzt mal so in etwa angegangen, indem ich meinem "oref" Objekt ein EXPORTING hinterlegt habe:

Code: Alles auswählen.

CLASS lcl_auto_agent IMPLEMENTATION.
  METHOD ausgabe.
    CREATE OBJECT oref EXPORTING i_autotyp = ' '.
  ENDMETHOD.
ENDCLASS.
Allerdings kann er mein "kennzeichen"-value nicht greifen
Fehler: Die Methode "KENNZEICHEN" ist unbekannt bzw. PROTECTED oder PRIVATE.

Definition Auto:

Code: Alles auswählen.

CLASS lcl_auto DEFINITION CREATE PRIVATE FRIENDS lcl_auto_agent.
  PUBLIC SECTION.
...
  DATA: kennzeichen(10) TYPE c.

 METHODS:constructor IMPORTING i_kennzeichen TYPE csequence,
...
ENDCLASS.


Implementierung Auto:

Code: Alles auswählen.

CLASS lcl_auto IMPLEMENTATION.

  METHOD constructor.
    ...
    kennzeichen   = i_kennzeichen.
  ENDMETHOD.

Code: Alles auswählen.

CLASS lcl_ausgabe IMPLEMENTATION.
  METHOD main.
    DATA: fahrzeug TYPE REF TO lcl_auto,
...
    fahrzeug->kennzeichen( 'F-KP69' ).
...
  ENDMETHOD.
ENDCLASS.
Die Klasse Auto ist Private, die DATA Anweisung kennzeichen ist allerdings in der Public section. Wie könnte ich sie denn noch ansprechen? Da ich diese Anweisung nicht als GETTER/SETTER Methode deklariert habe. Geht das dann nur mit Get/Set?

Re: Erstellen einer Factory-Methode (Instanzmethode)

Beitrag von a-dead-trousers (Top Expert / 4486 / 231 / 1206 ) »
Da es sich bei "kennzeichen" um eine VARIABLE bzw. ein ATTRIBUT handelt und keine METHODE ist die korrekte Syntax für den Zugriff darauf:

Code: Alles auswählen.

fahrzeug->kennzeichen = 'F-KP69'.
Schöner wäre es natürlich ohne PUBLIC-Attribut und mit eigenen GET-/SET-Methoden zu arbeiten.
Also:

Code: Alles auswählen.

METHODS get_kennzeichen RETURNING r_kennzeichen TYPE char10.
METHODS set_kennzeichen IMPORTING i_kennzeichen TYPE csequence.
lg ADT

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
yuro

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: Erstellen einer Factory-Methode (Instanzmethode)

Beitrag von ralf.wenzel (Top Expert / 4011 / 209 / 283 ) »
yuro hat geschrieben:Kann mir keiner helfen? :(
Ich habe dich durchaus noch auf dem Zettel. Aber ich habe gerade eine (von insgesamt zwei in diesem Jahr) Woche Urlaub. Meine Familie hängt mir ein massives Stück Beton um den Hals und versenkt mich in der Elbe, wenn ich meinen Rechner auch nur auspacke.

Und auf dem iPhone ist das ziemlich beschwerlich mit Zitaten und so....
Bild
Ralf Wenzel Heuristika SAP-Development -- 25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Erstellen einer Factory-Methode (Instanzmethode)

Beitrag von yuro (ForumUser / 26 / 8 / 0 ) »
a-dead-trousers hat geschrieben:Da es sich bei "kennzeichen" um eine VARIABLE bzw. ein ATTRIBUT handelt und keine METHODE ist die korrekte Syntax für den Zugriff darauf:

Code: Alles auswählen.

fahrzeug->kennzeichen = 'F-KP69'.
Schöner wäre es natürlich ohne PUBLIC-Attribut und mit eigenen GET-/SET-Methoden zu arbeiten.
Also:

Code: Alles auswählen.

METHODS get_kennzeichen RETURNING r_kennzeichen TYPE char10.
METHODS set_kennzeichen IMPORTING i_kennzeichen TYPE csequence.
lg ADT
Ich idiot.. natürlich darf ich sie dann nicht als Methode schreiben haha :o
Dankeeeeee dir nochmal.. manchmal überlese ich Dinge ohne zu merken was für ein Fehler ich gemacht habe.
Ja bei der Aufgabe sollte ich eins als Variable lassen während die anderen 3 über GET/SET Methoden abgearbeitet werden, sonst hätte ich die Kennzeichen-Variable auch als GET/SET verarbeitet.

@ralf
Keine Ursache die Familie geht vor und der Urlaub :D

Re: Erstellen einer Factory-Methode (Instanzmethode)

Beitrag von ralf.wenzel (Top Expert / 4011 / 209 / 283 ) »
Offensichtlich würde dir bereits geholfen ;)
Bild
Ralf Wenzel Heuristika SAP-Development -- 25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing


Aktuelle Forenbeiträge

Feldroutine ADSO Transformation
vor einer Woche von codemaster1 2 / 83578
Stücklisten
vor einer Woche von Selma.schwarz 1 / 85244

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.

Vergleichbare Themen

Factory-Methode dynmisieren....
von ralf.wenzel » 31.03.2015 16:01
Instanzmethode in WF-Aufgabe aufrufen?
von bapimueller » 30.09.2019 20:42
RFC-fähiger FuBa soll Instanzmethode aufrufen
von the.boomerang » 06.05.2011 15:03
cl_salv_table=>factory icon wird nicht nach event angezeigt
von c oco » 23.08.2012 17:57
cl_salv_table=>factory "lt_bkpf ist nicht typkompatibel zum formalen Parameter "t_table"
von Elekam » 07.10.2020 15:59

Aktuelle Forenbeiträge

Feldroutine ADSO Transformation
vor einer Woche von codemaster1 2 / 83578
Stücklisten
vor einer Woche von Selma.schwarz 1 / 85244

Unbeantwortete Forenbeiträge

Stücklisten
vor einer Woche von Selma.schwarz 1 / 85244
Belege
vor einer Woche von Selma.schwarz 1 / 82978