بتاريخ: 3 أبريل 200619 سنة كاتب الموضوع comment_65208 نريد بارميتر لاستدعاء بيانات لأحد العملاء وايضا نريد عرض بيانات خلال فترة معين تقديم بلاغ
بتاريخ: 3 أبريل 200619 سنة comment_65221 السلام عليكم أخي الكريم..ما فهمته من رسالتك هو أنك تريد إستدعاء report يخص record معين إنت واقف عنده في الفورم..مثلا فاتورة أو إيصال لفورم تريد أن تطبغها بشكل لائق (report).....إذا كان ما فهمته صحيح ..عليك أخي بالكود التالي: --CODE WHEN BUTTON PRESSED DECLARE PL_ID PARAMLIST; PL_NAME VARCHAR2(100) := 'TEMP'; BEGIN -- 1 TEST ON EXISTANCE PL_ID := GET_PARAMETER_LIST(PL_NAME); -- 2 DESTROY IF EXIST IF NOT ID_NULL(PL_ID) THEN DESTROY_PARAMETER_LIST(PL_ID); END IF; -- 3 CREATE FRESH LIST PL_ID := CREATE_PARAMETER_LIST(PL_NAME); -- 4 ADD PARAMETERS TO LIST ADD_PARAMETER(PL_ID, 'PARAMFORM' ,TEXT_PARAMETER, 'NO' ); ADD_PARAMETER(PL_ID, 'P_FROM' ,TEXT_PARAMETER, :BLOCK.ITEM ); ADD_PARAMETER(PL_ID, 'P_TO' ,TEXT_PARAMETER, :BLOCK.ITEM ); -- 5 RUN WITH PARAMETER RUN_PRODUCT( REPORTS, 'REPORT_NAME' , SYNCHRONOUS , RUNTIME, FILESYSTEM, PL_ID , NULL ); END; و مرفق مع الرد مثال توضيحي FORM_REP_PAR.zip تقديم بلاغ
بتاريخ: 4 أبريل 200619 سنة كاتب الموضوع comment_65299 بعد صباح الخيرالملف يوجد عند الفك ولا يصلح الاطلاع عليه تقديم بلاغ
بتاريخ: 4 أبريل 200619 سنة كاتب الموضوع comment_65302 هل يمكن ارسال الملف مرة آخرىبطريقة يصلح الاطلاع عليه تقديم بلاغ
بتاريخ: 4 أبريل 200619 سنة comment_65337 السلام عليكم أخي zizo_299...الملف مرفق مع الرد.. وإذا لم تستطع تحميله ارسلي لإيميلك و أنا أبعتهولك بس يا رب أكون فهمت إستفسارك صح.. FORM_REP_PAR.zip تقديم بلاغ
بتاريخ: 4 أبريل 200619 سنة كاتب الموضوع comment_65372 تم أجراء بعض التعديلات على الفورم وبعد ذلك تم تشغيل الفورم فظهر لي رسالةFRM-41842: Run_Product(REPORTS) is no longer supported, use Run_Report_Object instead policy_issue.zip hh.zip تقديم بلاغ
بتاريخ: 6 أبريل 200619 سنة كاتب الموضوع comment_65525 Run_Productقد سالت فى هذا الامر يقال ان هذا الامر يستخدم فى الاوراكل 6 i ,وليس اوراكل 10g تقديم بلاغ
بتاريخ: 8 أبريل 200619 سنة comment_65757 السلام عليكم..ممكن تجرب الكود ده.. مع إني مجربتهوش.. --WHEN-BUTTON-PRESSED TRIGGER DECLARE tmp_repid REPORT_OBJECT; -- This is to store the report object id. tmp_rep_status VARCHAR2(30); tmp_repname VARCHAR2(50) := 'R_16_F_USER_PARA_EMP'; ----- name of the RDF ( this should not be 'rep') tmp_handle VARCHAR2(100); -- This will be used as a return handle when the object id is fetched. tmp_plid ParamList; BEGIN tmp_plid := Get_Parameter_List('RepData'); IF NOT ID_NULL(tmp_plid) THEN DESTROY_PARAMETER_LIST(tmp_plid); END IF; tmp_plid := CREATE_PARAMETER_LIST ('RepData'); tmp_repid := FIND_REPORT_OBJECT(tmp_repname); -- Setting other runtime parameters. SET_REPORT_OBJECT_PROPERTY(tmp_repid, REPORT_FILENAME , tmp_repname||'.rdf'); SET_REPORT_OBJECT_PROPERTY(tmp_repid, REPORT_DESTYPE , FILE); SET_REPORT_OBJECT_PROPERTY(tmp_repid, REPORT_DESNAME , tmp_repname); SET_REPORT_OBJECT_PROPERTY(tmp_repid, REPORT_DESFORMAT, 'pdf'); ---- add the parameters here that you are passing to the report Add_Parameter(tmp_plid,'P_ALL_PARAMS',TEXT_PARAMETER, 'R_16_F_USER_PARA_EMP'); tmp_handle := RUN_REPORT_OBJECT(tmp_repid, tmp_plid); -- The following loop ensures that the file is not opened, before it is completely created. LOOP tmp_rep_status := REPORT_OBJECT_STATUS(tmp_handle); EXIT WHEN tmp_rep_status IN ('FINISHED', 'TERMINATED_WITH_ERROR'); END LOOP; IF tmp_rep_status = 'TERMINATED_WITH_ERROR' THEN message('Unable to Print Report.'); END IF; END; تقديم بلاغ
بتاريخ: 9 أبريل 200619 سنة كاتب الموضوع comment_65806 السلام عليكمقد قامت باجراء الكود ولكن ظهرت رسالة تقول الآتى :FRM-41219: Cannot find report: invalid ID. تقديم بلاغ
بتاريخ: 12 أبريل 200619 سنة comment_66156 for the message Cannot find report...you have to create a report item in the object navigator in Reports node .good luck تقديم بلاغ
بتاريخ: 13 أبريل 200619 سنة كاتب الموضوع comment_66275 السلام عليكميا جماعة لا يوجد أى حلا لهذه المشكلة تقديم بلاغ
بتاريخ: 13 أبريل 200619 سنة comment_66298 اليك هذا الكود من مشاركة سابقة بالمنتدى web.show_document('http://localhost:8888/reports/rwservlet? report=D:\PROJECT\REPORTS\invoice.jsp&destype=cache&desformat =HTMLCSS&userid=scott/tiger@ora&P_EMPNO='||:BLOCK2.EMPNO); 8888 هو الPort Number الخاص بجهازك D:\PROJECT\REPORTS\invoice.jsp هي الامتداد الذي خزنت فيه الريبورت desformat=HTMLCSS هي نوع الصيغة التي سيخرج فيها التقرير ممكن تكون PDF ايضا scott/tiger@ora هي جملة الاتصال بقاعدة البيانات P_EMPNO='||:BLOCK2.EMPNO هي عملية تمرير باراميتر من الفورم الى الريبورت اليك طريقة اخرى موضوع الدرس استدعاء تقرير (9i) من الفورم (9i) ============================= 1-اولاً تصميم التقرير:- __________ اولاً مستخدم المستخدم scott انشى تقرير للجدول emp واختر كل الحقول او جزء من الحقول ثانياً سمى التقرير بالاسم emp واحفظه فى الدليل c\reports ------------------------------------------------------------------------------------------- 2-ثانياً تصميم الفورم:- ___________ 1-انشى نموذج جديد 2-ضع به زر امر (bush button) 3-ضع الكود التالى على زر الامر (bush button) على التريقر when button pressed DECLARE repid REPORT_OBJECT; v_rep VARCHAR2(100); rep_status varchar2(20); BEGIN repid := find_report_object('REPORT9'); v_rep := RUN_REPORT_OBJECT(repid); rep_status := REPORT_OBJECT_STATUS(v_rep); if rep_status = 'FINISHED' then message('Report Completed'); copy_report_object_output(v_rep,'c:\REPORTS\EMP.pdf'); host('explorer c:\REPORTS\EMP.pdf'); else message('Error when running report.'); end if; END; ---------ملاحظة يمكنك استخدام صيغ اخرى بدلا عن الصيغة pdf مثلHTMLاوHTMLCSSاوHTMLCSSIE3اوRTFاوXML حسب الاصدارة الخاصة بمستعرض الانترنت --------------------------------------------------------------------------------- 3-ثالثاً صمم report node:- ------------------------------ 1-على الفورم انتقل الى نافذة object navigator 2-دبل كلك على reports 3-ضع على الخاصية filenameالمسار الاتى :- c:\reports\emp 4-على الخاصية name ضع الاتى:- REPORT9 5-ضع على الخاصية report distination type الاتى:- file 6-ضع على الخاصية report distination name الاتى:- pdf 7-ضع على الخاصية report server الاتى:- REPSERVER90 واترك بقية الخواص كما هى ------------------------------------------------------------ 4-تبقة المرحلة الاخيرة وهى لتثبيت الريبورت سيرفر report server ---------------------------------------------------------------------- على قائمة start >run ضع امر الاتى لتثبيت السيرفر الخاص بالتقارير:- rwserver -install repserver90 autostart=yes تم تعديل 13 أبريل 200619 سنة بواسطة Amgad تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.