读取bom封装函数

SAP ABAP BOM按层展开:从CS_BOM_EXPL_MAT_V2到CL_BOM_EXPLODER的实战解析 物料清单(BOM)是制造业ERP系统中定义产品结构的核心主数据,其按层级展开是成本滚算、物料需求计划(MRP)和供应链追溯等关键业务的基础。其原理在于通过递归或迭代算法,解析物料与组件之间的父子关系,形成从顶层成品到底层原材料的完整树形结构。这一技术的核心价值在于实现物料成本的精准卷积、供应短缺的影响分析以及生产流程的可视化。在SAP ABAP开发领域,实现高效、准确的BOM展开是常见需求。针对此需求,本文深入对比了两种主流方案:经典的函数模块 **CS_BOM_EXPL_MAT_V2** 和面向对象的服务 阅读详情

如果程序中多次要求调用BOM函数时,可用此方式解决之:

*定义:

data: begin of i_bom occurs 0.    "存储bom的内表

        include structure stpox.

data:  end of i_bom.


*调用方法:

PERFORM READBOM using hd_itab-Matnr hd_itab-Werks '01' _TmpPlanQty.


*函数定义:

FORM READBOM USING T_Matnr T_Werks T_STLAL T_EMENG.  "物料编码、工厂、BOM版本、需求数量

    data: _TmpQty like STKO-BMENG.

   CLEAR i_bom.
   CLEAR i_bom[].
   _tmpQty = T_EMENG.
    CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
      EXPORTING
        capid                 = 'PP01'
        ALEKZ                 = 'X'
        EMENG                 = _TmpQty    "指定需求数
        datuv                 = sy-datum
        mtnrv                 = T_Matnr           "itab-matnr        "产品物料信息
        mehrs                 = 'X'            "完全展开
        stlan                 = '1'
*        stlal                 = ' '             "可选BOM信息,如果可选BOM为空,那么系统指定为最小值
        stlal                 = T_STLAL        "itab-STLAL  可选的BOM
        werks                 = T_Werks        " '1000'         "工厂信息
      TABLES
        stb                   = i_bom          "最终输出的物料信息
*        matcat                = i_mat          "物料索引信息
      EXCEPTIONS
        alt_not_found         = 1
        call_invalid          = 2
        material_not_found    = 3
        missing_authorization = 4
        no_bom_found          = 5
        no_plant_data         = 6
        no_suitable_bom_found = 7
        conversion_error      = 8
        OTHERS                = 9.
   if _tmpQty <= 0.
     loop at i_bom.
        i_bom-MNGKO = 0.
        modify i_bom.
     endloop.
   endif.
ENDFORM.
SAP ABAP 开发 BOM 立即下载

相关推荐

从零开始:在Unity中使用Dynamic Bone实现角色骨骼自然抖动(以女性角色胸部为例)

本文详细介绍了在Unity中使用Dynamic Bone插件实现角色骨骼自然抖动的完整流程,特别以女性角色胸部为例。从插件导入、骨骼系统基础到Dynamic Bone组件配置和参数调优,提供了全面的技术指导。文章还包含性能优化技巧和常见问题解决方案,帮助开发者快速掌握这一物理效果实现方法。

weixin_28728495的博客 457

ABAP读取销售订单选配BOM函数-CS_BOM_EXPL_KND_V1

ABAP读取销售订单选配BOM函数-CS_BOM_EXPL_KND_V1

ChampaignWolf的专栏 949

新版股票配资系统源码/股票分析系统技术方案

新版股票配资系统;全套源码支持新股申购功能,包含C#+MySQL开发的后台系统及Spring框架,采用C/S架构。注意:本源码仅限技术学习、功能测试及模拟交易使用,严禁用于非法用途,违者责任自负。

q318136906的博客 1644

读取BOM的函数封装

<!-- span {font-family:"Courier New"; font-size:10pt; color:#000000; background:#FFFFFF} .L0S31 {font-style:italic; color:#808080} .L0S32 {color:#3399FF} .L0S33 {color:#4DA619} .L

全欣 的专栏 2488

ABAP内表数据导出Excel:OLE、ALV与GUI_DOWNLOAD方案全解析

在企业级应用开发中,数据导出是连接后台系统与前端业务分析的关键桥梁。其核心原理是将结构化数据转换为通用文件格式,以实现跨平台的数据交换与可视化。从技术价值看,一个健壮的导出功能能显著提升数据处理效率,减少人工干预,是衡量系统实用性的重要指标。常见的应用场景包括报表生成、数据交接和临时数据提取。本文聚焦于SAP ABAP开发领域,深入探讨如何将内表数据高效、稳定地导出至Excel,涵盖了OLE自动化、ALV标准导出以及基于CL_GUI_FRONTEND_SERVICES与GUI_DOWNLOAD的通用方案,并

weixin_32715349的博客 324

SAP ABAP之BOM物料递归查询方法汇总以及树状TREE ALV展示BOM物料层级

注意:gt_stpo_alv这个表必须是空的,否则显示的数据会出错,至于表结构跟随STPOX表即可。2、利用递归的方法,对第一层的子组件逐一遍历,类似的再去查询MAST表和STPO表,获取。请注意,此处必须释放容器,不然TREE ALV只会渲染一次,下一次调用还是上一次的数据。1、从MAST表获取BOM的物料清单,根据物料清单去查询STPO表从而获取。导读:最近和BOM物料干上了,记录一下我的开发过程和学到的东西。已经尽可能的简化步骤了,网上的资料都是步骤很繁琐的。的物料组件,(订单数量在STKO表),

yishangbing的博客 1万+

unity pc运行包导入glb

本文介绍了在Unity中实现GLB/GLTF模型动态导入的方法。主要使用glTFast插件进行模型导入,配合StandaloneFileBrowser实现文件选择功能。文章提供了详细的插件安装方式(包括国内镜像源),并给出了核心导入脚本代码。脚本实现了模型加载、父对象设置、材质修复等功能,解决了常见的材质显示异常问题。该方法支持编辑器和PC平台,兼容不同版本的glTFastAPI,通过简易UI操作即可完成模型导入,适合需要运行时加载3D模型的Unity项目开发。

懒懒的蓝的博客 544

BOM的读取和反查

SAP中查询BOM信息

哈士奇呀的博客 6680

HybridCLR热更新全流程实操:用Addressables实现资源+代码双热更(Unity 2021版)

本文详细介绍了在Unity 2021 LTS版本中,如何结合HybridCLR代码热更新与Addressables资源管理系统,实现资源与代码的双热更解决方案。通过环境配置、技术架构设计、实战案例和性能优化,帮助开发者解决中大型项目中的依赖管理和版本协同问题,提升游戏迭代效率。

cc789的博客 848

unity6000.0.3版本URP下ScriptableRendererFeature如何实现一张自定义贴图效果?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 585

【JavaScript学习总结】【6】、JS BOM

所谓的 BOM 即浏览器对象模型(Browser Object Model)。BOM 赋予了 JS 操作浏览器的能力,即 window 操作。DOM 则用于创建删除节点,操作 HTML 文档。BOM 尚无正式的标准,导致各浏览器对于 BOM 方法的支持各有不同,因此需要具体问题具体对待。

lily19970107的博客 166

进阶01:Labview与OPC UA设备通信

LabVIEW通过OPC UA实现高效设备通信方案 本文介绍了使用LabVIEW与OPC UA设备通信的完整实施方案。OPC UA协议具有跨平台兼容、高安全性和高效数据交换等优势。实施步骤包括:1)安装NI OPC UA工具包;2)搭建模拟测试环境,使用OPC UA Simulation Server创建测试变量;3)编写LabVIEW程序,实现连接服务器、事件订阅、数据读写等功能。重点展示了通过用户事件实现设备主动触发的机制,当模拟变量值改变时自动触发LabVIEW事件处理。该方案验证了OPC UA在工业

weixin_38637405的博客 1402

R语言读取CSV中文乱码自救手册(仅限内部流传):3个鲜为人知的编码调试技巧

解决R语言读取CSV文件中文乱码难题,提供3种实用编码调试技巧,适用于Windows系统及不同文本来源。涵盖fileEncoding参数设置、BOM处理与locale配置,精准识别UTF-8与GBK编码,有效避免乱码问题。方法简单可靠,值得收藏。

FuncLens的博客 352

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

python打开本地文件,提示:编码错误

Python读取本地文件时出现编码错误(如UnicodeDecodeError)的主要原因是文件实际编码与读取指定的编码不匹配。解决方案包括:1)临时方案-使用errors参数忽略错误字符;2)根本方案-通过Notepad++或chardet库检测文件编码后精准指定;3)通用方法-封装自动检测编码的读取函数。处理中文文件时优先尝试gbk、utf-8-sig和gb18030编码。建议避免长期使用容错方案,应准确识别文件编码后再读取。

Datafox(数据狐199-7010-8018) 426

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

PHP json_decode返回NULL的全面排查与解决方案

JSON作为现代Web开发中数据交换的核心格式,其解析的可靠性直接影响应用稳定性。json_decode函数的工作原理是将符合RFC 7159规范的JSON字符串转换为PHP数据结构,但实际开发中常因数据源问题导致解析失败。从技术价值看,正确处理JSON解析错误能提升系统健壮性,避免因数据格式问题引发的连锁故障。在API接口调用、配置文件读取、数据库JSON字段处理等典型应用场景中,开发者常遇到编码异常、格式错误等导致返回NULL的问题。特别是处理包含embedded null character的字符串或

weixin_30394669的博客 348

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

BOM与DOM

DOM 与 BOM 详解

weixin_47432345的博客 5928

java bom 文件读取_Java读取流数据遇到BOM首字符时的处理

项目中通过 InputStream 读取文本文件数据时经常会遇到读入的字符流中含有特殊首字符的情况。这个标识在 Java 读取文件的时候,不会被去掉,而且 String.trim() 也无法删除,导致读入的数据比预期的长度大1,此时的特殊首字符有可能就是系统保存文本文件时添加的 BOM 标识。BOM 字符是什么?BOM 即 Byte Order Mark,是 Unicode 规范中推荐的标记字节顺...

weixin_36184307的博客 472

JavaScript BOM

BOM(Browser Object Model):浏览器对象模型。 将浏览器的各个组成部分封装成不同的对象,方便我们进行操作。 封装:将复杂的操作进行封装隐藏,对外提供更加简单的操作。

itzhuzhu的博客 2041

C#·对于BOM头之完全解决方案

阅文时长 | 0.46分钟 字数统计 | 798.4字符 主要内容 | 1、引言&背景 2、使用c#教程C#写入带有/不带有BOM头的文件? 3、对于读取文件时,避免BOM头造成的异常。 4、声明与参考资料 『C#·对于BOM头之完全解决方案』 编写人 | SCscHero 编写时间 | 2021/3/13 PM10:38 文章类型 | 系列 完成度 | 待完善 座右铭 每一个伟大的事业,都有一个微不足道的开始。 一、引言&背景 完成度:100% a) 应对问题 如何使用C#写入带有/不

chinaherolts2008的博客 666

JavaScript BOM 奥义 JavaScript封装

BOM(Browser Object Model):浏览器对象模型。 将浏览器的各个组成部分封装成不同的对象,对这些对象进行操作。 将页面分成五个区域的对象 Windows窗口对象 Location地址栏对象 - Navigator:浏览器对象 - History:当前窗口历史记录对象 - Screen:显示器屏幕对象 Windows窗口对象 定时器功能 唯一标识 setTimeout(功能,毫秒值):设置一次性定时器。 clearTimeout(标识):取消一次性定时器。 唯一标识 setInter

酆都城博客 257

FastCSV BOM 编码处理实战:兼容 UTF-8/16/32 带 BOM 头的 CSV 文件

FastCSV 是一个快速、轻量且完全符合 RFC 4180 规范的 Java CSV 库,零依赖、体积仅约 90 KiB,被 Apache NiFi、JUnit 和 Neo4j 等知名项目信赖。在日常开发中,**FastCSV BOM 编码处理**是很多新手最容易踩坑的环节:从 Excel 或 Windows 工具导出的 CSV 文件往往带有 BOM 头,直接读取时第一列会出现 `` 之类

gitblog_00340的博客 604

BOM

17-BOM-BOM的介绍 BOM(Browser Object Model):浏览器对象模型。 将浏览器的各个组成部分封装成不同的对象,方便我们进行操作。 18-BOM-Window窗口对象 定时器 唯一标识 setTimeout(功能,毫秒值):设置一次性定时器。 clearTimeout(标识):取消一次性定时器。 唯一标识 setInterval(功能,毫秒值):设置循环定时器。 clearInterval(标识):取消循环定时器。 加载事件 window.onload:在页面加载完毕

Major_S的博客 258

JavaScript关于BOM

BOM (Browser Object Model) 浏览器对象模型 简单说一下JavaScript的三大组成部分: ECMAScript (核心) : JS的语法和基本对象。 文档对象模型 (DOM) : 处理网页内容的方法和接口 浏览器对象模型(BOM) : 与浏览器交互的方法和接口 关于DOM部分可以参考之前的一篇文章 :JavaScript DOM基础 今天主要讲的是BOM...

weixin_44593658的博客 340
上一篇: 好用的 ABAP 函数
下一篇: SAP alv自刷新代码 极占内存
Jason_Heming
博客等级 码龄12年 0粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值