الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

عمل run للتقارير من خلال forms9i

مغلق
بدأه النبع في 4 فبراير 2003 · 13 رد · 2,320 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

تحياتي للجميع

اريد ان استفسر عن كيفية عمل run من forms9i لـ report تم بنائه من repor bulder t9i

علما انه في السابق عندما كنا نعمل run في form6 نستخدم

run_product

نجد انه يطلب منا في forms9i استعمال run_object_report...

فما هي الخطوات الصحيحه المتبعه لهذا الاصدار......؟

وسلامتكم

;)

#2

للرفع

#3

السلام عليكم

اخي النبع

قم بتطيق المثال التالي :

This example is based on DEPT and EMP tables from SCOTT schema.

You should create a new Reports Server Service for this example.

1) Create a simple report based on table EMP with a user parameter:

select * from emp   where emp.deptno = :pdeptno;

2) Open up the Property Inspector of user parameter PDEPTNO and specify

the following:

Name: pdeptno

Datatype: Number

Width: 20

Initial value: 20 (It can be any valid value)

3) Compile and save the report. Try to run it using 'Run Paper Layout' icon

to make sure it works properly.

4) Create a simple form based on table DEPT:

select * from dept;

5) Create a new reports server service as following (in Command Prompt):

rwserver -install repserver90 autostart=yes

6) Open Property Palette for Reports object in the Forms Object Navigator

and enter the following:

Name:

EMP

Filename: C:reportsemp.rdf

/*

this path is included into REPORTS_PATH environment variable*/

Report Destination Type:

CACHE

Report Destination Format:

HTML

Report Server:

repserver90

7) Open Layout Editor and create a push button 'Run-Report'.

8) Create a WHEN-BUTTON-PRESSED trigger with the following code:

test_report;

9) Create a new procedure that you can call from the trigger as follows:

PROCEDURE TEST_REPORT IS   repid      
REPORT_OBJECT;    v_rep      VARCHAR2(100);
rep_status VARCHAR2(20);  
BEGIN    
repid := find_report_object('report5');   
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_EXECUTION_MODE,BATCH);       

SET_REPORT_OBJECT_PROPERTY(repid,REPORT_COMM_MODE,SYNCHRONOUS);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESTYPE,CACHE);   
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESFORMAT,'html');   
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_SERVER,'repserver90');   

SET_REPORT_OBJECT_PROPERTY(repid,REPORT_OTHER,'paramform=no pdeptno='||:dept.deptno);   
v_rep := RUN_REPORT_OBJECT(repid);    
rep_status := REPORT_OBJECT_STATUS(v_rep);   
WHILE rep_status in ('RUNNING','OPENING_REPORT','ENQUEUED')     
LOOP       
rep_status := report_object_status(v_rep);     
END LOOP;   
IF rep_status = 'FINISHED' THEN     /*Display report in the browser*/     
WEB.SHOW_DOCUMENT('http://
#4

تحياتي للجميع

شكرا لك يا اخ باعقيل

تراك ماقصرت يالطيب.... الله يزيدك علم

المثال اشتغل عندي بالشكل الصحيح

لكن عندي استفسار

هل هذه الطريقه الوحيده لعمل run للتقرير ام انه يوجد طريقه اخرى ؟

وجزاك الله خير

;)

:D

(f)

#5

اخواني

بعد تنفيذ الكود السابق يعمل التقرير بصورة ممتازة ولكن هناك عيب كبير اسم المستخدم وكلمة السر واسم السيرفس يظهر في الـURL وهذا يعتبر ثغرة كبيرة في الامن .

username/password@service_name

كيف نستطيع تنفيذ التقرير دون إظهار تلك المعلومات

#6

السلام عليكم

اخي النبع واخي بن طالب

اسف جدا علي عدم تمكني من الرد علي استفساراتكم لاني مشغول جدا

وان شاء الله قريب ساعود للمنتدي بعد انتهاء الامتحانات .

عمر باعقيل

كندا - مونتريال

baaqeel@msn.com

#7

نحن بإنتظارك ياعمر ونتنى لك التوفيق في امتحاناتك

#8

قمت بتنفيذ الخطوات السابقة الا ان هناك مشكلة في الخطوة الخامسة

5) Create a new reports server service as following (in Command Prompt):

rwserver -install repserver90 autostart=yes

فقد قمت بتنفيذ الامر في ال command prompt وظهرت رسالة خطأ فما الحل

#9

إخواني

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

unable to connect to repserver90

علما بأنني أعمل على ويندوز إكس بي.

وبالمناسبة عندما عملت السيرفيس طلب مني أن أذهب إلى لوحة التحكم لتشغيل السيرفيس ولكني لم أجدها.

فهل لذلك من حل؟

وسكرا

#10

الخطوة رقم 5 صحيحة المفروض ان يكون هناك قيمة بأسم الريبورت سيرفر الرجاء التأكد من وجود الـservice

قد يكون كل شيء صحيح ولا تظهر الـService صارت معي ولم اجد لها حلا:'(

جرب هذا الكود في قائمة RUN

rwserver server=repserver90

الى اللقاء

#11

يا ريت حد يوضحلى الامر ده لان بيطلعلى رساله خطأ عند السطر ده ومش عارف ايه الحل

WEB.SHOW_DOCUMENT('http://

1)||'?'||'server=repserver90','_blank');

واين اضع اسم الريبورت هذا الامر?

#12

السلام عليكم

حاولت مامشت معي تمام

لاني المرحلة رقم 5

5 - ) Create a new reports server service as following (in Command Prompt):

rwserver -install repserver90 autostart=yes

عن وضعت reports server service جديد لكن wserver -install repserver90 autostart=yes

اين اضعها اذا كانت في Command Prompt فاين اجده

وبالنسبة

rwserver server=repserver90 في اي قائمة RUN

ارجو المساعدة

#13

جرب الطريقة التالية للخطوة رقم 5

وانت داخل SQL

اكتب الأمر HOST

ينتقل بك الي ال dos prompt

اكتب الكود كاملا

rwserver - install repserver90 autostart=yes

سينفذ ان شاء الله .. وستتخطي الخطوة رقم 5

#14

جزاكم الله كل خير يا اخواني على مشاركاتكم

شكرا للأخ عقيل وربنا يوفقه واحنا منتظرين نبارك له التوفيق بامتحاناته

وشكر لبن طالب .

ولجميع الزملاء

وعندي استفسار يا أعزائي

التقارير تنفذ بدون جداول ... كيف أعمل التقارير داخل الجداول

هذا الموضوع مغلق.

مواضيع مشابهة