VA01 销售订单 审批 状态 增强_SAP刘梦_新浪博客

需求:
在使用事务代码VA01创建销售订单时,在点击保存按钮后,根据销售组织(VBAK-VKORG)及订单类型(VBAK-AUART)读取自定义表,如果自定义表有值且“自动审批”标识为“X”则自动将该订单抬头-状态中的参数设置为40审批通过。

前台位置:
VA01 <wbr>销售订单 <wbr>审批 <wbr>状态 <wbr>增强

VA01 <wbr>销售订单 <wbr>审批 <wbr>状态 <wbr>增强

spro配置的地方:
VA01 <wbr>销售订单 <wbr>审批 <wbr>状态 <wbr>增强
VA01 <wbr>销售订单 <wbr>审批 <wbr>状态 <wbr>增强


VA01 <wbr>销售订单 <wbr>审批 <wbr>状态 <wbr>增强

VA01 <wbr>销售订单 <wbr>审批 <wbr>状态 <wbr>增强


看看具体的表:
VA01 <wbr>销售订单 <wbr>审批 <wbr>状态 <wbr>增强

VA01 <wbr>销售订单 <wbr>审批 <wbr>状态 <wbr>增强

VA01 <wbr>销售订单 <wbr>审批 <wbr>状态 <wbr>增强


找到增强点:
VA01 <wbr>销售订单 <wbr>审批 <wbr>状态 <wbr>增强

VA01 <wbr>销售订单 <wbr>审批 <wbr>状态 <wbr>增强

可以看看英文的描述:
VA01 <wbr>销售订单 <wbr>审批 <wbr>状态 <wbr>增强


好就是这个位置了,做隐士增强即可

大致参考代码如下:(最好别直接加在里面,封装在fm里,方便以后修改维护)
IF sy-tcode = 'VA01' OR sy-tcode = 'VA02'.
    SELECT SINGLE spbz FROM zsdtlh91070 INTO lv_spbz_flag
        WHERE vkorg = is_vbak-vkorg                                          "销售组织
          AND auart = is_vbak-auart.                                            "单据类型

    IF sy-subrc = 0.
      user_status = 'E0004'.
      CALL FUNCTION 'STATUS_CHANGE_EXTERN'
        EXPORTING
          objnr               = is_vbak-objnr
          user_status         = user_status
        EXCEPTIONS
          object_not_found    = 1
          status_inconsistent = 2
          status_not_allowed  = 3
          OTHERS              = 4.
      IF sy-subrc <> 0.
* Implement suitable error handling here
      ELSE.
        RETURN.                                                             "如果审批通过,不再发送
      ENDIF.

    ENDIF. "endif subrc

  ENDIF. "endif tcode

有时候修改状态,都是先读取 ,用STATUS_READ ,或者修改:STATUS_CHANGE
但是新建的时候,其实库表里是没有的,
所以使用STATUS_CHANGE_EXTERN

具体可以在项目里测试下看看哪个能达到效果

欢迎关注订阅号:SAP学习记录 (SAPlearning )

PO <wbr><wbr>text <wbr><wbr>copy <wbr><wbr>rules <wbr><wbr>:copy <wbr><wbr>PR <wbr><wbr>item <wbr><wbr>text <wbr><wbr>to <wbr><wbr>PO

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[2\]:前几天用到HR模块的一个函数:HR_INFOTYPE_OPERATION。这个函数是用来操作HR信息类型的。在调用这个函数之前,需要先加锁,然后调用HR_INFOTYPE_OPERATION函数进行操作,最后再解锁。\[2\]根据参数OPERATION的不同取值,可以实现不同的操作,比如创建、修改、删除等。其中,主要的取值有INS、INSS和MOD。\[2\]INS表示创建一个新的记录,即使系统中已经存在相同类型的记录。INSS表示创建一个新的记录,如果系统中已经存在相同类型的记录,则将其转换为修改操作。MOD表示修改已存在的记录。\[3\]根据你的需求,你可以查找类似的BAPI函数来实现相同的功能。 #### 引用[.reference_title] - *1* [SAP 函数HR_INFOTYPE_OPERATION报错](https://blog.csdn.net/ptpassword/article/details/131400421)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [HR_INFOTYPE_OPERATION_SAP刘梦_新浪博客](https://blog.csdn.net/senlinmu110/article/details/109652316)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值