kb:pg:migracija_crystal_reports_obrazaca

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
kb:pg:migracija_crystal_reports_obrazaca [2018/02/22 11:08] – created milanokb:pg:migracija_crystal_reports_obrazaca [2020/01/13 23:43] (current) milano
Line 1: Line 1:
 ====== Migracija Crystal Reports izveštaja na Postgres ====== ====== Migracija Crystal Reports izveštaja na Postgres ======
  
 +===== TTX i COM izveštaji =====
  
-Izveštaji koji se sami kače na bazu moraju se prebaciti na Command objekat koji se takođe sam kači na bazu, ali iz nekog razloga može da vidi parametrizovane upite u PGS serveru. \\ +TTX i COM izveštaji se ne moraju prepravljati jer njima Balans prosleđuje podatke.
-TTX i COM izveštaji se ne moraju prepravljati jer njima Balans prosleđuje podatke. Postupak za prepravku takvih izveštaja je sledeći:+
  
-Na računaru na kojem je instaliran Balans i ima pristup bazama podataka u Data 20 folderu treba pokrenuti Formula Checker, odabrati opciju 'obradi i podfoldere' i kliknuti na sličicu PGS slona\\ +===== CR i Postgres ODBC ===== 
-Direktorijum JET baze koja sadrži upite na koje se izveštaji oslanjaju zadaje se klikom na dugme foldera iznad sličice PGS slona. \\ {{:kb:slike:formulachecker.png?818x203}} \\ + 
-Na kraju procesa u folderu Data 20 ili u folderu sa izveštajima će biti napravljen fajl **Izvestaj_o_izvestajima.txt ** \\ +Crystal Reports ne funkcioniše prirodno sa Postgres ODBC drajverom, jer ne vidi //parametrizovane //upite ! 
-Sadržaj tog fajla će biti spisak izveštaja sa pripadajućim SQL komandama za dobijanje podataka iz PGS baze. Npr.+ 
 +Izveštaji koji se oslanjaju na ODBC se moraju prebaciti na //Crystal Reports// //Command// objekat koji može da vidi parametrizovane upite na PGS bazama. 
 + 
 +\\ 
 +Na računaru na kojem je instaliran Balans i ima pristup bazama podataka u //Data// folderu postupak za prepravku takvih izveštaja je sledeći: 
 + 
 +   - Pokrenuti program **Formula Checker** 
 +  - Odabrati opciju '//obradi i podfoldere//' 
 +  - Kliknuti na sličicu Postgres slona \\ Direktorijum JET baze koja sadrži upite na koje se izveštaji oslanjaju zadaje se klikom na dugme foldera iznad sličice PGS slona.{{  :kb:slike:formulachecker.png?818x203  }} 
 +  Na kraju procesa u //Data //folderu ili u folderu sa izveštajima će biti napravljen fajl **Izvestaj_o_izvestajima.txt** \\ Sadržaj tog fajla će biti spisak izveštaja sa pripadajućim SQL komandama za dobijanje podataka iz PGS baze. \\  \\ Ovi podaci biće neophodni za definisanje Command objekta u Crystal Designer-u ! \\  \\ Na primer: \\  \\ <font inherit/Courier New,Courier,monospace;;inherit;;inherit>E:\Razvoj\Assets\Reports_4\Artikli i Usluge\Kartica artikla (prosirena).rpt</font>
  
-E:\Razvoj\Assets\Reports_4\Artikli i Usluge\Kartica artikla (prosirena).rpt \\ 
 Parametri: 5 \\ Parametri: 5 \\
 {?inElID} {?inSklID} {?inDatStart} {?inDatEnd} {?InFal} \\ {?inElID} {?inSklID} {?inDatStart} {?inDatEnd} {?InFal} \\
 Tabele: 1 \\ Tabele: 1 \\
-tabela rptProveraArtikla: ODBC —> SELECT <nowiki>*</nowiki> FROM {?dbSchemaName}rptProveraArtiklaMP({?inElID},{?inSklID},{?inDatStart},{?inDatEnd},{?InFal}::boolean)+tabela rptProveraArtikla: ODBC —> SELECT * FROM {?dbSchemaName}rptProveraArtiklaMP({?inElID},{?inSklID},{?inDatStart},{?inDatEnd},{?InFal}::boolean) 
 + 
 +  - Otvoriti prvi izveštaj, desni klik na Database Fields pa opcija Set Datasource Location… \\ {{  :kb:slike:setdatasourcelocation.png?nolink&297x210  }} 
 +  - U novom prozoru u gornjem polju 'Current Data Source' kliknuti na ime tabele/upita koji se koristi, a u donjem polju 'Replace with' kliknuti na 'Create New Connection' i unutar toga ODBC (RDO). Pojaviće se forma za odabir ODBC konekcije pa treba odabrati prethodno napravljeni PGS ODBC konektor __sa isključenom opcijom TrueIsMinus1__  (npr. PostgreSQL35W): \\ {{  :kb:slike:setdatasourcelocation2.png?774x587  }} 
 +  - Nakon toga treba kliknuti na Add Command u ODBC (RDO) odeljku pa na dugme 'Update'. Pojaviće se forma za unos SQL komande i parametara. U polje za SQL treba copy–paste komandu iz fajla Izvestaj_o_izvestajima.txt pa za svaki parametar u {?…} zagradama treba dodati odgovarajući bez tih zagrada klikom na dugme Create… \\  \\ {{  :kb:slike:setdatasourcelocation3.png?nolink&894x731  }} 
 + 
 +Uglavnom su parametri čiji naziv počinje sa **InDat**  tipa **DateTime**, parametri koji se kastuju sa **CBool** () ili ::**boolean**  su tipa **Boolean**, a ostali su tipa **Number**. 
 + 
 + \\ 
 +Value Type za parametre koji su dodatno uokvireni u apostrofe i za **dbSchemaName**  je **String**, a za ostale je najbolje pogledati kroz QA za svaki slučaj. \\ 
 +Parametar **dbSchemaName **se od 7.3.2019. više **ne koristi**, a ako se koristi __default value za njega ne treba zadavati__**.** 
 + 
 + \\ **VAŽNA NAPOMENA!  **Polje //Parameter Name//  je **case sensitive**  (osetljivo na velika i mala slova) i mora u potpunosti da odgovara nazivu parametra u Crstal Reports obrascu (sekcija //Parameters//). \\ 
 +U suprotnom, prilikom verifikacije baze podataka ne gine greška tipa: 
 + 
 +<code> 
 +Parameters exit but IPD isn't set. Please call SQLDescribeParam 
 +</code> 
 + 
 +ili 
 + 
 +<code> 
 +column "<ime parametra>" does not exist at character 95 
 +</code> 
 + 
 + \\ **Kada se izveštaj pravi na bazi koja je **raščlanjena **u DSN podešavanje na strani 2 u polje "Connect Settings" treba upisati **SET SESSION search_path TO btek,bcus,bpub,public,pg_catalog**; ** 
 + 
 +**{{  :kb:pg:connectsettings.png?nolink&465x459  }}** \\ 
 +Na kraju, kada se dodaju svi parametri u spisak, posle klika na **OK**  pojaviće se forma za unos parametara (iz nepoznatog razloga pojavi se 2 puta) pa ako sve prođe kako treba u polju '**Current Data Source**' će za **Table Name**  pisati **Command**  umesto imena tabele/upita. \\  \\ **{{  :kb:slike:setdatasourcelocation4.png?335x304  }}** 
 + 
 +**Ako izveštaj ima **podizveštaje ** koji koriste svoje upite onda u polju 'Current Data Source' treba za svaki od njih ponoviti postupak zamene upita SQL komandom iz fajla Izvestaj_o_izvestajima.txt
  
-Otvoriti prvi izveštaj, desni klik na Database Fields pa opcija Set Datasource Location… \\ {{:kb:slike:setdatasourcelocation.png?nolink&297x210}} \\ +Ponoviti postupak za sve ostale izveštajeali ne zatvarati program Crystal Reports-tako da se ne mora svaki put praviti nova ODBC (RDO) konekcija.
-U novom prozoru u gornjem polju 'Current Data Source' kliknuti na ime tabele/upita koji se koristi, a u donjem polju 'Replace with' kliknuti na 'Create New Connection' \\ +
-i unutar toga ODBC (RDO). Pojaviće se forma za odabir ODBC konekcije pa treba odabrati prethodno napravljeni PGS ODBC konektor npr. PostgreSQL35W. \\ {{:kb:slike:setdatasourcelocation2.png?774x587}} \\ +
-Nakon toga treba kliknuti na Add Command u ODBC (RDO) odeljku pa na dugme 'Update'. Pojaviće se forma za unos SQL komande i parametara. \\ +
-U polje za SQL treba copy–paste komandu iz fajla Izvestaj_o_izvestajima.txt pa za svaki parametar u {?…} zagradama treba dodati odgovarajući bez tih zagrada \\ +
-klikom na dugme Create… \\ {{:kb:slike:setdatasourcelocation3.png?894x731}} \\ +
-Value Type za parametre koji su dodatno uokvireni u apostrofe i za dbSchemaName je String, a za ostale je najbolje pogledati kroz QA za svaki slučaj. \\ +
-Uglavnom su parametri čiji naziv počinje sa InDat tipa DateTime, parametri koji se kastuju sa CBool() ili ::boolean su tipa Boolean, a ostali su tipa Number. \\ +
-Na kraju, kada se dodaju svi parametri u spisak, posle klika na OK pojaviće se forma za unos parametara (iz nepoznatog razloga pojavi se 2 puta) pa \\ +
-ako sve prođe kako treba u polju 'Current Data Source' će za Table Name pisati Command umesto imena tabele/upita. \\ {{:kb:slike:setdatasourcelocation4.png?335x304}}+
  
-Ako izveštaj ima **podizveštaje **  koji koriste svoje upite onda u polju 'Current Data Source' treba za svaki od njih ponoviti postupak zamene upita SQL komandom iz fajla Izvestaj_o_izvestajima.txt 
  
-Ponoviti postupak za sve ostale izveštaje, ali ne zatvarati prozor Crystal Reports-a tako da se ne mora svaki put praviti nova ODBC (RDO) konekcija. 
  • kb/pg/migracija_crystal_reports_obrazaca.1519297701.txt.gz
  • Last modified: 2018/02/22 11:08
  • by milano