• abap一个简单类浏览器的代码(等有空继续完善)


    REPORT ZBrowse_Class_tool.

    type-pools:
        SEOO,
        SEOR,
        slis,
        SEOS.
    tables:
        sscrfields.
    types: begin of t_attr,
         CLSNAME type SEOCLSNAME,
         CMPNAME type SEOCMPNAME,
         DESCRIPT type SEODESCR,
    *Private,Protected,Public
         EXPOSURE type SEOEXPOSE,
         SEOEXPOF1I type SEOEXPOF1I,
    *Instance Attribute,Static Attribute,Constant
         ATTDECLTYP type SEOATTDECL,
         SEOATTDF1I type SEOATTDF1I,
    *ReadOnly
         ATTRDONLY type SEORDONLY,
    *Attribute reference (LIKE),Type reference (TYPE),Object (TYPE),Object reference (TYPE REF TO),See coding
         TYPTYPE type SEOTYPTYPE,
         SEOTYPTF1I type SEOTYPTF1I,
    *Initial value
         ATTVALUE type SEOVALUE,
         level   type i,
         lights type i,
         color(4)  type c,
         tabcolor  type slis_t_specialcol_alv,
       end of t_attr.

    types: begin of t_meth,
         CLSNAME type SEOCLSNAME,
         CMPNAME type SEOCMPNAME,
         DESCRIPT type SEODESCR,
    *Private,Protected,Public
         EXPOSURE type SEOEXPOSE,
         SEOEXPOF1I type SEOEXPOF1I,
    *Instance,Static
         MTDDECLTYP type SEOMTDDECL,
         SEOATTDF1I type SEOATTDF1I,
         level   type i,
         lights type i,
         color(4)  type c,
         tabcolor  type slis_t_specialcol_alv,
       end of t_meth.

    types: begin of t_event,
         CLSNAME type SEOCLSNAME,
         CMPNAME type SEOCMPNAME,
         DESCRIPT type SEODESCR,
    *Private,Protected,Public
         EXPOSURE type SEOEXPOSE,
         SEOEXPOF1I type SEOEXPOF1I,
    *Instance,Static
         EVTDECLTYP type SEOEVTDECL,
         SEOEVTDF1I type SEOEVTDF1I,
         level   type i,
         lights type i,
         color(4)  type c,
         tabcolor  type slis_t_specialcol_alv,
       end of t_event.

    data: gt_classkey type seoclskey.
    data: NOT_ACTIVE TYPE  SEOX_BOOLEAN.
    field-symbols: <gt_outtab> type standard table.
    data: i_gettype type i value 1.
    data: gt_field   type slis_t_fieldcat_alv,
          gt_sort       type slis_t_sortinfo_alv.
    data  gt_layout type slis_layout_alv.
    data:
       g_wa_attr type t_attr,
       gt_attr type standard table of t_attr,
       g_wa_event type t_event,
       gt_event type standard table of t_event,
       g_wa_meth type t_meth,
       gt_meth type standard table of t_meth.

    parameters p_CLS like  SEOCLASS-CLSNAME obligatory default 'CL_GUI_ALV_GRID'.

    SELECTION-SCREEN: FUNCTION KEY 1,
                      FUNCTION KEY 2,
                      FUNCTION KEY 3.

    load-of-program.
      sscrfields-functxt_01 = 'Methods'.
      sscrfields-functxt_02 = 'Attributes'.
      sscrfields-functxt_03 = 'Events'.

    INITIALIZATION.

    AT SELECTION-SCREEN OUTPUT.

    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_CLS.
      gt_classkey-clsname =  p_CLS.
      call function 'F4_DD_ALLTYPES'
        EXPORTING
          object               = gt_classkey-clsname
          suppress_selection   = 'X'
          display_only         = ' '
          only_types_for_clifs = 'X'
        IMPORTING
          result               = p_CLS.

    AT SELECTION-SCREEN.
    * check class existence
      gt_classkey-CLSNAME = p_CLS.
      call function 'SEO_CLASS_EXISTENCE_CHECK'
        EXPORTING
          clskey        = gt_classkey
        IMPORTING
          not_active    = not_active
        EXCEPTIONS
          not_specified = 1
          not_existing  = 2
          is_interface  = 3
          no_text       = 4
          inconsistent  = 5
          others        = 6.
      if sy-subrc ne 0.
        message 'The % is not existent.' TYPE 'E'.
      endif.
      CASE sscrfields-ucomm.
        WHEN 'FC01'.
    *trigge  start-of-SELECTION event
          sscrfields-ucomm = 'ONLI'.
          i_gettype = 1.
        WHEN 'FC02'.
    *trigge  start-of-SELECTION event
          sscrfields-ucomm = 'ONLI'.
          i_gettype = 2.
        WHEN 'FC03'.
    *trigge  start-of-SELECTION event
          sscrfields-ucomm = 'ONLI'.
          i_gettype = 3.
        when others.
          i_gettype = 2.
      ENDCASE.

    start-of-SELECTION.
      case i_gettype.
        when 1.
          perform get_meth.
        when 2.
          perform get_att.
        when 3.
          perform get_event.
      endcase.

    END-OF-SELECTION.
      call function 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program      = sy-repid
          i_callback_user_command = 'USER_COMMAND'
          it_fieldcat             = gt_field[]
          is_layout               = gt_layout
          it_sort                 = gt_sort[]
        TABLES
          t_outtab                = <gt_outtab>.

    *&---------------------------------------------------------------------*
    *&      Form  user_command
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    *      -->R_UCOMM      text
    *      -->RS_SELFIELD  text
    *----------------------------------------------------------------------*
    form user_command using r_ucomm like sy-ucomm
                      rs_selfield type slis_selfield.
      data:
        bdcdata_wa  type bdcdata,
        bdcdata_tab type standard table of bdcdata with default key.

      case r_ucomm.
        when '&IC1'.                       "doubleclick
          clear bdcdata_wa.
          bdcdata_wa-program  = 'SAPLSEOD'.
          bdcdata_wa-dynpro   = '1000'.
          bdcdata_wa-dynbegin = 'X'.
          append bdcdata_wa to bdcdata_tab.

          clear bdcdata_wa.
          bdcdata_wa-fnam = 'BDC_CURSOR'.
          bdcdata_wa-fval = 'SEOCLASS-CLSNAME'.
          append bdcdata_wa to bdcdata_tab.

          clear bdcdata_wa.
          bdcdata_wa-fnam = 'BDC_OKCODE'.
          bdcdata_wa-fval = '=CIDI'.
          append bdcdata_wa to bdcdata_tab.

          clear bdcdata_wa.
          bdcdata_wa-fnam = 'SEOCLASS-CLSNAME'.
          bdcdata_wa-fval = p_cls.
          append bdcdata_wa to bdcdata_tab.
          call transaction 'SE24' using bdcdata_tab mode 'E'.
          clear r_ucomm.
      endcase.
    endform.                    "USER_COMMAND

    *&---------------------------------------------------------------------*
    *&      Form  get_attfield
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    *  -->  p1        text
    *  <--  p2        text
    *----------------------------------------------------------------------*
    FORM get_att .
      data: classkey type seoclskey,
            superclskey type seoclsref,
            constructor_exists_in_class type seox_boolean,
            rede       type seor_redefinitions_r,
            it_rede    type seor_redefinitions_r,
            wa_redes   type seoredef,
            it_atts    type seoo_attributes_r,
            atts       type seoo_attributes_r,
            i_level    type i.
      i_level = 0.
      call function 'SEO_CLASS_TYPEINFO_GET'
        EXPORTING
          clskey        = gt_classkey
          version       = '1'
          state         = seoc_state_model_and_impl
        IMPORTING
          attributes    = it_atts
          REDEFINITIONS = it_rede
        EXCEPTIONS
          not_existing  = 1
          is_interface  = 2
          others        = 3.
      if sy-subrc = 0.
        perform addattr using it_atts it_rede i_level.
        classkey  = gt_classkey.
        do.
          clear superclskey.
          call function 'SEO_CLASS_GET'
            EXPORTING
              clskey        = classkey
              version       = '1'
              state         = seoc_state_model_and_impl
            IMPORTING
              superclass    = superclskey
            EXCEPTIONS
              error_message = 1
              others        = 1.
          if sy-subrc = 1 or superclskey is initial.
            exit.
          endif.
          classkey  = superclskey.
          i_level = i_level + 1.
          refresh: atts.
          call function 'SEO_CLASS_TYPEINFO_GET'
            EXPORTING
              clskey        = classkey
              version       = '1'
              state         = seoc_state_model_and_impl
            IMPORTING
              attributes    = atts
              REDEFINITIONS = rede.
          delete atts where exposure = seoc_exposure_private.
          loop at it_rede into wa_redes.
            delete atts where CMPNAME = wa_redes-mtdname.
          endloop.
          perform addattr using atts rede i_level.
          it_rede[] = rede[].
        enddo.
        perform sub_field_des_d using   '' '' 'LEVEL'       '' '' ''  '' '' 'Class Level'  '2' '' 'X' '' gt_field[].
        perform sub_field_des_d using   '' '' 'SEOEXPOF1I'       '' 'X' 'X' '' '' 'Visiblity'  '10' '' '' '' gt_field[].
        perform sub_field_des_d using   '' '' 'CMPNAME'       '' 'X' 'X' '' '' 'Attribute name'  '30' '' '' '' gt_field[].
        perform sub_field_des_d using   '' '' 'CLSNAME'       '' '' '' '' '' 'Class name'  '30' '' '' '' gt_field[].
        perform sub_field_des_d using   '' '' 'DESCRIPT'       '' '' '' '' '' 'Description'  '60' '' '' '' gt_field[].
        perform sub_field_des_d using   '' '' 'SEOATTDF1I'       '' '' ''  '' '' 'Attribute Level'  '15' '' '' '' gt_field[].
        perform sub_field_des_d using   '' '' 'ATTRDONLY'       '' '' '' '' '' 'ReadOnly'  '1' '' '' '' gt_field[].
        perform sub_field_des_d using   '' '' 'SEOTYPTF1I'       '' '' '' '' '' 'Typing'  '10' '' '' '' gt_field[].
        perform sub_field_des_d using   '' '' 'ATTVALUE'       '' '' '' '' '' 'Initial Value'  '20' '' '' '' gt_field[].
        gt_layout-lights_fieldname  = 'LIGHTS'.
        gt_layout-info_fieldname = 'COLOR'.
        refresh gt_sort.
        clear gt_sort.
        perform sub_field_sort using:
           'SEOEXPOF1I' '' '1' '' 'X' gt_sort[],
           'LEVEL' '' '2' 'X' '' gt_sort[],
           'CMPNAME' '' '3' 'X' '' gt_sort[],
           'CLSNAME' '' '4' 'X' '' gt_sort[].
      endif.
      assign gt_attr to <gt_outtab>.
    ENDFORM.                    " get_attfield
    *&---------------------------------------------------------------------*
    *&      Form  addattr
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    *      -->P_IT_ATTRS[]  text
    *      -->P_I_LEVEL  text
    *----------------------------------------------------------------------*
    FORM addattr  USING  P_IT_ATTRS  type  seoo_attributes_r
                         p_rede      type  seor_redefinitions_r
                         P_LEVEL     type  i.
      data:  wa_atts    type seoo_attribute_r.
      loop at   P_IT_ATTRS into wa_atts.
        move-corresponding wa_atts to g_wa_attr.
        g_wa_attr-level = P_LEVEL.
    *Private,Protected,Public
        case g_wa_attr-EXPOSURE.
          when 0.
            g_wa_attr-SEOEXPOF1I = 'Private'.
            g_wa_attr-lights = 1.
          when 1.
            g_wa_attr-SEOEXPOF1I = 'Protected'.
            g_wa_attr-lights = 2.
          when 2.
            g_wa_attr-SEOEXPOF1I = 'Public'.
            g_wa_attr-lights = 3.
        endcase.
    *Instance Attribute,Static Attribute,Constant
        case g_wa_attr-ATTDECLTYP.
          when 0.
            g_wa_attr-SEOATTDF1I = 'Instance'.
            g_wa_attr-color      = ''.
          when 1.
            g_wa_attr-SEOATTDF1I = 'Static'.
            g_wa_attr-color      = 'C510'.
          when 2.
            g_wa_attr-SEOATTDF1I = 'Constant'.
            g_wa_attr-color      = 'C510'.
            continue."Do not display constant attributes
        endcase.
    *Attribute reference (LIKE),Type reference (TYPE),Object (TYPE),Object reference (TYPE REF TO),See coding
    *     TYPTYPE type SEOTYPTYPE,
    *     SEOTYPTF1I type SEOTYPTF1I,
    *      case g_wa_attr-TYPTYPE.
    *        when 0.
    *          g_wa_attr-SEOTYPTF1I = 'Like'.
    *          g_wa_attr-color      = ''.
    *        when 1.
    *          g_wa_attr-SEOTYPTF1I = 'Type'.
    *          g_wa_attr-color      = 'C510'.
    *        when 2.
    *          g_wa_attr-SEOTYPTF1I = 'Type'.
    *        when 3.
    *          g_wa_attr-SEOTYPTF1I = 'Type Ref To'.
    *      endcase.
        append g_wa_attr to gt_attr.
      endloop.
    ENDFORM.                    " addattr
    *&---------------------------------------------------------------------*
    *&      Form  get_meth
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    *  -->  p1        text
    *  <--  p2        text
    *----------------------------------------------------------------------*
    FORM get_meth .
      data: classkey type seoclskey,
            superclskey type seoclsref,
            constructor_exists_in_class type seox_boolean,
            rede       type seor_redefinitions_r,
            it_rede    type seor_redefinitions_r,
            wa_redes   type seoredef,
            it_meth type  seoo_methods_r,
            meth type  seoo_methods_r,
            i_level    type i.
      i_level = 0.
      call function 'SEO_CLASS_TYPEINFO_GET'
        EXPORTING
          clskey        = gt_classkey
          version       = '1'
          state         = seoc_state_model_and_impl
        IMPORTING
          METHODS       = it_meth
          REDEFINITIONS = it_rede
        EXCEPTIONS
          not_existing  = 1
          is_interface  = 2
          others        = 3.
      if sy-subrc = 0.
        perform addmeth using it_meth it_rede i_level.
        classkey  = gt_classkey.
        do.
          clear superclskey.
          call function 'SEO_CLASS_GET'
            EXPORTING
              clskey        = classkey
              version       = '1'
              state         = seoc_state_model_and_impl
            IMPORTING
              superclass    = superclskey
            EXCEPTIONS
              error_message = 1
              others        = 1.
          if sy-subrc = 1 or superclskey is initial.
            exit.
          endif.
          classkey  = superclskey.
          i_level   = i_level + 1.
          refresh:  meth.
          call function 'SEO_CLASS_TYPEINFO_GET'
            EXPORTING
              clskey        = classkey
              version       = '1'
              state         = seoc_state_model_and_impl
            IMPORTING
              METHODS       = meth
              REDEFINITIONS = rede.
          delete meth where exposure = seoc_exposure_private.
          loop at it_rede into wa_redes.
            delete meth where CMPNAME = wa_redes-mtdname.
          endloop.
          perform addmeth using meth rede i_level.
          it_rede[] = rede[].
        enddo.
        perform sub_field_des_d using   '' '' 'LEVEL'       '' '' ''  '' '' 'Class Level'  '2' '' 'X' '' gt_field[].
        perform sub_field_des_d using   '' '' 'SEOEXPOF1I'       '' 'X' 'X' '' '' 'Visiblity'  '10' '' '' '' gt_field[].
        perform sub_field_des_d using   '' '' 'CMPNAME'       '' 'X' 'X' '' '' 'Method name'  '30' '' '' '' gt_field[].
        perform sub_field_des_d using   '' '' 'CLSNAME'       '' '' '' '' '' 'Class name'  '30' '' '' '' gt_field[].
        perform sub_field_des_d using   '' '' 'DESCRIPT'       '' '' '' '' '' 'Description'  '60' '' '' '' gt_field[].
        perform sub_field_des_d using   '' '' 'SEOATTDF1I'       '' '' ''  '' '' 'Method Level'  '15' '' '' '' gt_field[].
        gt_layout-lights_fieldname  = 'LIGHTS'.
        gt_layout-info_fieldname = 'COLOR'.
        refresh gt_sort.
        clear gt_sort.
        perform sub_field_sort using:
           'SEOEXPOF1I' '' '1' '' 'X' gt_sort[],
           'LEVEL' '' '2' 'X' '' gt_sort[],
           'CMPNAME' '' '3' 'X' '' gt_sort[],
           'CLSNAME' '' '4' 'X' '' gt_sort[].
      endif.
      assign gt_meth to <gt_outtab>.
    ENDFORM.                    " get_meth
    *&---------------------------------------------------------------------*
    *&      Form  addattr
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    *      -->P_IT_ATTRS[]  text
    *      -->P_I_LEVEL  text
    *----------------------------------------------------------------------*
    FORM addmeth  USING  P_IT_meth  type  seoo_methods_r
                         p_rede      type  seor_redefinitions_r
                         P_LEVEL     type  i.
      data   wa_meth type seoo_method_r.
      loop at P_IT_meth into wa_meth.
        move-corresponding wa_meth to g_wa_meth.
        g_wa_meth-level = P_LEVEL.
    *Private,Protected,Public
        case g_wa_meth-EXPOSURE.
          when 0.
            g_wa_meth-SEOEXPOF1I = 'Private'.
            g_wa_meth-lights = 1.
          when 1.
            g_wa_meth-SEOEXPOF1I = 'Protected'.
            g_wa_meth-lights = 2.
          when 2.
            g_wa_meth-SEOEXPOF1I = 'Public'.
            g_wa_meth-lights = 3.
        endcase.
    *Instance Attribute,Static Attribute,Constant
        case g_wa_meth-MTDDECLTYP.
          when 0.
            g_wa_meth-SEOATTDF1I = 'Instance'.
            g_wa_meth-color      = ''.
          when 1.
            g_wa_meth-SEOATTDF1I = 'Static'.
            g_wa_meth-color      = 'C510'.
          when 2.
            g_wa_meth-SEOATTDF1I = 'Constant'.
            g_wa_meth-color      = 'C510'.
            continue."Do not display constant attributes
        endcase.
        append g_wa_meth to gt_meth.
      endloop.
    ENDFORM.                    " addmeth
    *&---------------------------------------------------------------------*
    *&      Form  get_meth
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    *  -->  p1        text
    *  <--  p2        text
    *----------------------------------------------------------------------*
    FORM get_event .
      data: classkey type seoclskey,
            superclskey type seoclsref,
            constructor_exists_in_class type seox_boolean,
            rede       type seor_redefinitions_r,
            it_rede    type seor_redefinitions_r,
            wa_redes   type seoredef,
            it_event   type  seoo_events_r,
            event      type  seoo_events_r,
            i_level    type i.
      i_level = 0.
      call function 'SEO_CLASS_TYPEINFO_GET'
        EXPORTING
          clskey        = gt_classkey
          version       = '1'
          state         = seoc_state_model_and_impl
        IMPORTING
          EVENTS        = it_event
          REDEFINITIONS = it_rede
        EXCEPTIONS
          not_existing  = 1
          is_interface  = 2
          others        = 3.
      if sy-subrc = 0.
        perform addevent using it_event it_rede i_level.
        classkey  = gt_classkey.
        do.
          clear superclskey.
          call function 'SEO_CLASS_GET'
            EXPORTING
              clskey        = classkey
              version       = '1'
              state         = seoc_state_model_and_impl
            IMPORTING
              superclass    = superclskey
            EXCEPTIONS
              error_message = 1
              others        = 1.
          if sy-subrc = 1 or superclskey is initial.
            exit.
          endif.
          classkey  = superclskey.
          i_level   = i_level + 1.
          refresh:  event.
          call function 'SEO_CLASS_TYPEINFO_GET'
            EXPORTING
              clskey        = classkey
              version       = '1'
              state         = seoc_state_model_and_impl
            IMPORTING
              eventS        = event
              REDEFINITIONS = rede.
          delete event where exposure = seoc_exposure_private.
          loop at it_rede into wa_redes.
            delete event where CMPNAME = wa_redes-mtdname.
          endloop.
          perform addevent using event rede i_level.
          it_rede[] = rede[].
        enddo.
        perform sub_field_des_d using   '' '' 'LEVEL'       '' '' ''  '' '' 'Class Level'  '2' '' 'X' '' gt_field[].
        perform sub_field_des_d using   '' '' 'SEOEXPOF1I'       '' 'X' 'X' '' '' 'Visiblity'  '10' '' '' '' gt_field[].
        perform sub_field_des_d using   '' '' 'CMPNAME'       '' 'X' 'X' '' '' 'Event name'  '30' '' '' '' gt_field[].
        perform sub_field_des_d using   '' '' 'CLSNAME'       '' '' '' '' '' 'Class name'  '30' '' '' '' gt_field[].
        perform sub_field_des_d using   '' '' 'DESCRIPT'       '' '' '' '' '' 'Description'  '60' '' '' '' gt_field[].
        perform sub_field_des_d using   '' '' 'SEOEVTDF1I'       '' '' ''  '' '' 'Event Level'  '15' '' '' '' gt_field[].
        gt_layout-lights_fieldname  = 'LIGHTS'.
        gt_layout-info_fieldname = 'COLOR'.
        refresh gt_sort.
        clear gt_sort.
        perform sub_field_sort using:
           'SEOEXPOF1I' '' '1' '' 'X' gt_sort[],
           'LEVEL' '' '2' 'X' '' gt_sort[],
           'CMPNAME' '' '3' 'X' '' gt_sort[],
           'CLSNAME' '' '4' 'X' '' gt_sort[].
      endif.
      assign gt_event to <gt_outtab>.
    ENDFORM.                    " get_event
    *&---------------------------------------------------------------------*
    *&      Form  addattr
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    *      -->P_IT_ATTRS[]  text
    *      -->P_I_LEVEL  text
    *----------------------------------------------------------------------*
    FORM addevent  USING  P_IT_event  type  seoo_events_r
                         p_rede      type  seor_redefinitions_r
                         P_LEVEL     type  i.
      data   wa_event type seoo_event_r.
      loop at P_IT_event into wa_event.
        move-corresponding wa_event to g_wa_event.
        g_wa_event-level = P_LEVEL.
    *Private,Protected,Public
        case g_wa_event-EXPOSURE.
          when 0.
            g_wa_event-SEOEXPOF1I = 'Private'.
            g_wa_event-lights = 1.
          when 1.
            g_wa_event-SEOEXPOF1I = 'Protected'.
            g_wa_event-lights = 2.
          when 2.
            g_wa_event-SEOEXPOF1I = 'Public'.
            g_wa_event-lights = 3.
        endcase.
    *Instance Attribute,Static Attribute,Constant
        case g_wa_event-EVTDECLTYP.
          when 0.
            g_wa_event-SEOEVTDF1I = 'Instance'.
            g_wa_event-color      = ''.
          when 1.
            g_wa_event-SEOEVTDF1I = 'Static'.
            g_wa_event-color      = 'C510'.
          when 2.
            g_wa_event-SEOEVTDF1I = 'Constant'.
            g_wa_event-color      = 'C510'.
            continue."Do not display constant attributes
        endcase.
        append g_wa_event to gt_event.
      endloop.
    ENDFORM.                    " addevent
    *----------------------------------------------------------------------*
    * Form         : SUB_FIELD_DES_D
    *----------------------------------------------------------------------*
    *      Description:  Set the fields which will be displayed
    *----------------------------------------------------------------------*
    *      im_ref_FIELD---must upper case                                 *
    *      im_ref_TABLE---internal table name                             *
    *      im_FIELDname---must upper case                                 *
    *      im_TABname  ---internal table name                             *
    *      im_KEY      ---column with key-color AND frozen                *
    *      im_CHECKBOX ---the column is checkbox                          *
    *      im_dosum    ---total,if total, the field must be sumed         *
    *      im_SELTEX_L ---column Long description of title                *
    *      im_outputlen---column output length
    *      IM_dec--?????
    *      re_field : ????????
    *----------------------------------------------------------------------*
    * Modification Log:                                                    *
    * Date        Programmer     Correction Number                         *
    *----------------------------------------------------------------------*
    form sub_field_des_d using im_ref_field type c
                             im_ref_table type c
                             im_fieldname type c
                             im_tabname type c
                             im_key type c
                             im_fix type c
                             im_checkbox type c
                             im_dosum type c
                             im_seltex_l type c
                             im_outputlen type i
                             im_zero type c
                             im_out  type c
                             im_dec  type c
                             re_field type slis_t_fieldcat_alv.
      data: wa_fieldcat type slis_fieldcat_alv.
      clear wa_fieldcat.
      wa_fieldcat-ref_fieldname = im_ref_field.
      wa_fieldcat-ref_tabname = im_ref_table.
      wa_fieldcat-fieldname = im_fieldname.
      wa_fieldcat-tabname   = im_tabname.
      wa_fieldcat-key       = im_key.
      wa_fieldcat-fix_column = IM_fix.
      wa_fieldcat-checkbox  = im_checkbox.
      wa_fieldcat-do_sum     = im_dosum.
      wa_fieldcat-no_zero     = im_zero.
      wa_fieldcat-no_out     = im_out.
      wa_fieldcat-seltext_l = im_seltex_l.
      wa_fieldcat-seltext_m = im_seltex_l.
      wa_fieldcat-seltext_s = im_seltex_l.
      wa_fieldcat-outputlen = im_outputlen.
      wa_fieldcat-decimals_out = im_dec.
    *  wa_fieldcat-col_pos   = IM_colpos.
      append wa_fieldcat to re_field.
    endform.                    "SUB_FIELD_DES

    *&---------------------------------------------------------------------*
    *&      Form  sub_field_sort
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    *      -->IM_FIELDNAME  text
    *      -->IM_TABNAME    text
    *      -->IM_SPOS       text
    *      -->IM_UP         text
    *      -->IM_SUBTOT     text
    *      -->RE_SORT       text
    *----------------------------------------------------------------------*
    form sub_field_sort using im_fieldname type c
                              im_tabname type c
                              im_spos type i
                              im_up type c
                              im_subtot type c
                              re_sort type slis_t_sortinfo_alv.
      data: wa_sort     type slis_sortinfo_alv.
      clear wa_sort .
      wa_sort-fieldname = im_fieldname.  "The field will be sorted
      wa_sort-tabname   = im_tabname.    "internal table name
      wa_sort-spos      = im_spos.       "Sort sequence
      wa_sort-up        = im_up.         "Ascending,down-Descending
      wa_sort-subtot    = im_subtot.
      append wa_sort to re_sort.
    endform.                    "SUB_FIELD_SORT 

  • 相关阅读:
    男子利用POS机帮人非法套现1576万余元被起诉
    套现花样很多 弄不好成了诈骗
    刀尖上的无本生意 信用卡套现投资盛行
    新三板是什么—新三板科普知识讲堂
    Android注入事件的三种方法比较
    当今最流行的Node.js应用开发框架简介
    安卓WindowManager注入事件如何跳出进程间安全限制
    伟大创意检验10要
    初创互联网公司简明创业指南
    根据Unix哲学来编写你的HTML5 Websocket服务器来实现全双工通信
  • 原文地址:https://www.cnblogs.com/xiaomaohai/p/6157127.html
Copyright © 2020-2023  润新知