Spaces:
Running
Running
| -- FUNCTION: trans.fn_get_po_items_for_grn(uuid) | |
| -- DROP FUNCTION IF EXISTS trans.fn_get_po_items_for_grn(uuid); | |
| CREATE OR REPLACE FUNCTION trans.fn_get_po_items_for_grn( | |
| p_po_id uuid) | |
| RETURNS TABLE(po_item_id uuid, catalogue_id uuid, catalogue_name text, ordered_qty numeric, received_qty numeric, rejected_qty numeric, pending_grn numeric, cost_price numeric) | |
| LANGUAGE 'plpgsql' | |
| COST 100 | |
| VOLATILE PARALLEL UNSAFE | |
| ROWS 1000 | |
| AS $BODY$ | |
| BEGIN | |
| RETURN QUERY | |
| SELECT | |
| po.id AS po_item_id, | |
| po.catalogue_id, | |
| cr.catalogue_name, | |
| po.ord_qty AS ordered_qty, | |
| po.rcvd_qty AS received_qty, | |
| po.rejected_qty, | |
| (po.ord_qty - po.rcvd_qty - po.rejected_qty) AS pending_grn, | |
| po.cost_price | |
| FROM scm_po_item po | |
| JOIN catalogue_ref cr | |
| ON po.catalogue_id = cr.catalogue_id | |
| WHERE po.po_id = p_po_id | |
| AND (po.ord_qty - po.rcvd_qty - po.rejected_qty) > 0 | |
| ORDER BY cr.catalogue_name; | |
| END; | |
| $BODY$; | |
| ALTER FUNCTION trans.fn_get_po_items_for_grn(uuid) | |
| OWNER TO trans_owner; | |