• ABAP 内部会话中的数据库缓存


    在做采购订单创建及修改时通过输出信息(NACE)发送数据到其他系统的时候,发现通过RFC异步调用函数的时候取不到数据;同步调用就可以取到数据。

    在同一个会话中,如果你更新数据库但没有提交,这时候你通过select依然可以取到最新的数据。但会话外的程序是取不到最新的数据的。

    现在有两个程序ysean_test07,ysean_test08如下:

    REPORT ysean_test07.
    DATA ls_ztifurl TYPE ztifurl.
    ls_ztifurl-interface = 'sean01'.
    ls_ztifurl-name = '测试会话内数据库缓存3333'.
    MODIFY ztifurl FROM ls_ztifurl.
    SUBMIT YSEAN_TEST08. SELECT SINGLE * FROM ztifurl WHERE interface = 'sean01' INTO @DATA(ls_001). BREAK-POINT.
    REPORT ysean_test08.
    
    SELECT
      SINGLE
      *
      FROM ztifurl
      WHERE interface = 'sean01'
      INTO @DATA(ls_001).
    
    BREAK-POINT.

    执行程序07,修改数据库存,但不提交,并调用程序08.  

    这时08可以取到最新的数据。

    07中也可以取到最新的数据。

    但是直接执行08程序取不到最新的数据。

  • 相关阅读:
    第22章 Makefile基础
    第 36 章 TCP/IP协议基础
    socket通信
    移植zlib
    GNU Autotool介绍
    移植sqlite
    关于wireshark的使用
    关于UDP通信的参考目录
    线程问题
    大数据核心知识点:Hbase、Spark、Hive、MapReduce概念理解,特点及机制
  • 原文地址:https://www.cnblogs.com/weixiaopeng/p/15986536.html
Copyright © 2020-2023  润新知