SE15 下载表结构

来源:互联网 发布:好听的伤感网络歌曲 编辑:程序博客网 时间:2024/05/27 20:11
之前下载表结构都是写代码,最后会附上代码

后来才只是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 OFT1.
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 OFITAB.
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.
    PERFORMGET_TABLE_DATA.
  ENDIF.

AT LINE-SELECTION.
  CLEAR: FIELDS, LIN.
  GET CURSOR FIELD FIELDS LINE LIN VALUEVAL.
  LIN = LIN - 1.
  IF LIN >= 1.
    READ TABLE YTADIR INDEXLIN.
    IF SY-SUBRC = 0.
      CLEARREP.
      CLEARPROG.
      REP =YTADIR-OBJ_NAME.
      READREPORT REP INTO PROG.
     EDITOR-CALL FOR PROG.
    ENDIF.
  ENDIF.

END-OF-SELECTION.


*---------------------------------------------------------------------*
* FORM GET_TABLE_DATA *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM GET_TABLE_DATA.
  SELECT DISTINCT * INTO CORRESPONDING FIELDSOF TABLE T1
    FROM DD02T WHERE TABNAMEIN TABNAME
     ANDDDLANGUAGE EQ SY-LANGU.

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

  SELECT * INTO CORRESPONDING FIELDS OF TABLETAB FROM DD03L AS A
  WHERE A~TABNAME IN TABNAME.
     IFSY-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 WHERETABNAME = 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.
      IFTAB-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.
      CLEARITAB.
    ENDLOOP.

    CONCATENATE P_DIRT1-TABNAME '_' T1-DDTEXT '.' STYPE
    INTO YYNAME.
    CALL FUNCTION'WS_DOWNLOAD'
     EXPORTING
       FILENAME = YYNAME
       FILETYPE = 'DAT'
     TABLES
       DATA_TAB = ITAB.
    ULINE.
  ENDLOOP.
ENDFORM.
0 0
原创粉丝点击