Monday, July 4, 2022

Download oracle Apex Latest version and work on Oracle REST

 apex 22.1 download


Oracle REST Data Services version 22.1: Read the README!

Usually when a new version of your favorite software comes out, you download it, and give it a go. Exactly like that, in that order.

But, for version 22.1 of ORDS, I recommend you break that habit.

However, I know you will ignore this advice and go to start/upgrade ORDS like you’ve always done, a la

java -jar ords.war standalone 
That’s not going to work anymore.

So what’s the new command to run, Jeff? (Yes, I hear your voices in my head) I’m not going to tell you the new command right now, because I want you to read the README and the Docs.

I guess you can still cheat and see the slides below for some hints. I try to be firm, but not mean!

So, I will now do as Inigo Montoya might say, let me sum up.

What’s new & what you need to know, in a nutshell

  • The standard java command line interface is gone
  • There’s now a bin/ords program/shell script available to working with ORDS
  • The configdir is no longer burned into the WAR file
  • You’ll need to set a OS environment var or use a -config flag to tell ORDS where it can find it’s configuration files
  • The way we store ORDS configuration files is completely different now – you’ll be migrating your old configdir to a new one
  • We no longer support Oracle Java 8
  • We now support both Oracle Java 11 and 17
  • ORDS no longer supports APEX based REST APIs – you MUST migrate those to the ORDS side of the universe (btw, APEX no longer supports them as well)

I’ll have deep-dive details on most of these points going forward over the next few days, weeks, and months, but in the meantime, I put these slides together to give you an idea what this all really means.

Pictures and words, living together!

What about SQL Developer Web?

Yes, HUGE updates there! I’ll be talking about those new features as well. A dedicated editing environment for PL/SQL, create/edit/delete scheduler jobs, schedules, notifications, importing OpenAPI (2 or 3) specs as new REST Modules, ability to open/save local files from the worksheet and procedure editor, and a new OmniSearch feature for finding/opening things in your database.

Search quick look –

Look for things, quickly open them.

OpenAPI Spec Import – quick demo

The quickest, easiest way to build our your API templates/handlers?

PLSQL Editor quick look –

Friday, July 1, 2022

Your Future. Today. With Cloud-Native Application Development

  

  • Reduce the time to market for new projects
  • Boost agility and responsiveness to demand
  • Innovate and create value faster
  • Improve the return on your investment in IT
  • Manage operations and data security efficiently

What's New in Oracle APEX 22.1

 

Simplified Page Creation

The Create Page wizard has been drastically simplified to make it easier than ever before to create pages in your APEX apps. We've streamlined the wizard by applying smart defaults, minimizing user input, improving page navigation, and more.

Readable Application Export in JSON or YAML Formats

Your application exports can now include a readable and easily "dialable" version in YAML/JSON format.

Row Search. Improved.

The Row Search functionality within APEX has been enhanced to provide a more natural and intuitive search experience throughout your application. With the new tokenized search behavior enabled, users will be able to enter multiple words and find the more relevant content, even if those words span more than one columns.

Region Sorting Made Easy

The new Order By Page Item feature enables developers to easily configure sorting options for your regions. Supported regions will allow you to set an item to configure the sort order, automatically pick up on the change event, apply the appropriate order by clause, and refresh the region.

REST Sources Support for REST Enabled SQL Query

Now you can create REST Sources on top of REST Enabled SQL to be executed on a remote database, and abstract the SQL query from APEX components.

Adding JavaScript to APEX Apps

  Up to this point, you have been working with JavaScript outside of APEX. In this lab, you will learn the most common ways to add JavaScript to APEX applications. The options include Dynamic Actions, Dynamic Actions with JavaScript hooks, page- and component-level attributes, and application files.

Think of these options as a progression, with each one requiring more knowledge of JavaScript, APEX's JavaScript APIs, and web development in general. New APEX developers should start by learning Dynamic Actions and progress to subsequent options only when they are ready and the application requirements cannot be satisfied without a more advanced approach. Generally speaking, the more declarative the solution, the easier it will be to implement and maintain.

Play the video below to learn about for this lab.



Oracle APEX is Ideal for Oracle Forms Developers!

  Oracle Forms is Oracle's long-established technology to design and build enterprise applications quickly and efficiently. Oracle APEX is the world's most popular low-code platform for enterprise apps and enables you to build scalable, secure enterprise apps, with world-class features, that can be deployed anywhere. Oracle APEX is a complete platform - it provides everything you need to build and deploy applications - data loading & unloading, database object creation, application development and deployment, REST API creation, and much more! Oracle APEX has a number of similarities to Oracle Forms, in both concept and purpose. This is why many Oracle Forms developers have learned APEX and are flourishing as APEX developers!


Are you an Oracle Forms developer and wondering how you can progress your career to modern web app development?  Here are the top 10 reasons why Oracle APEX is an ideal development platform for Oracle Forms developers!
 

  1. Declarative development framework


    Both development environments provide powerful declarative features for building fully functional applications with minimal code. With APEX you can add pages to your application from scratch or use the wizard in a similar way that you used to do it using Forms. 
    With APEX, you can modify a component's properties and attributes in a declarative way using the Page Designer. Page Designer allows you to review, drag-and-drop and edit components on your page. 

     

    In short, the transition of a Forms developer to the APEX framework is

 
  1. Productivity

    For Forms developers, APEX is a natural fit. But even if you are not a Forms developer, you will find that APEX is easier to learn, making you productive in days, not months. 

    Over the years, the APEX Development Team has added outstanding features in order to simplify and improve the developer experience. These features include:
    In general, APEX characteristics and features have a big impact on your daily productivity, allowing you to build apps 38x faster compared to traditional application development methods.
     
    • Create Page Wizard allows you to add components or features to your app by easily following the steps in the wizard. 
      Available component pages include Blank Page, Report, Form, Master-Detail,  Plug-ins, Chart, Calendar, Tree, Wizard, Data Loading, and Dashboard Page. And some available features pages include About Page, Access Control, Activity Reporting, Configuration Options, Email Reporting, Feedback, Login Page, and Theme Style Selection.
    • Quick SQL to generate SQL using shorthand, save and load data models, syntax highlight and autocompletion.
    • Monaco Editor to improve coding experience throughout the development environment.
    • Embedded Code utility to inspect the SQL, PL/SQL and JavaScript contained within an APEX application.
    • Universal Theme is a responsive user interface that enables you to build beautiful, modern web apps without requiring extensive knowledge of HTML, CSS, or JavaScript.
    • Theme Roller allows you to style the application exactly as you need to, defining a number of settings to be used across the application. 
    • Template Options enables you to easily customize the appearance of any template-based component. 
  2. Database-centric development  

    Most back-office business apps are data-driven, which is why Forms and APEX are used so heavily in these areas. Using APEX, you can quickly build apps based on table definitions - just like Forms.  You can build forms, reports, charts, grids and more on tables, views or SQL queries. 

    As a bonus, with APEX, you can easily combine and synchronize remote data with data in your database, all done declaratively via REST Data Sources. REST Data Sources enable developers to access REST services or generic JSON data feeds in apps and use the data in APEX components such as reports, interactive reports, and interactive grids.
     
  3. Business Logic

    If you have an existing investment in business logic in server-side PL/SQL, you can readily use this in APEX. For example, you already have all the procedures tested, designed for your requirements and working properly today. You can easily integrate this server-side logic directly into APEX, including PL/SQL packages, functions and procedures.

    You can use your existing business logic throughout an APEX application.  You can invoke a PL/SQL procedure when a button is clicked and the page is submitted.  You can employ an existing PL/SQL function to validate data before a form is submitted.  You can even call PL/SQL as a user navigates within a form, via dynamic actions, to perform rich client interactivity.

    APEX also provides a set of tools called SQL Workshop, which you can use to create and maintain database objects, execute arbitrary SQL commands, and load & unload data.
     
  4. No client software

    APEX doesn't require any client software to develop and deploy database web apps. Developers only need a modern browser to be able to:
    And your applications are absolutely responsive, so they work on any tablet or mobile device, out of the box!
     
    • Model database objects
    • Load / unload data
    • Create REST interfaces on local data
    • Build apps based on local, external or remote databases
    • Run and deploy apps
  5. Leverage your skills

    The language of APEX today is SQL and PL/SQL.  Developers with these skills can create sophisticated and secure apps. If you're a Forms developer, you don't need to learn a new language to create your apps. You can leverage your existing knowledge and expertise to build beautiful, responsive and secure apps. And beginning with Oracle Database 21c, the sever-side language can also be JavaScript, which is natively supported in APEX, in addition to PL/SQL.
  6. APEX is "cloud-ready"  

    APEX is available everywhere, on a laptop, on-premises, on Oracle Cloud or other clouds. Where you develop your apps doesn't limit you to where you can deploy your apps. Any applications you develop in APEX today can be deployed and run in the cloud, effectively unchanged.  With APEX in the Oracle Cloud, you can easily create an Autonomous Database or an APEX Service, and within a few minutes, you will be ready to start creating and deploying your apps - completely avoiding installation, configuration, and patching complexity.
     
  7. Oracle Database

    Forms and APEX are built on top of Oracle Database and you can take advantage of native database features like RAC, HA, end-to-end security and more. Also, Oracle Database is a rich application development platform. You can build applications against a wide variety of data types (relational, JSONgraphspatial, text, blockchain, XML) - all using SQL.  And you already know SQL!
     
  8. Productivity with choice!

    In Oracle Database 21C, developers can execute JavaScript code inside the database, and the native support for it is already available with APEX. So, today you can author procedural logic in PL/SQL, but tomorrow it can be JavaScript. This feature is called Multilingual Engine (MLE) and enables you to use JavaScript as a first-language within your APEX apps. And this is only the beginning, as MLE engine will support more languages in the future.

    You're free to use the language that best suits you, depending on your requirements and skills.
     
  9. The Community

    And the best reason of all is the extraordinary APEX Community:
  • There are tens of thousands of Oracle APEX customers and hundreds of thousands of developers. And growing every day.
  • The community site apex.world was launched in 2015 and is a project from the community, to the community. This is an entry point for Beginners, Experienced Developers and Tech Nerds, as well as managers and recruiting agencies.
  • There are hundreds of APEX consulting companies in the five continents.
  • You'll find that APEX Developers are passionate about what they are able to deliver with APEX.
  • There are more than 10 conferences with APEX Tracks or which are dedicated to APEX.
  • In 2019 Oracle was recognized as a November Gartner Peer Insights Customer's Choice for Enterprise Low-Code Application Platform Market for Oracle APEX. And we're proud to announce that in 2021, thanks to the wonderful APEX community, Oracle APEX is again a customer choice for Enterprise Low-Code Application Platforms.

Monday, March 27, 2017

How to Find Last Row in the Table from SQL query!

Last Row in TABLE 

The only way to get the last row is for the Developer to have put a tiemstamp or some sequence number in there.Then you can

select * from t where
x = (select max(x) from t;

select * from emp
where rowid in(select max(rowid) from emp);

select * from emp
minus
select * from emp
where rownum < (select count(*) from emp);

Friday, March 24, 2017

Retrieve Data From Two Tables

Use of cursor (Explicit) in SQL 


Declare
Cursor emp_cur is
Select emp.ename,dept.dname,dept.deptno
From emp,dept
Where emp.deptno = dept.deptno;
Begin
For emp_rec in emp_cur loop
If emp_rec.deptno = 30 then
Dbms_output.put_line('Employee'||'  '||emp_rec.ename||'  '||'work in the'||'  '||emp_rec.dname||'  '||'Department');
End if;
End loop;
End;

So find these Result:

Employee  ALLEN  work in the  SALES  Department
Employee  WARD  work in the  SALES  Department
Employee  MARTIN  work in the  SALES  Department
Employee  BLAKE  work in the  SALES  Department
Employee  TURNER  work in the  SALES  Department
Employee  JAMES  work in the  SALES  Department

Tuesday, March 21, 2017

Normalization in Database with Example

Normalization Example:



Assumption:A customer can have multiple orders and order can include multiple products.

0NF:
customer order: custname,orderno,prodno,proddesc,qty,custaddress,dateordered

1NF: Remove multivalued attributes
customer:custname,custaddress
order:custname,orderno,prodno,proddesc,qty,dateordered

2NF: Remove partial dependencies
customer:custname,custaddress
order line:orderno,prodno,qty,dateordered
product:prodno,proddesc
order:orderno,custname

3NF, BCNF: Remove transitive dependencies
customer:custname,custaddress
customer order:custname,orderno
order:custname,orderno,prodno,qty,dateordered
product:prodno,proddesc


Monday, March 20, 2017

how to hide drop Table in Cat list in oracle 10g

New Command of Oracle 10g:

Purge is useful in oracle 10g when you want to really truly drop a table in oracle 10g table can be undropped. for example in sql
SQL> desc t;
it show name type etc   x     null      varchar2(2000)      now you want to drop this table by
SQL> drop table t;
table dropped.
SQL> desc t;
object  t does not exist ;
SQL> flashback table t to before drop;
flashback complete.
SQL> desc t;
show table  t like   x    null   varchar2(2000)
SQL> select object_name from recyclebin;
object_name   Bin$totcup302.... after flashback

Now everything you drop a table, we just hide it not really drooped same with index etc.
SQL>drop table t purge;
table drooped and not show in object list.


Friday, March 10, 2017

Useful query for Accounts Ledger Report in Oracle


select a.account_id,a.account_name,a.voucher_date, a.DOC_TYPE_ID
  ,a.VOUCHER_NO,b.debit,b.credit,b.narration from
(
select a.account_id ,sum(b.debit)-sum(b.credit) open from
(
select a.account_id,b.debit,b.credit
from voucher_dtl b,voucher_mst a
where a.account_id=:account_id
AND DOC_TYPE_ID='JV'
union all
select a.account_id ,b,debit,b.credit from voucher_mst a,voucher_dtl b
where DOC_TYPE_ID='JV'
)
group by account_id
)a
,
(SELECT a.voucher_date, a.VOUCHER_NO,
a.DOC_TYPE_ID , ACCOUNT_ID, A.ACCOUNT_NAME,
(B.DEBIT) DEBIT, B.NARRATION, (B.CREDIT) CREDITt
FROM voucher_mst a,voucher_dtl b
where ACCOUNT_ID=:ACCOUNT_ID
AND DOC_TYPE_ID='JV'
and
(DEBIT>0
or
CREDIT>0
)

)b,
(
select account_code ,sum(dr_amount)-sum(cr_Amount) due from
(
select account_code,dr_Amount,cr_amount
from MATRIX.journal
where account_code=:accounts
and cDate<=:date_2
AND decode(:STATUS,'ORIGINAL',o_r,'IT',I_T,'GST',G_T)='YES'
AND decode(:ORG,'ALL','ALL',COMPANY)=:ORG
and voucher_type<>'Open'
union all
select account_code ,dr_Amount,cr_amount from MATRIX.journal
where voucher_type='Open'
AND decode(:STATUS,'ORIGINAL',o_r,'IT',I_T,'GST',G_T)='YES'
AND decode(:ORG,'ALL','ALL',COMPANY)=:ORG
and account_code=:accounts
)
group by account_code
)c,MATRIX.ledger
where a.account_code=b.account_code(+)
and a.account_code=c.account_code(+)
and a.account_Code=ledger.accountid

order by cdate

Useful Loops for Oracle Developer


BEGIN
    GO_BLOCK('MY_BLOCK');
    FIRST_RECORD;
    LOOP
    MESSAGE(:MY_BLOCK.DSP_NAME);
    EXIT WHEN :SYSTEM.LAST_RECORD = 'TRUE';
    NEXT_RECORD;          
    END LOOP;  
END;

---------------------------------------------------------------
DECLARE
   /* All the jobs in the Fall to prepare for the Winter */
   CURSOR fall_jobs_cur
   IS
      SELECT task, expected_hours, tools_required, do_it_yourself_flag
        FROM winterize
       WHERE year = TO_CHAR (SYSDATE, 'YYYY')
         AND completed_flag = 'NOTYET'
       FOR UPDATE OF task;
BEGIN
   /* For each job fetched by the cursor... */
   FOR job_rec IN fall_jobs_cur
   LOOP
      IF job_rec.do_it_yourself_flag = 'YOUCANDOIT'
      THEN
         /*
         || I have found my next job. Assign it to myself (like someone
         || is going to do it!) and then commit the changes.
         */
         UPDATE winterize SET responsible = 'STEVEN'
          WHERE task = job_rec.task
            AND year = TO_CHAR (SYSDATE, 'YYYY');
         COMMIT;
      END IF;
   END LOOP;
END;
-----------------------------------------------------------

This is possible. In when validate record you write like this,

declare
v_rec_no number;
begin
if :system.cursor_record > 1 then
v_rec_no = :system.cursor_record ;
first_record;
for i in 1 to v_rec_no loop
< your validation>
.....
.....
next_record;
end loop;
end; 

Sunday, July 12, 2015

SkypeContactsView utility displays the list of all Skype contacts stored in the local database file of Skype

SkypeContactsView is a new tool that displays the list of all Skype contacts stored in the local database file of Skype. For each contact, one or more of the following fields are displayed: Skype Name, Full Name, Display Name, Gender, ID, Birthday, Profile Time, Last Online Time, Last Used Time, Phone, Emails, and more...
SkypeContactsView also allows you to export the contacts list into text/tab-delimited/comma-delimited/xml/html file, or copy them to the clipboard and then paste them into Excel or other spreadsheet application.

Thursday, July 2, 2015

Forms Triggers in ORACLE

Trigger is collection of SQL , PL/SQL and Form coding statements executed based on the event.
Triggers are executed automatically at run time based on an event.
Triggers can be created in three levels.
1. Form level triggers
2. Block level triggers
3. Item level triggers

Form Level Triggers

Block Level Triggers


Item Level Triggers

Other Triggers