SE15 下载表结构
2015-12-02 16:06
309 查看
之前下载表结构都是写代码,最后会附上代码
后来才只是se15可以下载表结构,当然更多功能自己去研究就行。
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
自建下载程序代码:(忘了从哪儿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.
后来才只是se15可以下载表结构,当然更多功能自己去研究就行。
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
自建下载程序代码:(忘了从哪儿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.
相关文章推荐
- Android制作粒子爆炸特效
- Axure RP的初印象
- svn中常用的命令
- MongoDB的更新详解
- Mvc 入门
- hive 使用笔记(table format;lateral view)
- 往一个容器 添加删除子元素演示,和,给数 组添加自定义方法
- (一)redis-string类型讲解
- android内存优化--Bitmap
- 2015最流行的Android组件、工具、框架大全
- 日经春秋 20151202
- Android 的事件分发机制(一)---view的事件传递
- 晓友的CSDN 序言
- MLE & MAP
- PowerDesigner(一)-PowerDesigner概述
- 清除磁盘脱机策略
- c#一键初始化数据库
- 不用栈,来实现二叉树的非递归中序遍历
- WordPress -NewsPlus主题-博客新闻杂志门户,完美中/英文主题
- Centos 6.5 cd命令