SE15 下载表结构_SAP刘梦_新浪博客

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

后来才只是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.

欢迎关注订阅号:SAP学习记录 (SAPlearning )

PO <wbr><wbr>text <wbr><wbr>copy <wbr><wbr>rules <wbr><wbr>:copy <wbr><wbr>PR <wbr><wbr>item <wbr><wbr>text <wbr><wbr>to <wbr><wbr>PO

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值