- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1使用字段符 号
概览
内容
字段符号的 概念 在ABAP/4程序中,字段符号是现有字段的占位符。字段符号本身不直接为字段保留空间,而只是指向一个字段(该字段在程序运行前还未可知)。字段符号可以与程序语言C中的指针概念相比较(即,用内容操作符*表示的指针)。然而,在ABAP/4中,从变量的意义上说,与指针不是真正等价的,此处,变量包含内存地址,并且不用内容操作符即可使用。您只能使用字段符号指向的数据对象。
本节介绍
1字段符号的概念
有时仅知道运行时要处理哪个字段和怎样处理它。
为此,可以在程序中创建字段符号。运行时,可以将实际字段分配给这种字段符号。用字段符号编程的所有操作将用分配的字段来执行。成功地完成分配后,在ABAP/4中无论参考字段符号或参考字段本身,都没有任何区别。
在ABAP/4中字段符号能指向任何数据对象,也能指向ABAP/4字典中定义的结构。
不管是否有类型说明,都可以创建字段符号。如果没有说明,字段符号采用分配字段的所有属性。如果有说明,在分配过程中系统将检查被分配的字段是否与字段符号类型相匹配。无论哪一种应用,在程序中使用字段符号之前,必须首先分配一个字段给字段符号。
字段符号提供了一些特性,使得它们具有很大的灵活性:
_ 可以将所分配字段的偏移量和长度指定为变量。
_ 可以将字段符号分配给其它字段符号,甚至指定其偏移量和长度。
_ 对字段符号的分配可以扩展到字段边界之外。这允许对规则存储的数据进行有效的访问。
_ 可以强制字段符号具有不同于分配字段的类型和小数位。
_ 字段符号可有一个结构用来指向结构的单个组件。
尽管字段符号的这些灵活性使您找到一些问题的完美解答,但使用起来要十分小心。由于可以将直到运行时才可知的数据对象分配给字段符号,所以对涉及到字段符号的操作,语法和安全性检查的有效性是非常有限的。这可能导致运行错误或不正确的数据分配。
运行错误指明明显的问题,而不正确的数据分配是很危险的,因为它们很难被检测出来。因此,只有在绝对确信所做事情,或者没有其它ABAP/4语句能解决问题时才使用。
例如,如果正在处理字符串,您可能只想处理一个字符串的一部分,其位置和长度取决于字符串内容。可以使用字段符号做到这一点。然而,自从R/3系统的3.0版本后,您也可以使用具有变量偏移量和长度说明的MOVE语句(参见用指定偏移量赋值(页6–3))。使用MOVE语句(可能与一些辅助变量结合使用)比使用字段符号更安全。字段符号优点在于某些情况下能提高响应时间。
2定义字段符号
可以为任何内部数据对象定义字段符号
可以为内部和外部结构定义结构化的字段符号
可以在子程序和功能模块中局部地使用字段符号
2为内部字段定义字段符号
要为内部数据对象定义字段符号,请如下使用FIELD-SYMBOLS语句:
语法
FIELD-SYMBOLS FS [type].
该语句定义字段符号FS。
对字段符号,角括弧是语法部分。它们标识程序代码中的字段符号。
不管是否有类型说明,都可以定义字段符号。
2没有类型说明的字段符号
要定义没有类型说明的字段符号,不能使用FIELD-SYMBOLS语句中的type选项:
语法
FIELD-SYMBOLS FS。
字段符号 FS 没有任何属 性。可以在 运行时将任 何数据对象 分配给 FS (参见将数据对象 分配给字段 符号 (页 6) )。 分配过程中 ,字段符号 继承数据对 象的所有属 性。分配的 数据对象的 数据类型成 为字段符号 的实际数据 类型。
3键入字段符 号
可以使用 FIELD-SYMBOLS 语句中 type 选项键入字 段符号:
语法
FIELD-SYMBOLS FS type.
对 type, 可以输入 TYPE t 或 LIKE f (参见DATA 语句的基本 格式 (页 3–14) )。
当将数据对象分配到没有类型说明但已键入类型的字段符号FS时,系统将检查分配的数据对象的类型是否与字段符号的键入类型相兼容。兼容性规则由下表给出。如果类型不兼容,可能的话,系统在语法检查期间输出错误信息,或以运行错误响应。
另一方面,如果不管分配数据对象,而要字段符号保持它指定的类型,则不会出错。这里,必须将带类型说明的数据对象分配给已键入类型的字段符号。分配期间指定的类型必须与字段符号的键入类型相匹配(参见定义字段符号的数据类型(页12))。
下列兼容规则应用于字段符号的键入类型:
键入字段 分配语法检查 无类型说明,TYPE ANY 系统接受任何字段类型。字段的所有属性分配给字段符号。 TYPE TABLE 系统检查字段是否为内表。该表的所有属性和结构分配给字段符号。 TYPE C、N、P 或 X 系统检查 字段是否属 于类型 C、N、P 或 X。字段符 号继承字段 长度及其 DEC
文档评论(0)