IF :transaction_type='A' or :transaction_type='U' AND :object_Type='18' then
Declare Qty decimal (19,4);
Declare TQty decimal (19,4);
SELECT Max("VisOrder" )into RowCount from "PCH1" where "DocEntry"= :list_of_cols_val_tab_del;
While j <=:RowCount
DO
Textdummy= TO_VARCHAR(j+1);
SELECT (T1."LineTotal") INTO Qty
FROM OPOR T0 INNER JOIN POR1 T1 ON T0."DocEntry" = T1."DocEntry"
LEFT OUTER JOIN PCH1 T3 ON T3."BaseEntry" = T0."DocEntry" AND T3."BaseLine" = T1."LineNum"
LEFT OUTER JOIN OPCH T2 ON T2."DocEntry" = T3."DocEntry"
LEFT OUTER JOIN "OITM" T5 ON T5."ItemCode" = T1."ItemCode"
LEFT OUTER JOIN "OITB" T6 ON T5."ItmsGrpCod" = T6."ItmsGrpCod"
WHERE T0."DocEntry" = :list_of_cols_val_tab_del and T3."VisOrder"=:j;
SELECT (T3."LineTotal") INTO TQty
FROM OPOR T0 INNER JOIN POR1 T1 ON T0."DocEntry" = T1."DocEntry"
LEFT OUTER JOIN PCH1 T3 ON T3."BaseEntry" = T0."DocEntry" AND T3."BaseLine" = T1."LineNum"
LEFT OUTER JOIN OPCH T2 ON T2."DocEntry" = T3."DocEntry"
LEFT OUTER JOIN "OITM" T5 ON T5."ItemCode" = T1."ItemCode"
LEFT OUTER JOIN "OITB" T6 ON T5."ItmsGrpCod" = T6."ItmsGrpCod"
WHERE T0."DocEntry" = :list_of_cols_val_tab_del and T3."VisOrder"=:j ;
If Qty < TQty Then
error:=100001;
error_message:= 'INV VALUE Is Greater Than PO VALUE For LineNum ' || :Textdummy || ' 1';
End if;
j:= j+1;
End While;
End if;