首页 > 其他分享 >(EXIT)Copy PR header text to PO header when ME21N

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

时间:2022-10-17 10:04:31浏览次数:32  
标签:PR sy ME21N lv header ls tekpo TYPE

货铺QQ群号:834508274

进群统一修改群名片,例如BJ_ABAP_森林木。群内禁止发广告及其他一切无关链接,小程序等,进群看公告,谢谢配合
不修改昵称会被不定期踢除,谢谢配合

下面开始干货:


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

还有一种方法,exit

查找对应的出口

(EXIT)Copy PR header text to PO header when ME21N_不执行

(EXIT)Copy PR header text to PO header when ME21N_不执行_02
查看对应的Function 及include,可以看看输入参数,看看哪些值可以用到(EXIT)Copy PR header text to PO header when ME21N_微信_03
添加测试代码(EXIT)Copy PR header text to PO header when ME21N_微信_04

为方便管理和维护,也为了里面别太乱,我把代码封到一个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不会直接过来

(EXIT)Copy PR header text to PO header when ME21N_不执行_05

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

 


标签:PR,sy,ME21N,lv,header,ls,tekpo,TYPE
From: https://blog.51cto.com/u_15680210/5761233

相关文章

  • PO PR 读取文本的特殊性
    货铺QQ群号:834508274进群统一修改群名片,例如BJ_ABAP_森林木。群内禁止发广告及其他一切无关链接,小程序等,进群看公告,谢谢配合不修改昵称会被不定期踢除,谢谢配合下面开始干货:......
  • [转]「SpringCloud」基于MybatisPlus插件实现多租户功能
    原文地址:「SpringCloud」基于MybatisPlus插件实现多租户功能-开源基础软件社区-51CTO.COM作者AI全栈程序猿来源|今日头条多租户技术的基本概念:多租户技术(英语:multi......
  • [转]SpringBoot项目@Configuration类中使用@Autowired自动注入为null
    原文地址:SpringBoot项目@Configuration类中使用@Autowired自动注入为null_潘子夜个人博客(panziye.com)最近潘老师在搭建SpringBoot项目整合Shiro框架时,在@Configurat......
  • Spring boot Mybatis
       复杂的sql语句,建议使用xml 简单的sql可以使用注解    ......
  • Spring Boot Mybatis plus中国人开发的,直接参考官方文档
        扫描路径     ......
  • PreparedStatement对象
    PreparedStatement可以防止SQL注入。效率更高!1、新增packagecom.hua.lesson03;importcom.hua.lesson02.utils.JdbcUtils;importjava.sql.Connection;importjav......
  • SpringCloud学习笔记(三)——Ribbon
    一、restTemplate的使用我们直接通过实例来说明和理解。首先新建一个子模块,用来测试restTemplate的使用  在测试的主类中添加如下代码,我们就能够获取百度界面的htm......
  • 第二季:8+.SpringBoot结合JVMGC【Java面试题】
    第二季:8+.SpringBoot结合JVMGC【Java面试题】​​前言​​​​推荐​​​​8+.SpringBoot结合JVMGC​​​​最后​​前言202210/1316:17路漫漫其修远兮,吾将上下而求索8+.......
  • docker desktop url protocl 技术以及使用
    dockerdesktop在登录的使用使用了自定义的url协议,同时基于web进行系统登录,认证完成之后会生成code,之后通过url协议进入使用docker协议定义 <array><dict><key>CFBun......
  • springMVC的使用
    springMVC的使用2.1新建一个maven项目2.2导入jar包<!--Spring--><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId......