IFS ERP sistemi, özellikle üretim ve bakım süreçlerini yöneten işletmelerde yaygın olarak kullanılır.
IFS veritabanı genellikle Oracle veya PostgreSQL tabanlıdır ve güçlü SQL sorguları ile detaylı analizler yapılabilir.
IFS SQL sorguları sayesinde iş emirleri, üretim planları, sipariş süreçleri ve stok hareketleri
detaylı şekilde incelenebilir. Özellikle üretim firmalarında, iş emirlerinin durumu ve tamamlanma oranları
SQL ile kolayca analiz edilebilir.
SHOP_ORD, PURCHASE_ORDER_LINE gibi tablolar IFS sisteminde sık kullanılan veri kaynaklarıdır.
Bu tablolar üzerinden yazılan sorgular ile üretim süreçleri, satın alma işlemleri ve teslimat performansı takip edilebilir.
PostgreSQL kullanan IFS sistemlerinde SQL performansı oldukça yüksektir.
Doğru indeksleme ve optimize edilmiş sorgular sayesinde büyük veri setleri hızlı şekilde analiz edilebilir.
Bu da işletmelerin daha hızlı karar almasını sağlar.
Bu sayfada yer alan IFS SQL sorguları, günlük operasyonları analiz etmek ve raporlamak için
en çok kullanılan örneklerden oluşmaktadır. Kendi sisteminize uyarlayarak kullanabilirsiniz.
Üretim Fiili vs Planlanan
IFS
SELECT
wo.WO_NO,
wo.PART_NO,
wo.QTY_DEMAND AS PLANLANAN,
wo.QTY_COMPLETE AS TAMAMLANAN,
ROUND(
wo.QTY_COMPLETE * 100.0
/ NULLIF(wo.QTY_DEMAND, 0), 1
) AS TAMAMLANMA_PCT,
wo.PLAN_FINISH AS PLANLANAN_BITIS
FROM SHOP_ORD wo
WHERE wo.OBJSTATE = 'Released'
ORDER BY wo.PLAN_FINISH ASC
SELECT
wo.WO_NO,
wo.PART_NO,
wo.QTY_DEMAND AS PLANLANAN,
wo.QTY_COMPLETE AS TAMAMLANAN,
wo.OBJSTATE AS DURUM
FROM SHOP_ORD wo
WHERE wo.OBJSTATE IN ('Released', 'Started')
ORDER BY wo.WO_NO
Geciken Satın Alma Siparişleri
IFS
SELECT
ORDER_NO,
LINE_NO,
VENDOR_NO,
PART_NO,
WANTED_RECEIPT_DATE
FROM PURCHASE_ORDER_LINE
WHERE WANTED_RECEIPT_DATE < TRUNC(SYSDATE)
AND LINE_STATE <> 'Closed'
ORDER BY WANTED_RECEIPT_DATE
Parça Bazlı Mevcut Stok
IFS
SELECT
PART_NO,
LOCATION_NO,
QTY_ONHAND AS MEVCUT_STOK
FROM INVENTORY_PART_IN_STOCK
WHERE QTY_ONHAND > 0
ORDER BY QTY_ONHAND DESC
Eksik Malzeme İhtiyacı
IFS
SELECT
mr.PART_NO,
mr.DESCRIPTION,
SUM(mr.QTY_REQUIRED) AS IHTIYAC,
SUM(mr.QTY_ON_HAND) AS MEVCUT_STOK,
SUM(mr.QTY_REQUIRED) - SUM(mr.QTY_ON_HAND) AS EKSIK_MIKTAR
FROM MANUF_STRUCT mr
JOIN SHOP_ORD so ON mr.WO_NO = so.WO_NO
WHERE so.OBJSTATE = 'Released'
AND mr.QTY_REQUIRED > mr.QTY_ON_HAND
GROUP BY mr.PART_NO, mr.DESCRIPTION
ORDER BY EKSIK_MIKTAR DESC
IFS Geciken Satın Alma Satırları
IFS
SELECT
ORDER_NO,
LINE_NO,
RELEASE_NO,
VENDOR_NO,
PART_NO,
WANTED_RECEIPT_DATE,
LINE_STATE
FROM PURCHASE_ORDER_LINE_ALL
WHERE WANTED_RECEIPT_DATE < TRUNC(SYSDATE)
AND LINE_STATE NOT IN ('Closed', 'Cancelled')
ORDER BY WANTED_RECEIPT_DATE ASC
IFS Açık Müşteri Siparişleri
IFS
SELECT
ORDER_NO,
LINE_NO,
REL_NO,
CUSTOMER_NO,
CATALOG_NO,
BUY_QTY_DUE,
PLANNED_DELIVERY_DATE,
OBJSTATE
FROM CUSTOMER_ORDER_LINE
WHERE OBJSTATE NOT IN ('Delivered', 'Invoiced', 'Cancelled')
ORDER BY PLANNED_DELIVERY_DATE ASC
IFS Operasyon Gecikme Kontrolü
IFS
SELECT
so.WO_NO,
so.PART_NO,
op.OPERATION_NO,
op.WORK_CENTER_NO,
op.PLAN_FINISH,
so.OBJSTATE
FROM SHOP_ORD so
JOIN SHOP_ORDER_OPERATION op ON op.ORDER_NO = so.ORDER_NO
WHERE op.PLAN_FINISH < SYSDATE
AND so.OBJSTATE IN ('Released', 'Started')
ORDER BY op.PLAN_FINISH ASC