首页 > 其他分享 >ABAP-BP创建供应商增强

ABAP-BP创建供应商增强

时间:2023-04-17 13:45:43浏览次数:37  
标签:sy code ok 供应商 ABAP BP ENDIF ev EQ

需求:供应商和客户加"名称+税号"强校验,防止同一客商重复录入

供应商名称重复校验:SE18->BADI->BUPA_ADDR_CHECK(地址及一般信息检查)

  METHOD if_ex_bupa_addr_check~check.
    DATA:ev_ok_code TYPE  bu_fcode.

    CALL FUNCTION 'BUS_LOCATOR_OKCODE'
      IMPORTING
        ev_ok_code = ev_ok_code.

    IF ( ev_ok_code = 'BUS_MAIN_SAVE' OR ( ev_ok_code = 'BUS_MAIN_BACK' AND sy-ucomm =  'YES' ) ) AND
        sy-tcode =  'BP' AND
        ( sy-mandt EQ '140' OR sy-mandt EQ '400' OR sy-mandt EQ '900' ) AND
        iv_activity EQ '01' AND
        is_but000-bu_group = 'S001'.

      FIELD-SYMBOLS:<fs_role> TYPE any.
      ASSIGN ('(SAPLBUPA_DIALOG_JOEL)BUS_JOEL_MAIN-PARTNER_ROLE') TO <fs_role>.

      IF <fs_role> EQ 'ZKD001X'.

        "查询
        SELECT COUNT(*)
          FROM lfa1
         WHERE name1 EQ is_but000-name_org1.

        IF sy-subrc EQ 0.
          MESSAGE '存在相同名称的供应商,请确认' TYPE 'A'.
        ENDIF.
      ENDIF.
    ENDIF.

  ENDMETHOD.

税号校验:SE38->LBUPA_BUTX_DIALOGF01->FORM gt_bptaxnum_modify(隐士增强).

ENHANCEMENT 1  ZBP_CHECK_TAXNUM.    "active version
  IF sy-tcode EQ 'BP' AND
     ( sy-mandt EQ '140' OR sy-mandt EQ '400' OR sy-mandt EQ '900' ).
      FIELD-SYMBOLS <fs_group> TYPE any.
      FIELD-SYMBOLS <fs_role> TYPE any.

      DATA:ev_ok_code TYPE  bu_fcode.

      CALL FUNCTION 'BUS_LOCATOR_OKCODE'
        IMPORTING
          ev_ok_code = ev_ok_code.

      IF ( ev_ok_code = 'BUS_MAIN_SAVE' OR ( ev_ok_code = 'BUS_MAIN_BACK' AND sy-ucomm =  'YES' ) ).
        ASSIGN ('(SAPLBUPA_DIALOG_JOEL)BUS_JOEL_MAIN-CREATION_GROUP') TO <fs_group>.
        ASSIGN ('(SAPLBUPA_DIALOG_JOEL)BUS_JOEL_MAIN-PARTNER_ROLE') TO <fs_role>.

        IF <fs_group> IS ASSIGNED AND <fs_role> IS ASSIGNED.

          IF <fs_group> EQ 'S001' AND <fs_role> EQ 'ZKD001X'.
            SELECT COUNT(*)
              FROM lfa1
             WHERE lifnr EQ dfkkbptaxnum-partner.

            "新建
            IF sy-subrc NE 0 AND dfkkbptaxnum-taxnumxl IS NOT INITIAL.
               "查询是否有相同税号的供应商
              SELECT COUNT(*)
                FROM lfa1
               WHERE stcd5 EQ dfkkbptaxnum-taxnumxl.

              IF sy-subrc EQ 0.
                MESSAGE '已存在相同税号的供应商,请确认' TYPE 'A'.
              ENDIF.
            ENDIF.
          ENDIF.
        ENDIF.
      ENDIF.

  ENDIF.
ENDENHANCEMENT.

标签:sy,code,ok,供应商,ABAP,BP,ENDIF,ev,EQ
From: https://www.cnblogs.com/ap-ad-java-abap/p/17325571.html

相关文章

  • eBPF动手实践系列一:解构内核源码eBPF样例编译过程
    作者:闻茂泉他山之石了解和掌握纯c语言的ebpf编译和使用,有助于我们加深对于eBPF技术原理的进一步掌握,也有助于开发符合自己业务需求的高性能的ebpf程序。目前常见和主流的纯c语言的ebpf编译使用方法,主要是两种。一种是内核源码中原生提供的编译方式。另外一种是libbpf-bootstrap项目......
  • webpack处理环境变量
    1、问题:布置一个koa上传文件服务时,在线上报错,但是本地运行没问题2、思路:经检查是路径问题,项目上传服务器的时候经过webpack打包后,文件的上传的路径出现变化,这时需要本地和线上配置不同的路径,也就是说需要布置环境development和production3、解决:设置环境变量,需要用到cro......
  • SAP ABAP 通过 https 消费外部 API 遇到错误消息 SSSLERR_SSL_CONNECT
    错误消息:500NativeSSLerror:SSLhandshakewithapi.uat443failed:SSSLERR_SSL_CONNECT-57SAPCRYPTO:SSL_connectfailedreceivedafatalTLS1.0internal_erroralertfromthepeer这个错误是关于ABAP作为客户端,无法通过https向提供API的外部服务器建立安全......
  • 如何自行查找出 SAP ABAP 标准的 OData 服务返回数据的后台数据库表和表字段名称
    笔者的知识星球有朋友提问,询问如何查找一个SAPABAPOData服务,暴露出的字段到底来自SAPABAP后台哪些数据库表的哪些字段。要回答这个问题,需要综合运用到我们过去学过的包括ABAP后台程序单步调试的知识。本文我们还是通过之前使用过的SAPCRM标准的Fiori应用,MyAccoun......
  • abp(net core)+easyui+efcore实现仓储管理系统——模块管理升级之上(六十一)
     Abp(netcore)+easyui+efcore实现仓储管理系统目录abp(netcore)+easyui+efcore实现仓储管理系统——ABP总体介绍(一)abp(netcore)+easyui+efcore实现仓储管理系统——解决方案介绍(二)abp(netcore)+easyui+efcore实现仓储管理系统——领域层创建实体(三) abp(netcore)+e......
  • fbprophet 预测网络流量
    importpandasaspdimportmatplotlib.pyplotaspltfromfbprophetimportProphet#读取数据集data=pd.read_csv('network_traffic.csv')#将数据集的列名改为ds和ydata=data.rename(columns={'date':'ds','traffic_volume':'......
  • ebpf的简单学习
    ebpf的简单学习-万事开头难前言bpf值得是巴克利包过滤器他的核心思想是在内核态增加一个可编程的虚拟机.可以在用户态定义很多规则,然后直接在内核态进行过滤和使用.他的效率极高.因为避免了上下文切换,中断等导致的cycle损失.很多先进的工具,比如XDP以及K8S的ciliu......
  • 为何vs编译边出来的程序ebp-4存放的不是第一个局部变量?而是security_cookie——本质上
    快速识别 最后那个call就是比较存的随机数和ebp异或的值是否和之前是否一样:    探究security_cookie在程序中的作用 from:https://www.kn0sky.com/?p=66学习环境:Windows1020H2+VisualStudio2019前言在学习看反汇编程序的时候,使用VS2019编译的releas......
  • 【锂电池健康状态预测】基于布谷鸟算法优化BP神经网络实现锂电池健康状态预测附含Matl
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 给webpack提了一个pr之后......
    前言我不是标题党啊,是真的给webpack提了一个pr,提交之后,脑子里就是一句话:“纸上学来终觉浅,绝知此事要躬行”。欲知来龙去脉,听我娓娓道来。pr如下,<https://github.com/webpack/webpack/pull/16292>,目前还是unreviewed状态。\\阅读此文章你将会了解以下知识点,webstrom调试webpack源......