Hi,
Your query can meet their need if all their orders tied to BOM without change.
Try:
SELECT T0.[DocNum], T0.[DocDate], T0.[CardCode],T0.[CardName], T1.[ItemCode], T1.[Dscription], T1.[Quantity] as salesorderQty ,
T1.[OpenQty], T2.onhand, T4.[Code] as 'Raw material Name',SUM(T4.[Quantity]) as 'BOMQTY', SUM((T1.[OpenQty]*T4.[Quantity])) as 'TOTALQTY'
FROM ORDR T0
INNER JOIN RDR1 T1 ON T0.[DocEntry] = T1.[DocEntry]
INNER JOIN OITM T2 ON T1.[ItemCode] = T2.[ItemCode]
INNER JOIN OITT T3 ON T2.[ItemCode] = T3.[Code]
INNER JOIN ITT1 T4 ON T3.[Code] = T4.[Father]
WHERE T1.[LineStatus] ='o'
GROUP BY T0.[DocNum], T0.[DocDate], T0.[CardCode],T0.[CardName], T1.[ItemCode], T1.[Dscription], T1.[Quantity] ,
T1.[OpenQty], T2.onhand, T4.[Code]
Thanks,
Gordon