SE15 下载表结构

之前下载表结构都是写代码,最后会附上代码

后来才只是se15可以下载表结构,当然更多功能自己去研究就行。

SE15 <wbr>下载表结构

SE15 <wbr>下载表结构

SE15 <wbr>下载表结构

SE15 <wbr>下载表结构

SE15 <wbr>下载表结构

SE15 <wbr>下载表结构

SE15 <wbr>下载表结构

SE15 <wbr>下载表结构


自建下载程序代码:(忘了从哪儿copy后修改的了,好久了)
REPORT ZLM_DOWN_TAB.
***************************************************************
***REPNAME: 批量下载程序和表结构 ***
***************************************************************
TABLES:TADIR,TRDIRT,TSTC,DD03L,DD02L,DD04L,DD02T,DD03T,DD04T.
DATA: BEGIN OF YTADIR OCCURS 0.
        INCLUDE STRUCTURE TADIR.
        INCLUDE STRUCTURE TRDIRT.
DATA: END OF YTADIR.
DATA:PROG(72) TYPE C OCCURS 0 WITH HEADER LINE.
*表结构
DATA:BEGIN OF TAB OCCURS 0.
        INCLUDE STRUCTURE DD03L.
DATA:TEXT(40).
DATA:END OF TAB.
DATA:BEGIN OF T1 OCCURS 0,
        TABNAME LIKE DD02L-TABNAME,
        DDTEXT   LIKE DD02T-DDTEXT,
      END OF T1.
DATA:BEGIN OF ITAB OCCURS 0,
        FIELD(15), "字段
        KEY(6), "关键字
        ELMENT(15), "字段类型
        TYPE(10), "数据类型
        LENG(8) , "长度
        DECIMALS(8) , "小数
        CHK(10), "表检查
        CAN(10), "参考表
        CFI(10), "参考字段
        TEXT(40), "字段描述
      END OF ITAB.
DATA: YYNAME TYPE RLGRAP-FILENAME.
DATA: TT(500) OCCURS 0 WITH HEADER LINE.
DATA: RN(72).
DATA:FIELDS(40),
      LIN         TYPE I,
      VAL(30),
      REP(40).
SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME.
PARAMETERS:P_DIR(50) DEFAULT 'C:\'. "下载路径
PARAMETERS:STYPE(6) DEFAULT 'xls'.
SELECT-OPTIONS:TABNAME FOR DD02L-TABNAME. "下载表名称
SELECTION-SCREEN END OF BLOCK BLK1.

INITIALIZATION .

START-OF-SELECTION .

  IF TABNAME IS INITIAL.
    MESSAGE   'INPUT DB TAB NAME!' TYPE 'E'.
  ELSE.
    PERFORM GET_TABLE_DATA.
  ENDIF.

AT LINE-SELECTION.
  CLEAR: FIELDS, LIN.
  GET CURSOR FIELD FIELDS LINE LIN VALUE VAL.
  LIN = LIN - 1.
  IF LIN >= 1.
    READ TABLE YTADIR INDEX LIN.
    IF SY-SUBRC = 0.
      CLEAR REP.
      CLEAR PROG.
      REP = YTADIR-OBJ_NAME.
      READ REPORT REP INTO PROG.
      EDITOR-CALL FOR PROG.
    ENDIF.
  ENDIF.

END-OF-SELECTION.


*---------------------------------------------------------------------*
* FORM GET_TABLE_DATA *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM GET_TABLE_DATA.
  SELECT DISTINCT * INTO CORRESPONDING FIELDS OF TABLE T1
    FROM DD02T WHERE TABNAME IN TABNAME
      AND DDLANGUAGE EQ SY-LANGU.

  IF SY-SUBRC <> 0.
  MESSAGE 'INPUT ERRO' TYPE 'E'.
  ENDIF.

  SELECT * INTO CORRESPONDING FIELDS OF TABLE TAB FROM DD03L AS A
  WHERE A~TABNAME IN TABNAME.
      IF SY-SUBRC <> 0.
  MESSAGE 'INPUT ERRO' TYPE 'E'.
  ENDIF.

  SORT TAB BY TABNAME POSITION.
  WRITE:/'字段名','关键字','数据元素','数据类型','长度','小数',
  '表检查','参考表','参考字段','字段描述'.
  ULINE.
  LOOP AT T1.
    REFRESH ITAB.
    CLEAR YYNAME.
    ITAB-FIELD = 'FIELD'.
    ITAB-KEY = 'KEY'.
    ITAB-ELMENT = 'ELEMENT'.
    ITAB-TYPE = 'TYPE'.
    ITAB-TYPE = 'TYPE'.
    ITAB-DECIMALS = 'DECIMALS'.
    ITAB-TEXT = 'TEXT'.
    ITAB-CHK = 'CHECKTABLE'.
    ITAB-CAN = 'REFTABLE'.
    ITAB-CFI = 'REFFIELD'.


    APPEND ITAB.
    CLEAR ITAB.
    CONCATENATE T1-TABNAME '_' T1-DDTEXT '的表结构如下:'
    INTO YYNAME.
    FORMAT COLOR 3.
    WRITE:/ YYNAME.
    FORMAT COLOR OFF.

    LOOP AT TAB WHERE TABNAME = T1-TABNAME.
      ITAB-FIELD = TAB-FIELDNAME.
      ITAB-KEY = TAB-KEYFLAG.
      ITAB-ELMENT = TAB-ROLLNAME.
      ITAB-TYPE = TAB-DATATYPE.
      ITAB-LENG = TAB-LENG.
      ITAB-CHK = TAB-CHECKTABLE.
      ITAB-CAN = TAB-REFTABLE.
      ITAB-CFI = TAB-REFFIELD.
      ITAB-DECIMALS = TAB-DECIMALS.
      IF TAB-ROLLNAME NE SPACE.
        SELECT SINGLE * FROM DD04T WHERE ROLLNAME = TAB-ROLLNAME
        AND DDLANGUAGE = SY-LANGU.
        IF SY-SUBRC = 0.
          ITAB-TEXT = DD04T-DDTEXT.
        ELSE.
          CLEAR ITAB-TEXT.
        ENDIF.
      ELSE.
        SELECT SINGLE * FROM DD03T WHERE TABNAME = TAB-TABNAME
        AND DDLANGUAGE = SY-LANGU
        AND FIELDNAME = TAB-FIELDNAME.
        IF SY-SUBRC = 0.
          ITAB-TEXT = DD03T-DDTEXT.
        ELSE.
          CLEAR ITAB-TEXT.
        ENDIF.
      ENDIF.
      APPEND ITAB.
      WRITE:/ ITAB-FIELD,ITAB-KEY,ITAB-ELMENT,ITAB-TYPE,ITAB-LENG,
      ITAB-DECIMALS,ITAB-CHK,ITAB-CAN,ITAB-CFI,ITAB-TEXT.
      CLEAR ITAB.
    ENDLOOP.

    CONCATENATE P_DIR T1-TABNAME '_' T1-DDTEXT '.' STYPE
    INTO YYNAME.
    CALL FUNCTION 'WS_DOWNLOAD'
      EXPORTING
        FILENAME = YYNAME
        FILETYPE = 'DAT'
      TABLES
        DATA_TAB = ITAB.
    ULINE.
  ENDLOOP.
ENDFORM.
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用的内容,这段引用中包含了一些Vue.js代码和HTML代码,并讨论了换行符和空格在网页中的使用。其中,引用是关于添加和还原换行符的方法,引用是关于在编辑数据时获取详情和使用textarea的示例代码,引用是关于HTML中空格的处理和字符实体的使用。 问题中提到的&nbsp;是HTML中示空格的字符实体。HTML通常会自动截取多余的空格,不管你加多少空格,都被看做一个空格。为了在网页中增加空格,可以使用&nbsp;示空格。此外,还有其他常用的字符实体,如<示小于号,>示大于号,&示&符号,"示双引号,等等。 需要注意的是,引用的内容中有一些HTML实体被转义了,所以在描述字符实体时需要参考编码转义后的字符。 根据给定的引用内容,我无法直接回答问题,因为问题中的信息不完整。请提供更具体的问题或补充说明,我将尽力为您提供帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [js+v-html+正则达式去除所有& nbsp和html标签(& nbsp 换行 )](https://blog.csdn.net/xm_w_xm/article/details/91992754)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [html&nbsp;&nbsp;特殊字符(转)](https://blog.csdn.net/feiniu5566/article/details/13624619)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值