CREATE OR REPLACE FUNCTION "uyumsoft"."zz_sp_item_qty"("pItemCode" varchar, "pBranchCode" varchar, "pWareHouseCode" varchar)
   
   RETURNS TABLE("BranchCode" varchar, "WareHouseCode" varchar, "ItemId" int4, 
   				"ItemCode" varchar, "ItemName" varchar, "QtyPrm" numeric(18,5), "AttributeId1" int4, "AttributeCode1" varchar) AS $BODY$
 
 DECLARE
 code VARCHAR DEFAULT '';

  BEGIN

  RETURN QUERY
Select 
br.branch_code "BranchCode",
wh.whouse_code "WareHouseCode",
bwh.item_id "ItemId",
it.item_code "ItemCode",
it.item_name2 "ItemName",
sum(bwh.qty_prm) "QtyPrm",
bwh.item_attribute1_id "AttributeId1",
a1.item_attribute_code "AttributeCode1"
from 
invd_bwh_item_d bwh 
left join invd_item it on bwh.item_id=it.item_id
left join invd_branch_item bit on bwh.branch_id=bit.branch_id and bwh.item_id=bit.item_id
left join invd_item_attribute a1 on bwh.item_attribute1_id=a1.item_attribute_id
left join invd_whouse wh on bwh.whouse_id=wh.whouse_id
left join gnld_branch br on bwh.branch_id=br.branch_id
where 
bit.is_open_to_internet=1 and
(it.item_code IN (SELECT t.CODE FROM RP_SPLIT("pItemCode") t) or Coalesce("pItemCode",'')='')  and
(wh.whouse_code = "pWareHouseCode" or COALESCE("pWareHouseCode",'')='') and
(br.branch_code = "pBranchCode" or coalesce("pBranchCode",'')='')
group by 
br.branch_code,
wh.whouse_code,
it.item_code,
it.item_name2,
a1.item_attribute_code,
bwh.item_id,
bwh.item_attribute1_id
having sum(bwh.qty_prm)>0;

  END;
 $BODY$
   LANGUAGE plpgsql VOLATILE