 DELIMITER $$

DROP PROCEDURE IF EXISTS `ht_pr_potwsald2`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `ht_pr_potwsald2`(
	IN _MODE VARCHAR(150), -- INT
	IN _GUIDPlatnika VARCHAR(38),
	IN _ScenarioName VARCHAR(250),
	IN _WHERE_SQL TEXT,	
	IN _NaDzien DATE, -- _Data
	IN _DataWedlug VARCHAR(30),
	IN _Waluta VARCHAR(100),
	IN _SaldaZerowe VARCHAR(10),
	IN _ByKontoFK VARCHAR(10),
	IN _Jezyk VARCHAR(10),
	IN _Param_A VARCHAR(50),
	IN _Param_B VARCHAR(50),
	IN _Param_C VARCHAR(50),
	IN _Param_D VARCHAR(50)
)
BEGIN
  DECLARE _S TEXT DEFAULT '';
  DECLARE _WHERE TEXT DEFAULT '';
  DECLARE _DataWedlug_old VARCHAR(30);
  DECLARE _Waluta_old, _walutastr VARCHAR(100); -- waluta podawana w procedurze, zapamietana na boku
	DECLARE _BankNazwa VARCHAR(50); -- nazwa banku dla kont dynamicznych
	DECLARE _BankPrefix VARCHAR(12); -- prefix numeru konta dla kont dynamicznych
	DECLARE _Dynamiczne VARCHAR(1); -- czy konta sa dynamiczne
	DECLARE _DomyslnyBank INT(11); -- czy kontrahent ma domyslny bank
	DECLARE _owner VARCHAR(100); -- owner z dbglobals
	DECLARE _baza VARCHAR(100); -- baza danych w ktorej jestesmy
	DECLARE _PlatnikIDN INT(11); -- idn palatnika potrzebne do wyszukiwania konta
	DECLARE _KontoBankowe TEXT; -- konto na wydruku 

  SET _WHERE_SQL = IFNULL(_WHERE_SQL, '');	
  SET _DataWedlug_old = _DataWedlug;
  SET _Waluta_old = _Waluta;
  SET _DataWedlug = IF(_DataWedlug='', 'datawystaw', _DataWedlug);
  SET _WALUTA = IF(_Waluta = '-1','',CONCAT('and O.waluta_rozliczen=',_Waluta));
				
	/*	
	Jęzeli cokolwiek z wydrukiem nie działa, to najpierw sprawdz, kurwa, klucze!!!

	CALL ht_pr_potwsald2('PotwSald_Checkownia', '',"", '', '2013-03-22','datawplywu','0','0','0','0','0','0','','');
	
	Korzystanie z procedury wlacza klucz "Alternatywne wydruki Potw Sald"
	Warto tez wlaczyc klucz "Alternatywne wydruki FR3 w Grupach"
	Koniecznie trzeba tez wlaczyc klucz  WezwaniaSQLzFiltremFDBC - bo to uruchamia w programie przekazywaniefiltrow - ale ma to znaczenie tylko dla czekowni
	Klucz Kazde_konto_FK_na_osobnym_potwierdzeniu:
		na klucz uwaga, bo wartosc = 2 jest w kluczu typu integer i w polu valueI
	0 - opcja w exe  widoczna domyslnie nie  zaznaczona
	1 - opcja w exe  widoczna domyslnie zaznaczona
	2 - opcja w exe  niewidoczna jeżeli _ByKontoFK przyjdzie  1 to procedura zmienia na 2
	_ByKontoFK = 0	grupowanie po kontrahencie
	_ByKontoFK = 1	Jedno potwierdzenie dla wszystkich kont FK z pogrupowaniem na wydruku
	_ByKontoFK = 2	Dla każdego kontafk oddzielne potwierdzenie

	w tabeli rep_obj_links musi być włączenie scenariusza!!!
	typ	rodzaj	podrodzaj	priorytet	scenarioGUID	opis	Not_used	PresentGroup	uGrpGUID
 POTW_SALD_CALL	0	0	0	STPRN_POTW_SALD_CALL		0		ALL
	*/
	
	-- CALL _IReg_Get('Wydruki', 'Kazde_konto_FK_na_osobnym_potwierdzeniu', 0, 'BOOLEAN', @osobneFK, 'TRUE');
	CALL _IReg_Get('Wydruki', 'Kazde_konto_FK_na_osobnym_potwierdzeniu', 0, 'INTEGER', @osobneFK, 'TRUE');

	
	IF _ByKontoFK <>0 and @osobneFK=2 THEN
		SET _ByKontoFK=2;
    END IF;
	
	
	IF _MODE = 'PotwSald_Checkownia' THEN
	 
	DROP TABLE IF EXISTS t_roz01;
	CREATE TEMPORARY TABLE t_roz01 (
    DataWydruku DATE DEFAULT NULL,
    checked VARCHAR(1) DEFAULT NULL,
    symbol VARCHAR(38) DEFAULT NULL,
    nazwa VARCHAR(250) DEFAULT '',
    platnikGUID VARCHAR(38) DEFAULT '',
    miasto VARCHAR(35) DEFAULT '',
    ulica VARCHAR(50) DEFAULT NULL,
    zipcode VARCHAR(20) DEFAULT NULL,
    kraj VARCHAR(50) DEFAULT '',
    WalutaStr VARCHAR(10) DEFAULT '',
    kontrnip_podzial VARCHAR(23) DEFAULT NULL,
    nip VARCHAR(15) DEFAULT NULL,
    kontridn VARCHAR(15) DEFAULT NULL,
    kontofk VARCHAR(50) DEFAULT '',
    kontofkKontrah VARCHAR(50) DEFAULT '',
    kwotawn DOUBLE(21,4) DEFAULT NULL,
	`MODE` VARCHAR(150),
	GUIDPlatnika VARCHAR(38),
	ScenarioName VARCHAR(250),
	WHERE_SQL TEXT,	
	NaDzien DATE, 
	DataWedlug VARCHAR(30),
	Waluta VARCHAR(100),
	Waluta_Rozliczen int,
	SaldaZerowe VARCHAR(10),
	ByKontoFK VARCHAR(10),
	Jezyk VARCHAR(10),
	Param_A VARCHAR(50),
	Param_B VARCHAR(50),
	Param_C VARCHAR(50),
	Param_D VARCHAR(50)  
) DEFAULT CHARSET=cp1250;

	 SET _S =
		"INSERT INTO t_roz01
		select 
		'#NaDzien#' as DataWydruku, 
		MAX('1') as 'checked', CONCAT(KK.symbol,IF('#ByKontoFK#' = 2,CONCAT(' - ',O.kontoFK),'')) AS symbol, KK.nazwa, KK.GUID AS platnikGUID,
		KK.nazwamiasta AS miasto, KK.ulica, KK.zipcode,
		ifnull((select Miasta.IDNkraju from Miasta where KK.NazwaMiasta=Miasta.NazwaMiasta limit 1),'') as kraj,
		W.symbol as WalutaStr,
        if(KK.podzialnip<2, if(KK.podzialnip=0,insert(insert(insert(KK.nip,4,0,'-'),8,0,'-'),11,0,'-'),insert(insert(insert(KK.nip,4,0,'-'),7,0,'-'),10,0,'-')),KK.nip) as kontrnip_podzial,
        KK.nip,
		KK.idn as kontridn,
		-- IFNULL(FF.symbol_fmt,FFD.symbol_fmt) AS kontofk,
		-- _varStr('') AS kontofkKontrah,
		-- IF(IFNULL(REPLACE(REPLACE(O.kontofk,'*',''),'|','') ,'')='',REPLACE(REPLACE(O.kontofk2,'*',''),'|',''),REPLACE(REPLACE(O.kontofk,'*',''),'|',''))  AS kontofk,

		IF(IFNULL(O.kontofk,'') = '', IFNULL(O.kontofk2,''), IFNULL(O.kontofk,'')) AS kontofk,
		IF(IFNULL(O.kontofk,'') = '', IFNULL(O.kontofk2,''), IFNULL(O.kontofk,'')) AS kontofkKontrah,

		-- IF(IFNULL(REPLACE(REPLACE(O.kontofk,'*',''),'|','') ,'')='',REPLACE(REPLACE(O.kontofk2,'*',''),'|',''),REPLACE(REPLACE(O.kontofk,'*',''),'|',''))  AS kontofkKontrah,
		  -- 0 as kwotawn	
		SUM(IF( (O.kurs_rozliczen = 0 and (O.rodzaj not in (20,21,36,37))) or (O.To_RK), 0, IF(O.CWN, O.CKwotaWal,-O.CKwotaWal)-
		  ifnull((SELECT SUM(if(Ifnull(O2.#DataWedlug#,date_add(CURRENT_DATE, interval 100 year))<='#NaDzien#', ifnull(r.kwotaWal,0),0))    
		  FROM rozrach r LEFT JOIN opng O2 on r.idnoper2 = O2.guid where r.idnoper = O.guid),0))) as kwotawn,

		  '#MODE#' as par1, '#GUIDPlatnika#' as par2, '#ScenarioName#' as par3, '#WHERE_SQL#' as par4, '#NaDzien#' as par5, 
		  '#DataWedlug#' as par6, '#Waluta#' as par7, O.waluta_rozliczen,
		  '#SaldaZerowe#' as par8, '#ByKontoFK#' as par9, '#Jezyk#' as par10, '#Param_A#' as par11, '#Param_B#' as par12, '#Param_C#' as par13, O.kontoFK as par14 
		FROM opng O
		LEFT JOIN kontrah KK ON O.PlatnikGUID=KK.GUID 
		-- LEFT JOIN plankont FF ON FF.symbol=KK.kontoFK AND FF.rok= YEAR(CURDATE())
		-- LEFT JOIN plankont FFD ON FFD.symbol=KK.kontoFK2 AND FFD.rok= YEAR(CURDATE())
		LEFT JOIN waluty W ON W.idn = O.waluta
		INNER JOIN tb_opng tb ON tb.GUID=O.GUID		-- tabela tworzona przez program z danych wyflitrowanych w przegladarce
		WHERE 	
		  O.deleted=0 and O.rozrachunek=1 and O.platnikGUID<>'' 
		  and O.#DataWedlug# <= '#NaDzien#' 
		  #WALUTA#
		GROUP BY KK.GUID,IF('#ByKontoFK#'=2,O.kontoFK,1)
		  #HAVING#
		ORDER BY KK.symbol
		;";

		SET _S = REPLACE(_S, '#DataWedlug#', _DataWedlug);
		SET _S = REPLACE(_S, '#NaDzien#', _NaDzien);
		SET _S = REPLACE(_S, '#WALUTA#', _WALUTA);

  -- drukuj salda zerowe oznacza, ze maja byc drukowane potwierdzenia dla firm, ktorych salda sa zerowe, bez pozycji, ale z podsumowaniem, ze jest zero
		IF _SaldaZerowe = '0' THEN
		  SET _S = REPLACE(_S, '#HAVING#', 'HAVING ROUND(ifnull(kwotawn,0),2) <> 0');
		ELSE
		  SET _S = REPLACE(_S, '#HAVING#', ''); 
		END IF;

    --    IF _ByKontoFK = '1' THEN
	--	  SET _S = REPLACE(_S, '#GROUP_BY#', 'O.GUID');
	--	ELSE
	--	  SET _S = REPLACE(_S, '#GROUP_BY#', 'KK.GUID');
	--	END IF;

		SET _S = REPLACE(_S, '#MODE#', _MODE);
		SET _S = REPLACE(_S, '#GUIDPlatnika#', _GUIDPlatnika);
		SET _S = REPLACE(_S, '#ScenarioName#', _ScenarioName);
		SET _S = REPLACE(_S, '#WHERE_SQL#', _WHERE_SQL);
		SET _S = REPLACE(_S, '#NaDzien#', _NaDzien);
		SET _S = REPLACE(_S, '#DataWedlug#', _DataWedlug_old);
		SET _S = REPLACE(_S, '#Waluta#', _Waluta_old);
		SET _S = REPLACE(_S, '#SaldaZerowe#', _SaldaZerowe);
		SET _S = REPLACE(_S, '#ByKontoFK#', _ByKontoFK);
		SET _S = REPLACE(_S, '#Jezyk#', _Jezyk);
		SET _S = REPLACE(_S, '#Param_A#', _Param_A);
		SET _S = REPLACE(_S, '#Param_B#', _Param_B);
		SET _S = REPLACE(_S, '#Param_C#', _Param_C);
		SET _S = REPLACE(_S, '#Param_D#', _Param_D);

		SET @SQLText = _S;
		#select _S;
		CALL _ExecuteCmd(_S, @Error); 

		UPDATE t_roz01 SET
            kontofk = REPLACE(REPLACE(kontofk,'*',''),'|',''),
            kontofkKontrah = REPLACE(REPLACE(kontofkKontrah,'*',''),'|','')
		;


		SELECT * FROM t_roz01; 

		DROP TABLE IF EXISTS t_roz01;
	
	END IF; 	-- _MODE 
	

/* dane do wydruku 
CALL ht_pr_potwsald2('PotwSald_Naglowek', '{0A5C4F84-2E85-4215-878C-8E10589D449D}',"", '', '2017-02-28','datawplywu','0','0','0','0','0','0','','');
CALL ht_pr_potwsald2('PotwSald_Pozycje', '{0A5C4F84-2E85-4215-878C-8E10589D449D}',"", '', '2017-02-28','datawplywu','0','0','0','0','0','0','','');
IFNULL(@session.CheckLogonUser,'')
IFNULL(@session.CurrOsobaGUID, '')
*/

	 IF _Mode='PotwSald_Naglowek' THEN  

	 -- SET NAMES 'cp1250';

		SELECT domyslnybank, idn INTO _DomyslnyBank, _PlatnikIDN FROM kontrah WHERE GUID = _GUIDPlatnika;
		SELECT DATABASE() INTO _baza;
		SET _owner := @session.globals.Owner;

		-- dla wydrukow wielowalutowych konto jest ustawiane w pozycjach, co trzeba uwzglednic w szablonie wydruku!!!
		IF _Waluta_old <> '-1' THEN
			CALL fr_ht_konto('POTW', _GUIDPlatnika, _ScenarioName, '',0,'','','',_Waluta_old);
		END IF;

		SELECT 
			ifnull((SELECT ValueA FROM IReg WHERE IdKey = "BDO" limit 1),"") as BDO,
			KK.symbol,KK.nazwa,KK.GUID as platnikGUID, KK.nip,
			CASE WHEN _Dynamiczne = 1 THEN 
				CONCAT(_BankNazwa,' ',GetNRBbyIDN(_BankPrefix,KK.idn,0))
			ELSE
				IFNULL((select concat(B.NazwaBanku," ", B.Konto) from banki B where B.idn=KK.DomyslnyBank ),
							(select valuea from IReg where idkey="Numer_konta" AND IdPath= 'INT\\SYSTEM\\MOTLAWA\\DaneFirmy')) 
			END AS DomyslnyBank,
			@_KontoBankowe AS DomyslnyBank2,
			KK.nazwamiasta AS miasto, KK.ulica, KK.zipcode, KK.idn as kontridn,
			SUBSTRING(concat(KK.w_ulica," ",KK.W_zipcode," ",KK.W_NazwaMiasta),1,250) As AdresKor,
			IF(IFNULL(REPLACE(REPLACE(KK.kontofk,"*",""),"|","") ,'')='',REPLACE(REPLACE(KK.kontofk2,"*",""),"|",""),REPLACE(REPLACE(KK.kontofk,"*",""),"|",""))  AS kontofk,
			IF(IFNULL(REPLACE(REPLACE(KK.kontofk,"*",""),"|","") ,'')='',REPLACE(REPLACE(KK.kontofk2,"*",""),"|",""),REPLACE(REPLACE(KK.kontofk,"*",""),"|",""))  AS kontofkKontrah,
			(SELECT p.symbol_fmt FROM plankont p WHERE p.symbol= IF(_ByKontoFK = 2,_PARAM_D,KK.kontofk) LIMIT 1) AS kontofmt, -- samo konto fmt bez roznicy z ktorego roku
			IF(_ByKontoFK = 2,_PARAM_D, REPLACE(REPLACE(KK.kontofk,"*",""),"|","")) AS kontofk_wybrane,

		-- 	REPLACE(REPLACE(KK.kontofk,"*",""),"|","") as kontofk,
		--	REPLACE(REPLACE(KK.kontofk,"*",""),"|","") as kontofkKontrah,
			_NaDzien AS NaDzien,
			_ByKontoFK AS WgKontFK,
			_owner AS owner,
			_baza AS baza,
			(SELECT symbol FROM waluty WHERE idn = _Waluta_old) AS waluta_wybrana,
			(select concat(imie1,' ', nazwisko) from osoby where guid = @session.CurrOsobaGUID) as wystawil
			-- ifnull((SELECT CONCAT(imie1, ' ', nazwisko) FROM osoby WHERE guid = CAST(IFNULL(@session.CurrOsobaGUID,'') AS CHAR CHARACTER SET cp1250)),'') AS wystawil
		FROM kontrah KK  
		WHERE 
			KK.GUID = _GUIDPlatnika
		;

	 END IF; -- koniec _Mode='potwsald_Naglowek' 

/*
CALL ht_pr_potwsald2('PotwSald_Pozycje', '{60E7412B-7E2B-4D07-AE5F-583227945E0C}',"", '', '2022-12-06','datawystaw','-1','1','0','0','0','0','','2011019047');
CALL ht_pr_potwsald2('PotwSald_Pozycje', 'IM_97ccddc5beac6256df5a07dcc2d20820',"", '', '2022-12-29','datadekretacji','-1','1','2','0','0','0','','202100746');
*/	
	
	IF _MODE = 'PotwSald_Pozycje' THEN
		DROP TABLE IF EXISTS t_roz02;

		CREATE TEMPORARY TABLE `t_roz02` (
		`waluta` varchar(3),
		`kontofk_sort` varchar(20),
		`kontofk_oper` varchar(38),
		`nrwewn` varchar(20),
		`nrdokfin` varchar(100),
		`sr_opoznienie` double(16,4),
		`CKwotaWal` double(16,4),
		`CKwota` double(16,4),
		`CKwotaWn` double(16,4),
		`CPozostalo` double(16,4),
		`CPozostaloWal` double(16,4),
		`CPozostaloWn` double(16,4),
		`CPozostaloMa` double(16,4),
		-- `datawystaw` date,
		-- `dataplatnosci` date,
		datawystaw varchar(10),
		dataplatnosci varchar(10),
		`Dni` int(11),
		`odsetki` double(16,4),
		`OdsetkiCalc` double(16,4)
		) DEFAULT CHARSET=cp1250;


		SET _S =
			"INSERT INTO t_roz02
			SELECT
			w.symbol as waluta,
			#kontofksort# as kontofk_sort,
			REPLACE(REPLACE(O.kontofk,'*',''),'|','') as kontofk_oper,
			O.nrwewn, IF(O.rodzaj IN (20,21,22), O.nrdokkas, 
			IF(O.rodzaj IN (36,37), O.nrraportu, O.nrdokfin)) AS nrdokfin,
			O.sr_opoznienie,O.CKwotaWal,O.CKwota,IF(O.CWN, O.CKwotaWal, -O.CKwotaWal) AS CKwotaWn,
			
			
			IF(O.CWN, O.CKwota, -O.CKwota)- SUM(IF(O2.#DataWedlug# <= '#NaDzien#',r.kwota,0)) AS CPozostalo, 
			IF(O.CWN, O.CKwotaWal, -O.CKwotaWal)- SUM(IF(O2.#DataWedlug# <= '#NaDzien#',r.kwotaWal,0)) AS CPozostaloWal, 
			
			IF(O.CWN,IF(O.CWN, O.CKwotaWal, -O.CKwotaWal)- SUM(IF(O2.#DataWedlug# <= '#NaDzien#',r.kwotaWal,0)),0) AS CPozostaloWn, 
			-IF(NOT O.CWN,IF(O.CWN, O.CKwotaWal, -O.CKwotaWal)- SUM(IF(O2.#DataWedlug# <= '#NaDzien#',r.kwotaWal,0)),0) AS CPozostaloMa, 
			O.datawystaw, O.dataplatnosci,
			0 AS Dni, 
			O.odsetki, O.odsetki AS OdsetkiCalc
        FROM opng O
        -- INNER JOIN waluty w ON w.idn = O.waluta
        INNER JOIN waluty w ON w.idn = O.waluta_rozliczen
        LEFT JOIN rozrach r ON r.idnoper= O.guid
		  LEFT JOIN opng O2 ON r.idnoper2= O2.guid 
			WHERE 
		  O.deleted=0 and O.rozrachunek=1 and O.platnikGUID<>'' and O.platnikGUID = '#GUIDPlatnika#'
			and not (O.rodzaj in (43,44) and O.nrdokfin like 'RKB%') -- wylacza roznice kursowe
			and not (O.rodzaj = 44 and O.rodzaj_typ = 1) -- wylacza harmonogram rozliczenia zamowienia (uzywane w Crist)
		  and O.#DataWedlug# <= '#NaDzien#' 
			and (IF(@session.globals.Owner = 'PROBIER',O.kontofk not like '*|2|48|%',TRUE))
			--  AND O.kurs<>0 
			AND if('#ByKontoFK#' = 2, REPLACE(REPLACE(O.kontofk,'*',''),'|','') = '#Param_D#',TRUE)
		#WALUTA#
        GROUP BY O.GUID
        -- #HAVING#
        -- zawsze ograniczamy pozycje do nierozliczonych, gdy wszystkie sa rozliczone to nie ma rekordów, ale wydruk idzie, tylko bez pozycji
        HAVING ROUND(ifnull(CPozostalo,0),2) <> 0  and ROUND(ifnull(CPozostaloWal,0),2) <> 0
        ORDER BY
			#ORDER#
			O.waluta, O.#DataWedlug#,  O.dataplatnosci
		;";

		SET _S = REPLACE(_S, '#GUIDPlatnika#', _GUIDPlatnika);
		SET _S = REPLACE(_S, '#DataWedlug#', _DataWedlug);
		SET _S = REPLACE(_S, '#NaDzien#', _NaDzien);
		SET _S = REPLACE(_S, '#WALUTA#', _WALUTA);
		SET _S = REPLACE(_S, '#ByKontoFK#', _ByKontoFK);
		SET _S = REPLACE(_S, '#Param_D#', _Param_D);


		IF _ByKontoFK IN ('1','2') THEN
			SET _S = REPLACE(_S, "#kontofksort#", "REPLACE(REPLACE(O.kontofk,'*',''),'|','')");
			SET _S = REPLACE(_S, '#ORDER#', 'kontofk_sort, ');
		ELSE
			SET _S = REPLACE(_S, "#kontofksort#", "''");
			SET _S = REPLACE(_S, '#ORDER#', '');
		END IF;
		
		/*
		IF _SaldaZerowe = '1' THEN
		  SET _S = REPLACE(_S, '#HAVING#', '');
		ELSE
		  SET _S = REPLACE(_S, '#HAVING#', 'HAVING ROUND(ifnull(CPozostalo,0),2) <> 0  and ROUND(ifnull(CPozostaloWal,0),2) <> 0');
		END IF;
 */
/*
		SET _S = REPLACE(_S, '#HAVING#', 'HAVING ROUND(ifnull(CPozostalo,0),2) <> 0  and ROUND(ifnull(CPozostaloWal,0),2) <> 0  ');
		SET _S = REPLACE(_S, '#HAVING#', 'HAVING ABS(CPozostalo) > 0.009 and ABS(CPozostaloWal) > 0.009 ');
		SET _S = REPLACE(_S, '#ROZLICZONE#', 'HAVING ABS(IF((O.kurs_rozliczen = 0 AND (O.rodzaj NOT IN (20,21,36,37))) OR (O.To_RK),0,
						IF(O.CWN, O.CKwota,-O.CKwota)- O.CRozliczone)) > 0.009 ');
*/

		SET @sqltest = _S;
		CALL _ExecuteCmd(_S, @Error); -- SELECT * FROM t_roz01; DROP TABLE IF EXISTS t_roz01;


		IF _Waluta_old = '-1' THEN
			DROP TABLE IF EXISTS ta_waluty_potw;
			CREATE TEMPORARY TABLE ta_waluty_potw SELECT DISTINCT waluta FROM t_roz02;
			CALL fr_ht_konto('POTW', _GUIDPlatnika, _ScenarioName, '',0,'','','',_Waluta_old);
		END IF;

  -- specjalny przypadek gdy nie ma w ogole pozycji - saldo zerowe, tutaj pusty wpis, bo w szablonie nie da sie tego obsluzyc
  -- alternatywa jest dodanie kolumny do naglowka z liczba pozycji, ale to slabe, bo trzeba liczyc pozycje w naglowku
  IF _SaldaZerowe = '1' and (select count(*) from t_roz02) = 0 THEN

  SELECT symbol INTO _walutastr FROM waluty WHERE idn = _Waluta_old;

   insert into t_roz02 (waluta, datawystaw, dataplatnosci, nrdokfin, CKwotaWal, CPozostaloWn)
    values(IF(_Waluta_old = '-1','---',_walutastr), '', '', IF(_Jezyk='0','BRAK POZYCJI - SALDO ZEROWE', 'NO POSITIONS - ZERO BALANCE'), 0, 0);
  end if;

		SELECT
		'ht_pr_potwsald2_poz' AS ht_pr_potwsald2_poz,
		@_KontoBankowePotw AS DomyslnyBankPotw,
		_ByKontoFK AS _ByKontoFK,
		_Param_D AS Param_D,
		t.* FROM t_roz02 t;


		DROP TABLE IF EXISTS t_roz02;

	
	END IF; 	-- _MODE = 'PotwSald.Pozycje'	
	
END$$

DELIMITER ;
