Muhammad Abdul Qaium is a Database Engineer/Oracle Apex Developer/BI Developer (in Atlanta, USA) who is an Oracle Certified Cloud Architect Professional, OCI Autonomous DB specialist as well as Oracle Business Intelligence Foundation Suite 11g Certified Implementation Specialist with extensive expertise in Database design , PL/SQL, Oracle Apex, Microsoft SSIS, ETL, Power BI, Qlik Sense, OBIEE. Contact: qaiuminfo@gmail.com
Here is the SQL to do the Dynamic Navigation Menu With Sub Menu. The details watch the video.
SELECT LEVEL, ENAME label, 'f?p=&OBNK.:' || '1' || ':' ||:APP_SESSION||':'||EMPNO target, SAL is_current, 'fa-angle-double-right' image, MGR FROM EMP START WITH MGR IS NULL CONNECT BY PRIOR EMPNO = MGR ORDER SIBLINGS BY EMPNO
Where Keys Action Page Designer Grid Layout CTRL+ALT+D Display from here Page Designer Grid Layout CTRL+ALT+T Display from page Page Designer Alt+2 Go to Dynamic Actions Page Designer Alt+9 Go to Gallery Buttons Page Designer Alt+8 Go to Gallery Items Page Designer Alt+7 Go to Gallery Regions Page Designer Alt+5 Go to Grid Layout Page Designer Alt+F1 Go to Help Page Designer Ctrl+F1 Go to Messages Page Designer Alt+4 Go to Page Shared Components Page Designer Alt+3 Go to Processing Page Designer Alt+6 Go to Property Editor Page Designer Alt+1 Go to Rendering Page Designer Alt+Shift+F1 List Keyboard Shortcuts Page Designer Ctrl+Alt+F Page Search Page Designer Ctrl+Y Redo Page Designer Alt+F11 Restore/Expand Page Designer Ctrl+Alt+S Save Page Designer Ctrl+Alt+R Save and Run Page Page Designer Ctrl+Alt+E Toggle Hide Empty Positions Page Designer Ctrl+Z Undo Page Designer with focus anywhere that has a context menu Shift+F10 or Context menu key Open context menu Page Designer Grid Layout Gallery and Icon List in wizards Arrow keys Move selection Page Designer Property Editor with focus on a group heading Up/Down Arrow keys Move to previous/next group Page Designer Property Editor with focus on a group heading Home/End keys Move to first/last group Page Designer Property Editor with focus on a group heading Left/Right Arrow keys or Enter or Space Expand or collapse the group Page Designer With focus on any tab Arrow keys Select previous/next tab Focus on a splitter handle Arrow keys Move splitter Focus on a splitter handle Enter Expand or collapse splitter if supported by splitter On pages that have a splitter Ctrl+F6 Move to next splitter On pages that have a splitter Ctrl+Shift+F6 Move to previous splitter Focus on any field with a (?) help icon Alt+F1 Open field help dialog Focus on a field help dialog Alt+F6 Move focus back to field without closing dialog Focus in any dialog Escape Close dialog Any page, focus on region display selector "tabs" Arrow keys Select the previous/next tab SQL Commands Ctrl+Enter Run the current command Code Editor Ctrl+Z Undo Code Editor Ctrl+Shift+Z Redo Code Editor Ctrl+F Find Code Editor Ctrl+Shift+F Replace Code Editor with focus in find field Up/Down Arrows Find previous/next instance Code Editor Ctrl+Space Auto complete when available Code Editor Alt+F6 Leave code editor and go to next tab stop Code Editor Alt+Shift+F6 Leave code editor and go to previous tab stop
Step 1. Create a Interactive Grid Editable Form by you query.
Step 2. Create another item to keep details report query parameter from Master Table. \
Step 3. Create a Dynamic Action on Master region with Selection Change [Interactive Grid] Event and Execute JavaScript Action.
Copy Pest the code:
var i, selectedIds=":" , model = this.data.model; for ( i = 0; i < this.data.selectedRecords.length; i++ ) { if (i>=0) { selectedIds += model.getValue( this.data.selectedRecords[i], "EMPNO") + ":"; } // Matching column (parameter) else { selectedIds += model.getValue( this.data.selectedRecords[i], "EMPNO"); // Matching column (parameter) } } $s("P8_NEW", selectedIds); //Item to keepparameter Value from master Table apex.region("ID").refresh();
Step 4. Finally create another report to show details report with you query and using master table matching column. And do the condition like this.
select EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO from EMP where instr(:P8_NEW, ':' ||EMPNO|| ':' ) > 0 ;
--------------------------------That's All------------------------Thank You ---------------------------
To Get Summation By Doing Checkbox Checked In Oracle Apex Via JavaScript.
Step 1. Create a CheckBox item and with Some Numbers by Query or Static. Like :
select 100,100 a from dual
union
select 200,200 a from dual
union
select 300,300 c from dual
Step 2. Create another item with Textfield type to show summation result .
Step 3. Now Copy-Pest the function to
Page Properties > Function and Global Variable Declaration
/* P43_SUM = Textfield item ID where we show the result. P43_NEW = Checkbox item from where we get value. P43_NEW_ = First portion of every Checkbox ID . */ function findTotal() { var arr = document.getElementsByName('P43_NEW'); var tot = 0; var count= 0 ; for (var i = 0; i<arr.length; i++) { if ($('#P43_NEW_'+i).prop('checked') == true) { count = count + 1 ; tot += parseInt(arr[i].value); document.getElementById('P43_SUM').value = tot; } else if (count == 0 ){ document.getElementById('P43_SUM').value = 0; } } }
Step 4. Finally Call the JavaScript Function Like.
Checkbox item properties > Advanced > Custom Attributes
In Oracle Apex URL have shown Application Number and Page
Number. But it is not secure. So you can hide or wrap this Numbers. But you
have to face little bit of difficulty or extra afford. Let’s see how we can
wrap this Numbers step by step.
1. In Application level. Edit Application Properties
>>Application Alias>> Wright A Alias
Example: F_139139
In Page level. Go to Page
Alias>> Wright A Alias
Example:
PAGE_TEST
Now you can try the URL writing manually like this.
An access control list (ACL), with respect to a computer file system, is a list of permissions attached to an object. An ACL specifies which users or system processes are granted access to objects, as well as what operations are allowed on given objects. Each entry in a typical ACLspecifies a subject and an operation.
There's no place like 127.0.0.1 is a t-shirt slogan which is a play on the common American English saying, There’s no place like home, popularized by the 1939 movie The Wizard of Oz.
In computer networking the Localhost reserved IP address is guaranteed to be in every networked computer. In IPv4, we use 127.0.0.1; in IPv6 we use ::1. This is why the phrase sometimes appears as There’s no place like ::1
Since that address is on every machine, it is just like “home.” Always there, always safe, and local to you. It’s an inside joke for networking nerds.
You can write JavaScript code that executes when an event occurs, such as when a user clicks an HTML element, moves the mouse, or submits a form.
When an event occurs on a target element, a handler function is executed.
Common HTML events include:
Each element in the DOM has a set of properties and methods that provide information about their relationships in the DOM:
element.childNodes returns an array of an element's child nodes. element.firstChild returns the first child node of an element. element.lastChild returns the last child node of an element. element.hasChildNodes returns true if an element has any child nodes, otherwise false. element.nextSibling returns the next node at the same tree level. element.previousSibling returns the previous node at the same tree level. element.parentNode returns the parent node of an element.
Step 1:- Post Text <span id="password_strength"></span> Step 2:- Custom Attributes onkeyup="CheckPasswordStrength(this.value)" Step 3:- Function and Global Variable Declaration function CheckPasswordStrength(password) { var password_strength = document.getElementById("password_strength");
//TextBox left blank. if (password.length == 0) { password_strength.innerHTML = ""; return; }
//Regular Expressions. var regex = new Array(); regex.push("[A-Z]"); //Uppercase Alphabet. regex.push("[a-z]"); //Lowercase Alphabet. regex.push("[0-9]"); //Digit. regex.push("[$@$!%*#?&]"); //Special Character.
var passed = 0;
//Validate for each Regular Expression. for (var i = 0; i < regex.length; i++) { if (new RegExp(regex[i]).test(password)) { passed++; } }
//Validate for length of Password. if (passed > 2 && password.length > 8) { passed++; }
//Display status. var color = ""; var strength = ""; switch (passed) { case 0: case 1: strength = "Weak"; color = "red"; break; case 2: strength = "Good"; color = "darkorange"; break; case 3: case 4: strength = "Strong"; color = "green"; break; case 5: strength = "Very Strong"; color = "darkgreen"; break; } password_strength.innerHTML = strength; password_strength.style.color = color; }
-- Create directory create or replace directory EXPIMP_DIR as 'E:\hira'; --PL/SQL Block DECLARE v_file UTL_FILE.FILE_TYPE; BEGIN v_file := UTL_FILE.FOPEN(location => 'EXPIMP_DIR', filename => 'New_Card_Test.txt', open_mode => 'w', max_linesize => 32767); FOR cur_rec IN (select sl,data_desc from tt order by sl) LOOP UTL_FILE.PUT_LINE(v_file,cur_rec.data_desc); END LOOP; UTL_FILE.FCLOSE(v_file); EXCEPTION WHEN OTHERS THEN UTL_FILE.FCLOSE(v_file); RAISE; END;
Some time we have need long PL/SQL block or raise_applicaiton_error and many other things which we can do in Apex Process level but can not do in Dynamic Action.
Now here I am show how to call a Process from item Dynamic Action.
1. Create a Item and create Dynamic Action on this Item.
2. This Dynamic Action Event can be anything but Action will Execute JavaScript Code and right this JavaScript Code >> Settings.
apex.submit({ request:"ID", showWait:true});
3. Here "ID" is a reference to call a process.
4. Now a Create One or multiple Process with what ever as your wish.
5. Go to Process >>Properties >> Conditions>> Condition Type >>Select :- Request= Expression 1 >> Expression 1 >> ID (reference)