proiect siveco applications - casmb.ro erp/rapoarte sivapps... · o este cel mai folosit tip de...

96
PROIECT: SIVECO APPLICATIONS REPORTS 9I Versiune Document 1.0 Creat: 04/08/2004 Ultima modificare: 04/08/2004 SIVECO Romania SA June 2006

Upload: others

Post on 23-Oct-2019

15 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

PROIECT: SIVECO APPLICATIONS REPORTS 9I

Versiune Document 1.0 Creat: 04/08/2004

Ultima modificare: 04/08/2004

SIVECO Romania SA June 2006

Page 2: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

CONTROLUL DISTRIBUTIEI

Nr. Copie Distributie

1. Copie interna SIVECO Romania

2. Copie

ISTORIC SCHIMBARI

Versiune Data Comentarii

1.0 Versiune Initiala

LISTA VERIFICARILOR SI APROBARILOR

Verificat si aprobat de

Nume Functie Departament Semnatura Data

SIVECO Romania

Manual Reports 9i Page 2 of 96

Page 3: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

DOCUMENTE REFERITE

Titlu Data Versiune Autor(i)

1.

2.

3.

4.

5.

6.

7.

8.

9.

Manual Reports 9i Page 3 of 96

Page 4: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

CUPRINS

CONTROLUL DISTRIBUTIEI......................................................................................................................................... 2 ISTORIC SCHIMBARI ................................................................................................................................................... 2 LISTA VERIFICARILOR SI APROBARILOR .................................................................................................................... 2 DOCUMENTE REFERITE.............................................................................................................................................. 3 CUPRINS..................................................................................................................................................................... 4

1. INTRODUCERE................................................................................................................................ 5 1.1. OBIECTIVELE CURSULUI ...................................................................................................................................... 5 1.2. FORMATE DE IESIRE ............................................................................................................................................ 6 1.3. ORICE DATE ........................................................................................................................................................ 7 1.4. ORIUNDE............................................................................................................................................................. 8 1.5. CARACTERISTICI ................................................................................................................................................. 9 1.6. FACILITATI.......................................................................................................................................................... 9 1.7. FUNCTIONALITATI SI ARTICOLE SCHIMBATE IN VERSIUNEA 9I........................................................................... 10

2. CONCEPTE DE BAZA IN ORACLE REPORTS........................................................................ 12 2.1. INTRAREA IN APLICATIE .................................................................................................................................... 12 2.2. CREEAREA UNUI RAPORT NOU........................................................................................................................... 12

Crearea unui nou raport folosind Report Wizard .............................................................................................................................................. 13 Creearea unui raport nou folosind metoda manuala......................................................................................................................................... 14

2.3. TIPURI DE RAPOARTE ........................................................................................................................................ 15 2.4. WIZARDS........................................................................................................................................................... 17 2.5. Despre OBJECT NAVIGATOR ............................................................................................................................. 18 2.6. FERESTRELE DIN REPORT BUILDER ................................................................................................................... 19 2.7. OBIECTELE DIN DATA MODEL........................................................................................................................... 24 2.8. OBIECTELE DIN PAPER LAYOUT ........................................................................................................................ 25 2.9. PROPERTY SHEET INSPECTOR ............................................................................................................................ 27

3. CONCEPTE AVANSATE............................................................................................................... 29 3.1. OBIECTUL DE TIP RAPORT.................................................................................................................................. 30 3.2. OBIECTELE DIN MODELUL DATELOR.................................................................................................................. 33 3.3. OBIECTELE DIN MODELUL DE PREZENTARE ....................................................................................................... 53 3.4. OBIECTELE DIN MODELUL DE SPECIFICARE A PARAMETRILOR........................................................................... 72 3.5. IERARHIA OBIECTELOR...................................................................................................................................... 73

Legaturile intre obiecte....................................................................................................................................................................................... 74 3.6. RAPOARTE MATRICIALE .................................................................................................................................... 75 3.7. UTILIZAREA PL/SQL IN RAPOARTE................................................................................................................... 89

4. ANEXE 94 4.1. INSTALARE ORACLE 9I DEVELOPER SUITE........................................................................................................ 94 4.2. ALIAS PENTRU CONECTARE LA BAZA ................................................................................................................ 94 4.3. PACKAGE-UL SRW ............................................................................................................................................. 95 4.4. SETAREA PROPIETATILOR PENTRU UN RAPORT ASCII (MOD CARACTER ) ......................................................... 96

Manual Reports 9i Page 4 of 96

Page 5: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

1. INTRODUCERE

Oracle Reports 9i permite proiectarea, afisarea si imprimarea rapoartelor si este destinat dezvoltatorilor de aplicatii care sunt familiarizati cu limbajele SQL si PL/SQL. Reports 9i este considerat unul dintre cele mai puternice instrumente de proiectare a rapoartelor, ce permite dezvoltatorilor IT sa publice orice date, in orice format, oriunde.

1.1. OBIECTIVELE CURSULUI

La sfarsitul acestui curs, ar trebui sa fiti capabili sa:

• Descrieti capabilitatile intrumentului Report builder 9i

• Dezvoltati si mentine diferite tipuri de rapoarte

• Proiecta si formata datele conform cerintelor cerute de end user

• Incorpora text si grafice in raport

• Apela rapoarte din Forms Builder 9i

Manual Reports 9i Page 5 of 96

stefans
Capitolul se v-a desfasura pe parcursul a 30 de min
Administrator
Program curs
Page 6: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

1.2. FORMATE DE IESIRE

Numarul de formate de tiparire a continuat sa creasca de la versiune la versiune, 9i permitand generari de rapoarte in formatele:

- postscript

- PCL

- PDF

- RTF

- Delimited Text

- Text

- HTML

- XML

Manual Reports 9i Page 6 of 96

Page 7: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

1.3. ORICE DATE

Oracle Reports 9i are urmatoarele surse de date disponibile:

- Oracle 9i

- XML

- JDBC

- Text files

- PL/SQL Ref Cursors

- Express

Manual Reports 9i Page 7 of 96

Page 8: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

1.4. ORIUNDE

Oracle 9i Reports suporta urmatoarele destinatii pentru datele generate:

- imprimanta

- fisier

- browser de internet

- e-mail

- Oracle 9i AS Portal

Manual Reports 9i Page 8 of 96

Page 9: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

1.5. CARACTERISTICI

Principalele caracteristici ale instrumentului sunt urmatoarele:

• modelul datelor ( Data Model) si modelul de prezentare (Paper Layout) care permit descrierea si formatarea raportului

• functii impachetate pentru implementarea formulelor de calcul

• suport pentru utilizarea elementelor grafice, precum si proiectare de grafice

• facilitati de imprimare conditionata

• previewer integrat pentru vizualizarea raportului inainte de imprimare

• help on-line si wizard prietenos ce ghideaza orice pas in procesul de proiectare

• suport pentru orice date, orice format

• abilitatea de a adauga iesiri de raport la o pagina HTML prin intermediul tag-urilor

1.6. FACILITATI

Oracle Reports permite proiectarea non-procedurala a rapoartelor, asigurind urmatoarele facilitati:

• functionalitate implicita extinsa

• interfata de dezvoltare prietenoasa

• editoare

• arhitectura extensibila

• mediu de dezvoltare portabil

Functionalitate implicita extinsa Pentru construirea unui raport sunt suficiente specificarea frazei de interogare, alegerea formei de prezentare si executia raportului. Raportul implicit va contine etichete pentru fiecare coloana selectata si va fi formatat potrivit modelului de prezentare ales. Oracle Reports va crea si organiza, in mod automat, obiectele de care raportul are nevoie.

Interfata prietenoasa Dezvoltarea si intretinerea rapoartelor sunt facilitate de interfata prietenoasa tip “fill-in-the-form”care permite imbunatatirea productivitatii in proiectarea rapoartelor.

Manual Reports 9i Page 9 of 96

Page 10: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Editoare Oracle Reports furnizeaza editoare puternice care permit, de exemplu, modificarea obiectelor sau crearea elementelor constante de tip text sau de tip imagine. Spre deosebire de alte instrumente de generare a rapoartelor, Oracle Reports asigura un control precis asupra raportului, mai ales prin intermediul instrumentelor Paper Layout si Paper Design care se bazeaza pe principiul WYSIWYG.

Arhitectura extensibila In cazul rapoartelor complexe, Oracle Reports ofera posibilitatea utilizarii extensiei procedurale a limbajului SQL (PL/SQL) sau a modulelor 3GL. Deasemenea, anumite tipuri de obiecte construite cu Oracle Reports, inclusiv rapoartele insele, pot fi folosite de catre alte instrumente Oracle, facind astfel posibila realizarea unor aplicatii complexe si puternice.

Mediu de dezvoltare portabil In versiunile anterioare de SQL*Report Writer, era necesara rescrierea si intretinerea unei versiuni de raport, pentru fiecare platforma pe care acesta trebuia sa ruleze. Rapoartele create cu Oracle Reports 9i sunt portabile relativ la hardware si sistemul de operare.

1.7. FUNCTIONALITATI SI ARTICOLE SCHIMBATE IN VERSIUNEA 9I

Nume de executabile modificate

Manual Reports 9i Page 10 of 96

stefans
Schema integrare cu Reports Builder si Graphic Builder
Page 11: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Ferestre Report Builder 9i in comparative cu versiunile anterioare

Report Editor este compus din urmatoarele ferestre:

- Data model view

- Paper layout view ( in versiunile anterioare Layout Model view )

- Paper design view (in versiunile anterioare Live Previewer view )

- Paper parameter form (in versiunile anterioare Parameter Form view )

- Web Source view ( nou in acest release )

Manual Reports 9i Page 11 of 96

Page 12: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

2. CONCEPTE DE BAZA IN ORACLE REPORTS

2.1. INTRAREA IN APLICATIE

Exista 3 modalitati de a intra in instrumentul de proiectare Reports Builder:

- prin selectarea succesiva start/programs/oracle developer suite/reports developer/reports builder

- prin folosirea programului Windows Explorer si efectuarea unui dublu click pe executabilul rwbuilder.exe

- mai rapid, se poate creea un shortcut pe desktop

2.2. CREEAREA UNUI RAPORT NOU

Rapoartele pe care le costruiti trebuie sa satisfaca cerintele business-ului. Pentru a incepe cu dreptul procesul de translatare a cerintelor intr-un nou raport, trebuie sa luati intai cateva decizii, si sa alegeti ce tip de raport se potriveste mai bine cerintelor.

Decizii premergatoare proiectarii raportelor:

• Care este forma de prezentare a raportului (tip raport)?

• Care este structura raportului (grupuri, relatii, ierarhii)?

• Care sunt datele necesare si care este modalitatea cea mai eficienta de recuperare a acestora?

• Este posibila partajarea codului sau obiectelor

Manual Reports 9i Page 12 of 96

Administrator
Se face intai instalare de Report builder 45 min
Administrator
Creare shortcut pe desktop si intrare in aplicatie
Page 13: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

• La ce fel de imprimanta se v-a tipari raportul?

• Se v-a proiecta in mod graphic sau character?

• Se v-a decide formatul raportului ( Landscape, Portrait) si marimea ( A4, A3, etc.)

• Se v-a decide macheta care sta la baza construirii raportului, daca se foloseste wizard-ul (eventual se construieste o machete noua )

Recuperarea si partajarea datelor din punct de vedere al proiectantului de rapoarte este una dintre cele mai importante decizii:

• Se are in vedere minimizarea accesului la baza de date

• analiza structurii raportului si a numarului de interogari implicate

• utilizarea de cod si obiecte partajate (comune mai multor aplicatii)

Exista doua modalitati de abordare la creearea unui raport nou:

- metoda manuala

- metoda automata folosind Report Wizard ( de cele mai multe ori sunt necesare si interventii manuale, sau rafinari, dupa ce Wizard-ul si-a incheiat treaba )

Crearea unui nou raport folosind Report Wizard

Folosind Report Wizard, puteti creea usor, aproape orice tip de raport.

Etape:

- se porneste report builder

- daca apare fereastra de dialog Welcome, selectati Use Report Wizard ( daca nu se selecteaza File/New Report apoi in fereastra aparuta Use the Report Wizard.

- creearea unei noi definitii de raport

- definirea modelului datelor ( alegerea surselor de date, relatiilor dintre date si campurilor calculate )

- specificarea unui layout. Se poate folosi sau customiza un layout deja definit, sau crea unul nou

- se rafineaza raportul folosind ferestrele din Report Editor

Manual Reports 9i Page 13 of 96

Administrator
Creeare raport cu Wizard >>> Employee
Page 14: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Creearea unui raport nou folosind metoda manuala

Un nou raport poate fi creat in mod implicit, odata cu invocarea Oracle Reports, sau in mod explicit prin

utilizarea meniurilor disponibile.

Invocarea Oracle Reports

Utilizarea meniurilor pentru creearea unui raport nou

Pentru construirea unui raport in Oracle Reports, este necesara parcurgerea urmatorilor pasi:

- Oracle Reports creeaza in mod implicit o definitie de raport. Prima fereastra aparuta se numeste Object Navigator. Aceasta afiseaza o lista a obiectelor raportului. Tot aici se pot atasa librarii, proceduri sau package-uri raportului.

- descrierea modelului datelor: interogari, legaturi, cimpuri calculate, campuri de insumare

- construirea modelului de prezentare: formate implicite (furnizate de Oracle Reports) sau definite de utilizator

Manual Reports 9i Page 14 of 96

Administrator
Creeare raport employee fara wizard
Page 15: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

2.3. TIPURI DE RAPOARTE

Oracle Reports 9i permite proiectarea unei mari varietati de rapoarte, incluzind rapoarte de tip:

- Rapoarte tabulare

o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde la o coloana din tabela selectata

- grupare stanga

o contine grupuri multiple in data model, impartind randurile din tabela sursa pe baza unei valori comune ( in exemplul urmator dupa Branch). Se foloseste si pentru a elimina repetarea aceleiasi valori de mai multe ori

Manual Reports 9i Page 15 of 96

Administrator
Se v-a construe cu Wizard cate un raport din fiecare tip (exemple din Manual.pdf )
Page 16: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

- grupare deasupra

o contine grupuri multiple in data model, impartind randurile din tabela sursa pe baza unei valori comune ( in exemplul urmator dupa Branch). Se foloseste si pentru a elimina repetarea aceleiasi valori de mai multe ori. Data model este identic cu cel de tip grupare stanga, singura diferenta este in formatul de afisare a datelor.

- rapoarte matriciale

o este compus din 4 grupari de date:

un grup de date este afisat pe orizontala ( etichetele de pe orizontala )

un grup de date este afisat pe verticala ( etichetele de pe verticala )

un grup de date este un produs cartezian al tuturor locatiilor posibile in care datele de pe orizontala si de pe verticala se intersecteaza.

Manual Reports 9i Page 16 of 96

Page 17: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

- rapoarte de tip factura Form

o afiseaza o singura inregistrare pe pagina, cu valorile campurilor in dreapta etichetelor

- rapoarte de tip eticheta postala

o tipareste etichetele in multiple coloane pe fiecare pagina

- rapoarte de tip scrisoare

o contine valori din baza de date grupate sub forma unui text.

2.4. WIZARDS

Report Builder include wizard-uri care ajuta la definirea usoara si rapida a raportului sau pentru

adaugarea de obiecte in el:

- Report Wizard

- Report block wizard (doar in 9i)

- Data wizard

- Graph wizard

Report Wizard ajuta la definirea usoara si rapida a unui raport cu o singura interogare ( single – query report). Toate setarile facute in tabpage-uri sunt folosite de wizard pentru a creea data model si layout-ul raportului

Report block wizard este o versiune de report wizard. Se foloseste pentru a creea layout-ul raportului. Pentru a accesa acest tool in Web Source Window se alege Insert din meniu, apoi Report block.

Data wizard ajuta la definirea usoara si rapida de selecturi, grupuri si totaluri pentru un raport cu mai multe interogari. Dupa ce Wizard-ul a creeat data model se poate:

modifica data model in Data model view

- folosi Data wizard pentru a creea alte selecturi suplimentare

- folosi Report Wizard pentru a creea un layout implicit

- modifica layout-ul implicit

Manual Reports 9i Page 17 of 96

Page 18: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Pentru a accesa acest tool, din Data model view se alege Insert/ Query. Pentru a reintra in Data wizard, sunt doua cai:

- se da click dreapta pe query, si se alege Data Wizard

- se da click pe query si apoi din meniul Setings se alege Settings

Graph Wizard ajuta la definirea usoara si rapida de grafice.

2.5. Despre OBJECT NAVIGATOR

Object Navigator afiseaza intr-o forma ierarhica toate obiectele raportului sau templatei, incluzand librarii atasate sau unitati de program. Folsind Object Navigator puteti:

- creea rapoarte, unitati de program PLSQL, librarii atasate, parametrii

- selecta si lucra cu rapoartele, selecturile, librariile, unitatile de program PLSQL, obiectele din data model, obiectele layout si obictele parameter form

- afisa ferestrele Report Editor

- expanda si restrange nodurile

- cauta obiecte

- vizualiza obiecte dupa ierarhie sau tip

- afisa propietati

- customiza Object navigator

- glisa (drag & drop ) unitati de program PLSQL

Manual Reports 9i Page 18 of 96

Page 19: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

2.6. FERESTRELE DIN REPORT BUILDER

Aceasta sectiune prezinta pe scurt Report Editor si celelalte ferestre care ajuta la proiectarea si vizualizarea raportului:

- Report Editor

- Data model view

- Paper layout view

- Paper design view

- Paper parameter form view

- Web source view

- Paleta de instrumente si bara de butoane standard

Report Editor

- Report Editor este o zona de lucru in care puteti manipula obiectele din raport direct, sau prin schimbarea proprietatilor in Property Inspector. In Report Editor se poate naviga intre diferitele ferestre a raportului (Data model view, Paper layout view, Paper design view, Paper parameter Form view, Web source view). Se poate accesa usor folosind shortcut-ul F7.

Data model view

- Data model view este o zona de lcuru, in care puteti creea, defini sau modifica selecturile, grupurile, coloanele, legaturile folosite in raport.

- Exista 3 modalitati de a accesa Data model view :

o View/Change view/Data model

o In bara de butoane standard se da click pe butonul Data Model view

o In Object navigator se da dublu click pe iconul Data model view, imediat langa nod

Manual Reports 9i Page 19 of 96

Page 20: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Paper layout view

- Paper layout view este o zona de lucru in care puteti modifica formatul raportului. Formatul default pentru raport este cel specificat in Report Wizard. Puteti modifica formatul prin manipularea obiectelor din layout, precum fraim-urile, fraim-urile repetitive, campurile, boirplate-urile, ancorele si obiectele grafice.

- Exista 3 modalitati de a accesa Data model view :

o View/Change view/Paper layout

o In bara de butoane standard se da click pe butonul Paper Layout view

o In Object navigator se da dublu click pe iconul Paper Layout view, imediat langa nod

Paper design view

Fereastra Paper design view este o zona de lucru in care puteti vizualiza si modifica raportul in timp real. Aici puteti customiza raportul interactiv, putand vedea rezultatele fiecarei schimbari imediat. Pentru a putea modifica raportul ( de exemplu latimea coloanelor ) Paper design view trebuie sa se afle in modul flex.

Manual Reports 9i Page 20 of 96

Page 21: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Puteti accesa paper design view in urmatoarele feluri:

- se da click pe butonul Paper design view din bara de instrumente standard

- se alege din meniu View / Change view / Paper desgin view

Paper parameter form view

Fereastra Paper parameter form este o zona de lucru in care se poate defini Runtime Paper Parameter Form (si anume fereastra care apare imediat inainte de executia raportului, si in care se pot seta diversi parametrii de intrare in raport). Pentru a face acest lucru se pot defini si/sau modifica obiectele din paper parameter form ( campuri si boirplate-uri). Se pot selecta parametrii de sistem predefiniti folosind parameter form builder ( se apeleaza cu F10, sau din meniu Tools / Parameter Form Builder ), sau se pot creea parametrii proprii. Cand se lanseaza raportul, Reports builder foloseste fereastra Paper parameter form ca o templata pentru Runtime Parameter Form. Campurile si boirplate-urile apar in Runtime Parameter form exact unde au fost proiectate in Paper parameter form. Daca nu se defineste un Runtime parameter form, Report builder v-a afisa unul implicit.

- Exista 3 modalitati de a accesa Paper Parameter form:

o Din meniul View/Change view/Paper Parameter form

o In bara de butoane standard se da click pe butonul Paper Parameter form

o In Object navigator se da dublu click pe iconul Paper Parameter form, imediat langa nod

Manual Reports 9i Page 21 of 96

Page 22: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Web Source view

Fereastra Web source afiseaza codul sursa pentru varianta web a raportului, incluzand tag-uri HTML si JSP. Programatorii experimentati de Java, pot edita sursa web direct in aceasta fereastra, folsind tag-uri JSP proprii.

- Exista 3 modalitati de a accesa fereastra Web Source:

o Din meniul View/Change view/Web Source

o In bara de butoane standard se da click pe butonul Web source

o In Object navigator se da dublu click pe iconul Web Source, imediat langa nod

Manual Reports 9i Page 22 of 96

Page 23: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Paleta de instrumente si bara de butoane standard

Paleta de instrumente si bara de butoane contin instrumente folosite la creearea manuala a obiectelor in ferestrele Report Editor ( in afara de fereastra Web source). Fiecare instrument este prezentat sub forma de icon. Paleta de instrumente se schimba in functie de fereastra activa. Cateva instrumente precum cel de selectie, sunt comune tuturor ferestrelor, celelalte fiind specifice. La trecerea mouse-ului pe deasupra icon-urilor apare un hint care ajuta la identificarea instrumentului.

Paleta de instrumente este pozitionata in partea stanga a ferestrelor Report Editor. Pentru a activa un instrument pentru o singura operatie se da click pe el, iar pentru multiple operatii se da dublu click. Pentru a ascunde paleta de instrumente se alege View / Tool Palete.

Bara de butoane standard este pozitionata deasupra ferestrelor Report Editor. Toate butoanele au echivalente si in meniul principal .

Manual Reports 9i Page 23 of 96

Page 24: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

2.7. OBIECTELE DIN DATA MODEL

Descrierea modelului datelor Dupa invocarea Oracle Reports si crearea definitiei unui nou raport,

proiectantul poate specifica datele prin descrierea modelului datelor. Acesta este compus din urmatoarele categorii de obiecte:

• interogari (queries)

• grupuri (groups)

• coloane (columns)

• parametri (parameters)

• legaturi (links)

Data model Object

Interogari Interogarile sunt instructiuni SQL ANSI-standard de tip SELECT, care permit regasirea datelor in orice baza de date, precum Oracle, XML, JDBC, Express. Pot fi utilizate una sau mai multe interogari asupra unei sau mai multor tabele.

Grupuri Grupurile stabilesc ierarhia datelor intr-un raport. Oracle Reports creeaza un grup, in mod automat, pentru fiecare interogare si permite crearea de noi grupuri definite de utilizator. De exemplu, pentru o interogare care permite regasirea identificatorilor de departamente si a numelor angajatilor, Oracle Reports va creea un grup care sa contina cele doua coloane selectate. Utilizatorul are posibilitatea de a defini un nou grup si de a atasa acestuia identificatorul departamentului, obtinind astfel un raport de tip “break” care grupeaza angajatii pe departamente.

Coloane Coloanele se afla in proprietatea grupurilor si sunt create automat pentru elementele selectate intr-o fraza de interogare. O coloana este plasata in grupul asociat acestei interogari. Oracle Reports permite definirea de noi

Manual Reports 9i Page 24 of 96

stefans
Prezentare in aplicatie a instrumentului
Page 25: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

coloane pentru agregarea datelor si utilizarea formulelor de calcul. Acestea pot fi atasate oricarui grup creat in mod automat de Oracle Reports sau definit de utilizator.

Parametri Parametrii permit modificarea criteriilor de selectie si a formulelor de calcul la momentul executiei. Pot fi utilizati pentru a inlocui o singura valoare literala sau o expresie intr-o fraza de interogare. Parametrii pot lua valorile specificate la momentul proiectarii raportului sau pot fi modificati la runtime.

Legaturi Legaturile permit stabilirea relatiilor de tip “parinte-copil” intre interogari sau grupuri, prin intermediul coloanelor de legatura (in locul conditiei standard pentru equijoin, exista posibilitatea specificarii unei alte clauze SQL sau a unei conditii aritmetice).

2.8. OBIECTELE DIN PAPER LAYOUT

Descrierea Paper layout Dupa definirea modelului datelor, este necesara descrierea formei de prezentare a raportului, adica stabilirea pozitiei obiectelor in raportul de iesire. Oracle Reports pune la dispozitie mai multe tipuri de modele de prezentare: tabular, “master/detail”, “scrisoare”, “eticheta postala”, “factura” si matriciale si ofera posibilitatea modificarii acestora si a crearii unor noi forme de prezentare.

Modelul de prezentare utilizeaza urmatoarele tipuri de obiecte:

• cadre repetitive (repeating frames)

• cadre simple (frames)

• cimpuri (fields)

• elemente constante (boilerplate) de tip text si de tip imagine

• ancore implicite si ancore declarate de utilizator (anchors)

Manual Reports 9i Page 25 of 96

Page 26: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Paper Layout object

Cadre repetitive Cadrele repetitive reprezinta echivalentul grupurilor la nivelul modelului de prezentare si servesc la afisarea inregistrarilor selectate din baza de date.

Cadre simple Cadrele simple sunt obiecte ale modelului de prezentare care servesc la gruparea celorlalte categorii de obiecte cu scopul controlului simultan asupra acestora.

Cimpuri Cimpurile reprezinta echivalentul coloanelor la nivelul modelului de prezentare, permitind definirea atributelor de formatare asociate acestor coloane. Cimpul este unul dintre catagoriile de obiecte care sunt localizate in interiorul unui cadru sau al unui cadru repetitiv.

Elemente constante Boilerplate-urile reprezinta elemente de tip text sau de tip imagine care apar intr-un raport la fiecare executie a acestuia. De exemplu, o eticheta care apare deasupra unei coloane constituie un element constant de tip text. Orice linie desenata in modelul de prezentare constituie un element constant de tip imagine.

Ancore Ancorele permit “ancorarea” (prinderea) muchiei unui obiect la muchia altui obiect, asigurind pozitionarea unuia in raport cu celalalt. De exemplu, un element constant de tip text poate fi ancorat la muchia unui cadru repetitiv de dimensiuni variabile, conservind distanta si pozitia elementului constant fata de cadrul repetitiv, indiferent de modificarile survenite asupra dimensiunilor acestuia.

Paper Parameter form Dupa definirea modelului datelor, si a layout-ului este necesara descrierea formei de prezentare a Runtime Parameter Form prin adaugarea, modificarea,

Manual Reports 9i Page 26 of 96

stefans
Prezentare in aplicatie a obiectului
Page 27: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

repozitionarea, etc obiectelor de tip parametru. Oracle Reports utilizeaza boilerplate-uri si cimpuri la generarea Runtime Parameter Form si adauga valorile implicite ale parametrilor la executia raportului. In acest moment, utilizatorul poate pastra valorile implicite ale parametrilor sau poate decide modificarea acestora. Paper parameter form utilizeaza urmatoarele tipuri de obiecte:

• campuri

• boirplate-uri

Paper Parameter form objects

Cimpuri Cimpurile (fields ) se folosesc pentru introducerea valorilor parametrilor.

Elemente constante Boilerplate-urile reprezinta elemente de tip text sau de tip imagine care apar in Runtime Parameter form.

2.9. PROPERTY SHEET INSPECTOR

Foile de proprietati (property sheets) reprezinta ferestre care afiseaza informatii (proprietati) despre anumite obiecte. Fiecare obiect Oracle Reports (fraza de interogare, grup, coloana, parametru) are asociata o foaie de proprietati. Pentru a obtine informatii ajutatoare despre o anumita propietate, se selecteaza propietatea si se apasa tasta 1. Pentru a afisa fereastra de propietati a unui anumit obiect, se selecteaza obiectul, si se apasa tasta F4.

Selectii multiple

Se pot selecta obiecte diferite in acelasi timp folosind Shift+Click sau Ctrl+Click in orice navigator sau editor cu scopul de a le seta o anumita propietate. Cand mai multe obiecte sunt selectate o lista de nume apare in partea de sus a foii de propietati. Butonul de intersectie/uniune din de pe foaia de propietati determina care propietati sunt afisate in lista de propietati cand mai mult decat un obiect a fost selectat.

- Intersection Este implicit. Numai propietatile comune tuturor obiectelor sunt afisate

- Union Toate propietatile a fiecarui obiect sunt afisate

Manual Reports 9i Page 27 of 96

Page 28: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Propietatile ce sunt comune la doua sau mai multe obiecte in selectie multipla sunt afisate o singura data, si setarea propietatii este afisata astfel:

- daca propietatea are aceeasi setare pentru toate obiectele selectate, setarea comuna este afisata normal.

- Daca exista cel putin un obiect cu setare diferita pentru o anumita propietate, aceasta v-a fi afisata prin stelute (******).

Manual Reports 9i Page 28 of 96

Page 29: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

3. CONCEPTE AVANSATE

Orice raport Oracle Reports se compune din obiecte. Fiecare obiect descrie un aspect al raportului; de exemplu, obiectul interogare defineste inregistrarile si coloanele selectate din baza (bazele) de date.

Oracle Reports opereaza cu doua categorii de obiecte:

• module

• obiecte la nivelul raportului

Module Un modul reprezinta un obiect care poate fi partajat de mai multe rapoarte sau de mai multe instrumente Oracle.

Avantajele utilizarii modulelor sunt evidente: este suficient ca proiectantul sa creeze obiectul o singura data; orice modificare survenita asupra modulului se va reflecta automat in toate rapoartele sau aplicatiile care-l utilizeaza.

Creare module Se utilizeaza optiunea File New in meniul principal al Oracle Reports, specificind apoi tipul si numele modulului.

Stocare si securitate Modulele pot fi memorate in baza de date sau intr-un fisier, tipul de stocare stabilind modul de asignare a securitatii.

Daca modulul este stocat intr-un fisier, securitatea este stabilita de sistemul de operare. Daca modulul este memorat in baza de date, se aplica regulile de securitate de la nivelul bazei de date.

Tipuri Tipuri de module construite cu Oracle Reports:

Manual Reports 9i Page 29 of 96

Page 30: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

• interogari externe

• biblioteci PL/SQL externe

• rapoarte continand:

• referinte la interogari sau biblioteci PL/SQL externe

• obiecte la nivelul raportului

Obiecte la nivelul raportului Sunt acele obiecte care pot fi utilizate la construirea raportului dar nu pot fi partajate de catre mai multe rapoarte sau folosite de alte instrumente Oracle.

Obiectele la nivelul raportului pot fi de doua tipuri:

• obiecte implicite (create de Oracle Reports)

• obiecte definite de utilizator

Obiectele la nivelul raportului pot fi grupate in trei categorii functionale:

• obiecte ale modelului datelor, care specifica inregistrarile si coloanele selectate si valorile calculate pentru un raport

• obiecte ale modelului de prezentare, care descriu forma raportului

• obiecte ale modelului de specificare a parametrilor, care descriu forma de prezentare a parametrilor la executie (Runtime Parameter Form).

Un singur obiect nu face parte din aceste categorii si anume obiectul de tip raport, care defineste raportul fizic.

3.1. OBIECTUL DE TIP RAPORT

Obiectul de tip raport descrie trei aspecte ale unui raport: unitatea de masura, dimensiunile si sectiunile acestuia. Cele trei aspecte constituie raportul fizic.

Unitatea de masura Un raport Oracle Reports poate avea asociata una din urmatoarele unitati de masura:

• puncte (picas/points pentru medii bit-mapped)

• inches (pentru medii bit-mapped)

• centimetri (pentru medii bit-mapped)

Deoarece unitatea de masura nu este dependenta de dispozitivul pe care se face proiectarea raportului, acesta va putea rula pe orice platforma pe care ruleaza Oracle Reports si va putea fi imprimat pe orice tip de imprimanta.

Manual Reports 9i Page 30 of 96

Page 31: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Pentru modificarea unitatii de masura cu care a fost proiectat un raport, Oracle Reports ofera trei solutii:

• modificarea propietatii Unit of Measurement (Property Inspector la nivel de raport )

• invocarea executabilului de conversie rwconvertor cu specificarea noii unitati de masura

• deschiderea raportului intr-un alt mediu. De exemplu, daca un raport proiectat in unitatea de masura caracter este deschis intr-un mediu bit-mapped, Oracle Reports va deschide raportul folosind unitatea de masura implicita pentru mediul respectiv.

Dimensiunile Un raport poate avea orice lungime si orice latime. Pentru a marca diferentele intre dimensiunile unui raport si dimensiunile unei pagini de imprimanta, Oracle Reports foloseste conceptele de pagina logica si respectiv pagina fizica. O pagina logica poate corespunde mai multor pagini fizice.

Exemplul de mai sus descrie sase pagini fizice (imprimate) care alcatuiesc o singura pagina logica (in raportul propriu-zis). Astfel, marimea unei pagini logice este de 3x2 pagini fizice.

Sectiunile Fiecare raport contine trei sectiuni: sectiunea de inceput (header), cuprinsul (body/margin) si sectiunea de sfirsit (trailer).

Manual Reports 9i Page 31 of 96

Page 32: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Sectiunea header Apare o singura data la inceputul fiecarui raport pe un set

de pagini separate. Poate contine elemente constante de tip text sau imagine, cimpuri primare (selectate din baza de date) sau calculate la nivelul raportului (prin aplicarea formulelor de calcul).

Sectiunea body/margin Paginile sectiunii body/margin apar intre paginile sectiunilor header si trailer; fiecare pagina contine un cuprins (body) si o margine (margin). Zona cuprinsului contine cea mai mare parte a componentelor raportului (elemente constante, date primare si calculate), fiecare dintre acestea fiind formatata in raport cu celelalte, in cadrul paginii logice. Zona de margine este asociata fiecarei pagini fizice a zonei body a raportului si poate contine orice tip de element care poate fi plasat in body. Obiectele din zona de margine sunt formatate in raport cu pagina fizica si, deci, apar pe fiecare pagina a sectiunii body/margin.

Sectiunea trailer Apare o singura data la sfirsitul fiecarui raport pe un set de pagini separate. Poate contine elemente constante de tip text sau imagine, cimpuri primare (selectate din baza de date) sau calculate la nivelul raportului (prin aplicarea formulelor de calcul).

Manual Reports 9i Page 32 of 96

Page 33: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

3.2. OBIECTELE DIN MODELUL DATELOR

Modelul datelor defineste datele primare sau calculate care vor fi utilizate in raport. Aceste valori pot apare in forma de prezentare a raportului, pot fi utilizate in formule de calcul sau pot declansa executia unor actiuni (proceduri PL/SQL).

Urmatoarele categorii de obiecte alcatuiesc modelul datelor unui raport:

• interogari

• legaturi

• grupuri

• coloane

• parametri

Manual Reports 9i Page 33 of 96

Page 34: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Interogari O fraza de interogare este o instructiune SQL de tip SELECT care specifica inregistrarile si coloanele selectate prin inspectarea unui anumit obiect (tabela/view) al bazei de date. Diferenta intre o fraza de interogare la nivelul raportului si o interogare externa consta in faptul ca prima nu poate fi partajata intre mai multe rapoarte sau cu alte instrumente Oracle. Valorile regasite prin executia frazei de interogare pot fi utilizate in formule de calcul, operatii de sortare sau operatii de lucru cu multimi (ex. UNION) si pot fi eventual incluse in forma de prezentare a raportului. Interogarea poate fi executata asupra unei baze de date locala sau remote (prin specificarea legaturii la baza de date remote).

Exemplu

SELECT E.DEPTNO, E.SUM(SAL), C.DEPTNO

FROM EMP E, JONES.OTHER@COLORADO C

WHERE C.DEPTNO (+) = E.DEPTNO

GROUP BY E.DEPTNO, C.DEPTNO

ORDER BY E.DEPTNO

Etapele de creare a unui obiect de tip interogare:

• selectare Query din paleta de instrumente a editorului pentru modelul datelor; click in regiunea de editare pentru crearea obiectului; dublu-click asupra obiectului pentru afisarea formatului de specificare a proprietatilor

Manual Reports 9i Page 34 of 96

Page 35: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

• editare instructiune SELECT in pagina de proprietati (Property Inspector) a interogarii (sau selectare interogare externa)

Rapoarte cu o singura fraza de interogare (single-query report)

Cele mai utilizate formate pentru rapoartele cu o singura fraza de interogare sunt: tabular, eticheta postala, scrisoare si de tip break. Toate rapoartele din exemplul de mai jos executa aceeasi fraza de interogare:

Tabular

Name Address City State Zip -------- ----------- --------- ------- ------ EVERY MOUNTAIN 574 SURRY RD. CUPERTINO CA 93301 JOCKSPORTS 345 VIEWRIDGE BELMONT CA 96711 JUST TENNIS HILLVIEW MALL BURLINGAME CA 97544 K + T SPORTS 3476 EL PASEO SANTA CLARA CA 91003

Manual Reports 9i Page 35 of 96

stefans
Se vor descrie butoanele de pe SQL Query Statement ( Inclusiv Query Builder )
Page 36: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Eticheta postala (Mailing label) EVERY MOUNTAIN 574 SURRY RD. CUPERTINO, CA 93301 JOCKSPORTS 345 VIEWRIDGE BELMONT, CA 96711 JUST TENNIS HILLVIEW MALL BURLINGAME, CA 97544 K + T SPORTS 3476 EL PASEO SANTA CLARA, CA 91003 Scrisoare (Form letter) May 31, 1993 EVERY MOUNTAIN 574 SURRY RD. CUPERTINO, CA 93301 Dear Customer: Because you are one of our most valued customers, we would like to invite you to our fiscal year-end sales bonanza. Tennis racquets, tennis balls, and sports apparel will all be significantly marked down. In fact, most prices will be 90% off suggested retail price. The sale begins on June 15 at our Belmont warehouse. If you are unable to attend but still wish to take advantage of thses spectacular prices, call 1-800-123-4567 to place your orders. Thank you for your business. J. King President, Summit Sporting Goods

Manual Reports 9i Page 36 of 96

Page 37: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Raport de tip Break Deptno Empno Ename Sal ------ ------ --------- ------ 10 7782 CLARK 2450 7839 KING 5000 7934 MILLER 1300 20 7369 SMITH 800 7876 ADAMS 1100 7902 FORD 3000 7788 SCOTT 3000 7566 JONES 2975

Rapoarte cu fraze de interogare multiple (multi-query report)

Oracle Reports permite specificarea mai multor fraze de interogare in descrierea unui raport. Se recomanda utilizarea mai multor fraze de interogare in urmatoarele cazuri:

• rapoarte “multi-part” cu interogari nerelationate (independente)

• rapoarte “multi-part” cu interogari relationate

• rapoarte care afiseaza aceeasi informatie de mai multe ori utilizind criterii de sortare diferite

• rapoarte care trebuie intretinute cu usurinta (rapoartele care contin relatii complexe la nivelul datelor pot fi implementate de obicei folosind o singura fraza de interogare care utilizeaza instructiuni SQL imbricate si join-uri. Cu toate acestea, aceleasi relatii complexe pot fi implementate folosind doua sau mai multe interogari simple, relationate facind posibila intretinerea cu usurinta a rapoartelor).

Rapoarte “multi-part” cu interogari nerelationate Atunci cind nu se stabilesc legaturi intre frazele de interogare, se obtine un raport “multi-part” cu interogari nerelationate, numit raport master/master. Acest tip de rapoarte afiseaza grupuri de date care sunt independente unele fata de altele. In exemplul de mai jos, o interogare selecteaza produsele, iar cealalta selecteaza clientii; nu se stabileste nici o legatura intre produse si clienti.

Manual Reports 9i Page 37 of 96

Page 38: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Query 1 Query 2 Prodid Name Custid Name ------ ------------------------- ------ --------------- 100860 ACE TENNIS RACKET I 101 TKB SPORT SHOP 100861 ACE TENNIS RECKET II 102 VOLLYRITE 100870 ACE TENNIS BALLS-3PACK II 103 JUST TENNIS 100871 ACE TENNIS BALLS-6PACK II 104 EVERY MOUNTAIN 100890 ACE TENNIS NET 103 K + T SPORTS 101860 SP TENNIS RACKET 103 SHAPE UP 101863 SP TENNIS RACKET 103 WOMENS SPORTS 102130 RH: GUIDE TO TENNIS 200367 SB ENERGY BAR-6 PACK 200380 SB VITA SNACK-6 PACK

La executia acestui tip de raport, Oracle Reports regaseste datele pentru fiecare interogare in parte fara a stabili corespondente intre acestea.

Rapoarte “multi-part” cu interogari relationate In multe cazuri, datele regasite pentru o anumita parte a raportului sunt conditionate de datele selectate pentru o alta parte a raportului. Rapoartele de acest tip se numesc master/detail sau parent/child si contin doua fraze de interogare intre care se stabileste o legatura.

La executia acestui tip de raport, fiecare inregistrare a interogarii master (parinte) va declansa executia interogarii detail (copil) regasind numai datele in corespondenta.

Manual Reports 9i Page 38 of 96

stefans
Se va construi acest raport
Page 39: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Legaturi Oracle Reports permite definirea unei relatii intre o instructiune SELECT si una sau mai multe instructiuni SELECT, relatie numita legatura.

Etapele de creare a unui obiect de tip legatura:

• selectare Data Link din paleta de instrumente a editorului pentru modelul datelor; click asupra cheii primare sau straine din grupul parinte apoi click asupra cheii primare sau straine dintr-un grup apartinind interogarii fiu; dublu-click asupra obiectului legatura pentru afisarea formatului de specificare a proprietatilor. Sau, click asupra grupului parinte si apoi click asupra grupului fiu; aceasta permite legarea interogarilor fara specificarea coloanelor de corespondenta.

• editare in pagina de proprietati a legaturii:

• clauza SQL in care opereaza conditia (WHERE, HAVING, START WITH)

• conditia de legatura

Manual Reports 9i Page 39 of 96

Page 40: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

La executia unui raport care contine o legatura, aceasta este convertita intr-o clauza SQL

si adaugata la sfirsitul frazei de interogare fiu. Interogarea fiu este executata cu valorile cheii primare folosita de interogarea parinte.

In exemplul de mai jos, a fost definita urmatoarea legatura: Parent SQL Parent Child Group Clause Column(s) Condition Column(s) G_ORD WHERE ORDID = ORDID Interogarea master Order ID Customer -------- -------- Interogarea detail 613 108 Item Product Amount ---- ------- -------- 1 100871 560.00 2 101860 4800.00 3 200380 600.00 4 200376 440.00 615 107 Item Product Amount ---- ------- -------- 1 100861 180.00 2 100870 280.00 3 100871 250.00

G_ord (continind coloanele “OrderId” si “Customer”) este grupul parinte; interogarea Item (continind “Item”, “Product”, “Amont”) este interogarea fiu.

Manual Reports 9i Page 40 of 96

stefans
se va construi acest raport
Page 41: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Grupuri Principalele functionalitati ale grupurilor sunt filtrarea si separarea (gruparea) datelor unei interogari.

Filtre Filtrele permit interceptarea valorilor returnate prin executia unei interogari, inainte ca Oracle Reports sa le prelucreze (calcule, formatari). Exista doua tipuri de filtre care pot fi atasate unui grup:

• filtre impachetate (Oracle Reports)

• filtre definite de utilizator

Filtre impachetate Oracle Reports este echipat cu doua tipuri de filtre impachetate:

• First, pentru afisarea primelor n inregistrari ale grupului

• Last, pentru afisarea ultimelor n inregistrari ale grupului

Filtre create de utilizator Utilizatorul poate crea propriile sale filtre folosind limbajul PL/SQL.

Grupe de coloane Gruparea coloanelor permite tratarea uniforma a acestora in raport cu alte coloane. De exemplu, se pot executa operatii de calcul asupra unui grup de coloane in raport cu un altul sau se pot afisa datele dintr-o coloana cu frecventa mai mare sau mai mica in raport cu alte coloane (rapoarte de tip break).

Exista doua tipuri de grupuri in Oracle Reports:

• implicite (create de Oracle Reports)

• create de utilizator.

Grupuri implicite In mod implicit, Oracle Reports asigneaza un grup fiecarei interogari si ataseaza grupului toate coloanele acesteia.

Grupuri create de utilizatori Se recomanda crearea de grupuri aditionale in urmatoarele cazuri:

• producerea break-urilor (spunem ca se produce un break atunci cind o valoare identica in mai multe inregistrari succesive se afiseaza o singura data pentru acel set de inregistrari)

Manual Reports 9i Page 41 of 96

Page 42: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

• agregarea datelor la un nivel mai fin (de exemplu, pentru fiecare departament)

• producerea rapoartelor matriciale

Pentru crearea unui grup cu editorul modelului de date, se executa un click asupra unei coloane dintr-un grup existent si se aduce coloana prin drag-and-drop intr-o zona libera a regiunii de editare.

Exista doua tipuri de grupuri create de utilizator:

• grupuri de tip break

• grupuri de tip produs cartezian (cross product)

Grupuri de tip break Permite gruparea coloanelor unei interogari. Se recomanda utilizarea grupurilor de tip break (numite control break groups) la crearea rapoartelor de tip break (atunci cind o valoare identica in mai multe inregistrari succesive se afiseaza o singura data pentru acel set de inregistrari). De exemplu, in raportul de mai jos, numarul departamentului este selectat pentru fiecare inregistrare; cu toate acestea, el este afisat o singura data pentru setul de inregistrari care-i corespunde.

Deptno 10 Ename Job Sal ----------- --------- --------- CLARK MANAGER 2450.00 KING PRESIDENT 5000.00 MILLER CLERK 1300.00 Deptno 20 Ename Job Sal ----------- --------- --------- ADAMS CLERK 1100.00 FORD ANALYST 3000.00 JONES MANAGER 2975.00 SCOTT ANALYST 3000.00 SMITH CLERK 800.00 Deptno 30 Ename Job Sal ----------- --------- --------- ALLEN SALESMAN 1600.00 BLAKE MANAGER 2850.00 JAMES CLERK 950.00 MARTIN SALESMAN 1250.00 TURNER SALESMAN 1500.00 WARD SALESMAN 1250.00

Manual Reports 9i Page 42 of 96

Page 43: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Pentru a construi acest raport, se creeaza un nou grup si i se asigneaza coloana DEPTNO (grupul default va contine in continuare coloanele ENAME, JOB si SAL).

Prin gruparea datelor, se pot face agregari (sau alte tipuri de calcule) specifice fiecarui grup. De exemplu, raportul de mai jos contine o agregare la nivelul departamentului, asupra coloanei SAL.

Deptno Ename Job Sal ------- ----------- --------- --------- 10 CLARK MANAGER 2450.00 KING PRESIDENT 5000.00 MILLER CLERK 1300.00 --------- 8750.00 Deptno Ename Job Sal ------- ----------- --------- --------- 20 ADAMS CLERK 1100.00 FORD ANALYST 3000.00 JONES MANAGER 2975.00 SCOTT ANALYST 3000.00 SMITH CLERK 800.00 --------- 10875.00 Deptno Ename Job Sal ------- ----------- --------- --------- 30 ALLEN SALESMAN 1600.00 BLAKE MANAGER 2850.00 JAMES CLERK 950.00 MARTIN SALESMAN 1250.00 TURNER SALESMAN 1500.00 WARD SALESMAN 1250.00 --------- 9500.00

Grupuri de tip produs cartezian Sunt utilizate in general pentru crearea rapoartelor matriciale.

Ierarhia grupurilor Ordinea de aparitie a grupurilor in fereastra de dialog corespunzatoare modelului implicit de prezentare (Default Layout) este determinata de ierarhia grupurilor din modelul datelor. Modelul implicit de prezentare, asa cum este afisat in editorul pentru modelul de prezentare , are la baza ordinea obiectelor din fereastra de dialog pentru Default Layout. Prin urmare, ierarhia grupurilor poate influenta prezentarea implicita a raportului.

Ierarhia grupurilor este determinata de relatiile parinte-copil sau de pozitia grupurilor in editor. In absenta unei

Manual Reports 9i Page 43 of 96

Page 44: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

relatii parinte-copil intre doua grupuri (cele doua grupuri sunt copii ai aceluiasi parinte sau sunt independente), ierarhia este determinata de pozitia grupurilor (left right si top bottom) in editorul pentru modelul datelor.

Coloane Coloanele reprezinta suporturi de inmagazinare a datelor. Exista doua tipuri de coloane:

• implicite

• definite de utilizator

Coloane implicite La construirea unei instructiuni de interogare, in mod automat, Oracle Reports genereaza cite o coloana pentru fiecare element din lista de selectie si-i asigneaza tipul de date si dimensiunea potrivit definitiei din dictionarul bazei de date. In plus, Oracle Reports construieste grupul implicit si-i ataseaza coloanele de mai sus.

Coloanele grafice sunt coloane implicite ale caror valori pot fi:

• grafice memorate in baza de date (de tip LONG sau LONG RAW); este necesara specificarea formatului in pagina de proprietati a coloanei

• nume de fisiere (valorile coloanelor sunt pointeri catre fisiere ale sistemului de operare); se specifica sursa de incarcare a continutului coloanei si formatul fisierului.

Formate de fisiere care pot fi afisate de Oracle Reports:

JPG, BMP, PCD, TGA, PCX, PCT, TIF.

Pasi de specificare a unei coloane grafice:

• daca raportul include coloane implicite de tip grafic si se doreste afisarea continutului acestora, atunci se deschide pagina de proprietati a coloanei si se specifica formatul.

• daca raportul include coloane implicite de tip fisier (a caror valoare este numele fisierului) si se doreste afisarea continutului fisierului, atunci se deschide pagina de proprietati a coloanei, se selecteaza Read from File si se specifica formatul fisierului.

Manual Reports 9i Page 44 of 96

Page 45: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Coloane definite de utilizator Se recomanda crearea de coloane aditionale atunci cind este necesara adaugarea unor cimpuri calculate. Exista doua moduri de creare a unei coloane in editorul pentru modelul datelor:

• selectare instrument de “calcul” (Formula Column) din paleta de instrumente si

• click intr-o zona libera a editorului, in cazul crearii unei coloane la nivel de raport

• click asupra unui grup, in cazul crearii unei coloane apartinind unui grup

• specificarea proprietatilor coloanei (sursa, masca de format, etc) in pagina de proprietati.

Exista patru tipuri de coloane definite de utilizator:

• coloane de tip functie de sumare (summaries)

• coloane de tip formule de calcul (formulas)

• coloane de tip “placeholder”

• coloane grafice.

Manual Reports 9i Page 45 of 96

Page 46: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Coloane de sumare O coloana de sumare (“summary column”) este o functie de calcul aplicata asupra tuturor inregistrarilor unei singure coloane (ex: suma salariilor). Oracle Reports este echipat cu urmatoarele functii de sumare:

• medie (Average)

• numar de inregistrari (Count)

• prima inregistrare (First)

• ultima inregistrare (Last)

• maxim (Maximum)

• minim (Minimum)

• % din total (%of Total)

• (Standard Deviation)

• suma (Sum)

• varianta (Variance)

Fiecare functie de sumare, cu exceptia First si Last, are o varianta

incrementala (ex: running sum, running count) care se creeaza prin specificarea frecventei de reinitializare a coloanei de sumare (in proprietatea Reset At). Variantele neincrementale calculeaza valoarea unei coloane relativ la restul coloanelor din grup. Variantele incrementale calculeaza valoarea unei coloane prin acumularea tuturor valorilor care o preced (inclusiv valoarea din inregistrarea curenta).

Manual Reports 9i Page 46 of 96

stefans
Se va creearaportul de mai jos pe tabela employee
Page 47: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Running Running Deptno Ename Sal Sum of Sal Sum of Sal Pct of Sal Pct of Sal 10 Clark 2,450 8,750 2,450 28.00% 28.00% King 5,000 8,750 7,450 57.14% 85.14% Miller 1,300 8,750 8,750 14.86% 100.00% 20 Adams 1,100 10,875 1,100 10.11% 10.11% Ford 3,000 10,875 4,100 27.59% 37.70% Jones 2,975 10,875 7,075 27.36% 65.06% Scott 3,000 10,875 10,075 27.59% 92.64% Smith 800 10,875 10,875 7.36% 100.00% 30 Allen 1,600 9,400 1,600 17.02% 17.02% Blake 1,850 9,400 4,450 30.32% 47.34% James 950 9,400 5,400 10.11% 57.45% Martin 1,250 9,400 6,650 13.30% 70.74% Turner 1,500 9,400 8,150 15.96% 86.70% Ward 1,250 9,400 9,400 13.30% 100.00%

Formule O formula este o functie de calcul care se aplica asupra unei singure inregistrari si implica una sau mai multe coloane. De exemplu, formula :ITEMTOT * .07 executa o functie aritmetica asupra unei singure coloane, in timp ce formula :SAL+:COMM utilizeaza valorile din doua coloane pentru calculul compensatiei totale.Oracle Reports nu furnizeaza formule; utilizatorul poate insa sa specifice formule in PL/SQL sau intr-unul din limbajele 3GL suportate.

Placeholderi Un placeholder este o coloana fictiva pentru care tipul de date si valoarea pot fi setate conditionat folosind PL/SQL sau user-exit (ex: ori de cite ori se selecteaza a n-a inregistrare sau ori de cite ori inregistrarea selectata contine o anumita valoare). Acest tip de coloane inlocuieste functionalitatea user-exit-ului RWENOP din SQL*ReportWriter v1.1.

Ierarhia coloanelor Ordinea coloanelor in fereastra de dialog pentru modelul de prezentare este determinata de ierarhia coloanelor din modelul datelor. Modelul implicit de prezentare, asa cum este afisat in editorul pentru modelul de prezentare (Layout Painter), are la baza ordinea obiectelor din fereastra de dialog pentru Default Layout. Prin urmare, ierarhia coloanelor poate influenta prezentarea implicita a raportului.

Ierarhia coloanelor este determinata de pozitia coloanelor (top bottom) in interiorul fiecarui grup.

Manual Reports 9i Page 47 of 96

stefans
Se va adauga la raportul de mai sus o coloana noua de tip formula,...adaugare de bonus 10%.
Page 48: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Parametri Parametrii reprezinta variabile carora li se pot asigna valori la momentul executiei. Se recomanda utilizarea parametrilor in modificarea interogarilor la momentul executiei si in blocurile PL/SQL.

Parametrilor li se pot asigna valori in urmatoarele moduri:

• editarea valorilor ca argumente in linia de comanda, la rularea raportului

• utilizarea valorilor implicite specificate in pagina de proprietati pentru parametri la momentul proiectarii raportului si la runtime, in Runtime Parameter Form

• editarea valorilor in Runtime Parameter Form, la executia interactiva a raportului.

Exista doua tipuri de parametri:

• parametri impliciti (parametri de sistem)

• parametri definiti de utilizator , i.e. parametri de legatura (de bind) si parametri lexicali.

Parametri de sistem Oracle Reports este echipat cu o serie de parametri de sistem:

Manual Reports 9i Page 48 of 96

Page 49: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

DESTYPE Locul de trimitere a iesirii (ecran, fisier, posta, imprimanta)

DESNAME Numele dispozitivului de iesire; de ex. nume fisier, nume imprimanta, userid pentru mail)

DESFORMAT Definitia formatului pentru dispozitivul de iesire; de ex. mode landscape pentru o imprimanta

COPIES Numarul necesar de copii generate la imprimarea raportului

CURRENCY Simbol pentru indicatorul; de ex. $

THOUDSANDS Simbol pentru indicatorul miilor; de ex.”,”

DECIMAL Simbol pentru indicatorul zecimalelor, de ex. “,”

Parametri definiti de utilizator Pasi de creare a parametrilor in Object Navigator:

• selectare user parameters din Object navigator

• click pe iconul + din stanga ferestrei Object navigator

• specificarea proprietatilor parametrului in pagina de proprietati

Parametri de bind Se recomanda utilizarea parametrilor de bind atunci cind este necesara substituirea valorii, la executie, pentru o singura coloana sau expresie dintr-o instructiune SELECT. Pentru a referi un parametru de bind intr-o instructiune de interogare, este necesara prefixarea numelui acestuia prin “:”. De exemplu:

SELECT * FROM ORD WHERE ORDNO = :ORDPARAM

Manual Reports 9i Page 49 of 96

Page 50: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

In exemplul de mai sus, :ORDPARAM poate fi inlocuit printr-o expresie (ex: 1997). Interogarile care contin parametri de bind sunt analizate sintactic o singura data. Parametrii de bind, insisi, sunt re-evaluati pentru fiecare executie a instructiunii.

Parametri lexicali Se recomanda folosirea parametrilor lexicali atunci cind este necesara substituirea unei parti a instructiunii SQL. Pentru a referi un parametru lexical intr-o instructiune SELECT, este necesara crearea prealabila a acestuia si asignarea unei valori implicite in pagina de proprietati a parametrului. Numai dupa crearea si initializarea parametrului, acestea va putea fi referit intr-o instructiune de interogare, prin prefixarea cu “&”. De exemplu:

SELECT * FROM DEPT &WHERECLAUSE

In exemplul de mai sus, &WHERECLAUSE poate fi inlocuit printr-o expresie (ex: WHERE DEPTNO>20 ORDER BY DEPTNO) . Interogarile care contin parametri lexicali sunt analizate sintactic ori de cite ori parametrul lexical isi modifica valoarea. Parametrii lexicali, insisi, sunt re-evaluati pentru fiecare executie a instructiunii.

Observatie (Legaturi vs. Break-uri) Forma de prezentare a unui raport master/detail (cu doua fraze de interogare si o legatura) poate fi aproape identica cu forma de prezentare a unui raport de tip break (cu o fraza de interogare si doua grupuri).

Exemplu:

Raport de tip break

Parametrii utilizator: :p_paymonth, :p_dept, &p_orderby Deptno Ename Job Sal ------ ---------- --------- --------- 10 CLARK MANAGER 2450.00 KING PRESIDENT 5000.00 MILLER CLERK 1300.00 20 ADAMS CLERK 1100.00 FORD ANALYST 3000.00 JONES MANAGER 2975.00 SCOTT ANALYST 3000.00 SMITH CLERK 800.00 30 ALLEN SALESMAN 1600.00 BLAKE MANAGER 2850.00 JAMES CLERK 950.00 MARTIN SALESMAN 1250.00 TURNER SALESMAN 1500.00

Manual Reports 9i Page 50 of 96

stefans
Exercitiu pentru cursanti; se va construi acelasi raport , acelasi layout dar cu model diferit
Page 51: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Raport master/detail

Deptno Ename Job Sal ------ ---------- --------- --------- 10 CLARK MANAGER 2450.00 KING PRESIDENT 5000.00 MILLER CLERK 1300.00 20 ADAMS CLERK 1100.00 FORD ANALYST 3000.00 JONES MANAGER 2975.00 SCOTT ANALYST 3000.00 SMITH CLERK 800.00 30 ALLEN SALESMAN 1600.00 BLAKE MANAGER 2850.00 JAMES CLERK 950.00 MARTIN SALESMAN 1250.00 TURNER SALESMAN 1500.00 40

Cele doua rapoarte difera prin setul de inregistrari obtinute in urma executiei instructiunilor SQL. De exemplu, deoarece nu exista angajati in departamentul 40, raportul de tip break nu afiseaza acest departament. Cu toate acestea, deoarece legatura produce un outer-join, raportul master/detail afiseaza departamentul 40. Daca se doreste proiectarea unui raport de tip break care necesita un outer-join, instructiunea SELECT trebuie sa contina (+).

In general, pentru imbunatatirea performantelor, se recomanda utilizarea unui numar cit mai mic de instructiuni de interogare (in cazul de mai sus, este deci preferabila utilizarea raportului de tip break).

Alt exemplu: un raport master/detail/detail este un raport care contine trei grupuri de date: fiecare grup detail este legat la master, insa cele doua grupuri detail sunt independente. Pentru a proiecta un astfel de raport, este necesara utilizarea legaturilor. Nu este posibila folosirea grupurilor de tip break (o singura interogare si trei grupuri), deoarece interogarea va stabili o legatura intre cele doua grupuri detail.

Name --------------------

Manual Reports 9i Page 51 of 96

stefans
Se va construi acest raport
Page 52: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

EVERY MOUNTAIN DETAIL 1 DETAIL2 Product Orderdate Address ----------------------------------- --------- -------------- ACE TENNIS BALLS-6 PACK 18-JUL-86 574 SURRY RD. 25-JUL-86 CUPERTINO, CA 93301 15-JAN-87 22-FEB-87 ACE TENNIS RACKET I 15-JAN-87 ACE TENNIS RACKET II 15-JAN-87 RH: "GUIDE TO TENNIS" 22-FEB-87 SB ENERGY BAR-6 PACK 22-FEB-87 SB VITA SNACK-6 PACK 22-FEB-87 SP JUNIOR RACKET 15-JAN-87 SP JUNIOR RACKET 25-JUL-87

Manual Reports 9i Page 52 of 96

Page 53: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

3.3. OBIECTELE DIN MODELUL DE PREZENTARE

Obiectele modelului de prezentare descriu formatul raportului, i.e. pozitia, forma de aparitie a datelor, textului sau elementelor grafice. Forma de prezentare (layout) a raportului se compune din urmatoarele obiecte:

• cadre repetitive (repeating frames)

• cadre simple (frames)

• cimpuri (fields)

• elemente constante de tip text si de tip imagine (boilerplate)

• ancore (anchors)

• obiecte matriciale (matrix objects).

Manual Reports 9i Page 53 of 96

Page 54: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Cadre repetitive Un cadru repetitiv indica pozitia inregistrarilor in forma de prezentare a raportului; se afiseaza pentru fiecare inregistrare a grupului caruia ii corespunde in modelul datelor.

La alegerea unei forme implicite de prezentare, Oracle Reports genereaza un cadru repetitiv pentru fiecare grup din modelul datelor si plaseaza un cimp in interiorul acestuia pentru fiecare coloana care apartine grupului. Cadrele repetitive pot include orice tip de obiect din modelul de prezentare, inclusiv alte cadre repetitive. Cadrele repetitive imbricate sunt utilizate pentru proiectarea rapoartelor master/detail: pentru fiecare inregistrare a cadrului repetitiv exterior, Oracle Reports va formata toate inregistarile care-i corespund in cadrul repetitiv interior.

Se recomanda utilizarea cadrelor repetitive pentru definirea informatiei de prezentare la nivel de inregistare. De exemplu, se pot specifica directia de imprimare a inregistrarilor (Across,Down, Across/Down), numarul liniilor sau spatiul dintre inregistari, atributele de afisare (culoare, font-uri), triggerele de formatare (PL/SQL sau call la un program 3GL). Cu ajutorul unei functii PL/SQL, putem crea, de exemplu, un trigger de format care va produce afisarea accentuata a tuturor inregistrarilor cu valori negative. Oracle Reports este echipat cu o procedura PL/SQL impachetata numita SRW.SET_ATTR care permite formatarea atributelor.

Un cadru repetitiv se poate expanda sau contracta, poate avea dimensiuni variabile sau fixate pe orizontala sau verticala. De exemplu, putem construi un cadru repetitiv

cu dimensiune orizontala fixa insa expandabil pe verticala, pentru acele inregistrari care necesita mai mult spatiu decit ofera cadrul repetitiv. In exemplul de mai jos, departamentul 20 are patru inregistrari detail, spre deosebire de departamentele 10 si 30 care au o singura inregistrare detail. Cadrul repetitiv a fost marcat ca fiind expandabil pe verticala pentru a permite afisarea inregistrarilor aditionale pentru departamentul 20.

Manual Reports 9i Page 54 of 96

Page 55: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Daca un cadru repetitiv are dimensiuni fixe si datele dintr-o inregistrare trebuie afisate intr-un cimp mai mare decit poate contine cadrul repetitiv, atunci datele ramase vor fi afisate pe pagina (paginile) urmatoare la aceleasi coordonate x,y.

Pasi de creare a unui cadru repetitiv in editorul pentru modelul de prezentare:

• selectare instrument de specificare a cadrelor repetitive (Repeating Frame tool) din paleta de instrumente si click intr-o zona a editorului

• specificarea proprietatilor cadrului repetitiv in pagina de proprietati (vezi figura de mai jos).

Figura de mai jos ofera un exemplu de cadru repetitiv in editorul modelului de

prezentare.

Manual Reports 9i Page 55 of 96

Page 56: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Cadre simple Cadrele simple asigura partial functionalitatea cadrelor repetitive. Cadrele simple

sunt similare cadrelor repetitive in urmatoarele privinte:

• cadrele simple pot include orice tip de obiect din modelul de prezentare, inclusiv alte cadre simple

• cadrele simple se pot expanda sau contracta, pot avea dimensiuni variabile sau fixate pe orizontala sau verticala

• se pot specifica atribute de afisare (culori, font-uri) si triggere de format.

Cadrele simple difera fata de cadrele repetitive prin faptul ca nu sunt cadre la nivel de inregistrare. Cadrele simple se afiseaza cu frecventa de afisare a obiectului care le include sau caruia ii sunt atasate (frecventa de afisare poate fi modificata prin specificarea conditiei de imprimare a cadrului - Print Condition; de exemplu, in cazul in are cadrul simplu este atasat unui cadru repetitiv, se poate modifica conditia de imprimare a cadrului simplu astfel incit acesta sa se afiseze numai la prima aparitie a cadrului repetitiv).

La crearea modelului implicit de prezentare, Oracle Reports va genera cadre simple pentru includerea obiectelor (elemente constante de tip text sau cimpuri de sumare).

Se recomanda utilizarea cadrelor simple in urmatoarele situatii:

• gruparea obiectelor pentru a le mentine pozitiile relative in raport

• utilizarea mai multor tipuri de sectiuni in acelasi raport; de exemplu, un raport poate contine o sectiune de tip tabular, in jumatatea superioara a paginii si o sectiune de tip matricial in jumatatea inferioara a paginii

• protejarea unor obiecte la suprascriere; de exemplu, daca raportul contine un summary centrat sub doua cadre repetitive, coloana de sumare ar trebui sa ramina la o distanta fixa fata de cele doua obiecte care ar putea sa o suprascrie. Daca se creeaza un cadru simplu care sa includa cele doua cadre repetitive, atunci coloana de sumare se va mentine la o distanta fixa fata de cadrul nou creat si nu va fi suprascrisa.

• conditionarea imprimarii; de exemplu, daca raportul contine un summary centrat sub doua cadre repetitive, coloana de sumare se va afisa de indata ce primul cadru repetitiv si-a incheiat afisarea. Daca se creeaza un cadru simplu care sa includa cele doua cadre repetitive, atunci coloana de sumare se va afisa dupa ce au fost afisate ambele cadre repetitive.

Manual Reports 9i Page 56 of 96

Page 57: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Pasi de creare a unui cadru simplu in editorul pentru modelul de prezentare:

• selectare instrument de specificare a cadrelor simple (Frame tool) din paleta de instrumente si click intr-o zona a editorului

• specificarea proprietatilor cadrului simplu in pagina de proprietati (vezi figura de mai jos).

Figura de mai jos ofera un exemplu de cadru simplu in editorul modelului de

prezentare.

Manual Reports 9i Page 57 of 96

Page 58: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Cimpuri Cimpurile indica pozitia parametrilor si coloanelor in modelul de prezentare

(inclusiv numar de pagina si data curenta). Se recomanda specificarea atributelor si a triggerelor de format atasate cimpurilor. De exemplu, se poate scrie un trigger de format care sa modifice la executie atributele de afisare ale cimpului caruia-i corespunde.

Observatie: daca unui parametru (sau unei coloane) nu i se asociaza un cimp, atunci valorile acestuia nu vor apare in raportul de iesire.

La crearea unui model implicit de prezentare, Oracle Reports genereaza un cimp pentru fiecare coloana si plaseaza fiecare cimp intr-un cadru repetitiv. Deci, unui cimp i se pot atasa atribute sau triggere de formatare in doua moduri: cadrului repetitiv caruia-i apartine sau cimpului insusi.

Atribute de afisare care pot fi atasate unui cimp:

• aliniere (justification): stabileste modul de aliniere a datelor (ex: aliniere la stinga, dreapta)

• masca de format (format mask): stabileste modul de afisare a valorilor numerice (“$N.00”), de tip data (“March 10, 1991”) sau de tip caracter (lowercase)

• afisare (display): stabileste modul de afisare a datelor (culoare si sablon pentru foreground si background; tipul, dimensiunea si stilul font-ului).

Pasi de creare a unui cimp in editorul pentru modelul de prezentare:

• selectare instrument de specificare a cimpurilor (Field tool) din paleta de instrumente si click intr-o zona a editorului

• specificarea proprietatilor cimpului in pagina de proprietati (vezi figura de mai jos).

Manual Reports 9i Page 58 of 96

Page 59: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Figura de mai jos ofera un exemplu de cimp in editorul modelului de prezentare.

Boilerplate Un boilerplate (element constant de tip text sau imagine) este un obiect de tip text

sau grafic creat de utilizator sau, in mod implicit, de catre Oracle Reports (ex: etichete de coloane). Nu sunt selectate din baza de date.

Pentru cea mai mare parte a modelelor implicite de prezentare, Oracle Reports genereaza o eticheta de coloana pentru fiecare cimp. De exemplu, daca o coloana se numeste ENAME, Oracle Reports va genera un obiect boilerplate continind “Ename”.

Manual Reports 9i Page 59 of 96

Page 60: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Se recomanda utilizarea boilerplate-urilor atunci cind se doreste modificarea etichetelor implicite sau crearea de noi etichete.

Variante de afisare ca boilerplate a continutului unui fisier de tip text sau imagine:

• din meniul Insert se selecteaza; se creeaza un obiect boilerplate, iar continutul fisierului este incarcat in acel obiect. Continutul obiectelor boilerplate este static. El se pastreaza chiar daca continutul fisierului se modifica.

• stabilirea legaturii cu fisierul; se creeaza un obiect boilerplate ( link to file ), apoi se specifica numele fisierului in pagina de proprietati a boilerplate-ului (continutul fiesierului este incarcat in boilerplate la fiecare executie a raportului).

Pasi de creare a unui cimp in editorul pentru modelul de prezentare:

• selectarea unui instrument de specificare a boilerplate-urilor din paleta de instrumente

Arc tool Polygon tool

Ellipse tool Polyline tool

Freehand tool Rectangle tool

Line tool Rounded Rectangle tool

Link File tool Text tool

si click intr-o zona a editorului

• specificarea proprietatilor boilerplate-ului in pagina de proprietati (vezi figura de mai jos).

Manual Reports 9i Page 60 of 96

Page 61: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Figura de mai jos ofera un exemplu de boilerplate in editorul modelului de prezentare.

Ancore Ancorele stabilesc pozitia relativa a obiectelor in raportul de iesire. Ancorele ataseaza un obiect copil unui obiect parinte in modelul de prezentare a raportului, definind si pozitia obiectul copil in raport cu obiectul parinte (obiectul copil poate fi continut sau necontinut de parinte).

Tipuri de ancore:

• ancore implicite (create de Oracle Reports la rularea raportului)

• ancore explicite (definite de utilizator)

Ancore implicite La momentul executiei, Oracle Reports genereaza in mod implicit o ancora pentru fiecare obiect din modelul de prezentare care nu are deja creata o ancora explicita. Oracle Reports creeaza o ancora intre obiectul din layout si obiectul cel mai apropiat care-l poate suprascrie.

Observatie: ancorele implicite nu sunt vizibile in modelul de prezentare.

Manual Reports 9i Page 61 of 96

Page 62: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Ancore explicite La crearea unei ancore explicite, se incepe intotdeauna cu obiectul copil si se extinde ancora la parinte. Ancorele explicite suprascriu ancorele implicite pentru obiectul respectiv. Ele sunt vizibile in modelul de prezentare.

Pozitionarea relativa a obiectelor

Daca obiectul parinte este plasat deasupra sau dedesubtul obiectului copil

• distanta pe verticala intre cele doua obiecte este fixa, ca in figura de mai jos.

• pozitia pe orizontala a coordonatei x a ancorei, fata de obiectul copil, este relativa la coordonata x a ancorei, fata de obiectul parinte. De exemplu, in figura de mai jos, ancora este plasata la 50% fata de marginea obiectului parinte si la 75% fata de marginea stinga a obiectului 1. La rularea raportului, Oracle Reports va deplasa obiectul 1 cu 25% stinga fata de centrul obiectului parinte.

Daca obiectul parinte este plasat la stinga sau la dreapta obiectului copil

Manual Reports 9i Page 62 of 96

Page 63: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

• pozitia verticala a celor doua obiecte este relativa. De exemplu, in figura de mai jos, amindoua capetele ancorei se afla la 80% din dimensiunea verticala a obiectelor, fata de marginea superioara. La rularea raportului, Oracle Reports calculeaza lungimea celor doua obiecte, calculeaza coordonata y ca fiind 80% pentru fiecare obiect si pozitioneaza cele doua obiecte astfel incit distanta dintre ele sa fie cea din editorul modelului de prezentare.

• pozitia orizontala a celor doua obiecte este fixa.

Ancore colapsabile Permit evitarea spatiilor goale in raport. Astfel de spatii pot

apare in cazul in care un obiect parinte nu se imprima pe aceeasi pagina cu obiectul copil, din cauza ca cele doua obiecte nu incap pe aceeasi pagina sau a restrictiilor impuse de conditiile de imprimare.

Ancora colapsabila permite mutarea obiectului copil in pozitia pe care-ar fi ocupat-o obiectul parinte la afisare. Obiectul copil isi va mentine pozitia relativa definita de ancora.

Pasi de creare a unei ancore in editorul pentru modelul de prezentare:

• selectarea instrumentului de specificare a ancorei (Anchor tool) din paleta de instrumente

• click pe marginea primului obiect, dublu click pe marginea celui de-al doilea obiect

• specificarea proprietatilor ancorei in pagina de proprietati (vezi figura de mai jos).

Manual Reports 9i Page 63 of 96

Page 64: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Figura de mai jos ofera un exemplu de ancora in editorul modelului de prezentare.

Concepte in modelul de prezentare

• Print Condition

• Column Mode

• Keep with anchoring object

• Page protect

• Format triggers

• Layout definition concepts

Manual Reports 9i Page 64 of 96

Page 65: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Print condition Stabileste conditiile de imprimare pentru un obiect, relativ la conditiile de imprimare ale parintelui. Obiectul parinte este proprietarul obiectului copil. Relatia de proprietate este determinata de ancorele implicite sau explicite sau de includerea obiectelor unele de catre altele.

Cele mai uzuale conditii de imprimare a obiectelor:

All Obiectele vor fi imprimate pe toate paginile pe care apare obiectul parinte (ex: etichetele coloanelor apar pe toate paginile pentru ca sunt ancorate la pagina).

All But First Obiectele vor fi imprimate pe toate paginile logice cu exceptia primei pagini pe care apare obiectul parinte (ex: in acest caz, numerotarea paginilor incepe cu pagina a doua , pentru ca obiectul “page number” este ancorat la pagina).

All But Last Obiectele vor fi imprimate pe toate paginile logice cu exceptia ultimei pagini pe care apare obiectul parinte (ex: cimpul de total de la sfirsitul fiecarei pagini este inlocuit pe ultima pagina de cimpul de total la nivelul raportului)

First Obiectele vor fi imprimate numai pe prima pagina logica pe care apare obiectul parinte (ex: etichetele coloanelor, care in acest caz apar o singura data, pe prima pagina)

Last Obiectele vor fi imprimate o singura data pe ultima pagina logica pe care apare obiectul parinte (ex: cimpuri de total sau subsoluri de grup)

Default Oracle Reports evalueaza pozitia obiectului stabilind care din conditiile de mai sus este cea mai potrivita.

Column Mode Lucrul in mod coloana permite ca spatiul ocupat de un cadru repetitiv sa se mentina chiar daca cadrul repetitiv si-a epuizat instantele. Aceasta previne deplasarea obiectelor aflate la dreapta cadrului repetitiv. De exemplu, in figura de mai jos, sunt prezentate doua pagini in care inregistrarile din cadrul repetitiv B se termina pe prima pagina. In cazul in care se lucreaza in mod coloana, pe pagina a doua se pastreaza spatiul ocupat de cadrul B intre cadrele A si C. Altfel, cadrul C trece in locul cadrului B.

Manual Reports 9i Page 65 of 96

Page 66: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Keep with anchoring object Permite ca obiectul parinte sa se deplaseze pe

urmatoarea pagina impreuna cu obiectul copil, in cazul in care nu incap amindoua pe pagina curenta. De exemplu, in figura de mai jos, in raportul care este creat fara setarea “keep with anchoring object”, obiectul parinte apare pe pagina intii iar obiectul copil pe pagina a doua. Aceasta problema este rezolvata in raportul cu setarea “keep with anchoring object”, in care obiectul parinte se deplaseaza pe pagina a doua impreuna cu obiectul copil.

Manual Reports 9i Page 66 of 96

Page 67: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Observatie: Keep with anchoring object pentru un cadru repetitiv

face ca Oracle Reports sa protejeze toate obiectele din fiecare inregistrare a cadrului.

Keep with anchoring object pentru un cadru simplu face ca Oracle Reports sa protejeze toate obiectele din acel cadru, inclusiv toate inregistrarile oricarui cadru repetitiv inclus in acel cadru.

Page protect Permite ca toate obiectele incluse intr-un cadru repetitiv sau cadru simplu sa ramina impreuna pe aceeasi pagina, daca este posibil. Daca acestea nu pot fi continute in aceeasi pagina logica, atunci Oracle Reports va continua imprimarea lor pe paginile urmatoare. De exemplu, in figura de mai jos, raportul cu “page protect” face un salt la pagina dupa primul grup de inregistrari pentru a mentine parintele si copiii pe aceeasi pagina.

Manual Reports 9i Page 67 of 96

Page 68: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Format triggers Un trigger de formatare contine instructiuni PL/SQL care se executa la

formatarea obiectului caruia ii este asociat. Se recomanda utilizarea triggerelor de formatare pentru imprimarea conditionata sau pentru modificarea caracteristicilor de afisare a obiectelor. De exemplu, se poate afisa o valoare cu caractere pronuntate daca este negativa.

Oracle Reports este echipat cu un pachet PL/SQL care contine proceduri ce pot modifica rapid atributele unui obiect, astfel:

• schimbarea tiparului si culorii border-ului unui obiect

• schimbarea tiparului si culorii unui obiect

• schimbarea fontului, dimensiunilor, alinierii unui cimp sau boilerplate text

• schimbarea mastii unui cimp

Manual Reports 9i Page 68 of 96

Page 69: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

• schimbarea atributelor pentru modul caracter

• accesarea valorii unui cimp

In exemplul de mai jos, daca branchul este null, frame-ul M_1 devine invizibil.

Triggar-ul de formatare se poate defini si cu ajutorul ferestrei. Se alege un frame, si pe Property Inspector se da click pe Conditional Formating. V-a fi afisata fereastra de mai jos:

Manual Reports 9i Page 69 of 96

Page 70: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

La selectarea butonului New v-a fi afisata o noua fereastra in care se poate seta trigger-ul de formatare.

Manual Reports 9i Page 70 of 96

Page 71: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Simboluri din Paper Layout

Observatii

Un raport poate avea mai multe formate diferite. De exemplu, se poate crea un layout de tip tabular la inceputul paginii si unul de tip matrice la sfirsitul ei. Dupa crearea unui layout implicit, orice modificare survenita in modelul datelor nu va fi inclusa automat in modelul de prezentare. De exemplu, daca se creeaza o noua interogare dupa definirea layoutului, la rularea raportului, datele corespunzatoare acelei interogari nu vor aparea in raportul de iesire. Pentru a include aceste date trebuie modificat layoutul, fie prin regenerarea layoutului implicit, fie prin crearea unui layout aditional care sa contina noile date.

La selectarea unui tip de layout implicit Oracle Reports creeaza obiectele necesara, potrivit modelului datelor. De exemplu, daca se doreste crearea unui raport de tip eticheta postala si a fost definit modelul datelor, se selecteaza tipul de layout mailing label; Oracle Reports va crea automat toate obiectele din modelul de prezentare si le va plasa in Paper Layout. Dupa crearea layoutului implicit, acesta poate fi adaptat cerintelor (se pot face copieri, deplasari si redimensionari ale obiectelor generate de Oracle Reports).

Manual Reports 9i Page 71 of 96

Page 72: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

3.4. OBIECTELE DIN MODELUL DE SPECIFICARE A PARAMETRILOR

La executia unui raport, Oracle Reports afiseaza o fereastra de dialog (Runtime Parameter Form) care permite modificarea parametrilor (ex: valori pentru modificarea instructiunilor SELECT, redirectarea iesirii raportului). Aceasta fereastra poate contine cimpuri si boilerplate-uri, ca in figura de mai jos.

Cimpuri Un obiect de tip cimp din fereastra parametrilor corespunde unui parametru definit in

modelul datelor.

Boilerplate Un boilerplate in fereastra parametrilor este similar unui boilerplate din modelul de prezentare de tip text sau grafic. In mod implicit, fiecarui cimp din fereastra parametrilor i se ataseaza o eticheta.

Pasi de creare a formei de prezentare a parametrilor:

• selectarea optiunilor Report-->Default Parameter Form; Oracle Reports va crea obiectele necesare pe baza definitiilor de parametri din modelul datelor

In mod implicit, Oracle Reports creeaza la runtime o fereastra de parametri in care plaseaza parametrii impliciti.

Manual Reports 9i Page 72 of 96

Page 73: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

3.5. IERARHIA OBIECTELOR

Oracle Reports manipuleaza o ierarhie de obiecte, prezentata in figura de mai jos.

Observatii:

Raportul are in proprietate toate obiectele definite la nivel de raport; fiecare obiect se afla in proprietatea unui singur obiect.

Manual Reports 9i Page 73 of 96

Page 74: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Legaturile intre obiecte

Data model si Layout Paper

- fiecare select aduce inregistrari care sunt structurate in grupuri ierarhice

- fiecare grup este sursa unui repeating frame

- fiecare coloana este sursa unui camp

Object Navigator si Data Model

Manual Reports 9i Page 74 of 96

Page 75: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

3.6. RAPOARTE MATRICIALE

Un raport matricial implica participarea a patru seturi de date:

• un set de date este afisat de-a latul paginii (accross). De exemplu, in figura de mai jos, numele job-urilor constituie setul de date afisate de-a latul paginii si apar ca etichete de coloane.

• un set de date este afisat de-a lungul paginii (down). De exemplu, in figura de mai jos, numerele departamentelor constituie setul de date afisate de-a lungul paginii si apar ca etichete de rinduri.

• un set de date formeaza produsul cartezian stabilind toate posibilele locatii in care seturile de date across si down relationeaza si plaseaza o celula in aceste locatii. In exemplul de mai jos, celula este plasata in fiecare locatie in care job-urile si departamentele se intersecteaza.

• un set de date serveste la umplerea celulelor. In matricea de mai jos, numerele care apar in celule apartin acestui set de date.

Job ANALYST CLERK MANAGER PRESIDENT SALESMAN Deptno Sum Sal Sum Sal Sum Sal Sum Sal Sum Sal -------- ---------- ---------- ----------- ----------- ----------- 10 1300 2450 5000 20 6000 1900 2975 30 950 2850 5600

Folosind facilitatile Oracle Reports de construire a rapoartelor, se pot crea mai multe tipuri de rapoarte matriciale. Exemple: matrice simple, matrice imbricate, produse carteziene de tip master/detail, matrice de tip break.

Manual Reports 9i Page 75 of 96

Page 76: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Aspecte generale ale rapoartelor matriciale

Modelul datelor pentru rapoartele matriciale

In construirea modelului datelor pentru rapoartele matriciale, trebuie avute in vedere urmatoarele:

- numarul interogarilor

- structura grupurilor

- proprietatile coloanelor de sumare

Numarul interogarilor Desi rapoartele de tip matrice necesita existenta a cel putin patru grupuri, nu implica nici o restrictie in privinta numarului interogarilor. Daca se construieste un raport matricial cu o singura interogare, atunci este necesara crearea a cel putin trei grupuri, in plus fata cel creat in mod implicit.Daca se construiste un raport matricial cu mai mult interogari (trei sau mai multe), atunci este necesara crearea a cel putin un grup.

Figura de mai jos ilustreaza cele doua tipuri de structuri de interogare, care pot fi folosite in modelul datelor pentru rapoartele matriciale.

Matrice cu o singura interogare Un avantaj al modelului de date care contine o singura interogare consta in faptul ca raportul astfel creat este, in general, mai eficient decit rapoartele bazate pe modele de date cu interogari multiple.

Manual Reports 9i Page 76 of 96

Page 77: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Matrice cu interogari multiple Modelul datelor cu interogari multiple ofera avantajul de a avea interogari simple si mai usor de intretinut decit un model de date echivalent care contine o singura interogare. Utilizarea modelului de date cu interogari multiple este obligatorie pentru unele tipuri de rapoarte matriciale (ex: unele rapoarte matriciale imbricate).

Structura grupurilor Rapoartele matriciale contin patru sau mai multe grupuri:

• doua sau mai multe grupuri asociate dimensiunilor. Aceste grupuri sunt continute in grupul produsului cartezian. In modelul de prezentare, informatia din cel putin un grup se va afisa de-a latul paginii, iar informatia din cel putin un grup se va afisa de-a lungul paginii formind un grid. Informatia din aceste grupuri este referita, in general, sub numele de “etichetele matricei”.

• unul sau mai multe grupuri asociate produsului cartezian. Acesta reprezinta toate combinatiile posibile intre valorile grupurilor asociate dimensiunilor. In modelul de prezentare, grupul produsului cartezian este reprezentat de intersectia cadrelor repetitive corespunzatoare grupurilor asociate dimensiunilor. La executia raportului, acesta se expandeaza si fiecare instanta a intersectiei datelor devine o celula separata. Figura de mai jos ofera un exemplu de produs cartezian, in care dreptunghiurile constituie celule si indica combinatiile departament/job valide.

• un grup destinat umplerii celulelor (“filler group”). Acesta contine

informatia reala care va fi reprezentata in celulele produsului cartezian. Pentru fiecare intersectie a valorilor grupurilor asociate dimensiunilor, grupul celulelor contine zero, una sau mai multe valori. La executia raportului, aceste valori apar in celulele corespunzatoare. Figura de mai jos ilustreaza modul de relationare a grupurilor pentru modelele de date cu o singura interogare si cu interogari multiple.

Manual Reports 9i Page 77 of 96

Page 78: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Coloane de sumare Crearea unei coloane de sumare pentru un raport matricial necesita mai multe informatii decit pentru un alt tip de raport. Astfel, este necesara specificarea urmatoarelor caracteristici:

• frecventa operatiei de sumare. Aceasta specifica grupurile asociate dimensiunilor pentru care se calculeaza coloanele de sumare.

• directia de sumare. Aceasta specifica modul de traversare a matricei pentru calculul coloanelor de sumare (de sus in jos sau de la stinga la dreapta).

Oracle Reports permite specificarea acestor categorii de informatii prin utilizarea proprietatii Product Order.

Observatie: toate coloanele de sumare din grupul asociat produsului cartezian necesita specificarea proprietatii Product Order.

Manual Reports 9i Page 78 of 96

Page 79: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Exemplu: Job ANALYST CLERK MANAGER PRESIDENT SALESMAN Year Deptno Sum Sal Sum Sal Sum Sal Sum Sal Sum Sal DptYrSum ---- ------ ------------- ----------- ----------- ---------- ---------- -------------- 80 10 20 800 800 30 ---------- YrSum 800 81 10 2450 5000 7450 20 3000 2975 5975 30 950 2850 5600 9400 ---------- YrSum 22825 82 10 1300 1300 20 3000 3000 30 ---------- YrSum 4300 83 10 20 1100 1100 30 ---------- YrSum 1100 ---------- ---------- ---------- ----------- ---------- JobSum 6000 4150 8275 5000 5600

In raportul de mai sus (care contine matrice imbricate), grupul G_YEAR contine coloana YEAR, grupul G_DEPT contine coloana DEPTNO, grupul JOB contine coloana JOB, iar grupul G_CROSS este asociat produsului cartezian.

Pentru a crea JobSum (reprezentind suma salariilor pe fiecare tip de job), se creeaza o coloana de sumare in G_CROSS cu urmatoarele proprietati:

Product Order Reset At

G_JOB G_JOB

Aceste proprietati indica faptul ca suma se va calcula pentru fiecare job din grupul G_JOB si se va reinitializa pentru fiecare job din grupul G_JOB.

Pentru a crea YrSum (reprezentind suma salariilor pentru fiecare an), se creeaza o coloana de sumare in G_CROSS cu urmatoarele proprietati:

Manual Reports 9i Page 79 of 96

Page 80: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Product Order Reset At

G_YEAR G_YEAR

Aceste proprietati indica faptul ca suma se va calcula pentru fiecare an din grupul G_YEAR si se va reinitializa pentru fiecare an din grupul G_YEAR.

Pentru a crea DptYrSum (reprezentind suma salariilor pentru fiecare an si fiecare departament), se creeaza o coloana de sumare in G_CROSS cu urmatoarele proprietati:

Product Order Reset At

G_YEAR, G_DEPT G_DEPT

Aceste proprietati indica faptul ca suma se va calcula pentru fiecare inregistrare din grupul G_DEPT corespunzatoare fiecarei inregistrari din grupul G_YEAR. G_DEPT vine dupa G_YEAR Product Order deoarece frecventa de modificare a G_DEPT este, in acest raport, mai mare decit frecventa de modificare a G_YEAR (departamentele sunt listate pentru fiecare an).

Suma este initializata pentru fiecare inregistrare din G_DEPT. Atunci cind mai multe grupuri apar in Product Order si nu se doreste obtinerea de sume partiale (non-running summary), grupul de Reset At trebuie sa fie acelasi cu ultimul grup din Product Order. Atunci cind mai multe grupuri apar in Product Order si se doreste obtinerea de sume partiale (running summary), grupul de Reset At trebuie sa fie altul decit ultimul grup din Product Order.

Manual Reports 9i Page 80 of 96

Page 81: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Modelul de prezentare pentru rapoartele matriciale

Figura de mai jos ilustreaza obiectele care formeaza modelul de prezentare al unei matrice simple, bi-dimensionale. Aceste obiecte constituie minimul necesar pentru un raport matricial.

Modelul de prezentare al unei matrice trebuie sa contina cel putin urmatoarele obiecte:

• cel putin doua cadre repetitive, unul cu directie de imprimare (Print Direction) down si altul cu directie de imprimare across (ex: R_DEPT si R_JOB in figura de mai sus)

• mai multe cadre simple pentru includerea coloanelor de sumare

• un obiect matrice creat pentru grupul asociat produsului cartezian, in interiorul caruia se gasesc celulele matricei (ex: R_SUMSAL si F_SUMSAL in figura de mai sus)

• boilerplate de tip text pentru fiecare coloana, rind si coloana de sumare (ex: Job si Deptno); afisarea etichetelor este optionala dar Oracle Reports le genereaza in mod implicit

Obiectul de tip matrice Defineste intersectia a cel putin doua cadre repetitive. Cadrele repetitive sunt dimensiunile matricei, iar obiectul de tip matrice contine cimpul pentru valorile grupului asociat celulelor. Este necesar un singur obiect de tip matrice pentru fiecare pereche de cadre repetitive care se intersecteaza in layout. Unul din cadrele repetitive trebuie sa aiba directia de imprimare down iar celalalt across, pentru ca cele doua sa formeze o matrice.

Rapoarte matriciale simple

Un raport matricial simplu este un raport cu doar doua dimensiuni, ca cel din exemplul de mai jos.

Job ANALYST CLERK MANAGER PRESIDENT SALESMAN Deptno Sum Sal Sum Sal Sum Sal Sum Sal Sum Sal ------ ------- ------- ------- ------- -------

Manual Reports 9i Page 81 of 96

Page 82: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

10 1300 2450 5000 20 6000 1900 2975 30 950 2850 5600

Modelul datelor

Exemplu

Modelul datelor din figura de mai sus contine o interogare si patru grupuri. Cele doua

grupuri din interiorul grupului asociat produsului cartezian corespund dimensiunilor matricei, iar grupul din afara celui asociat produsului cartezian contine valorile celulelor.

Se poate crea un raport echivalent utilizind trei interogari.

Manual Reports 9i Page 82 of 96

Page 83: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Modelul de prezentare

Exemplu

Modelul de prezentare din figura de mai sus contine numai trei cadre repetitive. Unul este de tip down, unul de tip across, iar celalalt se afla in interiorul obiectului matrice (intersectia cadrelor repetitive across si down).

Rapoarte matriciale imbricate

Un raport matricial imbricat este un raport cu mai mult de doua dimensiuni (are mai multe dimensiuni de tip across si/sau down), ca cel din exemplul de mai jos.

Job ANALYST CLERK MANAGER PRESIDENT SALESMAN Year Deptno Sum Sal Sum Sal Sum Sal Sum Sal Sum Sal 80 10 20 800 30 81 10 2450 5000 20 3000 2975 30 950 2850 5600 82 10 1300 20 3000 30 83 10 20 1100 30

Modelul datelor Modelul datelor pentru un raport cu matrice imbricate poate sa contina una sau mai multe interogari. Sunt necesare cel putin trei grupuri in proprietatea grupului asociat produsului cartezian.

Manual Reports 9i Page 83 of 96

Page 84: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Figura de mai jos ilustreaza modelul datelor pentru matrice imbricate, care foloseste o singura interogare.

Observatie: grupurile asociate dimensiunilor nu au legaturi de tip master/detail unele cu altele; deoarece nici un grup nu depinde de celelalte, in raport apar toate perechile de inregistrari imbricate chiar daca acestea nu contin valori propriu-zise.

Modelul de prezentare Modelul de prezentare pentru un raport cu matrice imbricate este acelasi indiferent daca utilizeaza una sau mai multe interogari in modelul datelor, ca in figura de mai jos.

Rapoarte master/detail de tip produs cartezian

Manual Reports 9i Page 84 of 96

Page 85: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Un raport master/detail de tip produs cartezian este similar unui raport cu matrice imbricate in sensul ca mai mult de doua dimensiuni. Cu toate acestea, intr-un raport master/detail de tip produs cartezian, inregistrarile care nu contin date nu sunt afisate.

Exemplu Job ANALYST CLERK MANAGER PRESIDENT SALESMAN Year Deptno Sum Sal Sum Sal Sum Sal Sum Sal Sum Sal 80 20 800 81 10 2450 5000 20 3000 2975 30 950 2850 5600 82 10 1300 20 3000 83 20 1100

Modelul datelor Modelul datelor pentru un raport master/detail de tip produs cartezian poate sa contina doua sau mai multe interogari. Sunt necesare cel putin trei grupuri in proprietatea grupului asociat produsului cartezian.

Figura de mai jos ilustreaza modelul datelor.

Manual Reports 9i Page 85 of 96

Page 86: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Modelul de prezentare

Rapoarte matriciale de tip break

Un raport matricial de tip break contine o noua matrice pentru fiecare inregistrare master. In exemplul de mai jos, fiecarui an (master) ii corespunde o matrice care contine departamentele si job-urile in acel an.

Manual Reports 9i Page 86 of 96

Page 87: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Exemplu Year 80 Job CLERK Deptno Sum Sal 20 800 Year 81 Job ANALYST CLERK MANAGER PRESIDENT SALESMAN Deptno Sum Sal Sum Sal Sum Sal Sum Sal Sum Sal 10 2450 5000 20 3000 2975 30 950 2850 5600 Year 82 Job ANALYST CLERK MANAGER PRESIDENT SALESMAN Deptno Sum Sal Sum Sal Sum Sal Sum Sal Sum Sal 10 1300 20 3000 Year 83 Job ANALYST CLERK MANAGER PRESIDENT SALESMAN Deptno Sum Sal Sum Sal Sum Sal Sum Sal Sum Sal 20 1100

Modelul datelor In modelul datelor pentru un raport matricial de tip break este necesar ca grupul asociat produsului cartezian sa aiba un grup parinte.

Figura de mai jos ilustreaza modelul datelor pentru un raport matricial de tip break.

Manual Reports 9i Page 87 of 96

Page 88: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Modelul de prezentare

Observatie: Cadrul repetitiv care contine cimpul F_YEAR inconjoara cadrele repetitive si obiectul matrice care constituie matricea. Acest cadru face ca pentru fiecare an sa fie afisata o noua matrice.

Manual Reports 9i Page 88 of 96

stefans
se va construi acest raport
Page 89: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

3.7. UTILIZAREA PL/SQL IN RAPOARTE

Oracle Reports permite utilizarea limbajului PL/SQL pentru extinderea facilitatilor de proiectare a rapoartelor. Atunci cind este necesara utilizarea logicii conditionale, in rapoarte pot fi incluse constructii PL/SQL.

Exista doua moduri de utilizare PL/SQL:

• PL/SQL extern, prin apeluri de functii sau proceduri grupate in biblioteci PL/SQL, memorate in afara raportului

• PL/SQL la nivelul raportului, prin triggere de formatare, formule PL/SQL asociate coloanelor calculate s.a.

PL/SQL extern PL/SQL extern consta in functii si proceduri stocate in biblioteci sau pachete, in afara raportului. Bibliotecile PL/SQL sunt module, deci pot fi referite de mai multe ori, in unul sau mai multe rapoarte sau de catre alte produse Oracle.

Biblioteci PL/SQL externe Sunt simple seturi de functii si proceduri. Spre deosebire de pachetele PL/SQL, intre functiile si procedurile incluse intr-o biblioteca nu trebuie sa existe o legatura logica. Cu toate acestea pachetele pot fi considerate bibioteci.

Pentru a crea o noua biblioteca se procedeaza astfel:

• se selecteaza File New PL/SQL Libraries ce are ca efect creearea unei librarii cenu contine nimic in Object (sau se da click pe butonul create din Object navigator, selectand in prealabil nodul PL-SQL Libraries)

• .se da dublu click pe nodul Program units(sau se da click pe butonul create din Object navigator, selectand in prealabil nodul Program Units)

Manual Reports 9i Page 89 of 96

Page 90: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

• se allege tipul de program si numele

• apare o fereastra in care se editeaza

• se selecteaza File Save sau File Save As pentru a denumi biblioteca si

pentru a o salva in baza de date sau intr-un fisier.

Inainte de a referi in raport functiile sau procedurile astfel create, biblioteca trebuie atasata raportului.

• din raport se selecteaza Report Attached Libraries pentru a vedea toate bibliotecile PL/SQL referite in raport

• se da dublu click pe Attached Libraries pentru a atasa o noua librarie ( v-a aparea fereatra de mai jos in care se v-a selecta libraria )

Manual Reports 9i Page 90 of 96

stefans
se va construi libraria lib_util
Page 91: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Package-uri PL/SQL Este un grup de tipuri, obiecte, functi sau proceduri legata din

punct de vedere logic. In general consta din: specificatie si body.

Package-uri PL/SQL create de utilizator Pentru a crea un pachet PL/SQL se procedeaza la fel ca in cazul bibliotecilor PL/SQL. In momentul aparitiei editorului, se introduce specificatia pachetului.

Package-uri PL/SQL Oracle Reports Oracle Reports pune la dispozitie un pachet (SRW) care contine functii, proceduri si exceptii care pot fi referite in rapoarte. Acest pachet permite actiuni ca: modificarea formatarii cimpurilor, executia rapoartelor din alte rapoarte, crearea unor mesaje care sa se afiseze in caz de eroare, executia instructiunilor SQL s.a.

Continutul unui package PL/SQL poate fi referit din orice raport fara a fi atasat raportului, insa nu poate fi folosit de un alt instrument Oracle.

PL/SQL la nivel de raport Consta in functii si proceduri care pot fi referite in grupuri, coloane, cadre repetitive, cadre simple, cimpuri, boilerplate-uri, parametri sau triggere la nivelul raportului.

Filtre de grup Permit restrictionarea datelor incluse intr-un grup. Oracle Reports pune la dispozitie doua tipuri de filtre de grup: First si Last si permite crearea filtrelor de catre utilizator. Datele sunt restrictionate dupa recuperarea din baza si inainte de afisare.

Formule asociate coloanelor Permit efectuarea unor calcule si pot fi specificate in cimpul Formula al paginii de proprietati asociata unei coloane definita de utilizator.

Placeholderi Permit setarea valorilor coloanelor de tip placeholder pe baza formulelor sau a user exit-urilor si pot fi specificate in cimpul Formula al paginii de proprietati asociata unei coloane definita de utilizator.

Triggere la nivel de cadre, cadre repetitive, cimpuri si boilerplate-uri Permit modificarea sau stergerea conditionata a aparitiei datelor continute in aceste obiecte.

Manual Reports 9i Page 91 of 96

Page 92: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Pentru a crea un trigger de formatare, se editeaza codul PL/SQL in cimpul Format Trigger al paginii de proprietati asociata obiectului.

Triggere de validare Permit testarea valorilor parametrilor din Runtime Parameter Form. Daca valorile nu sunt corecte, Oracle Reports incheie executia raportului. Pentru a crea un trigger de validare, se editeaza codul PL/SQL in cimpul Validation Trigger al paginii de proprietati asociata parametrului.

Triggere la nivelul raportului Permit verificarea starii unui obiect sau modificarea logicii raportului. Pentru a crea un trigger la nivelul raportului se selecteaza Report Triggers, se da dublu click pe unul dinte cei 5 triggeri standard si se editeaza codul PL/SQL in fereastra aparuta.

Reports Builder are 5 trigari standard (sau globali). Nu se pot crea alti trigari standard. Denumirea trigarilor indica punctul in care trigarul se declanseaza.

Ca regula generala, orice procesare care va afecta datele obtinute in raport, trebuie facuta in Before Parameter Form si After Parameter Form. Acesti doi trigari se declanseaza inainte ca orice select din raport sa fie parsed sau fetched. Orice procesare care nu va afecta datele obtinute in raport poate fi facuta in alti triggari.

1. Before Parameter Form

– se declanseaza inainte ca forma de parametrii sa fie afisata. In acest trigger puteti accesa si schimba valorile parametrilor. Chiar daca fereastra de parametri este inactivata ( nu va fi afisata )

– puteti folosi acest trigger pentru validarea, parametrilor

2. After Parameter Form

- se declanseaza dupa ce Fereastra de parametri a fost afisata.

– in acest triggar puteti accesa si schimba valorile parametrilor.

– puteti folosi acest trigar pentru validarea, parametrilor

– coloanele din data model nu sunt accesibile in acest triggar

3. Before Report

– se declanseaza inainte ca raportul sa fie executat, dar dupa ce query a fot parsat

4. Between Page

– se declanseaza inainte ca orice pagina sa fie formatata, cu exceptia primei pagini.

– poate fi folosit pentru customizarea formatarii paginii

– daca va reintoarceti la pagina nu se mai declanseaza

Manual Reports 9i Page 92 of 96

Administrator
Sesiune practica: testare declansare triggari cu srw.message(100,’mesaj’);
Page 93: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

5. After Report

- se declanseaza dupa ce iesiti din Previewer, sau dupa ce raportul a fost trimis spre o destinatie ( imprimanta, fisier )

- poate fi folosit spre ex pentru stergerea datelor din tabelele temporare care au fost folosite in interogari

Manual Reports 9i Page 93 of 96

Page 94: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

4. ANEXE

4.1. INSTALARE ORACLE 9I DEVELOPER SUITE

- se face instalare intr-un oracle home separate ( nu se poate altfel )

- se poate instala cu universal installer de pe cd, chiar daca pe computer exista deja un installer

- se alege din directorul stage fisierul products.jar

- se v-a creea un alias la baza de date.

- In Net configuration assistant se pune Naming Methods configuration pe Local

- In sqlnet.ora se poate schimba NTS in NONE

4.2. ALIAS PENTRU CONECTARE LA BAZA

sigma =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = serverdb3)(PORT = 1521))

)

(CONNECT_DATA = (SERVICE_NAME = sigma))

)

Manual Reports 9i Page 94 of 96

Page 95: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

4.3. PACKAGE-UL SRW

Oracle Reports este prevazut cu un package (o colectie de constructii pl-slq, ce contine o sumedenie de functii, proceduri si exceptii pe care le puteti referi in librarii sau raporte). Numele acestui package este srw.

Cand apelati o functie sau procedura din el, trebuie sa o prefixati cu srw.

Ex.: srw.break;

Package-ul srw contine uramatoarele proceduri si functii:

SRW.BREAK

(Tip procedura)

Sintaxa: srw.break;

Opreste temporar executia raportului si afiseaza o fereastra read only cu valorile curente ale coloanelor si parametrilor.

SRW.DO_SQL

(TIP procedura)

Sintaxa: srw.do_sql(sql_statement char);

Sql_statement este orice propozitie sql valida.

SRW.GET_PAGE_NUM

(TIP FUNCTIE)

Sintaxa: srw.get_page_num(‘page_num’);

Parameters: page_num este bariabila in care vrem sa plasam nr paginii curente.

Poate fi utila cand vrem sa folosim numarul de pagina in trigarele de formatare (nu are efect cand este introdusa in alta parte)

SRW.MESSAGE

(Tip procedura)

Sintaxa: srw.message(msg_number number, msg_text char);

Msg_number este un numar intre 0 si 9999 ce este afisat in linia de mesaj.

Msg_text este textul ce va fi afisat.

SRW.RUN_REPORT

(Tip procedura)

Manual Reports 9i Page 95 of 96

Page 96: PROIECT SIVECO APPLICATIONS - casmb.ro ERP/RAPOARTE SIVAPPS... · o este cel mai folosit tip de raport. Daca raportul se bazeaza pe o tabela, practic fiecare coloana din raport corespunde

Proiect: SIVECO Confidential Versiune Document:

Sintaxa: srw.run_report (comand_line char);

Parameters: comand_line este o comanda r25run valida.

Aceasta procedura este folositoare cand:

• rulam un raport din alt raport (prin folosirea trigarelor de actiune a butoanelor)

• trimitem parti din raport spre diferite recipiente

• trimitem parti de raport spre diferite imprimante

Ex: srw.run_report (‘report = mail_it desname = ‘||:ename || ‘desformat = dflt batch = yes mgr_no= ‘||to_char(:empno));

SRW.SET_TEXT_COLOR

(Tip procedura )

Syntaxa: SRW.SET_TEXT_COLOR('color');

Parameters: color poate lua valorile : black, white, green, darkgreen, gray, darkgray, cyan, darkcyan, red, darkred, blue, darkblue, yellow, darkyellow, magenta, darkmagenta

Procedura schimba culoarea campurilor. Atributul este ignorat in Character Mode.

4.4. SETAREA PROPIETATILOR PENTRU UN RAPORT ASCII (MOD CARACTER )

- dublu click pe iconul la nivel de raport ( In object navigator ) pentru a afisa roperty Inspector

- sub nodul Character Mode, setati Design in character Units to Yes

- in Object Navigator, sub nodul Paper Layot, se seteaza pentru cEle 3 sectiuni ( header, main si trailer ) Report With si Report Height la dimensiunile corespunzatoare modului character, si nuame: 132 ( sau 180) latime X 66 inaltime pentru landscape sau 102 latime X 85 (sau 116) inaltime pentru portrait )

- In object Navgator expandati nodul Data model apoi System Parameters

- Dublu click pe Mode pentru a afisa Property inspector; sub nodul Parameter se seteaza Initial Value la Characters

- in Paper Layot se alege Tools >Options> Rulers pentru a afisa casuta de dialog Ruler Settings; se seteaza Units la Character cells si Nmber of Snap Points Per Grid Spacing la 1.

- Se da click pe meniul View pentru a vedea daca Snap to grid este selectat

- Alegeti Edit > Preferences. Pe pagina Wizard setati Horizontal interfiled la 1 si Vertical Iterfield la 0.

- Alegeti Format > Font si selectati fontul, stilul si dimensiunea cat mai aproape de fontul mod caracter (Courier, Regular, 12 point)

In acest moment, puteti incepe definirea noului raport.

Manual Reports 9i Page 96 of 96