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. ...