Erstellen einer Factory-Methode (Instanzmethode)

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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 / 4271 / 213 / 1140 ) »
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 / 3776 / 176 / 262 ) »
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 / 3776 / 176 / 262 ) »
Offensichtlich würde dir bereits geholfen ;)
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Vergleichbare Themen

13
Antw.
4434
Views
Factory-Methode dynmisieren....
von ralf.wenzel » 31.03.2015 16:01 • Verfasst in ABAP Objects®
0
Antw.
2524
Views
Instanzmethode in WF-Aufgabe aufrufen?
von bapimueller » 30.09.2019 20:42 • Verfasst in ABAP® Core
3
Antw.
2768
Views
RFC-fähiger FuBa soll Instanzmethode aufrufen
von the.boomerang » 06.05.2011 15:03 • Verfasst in ABAP Objects®
4
Antw.
2924
Views
cl_salv_table=>factory icon wird nicht nach event angezeigt
von c oco » 23.08.2012 17:57 • Verfasst in ABAP® für Anfänger
1
Antw.
1877
Views
cl_salv_table=>factory "lt_bkpf ist nicht typkompatibel zum formalen Parameter "t_table"
von Elekam » 07.10.2020 15:59 • Verfasst in ABAP Objects®

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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.

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 4 Tagen von Lucyalison 1 / 72
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 141