Brauche HIlfe beim Coding :( Anfänger....

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

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
26 Beiträge • Vorherige Seite 2 von 2 (current)
26 Beiträge Vorherige Seite 2 von 2 (current)

Re: Brauche HIlfe beim Coding :( Anfänger....

Beitrag von a-dead-trousers (Top Expert / 4396 / 223 / 1182 ) »
hi!

Ich glaub hier ist sowas in der Art gefragt:

Code: Alles auswählen.

METHOD get_avg_percentage.
  DATA:
    lr_außen_employee TYPE REF TO lcl_field_staff.
  FIELD-SYMBOLS:
    <lr_employee> TYPE REF TO lcl_employee.
  LOOP AT me->mt_employees ASSIGNING <lr_employee>.
    TRY.
      r_außen_employee ?= <lr_employee>.
* Hier rein, was zu machen ist, wenn es sich beim Mitarbeiter um einen Außendienst-Mitarbeiter handelt
    CATCH cx_root.
* Einfach ALLE Fehler (auch vom Casting) mal abfangen. Braucht vorerst (im Sinne der Aufgabenstellung) keine weitere Verarbeitung.
    ENDTRY.
  ENDLOOP.
ENDMETHOD.
Wenn du die speziellen Casting-Exception abfangen möchtest schau bitte in der ABAP-Hilfe nach welche das sein können.
Bei den Operatoren -> Casting-Operator.

lg ADT

EDIT.: muhahaha Post #666 "I'm the be(a)st"
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

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



Re: Brauche HIlfe beim Coding :( Anfänger....

Beitrag von a-dead-trousers (Top Expert / 4396 / 223 / 1182 ) »
Bin ich niemand?
Ne, ich galub du hast die 2te Seite übersehen :wink:
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: Brauche HIlfe beim Coding :( Anfänger....

Beitrag von black_adept (Top Expert / 4090 / 127 / 940 ) »
Hallo Trulchen,

du fragst was DOWNCAST ist. Dein von dir selbst definierter Status lautet "StudentIn". Ich gehe jetzt einfach mal davon aus, dass ihr dann auch Vorlesungs- oder sonstige Schulungsunterlagen habt, in denen du genau das nachlesen könntest.
Ich habe das jetzt schon mehrfach erwähnt - ein Forum ersetzt kein Lehrbuch/Schulung/Vorlesung.

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
Unit605

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Brauche HIlfe beim Coding :( Anfänger....

Beitrag von Trulchen (Specialist / 241 / 4 / 1 ) »
Ja habe die zweite Seite übersehn... sorry !
Danke :) Ich teste gleich mal ob es funktioniert ! :)


Ja bin Studentin , aber erst ab 1 Oktober!! Derzeit im Praktium im Betrieb ( BA Studium )
Habe also noch keine Unterlagen um nachzu lesen ! EInziges Material ist das Internet das ich habe !

Re: Brauche HIlfe beim Coding :( Anfänger....

Beitrag von black_adept (Top Expert / 4090 / 127 / 940 ) »
Trulchen hat geschrieben:Ja bin Studentin , aber erst ab 1 Oktober!! Derzeit im Praktium im Betrieb ( BA Studium )
Habe also noch keine Unterlagen um nachzu lesen ! EInziges Material ist das Internet das ich habe !
elch.gif
Aber deine Frage bezog sich auf den Inhalt der von dir zitierten Aufgabenstellung. Wo kommt denn diese Aufgabe her wenn nicht aus irgendwelchen Schulungsunterlagen.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Brauche HIlfe beim Coding :( Anfänger....

Beitrag von Trulchen (Specialist / 241 / 4 / 1 ) »
Sagt dir BA Studium etwas?

Auch bekannt als Duales Studium... hier in BW!

heißt 3 Monate Betrib, 3 Monate Hochschule. Durchgängig Gehalt ;)
Und ich bin derzeit im Vorpraktikum bevor es zur Hochschule geht.
Das Tutorial habe ich von meinem Kollegen bekommen.... sind glaub Tutorials direkt von SAP....
Vor den Übungen wird es meistens erklärt, aber nur Kurz ohne irgendwelches Coding.... Deswegen steh ich als da wie der Ochs vorm Berg ;)
Aber nur noch heute ! Am Montag bin ich dann an der Hochschule (Vorkurse)

Re: Brauche HIlfe beim Coding :( Anfänger....

Beitrag von black_adept (Top Expert / 4090 / 127 / 940 ) »
Wat denn nu'? Im vorletzten Posting schreibst du, dass du keine Unterlagen hast sondern nur das Internet - jetzt ist auf einmal ein Tutorial da. Mein inherenter Syntaxchecker gibt mir da eine Konsistenzfehlermeldung aus.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Brauche HIlfe beim Coding :( Anfänger....

Beitrag von Alexoberzell (ForumUser / 2 / 1 / 0 ) »
Hallo Liebe Leute,

Erstmal vielen Dank für die vielen Anregungen die ich mir bereits aus diesem Forum holen konnte.
Nun habe ich diesen alten Thread gefunden und arbeite gerade an selbiger Aufgabe.

Mein Problem ist, ich schaffe es einfach nicht in der print-Methode meines lcl_department die Mitarbeiter mit auszugeben. Ich habe jetzt schon mehrfach die beiligenden Erklärungen zur Aufgabe gelesen und komme einfach nicht selbst drauf.

Über jeden Tipp oder Anregung wäre ich sehr froh.

Hier einmal der Code meines Include:

Code: Alles auswählen.

*&---------------------------------------------------------------------*
*& Include          ZZ_1097_COMPANY_CLASSES
*&---------------------------------------------------------------------*
Class lcl_employee DEFINITION.

  PUBLIC SECTION.



 Methods: set_name IMPORTING im_name type string,
          set_firstname importing im_firstname type string,
          set_address importing im_address type string.

 Methods get_name RETURNING Value(re_name) type string.
 Methods get_firstname RETURNING Value(re_firstname) type string.
 Methods get_address RETURNING Value(re_address) type string.
 Methods get_dob RETURNING Value(re_dob) type d.
 Methods get_base_salary RETURNING Value(re_base_salary) type i.
 Methods get_salary RETURNING VALUE(re_salary) type i.
 Methods get_full_name RETURNING Value(re_full_name) type string.
 Methods get_n_o_employees RETURNING VALUE(re_n_o_employees) type i.
 Methods Constructor importing im_name type string im_firstname type string im_base_salary type i im_dob type d.
 Methods print.
 Methods get_age Returning Value(re_age) type i.
 Methods change_base_salary IMPORTING im_amount type i.






  PRIVATE SECTION.


         Methods set_dob importing im_dob type d.
         Methods init_base_salary IMPORTING im_base_salary type i.




 Data: n_o_employees type i value  0,
       name type string,
       firstname type string,
       address type string,
       dob type d,
       base_salary type i.


















Endclass.

Class lcl_employee IMPLEMENTATION.


      Method set_name.
        name = im_name.
        Endmethod.
      Method set_firstname.
        firstname = im_firstname.
        ENDMETHOD.
      Method set_address.
        address = im_address.
        ENDMETHOD.
      Method set_dob.
        dob = im_dob.
        ENDMETHOD.
      Method get_name.
        ENDMETHOD.
      Method get_firstname.
        ENDMETHOD.
      Method get_address.
        ENDMETHOD.
      Method get_dob.

        ENDMETHOD.
      Method get_base_salary.

        ENDMETHOD.
      Method get_salary.
        Data age type i.
        age = get_age( ).
   IF age between 40 and 50.
     re_salary = base_salary * '1.05'.
     Elseif age > 50.
       re_salary = base_salary * '1.10'.
     ELSE.
       re_salary = base_salary.
   ENDIF.


        ENDMETHOD.
      Method get_full_name.

        CONCATENATE firstname name into re_full_name SEPARATED BY ','.
        ENDMETHOD.
      Method get_n_o_employees.

        add 1 to re_n_o_employees.
        n_o_employees = re_n_o_employees.
        re_n_o_employees = sy-tabix.
        Endmethod.
      Method init_base_salary.
      IF im_base_salary LT 0.
        base_salary = 0.
        Else.
          base_salary = im_base_salary.
        ENDIF.

        Endmethod.

      Method Constructor.
        name = im_name.
        firstname = im_firstname.
        base_salary = im_base_salary.
        dob = im_dob.
      add 1 to n_o_employees.
      Endmethod.
      Method print.
        Data: full_name type string,
              salary type i,
              age type i.
        full_name = get_full_name( ).
        salary = get_salary( ).
        age = get_age( ).

        Write: / 'Name:' ,  full_name,
              'Addresse:' ,  address ,
              'Gehalt:' ,  salary ,
              'Geburtsdatum:' ,  dob DD/MM/YYYY ,
              'Alter:' ,  age.


        Endmethod.

Method get_age.
  Data age1 type i.
  age1 = sy-datum - dob.
  re_age = age1 / 365.


  Endmethod.

Method change_base_salary.
  base_salary = base_salary - im_amount.

  IF base_salary < 0.
    base_salary = 0.

  ENDIF.


  Endmethod.

Endclass.

CLASS lcl_department DEFINITION.
  PUBLIC SECTION.
    METHODS:
       constructor IMPORTING iv_abteilungsname TYPE c,
       set_abteilungsname IMPORTING  iv_abteilungsname TYPE c,
       get_abteilungsname RETURNING value(rv_abteilungsname) TYPE string,
       add_employee IMPORTING im_employees TYPE REF TO lcl_employee ,
       print.
  PRIVATE SECTION.
    DATA:
          mv_abteilungsname(20) TYPE c,
          it_employees TYPE STANDARD TABLE OF REF TO lcl_employee with NON-unique default key.

ENDCLASS.

CLASS lcl_department IMPLEMENTATION.
  METHOD set_abteilungsname.

    mv_abteilungsname = iv_abteilungsname.
  ENDMETHOD.

  METHOD get_abteilungsname.
    rv_abteilungsname = mv_abteilungsname.
  ENDMETHOD.

  METHOD add_employee.
  append im_employees to it_employees.
  ENDMETHOD.

  METHOD constructor.
    mv_abteilungsname = iv_abteilungsname.
  ENDMETHOD.

  METHOD print.


Write: / 'Name:' ,  it_employees-full_name,
              'Addresse:' ,  address ,
              'Gehalt:' ,  salary ,
              'Geburtsdatum:' ,  dob DD/MM/YYYY ,
              'Alter:' ,  age.










       WRITE: / 'Abteilung:', mv_abteilungsname,
           / .



  ENDMETHOD.                    "print



ENDCLASS.
Und hier einmal mein Hauptprogramm:

Code: Alles auswählen.

*&---------------------------------------------------------------------*
*& Report ZZ_3057_COMPANY
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ZZ_3057_COMPANY.

INCLUDE ZZ_1097_COMPANY_CLASSES.
Data r_employee type ref to lcl_employee.

Data r_department type ref to lcl_department.



START-OF-SELECTION.

r_department = New lcl_department( iv_abteilungsname = 'Einkauf' ).
r_employee = NEW lcl_employee( im_name = 'Schnetz' im_firstname = 'Jürgen' im_base_salary = '12000' im_dob = '19700111' ).
r_employee->set_address( Exporting im_address = 'Superweg 5 72488 Sigmaringen' ).
R_department->add_employee( R_employee ).


r_department->print( ).
Ich hoffe, ich habe das ganze nun nicht zweimal gepostet, beim ersten mal hatte ich den Browser ausversehen mittendrinnen geschlossen.

Ich bedanke mich schonmal herzlich im Voraus.

Mit den besten Grüßen
Alex

Re: Brauche HIlfe beim Coding :( Anfänger....

Beitrag von a-dead-trousers (Top Expert / 4396 / 223 / 1182 ) »
Mit LOOP AT hast du eine Schleife über alle Einträge einer Tabelle.
Und dann musst du nur noch die PRINT-Methode der jeweiligen Instanz aufrufen.

Code: Alles auswählen.

METHOD print.
  LOOP AT me->it_employees ASSIGNING FIELD-SYMBOLS(<lr_employee>).
    <lr_employee>->pint( ).
  ENDLOOP.
ENDMETHOD.
"me" ist der Zeiger auf die aktuelle Instanz. Ich verwend den gerne um besser zwischen Variablen der Methode und Variablen des Objektes (Attribute) zu unterscheiden.
Die Anweisung "FIELD-SYMBOLS()" erzeugt die entsprechende Variable bezogen auf den Kontext. Damit erspart man sich eine eigene Zeile für die Definition. (ab 7.40)
Feld-Symbole verwende ich desshalb gerne weil sie bei manchen Anweisungen "leichter" verwendet werden können als Referenzvariablen.

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

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: Brauche HIlfe beim Coding :( Anfänger....

Beitrag von Alexoberzell (ForumUser / 2 / 1 / 0 ) »
Vielen Dank. Das hat mir sehr weitergeholfen!

Vergleichbare Themen

5
Antw.
1914
Views
Ich Brauche Ihre Hilfe
von CSZ_Berater » 18.09.2017 10:38 • Verfasst in ABAP® für Anfänger
16
Antw.
5746
Views
Brauche Hilfe für Datenbankabfrage mit InnerJoin
von thomasxy » 01.02.2008 08:09 • Verfasst in ABAP® für Anfänger
4
Antw.
2757
Views
Brauche Hilfe zu Update nach Join in ITAB
von laola » 23.07.2008 16:42 • Verfasst in ABAP® für Anfänger
18
Antw.
8365
Views
Hilfe-Gehaltvorstellung-Anfänger
von Gehaltvorstellung » 05.09.2012 13:45 • Verfasst in ABAP® für Anfänger
27
Antw.
8534
Views
Blutiger Anfänger braucht Hilfe
von Fian » 20.04.2006 15:54 • Verfasst in ABAP® für Anfänger

Ü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

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 9 Stunden von black_adept gelöst 23 / 3633
User Exit EXIT_RQCPRM10_001
vor 10 Stunden von a-dead-trousers 2 / 230
Trennen Strasse und Hausnummer
vor 15 Stunden von payten 13 / 10565
Daten an Tabelle binden
Gestern von Lukas Sanders 2 / 1282

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.

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 9 Stunden von black_adept gelöst 23 / 3633
User Exit EXIT_RQCPRM10_001
vor 10 Stunden von a-dead-trousers 2 / 230
Trennen Strasse und Hausnummer
vor 15 Stunden von payten 13 / 10565
Daten an Tabelle binden
Gestern von Lukas Sanders 2 / 1282

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2827
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9412