BOM表字段说明:

id:bom表主键,每次变更单对BOM有任务修改都会追加记录,而不是直接修改原纪录

item:父物料id,关联item表

component:子物料id,关联item表

item_number:子物料编码

flag:bom子项状态(目前仅第4,第5位数有效)。第4位:0代表无效,1代表有效。第5位:0代表已过时,1代表最新。

prior_bom:如果不为空,代表该行数据变更了另一行数据,值为另一行BOM表ID

Change_in:子物料被加入的变更单ID。如果为0代表是走变更之前(初始状态)就添加到BOM中的。

Change_out:子物料被删除的变更单ID。当这个字段值>0时代表当前这个子行已经被这个变更单作废了。

quantity:子料用量,文本字段。可支持分数,例如:1/6

BOM注释:通过id和agile_flex表的row_id字段关联查询,还有attid=1036 and class="10000"

find_number:查找编号,目前没用起来

场景说明:

  1. 变更单C0095696,状态为:新建,受影响物件为90.01.002271

    1. 在父料中新增1行子料03.10.000488,则BOM表会新增1行记录,flag=00000,change_in=该变更单ID,change_out=空,prior_bom=空
    2. 在父料中删除1行子料06.06.034701,则BOM表会新增1行记录,flag=00000,change_in=该变更单ID,change_out=该变更单ID,prior_bom=被删除的数据ID
    3. 在父料中将1行子料03.15.030311修改为03.15.010001R,则BOM表会新增1行记录,flag=00000,change_in=该变更单ID,change_out=空,prior_bom=被删除的数据ID
    4. 在父料中将1行子料02.80.603667的用量从6改成5,则BOM表会新增1行记录,flag=00000,change_in=该变更单ID,change_out=空,prior_bom=被修改的数据ID
  2. 变更单C0095696,状态变为:审核,受影响物件为90.01.002271
    1. 以上数据均无任何变化
  3. 变更单C0095696,状态变为:发放,受影响物件为90.01.002271
    1. 在父料中新增1行子料03.10.000488,则BOM表会新增1行记录,flag变为00011,change_in为该变更单ID,change_out为空,prior_bom为空
    2. 在父料中删除1行子料06.06.034701,则BOM表会新增1行记录,flag依然为00000,change_in为该变更单ID,change_out为该变更单ID,prior_bom指向被删除的数据ID;被删除的数据flag从00011变为00010,change_out变为当前变更单ID
    3. 在父料中将1行子料03.15.030311修改为03.15.010001R,则BOM表会新增1行记录,flag变为00011,change_in为该变更单ID,change_out为空,prior_bom指向被删除的数据ID;被删除的数据flag从00011变为00010,change_out变为当前变更单ID
    4. 在父料中将1行子料02.80.603667的用量从6改成5,则BOM表会新增1行记录,flag变为00011,change_in为该变更单ID,change_out为空,prior_bom指向被修改的数据ID;被删除的数据flag从00011变为00010,change_out变为当前变更单ID

根据变更单或者受影响物件编号查询BOM变更内容的SQL

with e as (2     select c.change_number3     ,i.item_number as parent_item_number,i.description as parent_item_name4     ,case when (change_out > 0 and prior_bom > 0) then 2 else 1 end as op_type5     ,ci.description as item_name6     ,b.item_number,b.id,b.prior_bom,b.quantity as qty,b.FLAGS,b.created,b.last_upd,b.change_in,b.change_out7     ,f.text as remark8     ,decode(b.prior_bom,0,b.id,b.prior_bom) as order_id9     from AGILE.Change C
10     INNER JOIN AGILE.REV R ON R.CHANGE = C.ID
11     INNER JOIN AGILE.bom b on r.item = b.item and b.change_in = c.id
12     inner join AGILE.item i on r.item = i.id
13     inner join AGILE.item ci on b.component = ci.id
14     left join agile.agile_flex f on b.id = f.row_id and f.class = 10000 and f.attid = 1036
15     LEFT JOIN AGILE.LISTENTRY LDELAY ON R.LIST01 = LDELAY.ENTRYID AND LDELAY.LANGID = 4
16     where 1=1
17     ${if(trim(changeNumber) == '',""," and c.change_number = '"+changeNumber+"'")}
18     ${if(trim(pitemNumber) == '',""," and i.item_number = '"+pitemNumber+"'")}
19 )
20 select * from (
21     -- 操作BOM
22     select e.* from e
23     union all
24     -- 被操作的BOM
25     select e.change_number
26     ,e.parent_item_number,e.parent_item_name
27     ,2 as op_type
28     ,ci.description as item_name
29     ,b.item_number,b.id,b.prior_bom,b.quantity as qty,b.FLAGS,b.created,b.last_upd,b.change_in,b.change_out
30     ,f.text as remark
31     ,decode(b.prior_bom,0,b.id,b.prior_bom) as order_id
32     from agile.bom b
33     inner join e on b.id = e.prior_bom
34     inner join AGILE.item ci on b.component = ci.id
35     left join agile.agile_flex f on b.id = f.row_id and f.class = 10000 and f.attid = 1036
36     where e.change_in != e.change_out
37 ) t order by t.parent_item_number,t.change_number,t.order_id

将上述SQL,放到FineReport报表工具中,开发成报表的最终呈现结果如下图(重要信息已做马赛克处理):

PLM Agile BOM表结构笔记相关推荐

  1. MySQL笔记创建表结构_MySQL表结构笔记9

    本篇大纲 MySQL数据表 创建表 创建主键 AUTO_INCREATE 指定默认值 更新表结构 删除表,重命名表 01:表 MySQL 数据库的表是一个二维表,由一个或多个数据列构成 每个数据列都有 ...

  2. 个人永久性免费-Excel催化剂功能第68波-父子结构表转换之父子关系BOM表拆分篇...

    Excel中制造业行业中,有一个非常刚需的需求是对BOM(成品物料清单)的拆解,一般系统导出的BOM表,是经过压缩处理的,由父子表结构的方式存储数据. 对某些有能力使用SAP等专业ERP软件的工厂来说 ...

  3. Oracle EBS 11i BOM模块常用表结构

    BOM模块常用表结构   表名: bom.bom_bill_of_materials   说明: BOM清单父项目   BILL_SEQUENCE_ID NUMBER 清单序号(关键字) ASSEMB ...

  4. 图纸版本混乱?BOM表管理困难?看SolidWorks PLM如何高效助力产品数据管理

    "随着集团的日益壮大,我们越来越重视信息化系统的建设工作,但在研发生产的过程中我们经常会遇到图纸版本混乱.数据查找不便的问题:特别是在产品设计好后,还需要花费很多时间手动整理BOM表,整理期 ...

  5. oracle planning bom,OracleERP表结构--BOM模块

    BOM模块常用表结构 表名: bom.bom_bill_of_materials 说明: BOM清单父项目 BILL_SEQUENCE_ID NUMBER 清单序号(关键字) ASSEMBLY_ITE ...

  6. Oracle EBS BOM模块常用表结构

    表名: bom.bom_bill_of_materials   说明: BOM清单父项目   BILL_SEQUENCE_ID NUMBER 清单序号(关键字) ASSEMBLY_ITEM_ID NU ...

  7. 分片表怎么建表_经验放送!后端开发实战笔记之如何设计大数据量表结构

    本文来自用户投稿,作者陈浩翔 上篇文章讲解了传统数据库的一些设计注意点.本篇为第二篇,在大数据量的情况下,如何去提前设计这个表结构,来达到一个比较好的效果.对于团队,对于后续的维护和扩展都带来更大的便 ...

  8. MySQL笔记创建表结构_mysql笔记

    mysql端口号:3306 mysql默认管理员:root 进入本机mysql的命令:mysql -u 用户名 -p密码,例如:mysql -u root -p123 远程访问mysql的指令:mys ...

  9. ObjectArx开发笔记(二)---命令注册、表结构

    目录 一.注册AutoCAD命令 二.CAD表结构 2.1 ObjectARX类 三.常见类库初识 3.1 AcRx库 3.2 AcEd库 3.3 AcDb库 3.4 AcGi库 3.5 AcGe库 ...

  10. bom树形结构 表设计_K/3管理视角:树形结构下的BOM管理方式!

    原标题:K/3管理视角:树形结构下的BOM管理方式! BOM(物料清单),也就是以数据格式来描述产品结构的文件,是ERP使用过程中的重要组成部分.通过BOM我们能够清晰的了解产品的结构以及所需要的物料 ...

最新文章

  1. 二、如何读入图片、显示图像?
  2. c++获取当前目录_如何在 Linux 下利用 Vim 搭建 C/C++ 开发环境?
  3. spring BeanPostProcessor,BeanFactoryPostProcessor作用
  4. Java黑皮书课后题第8章:*8.10(最大的行和列)编写一个程序,在一个4*4的矩阵中随机填入0和1,打印该矩阵,分别找到第一个具有最多1的行和列
  5. MySQL执行计划解析
  6. 【Python CheckiO 题解】First Word (simplified)
  7. 【解决问题】OpenCV(3.4.1) Error: Parsing error (xx.yaml(13): Incorrect indentation) in icvYMLParseValue
  8. 浅谈对px em rem的理解
  9. 【转】Python中的运算符
  10. 怎么将文件转换成linux文件,你如何在linux中创建一个将文件转换为大写...
  11. matlab中怎么查看变量,Matlab 查看内存中的变量,清空屏幕等命令
  12. arduino 停止程序_Arduino用ISD1820语音录放模块制作留言机
  13. ANSI, unicode, UTF-8编码详解
  14. Smartbi:用Excel制作移动端的九型人格测试
  15. element audio 标签 不显示_不闪屏,HDR,带鱼屏全都有,LG 29WK600宽屏显示器测评...
  16. 长春市计算机职业技术学校,长春职业技术学校
  17. DVD刻录缓慢的原因及方法
  18. 全网最详细的Linux下载安装教程,Windows11 Windows10安装Linux详细教程
  19. 【数据库】select、from、where、group by、having、order by、limit的组合用法
  20. 方舟原始恐惧mod生物代码_重磅!《命令与征服》和《红色警戒》源代码在GitHub公布了...

热门文章

  1. 微信小程序中使用wx.showToast()进行界面交互
  2. SRB x-sign
  3. android admob sdk,android – 无法显示AdMob横幅
  4. A股全市场股票历史行情Level2快照高频数据
  5. Java游戏项目之黄金矿工
  6. 宝德自强AI智能小站 PI300T
  7. Web服务http日志收集
  8. 苹果回应巴西政府禁止销售不附赠充电器的iPhone;小米造车新进展;国内首家以数据服务为核心的央企数据中台上线 | EA周报...
  9. 利用weevely生成php后门木马
  10. ssh 所选的用户密钥未在远程主机上注册