⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 alv.txt

📁 sap 的abap编程 实现alv的多层输出 调用系统方法
💻 TXT
📖 第 1 页 / 共 2 页
字号:
  clear ls_fieldcat.
  ls_fieldcat-fieldname     = 'TABNAME'.
  ls_fieldcat-tabname      = g_tabname_header.
  ls_fieldcat-ref_fieldname = 'TABNAME'.
  ls_fieldcat-ref_tabname   = 'DD03T'.
  ls_fieldcat-key           = 'X'.
  append ls_fieldcat to  rt_fieldcat.

  clear ls_fieldcat.
  ls_fieldcat-fieldname     = 'DDTEXT'.
  ls_fieldcat-tabname      =  g_tabname_header.
  ls_fieldcat-ref_fieldname = 'DDTEXT'.
  ls_fieldcat-ref_tabname   = 'DD02T'.
  ls_fieldcat-key           = 'X'.
  append ls_fieldcat to  rt_fieldcat.


*  ls_fieldcat-fieldname     = 'TABNAME'.
*  ls_fieldcat-tabname      = g_tabname_item.
*  ls_fieldcat-ref_fieldname = 'TABNAME'.
*  ls_fieldcat-ref_tabname   = 'DD03T'.
*  LS_FIELDCAT-KEY           = 'X'.
*  APPEND ls_fieldcat TO  rt_fieldcat.
*  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname     = 'POSITION'.
  ls_fieldcat-tabname      = g_tabname_item.
  ls_fieldcat-ref_fieldname = 'POSITION'.
  ls_fieldcat-ref_tabname   = 'DD03L'.
  ls_fieldcat-key           = 'X'.
  append ls_fieldcat to  rt_fieldcat.

  clear ls_fieldcat.
  ls_fieldcat-fieldname     = 'FIELDNAME'.
  ls_fieldcat-tabname      = g_tabname_item.
  ls_fieldcat-ref_fieldname = 'FIELDNAME'.
  ls_fieldcat-ref_tabname   = 'DD03T'.
  append ls_fieldcat to rt_fieldcat.

  clear ls_fieldcat.
  ls_fieldcat-fieldname     = 'DDTEXT'.
  ls_fieldcat-tabname      = g_tabname_item.
  ls_fieldcat-ref_fieldname = 'DDTEXT'.
  ls_fieldcat-ref_tabname   =  'DD03T'.
*  LS_FIELDCAT-NO_OUT        = 'X'.
  append ls_fieldcat to rt_fieldcat.

  clear ls_fieldcat.
  ls_fieldcat-fieldname     = 'KEYFLAG'.
  ls_fieldcat-tabname      = g_tabname_item.
  ls_fieldcat-ref_fieldname = 'KEYFLAG'.
  ls_fieldcat-ref_tabname   =  'DD03L'.
*  LS_FIELDCAT-NO_OUT        = 'X'.
  append ls_fieldcat to rt_fieldcat.

  clear ls_fieldcat.
  ls_fieldcat-fieldname     = 'DATATYPE'.
  ls_fieldcat-tabname      = g_tabname_item.
  ls_fieldcat-ref_fieldname = 'DATATYPE'.
  ls_fieldcat-ref_tabname   =  'DD03T'.
  append ls_fieldcat to rt_fieldcat.

  clear ls_fieldcat.
  ls_fieldcat-fieldname     = 'DDLENG'.
  ls_fieldcat-tabname      = g_tabname_item.
  ls_fieldcat-ref_fieldname = 'LENG'.
  ls_fieldcat-ref_tabname   =  'DD03L'.
  append ls_fieldcat to rt_fieldcat.

  clear ls_fieldcat.
  ls_fieldcat-fieldname     = 'DECIMALS'.
  ls_fieldcat-tabname      = g_tabname_item.
  ls_fieldcat-ref_fieldname = 'DECIMALS'.
  ls_fieldcat-ref_tabname   =  'DD03L'.
  append ls_fieldcat to rt_fieldcat.

  clear ls_fieldcat.
  ls_fieldcat-fieldname     = 'CHECKTABLE'.
  ls_fieldcat-tabname      = g_tabname_item.
  ls_fieldcat-ref_fieldname = 'CHECKTABLE'.
  ls_fieldcat-ref_tabname   =  'DD03L'.
  append ls_fieldcat to rt_fieldcat.

  clear ls_fieldcat.
  ls_fieldcat-fieldname     = 'ROLLNAME'.
  ls_fieldcat-tabname      = g_tabname_item.
  ls_fieldcat-ref_fieldname = 'ROLLNAME'.
  ls_fieldcat-ref_tabname   =  'DD03L'.
  append ls_fieldcat to rt_fieldcat.

  clear ls_fieldcat.
  ls_fieldcat-fieldname     = 'DOMNAME'.
  ls_fieldcat-tabname      = g_tabname_item.
  ls_fieldcat-ref_fieldname = 'DOMNAME'.
  ls_fieldcat-ref_tabname   =  'DD03L'.
*  LS_FIELDCAT-NO_OUT        = 'X'.
  append ls_fieldcat to rt_fieldcat.
endform.   "fieldcat_init
************************************************************************
* Form Name  : select_table
* Created by : DEV01
* Created on :
* Form Description:
* Get Table's information
*----------------------------------------------------------------------*
*parameter description          
*----------------------------------------------------------------------*
* <---rt_outtab: return field's information
*----------------------------------------------------------------------*
* Modification Log:
* Date        Programmer   Description
*----------------------------------------------------------------------*
************************************************************************
form select_table  tables rt_outtab like gt_outtabt[].

  select dd02l~tabname   dd02t~ddtext   dd02l~as4user
         into (rt_outtab-tabname,rt_outtab-ddtext,rt_outtab-as4user)
         from dd02l left join dd02t
         on dd02l~tabname = dd02t~tabname
            and dd02l~as4local = dd02t~as4local
            and dd02l~as4vers = dd02t~as4vers
            and dd02t~ddlanguage = sy-langu
         where dd02l~tabname in s_tname
               and dd02l~as4local = 'A'
         order by dd02l~tabname.
    append rt_outtab.
  endselect.

endform.                    "SELECT_DATA
************************************************************************
* Form Name  : select_field
* Created by : DEV01
* Created on :
* Form Description:
* Get Table field's information
*----------------------------------------------------------------------*
*parameter description          
*----------------------------------------------------------------------*
* <---rt_outtab: return field's information
*----------------------------------------------------------------------*
* Modification Log:
* Date        Programmer   Description
*----------------------------------------------------------------------*
************************************************************************
form select_field  tables
                     rt_outtab like gt_outtabf[].

  select dd03l~position   dd03l~tabname
         dd03l~fieldname
         dd03t~ddtext
         dd03l~keyflag
         dd03l~rollname
          dd03l~domname
          dd03l~datatype
           dd03l~leng
       dd03l~checktable   dd03l~decimals

         dd04t~ddtext     dd01t~ddtext
         into (rt_outtab-position, rt_outtab-tabname,
               rt_outtab-fieldname, rt_outtab-ddtext,
               rt_outtab-keyflag,rt_outtab-rollname,
               rt_outtab-domname,rt_outtab-datatype,
               rt_outtab-ddleng,rt_outtab-checktable,

               rt_outtab-decimals,
               rt_outtab-eddtext,rt_outtab-dddtext)
         from dd03l left join dd03t
         on dd03l~tabname = dd03t~tabname
            and dd03l~fieldname = dd03t~fieldname
            and dd03t~ddlanguage = sy-langu
         left join dd04t
           on dd03l~rollname = dd04t~rollname
            and dd04t~ddlanguage = sy-langu
         left join dd01t
           on dd03l~domname = dd01t~domname
           and dd01t~ddlanguage = sy-langu
         where dd03l~tabname in s_tname
         order by dd03l~tabname dd03l~position.
    if rt_outtab-ddtext = space.
      if rt_outtab-eddtext = space.
        rt_outtab-ddtext = rt_outtab-dddtext.
      else.
        rt_outtab-ddtext = rt_outtab-eddtext.
      endif.
    endif.
    append rt_outtab.
  endselect.

endform.                    "SELECT_DATA

*&---------------------------------------------------------------------*
*&      Form  FUNCTION_EXCLUDE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_EXCLUDE  text                                              *
*----------------------------------------------------------------------*
form function_exclude tables   p_exclude structure exclude.
*  data : rcode like sy-subrc.
* clear p_exclude.
* refresh p_exclude.
* exclude-fcode = 'EERW'.
* append exclude.
* exclude-fcode = 'EXIT'.
* append exclude.
endform.                               " FUNCTION_EXCLUDE 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -