I have created a package in order to easy usage for set & get values in Oracle APEX.
Usage:
-Use the View with parameters
-Use Dynamic parameters in Query
-Set and get temporary data
How to use this package in Database:
Run APEX_PKG_PARAMS.sql in database where you want to use it. Next to Follow below examples for clarifying the using of this API.
Sample 1
--One-dimensional --Set two parameters APEX_PKG_PARAMS.setparam(p_param=>'MANAGER',p_index=>1); APEX_PKG_PARAMS.setparamnum(p_param=>10,p_index=>1); --Get two parameters --Use in query SELECT "EMPNO", "ENAME", "JOB", "MGR", "HIREDATE", "SAL", "COMM", "DEPTNO" FROM emp WHERE job = APEX_PKG_PARAMS.getparam (p_index =>1,p_seq=>1) AND deptno = APEX_PKG_PARAMS.getparamnum (p_index =>1,p_seq=>1)
Sample 2
--Multidimensional --Set parameters declare l_filecontent BLOB; l_filename VARCHAR2(400); begin If :P28_UPLOAD_FILE Is Not Null Then Select FILENAME, BLOB_CONTENT Into l_filename, l_filecontent From apex_application_temp_files Where NAME = :P28_UPLOAD_FILE; APEX_PKG_PARAMS.setparamnum(p_param => :P28_FILE_TYPE, p_count_seq => 4, p_seq => :P28_SEQ); APEX_PKG_PARAMS.setparamblob(p_param => l_filecontent, p_seq => :P28_SEQ); APEX_PKG_PARAMS.setparam(p_param => l_filename, p_seq => :P28_SEQ); End If; end; ----Get blob parameter APEX_PKG_PARAMS.getparamblob (p_index =>1,p_seq=>1);
How to use this package in APEX:
We should use this packages according the instructions.
Step 1
In this step you must create a process and add pl/sql code
APEX_PKG_PARAMS.setparam(p_param=>''); APEX_PKG_PARAMS.setparamnum(p_param=>null);
To add a sever-side Condition in order to control for calling this process
Step 2
Now, we created a view with parameters that usage in where clause.
CREATE OR REPLACE FORCE VIEW VIEW_EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO ) AS SELECT "EMPNO", "ENAME", "JOB", "MGR", "HIREDATE", "SAL", "COMM", "DEPTNO" FROM emp WHERE job = COALESCE (APEX_PKG_PARAMS.getparam (p_index => 1), job) AND deptno = COALESCE (APEX_PKG_PARAMS.getparamnum (p_index => 1), deptno);
Next, we added three buttons in order to show the operation of setter & getter.
Step 3
we set the pl/sql code like a below code for first button
APEX_PKG_PARAMS.setparam(p_param=>'MANAGER',p_index=>1); APEX_PKG_PARAMS.setparamnum(p_param=>10,p_index=>1);
we repeat it for another button
Step 4
So if we want to remove the value of parameters must be to add this code.
APEX_PKG_PARAMS.purgeparams;
I hope to use and enjoy it.
No comments :
Post a Comment