- 浏览: 56434 次
- 性别:
- 来自: 北京
最近访客 更多访客>>
最新评论
-
harry_2013:
不能运行
Upload excel file 到 INTERNAL TABLE 的方法 -
dan001:
function dsn()
{
ddd
}
ABAP Standard Report -
linginfanta:
推荐文泉驿
推荐下载WindowsXP字体增强补丁 -
tapestry:
显示InformalParameter只要加入个Mixin就可 ...
Tapstry5.0.5升级到5.0.6中注意的问题
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
发表评论
-
SAP 中如何寻找增强
2008-08-16 19:55 1732方法一、利用TCODE寻找增强(第二代的增强) 执行一个程序( ... -
SAP-R/3出口(增强)
2008-08-15 20:53 2064首先来讲解一下什么是 ... -
两内表关联删除操作
2008-06-17 13:23 1351有两个内部表:IT_TAB1 ... -
BAPI_GOODSMVT_CREATE --mb01,mb1A
2008-06-17 13:22 1946* BAPI TO Upload Inventory ... -
System Fields for Current Date and Time
2008-06-11 10:47 974The following system fields are ... -
ABAP 表格控制(Table Control)和步循环
2008-06-05 08:04 4795表格控制(Table Control)和步循环 ... -
如何动态改变Table Control的列抬头
2008-06-05 08:00 15391、In the screen painter use Inp ... -
SAP常用的function(转)
2008-06-05 07:59 19361. 获取每个月的最后一天 CALL FUNCTI ... -
程序调用——submit的用法
2008-05-21 18:45 2418ABAP程序的启动方式有两种。一种是直接运行,即在事务代码SE ... -
如何限制自己开发的耗时报表在sap系统中运行的个数,以保证正常业务的进行
2008-05-05 13:02 1151在SAP 系统中经常有许多用户自行开发的报表,有些报表运行很 ... -
ABAP/4编程中用到的系统函数
2008-04-23 07:56 1298sy-index:做无条件循环是的次数值. sy-subrc ... -
sap 函数小结
2008-04-23 07:55 1562函数名 描述 SD_VBAP_READ_WITH_VBELN ... -
获取SAP系统用户出口列表
2008-04-23 07:47 951REPORT Y_FIND_USEREXIT ... -
根据事务代码找User exit
2008-04-23 07:45 960TABLES : tstc, "SAP Tr ... -
Upload excel file 到 INTERNAL TABLE 的方法
2008-04-23 07:43 1663FORM upload_data . DATA:w_tab ... -
自定义BAPI的基本资料
2008-04-23 07:28 1660BAPI的简单实现步骤 一,创建Function Modu ... -
SAP BDC技术
2008-04-23 07:18 1292在SAP系统里,重复输入数据时,(数据不同,但是操作是相同的, ... -
SAP系统常用变量
2008-04-11 07:28 2432系统内部有一个专门存放系统变量的结构SYST,其中最常用的系统 ... -
Users Dialogs: Lists
2008-03-26 13:50 807data: wa_spfli type spfli, ... -
SAP SUBROUTINES SAP子程序
2008-03-25 14:24 1012SAP子程序 是PROGRAM 内部模块单元。用 FORM 开 ...
相关推荐
西门子PLC程序源码-称重配料系统是一套基于西门子可编程逻辑控制器(Programmable Logic Controller)的软件解决方案,主要用于自动化控制工业生产中的称重和配料过程。PLC是一种专为在工业环境中应用而设计的数字...
总的来说,这个“汉字简繁体批量转换程序源码”是一个实用的工具,结合了Delphi的编程优势和汉字编码转换的技术。通过深入理解和分析源码,我们可以学习到文件操作、编码转换、以及如何构建一个能够处理大量数据的...
在这个"微信小程序-商城模板"的压缩包中,我们得到了一个名为"youmapp-master"的源码项目,这通常意味着我们可以在此基础上构建一个功能完善的电商类微信小程序。 首先,我们需要了解微信小程序的基本结构。每个小...
7. **日志记录**:在批量处理过程中,`logging`模块可以用于记录操作日志,方便追踪和调试程序运行状态。 8. **异常处理**:为了确保程序的健壮性,应使用`try/except`结构捕获可能出现的错误,如文件不存在、格式...
1. **Pygame基本结构**:每个Pygame程序通常包含初始化、主循环、事件处理、渲染和退出等部分。例如,`pygame.init()`用于初始化Pygame,`while True`循环用于持续运行游戏,`pygame.event.get()`用于处理用户输入和...
它为开发人员提供了在程序中创建、修改、读取Excel表格的便捷方法,这在处理大量结构化数据时非常有用,如报表生成、数据分析和自动化工作流。 "V1.2"版本表示这是该控件的第二个主要更新,通常意味着相较于早期...
微信小程序基于JavaScript、WXML(微信小程序的标记语言)和WXSS(微信小程序的样式表语言)构建。JavaScript处理逻辑,WXML负责结构表现,而WXSS则用于定义样式。开发者通过这三种技术可以构建出与原生应用类似的...
数据库批量替换.zip是一个易语言编写的程序源码资源,它主要关注的是数据库操作中的数据替换功能。易语言是一种中文编程语言,旨在降低编程难度,使普通人也能进行软件开发。这个程序可能提供了批量处理数据库中特定...
标题“易语言Access链接表批量修改源码”表明这个程序的主要功能是通过编程的方式,利用易语言来实现对Access数据库中链接表的数据修改,并且这种修改是批量进行的。批量操作的优势在于可以节省大量手动操作的时间,...
7. `database.sql` - 数据库初始脚本,用于创建必要的表结构。 总的来说,"2020新版零距离泛站泛目录源码程序"是一个适用于构建和管理多站点的Web应用,借助ThinkPHP框架和Nginx服务器,提供便捷的伪静态功能,旨在...
【压缩包子文件的文件名称列表】"三菱PLC程序源码-热处理网带炉"表明压缩包内应该包含的是整个控制系统的设计和实现,可能有以下几部分: 1. **程序源码**:这部分是核心,包含用三菱PLC编程语言(如Ladder Logic或...
1. **URL管理**:程序需要能够处理和存储待下载的RAR文件的URL列表,这可能涉及到数据结构如链表或数组的设计,用于保存和遍历URL。 2. **多线程下载**:为了提高下载效率,批量下载通常会采用多线程技术,让每个...
7. **源码结构和设计**: 一个良好的Delphi源码应该有清晰的模块划分,可能包括一个主函数负责整体流程控制,另外的辅助函数分别处理识别合并单元格、拆分单元格和填充数据等具体任务。代码应该遵循面向对象的原则...
2. **数据库脚本**:通常会包含创建数据库表结构的SQL文件,用于存储用户信息、短信内容、发送状态等数据。 3. **前端界面**:这部分代码负责展示给用户,可能包括用户登录、短信发送、接收、管理等功能页面,使用...
通常,源码会包含多个项目或层次结构,如Web应用项目、数据访问层(DAL)、业务逻辑层(BLL)和实体模型。每个层都有其特定的责任,如Web层负责用户界面,BLL处理业务规则,而DAL则负责与数据库交互。 此外,系统...
使用GX Developer,用户可以编写、测试和调试PLC程序,并将其下载到实际的三菱PLC设备上。 总结起来,这个项目涉及了以下几个关键知识点: 1. 三菱PLC及其编程:理解其编程语言和工作原理。 2. 换箱多轴钻床:了解...
微信小程序是一种轻量级的应用开发平台,主要针对移动端,由腾讯公司推出,旨在提供便捷的、无需下载安装即可使用的应用服务。在这个“微信小程序开发-化妆品商城-案例源码.zip”压缩包中,包含了开发一个化妆品销售...
- 数据库设计:如采用关系型数据库(如MySQL、SQL Server)进行数据存储,需要设计合理的表结构和关系,以支持高效的查询和事务处理。 - 异常处理:确保系统在遇到错误或异常情况时能够正确处理,防止数据丢失或系统...
4. **源码结构**:从压缩包的文件名列表看,`index.html`是主页面,`images`目录可能存放示例图片,`js`目录包含JavaScript脚本,`fonts`和`css`则分别用于字体资源和样式表,它们共同构建了前端界面和交互逻辑。...