Call objects (packages-Pl/SQL procedures) DB of the ADF
Hello1. How can we call DB procedures/Packages using ADF?
2 are there scenarios describing when to use what Layout? & Also any introduction of layouts in the ADF.
Thank you.
Hello
You can expose your PL/SQL package in the form of web services as well and use it on your layout. Check this blog entry on the call of PL/SQL of the ADF, it may be useful
http://baigsorcl.blogspot.com/2010/05/calling-PLSQL-procedure-and-function-in.html
This presentation would help understand layouts http://blogs.oracle.com/shay/2010/05/adf_faces_layouts_demo_-ahid.html
also, you can refer to the guide of the web user interface.
Tags: Java
Similar Questions
-
Call Package PL/SQL procedure via a url (prior R12 through "Enabled/pl/sql")
All the
Prior R12:
This could be achievied through registration of your 'Package.Procedure' in the ' allowed Web PL/SQL "-screen." " Then the Package.Procedure could be called as: http://find-151.cmcdev.be:8004/pls/find/XXIE_INTERFACE.SHOWINTERFACELOG?p_itemkey=INFILE-454613-3074 & p_interfdef = EDG...
In R12:
I am looking for a way to do it, but after registering the PL/SQL in the table of this way of working always returns: "Page not found".
Someone has additional information on this subject on how to proceed in R12, that I can't find any documentation, examples for this?
Concerning
Laura OlivierMOD_PLSQL is no longer available in R12. PL see ML Doc 726711.1 (Mod_plsql and Oracle E-Business Suite Release 12)
HTH
Srini -
Remote function call of dblink in a procedure by using the parameter as dblink
Hello.
Need to call a function of distance of a procedure with a parameter like dblink. Is this possible?
EX:
DECLARE
remote_db varchar2 (10);
exec_string varchar2 (100);
result varchar2 (10);
BEGIN
remote_db: = myremotedb;
exec_string: = ' miremotefunction@'|| exec_string | "in the result of the double."
run immediately (exec_string);
END;
Any other sugestion?
Thank you very muchAny other sugestion?
Yes, hide all remote objects behind local synonyms. Then you need dynamic SQL and avoid all the headaches.
In the case of link names change in environments, and deployment, simply a new set of synonyms for each environment.
Concerning
Peter -
Creating a PL/SQL procedure to run the following code but the landing upwards errors!
Hey all!
This is my first time with PL/SQL. I created the following procedure to load a major part of the update instructions at the same time to read the DB performance. I need to print a sysdate timestamp before and after the load so that I can know how long it takes for the DB update prescribed lines. I gave 100 lines initially and will keep changing. When I run this code, I came across some errors. Could you please help me with it.
CODE:
PROCEDURE FACT_UPDATE
IS
DECLARE
CNT NUMBER: = 0;UPD CURSOR is
SELECT
'UPDATE XXAFL_MON_FACTS_F SET TASK_WID =' | NVL (TO_CHAR (TASK_WID), 'NULL') |', EXECUTION_PLAN_WID =' | NVL (TO_CHAR (EXECUTION_PLAN_WID), 'NULL').
', DETAILS_WID =' | NVL (TO_CHAR (DETAILS_WID), 'NULL') |', SOURCE_WID =' | NVL (TO_CHAR (SOURCE_WID), 'NULL') |', TARGET_WID = ' | NVL (TO_CHAR (TARGET_WID), 'NULL').
', RUN_STATUS_WID =' | NVL (TO_CHAR (RUN_STATUS_WID), 'NULL') |', SEQ_NUM =' | NVL (TO_CHAR (SEQ_NUM), 'NULL') |', NAME = "' | NVL (TO_CHAR (NAME), 'NULL').
"', NO_POSITION =" ' | NVL (TO_CHAR (INSTANCE_NUM), e ') | " ', INSTANCE_NAME = "' | NVL (TO_CHAR (INSTANCE_NAME), 'NULL').
"', TYPE_CD =" ' | NVL (TO_CHAR (TYPE_CD), e ') | " ', STATUS_CD = "' | NVL (TO_CHAR (STATUS_CD), e ') | " ', START_TS =' | Decode (START_TS, null, "to_date('''|| to_char (START_TS,' jj/mm/aaaa hh) |")) ((', "dd/mm/yyyy hh")').
', END_TS =' | Decode (END_TS, null, "to_date('''|| to_char (END_TS,' jj/mm/aaaa hh) |")) ((', "dd/mm/yyyy hh")') |', DURATION = ' | NVL (TO_CHAR (DURATION), 'NULL') |', STATUS_DESC = "' | NVL (TO_CHAR (STATUS_DESC), 'NULL').
"', DBCONN_NAME =" ' | NVL (TO_CHAR (DBCONN_NAME), e ') | " ', SUCESS_ROWS =' | NVL (TO_CHAR (SUCESS_ROWS), 'NULL').
', FAILED_ROWS =' | NVL (TO_CHAR (FAILED_ROWS), 'NULL') |', ERROR_CODE = ' | NVL (TO_CHAR (ERROR_CODE), 'NULL') |', NUM_RETRIES =' | NVL (TO_CHAR (NUM_RETRIES), 'NULL').
', READ_THRUPUT =' | NVL (TO_CHAR (READ_THRUPUT), 'NULL') |', LAST_UPD = ' | Decode (LAST_UPD, null, "to_date('''|| to_char (LAST_UPD,' jj/mm/aaaa hh) |")) ((', "dd/mm/yyyy hh")') |', RUN_STEP_WID = "' | NVL (TO_CHAR (RUN_STEP_WID), 'NULL').
"', W_INSERT_DT = ' | Decode (W_INSERT_DT, null, "to_date('''|| to_char (W_INSERT_DT,' jj/mm/aaaa hh) |")) ((', "dd/mm/yyyy hh")') |', W_UPDATE_DT = ' | Decode (W_UPDATE_DT, null, "to_date('''|| to_char (W_UPDATE_DT,' jj/mm/aaaa hh) |")) ((', "dd/mm/yyyy hh")').
', START_DATE_WID =' | NVL (TO_CHAR (START_DATE_WID), 'NULL') |', END_DATE_WID = ' | NVL (TO_CHAR (END_DATE_WID), 'NULL') |', START_TIME =' |
NVL (TO_CHAR (START_TIME), 'NULL') |', END_TIME =' | NVL (TO_CHAR (END_TIME), 'NULL'). "WHERE INTEGRATION_ID ="' | INTEGRATION_ID | " « ; » AS a Column OF XXAFL_MON_FACTS_F;BEGIN
dbms_output.put_line (sysdate);
to record in a loop of the UPDdbms_output.put_line (record.col_name);
immediately run record.col_name;CNT: = cnt + 1;
If cnt > 1000
and then commit;
CNT: = 0;
dbms_output.put_line (sysdate);
end if;
end loop;
dbms_output.put_line (sysdate);
END; -ProcedureERRORS:
Error starting line: 1 at the controls.
PROCEDURE FACT_UPDATE
Error report-
Unknown commandError from line: 2 in command.
IS
Error report-
Unknown command
Error from line: 3 in command.
DECLARE
CNT: = 0;UPD CURSOR is
SELECT
'UPDATE XXAFL_MON_FACTS_F SET TASK_WID =' | NVL (TO_CHAR (TASK_WID), 'NULL') |', EXECUTION_PLAN_WID =' | NVL (TO_CHAR (EXECUTION_PLAN_WID), 'NULL').
', DETAILS_WID =' | NVL (TO_CHAR (DETAILS_WID), 'NULL') |', SOURCE_WID =' | NVL (TO_CHAR (SOURCE_WID), 'NULL') |', TARGET_WID = ' | NVL (TO_CHAR (TARGET_WID), 'NULL').
', RUN_STATUS_WID =' | NVL (TO_CHAR (RUN_STATUS_WID), 'NULL') |', SEQ_NUM =' | NVL (TO_CHAR (SEQ_NUM), 'NULL') |', NAME = "' | NVL (TO_CHAR (NAME), 'NULL').
"', NO_POSITION =" ' | NVL (TO_CHAR (INSTANCE_NUM), e ') | " ', INSTANCE_NAME = "' | NVL (TO_CHAR (INSTANCE_NAME), 'NULL').
"', TYPE_CD =" ' | NVL (TO_CHAR (TYPE_CD), e ') | " ', STATUS_CD = "' | NVL (TO_CHAR (STATUS_CD), e ') | " ', START_TS =' | Decode (START_TS, null, "to_date('''|| to_char (START_TS,' jj/mm/aaaa hh) |")) ((', "dd/mm/yyyy hh")').
', END_TS =' | Decode (END_TS, null, "to_date('''|| to_char (END_TS,' jj/mm/aaaa hh) |")) ((', "dd/mm/yyyy hh")') |', DURATION = ' | NVL (TO_CHAR (DURATION), 'NULL') |', STATUS_DESC = "' | NVL (TO_CHAR (STATUS_DESC), 'NULL').
"', DBCONN_NAME =" ' | NVL (TO_CHAR (DBCONN_NAME), e ') | " ', SUCESS_ROWS =' | NVL (TO_CHAR (SUCESS_ROWS), 'NULL').
', FAILED_ROWS =' | NVL (TO_CHAR (FAILED_ROWS), 'NULL') |', ERROR_CODE = ' | NVL (TO_CHAR (ERROR_CODE), 'NULL') |', NUM_RETRIES =' | NVL (TO_CHAR (NUM_RETRIES), 'NULL').
', READ_THRUPUT =' | NVL (TO_CHAR (READ_THRUPUT), 'NULL') |', LAST_UPD = ' | Decode (LAST_UPD, null, "to_date('''|| to_char (LAST_UPD,' jj/mm/aaaa hh) |")) ((', "dd/mm/yyyy hh")') |', RUN_STEP_WID = "' | NVL (TO_CHAR (RUN_STEP_WID), 'NULL').
"', W_INSERT_DT = ' | Decode (W_INSERT_DT, null, "to_date('''|| to_char (W_INSERT_DT,' jj/mm/aaaa hh) |")) ((', "dd/mm/yyyy hh")') |', W_UPDATE_DT = ' | Decode (W_UPDATE_DT, null, "to_date('''|| to_char (W_UPDATE_DT,' jj/mm/aaaa hh) |")) ((', "dd/mm/yyyy hh")').
', START_DATE_WID =' | NVL (TO_CHAR (START_DATE_WID), 'NULL') |', END_DATE_WID = ' | NVL (TO_CHAR (END_DATE_WID), 'NULL') |', START_TIME =' |
NVL (TO_CHAR (START_TIME), 'NULL') |', END_TIME =' | NVL (TO_CHAR (END_TIME), 'NULL'). "WHERE INTEGRATION_ID ="' | INTEGRATION_ID | " « ; » AS a Column OF XXAFL_MON_FACTS_F;BEGIN
dbms_output.put_line (sysdate);
to record in a loop of the UPDdbms_output.put_line (record.col_name);
immediately run record.col_name;CNT: = cnt + 1;
If cnt > 1000
and then commit;
CNT: = 0;
dbms_output.put_line (sysdate);
end if;
end loop;
dbms_output.put_line (sysdate);
END; -Procedure
Error report-
ORA-06550: line 2, column 6:
PLS-00103: encountered the symbol "=" when expecting one of the following conditions:constant exception < an ID >
< a between double quote delimited identifiers > double long Ref table
char time timestamp interval date binary national character
NCHAR
The symbol '< identifier >' has been substituted for "=" continue.
06550 00000 - "line %s, column % s:\n%s".
* Cause: Usually a PL/SQL compilation error.
* Action:
Error starting line: 1 at the controls.
PROCEDURE FACT_UPDATE
Error report-
Unknown commandError from line: 2 in command.
IS
Error report-
Unknown command
Error from line: 3 in command.
DECLARE
CNT NUMBER: = 0;UPD CURSOR is
SELECT
'UPDATE XXAFL_MON_FACTS_F SET TASK_WID =' | NVL (TO_CHAR (TASK_WID), 'NULL') |', EXECUTION_PLAN_WID =' | NVL (TO_CHAR (EXECUTION_PLAN_WID), 'NULL').
', DETAILS_WID =' | NVL (TO_CHAR (DETAILS_WID), 'NULL') |', SOURCE_WID =' | NVL (TO_CHAR (SOURCE_WID), 'NULL') |', TARGET_WID = ' | NVL (TO_CHAR (TARGET_WID), 'NULL').
', RUN_STATUS_WID =' | NVL (TO_CHAR (RUN_STATUS_WID), 'NULL') |', SEQ_NUM =' | NVL (TO_CHAR (SEQ_NUM), 'NULL') |', NAME = "' | NVL (TO_CHAR (NAME), 'NULL').
"', NO_POSITION =" ' | NVL (TO_CHAR (INSTANCE_NUM), e ') | " ', INSTANCE_NAME = "' | NVL (TO_CHAR (INSTANCE_NAME), 'NULL').
"', TYPE_CD =" ' | NVL (TO_CHAR (TYPE_CD), e ') | " ', STATUS_CD = "' | NVL (TO_CHAR (STATUS_CD), e ') | " ', START_TS =' | Decode (START_TS, null, "to_date('''|| to_char (START_TS,' jj/mm/aaaa hh) |")) ((', "dd/mm/yyyy hh")').
', END_TS =' | Decode (END_TS, null, "to_date('''|| to_char (END_TS,' jj/mm/aaaa hh) |")) ((', "dd/mm/yyyy hh")') |', DURATION = ' | NVL (TO_CHAR (DURATION), 'NULL') |', STATUS_DESC = "' | NVL (TO_CHAR (STATUS_DESC), 'NULL').
"', DBCONN_NAME =" ' | NVL (TO_CHAR (DBCONN_NAME), e ') | " ', SUCESS_ROWS =' | NVL (TO_CHAR (SUCESS_ROWS), 'NULL').
', FAILED_ROWS =' | NVL (TO_CHAR (FAILED_ROWS), 'NULL') |', ERROR_CODE = ' | NVL (TO_CHAR (ERROR_CODE), 'NULL') |', NUM_RETRIES =' | NVL (TO_CHAR (NUM_RETRIES), 'NULL').
', READ_THRUPUT =' | NVL (TO_CHAR (READ_THRUPUT), 'NULL') |', LAST_UPD = ' | Decode (LAST_UPD, null, "to_date('''|| to_char (LAST_UPD,' jj/mm/aaaa hh) |")) ((', "dd/mm/yyyy hh")') |', RUN_STEP_WID = "' | NVL (TO_CHAR (RUN_STEP_WID), 'NULL').
"', W_INSERT_DT = ' | Decode (W_INSERT_DT, null, "to_date('''|| to_char (W_INSERT_DT,' jj/mm/aaaa hh) |")) ((', "dd/mm/yyyy hh")') |', W_UPDATE_DT = ' | Decode (W_UPDATE_DT, null, "to_date('''|| to_char (W_UPDATE_DT,' jj/mm/aaaa hh) |")) ((', "dd/mm/yyyy hh")').
', START_DATE_WID =' | NVL (TO_CHAR (START_DATE_WID), 'NULL') |', END_DATE_WID = ' | NVL (TO_CHAR (END_DATE_WID), 'NULL') |', START_TIME =' |
NVL (TO_CHAR (START_TIME), 'NULL') |', END_TIME =' | NVL (TO_CHAR (END_TIME), 'NULL'). "WHERE INTEGRATION_ID ="' | INTEGRATION_ID | " « ; » AS a Column OF XXAFL_MON_FACTS_F;BEGIN
dbms_output.put_line (sysdate);
to record in a loop of the UPDdbms_output.put_line (record.col_name);
immediately run record.col_name;CNT: = cnt + 1;
If cnt > 1000
and then commit;
CNT: = 0;
dbms_output.put_line (sysdate);
end if;
end loop;
dbms_output.put_line (sysdate);
END; -Procedure
Error report-
ORA-00911: invalid character
ORA-06512: at line 24
00911 00000 - "invalid character".
* Cause: identifiers may not start with any character other than ASCII
letters and numbers. $# _ are allowed after the first
character. May contain identifiers surrounded by doublequotes
any character other than a quotation mark. Other quotes
(q' #... #') cannot use spaces, tabs or as carriage returns
delimiters. For all other settings, consult the SQL language
Reference manual.
* Action:In addition to the other reviews, and apart from the quality of the code, you should really (really!) learn how to format your code for better "read-ability. This will also contribute to a better quality. If you are unsure how to format, then use a development as a SQL developer tool. It will not format "as you type", but a frequent use of the shortened format keyboard (Ctrl + F7 in SQL Dev) will keep your code readable and coherent.
And then you learn to keep this format when you post on the forum.
Like this:
PROCEDURE FACT_UPDATE
IS
DECLARE
CNT NUMBER: = 0;
CURSOR UPD
IS
SELECT "UPDATE XXAFL_MON_FACTS_F SET TASK_WID ='"
|| NVL (TO_CHAR (TASK_WID), 'NULL')
|', EXECUTION_PLAN_WID ='
|| NVL (TO_CHAR (EXECUTION_PLAN_WID), 'NULL')
|| ', DETAILS_WID ='
|| NVL (TO_CHAR (DETAILS_WID), 'NULL')
|', SOURCE_WID ='
|| NVL (TO_CHAR (SOURCE_WID), 'NULL')
|', TARGET_WID = '
|| NVL (TO_CHAR (TARGET_WID), 'NULL')
|| ', RUN_STATUS_WID ='
|| NVL (TO_CHAR (RUN_STATUS_WID), 'NULL')
|', SEQ_NUM ='
|| NVL (TO_CHAR (SEQ_NUM), 'NULL')
|', NAME = "'
|| NVL (TO_CHAR (NAME), 'NULL')
|| ' ', NO_POSITION = "'
|| NVL (TO_CHAR (INSTANCE_NUM), 'NULL')
||'' ', INSTANCE_NAME = "'
|| NVL (TO_CHAR (INSTANCE_NAME), 'NULL')
|| ' ', TYPE_CD = "'
|| NVL (TO_CHAR (TYPE_CD), 'NULL')
||'' ', STATUS_CD = "'
|| NVL (TO_CHAR (STATUS_CD), 'NULL')
||'' ', START_TS ='
|| DECODE (START_TS, ",' to_date(''e))
|| To_char (START_TS, "mm/dd/yyyy hh)
||'' ((', "dd/mm/yyyy hh")')
|| ', END_TS ='
|| DECODE (END_TS, ",' to_date(''e))
|| To_char (END_TS, "mm/dd/yyyy hh)
||'' ((', "dd/mm/yyyy hh")')
|', DURATION = '
|| NVL (TO_CHAR (DURATION), 'NULL')
|', STATUS_DESC = "'
|| NVL (TO_CHAR (STATUS_DESC), 'NULL')
|| ' ', DBCONN_NAME = "'
|| NVL (TO_CHAR (DBCONN_NAME), 'NULL')
||'' ', SUCESS_ROWS ='
|| NVL (TO_CHAR (SUCESS_ROWS), 'NULL')
|| ', FAILED_ROWS ='
|| NVL (TO_CHAR (FAILED_ROWS), 'NULL')
|', ERROR_CODE = '
|| NVL (TO_CHAR (ERROR_CODE), 'NULL')
|', NUM_RETRIES ='
|| NVL (TO_CHAR (NUM_RETRIES), 'NULL')
|| ', READ_THRUPUT ='
|| NVL (TO_CHAR (READ_THRUPUT), 'NULL')
|', LAST_UPD = '
|| DECODE (LAST_UPD, ",' to_date(''e))
|| To_char (LAST_UPD, "mm/dd/yyyy hh)
||'' ((', "dd/mm/yyyy hh")')
|', RUN_STEP_WID = "'
|| NVL (TO_CHAR (RUN_STEP_WID), 'NULL')
|| ' ', W_INSERT_DT = '
|| DECODE (W_INSERT_DT, ",' to_date(''e))
|| To_char (W_INSERT_DT, "mm/dd/yyyy hh)
||'' ((', "dd/mm/yyyy hh")')
|', W_UPDATE_DT = '
|| DECODE (W_UPDATE_DT, ",' to_date(''e))
|| To_char (W_UPDATE_DT, "mm/dd/yyyy hh)
||'' ((', "dd/mm/yyyy hh")')
|| ', START_DATE_WID ='
|| NVL (TO_CHAR (START_DATE_WID), 'NULL')
|', END_DATE_WID = '
|| NVL (TO_CHAR (END_DATE_WID), 'NULL')
|', START_TIME ='
|| NVL (TO_CHAR (START_TIME), 'NULL')
|', END_TIME ='
|| NVL (TO_CHAR (END_TIME), 'NULL')
||' WHERE INTEGRATION_ID = "'
|| INTEGRATION_ID
||''';' AS Column
OF XXAFL_MON_FACTS_F;
BEGIN
dbms_output.put_line (sysdate);
FOR registration in UPD
LOOP
dbms_output.put_line (record.col_name);
EXECUTE immediate record.col_name;
CNT: = cnt + 1;
IF cnt > 1000 THEN
COMMIT;
CNT: = 0;
dbms_output.put_line (sysdate);
END IF;
END LOOP;
dbms_output.put_line (sysdate);
END; -Procedure
-
How to write a pl/sql procedure that checks the remote db?
Hi all
I have one criticism PROD remote database I want to check every 10 minutes for its connectivity. If the connection fails then an email and a text Message is sent to me.
My question is what is the best way to check if the remote database is running?
Can I use sqlplus system/manager@PROD? But sometimes this has taken so long and suspended. I want the best response time?
How can I write a pl/sql procedure control connection? What do something like the ff:
I created a table for my tnsname.ora entries.
Something like that?cursor is c1 select dbname from tnsnames_tbl; begin connect system/[email protected]; print c1.dbname || 'DB Connection OK'; exception when others; print c1.dbname || 'DB Connection Not OK'; end; end;
Thank you
KinzNot really feasible at the level of PL/SQL.
The reason is that the greatest strength of TCP's robustness. TCP will try as hard as possible to succeed, before failing. It was designed to still work on the severely damaged or broken communication as a result of nuclear infrastructure. A TCP connection can take up to 15 minutes, maybe even more, before failing. It can be as slow as a turtle-, but he's wearing a hardshell. (unlike the UDP, which is the opposite)
So if you want to test the TCP connectivity, you must design your own custom code to implement your assumptions about the latency of packets, earthquakes and drops and so on.
Otherwise, you will need to use a standard TCP socket, set a time limit, try to login - and hope for the best.
This approach, I have demonstrated in {message identifier: = 10111306}.
If the TCP test works, it means that the listener is in place. Does not mean that the database itself is in place. Which means then using a database link to be tested. And this in turn can hang due to problems with archive record being stuck, not enough idle servers shared, etc..
-
Help, please! PL/SQL procedure to count the character more occurent
Hi guys,.
I'm new in pl/sql and I need your expertise for the solution of the following problem:
I have a string, for example: ' Hello, world! " How are you today? "and I wonder to find the character that occurs the most in this chain.
Do you have any idea how to understand? I guess I should use a PL/SQL procedure.
Thank you very much!Welcome to the forum!
something like
select * from ( select ltr, count(*) from ( select substr (str, rownum, 1) ltr from (select replace (str, ' ') str from test ) connect by level <= length (str) ) group by ltr order by count(*) desc ) where rownum = 1
as in
SQL> with test as 2 (select 'Hello, world! How are you today?' str from dual 3 ) 4 select * 5 from ( 6 select ltr, count(*) 7 from ( 8 select substr (str, rownum, 1) ltr 9 from (select replace (str, ' ') str 10 from test 11 ) 12 connect by level <= length (str) 13 ) 14 group by ltr 15 order by count(*) desc 16 ) 17 where rownum = 1 18 / LTR COUNT(*) ---- ---------- o 5 SQL>
in Oracle 11 g, you can use REGEXP_COUNT
-
SQL procedure to copy the data
Hello
I'm looking for an example of a stored procedure that captures data on the dblink and fill a local table, the update ONLY when a State has changed in the GENERAL_STATE column.
Example of data of the remote server in the examples with explanation of the syntax will be really useful as I'm new to PL:
ID ATN_ID ID_EXT NAME S-TYPE MANDATE GENERAL_STATE JOB_CLASS IND_JOB_STOPPED 10000 1 9971819911 Initialization of the operational plan JOB MANDATORY_PRIMARY HAS BEGUN com.vanderlande.opm.bs.tasks.OperationalPlanInstantiationTask 0
Do not reinvent the wheel. Use the MATERIALISEE VIEW? Read documentation http://docs.oracle.com/cd/B28359_01/server.111/b28326/repmview.htm
-
How a pl/sql procedure immediately after the action of page submit/SQL insert?
I have an entry form where the user enters data and click on the button create which then inserts a record into a table.
I want to do a few p/sql additional treatment immediately after the record is inserted, using the value of the primary key.
I tried to create a process page after submit as well as a DA pull on the change of the primary key element, but nothing does.
Where should I put my code so that my plsql is triggered immediately after the presentation of the page, and after a successful insertion of the folder?
Any ideas are appreciated!
Thank you
John
Thanks Andre - I had a bug in my pl/sql. A simple process page after submitting is working as expected.
-
ODI, invoking a pl/sql procedure
Hi all
There is a pl/sql procedure written on the side of the target. Now how can I invoke this procedure through ODi without having to write the code in odi?
is there any command for this?
Kind regards
SouravHello
If you pl/sql procedure is met with success to your Oracle DB, then you can call the same procedure of ODI.
Create an ODI procedure---> technology choose like ORACLE
Choose your logic diagram so that it points to your Oracle Db accommodation that satisfies pl/sql procedure.Specify the following command
Start
;
end;Thank you
Fati -
SQL * Plus - use of the slash
I have the package specification and body in separate files, I have 2 packs, so I have 4 folders altogether.
I want to install 2 packages using "SQL * more ', but how the installation script should look like. I don't understand how and where use "sql * more ' command 'slash ' / '.
Would it not like this:
spec_file_1
/
body_file_1
/
spec_file_1
/
body_file_1
/
Or how the ' / ' should be used? Only those at the end? I don't understand.Put the slash inside each file to the last line. Then run the files in sqlplus that way:
SQL> @a.sql SQL> @b.sql SQL> @c.sql SQL> @d.sql
Max
[My Italian blog Oracle | http://oracleitalia.wordpress.com/2010/01/23/la-forza-del-foglio-di-calcolo-in-una-query-la-clausola-model/] -
How to call sql loader control file with in the pl/sql procedure
Hi friends,
I am doing a project in relation to the transfer data using queues. In the queue, I'll get a data delimited by tabs in the form of CLOB variable/message. I don't want to keep this dat in the oracle table.
During the updating of the data in the table.
1. don't want to write data to a file. (You want to access directly after the specific queue).
2. as the data is in the form of delimited by tabs, I want to use sql loader concept.
How can I call the ctrl charger sql file with in my pl/sql procedure. When I searched, most forums recommending the external procedure or a Java program.
Please guide me on this issue. My preferrence is pl sql, but don't know the external procedure. If no other way, I'll try Java.
I'm using oracle 9.2.0.8.0.
Thanks in advance,
Vimal...Or SQL * Loader, or external tables are designed to read data from a CLOB stored in the database. They both work on files stored on the file system. If you don't want the data to be written to a file, you have to roll your own parsing code. It is certainly possible. But it will be much less effective than SQL * Loader or external tables. And it is likely to lead to a little more code.
The simplest possible thing that might work would be to use something like Tom Kyte string tokenization package to read a line in the CLOB, divide the component parts and save the different chips in a significant collection (i.e. an object type or a record type that matches the table definition). Of course, you need manage things like the conversion of strings to numbers or dates, rejecting the lines, writing to log files, etc.
Justin
-
Wander, call from java to sql pl with table out parameter procedure
Hello
Please help me? It is urgent for me...
My Oracle's Code is like this,CREATE TABLE TEST_TABLE ( DATE1 DATE, VALUE_EXAMPLE VARCHAR2(20 BYTE), VALUE2_EXAMPLE VARCHAR2(20 BYTE), VALUE3_EXAMPLE NUMBER ); CREATE OR REPLACE TYPE TONERECORDTEST AS OBJECT ( DATE1 DATE, VALUE_EXAMPLE VARCHAR2(20), VALUE2_EXAMPLE VARCHAR2(20), VALUE3_EXAMPLE NUMBER ); CREATE OR REPLACE TYPE TTESTTABLE IS TABLE OF TONERECORDTEST; CREATE OR REPLACE PACKAGE test_collection_procedures AS PROCEDURE testCallProcedureFromJava(start_time IN DATE, end_time IN DATE, table_data OUT TTesttable); END test_collection_procedures; / CREATE OR REPLACE PACKAGE BODY test_collection_procedures AS PROCEDURE testCallProcedureFromJava(start_time IN DATE, end_time IN DATE, table_data OUT TTesttable) IS BEGIN SELECT TONERECORDTEST(date1, value_example, value2_example, value3_example) BULK COLLECT INTO table_data FROM TEST_TABLE WHERE DATE1>=start_time AND DATE1<=end_time; END testCallProcedureFromJava; END test_collection_procedures;
And it's like my Java Code
import java.sql.Connection; import java.sql.DriverManager; import oracle.jdbc.OracleCallableStatement; import oracle.jdbc.OracleTypes; import oracle.sql.ARRAY; import oracle.sql.ArrayDescriptor; import oracle.sql.STRUCT; import oracle.sql.StructDescriptor; public class testPLCollectionType { public static void main(java.lang.String[] args) { try{ //Load the driver Class.forName ("oracle.jdbc.driver.OracleDriver"); // Connect to the database Connection conn = DriverManager.getConnection ("jdbc:oracle:thin:@serverbd:1521:squema1","user", "password"); // First, declare the Object arrays that will store the data (for TONERECORDTEST OBJECT TYPE) Object [] p2recobj; Object [] p3recobj; Object [] p4recobj; // Declare the Object Arrays to hold the STRUCTS (for TTESTTABLE TYPE) Object [] p2arrobj; // Declare two descriptors, one for the ARRAY TYPE // and one for the OBJECT TYPE. StructDescriptor desc1=StructDescriptor.createDescriptor("TONERECORDTEST",conn); ArrayDescriptor desc2=ArrayDescriptor.createDescriptor("TTESTTABLE",conn); // Set up the ARRAY object. ARRAY p2arr; // Declare the callable statement. // This must be of type OracleCallableStatement. OracleCallableStatement ocs = (OracleCallableStatement)conn.prepareCall("{call test_collection_procedures.testCallProcedureFromJa va(?,?,?)}"); // Declare IN parameters. Realize that are 2 DATE TYPE!!! Maybe your could change with setDATE ocs.setString(1,"01-JAN-04"); ocs.setString(2,"10-JAN-05"); // Register OUT parameter ocs.registerOutParameter(3,OracleTypes.ARRAY,"TTESTTABLE"); // Execute the procedure ocs.execute(); // Associate the returned arrays with the ARRAY objects. p2arr = ocs.getARRAY(3); // Get the data back into the data arrays. //p1arrobj = (Object [])p1arr.getArray(); p2arrobj = (Object [])p2arr.getArray(); System.out.println("Number of rows="+p2arrobj.length); System.out.println("Printing results..."); for (int i=0; i<p2arrobj.length; i++){ Object [] piarrobj = ((STRUCT)p2arrobj).getAttributes();
System.out.println();
System.out.print("Row "+i);
for (int j=0; j<4; j++){
System.out.print("|"+piarrobj[j]);
}
}
}catch (Exception ex){
System.out.println("Exception-->"+ex.getMessage());
}
}
}Actually when i running the java program it is showing error
Exception-->ORA-06550: line 1, column 58:
PLS-00103: Encountered the symbol "VA" when expecting one of the following:
:= . ( @ % ;
The symbol ":=" was substituted for "VA" to continue.I am not getting the error .Please help me out Dhabas Edited by: Dhabas on Jan 12, 2009 3:49 PM
// Declare the callable statement. // This must be of type OracleCallableStatement. ..."{call test_collection_procedures.testCallProcedureFromJa va(?,?,?)}");
Looks like divorced Ja's.
-
Call the FND_REQUEST_SET. FNDRSSUB using a pl/sql procedure
Hello
I am new to Oracle Applications.
I would like to present a set of report. The procedure to do so is FND_REQUEST_SET. FNDRSSUB. You can pl tell me how I can call this package using pl/sql?
ConcerningHello
If you wish to submit a request to programmatically set, use fnd_submit.set_request_set. You can also use fnd_submit.submit_program to set the parameters for each of the programs overall demand. You can find information about the FND_SUBMIT package in the Oracle Applications Developer's Guide.
It will be useful.
-
ORA-900 sql not valid reporting error while calling the optimize_index pl/sql procedure
Hi Experts,I'm on Oracle 11.2.0.3 on Linux and I have installed in my database Oracle text. I want to configure annex dbms_job to optimize my oracle text index. So first, I created a pl/sql procedure to optimize indexes. It gives me error ORA-900, but the sql even if I run in sqlplus works very well! Can you please help me the question is to find:
Here is the procedure:
(Either incidentally CTXAPP role has been granted in the schema where these Oracle text indexes are created and where the below procedure to optimize the index is running.)
CREATE OR REPLACE PROCEDURE optimize_ora_txt_indexes_debug IS CURSOR cur_context_indexes IS SELECT index_name FROM user_indexes WHERE index_type = 'DOMAIN' AND ROWNUM<2 ORDER BY INDEX_NAME; v_user VARCHAR2 (30); v_pod VARCHAR2 (30); v_start_time TIMESTAMP; v_end_time TIMESTAMP; v_elapsed VARCHAR2 (40); v_msg VARCHAR2 (1000); v_error_code NUMBER; v_error_msg VARCHAR2 (1000); v_sql VARCHAR2 (1000); BEGIN FOR c IN cur_context_indexes LOOP BEGIN v_sql:= 'ctx_ddl.optimize_index (idx_name =>'||chr(39)|| c.index_name||chr(39)||', optlevel => '||chr(39)||'FULL'||chr(39)||')'; dbms_output.put_line(v_sql); execute immediate v_sql; EXCEPTION WHEN OTHERS THEN v_error_code := SQLCODE; v_error_msg := SQLERRM; v_msg := 'Error while optimizing the index ' || c.index_name || ' ' || TO_CHAR (v_error_code) || ' ' || v_error_msg; DBMS_OUTPUT.put_line (v_msg); END; END LOOP; EXCEPTION WHEN OTHERS THEN v_error_code := SQLCODE; v_error_msg := SQLERRM; v_msg := 'Error while in the optimize index procedure' || ' ' || TO_CHAR (v_error_code) || ' ' || v_error_msg; DBMS_OUTPUT.put_line (v_msg); END optimize_ora_txt_indexes_debug; / --the procedure compiles successfully. Now when I run it , I get the error: SQL>exec optimize_ora_txt_indexes_debug; ctx_ddl.optimize_index (idx_name =>'ACCESS_CLNT_IDX04', optlevel => 'FULL') Error while optimizing the index ACCESS_CLNT_IDX04 -900 ORA-00900: invalid SQL statement --When I run the same command from sqlplus as execute statement , it works fine: SQL>exec ctx_ddl.optimize_index (idx_name =>'ACCESS_CLNT_IDX04', optlevel => 'FULL'); PL/SQL procedure successfully completed.
If everything runs from sqlplus, but fails in plsql... I'll be very grateful for pointers solve the problem.
Thanks,
OrauserN
Hello
It is a problem of pl/sql syntax. A call with EXEC is the same using BEGIN... Code of... END of block;
SO, you need to include a beginning and an end to your call:
v_sql:= 'BEGIN ctx_ddl.optimize_index (idx_name =>'||chr(39)|| c.index_name||chr(39)||', optlevel => '||chr(39)||'FULL'||chr(39)||'); END;';
That's all.
Herald tiomela
-
Call the Javascript htmldb_delete_message PL/SQL procedure
Hi guys,.
I am a novice when it comes to JavaScript; I've written a PL/SQL procedure that removes multiple records based on a primary key:
PROCEDURE clear_alterations (p_eco IN VARCHAR2)
IS
BEGIN
DELETE FROM xxmel_apex_eco_alterations
WHERE the eco = p_eco;
END clear_alterations;
I can run it directly from a normal button, but I want the pop htmldb_delete_message dialog box to confirm whether to delete or not. When the user clicks "OK" I want the file to delete and cancel, do nothing.
I have managed to get the confirmation box appears, but cannot see how to call the PLSQL based on the OK"" button.
Any help would be great,
Thank you
ChrisHello
Set your target URL button
javascript:confirmDelete('Delete record?','DELETE_REC');
Then create processes that call your procedure and define the process conditional request DELETE_REC
Kind regards
Jari
Maybe you are looking for
-
had to install the new operating system and bookmarks are gone
Hiya. I had problems with the computer and the fix was to install a new operating system (windows 7 it was old, windows 8 is the new). Most of my old files make the switch, but when I downloaded firefox, my favorites have disappeared. I looked in my
-
Linksys WRT 1900ac internet connectivity issues
I apologize in advance for a potentially easy question, but I'm not very familiar with how to solve these problems, but I digress. I recently bought a new router to replace and older router that was functional, but the beach leaves to be desired. The
-
I'm unable to check the ink level on hp officejet 6310 8.1 Windows - HP Solution Center is not available on this PC.
-
Initialization of a collection
Hi allI'm pretty new in this world and I Don t seem to be able to see what I'm doing wrong.I'm trying to insert 1 record in a table, but it gives me an error ORA-06550. "Wrong number or types of arguments" when I call the procedure. I'm sure that the
-
Fall of InDesign in pdf export
osx version 10.10.1 Capitan / 3.06 GHz Intel Core 2 Duo / 4 GB 800 MHz DDR2 SDRAM HelloI have problems with the latest version of InDesign update. The pdf export function causes indd crashing. Whether with old or newly created documents.the following