Lot Track In 代码逻辑相关内容讲解
树图思维导图提供 Lot Track In 代码逻辑 在线思维导图免费制作,点击“编辑”按钮,可对 Lot Track In 代码逻辑 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:e30c4a1ae784f2017b25722a66898e98
Lot Track In 代码逻辑思维导图模板大纲
如果入参 LOT_ID 存在(改为校验最好)
更新 inDate 中的 OPER,PROBE_CARD_ID 参数
如果入参 OPER 存在(改为校验最好)
更新 inDate 中的 EQUIP_GRP_ID 参数
查找探针卡对应的数据
如果 Lot 在 Batch 站点 或 已经在 Batch 中,并且站点为BR站点,需要进行特殊校验
判断入参 BATCH_ID 是否为空
为空
检查 Reticle 是否需要警告
CheckReticleInfomation
当前 Step Type 不为空 且 != NR 无需校验
对 Reticle 情况进行校验
需细化...
检查 BondJob 同时 选择的设备已被绑定,那么直接抛出异常
checkBondJob
true
FINISH_GOOD_ID 查不到 FINISH_GOOD
FINISH_GOOD_TYPE != MONITOR
false
WIPMBLOTMAST(BondJob-Lot关系表)中查不到 绑定信息
WIPMBTCHDFNT 表 判断 Lot 是否是批量
批量
更新 inDate 参数
内部调用 WipmStartBatch
非批量
判断 Sub Lot 是否批量 且 Batch Type 为(BC, CR, BR)
是
更新 inDate 参数
内部调用 WipmStartBatch
不是
内部调用 WipmCustTrackInLot
FAB=MASK 做一些额外处理
需细化...
不为空
内部调用 WipmStartBatch
Step Type = WT 进行逻辑处理
更新探针卡相关信息
需细化...
Step Type = NR 进行逻辑处理
更新 PRPTDATAMAST 表 RETICLE 信息
需细化...
针对 Transfer Lot 进行卡控
WIPMLOTTTSFR 表中不存在 无需卡控
卡控规则
route != TRANSFER_FLOW && (route != UNSCHEDULED_SORTER_PLAN || operation != UNSCHEDULED_SORTER_STEP)
route = TRANSFER_FLOW && operation != TRANSFER_OPER_JPTRQPKGMCS001 && (!isSorter || operation!= TRANSFER_OPER_JSTRHUSORTS001,TRANSFER_OPER_JSTRHUSORTS002)
检查in use的Dummy lot是否可track in
Step TRANSIT_YN = Y 并且 Step Type = TR
内部调用 WipmViewProduct
这部分代码看不到
内部调用 WipmReceiveLot
需细化...
重新给 inDate 赋值
内部调用 WipmStartLot
doServiceBefore
检查用户权限
需细化...
Min Qtime 超时校验
需细化...
Track In时,Qtime结束时将Qtime数据Copy到备用表中
针对测量工序进行校验
通过当前工序是否绑定EDC_PLAN判断工序是否为量测工序,测量工序进行额外处理
需细化...
检查当前设备的状态 是否能支持 当前的 Lot Type
trackINCheckEquipStatusWithLotType
Down 状态设备 抛出异常
检查 WIPMNPWLMAST 表 NPW_RULE_ID 不为空
不为空
设备状态为 Down 抛出异常
如果 WIPMNPWRDFNT 表内 NPW_TYPE=D 且 NPW_RULE_TYPE=F 且设备状态不在 FAC/CIM/OFF 中 不抛异常
为空
设备状态为 Down 抛出异常
检查 当前设备状态是否能支持 当前的 Lot Type 进行 Lot Track In 操作
多个 Lot 检查有没有 Lot 被 Hold 了
mulitFoupCheckLotHoldStatusByEquipFlag
查看设备是否需要进行多个Lot检测
不要
结束检查
要
需要检查 并且 Lot 确实处在 Hold 状态直接抛出异常
逻辑能理通 但是不是很理解这个判断是什么意思
checkLayerEquip
ETCMPTROLYLT 表中找出 Seq <=当前 Step Seq 中 最大 Seq 对应的设备 如果这个设备 不是当前设备抛出异常 找不到这个设备不抛出异常
插入Layer Equip
insertLayerEquip
EtcmUpdateProductLayerSetup
需细化...
检查 如果 Plan 是 Rework Plan 那么 Lot 的 RWK_YN 标识 必须为 Y
仅针对非 Batch Lot 进行 Port Carrier Type 检查
如果 inData 中没有 CARRIER_ID 插入 CARRIER_ID
检查 设备端口 与 Carrier 的 Carrier Type 是否一致 不一致抛出异常
校验Lot中是否存在与LOT PTRO信息不同的WAFER
排查 Lot 与 Sub Lot 之间是否有 FINISH_GOOD_ID 、FINISH_GOOD_VER、 PRODUCT_ID、PRODUCT_VER、 ROUTE、ROUTE_VER、ROUTE_SEQ_NUM OPER 不同的情况 不同直接抛异常
供Ocap lot量测站reserve调用 卡控
OCAP No 为空 或 Proc Event 状态为关闭 无需检查
判断OCAP中预期使用的加工设备和reserve的设备是否匹配 不匹配抛出异常
判断 工序类型 为 ProcessLastStep 抛出异常
Lot 是否绑定了 START 或 CREATE 状态对应的 Sorter Job 是的话需要进行处理
如果有Sorter job,必须用Sorter job做Track in,并且必须在Sorter工序
只理解了逻辑 不太清楚具体含义
设备 EQUIP_GRP_5 = SORTER 设备类型=VIRTUAL 并且 __START_BY_SORTERJOB 为Y 需要进行特殊检查
查找设备绑定的 SORTER_JOB_ID 如果能找到 需要进行检查
查找 SORTER_THICKNESS 中 DATA_1 = MIX 的数据 收集到 MIXList中
如果当前设备 不在 MIXList 中 并且 Sorter Job 的 TRAN_TYPE = FOSB2FOSB 或 OPER_GRP_1 != UT
如果 inData 的 Step、Step Ver 为空 这边会从 查询出来的 Lot 信息中 取出 并填入
非 Batch 过站 会保存默认的 Event Id
LOT_TYPE_DETAIL 表 查询 Lot 的 LOT_TYPE_DETAIL
查询结果的 DATA_3 为Event Id
向 ETCMEQPTLOTT_C 表更新默认的 Event Id
需细化...
判断设备 Event Id 是否保持不变
需细化...
子设备 重走一遍上面的流程
FINISH_GOOD_TYPE 为 DUMMY、MONITOR、SEASON、NPW 需要进行额外的校验处理
需细化...
FINISH_GOOD_TYPE 为 DUMMY、MONITOR、SEASON、NPW 需要更新 NPW_PROC_USC_4、5、9、14的数据
需细化...
如果当前的 SEASON_COMPLETE_POINT = START
需细化...
更新 PRPTDATAMAST表 NEED_PM_SEASON 或 NEED_PM_SUB_SEASON
更新 RCPMRCPEMAST 表
增加 RCPMRCPEHIST_C 历史记录表数据
FINISH_GOOD_TYPE 为 DUMMY、MONITOR、SEASON、NPW
类似以上操作 需要细化...
如果 Lot 为 Monitor Lot 需要进行处理
检查上一步骤使用的Equip
需细化...
检查目标站点 START_YN 状态为 Y
需细化...
高优先级的target站点做完,低优先级的target站点才可以做
需细化...
内容稍后捋捋
如果是 Batch Lot 需要检查
设备的 EQUIP_GRP_5 如果等于 SORTER 并且 Step Type 是 xxx2xxx 那么将 _SKIP__CLEAN_CHECK_FLAG 表示置为Y
如果 设备的 EQUIP_GRP_5 = FOUP_EXCHANGE 并且 EQUIP_GRP_4 = FIXED_BUFFER 将 _SKIP__CLEAN_CHECK_FLAG 表示置为Y
FINISH_GOOD_TYPE 为 DUMMY、MONITOR、SEASON、NPW 需要进行如下校验
如果 WIPMNPWPOPER 表中的 RECIPE_ID 为空 或者 MAINT_ORDER_ID(维修订单)不为空 则抛出异常
如果 Recipe Id 不为空 向 RCPMLOTTRECP 表中更新或插入信息
如果 inData 中的 EQUIP_RCP_ID 不为空
插入或更新 RCPMLOTTRECP 表 信息
如果 Lot 的 RC_REQUEST_NO 不为空 且 Lot 上的 SRC 已经 Executed 进行校验
校验当前工序上的 Recipe
如果 inData 中的 RETICLE_1 不为空 检查 Reticle Info
检查当前 Step 的 Reticle 不可为空
如果 inData 中的 RETICLE_1 不为空 检查 Reticle Info
CheckEquipProcessJob
获取当前 Lot 相同污染 的 设备 子设备集合
读取 Lot 当前 Step 对应的 Recipe Id
outData NPW_NOT_CHECK_PJ !=Y 并且 DOMA_FLAG !=Y 需要给 outData 填入 RECIPE_ALL_PJ_LIST 参数
如果 rcp id 为空 或者 outData NPW_NOT_CHECK_PJ = Y 需要 检查 是否需要 pirun
需细化...
如果 outData RECIPE_GETFLAG = Y 需要检查 PJ校验逻辑
需细化...
wafer start 工序 无需校验污染,将状态置为 false
获取 Recipe 的 PROCESS_JOB_YN 如果!=Y 需要额外校验 并结束方法调用
后续还有很多逻辑需要细化...
ETCMRESVMAST 表相关数据不为空 需要进行检查
子主题 33
doServiceAfter
有点奇怪,Lot 都不是批量的 Sub Lot 不是一定非批量吗?思维导图模板大纲
这边的判断逻辑是否有问题,按照逻辑实际上只判断了 Port上 最后一个 Carrier Type 的一致性思维导图模板大纲
树图思维导图提供 一、研究内容 在线思维导图免费制作,点击“编辑”按钮,可对 一、研究内容 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:4f21797dd3e8b08f1951dfc24e7be94f
树图思维导图提供 904名中国成年人第三磨牙相关知识、态度、行为和病史的横断面调查 在线思维导图免费制作,点击“编辑”按钮,可对 904名中国成年人第三磨牙相关知识、态度、行为和病史的横断面调查 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:10b9a8a2dd2fb4593f8130ef16c320fc