<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Class hierarchy in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/class-hierarchy/m-p/3087692#M732312</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sorry,&lt;/P&gt;&lt;P&gt;but I think I don't explain my problem very well:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have Z2 derived from Z1 derived from C1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now I have a method m1 in C1 which was ridefined in Z1 and ridefined more in Z2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm writing in Z2-&amp;gt;m1 method: If Iwant to call the Z1-&amp;gt;m1 method, I write the follow instruction:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD super-&amp;gt;m1.  " -&lt;/P&gt;&lt;HR originaltext="---" /&gt;&lt;P&gt; I can do this without any problem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But If I want to call the C1-&amp;gt;m1 method, what is the instruction I have to write, inside Z2-&amp;gt;m1?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope I explain better, now.&lt;/P&gt;&lt;P&gt;Best Regards&lt;/P&gt;&lt;P&gt;Raffaele.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 05 Dec 2007 14:38:54 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-12-05T14:38:54Z</dc:date>
    <item>
      <title>Class hierarchy</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/class-hierarchy/m-p/3087688#M732308</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a standard class C1 e two custom class Z1 and Z2 with the follow hierarchy scheme:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Z2 derived from Z1 derived from C1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I was in a Z2 method, can i call directly a C1 method?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Raffaele&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Dec 2007 10:41:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/class-hierarchy/m-p/3087688#M732308</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-12-05T10:41:33Z</dc:date>
    </item>
    <item>
      <title>Re: Class hierarchy</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/class-hierarchy/m-p/3087689#M732309</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes, you can.&lt;/P&gt;&lt;P&gt;It's fundamental that the C1 method is declared at least as Protected (or Public), which make the method visible to all subclasses.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps,&lt;/P&gt;&lt;P&gt;R.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ciao!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Dec 2007 13:02:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/class-hierarchy/m-p/3087689#M732309</guid>
      <dc:creator>former_member199581</dc:creator>
      <dc:date>2007-12-05T13:02:14Z</dc:date>
    </item>
    <item>
      <title>Re: Class hierarchy</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/class-hierarchy/m-p/3087690#M732310</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sorry, but can you write me an example for the syntax of the call?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Grazie &lt;SPAN __jive_emoticon_name="happy"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Raffaele&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Dec 2007 13:47:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/class-hierarchy/m-p/3087690#M732310</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-12-05T13:47:19Z</dc:date>
    </item>
    <item>
      <title>Re: Class hierarchy</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/class-hierarchy/m-p/3087691#M732311</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Copy and Paste this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
REPORT  yrobscratch.

*---------------------------------------------------------------------*
*       CLASS c1 DEFINITION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS c1 DEFINITION.

  PUBLIC SECTION.

    METHODS: m1.

  PROTECTED SECTION.

    METHODS: m2.

ENDCLASS.                    "c1 DEFINITION

*---------------------------------------------------------------------*
*       CLASS c2  INHERITING FRO
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS c2 DEFINITION INHERITING FROM c1.

  PUBLIC SECTION.

    METHODS: m3.

  PRIVATE SECTION.

    METHODS: m4.

ENDCLASS.                    "c2  INHERITING FRO

*---------------------------------------------------------------------*
*       CLASS z1  INHERITING FRO
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS z1 DEFINITION INHERITING FROM c2.

  PUBLIC SECTION.

    METHODS: call_m2.

ENDCLASS.                    "z1  INHERITING FRO

*---------------------------------------------------------------------*
*       CLASS c1 IMPLEMENTATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS c1 IMPLEMENTATION.

  METHOD m1.

    WRITE: /'Metodo M1 - Classe C1 - Pubblico'.

  ENDMETHOD.                    "m1

  METHOD m2.

    WRITE: /'Metodo M2 - Classe C1 - Protetto'.

  ENDMETHOD.                    "m2

ENDCLASS.                    "c1 IMPLEMENTATION

*---------------------------------------------------------------------*
*       CLASS c2 IMPLEMENTATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS c2 IMPLEMENTATION.

  METHOD m3.

    WRITE: /'Metodo M3 - Classe C2 - Pubblico'.

  ENDMETHOD.                    "m3

  METHOD m4.

    WRITE: /'Metodo M4 - Classe C2 - Privato'.

  ENDMETHOD.                    "m4

ENDCLASS.                    "c2 IMPLEMENTATION

*---------------------------------------------------------------------*
*       CLASS z1 IMPLEMENTATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS z1 IMPLEMENTATION.

  METHOD call_m2.

    WRITE: 'Metodo call_M2 - Classe Z1 - Pubblico - Chiamo il metodo M2 di C1:'.
    me-&amp;gt;m2( ).

  ENDMETHOD.                                                "call_m2

ENDCLASS.                    "z1 IMPLEMENTATION


START-OF-SELECTION.

  DATA: theClass TYPE REF TO z1.

  CREATE OBJECT theClass.

  theClass-&amp;gt;call_m2( ).

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You see that call_M2 method doesn't call a Public method of C1, but a Protected, as I was saying before.&lt;/P&gt;&lt;P&gt;Inside classes you can play with method calls, it will show you the inheritance principle! &lt;SPAN __jive_emoticon_name="wink"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps,&lt;/P&gt;&lt;P&gt;R.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Dec 2007 14:06:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/class-hierarchy/m-p/3087691#M732311</guid>
      <dc:creator>former_member199581</dc:creator>
      <dc:date>2007-12-05T14:06:28Z</dc:date>
    </item>
    <item>
      <title>Re: Class hierarchy</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/class-hierarchy/m-p/3087692#M732312</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sorry,&lt;/P&gt;&lt;P&gt;but I think I don't explain my problem very well:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have Z2 derived from Z1 derived from C1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now I have a method m1 in C1 which was ridefined in Z1 and ridefined more in Z2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm writing in Z2-&amp;gt;m1 method: If Iwant to call the Z1-&amp;gt;m1 method, I write the follow instruction:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD super-&amp;gt;m1.  " -&lt;/P&gt;&lt;HR originaltext="---" /&gt;&lt;P&gt; I can do this without any problem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But If I want to call the C1-&amp;gt;m1 method, what is the instruction I have to write, inside Z2-&amp;gt;m1?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope I explain better, now.&lt;/P&gt;&lt;P&gt;Best Regards&lt;/P&gt;&lt;P&gt;Raffaele.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Dec 2007 14:38:54 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/class-hierarchy/m-p/3087692#M732312</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-12-05T14:38:54Z</dc:date>
    </item>
    <item>
      <title>Re: Class hierarchy</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/class-hierarchy/m-p/3087693#M732313</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;...mmm let me try this and I'll say you something!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Dec 2007 15:23:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/class-hierarchy/m-p/3087693#M732313</guid>
      <dc:creator>former_member199581</dc:creator>
      <dc:date>2007-12-05T15:23:29Z</dc:date>
    </item>
    <item>
      <title>Re: Class hierarchy</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/class-hierarchy/m-p/3087694#M732314</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I think, but I can go wrong, that this simply not possibile until you define a service method that re-distributes the call.&lt;/P&gt;&lt;P&gt;As abap documentation says, ABAP takes over the principle of single inheritance. This means that a subclass can only have ONE superclass.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can only re-distribute the call, like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
*---------------------------------------------------------------------*
*       CLASS c1 DEFINITION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS c1 DEFINITION.

  PUBLIC SECTION.

    METHODS: m1.

  PROTECTED SECTION.

    METHODS: m2.

ENDCLASS.                    "c1 DEFINITION

*---------------------------------------------------------------------*
*       CLASS c2  INHERITING FRO
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS c2 DEFINITION INHERITING FROM c1.

  PUBLIC SECTION.

    METHODS: m1 REDEFINITION.
    METHODS: m3.

  PRIVATE SECTION.

    METHODS: m4.

ENDCLASS.                    "c2  INHERITING FRO

*---------------------------------------------------------------------*
*       CLASS z1  INHERITING FRO
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS z1 DEFINITION INHERITING FROM c2.

  PUBLIC SECTION.

    METHODS: m1 REDEFINITION.

    METHODS: call_m2.

ENDCLASS.                    "z1  INHERITING FRO

*---------------------------------------------------------------------*
*       CLASS c1 IMPLEMENTATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS c1 IMPLEMENTATION.

  METHOD m1.

    WRITE: /'Metodo M1 - Classe C1 - Pubblico'.

  ENDMETHOD.                    "m1

  METHOD m2.

    WRITE: /'Metodo M2 - Classe C1 - Protetto'.

  ENDMETHOD.                    "m2

ENDCLASS.                    "c1 IMPLEMENTATION

*---------------------------------------------------------------------*
*       CLASS c2 IMPLEMENTATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS c2 IMPLEMENTATION.

  METHOD m1.

    WRITE: /'Metodo C2-&amp;gt;M1 - Ridefinizione di C1-&amp;gt;M1'.
* // Calls C1-&amp;gt;M1.
    super-&amp;gt;m1( ).

  ENDMETHOD.                    "m1

  METHOD m3.

    WRITE: /'Metodo M3 - Classe C2 - Pubblico'.

  ENDMETHOD.                    "m3

  METHOD m4.

    WRITE: /'Metodo M4 - Classe C2 - Privato'.

  ENDMETHOD.                    "m4

ENDCLASS.                    "c2 IMPLEMENTATION

*---------------------------------------------------------------------*
*       CLASS z1 IMPLEMENTATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS z1 IMPLEMENTATION.

  METHOD m1.

    WRITE: /'Metodo Z1-&amp;gt;M1 - Ridefinizione di C2-&amp;gt;M1'.
* // Calls C2-&amp;gt;M1
    super-&amp;gt;m1( ).

  ENDMETHOD.                    "m1

  METHOD call_m2.

    WRITE: 'Metodo call_M2 - Classe Z1 - Pubblico - Chiamo il metodo M2 di C1:'.
    me-&amp;gt;m2( ).

  ENDMETHOD.                                                "call_m2

ENDCLASS.                    "z1 IMPLEMENTATION


START-OF-SELECTION.

  DATA: theclass TYPE REF TO z1.

  CREATE OBJECT theclass.

  WRITE 'Stack Chiamate'.
  theclass-&amp;gt;m1( ).
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But you cannot call directly the super.super-&amp;gt;m1( ).&lt;/P&gt;&lt;P&gt;However, I'm still investigating! &lt;SPAN __jive_emoticon_name="wink"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Dec 2007 17:08:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/class-hierarchy/m-p/3087694#M732314</guid>
      <dc:creator>former_member199581</dc:creator>
      <dc:date>2007-12-05T17:08:25Z</dc:date>
    </item>
    <item>
      <title>Re: Class hierarchy</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/class-hierarchy/m-p/3087695#M732315</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ok thank you very much Roberto,&lt;/P&gt;&lt;P&gt;but I need just the syntax for super.super-&amp;gt;m1().&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1000 Grazie per la disponibilità comunque!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Dec 2007 17:13:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/class-hierarchy/m-p/3087695#M732315</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-12-05T17:13:20Z</dc:date>
    </item>
    <item>
      <title>Re: Class hierarchy</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/class-hierarchy/m-p/3087696#M732316</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;No problem! &lt;/P&gt;&lt;P&gt;Se trovo qualcosa, ti faccio sapere!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Dec 2007 17:56:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/class-hierarchy/m-p/3087696#M732316</guid>
      <dc:creator>former_member199581</dc:creator>
      <dc:date>2007-12-05T17:56:18Z</dc:date>
    </item>
  </channel>
</rss>

