SAP MM 创建双单位采购信息记录

news2025/1/11 7:37:48

SAP创建不同基本单位的信息记录
1、前台维护MM01
在这里插入图片描述
2、ME11维护信息记录
在这里插入图片描述
3、通过BAPI+BDC实现:ME_INFORECORD_MAINTAIN_MULTI+MEK1录屏
因为单独使用ME_INFORECORD_MAINTAIN_MULTI创建信息记录无法创建双单位,创建第一个单位时可以,第二个就会报错!
在这里插入图片描述
因此使用BAPI+BDC录屏实现,在录屏时选择了MEK1 [其实最初本来想用MEK1,直接创建信息记录,更加想偷懒哈哈ME11录屏太复杂,发现MEK1只能更新条件记录在A067表中,无法创建信息记录号ME13无法查看],后面经过多次测试,发现用MEK1创建时候,必须要有信息记录存在(不管先存在哪个单位信息记录都行,反正要有)
因为这个是原来个接口程序,因此为了保证原来逻辑不改动(指的:只有单一单位创建逻辑),因此区分当只有一个单位时候,走BAPI。有多单位并且不存在信息记录也走BAPI,先创建信息记录,下次再进来创建其他单位要创建信息记录走BDC
在这里插入图片描述
BDC录屏如下:

ELSE."MEK1新增信息记录BDC
          PERFORM bdc_dynpro      TABLES bdcdata[] USING 'SAPMV13A' '0100'.
          PERFORM bdc_field       TABLES bdcdata[] USING 'BDC_CURSOR'
                                        'RV13A-KSCHL'.
          PERFORM bdc_field       TABLES bdcdata[] USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       TABLES bdcdata[] USING 'RV13A-KSCHL'
                                        'PB00'.
          PERFORM bdc_dynpro      TABLES bdcdata[] USING 'SAPLV14A' '0100'.
          PERFORM bdc_field       TABLES bdcdata[] USING 'BDC_CURSOR'
                                        'RV130-SELKZ(06)'.
          PERFORM bdc_field       TABLES bdcdata[] USING 'BDC_OKCODE'
                                        '=WEIT'.
          PERFORM bdc_field       TABLES bdcdata[] USING 'RV130-SELKZ(01)'
                                        ''.
          PERFORM bdc_field       TABLES bdcdata[] USING 'RV130-SELKZ(06)'
                                        'X'.
          PERFORM bdc_dynpro      TABLES bdcdata[] USING 'SAPMV13A' '1067'.
          PERFORM bdc_field       TABLES bdcdata[] USING 'BDC_CURSOR'
                                        'RV13A-DATBI(01)'.
          PERFORM bdc_field       TABLES bdcdata[] USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       TABLES bdcdata[] USING 'KOMG-LIFNR'
                                        is_data-lifnr.
          PERFORM bdc_field       TABLES bdcdata[] USING 'KOMG-MATNR'
                                        is_data-matnr.
          PERFORM bdc_field       TABLES bdcdata[] USING 'KOMG-EKORG'
                                        is_data-ekorg.
          PERFORM bdc_field       TABLES bdcdata[] USING 'KOMG-ESOKZ'
                                        is_data-esokz.
          PERFORM bdc_field       TABLES bdcdata[] USING 'KOMG-WERKS(01)'
                                        is_data-werks.
          PERFORM bdc_field       TABLES bdcdata[] USING 'KOMG-BSTME(01)'
                                        is_data-lmein.
          jj = is_data-netpr.
          CONDENSE jj NO-GAPS.
          PERFORM bdc_field       TABLES bdcdata[] USING 'KONP-KBETR(01)'
                                        jj.
          dw = is_data-peinh.
          CONDENSE dw NO-GAPS.
          PERFORM bdc_field       TABLES bdcdata[] USING 'KONP-KPEIN(01)'
                                        dw.
          PERFORM bdc_field       TABLES bdcdata[] USING 'RV13A-DATAB(01)'
                                        is_data-datab.
          PERFORM bdc_field       TABLES bdcdata[] USING 'RV13A-DATBI(01)'
                                        is_data-datbi.
          PERFORM bdc_dynpro      TABLES bdcdata[] USING 'SAPMV13A' '1067'.
          PERFORM bdc_field       TABLES bdcdata[] USING 'BDC_CURSOR'
                                        'KOMG-WERKS(01)'.
          PERFORM bdc_field       TABLES bdcdata[] USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_dynpro      TABLES bdcdata[] USING 'SAPMV13A' '1067'.
          PERFORM bdc_field       TABLES bdcdata[] USING 'BDC_CURSOR'
                                        'KOMG-WERKS(01)'.
          PERFORM bdc_field      TABLES bdcdata[]  USING 'BDC_OKCODE'
                                        '=SICH'.
          ctumode = 'A'.
          cupdate = 'S'.
          CALL TRANSACTION 'MEK1' USING bdcdata
                                 MODE   ctumode
                                 UPDATE cupdate
                                 MESSAGES INTO messtab.
          READ TABLE messtab WITH KEY msgtyp = 'E'.
          IF sy-subrc <> 0 .
            COMMIT WORK AND WAIT.
            READ TABLE lt_et_eina INTO ls_et_eina INDEX 1.
            IF NOT ls_et_eina-info_rec IS INITIAL.
              DO 10 TIMES.
                SELECT SINGLE infnr
                FROM eine
                INTO @lv_infnr
                      WHERE infnr = @ls_et_eina-info_rec
                      AND ekorg = @is_data-ekorg
                      AND esokz = @is_data-esokz.
                IF sy-subrc = 0.
                  EXIT.
                ELSE.
                  WAIT UP TO 1 SECONDS.
                ENDIF.
              ENDDO.

            ENDIF.

向BDC传值时,提示错误,在代码传值时,加NO-GAPS即可.
在这里插入图片描述
4、对于BAPI+BAPI方式估计也行:ME_INFORECORD_MAINTAIN_MULTI+ BAPI_PRICES_CONDITIONS,暂时未测试;或者ME11直接录屏

以上纯属个人笔记截图均来自SAP系统,仅用于日常分享,如有侵权联系本人删除,喜欢的帮忙点个赞!如果有问题请在下方留言!

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

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

相关文章

企业邮箱的成本与收费:了解真相,合理选择

企业邮箱的成本对于希望迁移到云端的企业来说可能是一个问题。但这并不一定是必须的。企业邮箱对于今天的企业来说是必不可少的&#xff0c;因为它们提供必要的工具和服务来帮助您与客户、合作伙伴和商业社区保持联系。企业邮箱的收费贵不贵&#xff1f;成本高么&#xff1f; 对…

【Linux】进程间通信 -- 信号量

概念引入为什么要信号量&#xff1f;信号量操作接口1.申请信号量semget2.控制信号量semctl3.处理信号量semop IPC资源的组织方式 概念引入 信号量是什么&#xff1f; 本质是一个计数器&#xff0c;通常用来表示公共资源中&#xff0c;资源数量多少的问题 公共资源&#xff1a…

BUUCTF-JustEscape

目录 信息搜集 bypass 黑名单机制 绕过沙盒执行系统命令 总结 这是一道 Node.js 沙盒逃逸的题目&#xff0c;在此记录一些技巧。 信息搜集 进入题目环境&#xff1a; 直接给出了一个可执行任意代码的入口 /run.php?code<code>&#xff0c;直接复制第二个 demo 的路…

常见安装工具以及命令(工作常用)

dockermongodbnginxredis 1.docker 启动2.docker 安装 MongoDB3.启动nginx4.redis配置&#xff0b;安装4.1 Redis的启动和停止4.2 后台启动方式 1.docker 启动 安装docker # 1.安装gcc和g yum -y install gcc yum -y install gcc-c # 2. 安装需要的软件包 yum install -y yum…

DNS详细解析

文章目录 DNS是什么以及作用下载DNS服务named.conf DNS查询DNS缓存机制解析过程递归查询和迭代查询 DNS服务器的类型DNS域名DNS服务器的类型搭建dns服务器缓存域名服务器主域名服务器从域名服务器排错反向解析 CDN介绍 DNS转发介绍配置 DNS劫持 DNS 是什么以及作用 DNS&#…

WEB:Web_php_include(多解)

背景知识 文件包含 file://协议 php://协议 data://协议 了解strstr函数 题目 <?php show_source(__FILE__); echo $_GET[hello]; /*可以构造payload*/ $page$_GET[page]; while (strstr($page, "php://")) { /*strstr()函数*/$pagestr_replace("php://&q…

JavaSwing+MySQL的购物系统项目

点击以下链接获取源码&#xff1a; https://download.csdn.net/download/qq_64505944/88052733?spm1001.2014.3001.5503 JDK1.8 MySQL5.7 功能&#xff1a;管理员与用户两个角色&#xff0c;管理员可以对商品进行增删改查处理&#xff0c;用户可以浏览查找商品&#xff0c;注…

CROSSROADS1靶机复盘

CROSSROADS1靶机复盘 这个靶机学会了三个工具enum4linux&#xff0c;smbclient&#xff0c;stegoveritas。枚举服务器可能开启的一些资源&#xff0c;smb扫描工具&#xff0c;还有一个隐写术的工具。 靶场下载地址&#xff1a;https://download.vulnhub.com/crossroads/cross…

4.5.tensorRT基础(1)-onnx文件及其结构的学习,编辑修改onnx

目录 前言1. onnx1.1 导出onnx1.2 读取onnx1.3 创建onnx1.4 编辑onnx1.5 onnx总结1.6 本节知识点 2. 补充知识2.1 Protobuf2.1.1 Protobuf简介2.1.2 基本使用流程 总结 前言 杜老师推出的 tensorRT从零起步高性能部署 课程&#xff0c;之前有看过一遍&#xff0c;但是没有做笔记…

【Nacos】适配PostgreSQL数据库

目录 本文环境介绍修改application.properties下载PostgreSQL扩展插件初始化PostgreSQL启动测试 本文环境介绍 组件依赖版本Nacos2.2.3OpenJDK17.0.2PostgreSQL Server15 修改application.properties ### Deprecated configuration property, it is recommended to use spri…

手搓一台简单的网络损伤仪——弱网测试

1、介绍 支持对链路带宽、传输时延、丢包率和无码率的手动设置&#xff1b; 1.1、网络损伤仪在使用时&#xff0c;网络拓扑连接 1.2、网络损伤仪管理页面展示 2、使用的设备及相关技术栈 一台Intel 赛扬 J1900的迷你主机【拥有4个千兆网口】&#xff1b;ubuntu-18.04.5-live…

(数组与矩阵) 剑指 Offer 04. 二维数组中的查找 ——【Leetcode每日一题】

❓ 剑指 Offer 04. 二维数组中的查找 难度&#xff1a;中等 在一个 n * m 的二维数组中&#xff0c;每一行都按照从左到右 非递减 的顺序排序&#xff0c;每一列都按照从上到下 非递减 的顺序排序。请完成一个高效的函数&#xff0c;输入这样的一个二维数组和一个整数&#x…

使用Stable Diffusion和PyTorch创建艺术二维码

大家好&#xff0c;本文将介绍如何利用Stable Diffusion和PyTorch的能力来创建AI生成的QR码艺术。通过将这些技术相结合&#xff0c;可以生成独特的、具有视觉吸引力的艺术作品&#xff0c;其中包含QR码&#xff0c;为艺术作品增添了互动元素。 Stable Diffusion和PyTorch 稳…

赢得CSDN铁粉的秘诀!(记录写作三个月的点点滴滴)

在CSDN上写博客已经三个多月了&#xff0c;从开始的陌生到渐渐熟悉CSDN网站的每个角落&#xff0c;猛然发现还有这么一个活动&#xff0c;想了想还是写一篇博客吧&#xff0c;不仅是参加活动&#xff0c;也是记录这一路慢慢探索的过程。 1.CSDN铁粉介绍及说明 CSDN 是为中国 I…

C++进阶:map和set

map和set STL容器分为序列式容器和关联式容器。 序列式容器vector、list等底层为线性数据结构&#xff0c;数据元素之间没有联系&#xff0c;一般用来存储数据。关联式容器map、set等底层采用平衡搜索树&#xff0c;存储的是<key/value>式的键值对&#xff0c;数据检索效…

NOSQL简单实战

目录 实战一&#xff1a; 1、 string类型数据的命令操作&#xff1a; &#xff08;1&#xff09; 设置键值&#xff1a; &#xff08;2&#xff09; 读取键值&#xff1a; &#xff08;3&#xff09; 数值类型自增1&#xff1a; &#xff08;4&#xff09; 数值类型自减1&…

基于html2canvas和jspdf将document DOM节点转换为图片生成PDF文件,并下载到本地

这里要用到html2canvas将document DOM节点转换为图片&#xff0c;并下载到本地_你挚爱的强哥的博客-CSDN博客前端用原生js编辑文件内容→创建生成文件(格式可以自定义)→下载文件_你挚爱的强哥的博客-CSDN博客。会自动创建一个html文件。https://blog.csdn.net/qq_37860634/art…

业务中添加历史版本事务并发处理

业务背景&#xff1a;项目中包含历史版本的管理&#xff0c;每次保存历史版本都添加一条新的记录到数据库&#xff0c;且版本号加1。保存版本的时候1.要先查询历史版本数据表&#xff0c;获取当前最新的版本号&#xff1b;2.最新的版本号加1&#xff0c;插入数据历史版本记录表…

dp算法 力扣174地下城游戏

在学习编程时&#xff0c;算法是一道硬菜&#xff0c;而dp作为算法的一份子&#xff0c;它的地位在编程界举足轻重。 174. 地下城游戏 - 力扣&#xff08;LeetCode&#xff09; 本文是Java代码哦~ 一、题目详情 恶魔们抓住了公主并将她关在了地下城 dungeon 的 右下角 。地…

Vue列表渲染(v-for)以及key的作用与原理

索引值的两种写法&#xff1a; <!--index遍历时的默认索引值--> <ul><li v-for"(p,index) in persons":key"index">{{p.name}}--{{p.age}}</li></ul> 代码&#xff1a; v-for"p in persons" :key"p.id&quo…