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 中
不抛异常
检查 当前设备状态是否能支持
当前的 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
向 ETCMEQPTLOTT_C 表更新默认的 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
增加 RCPMRCPEHIST_C 历史记录表数据
FINISH_GOOD_TYPE 为 DUMMY、MONITOR、SEASON、NPW
如果 Lot 为 Monitor Lot 需要进行处理
高优先级的target站点做完,低优先级的target站点才可以做
设备的 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 不为空
如果 Lot 的 RC_REQUEST_NO 不为空 且 Lot 上的 SRC 已经 Executed 进行校验
如果 inData 中的 RETICLE_1 不为空 检查 Reticle Info
如果 inData 中的 RETICLE_1 不为空 检查 Reticle Info
CheckEquipProcessJob
读取 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 表相关数据不为空 需要进行检查