SAPABAP动态语句详解..docVIP

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SAPABAP动态语句详解.

将数据对象 分配给字段 符号 在使用字段 符号之前必 须先分配数 据对象给它 。对于结构 化字段符号 ,必须在定 义中包括这 个分配(参 见定义结构化字段符号)。对于 非结构化字 段符号,可 以自由决定 何时何地首 次分配数据 对象。在程 序中,不管 字段符号是 否结构化, 都可以将不 同的数据对 象分配给同 样的字段符 号。 要给字段符 号分配数据 对象,可以 使用 ASSIGN 语句。ASSIGN 语句有几个 变量和参数 。下列主题 说明: ASSIGN 语句的基本格式 将字段符号分配给其它字段符号 分配字段串组件 定义字段符号的数据类型 更改小数位 分配全局字段的局部副本 ASSIGN 语句的基本 格式 ASSIGN 语句的基本 格式包含两 个静态变量 和两个动态 变量。 静态 ASSIGN 具有偏移量说明的静态 ASSIGN 动态 ASSIGN 表工作区的动态分配 静态 ASSIGN 如果运行之 前知道想要 分配给字段 符号的数据 对象的名称 ,则如下使 用 ASSIGN 语句: 语法 ASSIGN f TO FS. 分配之后, 字段符号 FS 具有数据对 象 f 的属性,并 指向相同的 内存区。 FIELD-SYMBOLS: F1, F2 TYPE I. DATA: TEXT(20) TYPE C VALUE Hello, how are you?, NUM TYPE I VALUE 5, BEGIN OF LINE1, COL1 TYPE F VALUE 1.1e+10, COL2 TYPE I VALUE 1234, END OF LINE1, LINE2 LIKE LINE1. ASSIGN TEXT TO F1. ASSIGN NUM TO F2. DESCRIBE FIELD F1 LENGTH F2. WRITE: / F1, has length, NUM. ASSIGN LINE1 TO F1. ASSIGN LINE2-COL2 TO F2. MOVE F1 TO LINE2. ASSIGN LINE2-COL2 = TO F1. WRITE: / F1, F2. 输出如下: Hello, how are you? has length 20 LINE-COL2 = 1,234 示例定义两 个字段符号 F1 和 F2。 因为 F2 的类型指定 为 I,它只能 指向 I 类型字段。 在示例教程 中 F1 和 F2 指向几个不 同的数据对 象。 具有偏移量 说明的静态 ASSIGN 通过使用下 列 ASSIGN 语句,可以 指定要分配 给字段符号 的字段的偏 移值: 语法: ASSIGN f[+o][(l)] TO FS. 正如在 指定数据对象的偏移量中所描述的 ,具有偏移 量 o 和长度 l 的 f 部分被分配 给字段符号 FS。 在 ASSIGN 语句中,偏 移量的说明 有下列特殊 特征: o 和 l 可以是变量 系统不检 查所选部分 是否位于字 段 f 内部。偏移 量 o 和 长度 l 都可以比 f 的长度大。 写地址时, 可以超出 f 的限制,但 不能超出所 定义内存区 (参见 运行检查)。 如果没有 指定长度 l,系 统自动输入 字段 f 的长度。如 果 o 大于零,FS 总是指向超 出 f 限制的区域 。 如果o小 于f 的长度,可 以为 l 指定一个星 号 (*) 来阻止 FS 参照 f 限制之外的 区域。 FIELD-SYMBOLS FS. DATA: BEGIN OF LINE, STRING1(10) VALUE 0123456789, STRING2(10) VALUE abcdefghij, END OF LINE. WRITE / LINE-STRING1+5. ASSIGN LINE-STRING1+5 TO FS. WRITE / FS. ASSIGN LINE-STRING1+5(*) TO FS. WRITE / FS. 输出如下: 56789 56789abcde 56789 该示例中, 可以看到 WRITE 语句和 ASSIGN 语句中的偏 移量说明的 区别。对于 WRITE, 在 LINE-STRING1 端部截短了 输出。如果 指定偏移量 大于 9,将导致 语法检查时 出错。在第 一个 ASSIGN 语句中,将 LINE-STRING1中 以偏移量 5开头长度 为 10 的内存区域 分配给字段 符号 FS。 因为程序中 明确定义了 LINE-S

文档评论(0)

bhzs + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档