CREATE OR REPLACE FUNCTION concat_penzeszkoz_biz(irany integer, bizonylat character varying)
  RETURNS character varying AS
'declare

-- pi_forgalom
pi_forgalom cursor for

select kod,
       bizonylatszam       
  from penzeszkoz_iktato
 where penztar_bizonylat_irany = irany
   and penztar_bizonylat = bizonylat
order by kod;

eredmeny character varying;
elvalaszto character varying;
v_kod bigint;
v_bizonylatszam character varying;

begin
  eredmeny := '';
  elvalaszto := '';
  
  open pi_forgalom;

    fetch pi_forgalom
     into v_kod,
          v_bizonylatszam;

    while found loop
      eredmeny := eredmeny || elvalaszto || v_bizonylatszam;
      elvalaszto := ', ';

      fetch pi_forgalom
        into v_kod,
             v_bizonylatszam;
    end loop;

    close pi_forgalom;

  return eredmeny;
end;'
  LANGUAGE 'plpgsql' VOLATILE;

CREATE OR REPLACE FUNCTION concat_penzeszkoz_megj(irany integer, bizonylat character varying)
  RETURNS text AS
'declare

-- pi_forgalom
pi_forgalom cursor for

select kod,
       megjegyzes       
  from penzeszkoz_iktato
 where penztar_bizonylat_irany = irany
   and penztar_bizonylat = bizonylat
order by kod;

eredmeny text;
elvalaszto character varying;
v_kod bigint;
v_megjegyzes character varying;

begin
  eredmeny := '';
  elvalaszto := '';
  
  open pi_forgalom;

    fetch pi_forgalom
     into v_kod,
          v_megjegyzes;

    while found loop
      eredmeny := eredmeny || elvalaszto || v_megjegyzes;
      elvalaszto := ', ';

      fetch pi_forgalom
        into v_kod,
             v_megjegyzes;
    end loop;

    close pi_forgalom;

  return eredmeny;
end;'
  LANGUAGE 'plpgsql' VOLATILE;