zoukankan      html  css  js  c++  java
  • PERFORM参数传递

    参数传递:
    将主程序变量传递给子例程形式参数
    传递类型
    值传:子例程中参数变量的值的改变,不影响外部程序实际变量的值.

    DATA:A TYPE I VALUE 3,
         B TYPE I VALUE 6,
         C TYPE I.
    WRITE:'A=',A,'B=',B,'C=',C.
    PERFORM ADD USING A B  CHANGING C.
    WRITE:/ SY-ULINE.
    WRITE:/ 'A=',A,'B=',B,'C=',C."A B的值不会变
    FORM ADD USING VALUE(D) VALUE(E)  CHANGING F.
      D = D + 2.
      E = E - 4.
      F = D + E.
      WRITE:/ SY-ULINE.
      WRITE:/ 'A=',A,'B=',B,'C=',C,/ 'D=',D,'E=',E,'F=',F. "A B的值不会变
    ENDFORM.

    引用传:若子例程中的参数变量的值发生了改变,那么,外部程序的实际变量的值也发生改变.

    DATA:A TYPE I VALUE 3,
         B TYPE I VALUE 6,
         C TYPE I.
    WRITE:'A=',A,'B=',B,'C=',C.
    PERFORM ADD USING A B  CHANGING C.
    WRITE:/ SY-ULINE.
    WRITE:/ 'A=',A,'B=',B,'C=',C."A B的值不会变
    FORM ADD USING D E  CHANGING F.
      D = D + 2."提示不应该更改 USING 参考参数。而应将参数定义为USING-VALUE(...) 或 CHANGING 参数as a USING-VALUE(...) or CHANGING parameter.
      E = E - 4."提示不应该更改 USING 参考参数。而应将参数定义为USING-VALUE(...) 或 CHANGING 参数as a USING-VALUE(...) or CHANGING parameter.
      F = D + E.
      WRITE:/ SY-ULINE.
      WRITE:/ 'A=',A,'B=',B,'C=',C,/ 'D=',D,'E=',E,'F=',F. "A B的值会变
    ENDFORM.

    值传并返回结果:传递参数的方式同值传递相同,但在子例程执行过程中,变量值不改变,而结束执行后,把变量的最终值返回.

    DATA:A TYPE I VALUE 3,
         B TYPE I VALUE 6,
         C TYPE I.
    WRITE:'A=',A,'B=',B,'C=',C.
    PERFORM ADD USING A B  CHANGING C.
    WRITE:/ SY-ULINE.
    WRITE:/ 'A=',A,'B=',B,'C=',C."A B的值不会变
    FORM ADD USING D E  CHANGING VALUE(F).
      D = D + 2."提示不应该更改 USING 参考参数。而应将参数定义为USING-VALUE(...) 或 CHANGING 参数as a USING-VALUE(...) or CHANGING parameter.
      E = E - 4."提示不应该更改 USING 参考参数。而应将参数定义为USING-VALUE(...) 或 CHANGING 参数as a USING-VALUE(...) or CHANGING parameter.
      F = D + E.
      WRITE:/ SY-ULINE.
      WRITE:/ 'A=',A,'B=',B,'C=',C,/ 'D=',D,'E=',E,'F=',F. "A B的值会变,C的值不会变
    ENDFORM.

  • 相关阅读:
    zabbix 4.0 监控磁盘IO的实施笔记
    梅登黑德定位系统
    sdrplay sdr 支持的sample rate
    记录一下几个中移动可以PING的检测地址及部份DNS设置
    升级mariadb 10后目录权限问题的笔记
    C#单独启动进程的几种方式及使用特点(使用不当导致端口无法释放)
    SqlBulkCopy批量插入数据时,不执行触发器和约束的解决方法
    C# 处理大量数据的技巧
    C# 几种集合性能比较
    WPF学习网址整理
  • 原文地址:https://www.cnblogs.com/BruceKing/p/11375652.html
Copyright © 2011-2022 走看看