请用pl/sql 写一个ebs bom 工作日的脚本
时间: 2024-01-14 17:02:03 浏览: 39
以下是一个示例的 PL/SQL 脚本,用于查询 EBS BOM 工作日:
```sql
DECLARE
CURSOR bom_cur IS
SELECT organization_id, assembly_item_id, effective_date
FROM bom_calendar_assignments
WHERE organization_id = <ORGANIZATION_ID>
AND assembly_item_id = <ASSEMBLY_ITEM_ID>;
lv_effective_date DATE;
lv_workday VARCHAR2(1);
BEGIN
FOR bom_rec IN bom_cur LOOP
lv_effective_date := bom_rec.effective_date;
SELECT workday_flag
INTO lv_workday
FROM bom_calendar_dates
WHERE calendar_code = 'WORK'
AND calendar_date = lv_effective_date;
IF lv_workday = 'Y' THEN
DBMS_OUTPUT.PUT_LINE('Effective Date ' || lv_effective_date || ' is a workday');
ELSE
DBMS_OUTPUT.PUT_LINE('Effective Date ' || lv_effective_date || ' is NOT a workday');
END IF;
END LOOP;
END;
```
请注意将 `<ORGANIZATION_ID>` 和 `<ASSEMBLY_ITEM_ID>` 替换为实际的值。此脚本使用 `bom_calendar_assignments` 和 `bom_calendar_dates` 表来查询指定组织和装配件的 BOM 工作日。它将循环遍历每个日期,并输出日期是否为工作日的信息。