随笔:216 文章:2 评论:37 阅读: 89万

随笔分类 -  SAP\ABAP

SAP\ABAP 
SAP应用界面开发:5)Report List报表开发获取屏幕中的数据(3)
摘要:当双击Report List所输出的某行数据时,触发AT LINE-SELECTION事件。而HIDE定义使输出的内容和当前选择相关联,会自动获取该行内容,如下: [For Example] DATAmytext(20).START-OF-SELECTION. "WRITE:/'ATLINE-SELECTION'. PERFORMwrite_and_hide. FORMwrite_and_hide. mytext='line1'. WRITE/mytext. HIDEmytext. mytext='line2'. WRITE/mytex 阅读全文
posted @ 2012-07-10 19:46 KenNgai 阅读(1854) 评论(0) 推荐(0) 编辑
SAP应用界面开发:5)Report List报表开发(2)
摘要:报表输出格式的控制 (1)表格的制作 SAP Report List 开发中并没有表格的概念,所谓表格实现上是通过多个线条绘制而成。具体的线条输出位置,需要开发人员根据输出报表的大小,字段长短及位置来确定。 1.线条包括横线的竖线,横线的绘制语法可以指定具体位置及长度,默认为当前屏幕宽度。 [For Example] ULINEAT3(10)."绘制横线*SKIP.SETBLANKLINESON.WRITEAT3(10)SY-ULINE."绘制横线,两种效果一样*WRITEAT/3(10)SY-ULINE 2.竖线的输出固定为一个字符的高度,Report List中字符大小 阅读全文
posted @ 2012-07-09 19:43 KenNgai 阅读(3144) 评论(0) 推荐(0) 编辑
SAP应用界面开发:5)Report List报表开发(1)
摘要:(1)Report List 输入定义 Report List主要应用于数据的格式化输出。Report List可以通过以下参数设置来控制报表标题显示、报表分页控制、参数数据库表及参考Message类等,具体扩展语法如下: ...NO STANDARD PAGE HEADING:输出的报表不包含表头(LIST HEADING)。 ...LINE-SIZE col:设置页宽。 ...LINE-COUNT m(n):设置每页行数及每页间空行数,如LINE-COUNT 18(2)表示每页18行,每页之间空两行。 ...Message-ID mid:在程序中应用标准的Message类。 ...D... 阅读全文
posted @ 2012-07-09 11:03 KenNgai 阅读(4280) 评论(0) 推荐(0) 编辑
SAP应用界面开发:4)SAP屏幕事件控制
摘要:1)INITIALIZATION事件 该事件在屏幕未显示之前执行,对程序设置值及屏幕元素进行初始化赋值。如下代码: [For Example] PARAMETERSQUAL_DAYTYPEDDEFAULTSY-DATUM. SELECTION-SCREENPUSHBUTTON/1(20)SAVEUSER-COMMANDSAVE. INITIALIZATION."程序初始化事件,該事件在程序屏幕未顯示之前執行。對程序設置值及屏幕元素進行初始化設置. QUAL_DAY+6(2)='01'. QUAL_DAY=QUAL_DAY-1. MOVE'SAVE'TO 阅读全文
posted @ 2012-07-06 16:31 KenNgai 阅读(5606) 评论(0) 推荐(0) 编辑
SAP应用界面开发:3)SELECTION-SCREEN对象(4)
摘要:前面几篇文章已经学习了ABAP中SELECTION-SCREEN的大部分对象,既然是大部分对象,那么还遗留有小部分对象还未接触,接下来我们将继续学习。 (1)SELECTION-SCREEN COMMONT fmt name. 用于定义或者修改本地元素的注释,包括PARAMETER、CHECKBOX BUTTON等。通过SELECTION-SCREEN COMMENT语法可以按Text Symbols设置的值对其属性重新定义。 [For Example] SELECTION-SCREENBEGINOFLINE. SELECTION-SCREENCOMMENT(12)TEXT-W03FOR... 阅读全文
posted @ 2012-07-03 11:10 KenNgai 阅读(6742) 评论(0) 推荐(0) 编辑
SAP应用界面开发:3)SELECTION-SCREEN 对象(2)
摘要:接上一篇,我们继续讲解SELECTION-SCREEN的的语法。 (4)SELECTION-SCREEN INCLUDE(调用已经存在的屏幕元素) 参照某一个已经定义的屏幕元素来创建,如下代码: CALLSCREEN1234. *PARAMETERSMATNRLIKEMARA-MATNR.*CALLSELECTION-SCREEN1234. "调用子窗体SELECTION-SCREENBEGINOFSCREEN1111. SELECTION-SCREENBEGINOFBLOCKblock1WITHFRAMETITLETEXT-W01. SELECT-OPTIONSSELOFORSY- 阅读全文
posted @ 2012-06-30 17:38 KenNgai 阅读(4381) 评论(0) 推荐(0) 编辑
SAP应用界面开发:3)SELECTION-SCREEN 对象(1)
摘要:SELECT-SCREEN语句用于创建屏幕的框架结构,主要包括屏幕元素的创建、子屏幕的创建等。子程序主要分为两种,一种为Include Screen,可以通过Report端程序直接调用;另一种为SubScreen,需要通过Screen Painter所创建的屏幕调用。SELECT-SCREEN具体的应用语法如下: (1)SELECTION-SCREEN BEGIN OF SCREEN src. ....... SELECTION-SCREEN END OF SCREEN src.该语法用于定义一个INCLUDE SUREEN,可通过CALL方法在Report程序中引用,CALL屏幕窗体时加入. 阅读全文
posted @ 2012-06-27 08:54 KenNgai 阅读(5817) 评论(0) 推荐(0) 编辑
SAP应用界面开发:3)Text Elements(文本元素)对象
摘要:在SELECT-OPTIONS与PARAMETERS的设计中,我们可以发现它们在屏幕上显示的名称是对象的定义名,但在实际的应用中,我们需要提供某一字段的完整名称以方便用户理解,例如物料字段名MATNR,我们要求其在屏幕显示字段为“Material No”。那程序设计中该如何实现这一需求呢?SAP提供了Text Elements组件,能方便地实现栏目名的自定义。 使用该功能,首先必须先进入ABAP的编辑环境,操作路径在主菜单:GOTO-->Text Elements(下图所示),文本的维护亦可能过TCODE:SE32来实现。 Text Element共包括三个部分,而且设置值与当前使用的语 阅读全文
posted @ 2012-06-25 19:49 KenNgai 阅读(6627) 评论(1) 推荐(0) 编辑
SAP应用界面开发:2)PARAMETERS对象
摘要:1.PARAMETERS对象的基本语法及定义 PARAMETERS可以参照数据字典具体字段或者自定义数据类型创建文本输入域以及单选/复选框等。与SELECT-OPTIONS不同的是,PARAMETERS只能创建一个单一的输入域且最多只能输入一行,其对象的命名长度不能超过8位。显示长度参照数据对象变化。PARAMETERS定义后不会产生内表,可作为变量在程序中运用,基本语法如下: PARAMETERS PNAME(不能超过8位).... [For Example] DATAAGETYPEI.PARAMETERSUSER_AGELIKEAGE.DATANICKNAMETYPECLENGTH60.. 阅读全文
posted @ 2012-06-12 09:46 KenNgai 阅读(8570) 评论(0) 推荐(0) 编辑
SAP应用界面开发:1)SELECT-OPTIONS对象
摘要:1.SELECT-OPTIONS基本语法及定义 SELECT-OPTIONS通常用于参照一数据库字段来建立数据输入域,其定义对象命名长度不能超过8位,其产生的屏幕对象最大输入长度为18位,语法如下: SELECT-OPTIONS <sel> FOR <f>. [For Example] SELECT-OPTIONS:DATAFORSY-DATUM. *运行界面如下:SELECT-OPTIONS内表结构:名称参考值描述SIGNI或者E输入类型,显示图标颜色会有所不同OPTIONEQ,NE,CP,NP,GE,LT,LE,GT表示前后输入栏关系,EQ(等于),NE(不等于), 阅读全文
posted @ 2012-06-10 20:57 KenNgai 阅读(19894) 评论(0) 推荐(2) 编辑
Open SQL:7)动态WHERE条件内表
摘要:Open SQL能够动态定义WHERE条件。如下: [For Example] DATA:WHERE_TABTYPETABLEOFEDPLINE. DATA:DT_SCUSTOMLIKESTANDARDTABLEOFSCUSTOMWITHHEADERLINE. APPEND'ID=11279'TOWHERE_TAB. "添加条件 APPEND'OR'TOWHERE_TAB. APPEND'ID=36'TOWHERE_TAB. *DATACONDTYPESTRING.*LOOPATWHERE_TABINTOCOND. "无HEA 阅读全文
posted @ 2012-06-08 12:09 KenNgai 阅读(2810) 评论(0) 推荐(1) 编辑
ABAP工作区,内表,标题行的定义和区别
摘要:工作区域跟变量一样,是用来保存数据的。区别是变量只能从中保存一个数据。而工作区域可以存放多个。把多个数据合在一起就成工作区域了。下面我们来看看工作区域是如何定义的吧。定义有四种方法,如下:1,直接定义DATA: BEGIN OF WA_EKBE,MATNR TYPE MARA-MATNR,MAKTX TYPE MAKT-MAKTX,END OF WA_EKBE.上面是以BEGIN和END关键字开始,在其中的就是其工作区域的内容。它存放的内容也就是这两个。2,参照表或结构DATA: WA_LFA1 TYPE LFA1.DATA: WA_LFA2 TYPE ZXXEKBE_S01.上面就是定... 阅读全文
posted @ 2012-06-08 11:04 KenNgai 阅读(18056) 评论(2) 推荐(2) 编辑
Open SQL:6)Open SQL 增刪查改(CRUD)
摘要:ABAP 中 OPEN SQL中的查看操作上篇文件已有過介紹,此處將不再整理。接下來就來看看其它動作的相關語法。 1.UPDATE(修改操作) UPDATE实现对数据的更新操作,语法如下: UPDATE <dbtab> SET f1...fn (WHERE <condition>). UPDATE <dbtab> FROM TABLE <itab> (WHERE <condition>). [For Example] UPDATE SPFLI SET:AIRPTO = 'MONTREAL-DO' WHERE CARRI 阅读全文
posted @ 2012-06-01 08:25 KenNgai 阅读(1742) 评论(0) 推荐(0) 编辑
Open SQL:5)Open SQL获取数据行数限制
摘要:在数据库SQL查询中当要获取前几条数据时会用到关键字TOP,在Open SQL中也有相类似的功能,可以使用 UP TO n ROWS语法来限制读取数据的条数,语法如下: SELECT * INTO ...... UP TO N ROWS.[FOR EXAMPLE] TABLES:SPFLI. DATA:P_SPFLILIKESTANDARDTABLEOFSPFLIWITHHEADERLINE. SELECT*FROMSPFLIINTOCORRESPONDINGFIELDSOFTABLEP_SPFLIUPTO5ROWS. LOOPATP_SPFLI.WRITE:/SY-TABIX,':P 阅读全文
posted @ 2012-05-27 15:58 KenNgai 阅读(2074) 评论(0) 推荐(0) 编辑
Open SQL:4)参照内表条件进行查询
摘要:内表可以用来临时存放多条数据,Open SQL允许以内表数据作为查询条件,相关语法如下: SELECT <f1...fn> FROM <dbtab> FOR ALL ENTRIED IN <itab> WHERE....。 [FOR EXAMPLE] TABLES:SPFLI,SFLIGHT. DATA:BEGINOFxpfliOCCURS0, carridLIKESPFLI-CARRID, connidLIKESPFLI-CONNID, ENDOFxpfli.DATA:xxflightLIKETABLEOFxpfliWITHHEADERLINE.SELEC 阅读全文
posted @ 2012-05-27 14:16 KenNgai 阅读(2145) 评论(0) 推荐(1) 编辑
Open SQL:3)多个表数据连接查询
摘要:ABAP中当需要同时查询多个表的相关字段时,需要使用到JOIN语句,跟平常数据库中用到的连接查询基本上相同。共包含三种: 1)INNER JOIN:查询结果包含两个连接表中彼此相对应的数据记录。 2)LEFT OUTER JOIN:查询结果集中包含左则表中的所有数据记录,右表中仅查询出包含相对应的匹配条件的数据。 3)FULL OUTER JOIN:包含左右表所有的记录。 [For Example] TABLES:SPFLI,SFLIGHT. DATA:BEGIN OF Xflight OCCURS 0, airpfrom LIKE SPFLI-Airpfrom, airpto L... 阅读全文
posted @ 2012-05-24 21:47 KenNgai 阅读(2825) 评论(0) 推荐(0) 编辑
Open SQL:2)基本语法及结构
摘要:Open SQL能够方便的实现数据库数据的读取及修改,其对数据库主要操作语法包括:SELECT、UPDATE、INSERT、DELETE及MODIFY。 Open SQL的执行状态通过系统变量SY-SUBRC来表现,如果SY-SUBRC值为0,则表示Open SQ执行成功,如果不为0,则表示执行失败。 1.SELECT语法结构 SELECT 语句用于实现对数据的查询,其语法结构如下: SELECT <result> FROM <dbtab> INTO <target> WHERE <condition> GROUP BY <fields&g 阅读全文
posted @ 2012-05-17 15:41 KenNgai 阅读(2250) 评论(0) 推荐(0) 编辑
Open SQL:1)简介
摘要:SAP实际上提供了两种访问数据库的方式:Open SQL与Native SQL,Native SQL为数据库自身的SQL,可以直接访问数据库,能够实现对数据库表及视图直接进行创建、修改、删除等操作。开发人员首先必须了解底层数据库SQL语法,而且Native SQL能直接对数据库表进行修改删除等操作,具有一定的安全风险,对SAP执行效率也会有较大的影响,一般不推荐使用。不过Native SQL有时候也能实现一些Open SQL无法实现的功能。这将在后面介绍。 Open SQL是完全集成到ABAP语言中的标准SQL子集,它可以通过SAP的数据库接口来识别不同的数据库,然后由该接口把SAP的Ope. 阅读全文
posted @ 2012-05-17 15:07 KenNgai 阅读(3296) 评论(0) 推荐(1) 编辑
ABAP开发基础知识:12)ABAP宏的应用
摘要:宏(Macros)是一段独立的代码,能实现数据的运算与输出,功能与子程序类似,主要应用于同一程序中某些重复的运算,以简化代码,其定义语法如下: DEFINE INCREMENT. "INCREMENT为自定义宏的名称。 ...... END-OF-DEFINITION. 对宏的参数传递通过&N来实现,N为整数,即调该宏的参数顺序。 DEFINE INCREMENT. "定义宏 ADD 1 TO &1. WRITE: / &1. WRITE: / &2. END-OF-DEFINITION. DATA:number TYPE I VALUE 1 阅读全文
posted @ 2012-04-14 20:00 KenNgai 阅读(4724) 评论(0) 推荐(0) 编辑
ABAP开发基础知识:11)子程序的建立与调用
摘要:ABAP子程序(Subrouting)是包含在程序中的一段具有一定功能的代码,能够将某个功能作为一个小程序包含在主程序中,以方便程序分析及阅读。特别是一此程序中多次用到的功能,可以简化代码,增加程序的可读性且便于维护。 1.子程序的定义 通过FORM...ENDFORM语名可以实现子程序的定义,通过PERFORM语句来实现子程序的调用。 [For Example] PERFORM welcome. "调用子程序 FORM welcome. "定义子程序 WRITE / 'subrouting'. ENDFORM. 2.子程序接口参数的定义及使用 子程序实现了 阅读全文
posted @ 2012-04-14 16:41 KenNgai 阅读(6642) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示