MFBF:装配反冲-----收货过账

2023-12-28 12:59
文章标签 装配 过账 收货 mfbf 反冲

本文主要是介绍MFBF:装配反冲-----收货过账,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、此文章主要是针对MFBF事务码中的装配反冲,就是进行收货过账的,原本这个装配反冲可以用BAPI_REPMANCONF_CREATE_MTS进行过账的,但是由于BAPI不能修改移动类型,导致最后只能使用BDC进行过账

MFBF中装配反冲的原始界面:
在这里插入图片描述
不能用BAPI_REPMANCONF_CREATE_MTS过账的原因如下

在这里插入图片描述
程序示例如下:移动类型不同,导致BDC录屏也不同

if pv_bwart = '132' or pv_bwart = 'Z50'.clear:gt_bdcdata.perform bdc_dynpro      using 'SAPLBARM' '0800'.perform bdc_field       using 'BDC_OKCODE''=ZPKT'.perform bdc_field       using 'RM61B-BUDAT' pv_budat. "过账日期perform bdc_field       using 'RM61B-BLDAT' pv_bldat. "凭证日期perform bdc_field       using 'RM61B-RB_BAUGR' 'X'.perform bdc_field       using 'RM61B-MATNR' pv_matnr. "物料号perform bdc_field       using 'RM61B-WERKS' pv_werks. "工厂perform bdc_field       using 'RM61B-VERID' pv_verid. "生产版本perform bdc_field       using 'RM61B-ALORT' pv_lgort. "库存地点perform bdc_field       using 'RM61B-REP_POINTS'  'X'.perform bdc_dynpro      using 'SAPLBARM' '0800'.perform bdc_field       using 'BDC_OKCODE''=REVR'.perform bdc_field       using 'RM61B-BUDAT' pv_budat. "过账日期perform bdc_field       using 'RM61B-BLDAT' pv_bldat. "凭证日期perform bdc_field       using 'RM61B-RB_BAUGR' 'X'.perform bdc_field       using 'RM61B-WERKS' pv_werks. "工厂perform bdc_field       using 'BDC_CURSOR' 'RM61B-ERFMG'.perform bdc_dynpro      using 'SAPLBARM' '0800'.perform bdc_field       using 'BDC_OKCODE''=PARA'.perform bdc_field       using 'RM61B-BUDAT' pv_budat. "过账日期perform bdc_field       using 'RM61B-BLDAT' pv_bldat. "凭证日期perform bdc_field       using 'RM61B-RB_BAUGR' 'X'.perform bdc_field       using 'BDC_CURSOR'  'RM61B-ACHARG'.perform bdc_field       using 'RM61B-MATNR' pv_matnr. "物料号perform bdc_field       using 'RM61B-WERKS' pv_werks. "工厂perform bdc_field       using 'RM61B-VERID' pv_verid. "生产版本perform bdc_field       using 'RM61B-ALORT' pv_lgort. "库存地点perform bdc_field       using 'RM61B-REP_POINTS'  'X'.perform bdc_field       using 'RM61B-ZPUNKT' pv_zpunkt. "报告点if pv_charg is not initial.perform bdc_field       using 'RM61B-ACHARG' pv_charg. "系统批次endif.perform bdc_field       using 'RM61B-ERFMG' pv_menge. "数量perform bdc_dynpro      using 'SAPLBARM' '0150'.perform bdc_field       using 'BDC_CURSOR'  'RM61B-BWAWE'.perform bdc_field       using 'BDC_OKCODE'   '=GOON'.perform bdc_field       using 'RM61B-LBOFF' 'X'.perform bdc_field       using 'RM61B-RADIOFR' 'X'.perform bdc_field       using 'RM61B-BWAWE' pv_bwart. "移动类型perform bdc_field       using 'RM61B-BWAWA' '262'.perform bdc_field       using 'RM61B-BWAWEM' '572'.perform bdc_field       using 'RM61B-BWAWAM' '571'.perform bdc_field       using 'RM61B-BWACR' '292'.perform bdc_field       using 'RM61B-BWASC' '552'.perform bdc_field       using 'RM61B-BWACO' '532'.perform bdc_dynpro      using 'SAPLBARM' '0800'.perform bdc_field       using 'BDC_OKCODE'  '=POST'.perform bdc_field       using 'RM61B-BUDAT' pv_budat. "过账日期perform bdc_field       using 'RM61B-BLDAT' pv_bldat. "凭证日期perform bdc_field       using 'RM61B-RB_BAUGR' 'X'.perform bdc_field       using 'RM61B-MATNR' pv_matnr. "物料号perform bdc_field       using 'RM61B-WERKS' pv_werks. "工厂perform bdc_field       using 'RM61B-VERID' pv_verid. "生产版本perform bdc_field       using 'RM61B-PLWERK'  pv_werks.perform bdc_field       using 'RM61B-ALORT' pv_lgort. "库存地点if pv_charg  is  not initial.perform bdc_field       using 'RM61B-ACHARG' pv_charg. "系统批次endif.perform bdc_field       using 'RM61B-ERFMG' pv_menge. "数量else.clear:gt_bdcdata.perform bdc_dynpro      using 'SAPLBARM' '0800'.perform bdc_field       using 'BDC_OKCODE''=ZPKT'.perform bdc_field       using 'RM61B-BUDAT' pv_budat. "过账日期perform bdc_field       using 'RM61B-BLDAT' pv_bldat. "凭证日期perform bdc_field       using 'RM61B-RB_BAUGR' 'X'.perform bdc_field       using 'RM61B-MATNR' pv_matnr. "物料号perform bdc_field       using 'RM61B-WERKS' pv_werks. "工厂perform bdc_field       using 'RM61B-VERID' pv_verid. "生产版本perform bdc_field       using 'RM61B-ALORT' pv_lgort. "库存地点perform bdc_field       using 'RM61B-REP_POINTS'  'X'.perform bdc_dynpro      using 'SAPLBARM' '0800'.perform bdc_field       using 'BDC_OKCODE''=GOON'.perform bdc_field       using 'RM61B-BUDAT' pv_budat. "过账日期perform bdc_field       using 'RM61B-BLDAT' pv_bldat. "凭证日期perform bdc_field       using 'RM61B-RB_BAUGR' 'X'.perform bdc_field       using 'RM61B-MATNR' pv_matnr. "物料号perform bdc_field       using 'RM61B-WERKS' pv_werks. "工厂perform bdc_field       using 'RM61B-VERID' pv_verid. "生产版本perform bdc_field       using 'RM61B-ALORT' pv_lgort. "库存地点perform bdc_field       using 'RM61B-REP_POINTS'  'X'.perform bdc_field       using 'RM61B-ZPUNKT' pv_zpunkt. "报告点perform bdc_field       using 'RM61B-ERFMG' pv_menge. "数量perform bdc_dynpro      using 'SAPLBARM' '0800'.perform bdc_field       using 'BDC_OKCODE''=PARA'.perform bdc_field       using 'RM61B-BUDAT' pv_budat. "过账日期perform bdc_field       using 'RM61B-BLDAT' pv_bldat. "凭证日期perform bdc_field       using 'RM61B-RB_BAUGR' 'X'.perform bdc_field       using 'RM61B-MATNR' pv_matnr. "物料号perform bdc_field       using 'RM61B-WERKS' pv_werks. "工厂perform bdc_field       using 'RM61B-VERID' pv_verid. "生产版本perform bdc_field       using 'RM61B-PLWERK'  pv_werks.perform bdc_field       using 'RM61B-ALORT' pv_lgort. "库存地点if  pv_charg is not initial.perform bdc_field       using 'RM61B-ACHARG' pv_charg. "系统批次endif.perform bdc_field       using 'RM61B-ERFMG' pv_menge. "数量perform bdc_dynpro      using 'SAPLBARM' '0150'.perform bdc_field       using 'BDC_CURSOR''RM61B-BWAWE'.perform bdc_field       using 'BDC_OKCODE''=GOON'.perform bdc_field       using 'RM61B-LBOFF' 'X'.perform bdc_field       using 'RM61B-RADIOFR' 'X'.perform bdc_field       using 'RM61B-BWAWE' pv_bwart. "移动类型perform bdc_field       using 'RM61B-BWAWA' '261'.perform bdc_field       using 'RM61B-BWAWEM' '571'.perform bdc_field       using 'RM61B-BWAWAM' '572'.perform bdc_field       using 'RM61B-BWACR' '291'.perform bdc_field       using 'RM61B-BWASC' '551'.perform bdc_field       using 'RM61B-BWACO' '531'.perform bdc_dynpro      using 'SAPLBARM' '0800'.perform bdc_field       using 'BDC_OKCODE''=POST'.perform bdc_field       using 'RM61B-BUDAT' pv_budat. "过账日期perform bdc_field       using 'RM61B-BLDAT' pv_bldat. "凭证日期perform bdc_field       using 'RM61B-RB_BAUGR' 'X'.perform bdc_field       using 'RM61B-MATNR' pv_matnr. "物料号perform bdc_field       using 'RM61B-WERKS' pv_werks. "工厂perform bdc_field       using 'RM61B-VERID' pv_verid. "生产版本perform bdc_field       using 'RM61B-PLWERK'  pv_werks.perform bdc_field       using 'RM61B-ALORT' pv_lgort. "库存地点if pv_charg is not initial  .perform bdc_field       using 'RM61B-ACHARG' pv_charg. "系统批次endif.perform bdc_field       using 'RM61B-ERFMG' pv_menge. "数量endif.clear: gt_messtab.call transaction 'MFBF'using gt_bdcdatamode 'N' "A:前台执行 N:后台执行update 'S' "S:同步 A:异步messages into gt_messtab.clear: lt_return.call function 'CONVERT_BDCMSGCOLL_TO_BAPIRET2'tablesimt_bdcmsgcoll = gt_messtabext_return     = lt_return.read table lt_return into ls_return with key type = 'E'. "#EC CI_STDSEQif sy-subrc eq 0. "BDC出现错误cv_flag = 'X'.move-corresponding ls_return to cs_return.return.else. "BDC更新成功commit work.read table lt_return into ls_return with key type = 'S' id = 'RM'." number = '190' or '191' or '215'. "#EC CI_STDSEQif sy-subrc eq 0.move-corresponding ls_return to cs_return.cv_flag = ''.cv_mblnr = ls_return-message_v1. "凭证号endif.endif.

这篇关于MFBF:装配反冲-----收货过账的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/546028

相关文章

读Spring实战(第四版)概括—装配Bean

很久很久以前读过Spring实战(第三版),因为第三版和第四部差异还是特别明显的,在整体思想上有了比较重大的改变,比如用注解和JavaConfig替换Xml以及现在非常火热的Springboot在书的最后也有提到。OK,开始看书,书本的第一章讲了一下Spring存在的目的(简化Java开发)和Spring的功能,以及Spring3->Spring4增加了哪些功能,那我就从第二章开始概括本书,以给我

初步了解VTK装配体

VTK还不太了解,根据资料, vtk.vtkAssembly 是 VTK库中的一个重要类,允许通过将多个vtkActor对象组合在一起来创建复杂的3D模型。 import vtkimport mathfrom vtk.util.colors import *filenames = ["cylinder.stl","sphere.stl","torus.stl"]dt = 1.0renW

【Spring Boot】 SpringBoot自动装配-Condition

目录 一、前言二、 定义2.1 @Conditional2.2 Condition2.2.1 ConditionContext 三、 使用说明3.1 创建项目3.1.1 导入依赖3.1.2 添加配置信息3.1.3 创建User类3.1.4 创建条件实现类3.1.5 修改启动类 3.2 测试3.2.1 当user.enable=false3.2.2 当user.enable=true 3.3

最新版 | 深入剖析SpringBoot3源码——分析自动装配原理(面试常考)

文章目录 一、自动配置概念二、半自动配置(误~🙏🙏)三、源码分析1、验证DispatcherServlet的自动配置2、源码分析入口@SpringBootApplication3、@SpringBootConfiguration的@Configuration4、@EnableAutoConfiguration的@AutoConfigurationPackage和@Import5、Auto

Spring(三):IoC容器装配Bean(xml配置方式和注解方式)

XML配置方式 一、三种实例化Bean的方式 1.使用类构造器实例化(默认无参数) <bean id=“personService" class="cn.itcast.bean.impl.PersonServiceImpl"/> 2.使用静态工厂方法实例化 <bean id="personService"          class="com.itcast.factory.PersonSe

自动化工程案例01:8工位插针装配机01

机器主要作用是对充电枪中的插头进行加工,主要实现对插头进行压橡胶帽和安装密封圈。主要对两种不同的工件进行装配 旋转盘工位: 控制旋转盘每次旋转角度是2个气动夹爪之间的角度。 1.旋转盘共有10个气动夹爪和10个安装密封圈辅助固定工位。 2.通过接近开关对旋转盘点动旋转角度进行限制。 人工启动工位: 通过人工进行上料,并通过传感器检测是否合格。 1.人工通过脚踏打开夹爪,放置工

运维问题0001:MM模块-MIGO收货报错“消息号 M7036 对于采购订单********无收货可能”

1、问题解析: 该报错为SAP标准报错类型,针对公司不同配置/业务设计/校验逻辑,导致该问题原因比较多。 常见的问题总结如下: 1)输入的PO信息有问题(例如:PO输入错误/PO删除状态/PO冻结状态/PO已完成收货等); 2)  公司采购流程设计,整体流程未执行到收货节点(例如:PO未审批完成/PO需要确认); 3)特殊订单类型/特殊类型物料采购不允许收货; 4)特定类型订单对收货参

Spring 源码解读:手动实现自动装配与@Qualifier

引言 自动装配(Autowiring)是Spring框架中用于简化依赖注入的一种机制,通过自动匹配类型或名称,将依赖注入到所需的Bean中。Spring提供了@Autowired和@Qualifier注解来支持自动装配。本文将通过手动实现自动装配机制,支持按类型和按名称注入,并与Spring中的@Autowired和@Qualifier注解进行对比,帮助你掌握自动装配的基本原理和使用方法。 自

看看SpringBoot的自动装配原理

SpringBoot的自动装配原理 明天面试浅浅复习一下八股文 面试官:说一下springboot的自动装配 像以前开发的时候,配置文件需要用xml和java配置类进行显式配置,一整就整一大堆的配置文件 then 什么是自动装配? Spring boot 定义了一套自己的规范,在Spring Boot启动的时候会扫描有什么外部的jar包的META-INF/spring.fac

SAP LE学习笔记07 - MM与WM跨模块收货到仓库的流程中 如何实现 先上架再入库

上一章讲了LE中收货的一些特殊情况: 1,MM模块收货时,特别移动指标来标识的物料直接产生TO 2,MM中直接收货到仓库的固定Storage Bin(棚番)上 SAP LE学习笔记06 - MM与WM跨模块收货到仓库的流程中 带特别移动指标的物料也可以直接生成TO;MM中收货之后如何直接收到固定棚番(Storage Bin)上_sapwm和mm-CSDN博客 本章继续讲LE-WM中的其