码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • SAP:增强中用commit和wait up会导致操作异常


    参考案例:CO01中我们需要在执行过程中有个写表的操作,但是不能直接commit work,当然也不能rollback work,所以此时我们需要重新开启一个进场去执行,包括wait up 也有提交的操作,这几种语法在增强中还是得慎用。
    CO01报错:
    在这里插入图片描述
    此时我们可以通过另外一种办法去实现:
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/06959a689d6d4d4196e04d3a36eaaf3f.png

      DATA:lv_task TYPE c VALUE 'COMMIT'.
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' STARTING NEW TASK lv_task
         EXPORTING
           wait = 'X'.
    
    • 1
    • 2
    • 3
    • 4

    如果是wait up语法,可以改为:

      CALL FUNCTION 'ENQUE_SLEEP'
    
          EXPORTING
    
            seconds = 1
    
          EXCEPTIONS
    
            OTHERS  = 2.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    提交数据库方式: 1、显示提交。是指使用commit work或者这条语句触发的提交(包含封装这条语句的function
    module,如DB_commit, bapi_transaction_commit等)。

    2、隐式提交。如

    1、对话屏幕结束时(跳转另一屏幕)。如call screen、CALL TRANSACTION or SUBMIT
    .

    2、同步或者异步远程调用RFC.

    CALL FUNCTION func DESTINATION dest

    (在DESTINATION不省略的情况下,且dest取值又不为SPACE,则函数一定要是RFC函数才能采用此方式进行远程同步调用)

    CALL FUNCTION func STARTING NEW TASK DESTINATION dest taskname

    异步调用时不能有IMPORTING参数;函数一定要是RFC函数才能采用异步调用;只要有STARTING NEW
    TASK选项,即为异步调用;如果是异步调用同一目标端的RFC函数,则可以省略DESTINATION

    但RFC事务调用不会触发隐式提交:

    CALL FUNCTION func IN BACKGROUND TASK DESTINATION dest

    (函数一定要为RFC函数,且要通过Commit
    Work语句显示提交后,才会去执行,否则不会执行;如果是同一目标端的RFC函数,则可以省略DESTINATION)

    3、WAIT UNTIL log_exp [UP TO sec SECONDS]语句

    因为 WAIT UP 语句有提交 数据库 的作用,所以在增强里面是禁止使用 WAIT UP 语句的,可以如下:WAIT UP TO 1
    SECOND.

       改为:
    
    • 1

    CALL FUNCTION ‘ENQUE_SLEEP’

      EXPORTING
    
        seconds = 1
    
      EXCEPTIONS
    
        OTHERS  = 2.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    4、消息输出,如打印E,I,W类型的消息

  • 相关阅读:
    【毕业设计】机器视觉手势检测和识别系统 - python 深度学习
    第二章-Mybatis源码解析-以xml方式走流程
    学习笔记【机器翻译评测指标】
    冷知识:SSD或U盘或FLASH闪存要温度高通电使用,温度低断电保存,数据才能更久不丢失!
    超级计算/先进计算的十大用途
    webpack入门总结
    mongodb 聚合Aggregation分组group汇总索引问题
    pytorch-lightning的trainer的optimaze_step的详细分析
    推出一系列GaN功率放大器: QPA2211、QPA2211D、QPA2212、QPA2212D、QPA2212T,支持卫星通信和5G基础设施。
    ARP Cache Poisoning Attack Lab(SEED实验)
  • 原文地址:https://blog.csdn.net/weixin_43734184/article/details/126240746
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号