How to use a collection in ADF
Hi all,
How to use the collection in ADF.
Thanks in advance
C.Karukkuvel
hi John,
Scenario:
In my page,i have two tab pages .In that when the user enter the Location names in the first tab.when the user navigates to the next tab,we need to give the LOV having the Loactions based on the first tab values.
when i try to use the view object it will list only the data's in the database.but i needs the locations entered in the current page also.pls guide me in this
Thanks & Regards
C.Karukkuvel
Similar Messages
-
How to use Multiple selection in ADF faces
i i would like to know how to use an multiple selection (ADF select many choice) to update the database.
Hi,
Timo is correct that there is no automated way for doing this. You can access the select many selection from a managed bean either accessing the ADF binding layer or by referencing a managed bean array property. So the use case is important. Use case would include the database attribute type to update
Frank -
How to use image maps in ADF 11g
Can somebody point me to code snippet for using image maps in JSF Page.
I just want to use image maps in my application..but i don't know how to use image maps in ADF.
-DeeptiHi chris,
My DataBase script is given in below
CREATE TABLE XXSR.SR_HIERARCHY
FORM_ID NUMBER,
FORM_NAME VARCHAR2(30 BYTE),
PARENT_FORM_ID NUMBER,
FORM_LOCATION VARCHAR2(1000 BYTE),
IMAGE_FILE ORDSYS.ORDIMAGE
I want to store the image in database from front end using ADF 11g
-Deepti
Edited by: 913387 on Feb 24, 2012 5:36 AM -
How to use autosuggest feature in adf?
how to use autosuggest feature in adf?
You can refer below link
http://www.oracle.com/technetwork/developer-tools/adf/learnmore/004-auto-suggest-169120.pdf
Thanks
AJ -
How to use oracle collection type with JDBC?
I try to use oracle collection type in java program. So I made some package and java program, however Java program was not found "package.collectiontype"(JDBC_ERP_IF_TEST.NUM_ARRAY) . please, show me how to use this.
Java Version : Java 1.4
JDBC Driver : Oracle Oci Driver
DB: Oracle 9i
No 1. Package
===========================================
create or replace package JDBC_ERP_IF_TEST AS
type NUM_ARRAY is table of number;
procedure JDBC_ERP_IF_ARRAY_TEST(P_NUM_ARRAY IN NUM_ARRAY, ERR_NO OUT NUMBER, ERR_TEXT OUT VARCHAR2);
procedure TEST(ABC IN NUMBER);
END JDBC_ERP_IF_TEST;
==================================================
No 2. Package Body
===============================================
CREATE OR REPLACE package BODY JDBC_ERP_IF_TEST is
procedure JDBC_ERP_IF_ARRAY_TEST(p_num_array IN NUM_ARRAY,
ERR_NO OUT NUMBER,
ERR_TEXT OUT VARCHAR2) is
begin
ERR_NO := 0;
ERR_TEXT := '';
dbms_output.enable;
for i in 1 .. p_num_array.count() loop
dbms_output.put_line(p_num_array(i));
insert into emp (empno) values (p_num_array(i));
commit;
end loop;
EXCEPTION
WHEN OTHERS THEN
ERR_NO := SQLCODE;
ERR_TEXT := ERR_TEXT ||
' IN JDBC INTERFACE TEST FOR ORACLE ERP OPEN API..';
ROLLBACK;
RETURN;
end JDBC_ERP_IF_ARRAY_TEST;
procedure TEST(ABC IN NUMBER) IS
begin
insert into emp(empno) values (ABC);
commit;
end TEST;
end JDBC_ERP_IF_TEST;
===============================================
NO 3. Java Program
===============================================
ArrayDescriptor descriptor = ArrayDescriptor.createDescriptor("JDBC_ERP_IF_TEST.NUM_ARRAY", getConnection());
ARRAY array = new ARRAY(descriptor, getConnection(), arrs);
cstmt = getConnection().prepareCall(LQueryFactory.getInstance().get("Meta/Basic/testJdbcErpArrayIf").getSql());
cstmt.setArray(1, array);
cstmt.registerOutParameter(2, Types.INTEGER);
cstmt.registerOutParameter(3, Types.VARCHAR);
====================================================
couldn't find this phase => JDBC_ERP_IF_TEST.NUM_ARRAY
what can i do for this package and program? please help me..Something like this:
create or replace type t_record as object (
id number,
no number
CREATE or replace type t_table AS TABLE OF t_record;
set serveroutput on
declare
v_table t_table := t_table();
v_t1 t_table := t_table();
begin
v_table.extend(1);
v_table(1).ID := 1;
v_table(1).No := 10;
v_table.extend(1);
v_table(2).ID := 2;
v_table(2).ID := 20;
SELEC t_record (ID,NO) BULK COLLECT INTO v_t1
from TableA
FROM TABLEA
WHERE ID IN (select t.ID from table(v_Table) t);
for i in 1..v_t1.count loop
dbms_output.put_line(v_t1(i).ID);
dbms_output.put_line(v_t1(i).No);
end loop;
end;
/Untested!
P;
Edited by: bluefrog on Mar 5, 2010 5:08 PM -
How to use BULK COLLECT in oracle forms
hi gurus,
I am using oracle forms
Forms [32 Bit] Version 10.1.2.0.2 (Production)
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionI wanna use bulk collect from database table lets say <employees>
while working on database level with collections and records it's working very well for me, but when I try to use that technique on oracle forms it hits me error
error 591 this feature is not supported in client side programmingI know I can use cursors to loop through the records of oracle tables ,
but I'm convenient while using collections and arrays
for example
Set Serveroutput On
Declare
Type Rec_T Is Record (
Empid Number ,
Empname Varchar2(100)
Type V_R Is Table Of Rec_T Index By Binary_Integer;
V_Array V_R;
Begin
Select Employee_Id , First_Name
Bulk Collect
Into V_Array
From Employees;
For Indx In V_Array.First..V_Array.Last Loop
Dbms_Output.Put_Line('employees id '||V_Array(Indx).Empid ||'and the name is '||V_Array(Indx).Empname);
End Loop;
End;I wanna use this same way on oracle forms , for certain purposes , please guide me how can I use ...
thanks...For information, you can use and populate a collection within the Forms application without using the BULK COLLECT
Francoisactually I want to work with arrays , index tables ,
like
record_type (variable , variable2);
type type_name <record_type> index by binary_integer
type_variable type_name;
and in main body of program
select something
bulk collect into type_variable
from any_table;
loop
type_variable(indx).variable , type_variable(indx).variable2;
end loop;
this is very useful for my logic on which I am working
like
type_variable(indx).variable || type_variable(indx-1);
if it's possible with cursors then how can I use cursor that can fullfill my this logic@Francois
if it's possible then how can i populate without using bulk collect?
thanks
and for others replies: if I can use stored procedures please give me any example..
thanks -
How to use Connection Pool in ADF ear file creaion from jDev 10.1.3
Hi,
We are developing big application in ADF with 10 different modules. We are creating ear file with data source setting.
How to use connection pool while creating ear file from jDev. Connection pool is alreday created in Application Server 10g.
What all the setting we need do to make use of connection pool while creating ear file jDev.
ThanksUser,
If you are using ADF Business Components, you can right-click each application module, select "configurations" and edit the configuration you are using. On the initial page of the configuration dialog, you can specify to use either a JDBC URL or a Datasource - you just need to choose Datasource and then provide the name by which to access it.
John -
hi jdev experts,
am using jdev 11.1.1.5.0 - adfbc-oracle db10g.
here my code.
SELECT GlLvlAccountsEO.GLAL_BU,
GlLvlAccountsEO.GLAL_LVL1,
GlLvlAccountsEO.GLAL_LVL2,
GlLvlAccountsEO.GLAL_LVL3,
GlLvlAccountsEO.GLAL_LVL4,
GlLvlAccountsEO.GLAL_ACCT,
GlLvlAccountsEO.GLAL_OPT_TYPE,
GlLvlAccountsEO.GLAL_CRE_BY,
GlLvlAccountsEO.GLAL_CRE_DATE,
GlLvlAccountsEO.GLAL_UPD_BY,
GlLvlAccountsEO.GLAL_UPD_DATE,
GlLvlAccountsEO.GLAL_DESC1,
GlLvlAccountsEO.GLAL_DESC2,
GlLvlAccountsEO.GLAL_STATUS,
GlLvlAccountsEO.GLAL_SENT_FLAG,
GlLvlAccountsEO.GLAL_TITLE_ID,
GlLvlAccountsEO.GLAL_FBT_PCT,
GlLvlAccountsEO.GLAL_FBT_CAT,
GlLvlAccountsEO.GLAL_BUD_FLAG,
GlLvlAccountsEO.GLAL_PLANT,
GlLvlAccountsEO.GLAL_CL_ID,
GlLvlAccountsEO.GLAL_PAR_LVL1,
GlLvlAccountsEO.GLAL_PAR_LVL2,
GlLvlAccountsEO.GLAL_PAR_LVL3,
GlLvlAccountsEO.GLAL_PAR_LVL4,
GlLvlAccountsEO.GLAL_PAR_ACCT
FROM GL_LVL_ACCOUNTS GlLvlAccountsEO
where GlLvlAccountsEO.GLAL_BU = :pbu
and GlLvlAccountsEO.GLAL_STATUS IN ('E') for update nowaiterror
some parenthesis is missing.if i remove the for update nowait means it's perfectly working.
i know how to use sql statement
eg:
select * from dept
where deptno =10
for update nowait ;here i can able to understud.
but,
In adf why its doesnt supports ah?
please anyone help me.hi john,
nice to see you here ;)
in this blog. i read out the how to use for update no wait.
http://radio-weblogs.com/0118231/stories/2004/03/24/whyDoIGetOraclejborowinconsistentexception.html
ok. my question is :
am unable to use the for update no wait statement in query as like as they said.?
I'll not comment about the use of pessimistic locking like this in a web-based app.ok. am not use pessimistic locking.
(although I have just implied that there could be some issues - ADF is not Forms).
ADF is not Forms.
from this what i understood means.
some issues - ADF technology
not in forms technology. are you mean like this. is it so?
http://jdeveloperfaq.blogspot.com/2010/02/faq-12-how-to-disable-query-wrapping.html could help you
how does helps me.
this blogs deals something about advanced stuff operator (union,unionall...)
i cant your undertud the previous post fully.
sorry for misunderstanding from your post..
Edited by: ADF 7 on Jan 30, 2012 12:16 AM -
How to use BULK COLLECT, FORALL and TREAT
There is a need to read match and update data from and into a custom table. The table would have about 3 millions rows and holds key numbers. BAsed on a field value of this custom table, relevant data needs to be fetched from joins of other tables and updated in the custom table. I plan to use BULK COLLECT and FORALL.
All examples I have seen, do an insert into a table. How do I go about reading all values of a given field and fetching other relevant data and then updating the custom table with data fetched.
Defined an object with specifics like this
CREATE OR REPLACE TYPE imei_ot AS OBJECT (
recid NUMBER,
imei VARCHAR2(30),
STORE VARCHAR2(100),
status VARCHAR2(1),
TIMESTAMP DATE,
order_number VARCHAR2(30),
order_type VARCHAR2(30),
sku VARCHAR2(30),
order_date DATE,
attribute1 VARCHAR2(240),
market VARCHAR2(240),
processed_flag VARCHAR2(1),
last_update_date DATE
Now within a package procedure I have defined like this.
type imei_ott is table of imei_ot;
imei_ntt imei_ott;
begin
SELECT imei_ot (recid,
imei,
STORE,
status,
TIMESTAMP,
order_number,
order_type,
sku,
order_date,
attribute1,
market,
processed_flag,
last_update_date
BULK COLLECT INTO imei_ntt
FROM (SELECT stg.recid, stg.imei, cip.store_location, 'S',
co.rtl_txn_timestamp, co.rtl_order_number, 'CUST',
msi.segment1 || '.' || msi.segment3,
TRUNC (co.txn_timestamp), col.part_number, 'ZZ',
stg.processed_flag, SYSDATE
FROM custom_orders co,
custom_order_lines col,
custom_stg stg,
mtl_system_items_b msi
WHERE co.header_id = col.header_id
AND msi.inventory_item_id = col.inventory_item_id
AND msi.organization_id =
(SELECT organization_id
FROM hr_all_organization_units_tl
WHERE NAME = 'Item Master'
AND source_lang = USERENV ('LANG'))
AND stg.imei = col.serial_number
AND stg.processed_flag = 'U');
/* Update staging table in one go for COR order data */
FORALL indx IN 1 .. imei_ntt.COUNT
UPDATE custom_stg
SET STORE = TREAT (imei_ntt (indx) AS imei_ot).STORE,
status = TREAT (imei_ntt (indx) AS imei_ot).status,
TIMESTAMP = TREAT (imei_ntt (indx) AS imei_ot).TIMESTAMP,
order_number = TREAT (imei_ntt (indx) AS imei_ot).order_number,
order_type = TREAT (imei_ntt (indx) AS imei_ot).order_type,
sku = TREAT (imei_ntt (indx) AS imei_ot).sku,
order_date = TREAT (imei_ntt (indx) AS imei_ot).order_date,
attribute1 = TREAT (imei_ntt (indx) AS imei_ot).attribute1,
market = TREAT (imei_ntt (indx) AS imei_ot).market,
processed_flag =
TREAT (imei_ntt (indx) AS imei_ot).processed_flag,
last_update_date =
TREAT (imei_ntt (indx) AS imei_ot).last_update_date
WHERE recid = TREAT (imei_ntt (indx) AS imei_ot).recid
AND imei = TREAT (imei_ntt (indx) AS imei_ot).imei;
DBMS_OUTPUT.put_line ( TO_CHAR (SQL%ROWCOUNT)
|| ' rows updated using Bulk Collect / For All.'
EXCEPTION
WHEN NO_DATA_FOUND
THEN
DBMS_OUTPUT.put_line ('No Data: ' || SQLERRM);
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line ('Other Error: ' || SQLERRM);
END;
Now for the unfortunate part. When I compile the pkg, I face an error
PL/SQL: ORA-00904: "LAST_UPDATE_DATE": invalid identifier
I am not sure where I am wrong. Object type has the last update date field and the custom table also has the same field.
Could someone please throw some light and suggestion?
Thanks
udsI suspect your error comes from the »bulk collect into« and not from the »forall loop«.
From a first glance you need to alias sysdate with last_update_date and some of the other select items need to be aliased as well :
But a simplified version would be
select imei_ot (stg.recid,
stg.imei,
cip.store_location,
'S',
co.rtl_txn_timestamp,
co.rtl_order_number,
'CUST',
msi.segment1 || '.' || msi.segment3,
trunc (co.txn_timestamp),
col.part_number,
'ZZ',
stg.processed_flag,
sysdate
bulk collect into imei_ntt
from custom_orders co,
custom_order_lines col,
custom_stg stg,
mtl_system_items_b msi
where co.header_id = col.header_id
and msi.inventory_item_id = col.inventory_item_id
and msi.organization_id =
(select organization_id
from hr_all_organization_units_tl
where name = 'Item Master' and source_lang = userenv ('LANG'))
and stg.imei = col.serial_number
and stg.processed_flag = 'U';
... -
How to use Bulk Collect and Forall
Hi all,
We are on Oracle 10g. I have a requirement to read from table A and then for each record in table A, find matching rows in table B and then write the identified information in table B to the target table (table C). In the past, I had used two ‘cursor for loops’ to achieve that. To make the new procedure, more efficient, I would like to learn to use ‘bulk collect’ and ‘forall’.
Here is what I have so far:
DECLARE
TYPE employee_array IS TABLE OF EMPLOYEES%ROWTYPE;
employee_data employee_array;
TYPE job_history_array IS TABLE OF JOB_HISTORY%ROWTYPE;
Job_history_data job_history_array;
BatchSize CONSTANT POSITIVE := 5;
-- Read from File A
CURSOR c_get_employees IS
SELECT Employee_id,
first_name,
last_name,
hire_date,
job_id
FROM EMPLOYEES;
-- Read from File B based on employee ID in File A
CURSOR c_get_job_history (p_employee_id number) IS
select start_date,
end_date,
job_id,
department_id
FROM JOB_HISTORY
WHERE employee_id = p_employee_id;
BEGIN
OPEN c_get_employees;
LOOP
FETCH c_get_employees BULK COLLECT INTO employee_data.employee_id.LAST,
employee_data.first_name.LAST,
employee_data.last_name.LAST,
employee_data.hire_date.LAST,
employee_data.job_id.LAST
LIMIT BatchSize;
FORALL i in 1.. employee_data.COUNT
Open c_get_job_history (employee_data(i).employee_id);
FETCH c_get_job_history BULKCOLLECT INTO job_history_array LIMIT BatchSize;
FORALL k in 1.. Job_history_data.COUNT LOOP
-- insert into FILE C
INSERT INTO MY_TEST(employee_id, first_name, last_name, hire_date, job_id)
values (job_history_array(k).employee_id, job_history_array(k).first_name,
job_history_array(k).last_name, job_history_array(k).hire_date,
job_history_array(k).job_id);
EXIT WHEN job_ history_data.count < BatchSize
END LOOP;
CLOSE c_get_job_history;
EXIT WHEN employee_data.COUNT < BatchSize;
END LOOP;
COMMIT;
CLOSE c_get_employees;
END;
When I run this script, I get
[Error] Execution (47: 17): ORA-06550: line 47, column 17:
PLS-00103: Encountered the symbol "OPEN" when expecting one of the following:
. ( * @ % & - + / at mod remainder rem select update with
<an exponent (**)> delete insert || execute multiset save
merge
ORA-06550: line 48, column 17:
PLS-00103: Encountered the symbol "FETCH" when expecting one of the following:
begin function package pragma procedure subtype type use
<an identifier> <a double-quoted delimited-identifier> form
current cursorWhat is the best way to code this? Once, I learn how to do this, I apply the knowledge to the real application in which file A would have around 200 rows and file B would have hundreds of thousands of rows.
Thank you for your guidance,
SeyedHello BlueShadow,
Following your advice, I modified a stored procedure that initially was using two cursor for loops to read from tables A and B to write to table C to use instead something like your suggestion listed below:
INSERT INTO tableC
SELECT …
FROM tableA JOIN tableB on (join condition).I tried this change on a procedure writing to tableC with keys disabled. I will try this against the real table that has primary key and indexes and report the result later.
Thank you very much,
Seyed -
How to use same collection type in different database
i have created a synonym for a package whcih uses a collection type as input and when i am calling through that synonym it is throwing an error b'coz of the collection type saying wrong no. of arguements...
declare
collection_type collection_type:=collection_type('value');
begin
package_synonym1.procedure1(collection_type);
END;
how to rectify it can someone suggest....
a quick response would be highly appreciatedi have a package in schema A in which my input in a procedure is of type
like
create or replace package abc as
procedure efg (
ptbl_service_id in tbl_input_list,
pn_error_code_out OUT NUMBER,
pv_error_msg_out OUT VARCHAR2
and in schema A the type is created.the package is working fine
but when i am trying to test this package from database b with script as
declare
xyz tbl_input_list :=tbl_input_list('abcdefgh');
begin
abc.efg(
xyz,
pn_error_code_out,
pv_error_msg_out
end;
then it gives an error saying wrong no. of arguements ORA-06550
I have created the type in this database with the same OID as well and i have also tried the option of creating a synonym or calling it through a database link...
Is there any other way through which we can use it.....
A Quick Response will be highly appreciated... -
How to use BULK COLLECT in Oracle Forms 11g
Forms is showing error that "Feature is not support in Client Side Program" when i am trying to impliment Bulk collect in Forms 11g.
i need to load full data from DB to my form becuase using cursor is very slow....
Is there any method/Work around to achieve this ....declare
type arr is table of emp%rowtype ;
lv_arr arr;
begin
select * bulk collect in to lv_arr from emp;
/*written code here to process the data and write in to file*/
end;Unless you are inserting/updating the data you are holding in the array into a database table I don't think there is much peformance gain in using bulk-collect in conjunction with writing a file. Bulk processing will increase performance by minimizing context switches from the SQL to the PL/SQL engine, nothing more, nothing less.
In any case bulk processing is not available in forms, if you really need to make use of it you need to do it in a stored procedure.
cheers -
How to use BULK COLLECT in ref cursor?
hi,
can we use bulk collect in ref cursor ? if yes then please give small example ..
thanksTry this:
create or replace type person_ot as object (name varchar2(10)) not final;
create or replace type student_ot under person_ot (s_num number) not final;
create type person_tt as table of person_ot;
create table persons of person_ot;
declare
lv_person_list person_tt;
lv_sql varchar2(1000);
ref_cur sys_refcursor;
begin
lv_sql:= 'select new student_ot(''fred'', 100) from dual
union all
select new student_ot(''sally'', 200) from dual';
open ref_cur for lv_sql;
fetch ref_cur bulk collect into lv_person_list;
close ref_cur;
for i in lv_person_list.first..lv_person_list.last loop
dbms_output.put_line(lv_person_list(i).name );
end loop;
forall i in lv_person_list.first..lv_person_list.last
insert into persons values lv_person_list(i);
end;
/ -
How to use same collection on two forms
Hi ,
My issue scenerio is--
I have two forms one is calling form other is call form. User will go to calling form and press button to open call form. In call form user will select some records. That records i want to store in collection. then user will close call form , and on calling form i want to use those collection values.
For this i did some coding like
I created a type in database , then I created a record type in which i stored selected records information. I can see that values have been properly stored in collection till i exit call form.
Once i am back on calling form it becomes null.
Please help..
Regards,
Kuldeep*Before posting on this forum please read*
>
I can see that values have been properly stored in collection till i exit call form.
Once i am back on calling form it becomes null.Hi,
Do you perform commit_form or commit when/before exit call form ?
Hope this helps
If someone's response is helpful or correct, please mark it accordingly. -
How to use a collection type of bind variable for execute dynamic statement
Hi,
We have a case where we copy selective data from Schema A To Schema B in one oracle database. The copy is achieved by using
execute immediate 'insert into '||target_schema||'.tablea select * from '||from_schema||'.table a where a.id in (select test_id from '||from_schema||'.table c);';
This works fine it takes an average of 10 seconds to copy around 14 tables. We have a requirement to bring this time to 2 seconds. One observation has been the clause
"select test_id from '||from_schema||'.table c" in the above sql statement repeats for many inserts . Thus we were thinking to bulk fetch this set of tests ids and use a bind vatiable of collection type for the execute immediate clause. Any suggestions on how to achieve it?
Thanks,
Chandana>
One observation has been the clause
"select test_id from '||from_schema||'.table c" in the above sql statement repeats for many inserts
>
So what? Constructing a string for a table level insert and parsing it can't possibly be a performance problem. If you were creating a string in a loop to insert rows into a table by getting the data FROM a collection - that's a problem that keeps showing up in the forums.
I'm with bravid and Nikolay on this one. First find out which side, select/insert, the problem is on.
As they said you need to provide more information about the process.
And using collections for your use case is definitely not the thing to do.
1. How many rows are we talking about?
2. Are the rows being inserted into an empty table?
3. Are you running these queries during peak production hours or in a batch windows?
Tune the SELECT if the problem is on that side.
Post an execution plan for the SELECT part of a query you think should run faster.
SET SERVEROUTPUT ON
SET AUTOTRACE TRACEONLY
SQL> select * from emp;
Execution Plan
Plan hash value: 3956160932
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 14 | 546 | 3 (0)| 00:00:01 |
| 1 | TABLE ACCESS FULL| EMP | 14 | 546 | 3 (0)| 00:00:01 |
SQL>On the INSERT side you might be able to use bulk inserts
ALTER TABLE myTable NOLOGGING;
INSERT /*+ append */ INTO myTable . . .
ALTER TABLE myTable LOGGINGIf the insert tables are always reused you could just leave them as NOLOGGING. Since you can't recover bulk data you need to make sure to get a good backup after the loads if you need to recover the data from the logs rather than just reload it yourself.
Maybe you are looking for
-
My MacBook Pro (early 2011) will not go to sleep
Very recently my MacBook Pro (early 2011) suddenly stopped going to sleep whenever I shut it or even when I manually put it to sleep. I went to my schools help desk and they suggested restoring the computer to factory settings. I did this, reinstalle
-
"Orphaned" rights in an access level?
Odd one here. I query for an access level (SI_KIND = 'CustomRole'), then iterate through the Role Rights collection. I am finding some rights included that are not shown on the Access Levels screens in the XI 3.x CMC. Specifically, entries with an
-
Anyone tell me what are handling events in SDK?with Example
-
Limited Virtual Domain Support in iCS 5.0 Patch 2
(See attachment)
-
Please help, error 2318 some file name
i have to have java installed in order to work from home with a certain company. i have three days left to get it. every time i try to install, it brings up the installation box, then on top of it comes a gray box with internal error 2318 and some fi