随笔分类 -  SAP\ABAP

SAP\ABAP 
SMARTFORM报表程序设计(3)
摘要:本篇文本将以一个小实例来介绍如何创建SMARTFORM并在ABAP代码中调用SMARTFORM。 首先还是先看下要实现的SMARTFORM报表的最终预览效果: 从图中我们可以看出这张报表包含一个表头TITLE,一张LOGO,日期页码及一张TABLE。所以,先创建一个STYLE命名为ZS_FLIGHT。创建完后进入页面在左边的树形菜单找到“PARAGRAPH FORMATS”并右击选择“CREATE NODE”,输入节点名称“PT”,然后进行相关设置:接着在“CHARACTER FORMAT”处右键,选择"CREATE NODE"创建一个节点“CT”,设置字体样式,相关的设定 阅读全文
posted @ 2012-09-23 20:32 KenNgai 阅读(3983) 评论(0) 推荐(1) 编辑
SMARTFORM报表程序设计(2)
摘要:在创建并设置好STYLE程序之后,在SMARTFORM页面选择单选框FORM输入报表程序名称(ZS_SFLIGHT),点击CREATE按钮即可进入SMARTFORM BUILDER图形设置界面,SMARTFORM BUILDER是一个易操作的图形设计界面,用户可以不需要ABAP语言即可方便地进行版面设置的逻辑设计。如下图: SMARTFORM BUILDER提供下述工具的功能: 1.窗体绘制器(FORM PAINTER),提供图形化的页面布局设计界面。 2.文字编号器(PC EDITOR),在窗口中添加和编辑需要输出的文本和字段。 3.树形对象导航工具(NAVIGATION TREE... 阅读全文
posted @ 2012-09-23 17:39 KenNgai 阅读(2504) 评论(0) 推荐(0) 编辑
SMARTFORM报表程序设计(1)
摘要:SMARTFORM是SAP提供的一款商务单据及报表设置工具,可以在FORM中实现数据的计算及转换等功能,并能在FORM创建的同时生成功能模块,为FORM和ABAP程序提供更为强大的参数接口。输入T-CODE:SMARTFORMS即可进入SMARTFORM的界面,其工具主要包括三大部分,分别用于创建FORM、STYLE、TEXT MODULE。如下图: 在创建SMARTFORM表格之前先创建STYLE应用于表格样式,点击STYLE单选框输入名称后按CREATE按钮,进入设置界面,如下: 其中包括三个部分HEAD DATA、PARAGRAPH FORMATS、CHARACTER... 阅读全文
posted @ 2012-09-23 17:28 KenNgai 阅读(5750) 评论(0) 推荐(0) 编辑
FOR ALL ENTRIES IN
摘要:一、Select语句中使用FOR ALL ENTRIES IN需要注意的问题在ABAP编程中,使用for all entries in 是必不可少的语句,相信大家都使用过,例如:data: begin of ig_bseg occurs 0, werks likebseg-werks,belnr like bseg-belnr, gjahr like bseg-gjahr, dmbtr like bseg-dmbtr, end of ig_mseg.if not ig_bkpf[] is initial. selectwerks belnr gjahr dmbtrinto correspond 阅读全文
posted @ 2012-09-09 22:16 KenNgai 阅读(1498) 评论(1) 推荐(1) 编辑
一个极好的ALV例子
摘要:在网上找了个不错的ALV例子,学习并整理了一下贴出具体的程式。 REPORTZZWEI_ALV_EXAMPLE. TABLES:LFA1,"供应商主数据(一般地区) EKPO,"采购凭证项目 EINE,"采购信息记录-采购组织数据 EINA."采购信息记录-一般数据 INCLUDE<LIST>. TYPE-POOLS:SLIS. DATA:i_fieldcat_alvTYPESLIS_T_FIELDCAT_ALV,"定义列标题(属性信息) i_layoutTYPESLIS_LAYOUT_ALV, i_fieldcatTYPESLIS 阅读全文
posted @ 2012-09-07 11:15 KenNgai 阅读(5708) 评论(3) 推荐(0) 编辑
ABAP用FILE_OPEN_DIALOG打开多个文件后打印出名称
摘要:此实例将演示用CL_GUI_FRONTEND_SERVICES下的静态方法FILE_OPEN_DIALOG打开多个文件后打印出打开文件的名称。具体程式如下。 DATAFILE_TABLETYPEFILE_TABLE."引用FILE_TABLE对象 *SELECT-OPTIONS:i_fileFORFILE_TABLENOINTERVALS. DATA:lt_file_namesTYPEFILETABLE, lwa_file_nameLIKELINEOFlt_file_names, lv_subrcTYPEI. SELECT-OPTIONS:i_fileFORFILE_TABLE... 阅读全文
posted @ 2012-09-04 20:16 KenNgai 阅读(2792) 评论(2) 推荐(0) 编辑
ABAP中读取文本文件(TXT DOCUMENT)并用ALV显示
摘要:在做ABAP开发时,有的时候我们需要将数据整理成文件然后上传至SAP,整理后的文件可以是文本格式或者EXCEL文件格式等,这也要看具体的业务要求了,本篇文件将以实例介绍如何读取文本文件。嘎嘎。。。 首先要介绍一下CL_GUI_FRONTEND_SERVICES类,这个类提供了很多对操作系统文件的操作,例如拷贝,列出文件名,打开文件等。当在从客户端打开一个文件是我们要用到它的静太方法FILE_OPEN_DIALOG,将文本文件读取到内表时又要用到它的静态方法GUI_UPLOAD。GUI_UPLOAD是个比较特殊的方法,可以直接被FUNCTION直接调用类似的还有GUI_DOWNLOAD等,... 阅读全文
posted @ 2012-09-03 17:55 KenNgai 阅读(6907) 评论(0) 推荐(0) 编辑
ABAP中的系统变量SY-INDEX与SY-TABIX
摘要:系统变量SY-INDEX与SY-TABIX是用来记录循环的次数或者索引的,不同的是SY-INDEX在DO....ENDDO中是有效的,而SY-TABIX在LOOP....ENDLOOP中及READ内表时获取相应的索引。 DATA:BEGINOFSTUDENTOCCURS0, NAME(10)TYPEC, AGETYPEI, ENDOFSTUDENT. DATADENTLIKELINEOFSTUDENT. STUDENT-NAME='JACK'. STUDENT-AGE=20. APPENDSTUDENT. STUDENT-NAME='JIM'. STUDENT- 阅读全文
posted @ 2012-08-24 09:50 KenNgai 阅读(26971) 评论(0) 推荐(1) 编辑
ABAP中关键字TYPES与DATA
摘要:TYPES关键字用于创建自定义数据类型,就像JAVA里面创建类一样,用TYPES创建的数据类型可以被其它变量引用(类似于实例化对象),而本身不能直接引用或者赋值。 DATA关键字用于定义结构体,可以自定义结构体或者参考某一个自定义类型创建对象,我把它称为实例化对象。 [For Example] TYPES:BEGINOFILINE,"創建一個類型,包含三個字段TYPES:定義的是類型DATA:則為對象 FIRST_NAME(30)TYPEC, LAST_NAME(30)TYPEC, AGETYPEI, ENDOFILINE. DATAWATYPEILINE."定义一个结构  阅读全文
posted @ 2012-08-14 20:44 KenNgai 阅读(6963) 评论(1) 推荐(0) 编辑
ABAP中USING与CHANGING的用法
摘要:ABAP中FORM参数的传递有以下几种方式。 1.引用传递(CALL BY REFERENCE) 传递参数时将参数的地址(ADDRESS)传至子程序中,也就是子程序中的参数变量与外部程序的参数变量共享地址内的值。又叫CALL BY ADDRESS,若子程序中的参数变量的值发生了改变,那么,外部程序的实际变量的值也发生改变。 [Syntax] FORM <subform> [USING <f1> <f2>...] [CHANGING <fr1> <fr2>...] PERFORM <subform> [USING <f 阅读全文
posted @ 2012-08-01 22:05 KenNgai 阅读(16889) 评论(0) 推荐(4) 编辑
简单的ALV显示信息(二)
摘要:之前写过一篇简单的ALV显示信息,为了增强对ALV几个查关函数的理解,故又写了一个很简单的小程式就叫他为之简单的ALV显示信息(二)吧。就显示出物料编号及物料名称,够简单吧,我喜欢简单,就像这样过着简单的生活。 REPORTZZWEI_ALV_MYDEMO. TYPE-POOLS:SLIS."引用类型池 TABLES:MARA,MAKT. DATA:i_fieldcatTYPESLIS_T_FIELDCAT_ALVWITHHEADERLINE, i_layoutTYPESLIS_LAYOUT_ALV, i_repidTYPESY-REPID. SELECT-OPTIONS:s... 阅读全文
posted @ 2012-07-26 22:16 KenNgai 阅读(1553) 评论(0) 推荐(0) 编辑
自定义FIELDCAT参数控制ALV输出
摘要:除了可以用REUSE_ALV_FIELDCATALOG_MERGE函数来获取FIELDCAT之外,还可以自定义FIELDCAT参数,不过这种方式需要自定义字段名称。 REPORTZZWEI_ALV_DEMO. TYPE-POOLS:SLIS."引用类型池 TABLES:SPFLI. DATA:fieldCatTYPESLIS_T_FIELDCAT_ALVWITHHEADERLINE, layoutTYPESLIS_LAYOUT_ALV, w_repidLIKESY-REPID. DATA:lspfliLIKESTANDARDTABLEOFSPFLIWITHHEADERLI... 阅读全文
posted @ 2012-07-25 10:13 KenNgai 阅读(4923) 评论(0) 推荐(0) 编辑
调用REUSE_ALV_FIELDCATALOG_MERGE函数来获取FIELDCAT
摘要:REUSE_ALV_FIELDCATALOG_MERGE函数可根据内表结构返回FIELDCAT字段结构信息,具体的参数等信息请查看ALV调用的几个标准函数里相关的介绍,好的,那么让我们开始学习如何使用此函数。 REPORTZZWEI_ALV_DEMO. *ALVSTART TYPE-POOLS:SLIS."调用该类型池 *定义FIELDCAT与LAYOUT DATA:fieldCatTYPESLIS_T_FIELDCAT_ALVWITHHEADERLINE, layoutTYPESLIS_LAYOUT_ALV, w_repidLIKESY-REPID. TABLES:SPFLI... 阅读全文
posted @ 2012-07-25 09:44 KenNgai 阅读(9756) 评论(0) 推荐(0) 编辑
ALV调用的几个标准函数
摘要:ALV的调用主要由以下几个标准函数实现,所有函数的输入输出参数必须大写,否则系统会出现异常中止,相关函数如下: 1)REUSE_ALV_FIENDCATALOG_MERGE:根据内表结构返回FIELDCAT字段结构信息,其常用输入输出参数如下: EXPORTING项: 1.I_PROGRAM_NAME:程序名称。 2.I_INTERNAL_TABNAME:内表名称,必须为输出内表所自定义的STRUCTURE名。 3.I_STRUCTURE_NAME:直接参考数据字典中所定义的透明表名或STRUCTURE名。 函数定义时I_INTERNAL_TABNAME或I_STRUCTURE_NAM... 阅读全文
posted @ 2012-07-18 22:57 KenNgai 阅读(3992) 评论(0) 推荐(1) 编辑
简单的ALV显示信息
摘要:在ALV开发中有两个重要的对象:LAYOUT和FIELDCAT。LAYOUT主要用于设置ALV的输出格式,如输出字段的颜色、表格中的线条等;而FIELDCAT主要用于ALV结构定义,包括具体字段的名称、类型、格式等属性,它们同属于类型池SLIS,在ALV开发中必须导入类型池SLIS。 [For Example]*ALV使用到的类型池 TYPE-POOLS:SLIS. DATAwa_alv_fieldTYPESLIS_FIELDCAT_ALV. *列表字段(綁定FIELD)无HEADLER LINEDATAwa_alv_fieldcatTYPESLIS_T_FIELDCAT_ALV. *DA.. 阅读全文
posted @ 2012-07-18 22:36 KenNgai 阅读(2230) 评论(0) 推荐(0) 编辑
SAP应用界面开发:7)工具栏对象GUI Status与GUI Title
摘要:GUI Status与GUI Title用于自定义工具栏按钮及Report程序标题栏显示内容,可以通过SE81或直接在SE38中展开对象列表进行相关操作。如下图所示为ABAP编辑器中展开,点击:或者按捷键(CTRL+SHILF+F5) 1)GUI Status的定义及应用 GUI Status 用于自定义工具栏按钮。单击上图中的GUI Status菜单即可以弹出Create Status对话框,所定义属性包括程序名称及工具栏的名称、基本描述及状态类型。如下图: 填写完整相关属性,单击按钮进入GUI Status参数设置界面,如下图: GUI Status参数设置共包括3个部分... 阅读全文
posted @ 2012-07-14 10:33 KenNgai 阅读(7576) 评论(1) 推荐(1) 编辑
SAP应用界面开发:6)程序回执信息的定义
摘要:SAP通过Message来回执程序的执行状态。使用T-CODE:SE91对Message定义,还能够对Message进行创建,修改及删除等维护操作。 SAP将Message分为不同的类,下图显示00类的相关Message列表: Message Short Text字段为类描述,可以定义输入参数&,如"1&2&3&"表示有三个输入参数。 Message共分以下几种类型:E:错误、W:警告、I:信息、A:异常中止、S:成功。 引用语法为: Message W000(00),表示调用00类的000Message类型为警告。 也可以在程序开头直接引用 阅读全文
posted @ 2012-07-13 11:16 KenNgai 阅读(2526) 评论(0) 推荐(0) 编辑
SAP应用界面开发:5)Report List报表开发-实现Report的格式分页输出(6)
摘要:下面创建一个ICON数据查询程序,将ICON的名称及相关图标从系统中抓出。控制报表每页显示数量最多不超过10行,具体如下: REPORTZZWEI_REPORT_DEMONOSTANDARDPAGEHEADING.*NOSTANDARDPAGEHEADING(FORLISTHEADING)DATA:PAGE_LINETYPEIVALUE10,"每頁行數 ICONTABLIKESTANDARDTABLEOFV_ICONWITHHEADERLINE,"參照VIEW建內表 NumTYPEI.*每次分页时绘制表头 TOP-OF-PAGE. WRITE:/2'Pages:&# 阅读全文
posted @ 2012-07-12 15:43 KenNgai 阅读(2433) 评论(0) 推荐(0) 编辑
SAP应用界面开发:5)Report List报表开发-输入列表颜色的设定(5)
摘要:使用FORMAT语句可以实现其它一些屏幕格式化功能,如调整输出颜色等。 [Syntax] FORMAT <option1> [ON|OFF] <option2> [ON|OFF]........ 一旦设定,FORMAT语句中设置的格式将适用于所有后续输出的语句,直到再次使用OFF选项关闭,其具体选项列表如下: COLOR n [ON|OFF]:设定列表行的背景颜色。 INTENSIFIED [ON|OFF]:设定是否将字段强化输出。 INVERSE [ON|OFF]:设定是否将背景即文字颜色反转输出。 HOTSPOT [ON|OFF]:将光标以手型显示,单击触发行选择事 阅读全文
posted @ 2012-07-12 14:54 KenNgai 阅读(2271) 评论(0) 推荐(0) 编辑
SAP应用界面开发:5)Report List报表开发-列表程序中的系统参数(4)
摘要:在列表输出过程中,系统将填充下列相关系统字段,可以程序中直接调用。 SY-LINCT:REPORT语句中设定的LINE-COUNT。 SY-LINSZ:REPORT语句中设定的LINE-SIZE。 SY-SROWS:当前窗口中的列表行数。 SY-SCOLS:当前窗口中的列表栏目数。 SY-PAGNO:当前窗口的页码。 SY-LINNO:当前输出页面的选定行序号。 SY-COLNO:当前输出页面的选定列序号。 阅读全文
posted @ 2012-07-11 10:14 KenNgai 阅读(1210) 评论(0) 推荐(0) 编辑