请教:SAP中的BOM是啥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教:SAP中的BOM是啥相关的知识,希望对你有一定的参考价值。

刚开始接触SAP的PS,在确认发货中经常出现BOM,这个词仅仅表示一个产品集合吗?

BOM的英文全称为Bill of Material,中文翻译为BOM. 也称为“物料清单”BOM是计算机可以识别的产品结构数据文件,也是ERP的主导文件。BOM使系统识别产品结构,也是联系与沟通企业各项业务的纽带。ERP系统中的BOM的种类主要包括5类:缩排式BOM、汇总的BOM、反查用BOM、成本BOM、计划BOM。 采用计算机辅助企业生产管理,首先要使计算机能够读出企业所制造的产品构成和所有要涉及的物料,为了便于计算机识别,必须把用图示表达的产品结构转化成某种数据格式,这种以数据格式来描述产品结构的文件就是物料清单,即是BOM。它是定义产品结构的技术文件,因此,它又称为产品结构表或产品结构树。在某些工业领域,可能称为“配方”、“要素表”或其它名称。 在MRPⅡ和ERP系统中,物料一词有着广泛的含义,它是所有产品,半成品,在制品,原材料,配套件,协作件,易耗品等等与生产有关的物料的统称。 在通常的MRPⅡ和ERP系统中BOM是指由双亲件及子件所组成的关系树。BOM可以是自顶向下分解的形式或是以自底向上跟踪的形式提供信息。 在MRPⅡ和ERP系统中中BOM是一种数据之间的组织关系,利用这些数据之间层次关系可以作为很多功能模块设计的基础,这些数据的某些表现形式是我们大家感到熟悉的汇总报表。 参考技术A 简单一点,你生产一种产品不需要一个所需物料的清单吗,BOM就是按照合适的方便的顺序和方法整理的这样一个单子 参考技术B BOM, BILL OF MATERIAL, 就是物料清单呀!

Ruby 中的 CSV.open 中的 rb:bom|utf-8 是啥意思?

【中文标题】Ruby 中的 CSV.open 中的 rb:bom|utf-8 是啥意思?【英文标题】:What does rb:bom|utf-8 mean in CSV.open in Ruby?Ruby 中的 CSV.open 中的 rb:bom|utf-8 是什么意思? 【发布时间】:2019-07-15 02:08:32 【问题描述】:

'rb:bom|utf-8' 是什么意思:

CSV.open(csv_name, 'rb:bom|utf-8', headers: true, return_headers: true) do |csv|

我可以理解:

    r 表示已读 bom 是一种文件格式,\xEF\xBB\xBF 在文件的开头 表示字节顺序。 utf-8 是一种文件格式

但是:

    我不知道它们是如何组合在一起的,为什么需要编写所有这些来读取 csv 我正在努力寻找相关文档 这。它似乎没有记录在https://ruby-doc.org/stdlib-2.6.1/libdoc/csv/rdoc/CSV.html

更新:

找到一个非常有用的文档: https://ruby-doc.org/core-2.6.3/IO.html#method-c-new-label-Open+Mode

【问题讨论】:

查看@matt 的回答here。 【参考方案1】:

(接受的答案不正确但不完整)

rb:bom|utf-8转换成人类可读的句子意思是:

以二进制模式 (b) 打开文件以读取 (r) 并查找 Unicode BOM 标记 (bom) 以检测编码,或者,如果未找到 BOM 标记,假设 UTF-8 编码 (utf-8)。

BOM 标记可用于检测文件是 UTF-8 还是 UTF-16,如果是 UTF-16,无论是小端还是大端 UTF-16。还有一个用于 UTF-32 的 BOM 标记,但 Ruby 目前还不支持 UTF-32。 BOM 标记只是 Unicode 标准中的一个特殊保留字节序列,仅用于检测文件的编码,它必须是该文件的第一个“字符”。推荐并通常用于 UTF-16,因为它有两种不同的变体,它对于 UTF-8 是可选的,通常如果文件是 Unicode 但没有 BOM 标记,则假定为 UTF-8。

【讨论】:

能否提供参考?我找不到任何解释上述内容的官方文档。我不确定在这种情况下阅读为binary 而不是text 是如何工作的 @rellampec 这一切都记录在 Ruby IO 文档页面上docs.ruby-lang.org/en/2.1.0/IO.html 寻找“打开模式”并继续阅读。【参考方案2】:

在 Ruby 中读取文本文件时,您需要指定编码,否则它将恢复为默认值,这可能是错误的。

如果您正在读取 BOM 编码的 CSV 文件,那么您需要这样做。

纯 UTF-8 编码无法处理 BOM 标头,因此您需要阅读它并跳过该部分,然后再将数据视为 UTF-8。这种表示法就是 Ruby 表达该要求的方式。

【讨论】:

值得一提的是,r:bom 之间的b 表示binary

以上是关于请教:SAP中的BOM是啥的主要内容,如果未能解决你的问题,请参考以下文章

sap t-code:ca03中的bom 的工艺路线可以用啥函数或者bapi得到数据

sap 如何查BOM

arcmap 是啥中了?做啥用的?

SAP中怎么删除BOM组件中的其中一个组件,点删除显示已被分配给任务清单删除不了怎么办?

Ruby 中的 CSV.open 中的 rb:bom|utf-8 是啥意思?

SAP-PS笔记通过BOM挂接项目下物料组件