Registration

Dear SAP Community Member,
In order to fully benefit from what the SAP Community has to offer, please register at:
http://scn.sap.com
Thank you,
The SAP Community team.
Skip to end of metadata
Go to start of metadata

===============================================
Class/Interface
===============================================
SEOCLASS(CLSNAME(30))
Class/Interface
--------------------------------------------------------------------------------------------------------
SEOCLASSDF(CLSNAME(30),VERSION(0/1))
Definition of class/interface
--------------------------------------------------------------------------------------------------------
SEOCLASSTX(CLSNAME(30),LANG)
Short description class/interface
++++++++++++++++++++++++++++++++++++++++++++++++++++
SEOFRIENDS(CLSNAME(30),REFCLSNAME(30),FRIENDTYPE(0/1),VERSION(0/1))
Friend relationship
--------------------------------------------------------------------------------------------------------
SEOMETAREL(CLSNAME(30),REFCLSNAME(30),VERSION(0/1))
Inherited Superclass and Interface
Meta relationship
--------------------------------------------------------------------------------------------------------
SEOREDEF(CLSNAME(30),REFCLSNAME(30),VERSION(0/1),MTDNAME(61))
Redefined methods for each inheritance relationship
--------------------------------------------------------------------------------------------------------
SEOTYPEPLS
Type group application
--------------------------------------------------------------------------------------------------------
Memo?
SEOCLASS?CLSTYPE
0->class
1->Interface

SEOMETAREL~RELTYPE
0->Interface composition     (i COMPRISING i_ref)
1->Interface implementation (CLASS c. INTERFACES i_ref)
2->Inheritance                (c INHERITING FROM c_ref)
5->Enhancement            ( c enhances c_ref)

SEOFRIENDS~FRIENDTYPE
0->Global Friend Relationship
1->Local Friend Relationship

SEOFRIENDS~VERSION
0->Inactive
1->Active
2->Deleted

===============================================
Class Component(Event,Method,Attribute,Type)
===============================================
SEOCOMPO(CLSNAME(30),CMPNAME(30),)
Class/Interface component
--------------------------------------------------------------------------------------------------------
SEOCOMPODF(CLSNAME(30),CMPNAME(30),VERSION(0/1),)
Definition class/interface component
--------------------------------------------------------------------------------------------------------
SEOCOMPOTX(CLSNAME(30),CMPNAME(30),LANG,)
Short description class/interface component
--------------------------------------------------------------------------------------------------------
Memo?
SEOCOMPO?CMPTYPE
1->Attribute
2->Method
3->Event
4->Type

SEOCOMPO?MTDTYPE
0->Method
1->Event handling method
2->Constructor
3->Destructor
4->Get-method of a virtual attribute
5->Set-method of a virtual attribute
6->Factory Method of a Business Class

SEOCOMPODF~EXPOSURE
0->Private
1->Protected
2->Public
--------------------------------------------------------------------------------------------------------

===============================================
Class Component's subcomponent(Method's parameter and exception)
===============================================
SEOSUBCO(CLSNAME(30),CMPNAME(30),SCONAME(30))
--------------------------------------------------------------------------------------------------------
SEOSUBCODF(CLSNAME(30),CMPNAME(30),SCONAME(30),VERSION(0/1))
--------------------------------------------------------------------------------------------------------
SEOSUBCOTX(CLSNAME(30),CMPNAME(30),SCONAME(30),LANG)
--------------------------------------------------------------------------------------------------------
Memo?
SEOSUBCO~SCOTYPE
0->Parameters
1->Exception
-----------------------------------------------------------------------------------------------------

===============================================
Relation Function
===============================================
SEO_CLASS_EXISTENCE_CHECK
SEO_CLASS_TYPEINFO_GET
SEO_ATTRIBUTE_READ_ALL
SEO_METHOD_READ_ALL
SEO_EVENT_READ_ALL
SEO_PARAMETER_READ_ALL
SEO_TYPE_READ_ALL
SEO_INHERITANC_READ
SEO_IMPLEMENTG_READ_ALL
SEO_FRIENDSHIP_READ_ALL
SEO_TYPEPUSAGE_READ_ALL
SEO_CLSDEFERRD_READ_ALL
SEO_INTDEFERRD_READ_ALL
SEO_CLASS_RESOLVE_INHERITANCE
SEO_CLASS_RESOLVE_IMPLEMENTGS

===============================================
Get Class Information Process
===============================================
cip~load_typeinfo.
   call function 'SEO_CLASS_TYPEINFO_GET'
      * - get attributes
          call function 'SEO_ATTRIBUTE_READ_ALL'
             * get all attribute originals from db(seocompo/seoo_cmptype_attribute)
             * fetch attribute definitions(seocompodf)
             * fetch texts(seocompotx)
                * care of attributes without description in modification language
                * if not found logon language,return DE language
          *extract aliases from attributes
      *-Get  Method
          call function 'SEO_METHOD_READ_ALL'
             * get all method originals from db(seocompo/seoo_cmptype_method)
             * fetch method definitions(seocompodf)
             * fetch texts(seocompotx)
                * care of method without description in modification language
                * if not found logon language,return DE language
          *extract aliases from methods
      *- Get Events
          call function 'SEO_EVENT_READ_ALL'
             * get all attribute originals from db(seocompo/seoo_cmptype_event)
             * fetch event definitions(seocompodf)
             * fetch texts(seocompotx)
                * care of event without description in modification language
                * if not found logon language,return DE language
          *extract aliases from event
      *- Get Events
          call function 'SEO_EVENT_READ_ALL'
             * get all attribute originals from db(seocompo/seoo_cmptype_event)
             * fetch event definitions(seocompodf)
             * fetch texts(seocompotx)
                * care of event without description in modification language
                * if not found logon language,return DE language
          *extract aliases from event
=================================================
      *- Get event and method's subcomponents
=================================================
      *- Get Types
          call function 'SEO_TYPE_READ_ALL'
             * get all type originals from db(seocompo/seoo_cmptype_type)
             * fetch type definitions(seocompodf)
             * fetch texts(seocompotx)
                * care of event without description in modification language
                * if not found logon language,return DE language
      *- Get parent class
          call function 'SEO_INHERITANC_READ'
             * get inheritance(iseometarel/seor_reltype_inheritance)
             * fetch redefinitions(seoredef)
      *- Get interface implementations
          call function 'SEO_IMPLEMENTG_READ_ALL'
             * get implementings(iseometarel/seor_reltype_implementing)
             * fetch implementing detail(seoredef)
      *- Get typegroup usages
          call function 'SEO_TYPEPUSAGE_READ_ALL'
             * get typegroup usages(seotypepls/seot_tputype_typepusage 0)
      *- Get class deferreds
          call function 'SEO_CLSDEFERRD_READ_ALL'
             * get implementings(seotypepls/seot_tputype_classdeferred 1)
      *- Get interface deferreds
          call function 'SEO_INTDEFERRD_READ_ALL'
             * get implementings(seotypepls/seot_tputype_interfacedeferred 2)
=================================================
      * explore inheritance if requested
              'SEO_CLASS_TYPEINFO_GET'
      * explore interfaces if requested
             call function 'SEO_INTERFACE_TYPEINFO_GET'
=================================================
   call method explore_relations
   *Get Superclass and all implement interfaces's attribute(attribute,Method,event,types,implement.alias....)
        * inherited components
         call function 'SEO_CLASS_RESOLVE_INHERITANCE'
              call function 'SEO_CLASS_INHERITANCE_PATH_GET'
              loop
                  call function 'SEO_CLASS_TYPEINFO_GET'
                 delete atts where exposure = seoc_exposure_private.
                 delete mets where exposure = seoc_exposure_private.
                 delete mets where cmpname = seok_mtdname_constructor.
                 delete mets where cmpname = seok_mtdname_class_constructor.
                 delete mets where cmpname = seok_mtdname_destructor.
                 delete eves where exposure = seoc_exposure_private.
                 delete typs where exposure = seoc_exposure_private.
                 delete alis where exposure = seoc_exposure_private.
                 insert lines of:
                         atts into attributes    index 1,
                         mets into methods       index 1,
                         eves into events        index 1,
                         typs into types         index 1,
                         imps into implementings index 1,
                         alis into aliases       index 1.
              endloop.
        * implemented interfaces
         call function 'SEO_CLASS_RESOLVE_IMPLEMENTGS'
             call function 'SEO_CLASS_TYPEINFO_GET'
                  exporting
                     clskey        = clskey
                     version       = version
                     state         = state
                  importing
                     implementings = implems.
              loop implems.
                 call function 'SEO_INTERFACE_TYPEINFO_GET'
                 insert lines of:
                        atts into attributes index 1,
                        mets into methods    index 1,
                        eves into events     index 1,
                        alis into aliases    index 1,
                        pars into parameters index 1,
                        excs into exceps index 1.
              endloop.
end.

  • No labels

2 Comments

  1. Thank you , 
    nice blog (smile) 

  2. I think this is helpful to get all informations ( Components ) about the class, like methods, interfaces, attributes, etc 

    SEOCOMPODF , this is also could be used to find the attribute, or constants in any class what you need.