暂无个人介绍
在创建并设置好STYLE程序之后,在SMARTFORM页面选择单选框FORM输入报表程序名称(ZS_SFLIGHT),点击CREATE按钮即可进入SMARTFORM BUILDER图形设置界面,SMARTFORM BUILDER是一个易操作的图形设计界面,用户可以不需要ABAP语言即可方便地进行版面设置的逻辑设计。
SMARTFORM是SAP提供的一款商务单据及报表设置工具,可以在FORM中实现数据的计算及转换等功能,并能在FORM创建的同时生成功能模块,为FORM和ABAP程序提供更为强大的参数接口。输入T-CODE:SMARTFORMS即可进入SMARTFORM的界面,其工具主要包括三大部分,分别用于创建FORM、STYLE、TEXT MODULE。
一、Select语句中使用FOR ALL ENTRIES IN需要注意的问题在ABAP编程中,使用for all entries in 是必不可少的语句,相信大家都使用过,例如:data: begin of ig_bseg occurs 0, werks like bseg-wer...
在网上找了个不错的ALV例子,学习并整理了一下贴出具体的程式。 REPORT ZZWEI_ALV_EXAMPLE. TABLES:LFA1,"供应商主数据 (一般地区) EKPO,"采购凭证项目 EINE,"采购信息记录 - 采购组织数据 EINA.
此实例将演示用CL_GUI_FRONTEND_SERVICES下的静态方法FILE_OPEN_DIALOG打开多个文件后打印出打开文件的名称。具体程式如下。 DATA FILE_TABLE TYPE FILE_TABLE.
在做ABAP开发时,有的时候我们需要将数据整理成文件然后上传至SAP,整理后的文件可以是文本格式或者EXCEL文件格式等,这也要看具体的业务要求了,本篇文件将以实例介绍如何读取文本文件。嘎嘎。。。 首先要介绍一下CL_GUI_FRONTEND_SERVICES类,这个类提供了很多对操作系统文件的操作,例如拷贝,列出文件名,打开文件等。
系统变量SY-INDEX与SY-TABIX是用来记录循环的次数或者索引的,不同的是SY-INDEX在DO....ENDDO中是有效的,而SY-TABIX在LOOP....ENDLOOP中及READ内表时获取相应的索引。
TYPES关键字用于创建自定义数据类型,就像JAVA里面创建类一样,用TYPES创建的数据类型可以被其它变量引用(类似于实例化对象),而本身不能直接引用或者赋值。 DATA关键字用于定义结构体,可以自定义结构体或者参考某一个自定义类型创建对象,我把它称为实例化对象。
ABAP中FORM参数的传递有以下几种方式。 1.引用传递(CALL BY REFERENCE) 传递参数时将参数的地址(ADDRESS)传至子程序中,也就是子程序中的参数变量与外部程序的参数变量共享地址内的值。
之前写过一篇简单的ALV显示信息,为了增强对ALV几个查关函数的理解,故又写了一个很简单的小程式就叫他为之简单的ALV显示信息(二)吧。就显示出物料编号及物料名称,够简单吧,我喜欢简单,就像这样过着简单的生活。
除了可以用REUSE_ALV_FIELDCATALOG_MERGE函数来获取FIELDCAT之外,还可以自定义FIELDCAT参数,不过这种方式需要自定义字段名称。 REPORT ZZWEI_ALV_DEMO.
REUSE_ALV_FIELDCATALOG_MERGE函数可根据内表结构返回FIELDCAT字段结构信息,具体的参数等信息请查看ALV调用的几个标准函数里相关的介绍,好的,那么让我们开始学习如何使用此函数。
ALV的调用主要由以下几个标准函数实现,所有函数的输入输出参数必须大写,否则系统会出现异常中止,相关函数如下: 1)REUSE_ALV_FIENDCATALOG_MERGE:根据内表结构返回FIELDCAT字段结构信息,其常用输入输出参数如下: EXPORTING项: 1.I_PROGRAM_NAME:程序名称。
在ALV开发中有两个重要的对象:LAYOUT和FIELDCAT。LAYOUT主要用于设置ALV的输出格式,如输出字段的颜色、表格中的线条等;而FIELDCAT主要用于ALV结构定义,包括具体字段的名称、类型、格式等属性,它们同属于类型池SLIS,在ALV开发中必须导入类型池SLIS。
GUI Status与GUI Title用于自定义工具栏按钮及Report程序标题栏显示内容,可以通过SE81或直接在SE38中展开对象列表进行相关操作。如下图所示为ABAP编辑器中展开,点击:或者按捷键(CTRL+SHILF+F5) 1)GUI Status的定义及应用 GUI Status 用于自定义工具栏按钮。
SAP通过Message来回执程序的执行状态。使用T-CODE:SE91对Message定义,还能够对Message进行创建,修改及删除等维护操作。 SAP将Message分为不同的类,下图显示00类的相关Message列表: Message Short Text字段为类描述,可以定义输入参数&,如"1&2&3&"表示有三个输入参数。
下面创建一个ICON数据查询程序,将ICON的名称及相关图标从系统中抓出。控制报表每页显示数量最多不超过10行,具体如下: REPORT ZZWEI_REPORT_DEMO NO STANDARD PAGE HEADING.
使用FORMAT语句可以实现其它一些屏幕格式化功能,如调整输出颜色等。 [Syntax] FORMAT [ON|OFF] [ON|OFF]........ 一旦设定,FORMAT语句中设置的格式将适用于所有后续输出的语句,直到再次使用OFF选项关闭,其具体选项列表如下: COLOR n [ON|OFF]:设定列表行的背景颜色。
在列表输出过程中,系统将填充下列相关系统字段,可以程序中直接调用。 SY-LINCT:REPORT语句中设定的LINE-COUNT。 SY-LINSZ:REPORT语句中设定的LINE-SIZE。
当双击Report List所输出的某行数据时,触发AT LINE-SELECTION事件。而HIDE定义使输出的内容和当前选择相关联,会自动获取该行内容,如下: [For Example] DATA mytext(20).
报表输出格式的控制 (1)表格的制作 SAP Report List 开发中并没有表格的概念,所谓表格实现上是通过多个线条绘制而成。具体的线条输出位置,需要开发人员根据输出报表的大小,字段长短及位置来确定。
(1)Report List 输入定义 Report List主要应用于数据的格式化输出。Report List可以通过以下参数设置来控制报表标题显示、报表分页控制、参数数据库表及参考Message类等,具体扩展语法如下: ...NO STANDARD PAGE HEADING:输出的报表不包含表头(LIST HEADING)。
1)INITIALIZATION事件 该事件在屏幕未显示之前执行,对程序设置值及屏幕元素进行初始化赋值。如下代码: [For Example] PARAMETERS QUAL_DAY TYPE D DEFAULT SY-DATUM. SELECTION-SCREEN PUSHBUTTON /1(20) SAVE USER-COMMAND SAVE. INITIALIZATION. "程序初始化事件,該事件在程序屏幕未顯示之前執行。
前面几篇文章已经学习了ABAP中SELECTION-SCREEN的大部分对象,既然是大部分对象,那么还遗留有小部分对象还未接触,接下来我们将继续学习。 (1)SELECTION-SCREEN COMMONT fmt name. 用于定义或者修改本地元素的注释,包括PARAMETER、CHECKBOX BUTTON等。
在ABAP中在屏幕上创建按钮,你需要在SELECTION-SCREEN对象中加入PUSHBUTTON参数,语法如下: [Syntax] SELECTION-SCREEN PUSHBUTTON [/] USER-COMMAND [MODIF ID ] :PUSHBUTTON按钮在屏幕生成的位置与长度。
接上一篇,我们继续讲解SELECTION-SCREEN的的语法。 (4)SELECTION-SCREEN INCLUDE(调用已经存在的屏幕元素) 参照某一个已经定义的屏幕元素来创建,如下代码: CALL SCREEN 1234.
SELECT-SCREEN语句用于创建屏幕的框架结构,主要包括屏幕元素的创建、子屏幕的创建等。子程序主要分为两种,一种为Include Screen,可以通过Report端程序直接调用;另一种为SubScreen,需要通过Screen Painter所创建的屏幕调用。
在SELECT-OPTIONS与PARAMETERS的设计中,我们可以发现它们在屏幕上显示的名称是对象的定义名,但在实际的应用中,我们需要提供某一字段的完整名称以方便用户理解,例如物料字段名MATNR,我们要求其在屏幕显示字段为“Material No”。
1.PARAMETERS对象的基本语法及定义 PARAMETERS可以参照数据字典具体字段或者自定义数据类型创建文本输入域以及单选/复选框等。与SELECT-OPTIONS不同的是,PARAMETERS只能创建一个单一的输入域且最多只能输入一行,其对象的命名长度不能超过8位。
1.SELECT-OPTIONS基本语法及定义 SELECT-OPTIONS通常用于参照一数据库字段来建立数据输入域,其定义对象命名长度不能超过8位,其产生的屏幕对象最大输入长度为18位,语法如下: SELECT-OPTIONS FOR .
Open SQL能够动态定义WHERE条件。如下: [For Example] DATA: WHERE_TAB TYPE TABLE OF EDPLINE. DATA: DT_SCUSTOM LIKE STANDARD TABLE OF SCUSTOM WITH HEADER LINE.
工作区域跟变量一样,是用来保存数据的。区别是变量只能从中保存一个数据。而工作区域可以存放多个。把多个数据合在一起就成工作区域了。下面我们来看看工作区域是如何定义的吧。定义有四种方法,如下: 1,直接定义 DATA: BEGIN OF WA_EKBE, MATNR TYPE MARA-MATNR, MAKTX TYPE MAKT-MAKTX, END OF WA_EKBE. 上面是以BEGIN和END关键字开始,在其中的就是其工作区域的内容。
ABAP 中 OPEN SQL中的查看操作上篇文件已有過介紹,此處將不再整理。接下來就來看看其它動作的相關語法。 1.UPDATE(修改操作) UPDATE实现对数据的更新操作,语法如下: UPDATE SET f1.
在数据库SQL查询中当要获取前几条数据时会用到关键字TOP,在Open SQL中也有相类似的功能,可以使用 UP TO n ROWS语法来限制读取数据的条数,语法如下: SELECT * INTO .
内表可以用来临时存放多条数据,Open SQL允许以内表数据作为查询条件,相关语法如下: SELECT FROM FOR ALL ENTRIED IN WHERE....。 [FOR EXAMPLE] TABLES:SPFLI,SFLIGHT.
ABAP中当需要同时查询多个表的相关字段时,需要使用到JOIN语句,跟平常数据库中用到的连接查询基本上相同。共包含三种: 1)INNER JOIN:查询结果包含两个连接表中彼此相对应的数据记录。
Open SQL能够方便的实现数据库数据的读取及修改,其对数据库主要操作语法包括:SELECT、UPDATE、INSERT、DELETE及MODIFY。 Open SQL的执行状态通过系统变量SY-SUBRC来表现,如果SY-SUBRC值为0,则表示Open SQ执行成功,如果不为0,则表示执行失败。
SAP实际上提供了两种访问数据库的方式:Open SQL与Native SQL,Native SQL为数据库自身的SQL,可以直接访问数据库,能够实现对数据库表及视图直接进行创建、修改、删除等操作。
宏(Macros)是一段独立的代码,能实现数据的运算与输出,功能与子程序类似,主要应用于同一程序中某些重复的运算,以简化代码,其定义语法如下: DEFINE INCREMENT. "INCREMENT为自定义宏的名称。
ABAP子程序(Subrouting)是包含在程序中的一段具有一定功能的代码,能够将某个功能作为一个小程序包含在主程序中,以方便程序分析及阅读。特别是一此程序中多次用到的功能,可以简化代码,增加程序的可读性且便于维护。
在SAP业务处理中,存在许许多多数据流,分别管控着不同的业务模式。下面介绍如何通过ABAP语法来实现数据流程管控。 1)使用IF语句实现分支 [Syntax] IF .
本篇文章主要介绍ABAP编程中字符串的控制与操作,好了废活说多了也没用,开始吧。 1)CONCATENATE:实现字符串的合并。 基本语法: CONCATENATE f1.
程序中缺少不了数据运算,以下介绍ABAP所支持的运算符。 (1)算术运算符 算术运算符有 +(加)、-(减)、*(乘)、/(除)、DIV(整除)、MOD(取余)、**(乘方)。
在其它编程语言中,数据之间的转换是非常普遍的。当然,在ABAP编程中也同样涉及到数据之间的相互转换,在不同的数据对象之间赋值,系统会自动进行类型转换,转换过程遵照固定规则进行,例如将一个C类型数据赋值也N类型对象,只有数字字符被传递,其它字符则被忽略。
数据在屏幕输出是用户获取信息的重要途径之一,本篇将介绍如何在SAP中实现数据输出及数值传递。 1)数据的基本输出 通过关键字"WRITE"的声明,能够实现数据对象的输出,并能够实现输出对象的长度、输出位置及格式等属性的控制。
内表与结构体基本类似,它同样是程序运行中被临时创建的一个存储空间,它是一个可包含多条记录的数据表。 内表共有3种类型: 1)Standard:标准表 2)Sorted:排序表 3)Hashed:哈希表,一般用的比较少 本篇文件将重点介绍Standart型内表的定义及功能 1.内表的定义 通过关键字DATA对内表进行创建,内一的定义可以直接参考结构体或者其它内表及透明表,也可以直接定义字段,其中关键字如下: UNIQUE|NON-UNIQUE:指定关键字,只能应用于排序表或者哈希表。
在网页开发过程中,用些不错的浏览器附加组件可以提高我们的调试及开发效率。接下来我就介绍几个我在实际工作过程中用到的FireFox附加组件,我就在这里抛砖引玉,欢迎朋友们拍砖。 1)FireBug 首当其冲的应该非FireBug莫属。
ABAP中除了简单类型之外,用户还可以在程序中定义结构体类型,将相同性质的字段进行归类,便于整理及操作。结构体不属于数据字典对象,在程序运行时会被作为临时对象创建。 语法: TYPES|DATA:BEGIN OF STRUCTURE, k1[TYPE type]|[LIKE obj].
在前面曾经介绍过,ABAP共有8种基本数据类型,但是这些数据类型属性太为单一,为了方便开发人员操作和理解,SAP还提供自定义数据类型,让用户能自行定义数据类型的名称及属性,通过关键字TYPES能够实现自定义功能,其语法格式与变量定义类似,通过TYPES声明的参数可以被其它常量、变量引用,不能直接赋值。
本篇文件主要讲解的是在ABAP编程过程中如何声明变量。 1.按类型定义变量 ABAP的变量需要通过关键字DATA进行声明,当同时声明多个变量时,需要在DATA后面加冒号,如“DATA:”,每个变量可以分配默认值,使用"VALUE ‘默认值’"进行定义,基本语法如下: DATA (长度) TYPE VALUE . 例如:定义一个C类型变量“TEST1”,长度为10,默认值为“Hello Sap” 。