`
moonfly2004
  • 浏览: 56434 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

源碼下載----批量下载程序和表结构

阅读更多

REPORT YGJH003 NO STANDARD PAGE HEADING LINE-SIZE 120 MESSAGE-ID WA.

***************************************************************
***REPNAME: 批量下载程序和表结构 ***
***AUTHOR : ***
***************************************************************
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(128) TYPE C.
DATA: TT TYPE STRING OCCURS 0 WITH HEADER LINE.
DATA: RN(72).
DATA: COUNT TYPE I.
DATA: CCOUNT TYPE C.
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(50) DEFAULT 'D:SAP ABAP'. "下载路径
PARAMETERS:STYPE(6) DEFAULT 'RTF'.
PARAMETERS:R1 RADIOBUTTON GROUP R DEFAULT 'X', "不下载表
R2 RADIOBUTTON GROUP R. "下载表
SELECTION-SCREEN END OF BLOCK BLK1.
SELECTION-SCREEN BEGIN OF BLOCK BLK2 WITH FRAME.
SELECT-OPTIONS:AUTHOR FOR TADIR-AUTHOR DEFAULT 'JUNQIU'. "开发人
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 I009 WITH '请输入要下载的表名!'.
ELSE.
PERFORM GET_TABLE_DATA.
ENDIF.
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.
* 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.
FORMAT COLOR 1.
WRITE:/3(10)'开发类', (15) '开发人', (30) '程序名称', (58) '程序标题'.
ULINE .
FORMAT COLOR OFF.
LOOP AT YTADIR.
IF DOW = 'X'.
REFRESH TT.
RN = YTADIR-OBJ_NAME.
READ REPORT RN INTO TT.
* CCOUNT = CCOUNT + 1.
* CONCATENATE YTADIR-AUTHOR '_' CCOUNT '.' STYPE
* INTO YYNAME.
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
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_WRITE_ERROR = 2
INVALID_FILESIZE = 3
INVALID_TABLE_WIDTH = 4
INVALID_TYPE = 5
NO_BATCH = 6
UNKNOWN_ERROR = 7.
IF SY-SUBRC = 0.
WRITE:/3(10) YTADIR-DEVCLASS, (15) YTADIR-AUTHOR, (30) YTADIR-OBJ_NAME, (50) YTADIR-TEXT.
FORMAT COLOR 5.
WRITE: '已下载'.
FORMAT COLOR OFF.
ELSE.
WRITE:/3(10) YTADIR-DEVCLASS, (15) YTADIR-AUTHOR, (30) YTADIR-OBJ_NAME, (50) YTADIR-TEXT.
FORMAT COLOR 4.
WRITE: '无法下载'.
FORMAT COLOR OFF.
ENDIF.
ELSE.
WRITE:/3(10) YTADIR-DEVCLASS, (15) YTADIR-AUTHOR, (30) YTADIR-OBJ_NAME, (50) 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.
WRITE:/'字段名','关键字','数据元素','数据类型','长度','小数',
'表检查','参考表','参考字段','字段描述'.
ULINE.
LOOP AT T1.
REFRESH ITAB.
CLEAR YYNAME.
IF DOW = 'X'.
ITAB-FIELD = '字段名'.
ITAB-KEY = '关键字'.
ITAB-ELMENT = '数据元素'.
ITAB-TYPE = '数据类型'.
ITAB-LENG = '长度'.
ITAB-DECIMALS = '小数'.
ITAB-TEXT = '字段描述'.
ITAB-CHK = '表检查'.
ITAB-CAN = '参考表'.
ITAB-CFI = '参考字段'.
APPEND ITAB.
CLEAR ITAB.
ENDIF.
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 = '1'.
IF SY-SUBRC = 0.
ITAB-TEXT = DD04T-DDTEXT.
ELSE.
CLEAR ITAB-TEXT.
ENDIF.
ELSE.
SELECT SINGLE * FROM DD03T WHERE TABNAME = TAB-TABNAME
AND DDLANGUAGE = '1'
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.
IF DOW = 'X'.
CONCATENATE P_DIR T1-TABNAME '_' T1-DDTEXT '.' STYPE
INTO YYNAME.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
FILENAME = YYNAME
FILETYPE = 'ASC'
TABLES
DATA_TAB = ITAB.
ELSE.
ULINE.
ENDIF.
ENDLOOP.
ENDFORM. "GET_TABLE_DATA

分享到:
评论

相关推荐

    西门子PLC程序源码-称重配料系统.zip

    西门子PLC程序源码-称重配料系统是一套基于西门子可编程逻辑控制器(Programmable Logic Controller)的软件解决方案,主要用于自动化控制工业生产中的称重和配料过程。PLC是一种专为在工业环境中应用而设计的数字...

    汉字简繁体批量转换程序源码

    总的来说,这个“汉字简繁体批量转换程序源码”是一个实用的工具,结合了Delphi的编程优势和汉字编码转换的技术。通过深入理解和分析源码,我们可以学习到文件操作、编码转换、以及如何构建一个能够处理大量数据的...

    微信小程序源码-商城模板.rar

    在这个"微信小程序-商城模板"的压缩包中,我们得到了一个名为"youmapp-master"的源码项目,这通常意味着我们可以在此基础上构建一个功能完善的电商类微信小程序。 首先,我们需要了解微信小程序的基本结构。每个小...

    python办公自动化源码集锦-批量查找数据

    7. **日志记录**:在批量处理过程中,`logging`模块可以用于记录操作日志,方便追踪和调试程序运行状态。 8. **异常处理**:为了确保程序的健壮性,应使用`try/except`结构捕获可能出现的错误,如文件不存在、格式...

    Python源码游戏源码-01 pygame-games(13个).rar

    1. **Pygame基本结构**:每个Pygame程序通常包含初始化、主循环、事件处理、渲染和退出等部分。例如,`pygame.init()`用于初始化Pygame,`while True`循环用于持续运行游戏,`pygame.event.get()`用于处理用户输入和...

    商业源码-编程源码-Excel读写控件 V1.2.zip

    它为开发人员提供了在程序中创建、修改、读取Excel表格的便捷方法,这在处理大量结构化数据时非常有用,如报表生成、数据分析和自动化工作流。 "V1.2"版本表示这是该控件的第二个主要更新,通常意味着相较于早期...

    微信小程序源码-商城

    微信小程序基于JavaScript、WXML(微信小程序的标记语言)和WXSS(微信小程序的样式表语言)构建。JavaScript处理逻辑,WXML负责结构表现,而WXSS则用于定义样式。开发者通过这三种技术可以构建出与原生应用类似的...

    数据库批量替换.zip易语言程序源码资源下载

    数据库批量替换.zip是一个易语言编写的程序源码资源,它主要关注的是数据库操作中的数据替换功能。易语言是一种中文编程语言,旨在降低编程难度,使普通人也能进行软件开发。这个程序可能提供了批量处理数据库中特定...

    易语言Access链接表批量修改源码

    标题“易语言Access链接表批量修改源码”表明这个程序的主要功能是通过编程的方式,利用易语言来实现对Access数据库中链接表的数据修改,并且这种修改是批量进行的。批量操作的优势在于可以节省大量手动操作的时间,...

    2020新版零距离泛站泛目录源码程序

    7. `database.sql` - 数据库初始脚本,用于创建必要的表结构。 总的来说,"2020新版零距离泛站泛目录源码程序"是一个适用于构建和管理多站点的Web应用,借助ThinkPHP框架和Nginx服务器,提供便捷的伪静态功能,旨在...

    三菱PLC程序源码-热处理网带炉.zip

    【压缩包子文件的文件名称列表】"三菱PLC程序源码-热处理网带炉"表明压缩包内应该包含的是整个控制系统的设计和实现,可能有以下几部分: 1. **程序源码**:这部分是核心,包含用三菱PLC编程语言(如Ladder Logic或...

    易语言RAR批量下载源码-易语言

    1. **URL管理**:程序需要能够处理和存储待下载的RAR文件的URL列表,这可能涉及到数据结构如链表或数组的设计,用于保存和遍历URL。 2. **多线程下载**:为了提高下载效率,批量下载通常会采用多线程技术,让每个...

    delphi源码--拆分excel合并单元格并用数据填满拆分后的单元格

    7. **源码结构和设计**: 一个良好的Delphi源码应该有清晰的模块划分,可能包括一个主函数负责整体流程控制,另外的辅助函数分别处理识别合并单元格、拆分单元格和填充数据等具体任务。代码应该遵循面向对象的原则...

    短信平台源码程序

    2. **数据库脚本**:通常会包含创建数据库表结构的SQL文件,用于存储用户信息、短信内容、发送状态等数据。 3. **前端界面**:这部分代码负责展示给用户,可能包括用户登录、短信发送、接收、管理等功能页面,使用...

    商业源码-编程源码-ASP.NET通用权限管理系统1.0.4源码.zip

    通常,源码会包含多个项目或层次结构,如Web应用项目、数据访问层(DAL)、业务逻辑层(BLL)和实体模型。每个层都有其特定的责任,如Web层负责用户界面,BLL处理业务规则,而DAL则负责与数据库交互。 此外,系统...

    三菱PLC程序源码-长春伦艺ZD-60X17FJ换箱多轴钻.zip

    使用GX Developer,用户可以编写、测试和调试PLC程序,并将其下载到实际的三菱PLC设备上。 总结起来,这个项目涉及了以下几个关键知识点: 1. 三菱PLC及其编程:理解其编程语言和工作原理。 2. 换箱多轴钻床:了解...

    微信小程序开发-化妆品商城-案例源码.zip

    微信小程序是一种轻量级的应用开发平台,主要针对移动端,由腾讯公司推出,旨在提供便捷的、无需下载安装即可使用的应用服务。在这个“微信小程序开发-化妆品商城-案例源码.zip”压缩包中,包含了开发一个化妆品销售...

    计算机软件-商业源码-三层物资管理程序.zip

    - 数据库设计:如采用关系型数据库(如MySQL、SQL Server)进行数据存储,需要设计合理的表结构和关系,以支持高效的查询和事务处理。 - 异常处理:确保系统在遇到错误或异常情况时能够正确处理,防止数据丢失或系统...

    免费批量上传图片外链源码-测试最新可以2018年6月18日

    4. **源码结构**:从压缩包的文件名列表看,`index.html`是主页面,`images`目录可能存放示例图片,`js`目录包含JavaScript脚本,`fonts`和`css`则分别用于字体资源和样式表,它们共同构建了前端界面和交互逻辑。...

Global site tag (gtag.js) - Google Analytics