10/17/2012

How to Export data to excel sheet in oracle forms,Call Excel

السلام عليكم

كيف يمكنك عمل تصدير للبيانات من قاعده بيانات اوركال الى ملف اكسل من خلال الضغط على زر فى اوركال فورم 10 جى
كل ما عليك فعله هو انشاء program unit وتضع فيه الكود التالى ثم تستعدى اسم البروسيديور على الزر بأستخدام تريجر
WHEN-BUTTON-PRESSED
Code
PROCEDURE l_print_excel IS
APPLICATION OLE2.OBJ_TYPE;
WORKBOOKS OLE2.OBJ_TYPE;
WORKBOOK OLE2.OBJ_TYPE;
WORKSHEETS OLE2.OBJ_TYPE;
WORKSHEET OLE2.OBJ_TYPE;
Arglist OLE2.LIST_TYPE;
CELL OLE2.OBJ_TYPE;
r INTEGER;
c INTEGER;
file_name_cl VARCHAR2(32767);
user_cancel EXCEPTION;
Workfont OLE2.OBJ_TYPE;
WorkInterior OLE2.OBJ_TYPE;
 Cursor c1 is
Select 'EMP_CODE' COL1,'EMP_NAME' COL2
From dual;
 Cursor c2 is
Select emp_code,emp_name
From employee_master;
  --Inner Proc.
Procedure put_cell (Row_num number,
                    Col_num number,
                    put_value varchar2,
                    font_name varchar2 default null,
                    font_size binary_integer default null,
                    font_style varchar2 default null,/*here you can pass BOLD for
bold, ITALIC for italic etc*/
                    font_color binary_integer default null) is
Begin
    Arglist := OLE2.create_arglist;
    OLE2.add_arg(Arglist,row_num);
    OLE2.add_arg(Arglist,col_num); 
       cell := OLE2.get_obj_property(Worksheet,'Cells',Arglist);
    OLE2.destroy_arglist(Arglist);
    OLE2.set_property(cell,'Value',put_value);
        Workfont := OLE2.get_obj_property(cell,'Font');
    WorkInterior := OLE2.get_obj_property(cell,'Interior');
    If font_name is not null then
       OLE2.set_property(Workfont,'Name',font_name);
    End if;
    If font_size is not null then
       OLE2.set_property(Workfont,'Size',font_size);
    End if;
    If font_style is not null then              OLE2.set_property(Workfont,font_style,1);
    End if;
    If font_color is not null then              OLE2.set_property(Workfont,'ColorIndex',font_color);
    End if;
OLE2.release_obj(workinterior);
OLE2.release_obj(workfont);
OLE2.release_obj(cell);    End;  BEGIN    --Open Excel Application and make it visible
  APPLICATION := OLE2.CREATE_OBJ('Excel.Application');
  OLE2.SET_PROPERTY(APPLICATION,'Visible',True);
  -------------------------------------------------------------------------
  --Open a specified  file where i want to export data
/* Arglist := OLE2.create_arglist;
 OLE2.add_arg(Arglist,'C:\temp\test.xls');
  WORKBOOKS := OLE2.GET_OBJ_PROPERTY(APPLICATION, 'WORKBOOKS');
  WORKBOOK := OLE2.INVOKE_OBJ(WORKBOOKS, 'Open',Arglist);
  OLE2.destroy_arglist(Arglist); */
    /*open new file*/ 
  WORKBOOKS := OLE2.GET_OBJ_PROPERTY(APPLICATION, 'WORKBOOKS');
  WORKBOOK := OLE2.INVOKE_OBJ(WORKBOOKS, 'Add');
  ------------------------------------------------------------------------- 
 ---Initilize work sheet       Worksheet := OLE2.get_obj_property(Application,'Activesheet');   OLE2.set_property(Worksheet,'Name','MySheetNo.1');  
/*Print titles*/
  r := 1;
  put_Cell (r,1,'EMPLOYEE LIST OF THE COMPANY',font_style=>'BOLD');
   r := 2;
  For r1 in c1 loop
    put_Cell (r,1,r1.col1,font_style=>'BOLD');
    put_Cell (r,2,r1.col1,font_style=>'BOLD');
    r := r+1;--increment row
  END LOOP;
  /*Print Data*/
  For r2 in c2 loop  
    put_Cell (r,1,r2.emp_code);
    put_Cell (r,2,r2.emp_name);
    r := r+1;
  end loop;
    -- Save the Excel file created
  Arglist := OLE2.Create_Arglist;
  OLE2.Add_Arg(Arglist,'c:\temp\test.xls');
  OLE2.Invoke(workbook, 'Save', Arglist);
  OLE2.Destroy_Arglist(Arglist);
  -- release workbook
  OLE2.Release_Obj(worksheet);
  OLE2.Release_Obj(workbook);
  OLE2.Release_Obj(workbooks);
  OLE2.Release_Obj(application); 
End;

9/26/2012

How to Change Oracle Database Character Set to Arabic


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;
SHUTDOWN IMMEDIATE;
STARTUP;


Oracle Developer 
Ahmed Arafa


5/27/2012

How to change SQL prompt name

السلام عليكم

Code

Sql> SET SQLPROMPT "Arafa>"
Arafa>
Arafa>

Oracle Developer 
Ahmed Arafa 

5/16/2012

How to Add a CONSTRAINT , How to Deferring Constraint

السلام عليكم

 CONSTRAINT سنتحدث اليوم عن القيود 
فى البدايه ما هى القيود :هى عباره عن شرط او مجموعه من الشروط يتم تنفيذها على عمود معين ومن خلال هذه القيود يتم تنفيذ الشرط DML المطلوب على جمل ال 
تتكون القيود من خمس شروط
1-NOT NULL
وهى تضمن ان لا يحتوى العمود على قيمه فارغه
2-UNIQUE
وهى تضمن ان يحتوى عمود او مجموعه من الاعمده ان القيمه الموجوده بداخله فريده من نوعها وغير مكرره على مستوى الصفوف فى الجدول
3-PRIMARY KEY
NULL وهى تضمن ان لا يكون محتوى الصف مكرر على مستوى الصفوف داخل الجدول ولا تسمح بلقيم الفارغه 
4-FOREIGN KEY
وهى تسمح بوجود علاقه بين عمودين فى جدولين مختلفين
5- CHECK
وهى تقوم بعمل شرط معين على عمود معين ويجب ان يحقق الشرط

ملحوظه
SYS_Cn Format او تقوم اوركال بتسميتها باستخدام CONSTRAINT يمكنك تسميه القيود 
 فى مرحلتين المرحله الاولى عند بناء جدول جديد المرحله التانيه بعد بناء الجدولCONSTRAINT يمكنك بناء او انشاء القيود
data dictionary يمكنك اظهار القيود باستخدام ال  

 تحديد القيود Defining Constraint

5/13/2012

The SET UNUSED Option

السلام عليكم
 The SET UNUSED Optionسنتحدث اليوم عن
تمكنك هذه الخاصيه او الامر من تاجيل استخدام عمود معين او اكثر داخل الجدول
Code

ALTER TABLE <table_name>
SET UNUSED (<column_name>);
OR
ALTER TABLE <table_name>
SET UNUSED COLUMN <column_name>;
To DROP
ALTER TABLE <table_name>
DROP UNUSED COLUMNS;
Example

ALTER TABLE dept80SET UNUSED (last_name);
ALTER TABLE dept80DROP UNUSED COLUMNS;

  drop unused columns ملحوظه :عند استخدامك ل 
فهى تقوم بمسح لكل الاعمده الغير مستخدمه فى الجدول


Oracle Developer 
Ahmed Arafa