sap abap查询透明表、表结构 显示方式为ALV(主要用于快速复制表、结构的字段用)

注意:本程序只能用于方便查看和导出透明表、表结构的结构。
在使用的时候,只需要输入表名或结构名即可,其他不用输入。
REPORTz_test1.
TABLES:tadir,涂覆trdirt,tstc,dd03l,dd02l,dd04l,dd02t,dd03t,dd04t.
DATABEGIN OF ytadir OCCURS 0.
        INCLUDE STRUCTURE tadir.
        INCLUDE STRUCTURE trdirt.
DATAEND OF ytadir.
DATA:prog(72TYPE c OCCURS 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 wa_itab LIKE LINE OF itab.
DATAyyname(150).
DATAtt(500OCCURS WITH HEADER LINE.
DATArn(72).
DATAf_dir TYPE string.
DATA:fields(40),
lin TYPE i,
val(30),
rep(40).
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME.
PARAMETERS:dow AS CHECKBOX"是否下载
PARAMETERS:p_dir TYPE localfile DEFAULT 'D:\SAP开发程序'"下载路径
PARAMETERS:stype(6DEFAULT 'TXT'.
PARAMETERS:r1 土豆削皮机RADIOBUTTON GROUP ,
           r2 RADIOBUTTON GROUP DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK blk1.
SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME.
SELECT-OPTIONS:author FOR tadir-author"开发人
SELECT-OPTIONS:devclass FOR tadir-devclass"开发类
SELECT-OPTIONS:obj FOR tadir-obj_name "下载程序名称
SELECT-OPTIONS:tabname FOR dd02l-tabname "下载表名称
SELECTION-SCREEN END OF BLOCK blk2.
INITIALIZATION .
START-OF-SELECTION .
  IF r1 'X'.
    PERFORM get_data.
  ENDIF.
  IF r2 'X'.
    IF tabname IS INITIAL.
      MESSAGE i000(znyj13WITH '请输入要下载的表名!'.
    ELSE.
      PERFORM get_table_data.
    ENDIF.
  ENDIF.
AT LINE-SELECTION.
  CLEARfieldslin.
  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.
* SET PARAMETER ID 'RID' FIELD REP.
* CALL TRANSACTION 'SE38' AND SKIP FIRST SCREEN.
    ENDIF.
  ENDIF.
END-OF-SELECTION.
*---------------------------------------------------------------------*
* FORM GET_DATA *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM get_data.
  SELECT INTO CORRESPONDING FIELDS OF TABLE ytadir
  FROM tadir
  INNER JOIN trdirt ON tadir~obj_name trdirt~name
  WHERE object 'PROG'
  AND obj_name IN obj
  AND devclass IN devclass
  AND author IN author.
  SORT ytadir BY obj_name.
  WRITE数控卧式滚齿机:'开发类','开发人','程序名称'飞机加油车,'程序标题'.
  LOOP AT ytadir.
    IF dow 'X'.
      REFRESH tt.
      rn ytadir-obj_name.
      READ REPORT rn INTO tt.
      CONCATENATE p_dir ytadir-author '_' ytadir-obj_name
      '_' ytadir-text '.' stype
      INTO yyname.
      CALL FUNCTION 'WS_DOWNLOAD'
        EXPORTING
          filename yyname
          filetype 'ASC'
        TABLES
          data_tab tt.
      IF sy-subrc 0.
        WRITE:/1(10ytadir-devclass,
        (8ytadir-author,
        (15ytadir-obj_name,
        (40ytadir-text.
        FORMAT COLOR 5.
        WRITE'已下载'.
        FORMAT COLOR OFF.
      ELSE.
        WRITE:/ ytadir-devclass,ytadir-author,ytadir-obj_name,ytadir-text.
        FORMAT COLOR 4.
        WRITE'无法下载'.
        FORMAT COLOR OFF.
      ENDIF.
    ELSE.
      WRITE:wo318/ ytadir-devclass,ytadir-author,ytadir-obj_name,ytadir-text.
    ENDIF.
  ENDLOOP.
ENDFORM.                    "GET_DATA
*---------------------------------------------------------------------*
* 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 '1'.
  SELECT INTO CORRESPONDING FIELDS OF TABLE tab FROM dd03l AS a
  WHERE a~tabname IN tabname.
  SORT tab BY tabname position.
*  uline.
*  write:/ sy-vline, at 2(10) '字段名',
*          sy-vline,at 14(10)'关键字',
*          sy-vline,at 26(10) '数据元素',

本文发布于:2024-09-20 23:37:03,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/214266.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:程序   下载   输入   结构   查看   表名
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议