sap abap44中如何处理?

我们在全国拥有众多合作伙伴,在不同的行业,为客户提供专业的SAP培训
文章摘要:要用二进制模式处理文件,请如下使用OPEN DATASET语句中的IN BINARY MODE 选项:
OPEN DATASET
IN BINARY MODE [FOR ....].
如果从以二进制模式打开的文件中读取数据或向此类文件中写入数据,则系统将逐字节地传输数据。在传输期间,系统不解释文件内容。在将文件内容写入到另一文件时,
  要用二进制模式处理文件,请如下使用OPEN DATASET语句中的IN BINARY MODE 选项:
  OPEN DATASET &dsn& IN BINARY MODE [FOR ....].
  如果从以二进制模式打开的文件中读取数据或向此类文件中写入数据,则系统将逐字节地传输数据。在传输期间,系统不解释文件内容。在将文件内容写入到另一文件时,系统将传输源文件的所有字节。在从文件读取数据到字段时,传输的字节数目取决于目标字段大小。在读取之时或之后,可以用其它ABAP/4语句给目标字段定址,系统将根据数据类型解释字段内容。
  DATA FNAME(60) VALUE 'myfile'.
  DATA: NUM1 & & TYPE I,
  NUM2 & & TYPE I,
  TEXT1(4) TYPE C,
  TEXT2(8) TYPE C,
  HEX & & &TYPE X.
  OPEN DATASET FNAME FOR OUTPUT IN BINARY MODE.
  NUM1 &= 111.
  TEXT1 = 'TEXT'.
  TRANSFER NUM1 &TO FNAME.
  TRANSFER TEXT1 TO FNAME.
  OPEN DATASET FNAME FOR INPUT IN BINARY MODE.
  READ DATASET FNAME INTO TEXT2.
  WRITE / TEXT2.
  OPEN DATASET FNAME FOR INPUT IN BINARY MODE.
  READ DATASET FNAME INTO NUM2.
  WRITE / NUM2.
  OPEN DATASET FNAME FOR INPUT IN BINARY MODE.
  READ DATASET FNAME INTO HEX.
  If SY-SUBRC && 0.
  ENDIF.
  WRITE &HEX.
  ENDDO.
  此示例输出 如下:
  ###oTEXT
  00 00 00 6F 54 45 58 54
  在按二进制模式为写入数据而打开文件&myfile&后,将字段NUM1和TEXT1的内容写入文件(关于TRANSFER语句的详细信息,参见向文件中写入数据(页173))。然后打开文件以读取并且其全部内容传输到字段TEXT2(关于READ DATA SET语句的详细信息,参见从文件中读取数据(页172))。字符串TEXT2的前四位没什么意义,因为各字节是整数111表示法(平台相关)。系统企图将所有字节解释为字符,但此解释工作只对后四个字节有效。在用OPEN语句复位位置之后,文件的前四个字节将读入NUM2。因为NUM2与NUM1的值有相同的数据类型,所以NUM2的值有意义。最后,将文件的八个字节逐字节地从HEX的屏幕输出读入到HEX字段中,可以看到实际文件内容十六进制表示法。后四个字节为字TEXT中字符的ASCII表示法。
文本关键词:
如果您想了解更多关于SAP的课程,请访问:
如果您是初学者,这儿为您提供丰富的入门学习资料。
||||||||||
SAP上海顾问中心总部位于上海大连路1548号莱克商务大厦210室。电话:(86)021-ABAP4 详细介绍_【51SAP教育中心】_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
51SAP教育中心
评价文档:
ABAP4 详细介绍_【51SAP教育中心】
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢用心创造滤镜
扫码下载App
汇聚2000万达人的兴趣社区下载即送20张免费照片冲印
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(1362)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_087071',
blogTitle:'ABAP总结 Internal Table(4)',
blogAbstract:'ABAP中的内表相当于其他程序设计语言中的二维数组,存储多行结构相同的数据
? 不同于二维数组,内表在创建后,列结构与列数是固定不变的,而行数是动态增长的
? 内表支持循环对每行数据进行操作,也支持整体操作
? 内表是具有行和列的表结构,然而,不同于数据库表,内表仅在程序运行期间在内存中存储数据
?ABAP中有三种内表类型:标准表,哈希表,排序表
-- ABAP内表数据类型
? 内表数据对象是实际的内表,可以用数据进行填充
? 内表数据类型是用于定义内表数据对象的抽象数据类型(ADT)
? 可以使用的内表数据类型有:
?Structure
? 数据库表
? 用户自定义数据类型',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:7,
publishTime:4,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'-1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}73SAP R3系统中ABAP4编程概述
上亿文档资料,等你来发现
73SAP R3系统中ABAP4编程概述
SAPR/3系统中ABAP/4编程概述;摘要:本文通过对目前进入中国市场的集成化的企业管;关键词SAP,R/3,MIS,Client/Se;一、引论;SAPR/3系统是德国SAP公司开发的几乎适用于;R/3系统所支持的功能是非常多的,内容包罗万象,;二、R/3系统的客户/服务器结构;R/3系统具有良好的结构、可集成性与灵活性等特点;时,只需要对应用服务器层的
SAP R/3系统中ABAP/4编程概述摘要:本文通过对目前进入中国市场的集成化的企业管理系统软件R/3系统的简要介绍出发,描述了R/3系统的客户/服务器结构,在企业中的广泛应用,并且着重介绍了ABAP/4编程的概念、方法以及一些应用编程的简单实例。关键词 SAP,R/3,MIS,Client/Server,ABAP/4 一、 引论 SAP R/3系统是德国SAP公司开发的几乎适用于所有行业的一整套集成化的企业管理系统软件,时下也称这种类型的软件为 MRPII软件,SAP R/3系统可以为大中型企业提供从生产到销售等一系列过程的整体解决方案。SAP公司自从1994年年底进入中国市场以来,发展迅速,在MRPII软件领域取得了骄人的业绩,这主要归功于SAP公司开发的企业管理系统软件具有广泛的适应性,并且能够根据企业的具体情况进行系统定制以符合企业的实际业务情况,并且也提供了一系列编程接口对系统进行二次开发。另外,R/3系统的一个主要的特征就是具有高度的可集成性,与作业相关的工作处理过程链在系统结构上被连接了起来,因此所有相关的数据都在同一个基础上更新以及存储。在某一个应用模块中的每一个修改都会自动引起所涉及到的功能域中数据的更新。所以,所有的应用模块都是在一个标准的数据处理基础上实现的. R/3系统所支持的功能是非常多的,内容包罗万象,为了能够使得R/3系统具有高度的灵活性以及可集成性,R/3系统提供了系统定制这项强大的功能,根据企业的具体业务需要而取舍。当然,由于在某些特殊的环境下,系统定制不能够解决企业的具体情况,那么需要利用R/3系统的开发平台以及所提供的ABAP/4编程语言来解决特殊的问题。本文主要是介绍ABAP/4编程上的一些概念、方法以及一些编程实例。由德国社会市场基金会以及SAP公司与西门子公司联合向上海交通大学捐赠了R/3系统软件与系统硬件,组建了R/3 实验室,以对R/3系统软件进行研究开发并且对客户实施R/3系统提供培训以及咨询,本文也正是在此基础上完成的。我们真诚地希望能够有更多的客户以及研究开发人员来共同对R/3系统进行有益的研究与开发,以推动国产化MRPII软件的发展,同时为提高企业的生产效率而作出更多的努力。 二、R/3系统的客户/服务器结构 R/3系统具有良好的结构、可集成性与灵活性等特点,以更好地符合企业不断变化的业务需求,并且有助于在企业中推广实施R/3系统以及对R/3系统进行维护。R/3系统所具有的这些优势主要原因是由于R/3系统具有良好的客户服务器结构,R/3系统的客户服务器结构具有三层结构,客户端提供图形用户界面 (GUI),用户借助图形用户界面能够与系统交互,向应用服务器层(中间层)请求服务,并且接收由应用服务器层返回的结果;中间层是应用服务器层,客户端的用户可以借助于GUI向应用服务器层的代理者发出请求完成某项任务,然后应用服务器层的代理者根据用户的请求调用相应的应用服务功能并对数据库服务器中的数据库进行操作,调用结束后就把结果以相应的显示方式返回给用户,大量的计算在后台服务器上进行,并且也减少了网络流量,具有相当大的优点;另外一个更为重要的优点是当系统的功能发生变化时,只需要对应用服务器层的应用服务进行维护,而不需要对客户端进行维护,大大地减少了维护成本,并且也不需要对用户重新进行培训。从上图可以明显看出R/3系统这种三层客户/服务器结构的优越性之所在,当应用服务器层发生变化时,客户端几乎不要进行任何变动,所以有助于系统功能的增加与变动,因而对用户来说应用服务器层是透明的,同时也把大量的数据流量限制在数据库服务器与应用服务器之间,所以对于减少网络流量也是大有裨益的。 三、R/3系统的开发平台及ABAP/4编程准备 ABAP/4全称是Advanced Business Application Programming/4,它是由SAP公司开发的一种编程语言以用于应用程序的交互式开发,属于第四代编程语言。 *R/3对象库R/3对象库主要描述SAP应用软件与客户软件的数据环境;*屏幕生成器屏幕生成器主要用来创建屏幕,如屏幕的布局、测试需求以及流逻辑(flow logic);*菜单生成器主要用来生成接口部件,如菜单条、菜单与功能键等;*ABAP/4开发平台主要用来开发标准应用软件,你可以使用ABAP/4开发平台来创建你自己的应用软件,然后你就可以使用该软件既可以处理 SAP R/3系统的数据库表也可以处理你自己的数据库表,具有相当大的灵活性;你可以联机创建ABAP/4程序,并且或者可以联机运行你的程序或者可以在后台不需要任何修改地运行你的程序。当使用联机编程技术来书写ABAP/4程序时,你可以创建模块池,这些模块在屏幕处理期间由屏幕处理程序来调用。另外,使用批输入可以自动地把受保护的数据传送给SAP系统,ABAP/4包含有符合CPI-C标准的通信程序的编程语句。下面,详细地介绍ABAP/4编程所涉及的一些术语、概念。Program:ABAP/4程序;Report:能够生成清单的ABAP/4程序;ABAP/4 Module Pool:包含模块(采用联机编程)的ABAP/4程序; List:ABAP/4程序(指Report)输出的清单;以上这些术语主要用来区分不同类型的ABAP/4程序。使用ABAP/4编程时涉及两种功能,其一是报表功能,主要用于启动报表(Report),其二是ABAP/4开发功能,主要用来开发ABAP/4程序,这个功能也可以用来启动报表。那么ABAP/4的编程环境是怎样的呢?ABAP/4编程环境主要有带有语法检查的ABAP/4编辑器、联机帮助、ABAP/4调试器以及显示数据库及其表等功能模块。现在先简单地介绍ABAP/4程序结构,以使读者对 ABAP/4的程序框架有一个比较大概的了解. ABAP/4程序由三个部分组成,每一个ABAP/4程序必须或者以PROGRAM或者以REPORT语句打头;一般建议如下,REPORT语句用于ABAP/4 reports,PROGRAM语句用于一般的ABAP/4程序,全局数据声明必须在程序的起始部分的数据声明部分中,语句部分可以包含不同的处理部分以完成不同的处理功能。接着我们简要地介绍一下ABAP/4语句的语法,一般来说ABAP/4程序由一系列独立的语句组成,每个语句必须以句号结尾,句子中的第一个单词是关键词,词与词之间至少有一个或者以上的空格,语句可以缩进几列,也可以跨越几行,一般来说语句由四个单词组成,除第一个为关键词外,第二、三、四个单词一般为参数、字段、常量等。下面开始围绕ABAP/4的程序结构对ABAP/4的数据声明部分所涉及到的一些语法及语句部分所涉及到的主要为输出语句的语法作一介绍。四、ABAP/4数据声明语法 1、数据类型及其属性ABAP/4数据类型主要有P(Packed number,标准长度为8字节,允许长度为1-16字节,以下类似)、I(Integer,标准长度与机器有关,1-16字节)、F(Floating point no.,标准长度与机器有关,1-16字节)、N(Numberic Text,1字节, 1-max字节)、C(Text,1字节,1-max字节)、D(Data YYYYMMDD,8字节,8字节)、T(Time HHMMSS,6字节, 6字节)与X(Hexadecimal,1字节,1-max字节)等数据类型,其中max为近似64000字节;在P类型字段中,一个字节存储两位数字,符号位存储在最后半个字节中,类型I定义为二进制数,取值范围为从-至-;一般来说,类型I用于计数器等,类型P用于商业计算,类型F用于数学计算,ABAP/4的数据域不得超过64000字节。2、常量的定义ABAP/4能够识别的常量有数字常量与文本常量两种,数字常量主要有数据类型P与I两种,文本常量主要有数据类型C与N,而其余的数据类型由于没有规定常量,则一律使用文本常量。注意,如果你要把一个带有小数点的字段值赋给字段类型P,那么你必须首先把它定义为文本串(如&2.17&)。3、数据的声明在这里所说的数据(或者称为字段)相当于我们经常谈到的变量,数据的名称与变量的名称一样也有其命名规则。一般数据名称总是以字母作为首字符,余下的字符可以为字母也可以为数字,但除了可以使用下划线以外,不得使用任何其它特殊字符,并且长度不得超过30字节。另外,需要注意的是SPACE是预定义的字段,在ABAP/4语句中,参数名(即关键字的名字)不可以用作字段名;在声明数据时,如果没有指定类型,就缺省使用类型C;如果没有规定长度,那么就使用该类型的缺省长度,在声明字段名时,你也可以赋予字段相应的初始值(使用参数VALUE),当然在在VALUE后面,你仅可以指定常量。在声明同一类型的字段时,可以使用LIKE参数,被参照的字段既可以是内部字段,也可以是数据库中的字段;如果你使用LIKE参数来书写程序,那么该程序是很容易修改的,这是因为如果数据属性发生更改的话,你仅须在程序的一个地方进行改动,其它使用LIKE参数定义的数据其定义会自动发生改变;CLEAR语句可以把字段的值设置为与其类型相符的初始值,或者设置为数据字典中定义的初始值,需要注意的是CLEAR语句不会保存以VALUE参数所规定的初始值。在输出特定类型的字段时,如果在输出字段的输出格式中没有指定长度,就缺省使用标准输出长度;如果在输出格式中规定的长度超出了必须的长度,那么输出的值根据所规定的输出长度的具体数值或者左对齐或者右对齐;在类型P或者I的字段值输出时,先导的零被转换为空格,在千位数之间插入逗号;在输出浮点数时,可以使用 WRITE语句的EXPONENT参数来确定指数值;使用参数DECIMALS,你可以在输出类型P,I或者F的字段时确定小数点后的位数,最后一位要取舍。 4、赋值有许多ABAP/4语句可以用来给字段赋值,两个最为重要的是MOVE与COMPUTE语句,关键字 COMPUTE是可选的,如果字段的类型与长度不匹配所赋的值,那么系统就会自动执行类型转换。另外,可以使用ADD、SUBSTRACT、 MULTIPLY与DIVIDE语句进行简单的算术计算。类型转换的规则是这样的,如果类型C的字段值赋给类型P的字段,那么类型C的字段值仅允许+/-以及小数点。如果类型P的字段值赋给类型C的字段,那么就要格式化该数字值并且先导的零被转换为空格,当然如果你不要这种格式化的类型,那么你可以使用 UNPACK语句; 5、算术表达式一般来说关键字COMPUTE是可选的,且不限制括号内表达式的嵌套层次,运算符与括号被认为是单词,因此,你必须把它们用空格隔开;然而,对于函数来说,其括号中间必须跟有字段名,如a=(B+EXP(C)*E/SIN(3-G)是错误的算术表达式,而a=( B + EXP( C) * E / SIN( 3 - G )才是正确的算术表达式。在算术运算之前非数字值需要转换成数字值,运算符DIV与MOD是整数除法函数,STRLEN函数是返回字符串的长度。一般算术表达式只能使用于COMPUTE语句中。 6、系统字段ABAP/4提供了一系列系统字段,编辑器命令SHOW SY允许你显示所有这些字段名及其定义的列表清单。你可以在程序中通过使用SY-&字段名&来引用系统字段;另外,你可以通过规定偏移量与长度来存取字段中的特定部分。注意,只有一些语句(如ASSIGN,WRITE...TO语句等)支持偏移量与长度以存取字段的特定部分。 7、计算日期如果类型D的字段值赋给类型P的字段,那么ABAP/4就计算类型P字段的值为自1900年以来的天数。相反,如果类型P的字段值赋给类型D字段,那么ABAP/4就计算类型D的字段值为自1900年以来的年份。8、PARAMETERS语句PARAMETERS语句主要用来声明内部字段,与用DATA语句声明的字段相反,你可以在调用Report时在选择屏幕上为这些字段指定值,DATA 语句的某些参数也可以使用PARAMETERS语句(如TYPE、LIKE、DECIMALS等)。尽管DATA允许你把初始值赋给带有VALUE的字段,PARAMETERS语句也允许你使用DEFAULT参数来设置缺省值。 9、字段符号字段符号是一个非常重要的概念,相当于C语言中的指针。你可以使用FIELD-SYMBOLS语句来声明字段符号,在运行时,你可以使用ASSIGN语句来把某一个字段赋给字段符号,字段符号可以引用通过使用TABLES语句来声明的字段、字段串以及结构。在这里,尖括号是语法的一部分,通过这种方法,你可以清楚地区分字段符号与 ABAP/4中的普通字段。从中不难看出,字段符号就是起到了指针的作用。一般来说你不可以使用偏移量与长度来存取字段的特定部分,然而,在ASSIGN语句中,你可以使用它们,当然你也可以在WRITE...TO语句与实际参数(PERFORM)中使用可变的偏移量与长度。 10、字段的动态分配使用ASSIGN语句,你也可以把一个仅在运行时才能知道的字段赋给字段符号,如果所要分配的字段是R/3对象库中的字段(用TABLES语句声明),那么你可以使用TABLE FIELD参数。这将会减少执行语句的所要化费的时间,因为系统不会查找整个内部表清单。另外,你可以通过检查系统字段SY- SUBRC的值来确认是否有一字段分配给了字段符号。如果括号内有一字段,则SY-SUBRC=0,反之,则为大于0的值。一般来说,动态ASSIGN语句需要化费更多的时间,因此,仅在某些需要的情况下使用。五、简单的输出语句 输出语句WRITE语句可以说是最为常用的语句,因此了解其语法格式及使用是非常有必要的。WRITE语句以对应的数据类型的格式输出字段或者常量的内容,连续的多个WRITE语句可以写在同一个输出行上;当输出行满的时候,从下一行继续开始;SKIP语句产生空行。在输出语句中,你也可以规定输出值的输出格式,这允许你从一个新行开始以及可以确定起始列与输出长度。格式选项DD/MM/YYYY可以格式化日期字段以符合用户主记录中的信息,格式选项UNDER允许你可以立即在已经输出的值下面显示值(左对齐)。一般来说,WRITE的语法是这样的:WRITE &format& &value& & options&.,&format&主要有/p(I)、/ Line feed、p 列的位置以及I输出长度,& value&主要有字段或者常量,选项主要指格式选项,在书写WRITE包含各类专业文献、应用写作文书、外语学习资料、行业资料、各类资格考试、专业论文、73SAP R3系统中ABAP4编程概述等内容。 
 SAP R3系统中ABAP4编程概... 6页 免费 SAP系统中项目管理模块的... 1页 ...SAP 培训行业引领者 SAP 系统 ABAP/4 模块构成和功能解析 1. ABAP/4 ...  SAP ABAP_4编程语法汇总... 36页 免费SAP_R3_...数据是放在 header line 中的,Occurs 是分配数据缓冲区,大小不重要,系统会自动...  SAP ABAP_4编程语法汇总(中文版)_计算机软件及应用...PARAMETER R3 RADIOBUTTON GROUP GR1. SELECTION-...系统中,经常会有数据 Upload( “上载” Download( ...  外挂子系统在SAP R3系统中的运用_计算机软件及应用_IT/计算机_专业资料。GUIZHOU...SAP R/3 系统的开发工具 SAP 开发工具 ABAP/4 是高级商业应用程序设计语言,...  SAP R3系统技术基础_企业管理_经管营销_专业资料。附录...ABAP/4 工作台集成数据,业务过程,组织结构和工作流...分布式应用 9.2 SAPOLEAutomation 通过编程语言 ( 如...  SAP R3系统概述_六年级语文_语文_小学教育_教育专区。SAP R3 系统概述 SAP R...SAP R3系统中ABAP4编程概... 6页 免费 SAP系统全面详尽的有效概... 61页 ...  ABAP4_编程手册_ZH_调查/报告_表格/模板_实用文档。ABAP4_编程手册_ZH1...(Advanced Business Application Programming)是 SAP/R3 目前唯一的系统发展工具, ...  abap编程手册_计算机软件及应用_IT/计算机_专业资料。1. ABAP/4 Introduction ?...(Advanced Business Application Programming) 是 SAP/R3 目前唯一的系统发展工具,...  SAP ABAP编程规范V1.2_【... SAP B1电子类生产...SAP R3功能详解-生产管理... 640页 4下载券 SAP...在 R/3 系统的组织层次中,你可以将仓库连接到与...}

我要回帖

更多关于 sap abap4 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信