首页 > 其他分享 >CJ20N 增强客户字段 引用别人公众号文章

CJ20N 增强客户字段 引用别人公众号文章

时间:2024-04-11 16:23:45浏览次数:19  
标签:sy projectdefinition CJ20N 公众 客户 im 引用 ENDIF kunnr

引用:PS CJ20N 项目定义属性字段增强 (qq.com)

达成效果:

 一、CJ20N添加字段

 二、用户出口CNEX0006

 CMOD分配CNEX0006

出口EXIT_SAPLCJWB_002

找到全局文件ZXCN1TOP,引入PROJ,定义判断是否可编辑的变量G_DISPLAY

 

实现包含文件ZXCNU11

数据展示到子屏幕

获取标准屏幕是否可编辑标识SAP_DISPLAY_ONLY

 

出口EXIT_SAPLCJWB_003

屏幕字段传入到数据表

 

 

 编辑0600屏幕新增字段

 

获取客户名称,当输入客户编号后,带出客户名称显示在后边的文本框中

 输入流

MODULE get_kunnr_name INPUT.
  IF PROJ-KUNNR IS NOT INITIAL.
    SELECT SINGLE
      NAME1
    FROM KNA1
    INTO PROJ-NAME1
    WHERE KUNNR = PROJ-KUNNR.
  ENDIF.
ENDMODULE.

输出流

MODULE status_0600 OUTPUT.
LOOP AT SCREEN.
  IF G_DISPLAY = 'X'.
    SCREEN-INPUT = '0'.
    MODIFY SCREEN.
  ENDIF.
ENDLOOP.
ENDMODULE.

激活以上全部文件即可

 三、校验必输项

虽然给客户编号设置了必输,但是只有进入所在的页签才能校验必输,如果创建后直接保存,必输不起作用,因此需要在保存的时候校验,客户编号是否为空

BADI:PROJECTDEF_UPDATE

SE19创建对应的增强,在AT_SAVE方法中,添加如下代码

METHOD if_ex_projectdef_update~at_save.
    IF im_projectdefinition-kunnr IS INITIAL.
      sy-msgid = 'ZNHPS100'.
      sy-msgno = '012'."客户编码必输
      RAISE error_with_message.
    ELSE.
      IF im_projectdefinition-vbukr IS NOT INITIAL.
        DATA:lv_kunnr TYPE kunnr.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
          EXPORTING
            input  = im_projectdefinition-kunnr
          IMPORTING
            output = lv_kunnr.

        SELECT COUNT(*)
        FROM knb1
        WHERE kunnr = @lv_kunnr
          AND bukrs = @im_projectdefinition-vbukr.

        IF sy-subrc NE 0.
          sy-msgid = 'ZNHPS100'.
          sy-msgno = '013'."客户编码不存在
          sy-msgv1 = im_projectdefinition-kunnr.
          sy-msgv2 = im_projectdefinition-vbukr.
          CLEAR:sy-msgv3,sy-msgv4.
          RAISE error_with_message.
        ENDIF.
      ENDIF.
    ENDIF.
  ENDMETHOD.

这样,当报异常时,就可以将自定义的消息类和消息号,通过标准代码展示出来,解决了客户编号的必输校验问题

标签:sy,projectdefinition,CJ20N,公众,客户,im,引用,ENDIF,kunnr
From: https://www.cnblogs.com/sapSB/p/18129469

相关文章

  • Dubbo源码解读-Consumer消费端@Reference服务端引用流程
    上篇我们介绍了Provider端监听注册中心动态配置原理,地址如下Dubbo源码解析-Provider端监听注册中心动态配置原理-CSDN博客    本文主要针Dubbo消费端@Reference服务端引用流程原理,从dubbo源码角度进行解析。    大家可以好好仔细读一下本文。有疑问欢迎留言......
  • 【python基本用法】python的相对引用
    要使用__init__.py将mouse_move作为一个包,可以按照以下步骤操作:在包含mouse_move模块的目录中创建一个空的__init__.py文件。这将使Python将该目录视为一个包。在__init__.py文件中,导入mouse_move模块,并将其添加到包中。例如,可以使用以下代码:frommouse_moveimportmouse_mo......
  • 用代码验证,esm 导出的是值的引用,commonjs导出的是值的拷贝
    首先需要学习一下esm和commonjs的区别,其中一条关于导出值我们可以手动验证一下,先记住结论esm导出的是值的引用commonjs导出的是值的拷贝没错我又遇到这个问题了,面试官先问我commonjs和esm有啥区别?然后问如果commonjs导出一个模块,在模块内部改变一个值,模块外部......
  • 实战7_公众号爬取方式
    获取某公众号下面的所有文章一.分析公众号登录公众号首页-图文消息-超链接点开后再选择其他公众号并输入要搜索的公众号名,点击搜索出的公众号,下面便会显示公众号下的文章名二.获取链接两次请求1.获取公众号请求token值是变化的fakeid是下次请求要用到的数据2.获......
  • lua closure 引用值capture及栈结构
    问题对于习惯了C/C++的程序员来说,像lua/python这种动态语言总是有一些看起来新奇的特性。其中一个比较典型的例子就是闭包,尽管C++的lambda表达式隐约有了闭包的影子,但是相比较而言还是lua的闭包更强大:lua的闭包可以捕捉任意存储类型(函数参数,全局i变量,局部变量)变量,并且更重要的......
  • 引用类型,值类型,装箱拆箱
    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespace引用类型{classProgram{classDataTypeTest{publicintVal;}staticvoidMain(string[]args){......
  • 【全开源】JAVA红娘婚恋相亲交友系统源码支持微信小程序+微信公众号+H5+APP
    JAVA红娘婚恋相亲交友系统源码:跨平台交友新纪元,微信小程序、公众号、H5、APP全覆盖在数字化浪潮汹涌的今天,婚恋相亲已不再是传统的线下模式所能满足。JAVA红娘婚恋相亲交友系统源码,以其卓越的跨平台特性和强大的功能优势,为您打造了一个全新的相亲交友体验。无论是微信小程序、......
  • 【全开源】JAVA上门家政服务系统源码微信小程序+微信公众号+APP+H5
    JAVA上门家政服务系统源码:一站式家政服务,微信小程序、公众号、APP、H5全平台覆盖,便捷生活触手可及在现代生活的快节奏中,人们对家政服务的需求日益旺盛。JAVA上门家政服务系统源码,以其高效、便捷的特性,结合微信小程序、公众号、APP和H5平台,为您打造了一站式的家政服务体验,让您......
  • 【全开源】JAVA红娘婚恋相亲交友系统源码支持微信小程序+微信公众号+H5+APP
    JAVA红娘婚恋相亲交友系统源码:跨平台交友新纪元,微信小程序、公众号、H5、APP全覆盖在数字化浪潮汹涌的今天,婚恋相亲已不再是传统的线下模式所能满足。JAVA红娘婚恋相亲交友系统源码,以其卓越的跨平台特性和强大的功能优势,为您打造了一个全新的相亲交友体验。无论是微信小程序、......
  • 【全开源】JAVA上门家政服务系统源码微信小程序+微信公众号+APP+H5
    JAVA上门家政服务系统源码:一站式家政服务,微信小程序、公众号、APP、H5全平台覆盖,便捷生活触手可及在现代生活的快节奏中,人们对家政服务的需求日益旺盛。JAVA上门家政服务系统源码,以其高效、便捷的特性,结合微信小程序、公众号、APP和H5平台,为您打造了一站式的家政服务体验,让您......