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

ربط التقرير مع الفورم في oracle 10g

مغلق
بدأه الزهوري في 4 يونيو 2006 · 3 رد · 7,985 مشاهدة · في قسم Oracle Forms
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أشكركم على هذا المنتدى الرائع وأود السؤال عن كيفية ربط تقرير تم عمله على Report 10g من خلال زر على نموذج في Form Builder 10g وإظهار التقرير بعدة أشكال HTML,PDF وإظهاره أيضاً من خلال نفس شاشة التقارير التي كانت تظهر في Report 6i لأن جملة Run_Product ما عادت مستخدمة في Oracle 10g

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

#2

السلام عليكم

انا دائما استخدم هذه الطريقة ل الاصدار 10G

DECLARE 
  pl_id   ParamList; 
  pl_name VARCHAR2(10) := 'tempdata';
  RUN_REP VARCHAR2(100);
  REPID REPORT_OBJECT;
BEGIN 
  set_application_property(CURSOR_STYLE, 'BUSY');
  pl_id := Get_Parameter_List(pl_name); 

  IF Id_Null(pl_id) THEN 
	 pl_id := Create_Parameter_List(pl_name); 
	 REPID:=FIND_REPORT_OBJECT('REPORT50');

	 SET_REPORT_OBJECT_PROPERTY(REPID,REPORT_DESTYPE,CACHE);
	 SET_REPORT_OBJECT_PROPERTY(REPID,REPORT_server,'repservcpis');
	 SET_REPORT_OBJECT_PROPERTY(REPID,REPORT_DESformat,'HTMLCSS');
	 SET_REPORT_OBJECT_PROPERTY(REPID,REPORT_OTHER,'PARAMFORM=NO');
	 SET_REPORT_OBJECT_PROPERTY(REPID,REPORT_COMM_MODE,SYNCHRONOUS);


	 Add_Parameter(pl_id, 'P_ID',   TEXT_PARAMETER,:EXPENSES_LTRS.ID);
	 RUN_REP:=Run_REPORT_OBJECT(REPID, pl_id); 


  END IF;
	set_application_property(CURSOR_STYLE, 'DEFAULT');
	WEB.SHOW_DOCUMENT('http://ruh0120236200so:8889/reports/rwservlet/getjobid'||substr(RUN_REP,instr(RUN_rep,'_',-1)+1)||'?server=repservcpis');
 Destroy_Parameter_List(pl_id); 
 END;

وبالتوفيق

#3

:rolleyes: web.show_document('http://127.0.0.1:8889/reports/rwservlet?report=d:\report\ac_entry.rep&userid=mu/mu@databasename&desformat=pdf&destype=cache&p_r='||:AC_ENTRY.ENTRY_NO);

حيث d:\ اسم التقرير والإمتداد

userid= اسم المستخدم وكلمة السر واسم قاعدة البيانات

desformat نوع الملف الذي سوف يظهر عليه التقرير

:AC_ENTRY.ENTRY_NO وهو الباراميتر المرسل من الفورم

}}}}}

#4

السلام عليكم

بس بغيت استفسر اشلون اقدر اطلع اسم السيرفر عشان اقدر احطه في هاذي الكومند

SET_REPORT_OBJECT_PROPERTY(REPID,REPORT_server,'؟؟؟؟؟؟؟');

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

وانا استخدم وحطيت الكود داخل الفورم عشان افتح ريبورت منها بس دوم يطلع لي ايرور انه orcale 10g

FRM-41219 cannot find report: Invalid ID

وهاذا هو الكود

DECLARE

RUN_REP VARCHAR2(100);

REPID REPORT_OBJECT;

rep_status varchar2 (20);

BEGIN

set_application_property(CURSOR_STYLE, 'BUSY');

REPID:=FIND_REPORT_OBJECT('LREPORT');

SET_REPORT_OBJECT_PROPERTY(REPID,REPORT_DESTYPE,CACHE);

SET_REPORT_OBJECT_PROPERTY(REPID,REPORT_server,'?????????????');

SET_REPORT_OBJECT_PROPERTY(REPID,REPORT_DESformat,'HTMLCSS');

SET_REPORT_OBJECT_PROPERTY(REPID,REPORT_OTHER,'PARAMFORM=NO');

SET_REPORT_OBJECT_PROPERTY(REPID,REPORT_COMM_MODE,SYNCHRONOUS);

RUN_REP:=Run_REPORT_OBJECT(REPID);

rep_status := report_object_status (RUN_REP);

if rep_status = 'FINISHED' then

message ('Report Completed');

copy_report_object_output (RUN_REP, 'C:\Users\Documents\local.pdf');

host ('netscape C:\Users\Documents\local.pdf');

else

message ('Error when running report.');

end if;

set_application_property(CURSOR_STYLE, 'DEFAULT');

WEB.SHOW_DOCUMENT('http://ruh0120236200so:8889/reports/rwservlet/getjobid'||substr(RUN_REP,instr(RUN_rep,'_',-1)+1)||'?server=???????????????');

END;

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

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