(EXIT)Copy PR header text to PO header when ME21N

之前已经用badi实现了 po header text的copy

还有一种方法,exit

查找对应的出口

75cd705ff36e6561422e7b97fb7b8b96.jpeg

3b219f9c4f24f0215dc9ce527e8545e4.jpeg
查看对应的Function 及include,可以看看输入参数,看看哪些值可以用到79ce471e9a52c3dfb7b7d5ee5b6099f5.jpeg
添加测试代码3bb92bd958da819dad7ea3227be908ad.jpeg

为方便管理和维护,也为了里面别太乱,我把代码封到一个include里面,

其实建议是用Function,直接copy EXIT_SAPMM06E_012 或者自己建一个。

Function 里面,你用check 用return都只是退出Function,Function之外的不受影响。

但是如果你用include ,在include里面如果return了,include后面如果有别的代码,也就不执行了。

真出了bug的时候比较麻烦

参考代码

DATA : lt_tekpo  TYPE TABLE OF bekpo,
       ls_tekpo  TYPE bekpo,
       lt_lines  TYPE TABLE OF tline,
       lv_tdname TYPE thead-tdname,
       ls_header TYPE thead.
DATA:  lv_spras  TYPE thead-tdspras.

lt_tekpo[] = tekpo[].

LOOP AT lt_tekpo INTO ls_tekpo.

  "for header level
  lv_tdname = ls_tekpo-banfn.

  SELECT SINGLE spras INTO lv_spras FROM eban WHERE banfn = ls_tekpo-banfn.

  CALL FUNCTION 'READ_TEXT'
    EXPORTING
      client                  = sy-mandt
      id                      = 'B01'
      language                = lv_spras
      name                    = lv_tdname
      object                  = 'EBANH'
    TABLES
      lines                   = lt_lines
    EXCEPTIONS
      id                      = 1
      language                = 2
      name                    = 3
      not_found               = 4
      object                  = 5
      reference_check         = 6
      wrong_access_to_archive = 7
      OTHERS                  = 8.
  IF sy-subrc <> 0.
*    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
*            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

  ls_header-tdobject = 'EKKO'.
  ls_header-tdid     = 'F02'.
  ls_header-tdspras  = i_ekko-spras.

  CALL FUNCTION 'SAVE_TEXT'
    EXPORTING
      client   = sy-mandt
      header   = ls_header
      insert   = 'X'
    TABLES
      lines    = lt_lines
    EXCEPTIONS
      id       = 1
      language = 2
      name     = 3
      object   = 4
      OTHERS   = 5.
  IF sy-subrc <> 0.
*    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
*            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

ENDLOOP.

这里特别指出是一点是:

点击copy PR的时候,header text不会直接过来

96ec2b241db0e857dcb66c6f59864964.jpeg

只有点保存后,text才会生成,点保存的时候才会走那个出口。

上一篇使用BADI实现这个功能,不需要点保存,只要点copy,text就会带过来了。带过来以后是可以修改的,修改完保存后,修改的内容不会被覆盖的,两种增强方法都可以,没问题。

点击阅读原文,可查看BADI实现PR PO header text copy

5bac76f522538c76d84be7e7c77922f7.jpeg

685791425bb26e324c88817d1c7ed0a4.gif

更多S4精彩内容,环境关注微信社区:

c3eb827c8dfc9f37a5522d0631323af6.jpeg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值