生产订单工序新增BAPI:CO_SE_PRODORD_OPR_CREATE增强

背景:

创建生产订单工序时需要通过BAPI来维护圈起来的字段,但是BAPI不包含这些字段,所以对BAPI进行一些增强处理。

实现过程:

1.拷贝标准BAPI:CO_SE_PRODORD_OPR_CREATE至ZCO_SE_PRODORD_OPR_CREATE(最好放在新的自定义函数组)。

2.追加增强结构至工序创建结构(为避免以后函数支持这些字段,故此处以ZZ开头)。

3.传入参数mapping到标准结构的处理在这个form中,所以创建自己的逻辑来检查mapping即可。

*&---------------------------------------------------------------------*
*&      Form  FRM_CHECK_CUSTOM_FIELDS
*&---------------------------------------------------------------------*
*       增强字段检查映射
*----------------------------------------------------------------------*
*      -->us_opr_create  工序创建结构
*----------------------------------------------------------------------*
FORM frm_check_custom_fields  USING us_opr_create TYPE cose_s_opr_create.DATA:lv_msgv1 TYPE symsgv,lv_msgv2 TYPE symsgv,lv_msgv3 TYPE symsgv,lv_msgv4 TYPE symsgv.* 供应商IF us_opr_create-zzlifnr IS NOT INITIAL.CALL FUNCTION 'LFA1_SINGLE_READ'EXPORTINGlfa1_lifnr = us_opr_create-zzlifnr
*       KZRFB      = ' 'EXCEPTIONSnot_found  = 1OTHERS     = 2.IF sy-subrc <> 0.lv_msgv1 = us_opr_create-zzlifnr.*     Creditor &1 does not existPERFORM error_handling USING gs_caufvd-aufnr gc_error_msg'LOCORE' '026'lv_msgv1 space space spaceCHANGING gs_return.EXIT.ELSE.IF gs_afvgd-lifnr IS INITIAL.gs_afvgd-lifnr = us_opr_create-zzlifnr.ENDIF.ENDIF.ENDIF.* 价格IF us_opr_create-zzpreis IS NOT INITIAL.IF gs_afvgd-preis IS INITIAL.gs_afvgd-preis = us_opr_create-zzpreis.ENDIF.ENDIF.* 价格单位IF us_opr_create-zzpeinh IS NOT INITIAL.IF gs_afvgd-peinh IS INITIAL.gs_afvgd-peinh = us_opr_create-zzpeinh.ENDIF.ENDIF.* 货币码IF us_opr_create-zzwaers IS NOT INITIAL.CALL FUNCTION 'READ_TCURC'EXPORTINGi_waers         = us_opr_create-zzwaers
*     IMPORTING
*       E_TCURC         =EXCEPTIONSnot_found       = 1OTHERS          = 2.IF sy-subrc <> 0.lv_msgv1 = us_opr_create-zzwaers.*     Currency key & is not includedPERFORM error_handling USING gs_caufvd-aufnr gc_error_msg'KO' '087'lv_msgv1 space space spaceCHANGING gs_return.EXIT.ELSE.IF gs_afvgd-waers IS INITIAL.gs_afvgd-waers = us_opr_create-zzwaers.ENDIF.ENDIF.ENDIF.* 成本元素IF us_opr_create-zzsakto IS NOT INITIAL.CALL FUNCTION 'READ_HAUPTBUCH'EXPORTINGbuchungskreis              = gs_caufvd-bukrssachkonto                  = us_opr_create-zzsakto
*       AUTH_CHECK_ACTIVITY        = ' '
*     IMPORTING
*       KONTENPLAN_WA              =
*       SACHKONTO_WA               =EXCEPTIONSkontenplan_not_found       = 1sachkonto_not_found        = 2not_authorized             = 3OTHERS                     = 4.IF sy-subrc <> 0.lv_msgv1 = us_opr_create-zzsakto.*     Cost element &1 is not found (check entry)PERFORM error_handling USING gs_caufvd-aufnr gc_error_msg'CO' '862'lv_msgv1 space space spaceCHANGING gs_return.EXIT.ELSE.IF gs_afvgd-sakto IS INITIAL.gs_afvgd-sakto = us_opr_create-zzsakto.ENDIF.ENDIF.ENDIF.* 采购组织IF us_opr_create-zzekorg IS NOT INITIAL.SELECT SINGLE * FROM t024e WHERE ekorg = us_opr_create-zzekorg.IF sy-subrc <> 0.lv_msgv1 = us_opr_create-zzekorg.lv_msgv4 = 'T024E'.*     Entry & & & does not exist in &4 (check entry)PERFORM error_handling USING gs_caufvd-aufnr gc_error_msg'00' '058'lv_msgv1 space space lv_msgv4CHANGING gs_return.EXIT.ELSE.IF gs_afvgd-ekorg IS INITIAL.gs_afvgd-ekorg = us_opr_create-zzekorg.ENDIF.ENDIF.ENDIF.
ENDFORM.                    " FRM_CHECK_CUSTOM_FIELDS

 以上,即可通过BAPI来写入自己想更新的字段。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/842304.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决:java.util.concurrent.RejectedExecutionException

一 发现RejectedExecutionException错误 今天查看服务器的时候发现了一些java.util.concurrent.RejectedExecutionException错误&#xff0c;这个是由于线程池里的线程忙不过来报出的。如下图&#xff1a; 像这种 RejectedExecutionException 错误&#xff0c;表明在Java应…

QT如何将生成的exe文件打包成安装包

一、生成exe文件 1、生成exe文件 QT编译模式选择release&#xff0c;然后点击编译&#xff1a; 2、找到exe文件 在开发文件夹下找到build-xxxxxxx-Release文件夹里面找到exe文件 3、相关依赖dll文件查找 新建个空文件夹将exe文件拷贝进去&#xff1a; 然后找到如下程序…

恒创科技:Linux 服务器和 Windows 服务器哪个更好?

选择正确的服务器系统至关重要&#xff0c;目前广泛使用的选项是 Windows 服务器 和 Linux 服务器&#xff0c;它们各有优缺点。本文将比较 Linux 与 Windows 服务器&#xff0c;让我们来看看它们的主要区别&#xff0c;然后再决定哪种操作系统适合使用。 主要区别&#xff1a;…

HTTP方法、状态码和请求过程

一、HTTP方法概念&#xff1a; HTTP客户端发出请求&#xff0c;告知服务端需要执行不同类型的请求命令&#xff0c;这些命令被称为HTTP方法。 简说:HTTP方法是告诉服务器要做什么。 1、GET方法&#xff1a;获取资源 作用&#xff1a; ①通常用于请求服务器发送某个资源&am…

Tensors张量操作

定义Tensor 下面是一个常见的tensor&#xff0c;包含了里面的数值&#xff0c;属性&#xff0c;以及存储位置 tensor([[0.3565&#xff0c;0.1826&#xff0c;0.6719],[0.6695&#xff0c;0.5364&#xff0c;0.7057]]&#xff0c;dtypetorch.float32,devicecuda:0)Tensor的属…

Bootstrap5

Bootstrap 5 是 Bootstrap 框架的最新版本&#xff0c;这是一个广受欢迎且功能强大的开源前端开发框架&#xff0c;专为快速构建响应式和移动优先的网站而设计。Bootstrap 由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 创建&#xff0c;它以 HTML、CSS 和 JavaScript 为基…

【uniapp】uniapp基本介绍

目录 介绍体验uni-app优势功能框架图 uni-app组成和跨端原理基本语言和开发规范 编译器运行时&#xff08;runtime&#xff09;uni-app runtime包括3部分&#xff1a;基础框架、组件、API基础框架&#xff1a;组件&#xff1a;组件的扩展&#xff1a; API&#xff1a; 逻辑层和…

vue2的方法与监听

vue2的方法 不可以使用箭头函数 <template> <div><div>{{sum2()}}</div><button click"add">add</button> </div></template><script> export default {data(){return{name:"张三",num:20,num2:3…

基于形态学滤波的心电信号ECG处理(MATLAB 2021B)

数学形态学简称形态学&#xff0c;在数学意义上&#xff0c;其基于集合理论、积分几何和网格代数&#xff0c;是一门严格建立在数学基础之上的学科&#xff0c;着重用来研究图像的几何结构和形状&#xff0c;因而称之为形态学。其基本思想是用结构元素对待分析图像进行“探测”…

机器人回调接口完善

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂。 免责声明&#xff1a;该工具仅供学习使用&#xff0c;禁止使用该工具从事违法活动&#xff0c;否则永久拉黑封禁账号&#xff01;&#xff01;&#xff01;本人不对任何工具的使用负责&am…

计算机类主题会议推荐之——ACAIB 2024

【北方民族大学40 周年校庆学术活动】 第四届自动化控制、算法与智能仿生学术会议(ACAIB 2024) 2024年6月7-9日 中国银川 往届均已见刊检索 EI、SCOPUS双检索 基本信息 会议官网&#xff1a;www.acaib.org 最终截稿时间&#xff1a;2024年6月3日晚23&#xff1a;…

Mac 电脑给android手机传输文件提示 No android device found

在开发过程中&#xff0c;我们有时候会有在电脑和手机之间传输文件的需求。 Mac电脑给android手机传输文件并不是很方便。 Google 官方提供了一个软件叫Android File Transfer&#xff0c;这个软件免费且好用。 Android File Transfer下载地址 但是使用过程中会遇到一些问题…

白银现货价格对这两种形态形成突破 应当予以关注

在白银现货价格分析和交易中&#xff0c;突破这个行为一直是一个重要的、具有可分析性的市场动作。本文要讨论的&#xff0c;是基于价格形态之上的突破行为&#xff0c;下面我们就来看看。 中继形态的突破。白银现货价格波动中有中继形态有反转形态&#xff0c;中继形态的意思是…

Java代码——@Mock注入失效,注入对象始终为null

现象&#xff1a; 最近在使用Mock对象做单元测试&#xff0c;但是发现mock的对象始终为null. 代码如下&#xff1a; package com.****.cache;import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.junit.Mock…

探索减轻 AI 说服伤害的机制方法

随着生成式人工智能&#xff08;AI&#xff09;系统在各个领域的广泛应用&#xff0c;其说服能力也日益增强&#xff0c;引发了对 AI 说服可能带来伤害的担忧。AI 说服的伤害不仅来源于说服的结果&#xff0c;还包括说服过程中可能对个体或社会造成的不利影响。为了系统性地研究…

学习Uni-app开发小程序Day27

这一章学习了几个功能点&#xff0c;例如&#xff1a;try{}catch处理同步请求下载记录异常处理、onShareAppMessage分享好友和分享微信朋友圈、对分享页面传参进行特殊处理、共用分类列表页面实现我的下载和评分页面、使用mp-html富文本插件渲染公告详情页面 try{}catch处理同…

AI+低代码,打通企业大模型应用最后一公里!

一、AI的趋势与发展 一夜之间&#xff0c;微软的AI全宇宙似乎已成型。 5月22日凌晨&#xff0c;在一年一度的2024微软Build大会上&#xff0c;微软CEO萨蒂亚纳德拉一口气宣布了50多项AI能力更新&#xff0c;涵盖GPT-4o上云、自研Cobalt芯片、团队版Copilot、SOTA小模型等。 此…

Diffusion相关原理

Diffusion相关原理 1、数学&#xff1a;重参数化 &#xff08;用于高斯拟合求导&#xff09;变分推断原理 &#xff08;用于损失&#xff09; 2、生成模型系列1、AE自动编码器&#xff08;AutoEncoder&#xff09;2.VAE的模型架构模型原理数学原理AE和VAE对比 3、DDMP图像高斯加…

信息化项目必须进行验收测试吗?软件测试公司验收测试流程分享

信息化项目验收是指在软件开发完成之后&#xff0c;对其进行独立检查和确认&#xff0c;以确定它是否达到了预期的质量和功能需求。在进行验收之前&#xff0c;必须进行验收测试&#xff0c;这是非常重要的一步。 为什么要进行验收测试呢&#xff1f;好处可不少哦&#xff01;…

5.29高通技术分享抢先看 | 2024高通边缘智能创新应用大赛公开课

火力全开&#xff01;2024高通边缘智能创新应用大赛首期公开课将在5月29日晚上8点炫酷启动&#xff01; 届时&#xff0c;来自大赛主办方高通技术公司的产品市场总监李骏捷和高级资深工程师李万俊将于云端聚首&#xff0c;带来一场关于边缘智能的前沿技术对话。 各位参赛者及…