Fixing Internet Explorer Crash on Launching Oracle Forms


here is simple video shows how to fix  Internet Explorer crash when running Forms.

replace jvm.dll file in the following path :

C:\Program Files (x86)\Oracle\JInitiator 1.3.1.22\bin\hotspot

you can download jvm file from here.







Using Aliases in same query


Alias is very helpful to shorten long query in SQL.



To use Alias in the same query you can use the following method:







SELECT  A,B,C*50 from (select A,B,(A+B) as C from table).



note that you can choose  any column from inner-query to display it in outer-query.



but you cannot display a column in outer-query which is not exist in inner-query.









You can try this example using SCOTT schema:



select  SAL,COMM,COMM_RATE *100 from (

select SAL,COMM,(COMM/SAL) as COMM_RATE from emp)





Remove the 'Do you want to save changes?' Messages in Forms

here is it ...

1. Modify the CLEAR_ALL_MASTER_DETAILS procedure body. Change the existing CLEAR_BLOCK(ASK_COMMIT) to CLEAR_BLOCK(DO_COMMIT).

2. Specifying NO_COMMIT or NO_VALIDATE with the CLEAR_BLOCK built-in causes
Oracle Forms to flush the current block without performing a commit or prompting the operator.
ex:CLEAR_BLOCK(NO_COMMIT,NO_VALIDATE);

Thanks to Dipankar...

Avoid FRM-40401 message


Use Standard.commit  instead of commit to prevent Oracle message :









Source :OraFAQ

Run Oracle forms from LAN

Assalamu Alikom,



I can not deny how does this work took time as I searched for it and made many tries between fails and success .



And here is the steps to run your Oracle project from any computer on the Local Network. 



Windows XP is recommened to install Application Server


1#Step : Install ORACLE DataBase 10g 




2#Step : Install ORACLE Developer 10g




After installation of Oracle developer :



goto C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN







then copy the files : 



listener.ora



sqlnet.ora



tnsnames.ora



and paste them to the following path :



C:\DevSuiteHome_1\NETWORK\ADMIN










3#Step : Install Application Server



download it from here ...



Be very careful before install and follow steps below :



1-download file staticports.conf   from here... and copy it to path  C:\oracle\FRHome_1\






2-Choose Manual install then choose the file staticports.conf





3-After install finishes write down the link appears to access Oracle Enterprise Manager, it looks like (http://localhost:7798)



4-goto C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN



then copy the files : 



listener.ora



sqlnet.ora



tnsnames.ora




and paste them to the following path :



C:\oracle\FRHome_1\NETWORK\ADMIN








5- Goto path C:\oracle\FRHome_1\\forms\server  where you installed app server


and make copy of file default.env  and paste it in the same place





6- Rename the new file to tr.env (you can rename it to any of yours)





7- Open file tr.env using  notepad





8-Edit the Form_path to FORMS_PATH=C:\DevsuiteHome_1\forms










Important: copy all your fmx  files of your project in the path (C:\FRHome_1\forms)






4#Step : Configure Application Server





1-Login Appserver  by typing Localhost in the address bar of any browser(internet explorer is preferred) or the link you wrote before





2-Choose Forms then  choose Configuration then choose Duplicate then choose New Section


and name it :EFL  (you can rename it to any of yours) then click OK










3-Choose Forms then  choose Configuration then select  EFL then click Edit





4- Edit the following items as followed:


baseHTMLjinitiator:basejini.htm


baseHTMLjpi:basejpi.htm


envFile:tr.env


form:login.fmx


userid:hr/hr@orcl


page Title:My First AppServer Application


then click Apply





5-Choose Forms  again and  copy the  link Servlet URL : http://localhost:7801/forms/frmservlt








6- edit the link to be http://localhost:7801/forms/frmservlt?config=EFL 


then paste it  in the browser and click Enter from keyboard





If you are on windows 7 then edit the baseHTMLjinitiator:basejpi.htm






6-Goto Oracle Enterprise Manager then choose PORTS  then select  WebCache     http


then click Edit icon


make it 80 then click OK  then it asks you Restart webcache? click Yes







be sure the Port:80 is not used by other programs on your PC






7-Open notepad then write the following code
You can get it from here :



https://drive.google.com/open?id=0B2PUacEN7OKGamgtTXluTmVFVTg


save file as rd.html








8- Paste rd.html  in the path C:\oracle\FRHome_1\Apache\Apache\htdocs






9-Goto Oracle Enterprise Manager then choose HTTP SERVER then Administration then Advanced server Properties  then  Httpd.conf






10- Search for DirectoryIndex then


make it DirectoryIndex rd.html







*OC4J  and Reports Server must be opened all time


5#Step : Running Forms over LAN

1-after running project on server   , we got the link like this:

http://localhost/forms/frmservlet?config=efl


2-replace localhost with server IP Address(you can get ip address  from Start then CMD then ipconfig then press enter)


it becomes 

http://192.168.1.4/forms/frmservlet?config=efl


3-From any computer connected to server over Local network  :

 install J initiator

goto   http://192.168.1.4/forms/frmservlet?config=efl


Update#1 : 

You can add multiple users with different Schemes by editing the file :

C:\oracle\FRHome_1\forms\server\formsweb.cfg 


you  just add in the end of file name , form path   and User credentials like  this :


[hr]

form=e:\hrm\Login.fmx



userid=hr/hr@orcl


Then the address to access this users forms is :

http://192.168.1.4/forms/frmservlet?config=hr


Update#2 : 

To display Arabic fonts  well , you must :


1#Replace uifont.ali  which is located in the following two paths :

C:\DevSuiteHome_1\tools\common

C:\oracle\FRHome_1\tools\common


2#Add Windows Fonts folder in Registry , It's found twice inside  Registry



Thanks to :

ميسم الكرام

Ahmed Elbanna


MS Server 2008 R2 Sounds

In the previous blog we talked about enabling Wireless in Microsoft server 2008 , here is the way to  enable the SOUNDS too.

Article was pick from HowToGeek web site.
All it takes to get sound functionality out of Server 2008 R2 is to set the Windows Audio service to start up automatically. To do this we need to open the Services MMC, the quickest way to do this is to press the Win + R key combination to bring up a run box, type services.msc and hit enter.
sshot-41
Once the Snap-In opens scroll down until you find the Windows Audio Service.
sshot-42
Double-click on it to open its properties.
sshot-43
Now you need to change the Startup drop-down box from Manual to Automatic.
sshot-44
Click ok when you are done, and restart your computer.
sshot-46
You should notice that your volume control icon went from looking like this
sshot-45
To this
sshot-47
You can now play music and movies through Windows Media Player which was installed in the first part of the series, or you could install a third party media player.

MS SERVER 2008 wireless


You may need to install Windows Server 2008 R2  for some reasons like creating Oracle Application Server.

But you notice that WI-FI can not run  even if  drivers are installed so here is how to fix it.

This article is from Microsoft website.



At first, setting up a wireless connection on a system running Windows Server 2008 R2 seems pretty straightforward. Simply open the Network and Sharing Center, go to Change Adapter Settings, right-click on the wireless network controller, and select Enable. Now configure the network settings. 

wswl2.jpg

However, you might notice that the wireless connection is still disabled. This is because the typical installation of Windows Server 2008 R2 is "locked down" with Roles and Features disabled by default. The fix is very easy, though, once you know the problem. 

wswl3.jpg

To enable support for wireless networking:


  • open Server Manager

  • Select Features in the left pane

  • Select Add Features

  • Select the check box next to Wireless LAN Service

  • Press the Install button to confirm your selection


wswl5.jpg

After installation of the Wireless LAN Service feature is complete, you can go back to Network Connections and enable the wireless controller (if it didn’t already become enabled). And now you can right-click on the connection and select Connect/Disconnect and configure settings for the wireless network to which you want to connect. 



wswl7.jpgSource: TechNet web site

Import and Export DataBase Oracle 10g


Here are steps to exoprt an existing Database in Oracle 10g.







1# First of all you must create USER with the same name ,password and privileges using SQL PLUS,to import DATABASE to.



TO EXPORT DB:



3# START then CMD then write: the following command:

EXP USERNEME/PASSOWRD@ORCL FILE=D:\FILENAME.DMP

then press ENTER key



Before importing dmp file you must :

-Create user with the same name and password

-set Arabic Character in DB  like here...



TO IMPORT DB:

2# Copy the FILENAME.DMP file to the new location you wish to import

3# START then CMD then write: the following command:

IMP USERNEME/PASSOWRD@ORCL FILE=D:\FILENAME.DMP Full=Y

then press ENTER key





Source: ArabOUG

Pick date from Calendar on oracle Forms 10g


To insert date in text items  using calendar.





Here is the method with an example.

1#Open Forms Builder

2# Create Manual Block then press F2 to create canvas for this Block

3# Add Text item --name it to Date_Text  --Set DataBase to No --Set Fomat Mask to dd/mm/yyyy

4# Add Push Button

5#Add Object Library stndrd20 then drag and drop Components to Object Group n Block

6#Add PL SQL  Library  Calendar90.pll  then drag and drop  Date_lov(Spec&Body) to Program Units

7#Click  Push Button then press F11 then choose When_Button_pressed then write the following trigger :

       date_lov.get_date(sysdate,'date_text');



enjoy...



Here is the FMB Form runs without problems  and Here is the Object Library  and PL/SQL library

التاريخ الهجري و الميلادي في اوراكل Gregorian & Hijri date in Oracle



السلام عليكم و رحمة الله 


هذه اول مواضيعي في مجموعة مستخدمي اوراكل العرب araboug اسال الله تعالى ان ينفعني و اياكم بها.





لا يخفى على احد اهمية استخدام التاريخ الهجري و لا يمكن الاعتماد كليه على معادلات اوراكل مثل :


-- لتحويل تاريخ اليوم الميلادي الى هجري  نستخدم


select to_char(sysdate,'dd/mm/yyyy','nls_calendar =''arabic hijrah''') from dual


حيث نجد اختلاف يوم او يومين فمثلا يوم 13 صفر 1437 


عند تحويله باستخدام المعادلة السابقة فالناتج يكون :


12/02/1438





و لكن الصحيح ان التاريخ الهجري المقابل للتاريخ الميلادي 13/11/2016 هو13/02/1438.





و افضل طريقة حسب ما اعرف و قرات هو الاحتفاظ بالتاريخ الهجري في قاعدة البيانات كما هو دون الاعتماد على معادلات اوراكل.





 الطريقة التي اعتمدت عليها :





 #  انشاء جدول 


Create table Ar_convert_date (convert_id number , Hj_date    varchar2(10) , G_date varchar2(10))





# عمل شيت اكسيل بنفس شكل الجدول و يبدا التاريخ الميلادي من 01/01/2015 و حتى 01/01/2050


# تحت Hj_date في الاكسيل نكتب معادلة تحويل الهجري و هي:


=text(G_date,"b2dd/mm/yyyy")


# في عمود جديد في الاكسيل نكتب معادلة التاريخ الميلاد و تكون :


=text(G_date,"dd/mm/yyyy")





#بعد ذلك نقوم بنسخ الثلاثة اعمدة : Convert_id , Hj_date , العمود الاخيرالرابع





# لصق القيم فقط Paste Values في شيت جديد





# بعد هذا يمكن استيراد البيانات مباشرة الى اوراكل باستخدام الTOAD و ان كنت افضل الاستيراد باستخدام جملة INSERT





# طبعا لن ارهقكم في كتابة جملة INSERT  عدد 12866 مرة و هذا مستحيل





# نقوم بكتابة جملة INSERT في الاكسيل كما هو مرفق ثم عمل نسخ و لصق للقيم فقط Paste Values 





#نسخ جملة INSERT الى متصفح Browser من خلال الدخول الى 



كما هو معروف و عمل Execute


و بهذا تم ادراج جميع التواريخ الميلادي (01/01/2015 حتى 01/01/2050) و الهجري (11/03/136 - 08/04/1472) في الفترة المحددة .








#الخطوة التالية تكون عمل Function او Procedure





باقي الملفات في الرابط التالي بسب ان حجمها تجاوز ال 1 ميجا.



Create Shortcut for your Oracle Application



After  I made shortcut to my ORACLE APP ; I wanted to create a shortcut for it.


Shortcut created successfully but it opens with Chrome [Default Browser].

Update: Here is how to make shortcut for my ORACLE Application.

1#navigate to C:\DevSuiteHome_1\forms then go to Forms Folder

2#Paste here all your project FMX files

3#navigate to C:\DevSuiteHome_1\tools\web\html Folder

4#Open file runform.HTML it looks like this:




5# Edit form as shown above , then press RUN FORM button.


6# A new page will open 


7# Copy the text in Address bar  and make shortcut for it, It's your project link.


enjoy....








It may bugs when trying to run shortcut So here is the way to change it to your oracle-friend browser...




Shortcut to Open a URL with Firefox when IE is Default


  1. Click Start

  2. Click Programs

  3. Click Mozilla Firefox

  4. Right-click the Mozilla Firefox icon and select Send To and then select Desktop (create shortcut)

  5. Right-click the new shortcut and select Properties

  6. On the Shortcut tab, click the Target field and move the cursor to the end of all the text

  7. Enter a single space and then enter your URL URL_FF 

  8. Click Apply

  9. Click the General tab

  10. In the text field at the top, give your shortcut an appropriate name

  11. Click OK


SOURCE: Shortcut to Open a URL With Your Non-Default Browser:

Current PC name in ORACLE 10g


A very simple code to get name of PC.



SELECT USERENV('TERMINAL') FROM DUAL;





Update : using the following code to get more info :

select    sys_context('USERENV','SESSIONID'),

   sys_context('USERENV','HOST'),

   sys_context('USERENV','IP_ADDRESS') from dual



Thanks to Arab OUG 

Configure and Call Report from a Form ORACLE 10g


Assalamu Alikom ,



After many attempts to run  a report from the current form in ORACLE 10g.



I found this is the easiest method.



Update #1 :

To display Arabic Characters without bugs  of Reports , follow these steps :

1# Go to Start Menu then type REGEDIT press Enter

2# Search For Reports_Path then add C:\Windows\Fonts (the Windows Font Folder)

note that there may be more than REPORTS_PATH in Registry , so edit all found.








3# Then Go to c:\DevSuiteHome_1\tools\common\  and replace file uifont.ali  with this one (download from here...)


Your are done...





Update #2 :Also to make The Default Direction right to Left :


1#Search  for NLS_LANG  in Registry and replace all values with :


ARABIC_UNITED ARAB EMIRATES.AR8MSWIN1256 







Update #3 :Also to avoid errors while displaying Arabic chracters and Errors like TIMES.TTF


you must add path like following:


C:\oracle\jdk\jre\bin\classic;C:\oracle\jdk\jre\bin;C:\oracle\jdk\jre\bin\client;C:\oracle\jlib;C:\oracle\bin;C:\oracle\jre\1.4.2\bin\client;C:\oracle\jre\1.4.2\bin;C:\oracle\product\10.2.0\db_1\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\









Update #4 :Create Report Server :


Open START menu then open RUN then write down :


rwserver server=empsrv







First we assume we have EMPLOYEES Report and  DEPARTMENTS Form.


EMPLOYEES Report  SQL:


Select last_name
, salary , department_id


From employees

Where department_id=:p_dept



--where :p_dept is  the user parameter in reports.



DEPARTMENTS Form SQL select * from employees


we create a button   and mark  Mouse Navigate :NO

and  when_button_pressed trigger:





web.show_document('http://nextpast-pc:8889/reports/rwservlet?server=empsrv&destype=cache&desformat=pdf&report=E:\Faramawy\cscourse\Areej_Script\Reports\emps.jsp&userid=hr/hr@orcl& p_dept ='||:department_id);





--where p_dept  is case-sensitive  as it was written in Reports.


--and  :department_id is the name of department_id column shown on Form.





#Before Running form you must run Reports Server as following :


Start--Run-- rwserver server=empsrv





-- where empsrv  is the name of Reports Server





enjoy...















Oracle 10g Arabic Character


When you enter Arabic data into  Data Base and retrieve it , you may face many errors like displaying Arabic fonts in " ???"  or any other unknown format.



Here's the way solve it :



 1. Run then  REGEDIT  then  Search for NLS_LANG then REPLACE any existing value with  AMERICAN_AMERICA.AR8MSWIN1256 #Update

2.CONTROL PANEL the   REGIONAL and LANGUAGE then ADMINISTRATIVE then CHANGE SYSTEM LOCAL to ARABIC then OK then reboot..



3.RUN then SQL PLUS then SYS/SYS as SYSDBA then OK then run the following commands:





SHUTDOWN IMMEDIATE;


 STARTUP MOUNT; 


 ALTER SYSTEM ENABLE RESTRICTED SESSION; 


 ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; 


 ALTER SYSTEM SET AQ_TM_PROCESSES=0; 


 ALTER DATABASE OPEN;


ALTER DATABASE CHARACTER SET internal_use AR8MSWIN1256 ;


ALTER DATABASE CHARACTER SET AR8MSWIN1256;


ALTER DATABASE NATIONAL CHARACTER SET AL32UTF8;


SHUTDOWN IMMEDIATE; -- or SHUTDOWN NORMAL;


STARTUP RESTRICT;


STARTUP;


STARTUP FORCE;





4. Now it should run correctly and display Arabic language without errors.





hoping it helps you.





enjoy...


Drop-Down List Change Depending on Secondary in Excel

This is a very simple way to make primary drop-down list that affects an other secondary drop-down list  in Excel:





Step 1
Click the "+" sign at the bottom of Excel 2013 to create a new sheet to use as a data source.
Step 2
Enter the values you need for the first drop-down list in column A on the new sheet. These values should begin with a letter or underscore and not contain spaces.
Step 3
Enter the respective secondary values in the next columns for each value entered in column A. For example, if you entered "Speakers," "Adapters" and "Cables" in cells A1 through A3, fill-in the appropriate values in columns B through D. Because you have three categories, you need three secondary columns, one as a secondary source list for each category. The secondary columns have no naming restrictions and can contain a different number of values.
Step 4
Click and drag your mouse across the data cells in column A to select them. Click "Formulas," "Define Names" and then "Define Names."
Step 5
Enter a descriptive name for the cells and click "OK." The name follows the same restrictions as described earlier. You can use varying capitalization in the name to help identify separate words, such as "ProductCategories," but you do not need to mirror this capitalization when later referencing the defined range.
Step 6
Define names for each secondary data list using the Define Names feature that was described earlier. The name for these lists should mirror the value of the main categories. In the previous example, cells B1 through B4 should be named "Speakers," cells C1 through C8 should be named "Adapters" and cells D1 through D5 should be named "Cables." These example ranges assume values are entered in each cell; you shouldn't include blank cells in the defined range.
Step 7
Click the original sheet tab and select the blank cell in which the primary drop-down list should appear.
Step 8
Click "Data," "Data Validation" and then "Data Validation" again.
Step 9
Click the "Allow" drop-down list and select "List."
Step 10
Enter "=ProductCategories" (without quotes here and throughout) in the Source field and click "OK." Replace "ProductCategories" with the name you defined for the primary source data. This creates the primary drop-down list that feeds the secondary list.
Step 11
Click the cell in which the secondary drop-down list should appear. Select "Data," "Data Validation," "Data Validation."
Step 12
Click the "Allow" drop-down list and select "List."
Step 13
Enter "=Indirect(A1)" and click "OK." Change "A1" to reflect the cell address where the primary drop-down list appears. If you receive an error, disregard it; it only appears because no option has been selected from the primary list yet. Once you select any option from the primary list, the secondary list changes to reflect the associated values.

Source :How to Make a Drop-Down List Change Depending on Selection in a Different List in Microsoft Excel 






Remove unused Layouts in Oracle Apex

 Tables used : APEX_XXXXXXX.WWV_FLOW_REPORT_LAYOUTS APEX_XXXXXXX.WWV_FLOW_SHARED_QUERIES use the following query to delete unused Layouts. ...