core-jgi/db/maintain/Maintenance/M_Transaction_Source.sql

34 lines
1.1 KiB
SQL

DECLARE
CURSOR M_Trx IS
SELECT * FROM M_Transaction
WHERE M_Locator_ID=1000001
AND M_Product_ID IN (1008347)
ORDER BY M_Product_ID, MovementDate;
ProductName VARCHAR2(60);
SourceInfo VARCHAR2(256);
BEGIN
FOR m IN M_Trx LOOP
SELECT Name INTO ProductName FROM M_Product WHERE M_Product_ID=m.M_Product_ID;
SourceInfo := '';
IF (m.M_InventoryLine_ID IS NOT NULL) THEN
SELECT m.M_InventoryLine_ID || ': Inventur ' || i.Name || ' Zeile ' || l.Line
INTO SourceInfo
FROM M_InventoryLine l, M_Inventory i
WHERE l.M_Inventory_ID=i.M_Inventory_ID
AND l.M_InventoryLine_ID=m.M_InventoryLine_ID;
ELSIF (m.M_InOutLine_ID IS NOT NULL) THEN
SELECT m.M_InOutLine_ID || ': Lieferschein ' || i.DocumentNo || l.Line || ' Auftrag ' || NVL(o.DocumentNo, '-')
INTO SourceInfo
FROM M_InOutLine l, M_InOut i, C_Order o
WHERE l.M_InOut_ID=i.M_InOut_ID
AND i.C_Order_ID=o.C_Order_ID(+)
AND l.M_InOutLine_ID=m.M_InOutLine_ID;
END IF;
DBMS_OUTPUT.PUT_LINE(m.M_Transaction_ID || ': ' || ProductName || ' Menge=' || m.MovementQty || ' ' || m.MovementDate
|| ' - ' || SourceInfo);
END LOOP;
END;