想要汇出Agile的Part与BOM,首先就要了解资料表有哪些,以及如何验证
但涉及资料问题,我把验证交给查看在座的各位
注意也可以用Agile报表来汇出,只是会执行很久
事不宜迟,来看重点Part如何用SQL汇出
料号 | 品名规格 | 类别 | 料号版本 | 发行日期 | 是否最新版 | 单位 | 文件说明 | 生命周期 |
---|
完全版
select
item.item_number item_number, --料号
(replace(replace(replace(rev.description,'<','<'),'>','>'),'&','&') || ' ' || (select agile_flex.text from agile_flex
where agile_flex.row_id=item.id and agile_flex.attid=2017)) name, --品名规格
nb.description classification, --类别
NVL(rev.rev_number,'00') cn_revision, --料号版本
(TO_CHAR (rev.release_date,'YYYY-MM-DD') || 'T' || TO_CHAR (rev.release_date,'HH24:MI:SS')) release_date, --Released Date
rev.effective_date effective_date,
rev.LATEST_FLAG is_current, --是否最新版
NVL(list02.entryvalue,'NULL') unit, --单位
(select agile_flex.text from agile_flex
where agile_flex.row_id=item.id and agile_flex.attid=1080) cn_part_note, --文件说明
replace(getpartrevtype(rev.release_type),'Part. No Released','Temp. Approved') cn_lifecycle --生命周期
from item
inner join nodetable nb on nb.id = item.subclass
inner join rev rev on rev.item = item.id
inner join item_p2 p2 on p2.item_number = item.item_number
left join listentry list02 on list02.entryid = p2.list02
where item.class = 10000
and rev.LATEST_FLAG=1
and nb.description not in('K01_纸类包装材Paper Package')
第一部分 from 集合
第二部分 select栏位
栏位 | 解释 |
---|---|
name 品名规格 | 这里用到两个内部栏位相加,一个是rev.description用最新版内容+备注栏位,备注栏位是用另一个aglie_flex表纪录并对应属性ID,建议要将特殊记号<>;转换成Aras可写入的语法 |
cn_revision 料号版本 | 建议用NVL定义预设值 |
release_date 发行日期 | 日期格式化YYYY-MM-DDTHH:mm:ss |
unit 单位 | 使用到下拉选单,故先用list02.entryvalue清单值 |
cn_lifecycle 生命周期名称 | 这个系统使用生命周期的ID做纪录,故ID要先对应出名称,这里由於我找不到生命周期的设定表,直接写一个翻译函式 getpartrevtype(ID)将ID翻译成英文名称(注意ID不会与我相同),再来用replace把Part No.Released 改成 Temp.Approved,getpartrevtype请参考最下方处 |
这里说明用SQL汇出料号,里面的属性ID需要自行到Agile管理员介面中查阅,这个范例可以从简单的item表开始测试喔!
create or replace FUNCTION GETPartREVTYPE
(
RELEASED_TYPE IN VARCHAR2
) RETURN VARCHAR2
IS
state_type varchar2(32767) :='';
BEGIN
if RELEASED_TYPE = '22507' then
state_type:= 'Released';
ELSIF RELEASED_TYPE = '25096' then
state_type:= 'Obsolete';
Elsif released_type = '23196' then
state_type:= 'Temp. Approved';
Elsif released_type = '21954' then
state_type:= 'Part. No Released';
Elsif released_type = '37409' then
state_type:= 'BOM Released';
Elsif released_type = '37410' then
state_type:= 'MP';
ELsif released_type = '21956' then
state_type:= 'Approved';
ELSE
state_type:='Preliminary';
end if;
RETURN state_type;
END GETPartREVTYPE;
当网站建立一段时间,或多或少可能会有页面因为时间推移改变或是删除了,但此时页面已经被搜寻引擎收录或是...
敲响自觉的响钟 一直追着不属於自己的目标,很累却也很容易迷失 背负着期待的IT团队,很快地就开始动工...
此篇由於篇幅的关系为前文的连贯。 如没有看到前文请先去看看再来唷~ 前情提要-我们前面为了方便解释,...
再来是办公室表单的处理, 假设有些表单只有图像或是只有纸本, 想要汇入成Excel档案时, 我们就可...
待办事项结构 to do list 需要输入框与输入按钮。 送出输入按钮後产生待办事项与完成按钮。 ...