可执行程序的特点是可以直接执行,而无需事务码,这个也是一般报表开发最常用的程序类型。我们可以在SE38中直接点击执行按钮或按F8键来运行一个可执行程序。
可执行程序包含一些预定义的过程块,比如、ATSELECTION-SCREEN、START-OF-SELECTION、END-OF-SELECTION等等,有一个后台系统程序会控制可执行程序,按照规定的顺序依次调用这些过程块。首先显示一个选择屏幕,最后输出一个列表。可执行程序还能指定一个逻辑数据库,逻辑数据库也是一种程序,它按照预定义好的数据库表结构,依次根据主键读取相关的业务数据,可以用SE36查看逻辑数据库。
对于ABAP用户而言,服务器是基于什么平台,什么数据库,都无关紧要。
ABAP是跨平台,使用统一opensql访问数据的开发语言。
进入ABAP开发环境。通过SAPgui登陆SAP系统后,访问如下几个事务:
SE39ABAP程序开发
SE37FunctionMole开发
SE80ABAP对象统一开发平台
SE11SAPDDIC开发环境
假如我们调用一个程序select-options
DATA: RSPAR_TAB TYPE TABLE OF RSPARAMS,
RSPAR_LINE LIKE LINE OF RSPAR_TAB
CLEAR:RSPAR_TAB[],RSPAR_LINE
RSPAR_LINE-SELNAME = 'SD_SAKNR'
RSPAR_LINE-SIGN = 'I'
RSPAR_LINE-OPTION = 'BT'
RSPAR_LINE-LOW = '1405010000'
RSPAR_LINE-HIGH = '1405020000'
APPEND RSPAR_LINE TO RSPAR_TAB CLEAR: RSPAR_LINE
RSPAR_LINE-SELNAME = 'SD_SAKNR'
RSPAR_LINE-SIGN = 'I'
RSPAR_LINE-OPTION = 'BT'
RSPAR_LINE-LOW = '1404010000'
RSPAR_LINE-HIGH = '1404020000'
APPEND RSPAR_LINE TO RSPAR_TAB CLEAR: RSPAR_LINE
RSPAR_LINE-SELNAME = 'SD_SAKNR'
RSPAR_LINE-SIGN = 'I'
RSPAR_LINE-OPTION = 'BT'
RSPAR_LINE-LOW = '1403010000'
RSPAR_LINE-HIGH = '1403020000'
APPEND RSPAR_LINE TO RSPAR_TAB CLEAR: RSPAR_LINE
RSPAR_LINE-SELNAME = 'SD_BUKRS'
RSPAR_LINE-SIGN = 'I'
RSPAR_LINE-OPTION = 'EQ'
RSPAR_LINE-LOW = '8030'
APPEND RSPAR_LINE TO RSPAR_TAB CLEAR: RSPAR_LINE
SUBMIT RFITEMGL WITH SELECTION-TABLE RSPAR_TAB
VIA SELECTION-SCREEN AND RETURN
第二种
第三种
本身SAP开发的ABAP程序就是跨Client的,同一台服务器上,可以在不同Client中直接使用,这样可以在一个Client中开发,在另外的Client中测试,分开后可以避免一些配置和数据对开发的影响。
SAP起源于SystemsandProctsinDataProcessing。SAP既是公司名称,又是其产品——企业管理解决方案的软件名称。
SAP公司于1972年在德国创立。五位创始人(DietmarHopp,Hans-WernerHector,HassoPlattner,KlausTschira,andClaus)于德国曼海姆初创时的公司名为Systemalyseund,后根据Systeme,AnwenngenundProkteinder("Systems,andProctsinDataProcessing")将公司名称缩写为SAP。
SAP是目前全世界排名第一的ERP软件。它代表着最先进的管理思想、最优秀的软件设计。世界五百强中有超过80%的公司使用SAP。中国的大型国营、民营企业90%使用SAP。产品阵线齐全,覆盖从大型、中型到小型企业规模的各种解决方案。它们是:
SAP大型企业解决方案:SAPBusinessSuite(ERP,CRM,SRM,SCM,PLM)
SAP中型企业解决方案:SAPBusinessAll-in-One
SAP托管式ERP解决方案:SAPBusinessByDesign
SAP小型企业解决方案:SAPBusinessOne
SAPSystemapplicationprogram
ERPEnterpriseresourceplanning
MRPMaterialrequirementplanning
PPProctionplanning
SOPSalesoperationplanning
DMDemandmanagement
MPSMasterplanningscheling
SAP有如下模块:FI财务会计、TR财务管理、CO管理会计、EC企业控制、IM投资管理、PP生产计划、MM物料管理、PM工厂维护、QM品质管理、PS专案管理、SD销售与分销、HR人力资源管理,还有一个不算模块,就是ABAP程序员。不过在中国大部分上SAP的公司都只是上了FI/CO/MM/SD这个四个模块,还有其中一少部分上了HR/PP。因此要学习建议在重点放在这些模块,除了ABAP其他的模块顾问女孩都不少见,但如果你有财务基础的话可以学习FI/CO,因为女生出现在这个模块最为多见。SAP有很多产品,但我们常说的SAP指的是SAPR3系统,SAPR3系统在服务器安装的时候一般用到ORACLE数据库,但是一般的模块顾问甚至ABAP开发程序员都不需要懂ORACLE数据库知识,因为SAP系统会自有一套非常智能的数据库读取和存储技术,就是ABAP中的OPENSQL,当然这些是ABAP方面的东西,扯远了。
所谓的行行出状元,只要努力,什么都挡不住!
ABAP的动态数据对象包括字段符号(filed symbols)和数据引用(data reference)两种形式。
普通数据对象的寻址静态地通过该对象名称进行;而上述两种数据对象则只有在运行时,系统才知道该数据对象的名称和属性,并进行寻址。
在程序运行期内可将数据对象分配给字段符号。成功分配后,使用字段符号或其所代表数据对象本身,是没有任何区别的。换句话说,如果用赋值语句修改字段符号的值,字段符号所代表的数据对象本身的值也随之改变。
声明字段符号需使用 FIELD-SYMBOLS 语句,基本语法格式如下
FIELD-SYMBOLS <fs> [ TYPE type | LIKE dobj ]
声明字段符号时可以指定类型,该类型决定了运行时何种数据对象可以被分配给一个字段符号,此处可以指定一般性类型和完全限定类型,如果不指定类型,则系统默认该字段符号为一般性类型ANY。
字段符号声明之后,可以进行字段分配,所分配的数据对象应符合字段符号定义时的类型说明。字段符号可以反复进行分配,且分配方式有静态和动态之区分。
在将数据对象分配给字段符号的过程中,可以进行类型的强制转换,即所有数据对象都可以被视为一个特定类型。强制类型转换通过ASSIGN语句中的CASTING附加项指定,该选项的出现意味着可以将一个与字段符号指定类型不兼容的数据对象赋给字段符号。强制类型转换分为显式和隐式两种情况。
如果一个字段符号的类型是完全指定的,或者是ABAP内置类型C,N,P,X之一,可以使用下列格式实现隐式强制类型转换 ASSGIN f TO <fs> CASTING 当字段分配后,无论其原始数据对象类型如何,系统内表都按照字段符号定义类型对分配的数据对象进行处理。
程序中使用的所有数据对象均存储在运行时分配的内存中,每一个对象均对应有其起始的内存地址,该地址是由编译器分配的,一般不能被随意 *** 作。数据对象的内存地址也常常被称作引用。通常情况下,声明数据后,程序通过数据对象的名称对其进行 *** 作,然而有时也通过字段符号或者引用通过其他地址进行 *** 作。
在ABAP中,引用以数据引用和对象引用两种形式存在。
引用变量中包含地址引用,是指向其它数据对象的指针,其实际内容代表某数据对象的内存地址,在ABAP程序中是不可见的。引用类型定义和引用变量声明的语法格式如下:
TYPES t_dref TYPE REF TO DATA
DATA dref TYPE REF TO DATA
引用变量在ABAP作为结构类型的组件时可以被视为时普通基本类型,即引用变量可以作为复杂类型的结构组件或者独立出现。
引用变量声明时没有指向任何数据对象,因而也不能进行解除引用 *** 作。下述 *** 作可以使该引用对象指向实际的数据对象。
数据引用变量之间可以相互赋值,目标对象和源引用变量指向相同的数据对象,但不能将对象引用或非引用对象的值传递给引用变量。
所有通过DATA语句创建的数据对象都属于静态创建的数据对象,当程序开始运行时,这些变量已经存在。要在程序运行期间动态的创建对象,可通过数据引用变量进行。
CREATE DATA dref TYPE type | LIKE obj
该语句在运行期间内动态创建一个数据对象,同时引用变量dref指向这一对象。该对象没有名称,只能通过数据引用变量进行寻址,但在 *** 作该数据对象之前,需要通过字段符号解除引用。当没有任何数据引用变量指向该对象时,他将被sap中的垃圾收集装置从系统内存中删除。
在该语句中,必须指定数据类型。也可以通过变量动态的指定所创建的数据对象类型,这种指定类型的方式在所有ABAP语句中是唯一的。
CREATE DATA dref TYPE (name) 此处的变量name中包含具体的类型名称(如“C”)。
使用GET语句可以使一个引用变量获得已经存在的数据对象的地址引用。
GET REFERENCE OF obj INTO dref
其中obj可以是一个通过DATA语句定义的静态变量,也可以是指向某数据对象的字段符号。如果将引用变量指向一个过程内部的局域变量,则该变量在离开过程后将不能再使用,也不能进行解引用 *** 作。
解除引用是访问引用所指向的数据对象的前提,ABAP数据引用变量的解引用语法格式如下 ASSGIN dref-> TO <fs> [CASTING ]
该语句将数据引用变量dref指向的数据对象赋给字段符号,如果 *** 作成功,系统字段SY-SUBRC将返回0。系统将检查数据对象类型是否与字段符号声明类型相匹配,且该过程中可能出现强制类型转换。如果数据引用变量的值为初始值或者不正确,则无法进行解引用 *** 作,字段符号将保持原值不变,而系统字段SY-SUBRC将返回。对于动态创建的数据对象,解引用是获取其内容的唯一方式。
以上就是关于sap怎么看abap程序逻辑取值_sap逻辑是什么全部的内容,包括:sap怎么看abap程序逻辑取值_sap逻辑是什么、从sap系统怎么进入abap开发平台_sapabap开发是干什么的、abap 调用程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)