begin
/* Tato procedura slouží k načítání lokalizovaných reportů */
if ((:langid = '') or (:langid is null)) then begin
/* Pokud neni langid zadano tak pozaduji report v lokalnim jazuku tudi z tabulky Reports*/
if ((:objid = '') or (:objid is null)) then begin
/* pokud neni zadano ani objid tak pozaduji vsechny reporty*/
for
select A.ID, A.DATASOURCE, A.SYSTEM, A.DATA, A.TITLE, A.REPORTID, A.OBJVERSION, A.ISFORM, A.CREATEDBY_ID, A.CORRECTEDBY_ID, A.OWNER_ID, A.HASH, A.VisibleFrom$DATE, A.VisibleTo$DATE
from Reports A
into
:ID, :DATASOURCE, :SYSTEM, :DATA, :TITLE, :REPORTID, :OBJVERSION, :ISFORM, :CREATEDBY_ID, :CORRECTEDBY_ID, :OWNER_ID, :HASH, :VisibleFrom$DATE, :VisibleTo$DATE
do suspend;
end else begin
/* Pokud zadam objid tak vybiram primo to jedno ID */
for
select A.ID, A.DATASOURCE, A.SYSTEM, A.DATA, A.TITLE, A.REPORTID, A.OBJVERSION, A.ISFORM, A.CREATEDBY_ID, A.CORRECTEDBY_ID, A.OWNER_ID, A.HASH, A.VisibleFrom$DATE, A.VisibleTo$DATE
from Reports A
where A.ID = :objid
into
:ID, :DATASOURCE, :SYSTEM, :DATA, :TITLE, :REPORTID, :OBJVERSION, :ISFORM, :CREATEDBY_ID, :CORRECTEDBY_ID, :OWNER_ID, :HASH, :VisibleFrom$DATE, :VisibleTo$DATE
do suspend;
end
end else begin
/* Zadal jsem langid */
if ((objid = '') or (objid is null)) then begin
/* objid jsem neposlal takze vsechno pro dany jazyk - dotahnu z sys$langreport vse co ma stejny jazyk a k tomu vse z report kde ID neni mezi temi co jsem uz dotahl se SYS$LANGREPORTS*/
for
select A.ID, A.DATASOURCE, A.SYSTEM, Coalesce(B.DATA, A.DATA), Coalesce(B.TITLE, A.TITLE), A.REPORTID, A.OBJVERSION, A.ISFORM, A.CREATEDBY_ID, A.CORRECTEDBY_ID, A.OWNER_ID, A.HASH, A.VisibleFrom$DATE, A.VisibleTo$DATE
from Reports A
left join sys$langreports B on B.id = A.id and B.langid = :langid
into
:ID, :DATASOURCE, :SYSTEM, :DATA, :TITLE, :REPORTID, :OBJVERSION, :ISFORM, :CREATEDBY_ID, :CORRECTEDBY_ID, :OWNER_ID, :HASH, :VisibleFrom$DATE, :VisibleTo$DATE
do
suspend;
end else begin
/* Zadal jsem langid i objid - budu nejdrive hledat id mezi lokalizovanymi reporty a kdyz se nenajde tak ho vezmu z reports */
for
select A.ID, A.DATASOURCE, A.SYSTEM, Coalesce(B.DATA, A.DATA), Coalesce(B.TITLE, A.TITLE), A.REPORTID, A.OBJVERSION, A.ISFORM, A.CREATEDBY_ID, A.CORRECTEDBY_ID, A.OWNER_ID, A.HASH, A.VisibleFrom$DATE, A.VisibleTo$DATE
from Reports A
left join sys$langreports B on B.id = A.id and B.langid = :langid
where A.id = :objid
into
:ID, :DATASOURCE, :SYSTEM, :DATA, :TITLE, :REPORTID, :OBJVERSION, :ISFORM, :CREATEDBY_ID, :CORRECTEDBY_ID, :OWNER_ID, :HASH, :VisibleFrom$DATE, :VisibleTo$DATE
do
suspend;
end
end
end