Need advise on SQL Report  base for APEX or jasper

Hello everyone,
I need some advise on how to approach this below report requirement. It has been bugging me for nearly 2 weeks now, and my time is running out.
Here is a simplified version of the database
Four tables: Defendant, Engagement, Service, Event.
A defendant can have more than 1 engagement, but they have only one open engagement at a time.
For each engagement, they will have services and events.
These events can be just general events or events that relates to the service.
Here is the script for the tables and sample data
CREATE TABLE "DEFENDANT"
   ("DEF_ID" NUMBER,
     "FIRST_NAME" VARCHAR2(50 BYTE),
     "LAST_NAME" VARCHAR2(50 BYTE),
     "ACTIVE" NUMBER DEFAULT 1
Insert into DEFENDANT (DEF_ID,FIRST_NAME,LAST_NAME,ACTIVE) values (1,'Joe','Bloggs',1);
Insert into DEFENDANT (DEF_ID,FIRST_NAME,LAST_NAME,ACTIVE) values (2,'John','Doe',1);
CREATE TABLE "ENGAGEMENT"
   ("ENG_ID" NUMBER,
     "DEF_ID" NUMBER,
     "COURT_NAME" VARCHAR2(20 BYTE),
     "DATE_JOINED" DATE,
     "DATE_TERMINATED" DATE,
     "ETHNICITY" VARCHAR2(50 BYTE),
     "ACTIVE" VARCHAR2(20 BYTE)
Insert into ENGAGEMENT (ENG_ID,DEF_ID,COURT_NAME,DATE_JOINED,DATE_TERMINATED,ETHNICITY,ACTIVE) values (1,1,'AAA',to_date('01/09/12','DD/MM/RR'),to_date('20/09/12','DD/MM/RR'),'European','1');
Insert into ENGAGEMENT (ENG_ID,DEF_ID,COURT_NAME,DATE_JOINED,DATE_TERMINATED,ETHNICITY,ACTIVE) values (2,2,'BBB',to_date('01/10/12','DD/MM/RR'),null,'Asian','1');
Insert into ENGAGEMENT (ENG_ID,DEF_ID,COURT_NAME,DATE_JOINED,DATE_TERMINATED,ETHNICITY,ACTIVE) values (3,1,'AAA',to_date('22/09/12','DD/MM/RR'),null,'European','1');
CREATE TABLE "EVENT"
   ("EVENT_ID" NUMBER,
     "ENG_ID" NUMBER,
     "NOTES" VARCHAR2(20 BYTE),
     "RELATED_SERVICE_ID" NUMBER,
     "START_DATE" DATE,
     "END_DATE" DATE,
     "ACTIVE" NUMBER DEFAULT 1
Insert into EVENT (EVENT_ID,ENG_ID,NOTES,RELATED_SERVICE_ID,START_DATE,END_DATE,ACTIVE) values (1,1,null,1,to_date('01/09/12','DD/MM/RR'),to_date('02/09/12','DD/MM/RR'),1);
Insert into EVENT (EVENT_ID,ENG_ID,NOTES,RELATED_SERVICE_ID,START_DATE,END_DATE,ACTIVE) values (2,1,null,1,to_date('23/09/12','DD/MM/RR'),null,1);
Insert into EVENT (EVENT_ID,ENG_ID,NOTES,RELATED_SERVICE_ID,START_DATE,END_DATE,ACTIVE) values (3,1,null,2,to_date('15/10/12','DD/MM/RR'),to_date('16/10/12','DD/MM/RR'),1);
Insert into EVENT (EVENT_ID,ENG_ID,NOTES,RELATED_SERVICE_ID,START_DATE,END_DATE,ACTIVE) values (4,2,null,null,to_date('02/10/12','DD/MM/RR'),null,1);
Insert into EVENT (EVENT_ID,ENG_ID,NOTES,RELATED_SERVICE_ID,START_DATE,END_DATE,ACTIVE) values (5,2,null,2,to_date('03/10/12','DD/MM/RR'),null,1);
Insert into EVENT (EVENT_ID,ENG_ID,NOTES,RELATED_SERVICE_ID,START_DATE,END_DATE,ACTIVE) values (6,3,null,null,to_date('22/09/12','DD/MM/RR'),to_date('23/09/12','DD/MM/RR'),1);
Insert into EVENT (EVENT_ID,ENG_ID,NOTES,RELATED_SERVICE_ID,START_DATE,END_DATE,ACTIVE) values (7,3,null,4,to_date('23/09/12','DD/MM/RR'),null,1);
Insert into EVENT (EVENT_ID,ENG_ID,NOTES,RELATED_SERVICE_ID,START_DATE,END_DATE,ACTIVE) values (8,2,null,null,to_date('12/10/12','DD/MM/RR'),null,1);
CREATE TABLE "SERVICE"
   (     "SERVICE_ID" NUMBER,
     "ENG_ID" NUMBER,
     "DESCRIPTION" VARCHAR2(200 BYTE),
     "DATE_STARTED" DATE,
     "DATE_TERMINATED" DATE,
     "ACTIVE" NUMBER DEFAULT 1
Insert into SERVICE (SERVICE_ID,ENG_ID,DESCRIPTION,DATE_STARTED,DATE_TERMINATED,ACTIVE) values (1,1,'Counselling',to_date('15/09/12','DD/MM/RR'),to_date('18/09/12','DD/MM/RR'),1);
Insert into SERVICE (SERVICE_ID,ENG_ID,DESCRIPTION,DATE_STARTED,DATE_TERMINATED,ACTIVE) values (2,1,'Housing',to_date('20/09/12','DD/MM/RR'),null,1);
Insert into SERVICE (SERVICE_ID,ENG_ID,DESCRIPTION,DATE_STARTED,DATE_TERMINATED,ACTIVE) values (3,2,'Treatment',to_date('01/10/12','DD/MM/RR'),to_date('15/10/12','DD/MM/RR'),1);
Insert into SERVICE (SERVICE_ID,ENG_ID,DESCRIPTION,DATE_STARTED,DATE_TERMINATED,ACTIVE) values (4,3,'Housing',null,null,1);
Insert into SERVICE (SERVICE_ID,ENG_ID,DESCRIPTION,DATE_STARTED,DATE_TERMINATED,ACTIVE) values (5,1,'Other',to_date('05/10/12','DD/MM/RR'),null,0);
Insert into SERVICE (SERVICE_ID,ENG_ID,DESCRIPTION,DATE_STARTED,DATE_TERMINATED,ACTIVE) values (6,2,'Treatment',to_date('16/10/12','DD/MM/RR'),null,1);****
And this is the view I am thinking to use as the base for the report
CREATE OR REPLACE FORCE VIEW "BASE_VW"
AS
  SELECT Def.Def_Id,
    Def.First_Name,
    Def.Last_Name,
    Eng.Eng_Id,
    Eng.Court_Name,
    Eng.Date_Joined,
    Eng.Date_Terminated,
    Eng.Ethnicity,
    Ser.Service_Id,
    Ser.Description,
    Ser.Date_Started    AS Service_Start_Date,
    Ser.Date_Terminated AS Service_Date_Terminated,
    Ser.Active          AS Service_Active,
    Ev.Event_Id,
    Ev.Related_Service_Id,
    Ev.Start_Date,
    Ev.End_Date,
    Ev.Notes,
    ev.active AS event_active
  FROM Defendant Def
  LEFT OUTER JOIN Engagement Eng
  ON Def.Def_Id = Eng.Def_Id
  LEFT OUTER JOIN Service Ser
  ON Eng.Eng_Id = Ser.Eng_Id
  LEFT OUTER JOIN Event Ev
  ON Ev.Eng_Id = Eng.Eng_Id;****
Requirement:
Report parameter: Start Date, End Date, Court_name
From chosen Court_name, list defendants who currently engage in the court.
For each defendant display
Section 1: Identifying Details: First Name, Last Name, Ethnicity, Date Joined Court
Section 2: All Services currently active that the defendant attend
Section 3: All Events that related to the service that the defendant attend
Section 4: All other events (don't have Related Service ID)
User must be able to download the whole report in spreadsheet or PDF format.
I did try to create a set of union selects (but the format is not that good, when no data return it display nothing, I would rather show some messages like "There is no associated events, rather than nothing")
and it only produces report for 1 defendant at a time.
We use Oracle APEX , so only select statement or PL/SQL Code return select statement is valid for report source.
In our place we use Jasper Report adjacent to APEX, but I have very little experience with Jasper report.
The developer who knows a lot about jasper report is too busy to help me.
Currently, I use union selects like below:
With Current_Engagement As
( Select Eng_Id From Engagement
  Where Def_Id =2
  And Date_Joined Is Not Null
  And ( Date_Terminated Is Null Or Date_Terminated > Sysdate)
  And Rownum =1
Select '1.Defendant ID' as col1, 'First Name' as col2, 'Last Name' as col3, 'Court Name' as col4, 'Ethnicity' as col5, 'Date Joined' as col6, 'Date Terminated' as col7
From Dual
Union All
Select Distinct to_char(Def_Id), First_Name, Last_Name, Court_Name, Ethnicity, to_char(Date_Joined), to_char(Date_Terminated)
From Base_Vw Inner Join Current_Engagement Ce On Base_Vw.Eng_Id = Ce.Eng_Id
Union All
select '2.Service ID', 'Service Description', 'Start Date', 'End Date', Null, Null, Null
from dual
Union All
Select distinct to_char(service_id), description, to_char(service_start_date), to_char(service_date_terminated), null, null, null
From Base_Vw Inner Join Current_Engagement Ce On Base_Vw.Eng_Id = Ce.Eng_Id
where service_active =1
Union All
Select '3.Event ID', 'Related Service ID', 'Start Date', 'End date', 'Notes', null, null
From Dual
Union All
Select distinct to_char(event_id), to_char(related_service_id), to_char(start_date), to_char(end_date), notes, null, null
from Base_Vw Inner Join Current_Engagement Ce On Base_Vw.Eng_Id = Ce.Eng_Id
Where Event_Active = 1
and related_service_id is not null
Union All
Select '4.Event ID', 'Start Date', 'End date', 'Notes', null, null, null
From Dual
Union All
Select distinct to_char(event_id), to_char(start_date), to_char(end_date), notes, null, null, null
From Base_Vw Inner Join Current_Engagement Ce On Base_Vw.Eng_Id = Ce.Eng_Id
Where Event_Active = 1
and related_service_id is nulland the result is kind of what I try to achieve (except that I need to work on display a message 'No data found' rather than nothing), But it seems that my code works only for one defendant.
COL1                           COL2                           COL3                           COL4                 COL5                 COL6        COL7         
1.Defendant ID                 First Name                     Last Name                      Court Name           Ethnicity            Date Joined Date Terminated
2                              John                           Doe                            BBB                  Asian                01/10/12                   
2.Service ID                   Service Description            Start Date                     End Date                                                             
3                              Treatment                      01/10/12                       15/10/12                                                             
6                              Treatment                      16/10/12                                                                                            
3.Event ID                     Related Service ID             Start Date                     End date             Notes                                           
5                              2                              03/10/12                                                                                            
4.Event ID                     Start Date                     End date                       Notes                                                                
4                              02/10/12                                                                                                                           
8                              12/10/12                                                                                                                           
10 rows selected
     However, I struggle to find a way to apply this to more than 1 defendant and still keep the format.
Defendant 1
All details related to defendant 1
Defendant 2
All details relayed to defendant 2
Defendant n
All details relayed to defendant nIs it possible to display a report as above by using only SQL script ?
Thanks a lot in advance. I am willing to compensate financially to someone who can give me a solution.
Edited by: Ann586341. View base_vw SQL script is fixed.

Thanks a lot Jeneesh. (You are really a guru.)
It is nearly 98% what the requirements ask for.
I just have one more question.
If I add more information into the database, just one more defendant
Insert into DEFENDANT (DEF_ID,FIRST_NAME,LAST_NAME,ACTIVE) values (3,'Minnie','Mouse',1);
--and one in Engagement table
Insert into ENGAGEMENT (ENG_ID,DEF_ID,COURT_NAME,DATE_JOINED,DATE_TERMINATED,ETHNICITY,ACTIVE) values (4,3,'BBB',to_date('05/10/12','DD/MM/RR'),null,'Latin America','1');Then I run the select statment again (without changing anything)
With Current_Engagement As
( Select Eng_Id
  From Engagement
  Where /*Def_Id =2
  And*/ Date_Joined Is Not Null
  And ( Date_Terminated Is Null Or Date_Terminated > Sysdate)
  --And Rownum =1
titles as
( Select  .9 dummy_rn,'1.Defendant ID' as col1, 'First Name' as col2, 'Last Name' as col3,
    'Court Name' as col4, 'Ethnicity' as col5, 'Date Joined' as col6,
    'Date Terminated' as col7
  From Dual
  union all
  select  1.9,'2.Service ID', 'Service Description', 'Start Date', 'End Date',
    Null, Null, Null
  from dual
  union all
  Select  2.9,'3.Event ID', 'Related Service ID', 'Start Date', 'End date', 'Notes',
    null, null
  From Dual
  Union All
  Select 3.9,'4.Event ID', 'Start Date', 'End date', 'Notes', null, null, null
  From Dual
all_titles as
( select dummy_rn,eng_id,col1,col2,col3,col4,col5,col6,col7
  from current_engagement,titles
select col1,col2,col3,col4,col5,col6,col7
from (
      select dummy_rn,eng_id,col1,col2,col3,col4,col5,col6,col7
      from all_titles
      Union All
      Select Distinct 1,ce.eng_id,decode(Base_Vw.Eng_Id,null,'No Data',to_char(Def_Id)) def_id,
                      decode(Base_Vw.Eng_Id,null,'No Data',First_Name) First_Name,
                      decode(Base_Vw.Eng_Id,null,'No Data',last_Name) Last_Name,
                      decode(Base_Vw.Eng_Id,null,'No Data',court_Name) Court_Name,
                      decode(Base_Vw.Eng_Id,null,'No Data',ethnicity) Ethnicity,
             to_char(Date_Joined), to_char(Date_Terminated)
      From Base_Vw
              right outer join Current_Engagement Ce
              On Base_Vw.Eng_Id = Ce.Eng_Id
      Union All
      Select distinct 2,ce.eng_id,
            decode(Base_Vw.Eng_Id,null,'No Data',to_char(service_id)),
            decode(Base_Vw.Eng_Id,null,'No Data',description) ,
            decode(Base_Vw.Eng_Id,null,'No Data',to_char(service_start_date)),
            decode(Base_Vw.Eng_Id,null,'No Data',to_char(service_date_terminated)) ,
            decode(Base_Vw.Eng_Id,null,'No Data',null),
            decode(Base_Vw.Eng_Id,null,'No Data',null),
            decode(Base_Vw.Eng_Id,null,'No Data',null)
      From Base_Vw
              right outer Join Current_Engagement Ce
              On Base_Vw.Eng_Id = Ce.Eng_Id
      where service_active =1
      Union All
      Select distinct 3,ce.eng_id,
             decode(Base_Vw.Eng_Id,null,'No Data',to_char(event_id)),
             decode(Base_Vw.Eng_Id,null,'No Data',to_char(related_service_id)),
             decode(Base_Vw.Eng_Id,null,'No Data',to_char(start_date)),
             decode(Base_Vw.Eng_Id,null,'No Data',to_char(end_date)),
             decode(Base_Vw.Eng_Id,null,'No Data',notes),
             decode(Base_Vw.Eng_Id,null,'No Data',null),
             decode(Base_Vw.Eng_Id,null,'No Data',null)
      from Base_Vw
           right outer Join Current_Engagement Ce
           On Base_Vw.Eng_Id = Ce.Eng_Id
      Where Event_Active = 1
      and related_service_id is not null
      Union All
      Select distinct 4,ce.eng_id,
              decode(Base_Vw.Eng_Id,null,'No Data',to_char(event_id)),
              decode(Base_Vw.Eng_Id,null,'No Data',to_char(start_date)),
              decode(Base_Vw.Eng_Id,null,'No Data',to_char(end_date)),
              decode(Base_Vw.Eng_Id,null,'No Data',notes),
              decode(Base_Vw.Eng_Id,null,'No Data',null),
              decode(Base_Vw.Eng_Id,null,'No Data',null),
              decode(Base_Vw.Eng_Id,null,'No Data',null)
      From Base_Vw
          right outer Join Current_Engagement Ce
          On Base_Vw.Eng_Id = Ce.Eng_Id
      Where Event_Active = 1
      and related_service_id is null
order by eng_id,dummy_rn,col1
;The result is
COL1                           COL2                           COL3                      COL4                 COL5                      COL6        COL7         
1.Defendant ID                 First Name                     Last Name                 Court Name           Ethnicity                 Date Joined Date Terminated
2                              John                           Doe                       BBB                  Asian                     01/10/12                   
2.Service ID                   Service Description            Start Date                End Date                                                                  
3                              Treatment                      01/10/12                  15/10/12                                                                  
6                              Treatment                      16/10/12                                                                                            
3.Event ID                     Related Service ID             Start Date                End date             Notes                                                
5                              2                              03/10/12                                                                                            
4.Event ID                     Start Date                     End date                  Notes                                                                     
4                              02/10/12                                                                                                                           
8                              12/10/12                                                                                                                           
1.Defendant ID                 First Name                     Last Name                 Court Name           Ethnicity                 Date Joined Date Terminated
1                              Joe                            Bloggs                    AAA                  European                  22/09/12                   
2.Service ID                   Service Description            Start Date                End Date                                                                  
4                              Housing                                                                                                                            
3.Event ID                     Related Service ID             Start Date                End date             Notes                                                
7                              4                              23/09/12                                                                                            
4.Event ID                     Start Date                     End date                  Notes                                                                     
6                              22/09/12                       23/09/12                                                                                            
1.Defendant ID                 First Name                     Last Name                 Court Name           Ethnicity                 Date Joined Date Terminated
3                              Minnie                         Mouse                     BBB                  Latin America             05/10/12                   
2.Service ID                   Service Description            Start Date                End Date                                                                  
3.Event ID                     Related Service ID             Start Date                End date             Notes                                                
4.Event ID                     Start Date                     End date                  Notes                                                                     
23 rows selected Is it possible in SQL to display it like this
COL1                           COL2                           COL3                      COL4                 COL5                      COL6        COL7         
1.Defendant ID                 First Name                     Last Name                 Court Name           Ethnicity                 Date Joined Date Terminated
2                              John                           Doe                       BBB                  Asian                     01/10/12                   
2.Service ID                   Service Description            Start Date                End Date                                                                  
3                              Treatment                      01/10/12                  15/10/12                                                                  
6                              Treatment                      16/10/12                                                                                            
3.Event ID                     Related Service ID             Start Date                End date             Notes                                                
5                              2                              03/10/12                                                                                            
4.Event ID                     Start Date                     End date                  Notes                                                                     
4                              02/10/12                                                                                                                           
8                              12/10/12                                                                                                                           
1.Defendant ID                 First Name                     Last Name                 Court Name           Ethnicity                 Date Joined Date Terminated
1                              Joe                            Bloggs                    AAA                  European                  22/09/12                   
2.Service ID                   Service Description            Start Date                End Date                                                                  
4                              Housing                                                                                                                            
3.Event ID                     Related Service ID             Start Date                End date             Notes                                                
7                              4                              23/09/12                                                                                            
4.Event ID                     Start Date                     End date                  Notes                                                                     
6                              22/09/12                       23/09/12                                                                                            
1.Defendant ID                 First Name                     Last Name                 Court Name           Ethnicity                 Date Joined Date Terminated
3                              Minnie                         Mouse                     BBB                  Latin America             05/10/12                   
2.Service ID                   Service Description            Start Date                End Date                                                                  
No Service Found
3.Event ID                     Related Service ID             Start Date                End date             Notes                                                
No Event Found
4.Event ID                     Start Date                     End date                  Notes                                                              
No Event FoundOr just a 'No data found' would do. I am thinking about create a dummy table which contains only one row with text "There is no data found". And so the outer join with the result, but I still cannot work out how to integrate with the condition in your select statement.
I really appreciate your help.

Similar Messages

  • Need advise on SQL,plsql developer career and future

    Hi all,
    I need all your advise in making an important decisions of my career path.I work in the IT field and have about total 4-5 years of work experience involving development and testing in a product based organization.
    Presently-i have got chance since last 4-5 months to work with writing PLSQL code,SQL etc on a part basis. I am very much interested to continue my career path as a PLSQL developer.
    But, unfortunately -in the total of my work experience-in the past 2-3 years-i worked with a internally developed DB query language(similar to SQL) and then from last few months with plsql. But this chance to work with PLSQL has been for less time and limited scope after which i will have to work on something different.
    Ii want to fully take on my career in SQL,PLSQL as Database Developer.
    Please advise me if my thinking seems logical and good and if I could do it. I have planned on applying for relevant SQL,PLSQL profile jobs.
    Now, My serious worry and concern is I feel that since i have worked very less with PLSQL-so am low in confidence that I feel i wont be able to answer ,or tell or not knowledgeable enough to be able to clear the technical interviews for SQL,plsql development profile which would need at least some years of experience.
    I have started studying and practsing PLSQL,sql by myself for from internet. So, can you all please advise me on how could i prepare myself for hard core technical interviews of SQL,PLSQL knowledge for about 2-3 years expertise.
    I know its not much possible to be competent so much in the subject by just studying and practicing.Its easy as saying to study and get it by myself-but i want to try and will put my best for it.
    Please help me with your inputs,all interview questions,hard ones-suggestions,links,any study materials, real time problems which i can try solving of SQL, PLSQL development.
    Thanks All

    Hi,
    A very good starting point is (in my opinion): [Steven Feuerstein PL/SQL Obsession|http://www.toadworld.com/Knowledge/DatabaseKnowledge/StevenFeuersteinsPLSQLObsession/tabid/153/Default.aspx]. Also the official site [PL/SQL Technology Center|http://www.oracle.com/technology/tech/pl_sql/index.html]
    Regards,

  • APEX SQL Reports bug? Apex 3.0.1 Oracle 10g XE

    Hi
    I have a few SQL Based reports and I'm having performance problems with showing them over remote connections.
    I have looked at the HTML for the page produced from these reports and I see something very strange.
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';
                rowStyleHover[50]='';
                rowActive[50]='N';
                rowStyle[50]='';This goes on for pages and pages and in fact it takes up 6.60MB of data on a single webpage. After a bit of testing, I discovered this only happens on reports that have grouping.
    Is there a workaround for this?
    Regards
    Adam

    I note that the Licensing document at http://www.oracle.com/pls/xe102/homepage does not specify the version of Application Express.
    I also note that the APEX version information is not found on the XE product page http://www.oracle.com/technology/products/database/xe/index.html
    I also note that Oracle publishes the upgrade and the upgrade steps - specifically for XE - and still does not discuss any restrictions by version.
    I also note that there is no license restriction or fee required for Apex at any version based on the XE specific and the regular 10gR2 licensing doc at http://www.oracle.com/pls/db102/homepage
    For ME, the above is sufficient to assume that Apex 3 is included. Especially if I take a soft copy of the referenced license doc PDFs.

  • NEED SQL SYSTAX RESTRICTION FOR APEX DEVELOPEMENT

    GOOD DAY MASTER..!!!
    I HAVE LITTLE PROBLEM IN SQL.
    I GOT VIEW(ITEMS_IN_SALES2)
    " SELECT INV_NO,
    ITEM_NO,
    ITEM_NAME,
    PRICE,
    QTY_INV,
    NO_SOLD,
    QTY_LEFT
    FROM ITEM_IN_SALES
    WHERE QTY_LEFT > 0;"
    AND IT'S RUNNING FINE..
    THIS IS FOR ME TO GET ALL THE DATA IN INVENTORY(WHERE I GET THE SOURCE OF VIEW)
    IN THIS VIEW ITS POSSIBLE TO COLLECT THE DATA WITH DUPLICATE ITEM_NAME & ITEM_NO BUT DIFFERENCE INV_NO
    AND WHEN I RUN THE VIEW THIS IS THE RESULT
    INV_NO ITEM_NO ITEM_NAME
    1 20 POWDER
    1 21 OIL
    2 20 POWDER
    2 19 BABY OIL
    SEE THE DUPLICATE ITEM_NAME & ITEM_NO BUT DIFFERENCE INV_NO
    WHAT I WANT TO ACHIEVED IS THIS RESULT
    1 20 POWDER
    1 21 OIL
    2 19 BABY OIL
    IS THAT POSIBLE? TO ABLE THE VIEW TO PICK THE ONLY 1ST INV_NO?
    TO PREVENT DUPLICATE
    PLEASE HELP MASTER..
    REGARDS
    MIKE.PILAPIL

    Hi Michael,
    For the above mentioned output,
    You can try something like this,
    SELECT distinct INV_NO,ITEM_NO,ITEM_NAME from invoice where  inv_no not in (2)
    union
    SELECT distinct INV_NO,ITEM_NO,ITEM_NAME from invoice where item_no not in(20) and item_name not in ('POWDER')its only for the output which you mentioned.
    1                      20                   POWDER
    1                      21                   OIL           
    2                      19                   BABY OILThank you.
    Edited by: Gurujothi on May 17, 2012 2:59 AM

  • Need to refresh my report OBIEE for each ten min intervel

    Hello All,
    I have following requirement,
    Requirement 1 :-
    I need to refresh my OBIEE report for each 10 min.
    Could you please any one suggest me how to configure the report to refresh automatically for each 10 min
    Requirement 2:-
    I had changed the column name in the presentation layer, on the basis of the column i had build few report
    How i can update that column name in all the reports. I need to update manually or automatically is it get update?
    Regards,
    Krishna reddy

    Thanks Srini for your reply.
    on goggling i also found following workaround on report refresh
    http://biztricz.blogspot.in/2010/11/refresh-only-particular-reports-in.html
    Request 2:
    I did work around that ,
    if you change the column name in the presentation layer it will automatically reflect in all the report which all using that column
    Regards,
    Krishna

  • Need input on SQL Report

    Hi,
    I have a sql code which would generate the report. Eg
    SPOOL TEST.LST
    TTITLE CENTER 'KDI SQL QUERY REPORTS FOR DAILY MONITORING' SKIP 2
    TTITLE LEFT 'CHECKING ANY PRICE FOUND FOR KD PACKS' SKIP 2
    SELECT CI_CODE, SORK_NUMB, BATCH_NUMB
    FROM CONS_TEMP GROUP BY SORK_NUMB, BATCH_NUMB, CI_CODE
    ORDER BY CI_CODE, SORK_NUMB, BATCH_NUMB;
    SPOOL OFF
    I would like to see the report with "SELECT query, SELECT query ouptut and TITTLE command's output" . If I give echo on command , it print 'echo on' command also . Please help me out.
    -Thambi

    Hi,
    I have a sql code which would generate the report. Eg
    SPOOL TEST.LST
    TTITLE CENTER 'KDI SQL QUERY REPORTS FOR DAILY MONITORING' SKIP 2
    TTITLE LEFT 'CHECKING ANY PRICE FOUND FOR KD PACKS' SKIP 2
    SELECT CI_CODE, SORK_NUMB, BATCH_NUMB
    FROM CONS_TEMP GROUP BY SORK_NUMB, BATCH_NUMB, CI_CODE
    ORDER BY CI_CODE, SORK_NUMB, BATCH_NUMB;
    SPOOL OFF
    I would like to see the report with "SELECT query, SELECT query ouptut and TITTLE command's output" . If I give echo on command , it print 'echo on' command also . Please help me out.
    -Thambi

  • Need advise: Is the MBA right for me?

    I currently have a MB, I am thiniking about the MBA but don't know if it would work for me. Here is what I would have to be able to do (every day) with the MBA:
    - Access internet and email (WIFI or verizon USB card)
    -Use iChat and Skype
    -Have parallels or VM fusion with WindowXP
    -I need about 300 pix in iPhoto (not editing just family stuff)
    -Have about 1000 songs in iTunes
    -need to access data from a USB portable drive.
    -Need to be able to watch a DVD from time to time.
    I guess the usual traveler stuff.... Also for those of you travelers, using the MBA, how do you protect your computer (airport, airplane etc) from damages?
    Thank you.
    Frederic

    Here are comments based upon my experience having had one for months:
    Wifi is unreliable and this is a big disappointment. My AT&T 881U (cellular broadband usb modem) works great and I use that when not at home. Wifi seems to work great when you have a router that just has 802.11n connected devices using WPA/WPA2. You won't find these at public hotspots.
    iChat and Skype work without problems, even the video chat is great. Camera needs good lighting but considering it is video chat, work well. Sound is very good even without a headset.
    I'm running Fusion with a WinXP guest os. It works. The MBA runs hot, disk intensive programs like virus scans take quite a long time. It won't break any speed records but I'm able to use MS Project, MS OneNote, Outlook (VPN to company network).
    iPhoto works great. Have about 500 pics of the kids and the screen is very nice.
    I keep my iTunes songs on a home server and run iTunes on the MBA. No problems, works well with about 6000 songs. All ripped from CD and encoded with a high (extreme preset) mp3 bitrate.
    I haven't tried it with flash memory.
    People have reported on this forum, even with the latest software update, playing videos causes the MBA to run hot. The shuts down one processor core and the machine runs too slow for playback.
    Best bag for me has been the Incase for a MBA. I wanted a bag with a shoulder strap as I carry mine around NYC and need free hands for coffee and blackberry This case is light and thin.
    Regards-Michael G.

  • SQL Developer extension for APEX workspace management

    Hi everyone,
    I've put together some SQL Developer extensions - one of them provides APEX workspace management
    from within SQL Developer when connected to the database as SYS. A screenshot and a short
    description is available here:
    http://sql-plsql-de.blogspot.com/2009/09/erweiterungen-fur-den-sql-developer.html?lang=en
    You can download the zip archive directly from here (the blog posting contains this link also)
    http://htmldb.oracle.com/pls/otn/f?p=20225:2:0::::P2_SUCHWORT:sqldev-ext
    Try it out - if you like it: Please give me feedback; if not: please do also
    Regards
    -Carsten
    Oracle 11g Release 2: New Features for Developers in German
    http://www.oracle.com/global/de/community/index.html
    BLOG: SQL und PL/SQL in Oracle
    http://sql-plsql-de.blogspot.com

    Hi,
    Looks very nice and I really like idea. Great job !
    For futher development idea:
    I like see that individual workspace admin could use same kind plugin, connecting DB with user that is assigned to workspace and manage only that WS properties.
    Br, Jari

  • Need advise!! admin password for tree

    We recently had an employee that has parted ways with us. I need to changed the admin edirectory password but I am afraid I might break the tree.What advise can you give. We are running OES11 sp2 edirectory 8.8 and sless 11sp3 .
    Thank you

    On 02/06/2015 08:46 AM, kjhurni wrote:
    >
    > IMO, it shouldn't break anything with eDirectory per se. Now, if you
    True; eDirectory will be fine, but that's not the whole story, as you
    continue...
    > have other software that was installed and you used that credential set,
    > then you may run into issues (ie, you used that account for your backup
    > software, then it will fail to authenticate).
    > My assumption of course, is also based upon that you do not have an
    > intruder lockout setting for the Admin account. If you do, then you
    > could risk locking the account and then you're kinda hosed, unless you
    > have an auto-reset, or you have created another admin-equivalent (and
    > there's a good way and a bad way to do that).
    >
    > Usually one should define another user as a Trustee of the tree with the
    > explicitly assigned rights as Admin. That way if the Admin account is
    > locked/deleted/whacked, you can login as that other user and do things.
    > I'm not a big fan of creating another user and assigning it 'equivalent"
    > rights to admin, because if something comes along and deletes the
    > account or changes the Admin rights, now that account is also affected.
    >
    > I'm sure my other colleagues will have some other and better ideas or
    > ways to figure out what's using the account to see if you're going to
    > run into trouble.
    >
    > For example, if you use IDM and you have the drivers set to use Admin or
    > something, you could be in trouble.
    IDM driver security equivalence has nothing to do with passwords, or even
    the ability to login (intruder stuff would not impact it) so unless a
    driver config (userapp driver perhaps, or something using ECMAscript to do
    LDAP things against the directory) is configured to login as the admin
    user, IDM should be fine. As mentioned, though, it is a best/proven
    practice to create a different object with appropriate rights for each
    driver config, or each service that needs to connect back in, to avoid
    other bad things (like this thread's topic, or much worse) from happening
    sometime in the future.
    > I'm not 100% sure if the OES11 stuff (if you used Admin) for LUM/LDAP
    > Proxy stuff would be affected, or if the cronjobs will figure out the
    LUM: Yes, that's probably the biggest one. If using a common proxy user
    for things, then you should be fine for anything using non-admin users.
    Good luck.
    If you find this post helpful and are logged into the web interface,
    show your appreciation and click on the star below...

  • Need help with SQL Query (query for certain IDs in a table and then IDs not in result set)

    OK. This is hard to explain but that may be my problem in constructing the query.
    I have a table that has a list of jobs. The jobs information in this table, among other things, is a short description of the job itself (think "title" in phrase form), date, and ID.
    So I can query the table to get all the jobs for a particular grouping of IDs (the only ones I am interested in) that ran successfully for a given time period. But what I want are all the jobs that did not succeed (or therefore are not present in the table) for this group of jobs and for a certain date range. But these are not the only job id's in the table.
    To get the successful ones I do the following:
    SELECT id,short_desc FROM my_table where
                id IN('1230', '1231', '1232', '1239', '1244', '1245',
                '1246', '1247', '1248', '1272', '1280', '1281', '1282',
                '1283', '1284', '1285', '1286', '1249', '1250', '1251',
                '1252', '1253', '1255', '1233', '1234', '1235', '1236',
                '1237', '1238', '1256', '1257','1258', '1254', '1290','1310')
                AND the_date > = SYSDATE - 23/24
                AND to_char(the_date, 'DD-MON-YYYY') = TO_CHAR(CURRENT_DATE, 'DD-MON-YYYY')
    I have tried to use another AND clause with NOT IN and the group or NOT EXISTS but that doesn't work as there are other jobs captured in this table with id's of course. I am only concerned with these id's:
    IN('1230', '1231', '1232', '1239', '1244', '1245',
                '1246', '1247', '1248', '1272', '1280', '1281', '1282',
                '1283', '1284', '1285', '1286', '1249', '1250', '1251',
                '1252', '1253', '1255', '1233', '1234', '1235', '1236',
                '1237', '1238', '1256', '1257','1258', '1254', '1290','1310')
    Someone said to use a temp table. I don't think I have permission and I haven't tried as I want to do this in one query if possible.
    After thinking about this I am at a loss. I tried to do this in the front end but it just became too messy.

    You do not need a physical temp table. You need an in-line view:
    WITH list as (
                  SELECT '1230' id FROM DUAL UNION ALL
                  SELECT '1231' FROM DUAL UNION ALL
                  SELECT '1232' FROM DUAL UNION ALL
                  SELECT '1239' FROM DUAL UNION ALL
                  SELECT '1244' FROM DUAL UNION ALL
                  SELECT '1245' FROM DUAL UNION ALL
                  SELECT '1246' FROM DUAL UNION ALL
                  SELECT '1247' FROM DUAL UNION ALL
                  SELECT '1248' FROM DUAL UNION ALL
                  SELECT '1272' FROM DUAL UNION ALL
                  SELECT '1280' FROM DUAL UNION ALL
                  SELECT '1281' FROM DUAL UNION ALL
                  SELECT '1282' FROM DUAL UNION ALL
                  SELECT '1283' FROM DUAL UNION ALL
                  SELECT '1284' FROM DUAL UNION ALL
                  SELECT '1285' FROM DUAL UNION ALL
                  SELECT '1286' FROM DUAL UNION ALL
                  SELECT '1249' FROM DUAL UNION ALL
                  SELECT '1250' FROM DUAL UNION ALL
                  SELECT '1251' FROM DUAL UNION ALL
                  SELECT '1252' FROM DUAL UNION ALL
                  SELECT '1253' FROM DUAL UNION ALL
                  SELECT '1255' FROM DUAL UNION ALL
                  SELECT '1233' FROM DUAL UNION ALL
                  SELECT '1234' FROM DUAL UNION ALL
                  SELECT '1235' FROM DUAL UNION ALL
                  SELECT '1236' FROM DUAL UNION ALL
                  SELECT '1237' FROM DUAL UNION ALL
                  SELECT '1238' FROM DUAL UNION ALL
                  SELECT '1256' FROM DUAL UNION ALL
                  SELECT '1257' FROM DUAL UNION ALL
                  SELECT '1258' FROM DUAL UNION ALL
                  SELECT '1254' FROM DUAL UNION ALL
                  SELECT '1290' FROM DUAL UNION ALL
                  SELECT '1310' FROM DUAL
    SELECT  l.id,
            nvl(short_desc,'This job failed') short_desc
      FROM      my_table m
      WHERE RIGTH JOIN
                list
              ON (
                      m.id = l.id
                  AND
                      the_date > = SYSDATE - 23/24
                  AND
                      the_date < TRUNC(SYSDATE) + 1
    SY.

  • Need advise about using NAS drive for TM and other storage

    I have 2 macs. One is running Snow Leopard and has a FW 400 drive connected directly to it for TM backups. I have another older mac (G5 PPC) running Tiger and I plan to update to Leopard so I can also do TM backups for it.
    So, I'm thinking of getting the following NAS enclosure, adding a 2TB drive to it, so I can do TM backups on the old mac (and maybe switch the other mac to use it too).
    The questions I have are:
    1. is it fast enough to do it over the network, compared to the direct FW 400 connection?
    2. Can I partition the new NAS 2TB in half and move the TM backup folder over there and then tell my new mac that it needs to do the TM backup there?
    That's all I have for now. Hope someone can help.
    Thank You!

    That does not appear to be compatible with Time Machine.
    See the pink box in #2 of [Time Machine - Frequently Asked Questions|http://web.me.com/pondini/Time_Machine/FAQ.html] (or use the link in *User Tips* at the top of this forum).

  • Need advise on preparing .ai files for print house for labels design

    Greetings!
    I just got a freelance job to do label design for commercial products (cleaning, food products, etc).
    Its a huge task as the company have lots of products in the market and they decided to drop the design
    company that were doing the labels for them and hire me to be the main designer.
    Since my main work with Illustrator and Photoshop is been for Web Design and screen graphics,
    I am not sure how to use Illustrator CS5 the best way for preparing the final files to send to a print house
    according to European or US norms, I would like to have some help from other users that maybe are experience with this kind of job.
    My main concerns for now are:
    1. Should I send .ai or .eps?
    2. Pantones or CMYK ? And how to create the artboards that show the measures of the labels and the pantone colors palette
        (I have seen examples on some prints that have show me ), but have no idea if Illlustrator already have a template/tools for that.
    3. About the size of the labels, if its a straight shape, like a square, you make the artboard on that size and just put some bleed,
        but since most products labels come in many shapes, how do you work around it?
       Since the artboard can´t have the same shape as the labels , will the white background being print?
    4. When using effects like highlights, reflections, especially in Titles, how do you create the pantones for that ?
    Hoping to have some help from the community here, you can send me some links, tuts,
    everything that can help me to understand all this kind of process, I will be much appreciate.
    Thanks!

    Some of the following (but not all) repeats, but elaborates on or clarifies what others have said.
    First, though: While I certainly don't mean to discourage you, you will be far better off getting started if you realize this:
    Designing for commercial-quality print is a hugely different world from designing for the web. You are now dealing with characteristics and limitations of real-world, physical machines, inks, substrates, and many-step workflows. The most tragic (and potentially disasterous) error web-only designers (and their clients) make is naively thinking that moving from web design to print design is a simple lateral move involving nothing more than a few quick answers to a bullet list of questions (CMYK vs. spot, etc., etc.) If you fall into that camp, you are asking for serious and costly trouble.
    A user forum like this is a very poor place to educate yourself. Forums like this are populated by more beginners than experts, many of whom are far too eager to post answers. More often than otherwise, answers are--if not downright wrong--not best-practice.
    You need to gain a working knowledge of the printing processes with which you wll be dealing. Take a class at the local tech school. Visit the printing houses (and don't carry a designer's chip on your shoulder). Look for any opportunity to get your fingers dirty; offer to do some grunt-work in a press room to gain exposure. Read authoritative books on the subject.
    function(){return A.apply(null,[this].concat($A(arguments)))}
    f1. Should I send .ai or .eps?
    Nowadays, PDF is the preferred delivery format for whole documents. If the printing house is placing the artwork in a program that cannot place PDF as a spot graphic, it is conceivable that they may need EPS. Depends on the printing house's workflow. In print work, you need to communicate with the printing house--and you need to learn to speak their language.
    function(){return A.apply(null,[this].concat($A(arguments)))}
    2. Pantones or CMYK ?
    Don't say "Pantones." Pantone is a company. Say "spot color." Pantone makes both process and spot inks. Pantone is not the only source for spot color. Your question is "spot color or CMYK process." The answer depends on the specific project.
    Labels may involve CMYK process, spot colors, or a combination of the two. You can't just add colors to your design willy-nilly. You have to plan and design for it. It depends on the printing budget, the printing capabilitites of the printing house, the printing method, and even the design (which may affect the substrate, which may not be suitable for process).
    When designing for print, don't think in terms of colors. Always think in terms of inks, because that's what you're really dealing with. Each time you add an ink, you add a workflow process, and therefore cost. As soon as you add a number of inks in the design that exceeds the number of inkwells on the press on which it will be run, you have just necessitated another press pass.
    Labels also commonly involve clear or translucent inks (varnishes), liquid lamination (flood or spot), metallic inks, and/or foils. Each of those count as an additional ink or even a different work process. Sometimes certain inks require drying time after previously-laid inks, which also affects costs.
    function(){return A.apply(null,[this].concat($A(arguments)))}
    And how to create the artboards that show the measures of the labels and the pantone colors palette
    Again, best practice depends on the printing house and its workflow. For example, it can be a no-brainer labor (i.e.; money) savings to gang multiple instances of a label design onto a design page (Artboard) set up to the size of the press sheet.
    It can be advantageous to draw die cuts on a separate Layer, also ganged to match the artwork layout. Same may apply to foils, varnishes, and embosses. It's often advantageous to draw trim and fold marks in the bleed area of the page layout. It's often advantageous to add registration marks in a press-sheet layout.
    Again, best-practice depends on the project--but the economical and turn-around advantages can be significant.
    function(){return A.apply(null,[this].concat($A(arguments)))}
    (I have seen examples on some prints that have show me ), but have no idea if Illlustrator already have a template/tools for that.
    Whenever you catch yourself thinking "I have no idea if Illustrator..."--read the instructions.
    Most graphics programs (including Illustrator) provide options for including basic "printer marks"  (trim and registration marks, separation labels) outboard of the page size. That doesn't mean it isn't often advantageous to add your own. For example, the auto printer marks setting will only add one set of trim marks for the whole page. That's pretty useless in a multi-up layout, which is quite common in label design.
    function(){return A.apply(null,[this].concat($A(arguments)))}
    ...but since most products labels come in many shapes, how do you work around it?
    Pages (Artboards in Illustrator) are rectangular. One typically provides die cuts (and/or varnishes, foils, embosses, etc., etc.)  as elements drawn accurately on a Layer dedicated to the purpose.
    function(){return A.apply(null,[this].concat($A(arguments)))}
    Since the artboard can´t have the are same shape as the labels , will the white background being print?
    There is no "background." This is an object-based program. Where there is no object, there is nothing. By default, even white fills don't mean "white ink"; they mean "no ink." (Remember, think inks, not colors.)
    function(){return A.apply(null,[this].concat($A(arguments)))}
    4. When using effects like highlights, reflections, especially in Titles, how do you create the pantones for that ?
    Illustrator is primarily a vector based drawing program. Vector graphics are by nature and even by definition sharp edged. When vector programs try to provide "soft & fuzzy" features, they do it in either of two ways: either by programmatically creating additional vector paths and parameters (blends, grads, mesh grads), or by resorting to creation of non-vector "effects" (raster images). Whether such features correctly handle spot colors depends on the feature, and even on the version of the program.
    So whenever working with spot color--in any program--you have to stay consciously aware of what you are actually doing (what kind of objects you are creating) when you apply such features. That's why it does no good in a user forum to speak of nebuous designerly terms like "highlights" when you ask technical questions. In order to get a correct answer, you ultimately have to state the kind of objects you are dealing with (and feature, and version, etc.).
    function(){return A.apply(null,[this].concat($A(arguments)))}
    1. PDF?? I only use .pdf to show the client the designs before approval but never as final file...also I have heard from some many places that if the print house needs to open the file on a different design program the best is to send them .eps
    PDF is a delivery format. As such, it is very versatile. Design comps is only one of its many uses. But PDF is not meant to be an editable format. When you deliver a PDF that was created by Illustrator and which is fully editable on the receiving end, you are really embedding in the file a full second version of the file as native AI content. Whether this AI-native content is included is controlled by you when you export the PDF.
    Editing PDFs that do not have the AI-native content embedded can be very cumbersome and problematic. Again: PDF is a delivery format, not an editing format. Ideally, the printing house should not have to edit your press-ready files. It is supposed to be up to you to build them correctly. That should be your goal.
    I expressly forbid printing houses from editing my delivery files. If an edit is needed, it comes back to me, and I make the edits. If a printing house chooses to edit one of my files without permission--and a problem result--they eat it; not me.
    Yes, yes, if print-side minor editing (like the afore-mentioned ingredients boilerplate scenario) is part of the established workflow, that's fine; its assumedly been agreed upon as the cost-efficient workflow. But generally speaking, the kind of designer who routinely relies upon the printing house as a "safety measure" to fix his files is...well...exactly the kind of designer I would not hire.
    By the way: Hearing something "from many places" (especially in online user forums) in this business is no indication of correctness or best-practice. Quite often, the most-cited advice is the bad advice. Case-in-point: The ever-cited myth that everything for print should be rasterized to 300 ppi. 300 ppi is usually needless oversampling. This is especially true in reference to mere raster effects like those controlled by Illustrator's Document Raster Effects Resolution setting. 300 ppi is almost never needed for the most common uses of such effects: blurry drop shadows, glows, etc., etc. "Fuzzy" is the very purpose of those effects. All you have to concern yourself about is the potential for visible pixelation, which is directly tied to halftone ruling.
    function(){return A.apply(null,[this].concat($A(arguments)))}
    ...what I was mention is to be able create like a table where you list the pantones use, same time to put measures guides on the artboard itself, is this possible to do in illustrator?
    Again, separation names are included in the Printer Marks option of the Print Dialog. See the documentation. Depending upon your delivery format and workflow, the printing house may not even use Illustrator's printer marks; they may use those in one of their prepress programs.
    But you should always check the seps before sending a press-ready file. You can do this in AI's print dialog, or in Acrobat Pro. Regardless, it's your job to make sure the project color-separates correctly. It is very common to "finish" a job thinking you have been very careful and everything is right. It is just as common to preview the seps and find an object on the wrong separation plate, or knocking out something it shouldn't, or overprinting something it should knock out.
    (There's also the whole matter of trapping, which this thread has yet to mention.)
    function(){return A.apply(null,[this].concat($A(arguments)))}
    ...imagine I have a label that is a star with 200x200 px, and the artboard is white background with 300x300px,
    I will add (with as much force as I can muster) my admonition to that which has already been given: when talking about actual, physical measure, forget about the web. Forget about Photoshop's rulers. Forget about pixels. A pixel is not a unit of measure. If you think it is, tell me: How big, in inches, is a pixel? I might as well ask you "how high is up?"
    If you tell a printing house that the trim size of your document is 600 by 1200 pixels, he will (and should) laugh at you.
    function(){return A.apply(null,[this].concat($A(arguments)))}
    if I print the artboard on my laser printer I get the label with the background also, so how does the print house manage to
    not have the background of the artboard when they print?
    If you print the artboard on your laser printer, you do not "get the background." Think about it: Do you have any white toner in your laser printer? (Think inks, not colors.)
    All the above is offered in a spirit of helpfulness (and some tongue-in-cheek jest). Take it as such. Bottom line, though--and this is not meant to be the least bit insulting--unless the company you have just contracted with is a small mom & pop shop and/or has very basic labeling projects, it really sounds as if you are already in well over your head. I am certainly not saying any of this is rocket science. It isn't. A dedicated person can learn its ins-and-outs in relatively short time if that time is well spent. But an online user forum is a very error-prone, incomplete, inefficient, and therefore poor way to learn it. It doesn't sound like you have that much time to waste.
    JET

  • Need advise on new macbook pro for teenager

    Would love to hear some thoughts on which one of the below models would be best for a teenager, mostly to be used for high school, college and browsing.  Not sure if there will be a storage issue with apps, specifically if we choose the MS suite of products having the 500GB vs the 128GB version.  Not sure if the extra $200 is worth it, especially for smaller storage.  I appreciate the comments in advance, thanks.
    Apple® - MacBook® Pro - Intel Core i5 - 13.3" Display - 4GB Memory - 500GB Hard Drive Model: MD101LL/A  (old version)
    vs
    Apple® - MacBook Pro with Retina display - 13.3" Display - 8GB Memory - 128GB Flash Storage
    Model: MGX72LL/A (new version)

    The 2012 version is still the current model (in production) for the MacBook Pro 13-inch non-Retina
    computer, it has an access for the user to upgrade the RAM total capacity from 4GB to a higher
    supported total. The 500GB hard disk drive may be upgraded at some future date to larger storage
    capacity; perhaps a 1TB hard disk drive. There are options... some after the point of sale if you
    have a computer that has the potential of upgrades; not a built-to-order model.
    $200 difference can buy a RAM upgrade to 16GB from OWC, and that is a user upgradable item
    if the 2012 build series is considered, so the price is similar to the retina in that regard...
    http://eshop.macsales.com/shop/memory/Apple_MacBook_MacBook_Pro/Upgrade/DDR3_160 0MHz_SDRAM
    The newer Retina-display based model cannot have the RAM memory capacity increased. The
    flash storage is quick, but will soon be full of saved content and would have to be cleared out
    and the files saved to an external hard disk drive for safekeeping; then used storage capacity
    could be freed-up by trashing the original user-created or saved files. (Avoid removing OS X
    files, since you can damage the system by improper methods, or by using bad 'clean' software.)
    Apple:
    Refurbished & Clearance
    Education
    While there is some degree of prestige in owning a higher-end model, the practical use of it to
    a student may be less than ideal. There are more connection ports on the older style MB/Pro.
    And a few times a year, someone could probably use the optical drive to save content to DVD.
    {This model should also ship with system media on disc; a Retina model has no media discs.}
      •Refurbished 13.3-inch MacBook Pro 2.5GHz Dual-core Intel i5  
      [Originally released June 2012]
    13.3-inch (diagonal) LED-backlit glossy widescreen display, 1280-by-800 resolution
    4GB (2 x 2GB) of 1600MHz DDR3 SDRAM
    500GB Serial ATA @ 5400 rpm
    8x double-layer SuperDrive (DVD±R DL/DVD±RW/CD-RW)
    Intel HD Graphics 4000
    Sources for quality RAM and other upgrade parts for the non-retina model may be found on the
    OWC site (macsales.com) & there is an iFixit repair guide to help the user learn about how the
    machine could be maintained or repaired. http://ifixit.com - guides
    •MacBook Pro 13-inch Unibody Mid-2012 Repair guide - iFixit:
    https://www.ifixit.com/Device/MacBook_Pro_13%22_Unibody_Mid_2012
    A MacBook Pro from the Apple Store online Refurbished web page qualifies for Apple Care plan;
    but ships with the same initial warranty as any new Mac. The Applecare plan (option) may be
    purchased within the first year to extend the coverage; but read details. The difference in cost
    for an official Apple refurbished MacBook Pro 13-inch non-retina model, vs the same one new
    is nearly what an AppleCare plan will cost. So that's worth checking the math. I've saved some
    money by looking around for a discount on AppleCare plans. The official ones, not geekguys.
    A different consideration may be to see what kinds of other insurance you have that may cover
    the accidental damages to a portable computer, that a teenager may experience. Liquid or impact
    are two that may be covered if your homeowner or renter insurance has an electronics coverage
    section. If an item is not in a flood, but gets wet, that is a question one may ask an adjustor before
    the accidental spillage of a soda into the keyboard occurs. So, that is not covered by AppleCare.
    Of course, I have a bias toward being able to upgrade the internal components on a computer to
    extend the useful life of the product. I'd prefer to have costly purchases last, since other priorities
    usually also require funding, all from the same limited pool of personal resources. Accountability?
    In any event...
    Good luck & happy computing!

  • Need advise on selecting the IDE for swing UI development

    Hi,
    I'm looking for a best IDE for developing swing application.
    Our application is a Rich Desktop Client Application which will have more than one hunderd screens. And all the business logics will be J2EE EJB services.
    At the initial stage, we thought of using the .net winform technology as Desktop Rich GUI for its best look & feel and productivity perspective, by invoking the business services thru webservices.
    But later, we decided to use swing components which are somewhat promising now-a-days. This will avoid the multi-platform issues, maintainability and perfomance difficulties.
    I would be so much grateful, if somebody could share me their experience on deciding the IDE which would be the best for Swing development currently.
    If any one has the list of different swing UI builder IDE and the feedback list correspondingly, could you post them?
    ..Thiruppathy.R

    Thanks All!!
    I experienced both NetBeans and Eclipse recently. I did not work in-depth in any of these IDEs for swing application. All the observations are from my first impression on them.
    Please find the below are my feedback on both of these IDEs from my experience in the swing application development perspective :
    Net Beans
    Advantages:
    1. Palette Manager option is good -> I can add the custom components to the palette very easily and make them available to use them readily.
    2. IDE Layout / Framework is impressive -> In the swing design mode, the palette, properties, inspector and source all are evenly arranged in a way that things can be managed smoothly. It's very impressive.
    3. Swing Components Alignment options are good -> IDE is very smart in arranging the swing components in the Panel or Frame. Even it helps the user by showing the alignment lines in the background. So we can definitely say that Net Beans has come in much better shape.
    Disadvantages:
    1. I am not allowed to change the generated code in the IDE.
    2. I can't change the component name or event method name, other than the IDE generated one.
    3. Additional Design codes will be reflected only at the runtime, but not at the design time. Here the developer is loosing the flexibility of using the code changes that impact the design.
    Eclipse - Visual Editor
    Advantages:
    1. Source and Design mode, both can be viewed simultaneously.
    2. Source and design, both are in sync all the time. The user have the complete control with the code.
    3. As everyone knows, the IDE is very powerful and ease of use.
    Disadvantages:
    1. I can't add any custom components to the palette to make it available for ready use. Only option is 'Choose Bean' to add the custom components. So I should remember the component name everytime while adding in the panel / frame.
    I also tried few commercial plugins with Eclipse. Given below is my feedback from my experience,
    1. Eclipse - JFormDesigner
    Advantage:
    1. It provides Palette Manager option and very smart in the swing components alignment settings.
    DisAdvantages:
    1. For the design mode, it uses JFD file and later java code will be generated from this JFD file. So what you are seeing in the design mode is JFD file, not our java source. Developer have no option to see the source changes in the design mode.
    2. It is a commercial product.
    2. Eclipse -> Jigloo
    Advantage:
    1. Easy to use.
    2. Custom swing components can be added the Palette.
    Disadvantage:
    1. It is similar to Eclipse - Visual Editor, but the difference is in the look and feel of the palette and event handlings.
    2. For commercial purpose, you have to purchase it.
    I also tried the JBuilder, but seems that it provides the Eclipse - Visual Editor for Swing Application development.
    I didn't try the IntelliJ IDE yet, for swing application development. Some of the forum responses tells that IntelliJ IDE is very powerful, but not recommended for swing application development.
    Eclipse - Visual Editor is promissing and it's open source. As I'm beginner to the swing development, I might have some short vision on some of the above said items.
    If somebody have a better comparison sheet and could share with us, I would be grateful.
    ..Thiruppathy.R

  • Create Simple Printable SQL Reports in APEX 3.2 Without a Print Server

    Oracle Apex 3.2
    Oracle 11g
    OHS
    I thought I'd post an answer on how to get a printable SQL report in Oracle Apex without having to configure a print server. I'm sure that similar things have been posted in various other places, but I found the documentation for using custom row templates (to create a printable report) to be incomplete at best. For my needs, I was not looking for an awe inspiring report printout, but rather simple directory information printouts. For example, if you wanted a printable report to look like this:
    =================================
    CURRENT ACTIVE EMPLOYEES REPORT
    =================================
    First Name: Bob                  Employee ID: 0000000000
    Last Name: Swarts              Company Credit Card Number: 0000-0000-0000-0000
    Middle Initial: F                  Social Security Number: 000-00-0000
    First Name: Sue                  Employee ID: 1111111111
    Last Name: Johnson           Company Credit Card Number: 1111-1111-1111-1111
    Middle Initial: G                 Social Security Number: 111-11-1111
    etc.....In MS Access, doing this is very easy. From what I understand, this is also very easy to do this using PDF software with a print server. However, if you are like me, you don't want to waste time and money by obtaining and configuring a print server (even if it is free). However, never fear because you can create simple reports like this with relatively minimalistic effort; and you can do so without having to configure a print server.
    1.) Create a new page
    2.) Create a new sql query report region on the page
    3.) Make your query just as you would normally.
    For this example the query would be:
    select first_name, employee_id, last_name, company_credit_card_number, middle_initial, social_security_number from employee_table4.) Go to "Shared Components"
    5.) Under "User Interface" click on "Templates"
    6.) Click on the "Create" button
    7.) Select "Report"
    8.) Select "From Scratch"
    9.) For the "Template Class," choose one of the "custom" classes. For the "Template Type," choose "Named Column"
    10.) Click the "Create" button
    11.) Now that you created a custom row template, go back to "Shared Components" and then to "Templates"
    12.) Find your custom template and click on it
    CUSTOM TEMPLATE HOW TO
    1.) In the "Row Template 1" textbox, you are going to create some custom css that will display the data on the page. The css to make the report look like the report above would be:
    <div style = text-align: justify">
    <table>
    <tr>
    <td style = "width: 200px"><b>First Name: #1#</b></td>
    <td style = "width: 225px">&nbsp</td>
    <td style = "width: 215px"><b>Employee Id: #2#</b></td>
    <tr>
    <td style = "width: 200px">Last Name: #3#</td>
    <td style = "width: 225px">&nbsp</td>
    <td style = "width: 215px">Company Credit Card Number: #4#</td>
    <tr>
    <td style = "width: 200px">MI: #5#</td>
    <td style = "width: 225px">&nbsp</td>
    <td style = "width: 215px">Social Security Number: <b>#6#</b></td>
    </tr>
    </table>
    <p style = "page-break-after: always">----------------------------------------------------------------</p>
    </div>
    {code}
    As you probably figured out, the numbers between the two pound signs ("#") are substitution strings for the variables in your select query in the SQL report.  As you have also probably noticed, the "page-break-after: always" line will always make it so that only one report is shown on a page.  To fix this, we will need to use logic and row template 2.
    2.)  For the "Row Template 1 Condition," select "Use Based on PL/SQL Expression" from the select list.
    3.)  In the textbox for the row template 1 expression enter in the following:  {code}substr('#rownum#',-1) = 0 or substr('#rownum#',-1) = 5{code}
    ***** This condition will make sure that this template is applied when the last digit in the row number is either a "0" or a "5."  So, only 5 reports will be displayed per page.
    4.)  Now go down to "Row Template 2" and enter in the following in the textbox:
    {code}
    <div style = text-align: justify">
    <table>
    <tr>
    <td style = "width: 200px"><b>First Name: #1#</b></td>
    <td style = "width: 225px">&nbsp</td>
    <td style = "width: 215px"><b>Employee Id: #2#</b></td>
    <tr>
    <td style = "width: 200px">Last Name: #3#</td>
    <td style = "width: 225px">&nbsp</td>
    <td style = "width: 215px">Company Credit Card Number: #4#</td>
    <tr>
    <td style = "width: 200px">MI: #5#</td>
    <td style = "width: 225px">&nbsp</td>
    <td style = "width: 215px">Social Security Number: <b>#6#</b></td>
    </tr>
    </table>
    <p>----------------------------------------------------------------</p>
    </div>look familiar? that is because it exactly the same code as above, except without the page-break-after piece.
    5.) For the "Row Template 2 Condition," select "Use Based on PL/SQL Expression" from the select list.
    6.) In the textbox for the row template 2 expression enter in the following: substr('#rownum#',-1) != 0 or substr('#rownum#',-1) != 5***** This condition will make sure that this template is applied when the last digit in the row number IS NOT a "0" or a "5."
    7.) Scroll down to column headings and enter this in the textbox for the "Column Heading Template": OMIT
    8.) Click the "Apply Changes" button
    9.) Now go back to your application and the page you want to apply the custom report to
    10.) On the report, click on the report tab
    11.) Scroll down to "Layout and Pagination"
    12.) Click on the "Report Template" select list
    13.) Select your custom template
    14.) Click the "Apply Changes" button and run the page
    Try printing the report, if it does not print correctly, try it in Opera, Safari, Internet Explorer, Firefox, and Google Chrome. Please note that it is my understanding that only Firefox does not understand the css "page-break-after: always"
    If needed, add some css to the page to hide tabs and other items when you print.
    ~Andrew Schulltz

    DOH. Too much copy/paste.
    In my code, I was setting an application variable to contain the email address I was retrieving from AD. Once commented out, it worked fine.
              IF l_attr_name = 'mail' THEN
                 APEX_UTIL.SET_SESSION_STATE('F111_USER_EMAIL',l_vals(i));
              END IF;

Maybe you are looking for