PDA

View Full Version : سوال: چگونگي فراخواني اراكل ريپورت از اراكل فرم



hmm
سه شنبه 25 اسفند 1388, 15:03 عصر
سلام
ظاهرا دستورش run_report_object هست...
ولي براي من خطا ميده كه فايل گزارش رو پيدا نميكنه.
حتي با find_report_object هم خواستم كار كنم كه اونهم مقدار null رو برميگردونه
گزارش ايجاد شده هم تو همون مسيري هست كه فرمها قرار دارند

كسي sample اي نداره ؟
ممنون

rara_diamond
دوشنبه 22 شهریور 1389, 15:04 عصر
سلام
منم این مشکل را دارم.
ممنون میشم اگه به جواب رسیدید منو راهنمایی کنید.
roze_sorati6@yahoo.com

mcse1234
دوشنبه 02 اسفند 1389, 14:06 عصر
با سلام
اگر شما از نسخه 6i استفاده کنید به راحتی می تونید با استفاده از دستور Run_report_object و یا Run_productبرای فراخوانی گزارش در فرم بهره بگیرید.اما در نسخه Oracle Developer Suite‌ نسخه 10g فراخوانی گزارش متفاوت هست.
برای شروع شما باید یک Application Server Report Services داشته باشی که نیاز داره به نصب Oracle Application Server..
اما یه راه ساده و بی دردسر هم هست که راه اندازی یه Report Server مجازیه!
1-وارد پوشه محل نصب Developer Suite بشید
2-در پوشه BIN وارد بشد "مثلاً C:\DevSuiteHome1\BIN
3-فایلی به نام rwserver.exe می بینید. ما باید از این فایل برای ساخت سرور مجازی گزارشهامون استفاده کنیم
4-یه جای خالی توی پوشه BIN راست کلیک کنید و یه فایل Text بسازید.
5-توی اون فایل این دستور رو بنویسید

.\rwserver.exe server=test_server1 batch=no
6-به جای .\ می تونید از مسیر کل استفاده کنید مثلاً C:\DevSuiteHome1\BIN
7-حالا فایل متنی رو با فرمت .BAT به صورت به batch فایل در همین فولدر BIN ذخیره و اجرا کنید.
مشاهده می کنید که یه Report Server برای شما ساخته شده با نام دلخواهی که اینجا من test_server1 نام گذاریش کردم.
حالا کافیه این پنجره Java باز شده رو به حال خودش رها کنید (اگه ببندیدش Report Server مجازی غیر قابل استفاده می شه)

حالا وقت کد نویسی برای Oracle Forms Builder هست تا گزارش رو فراخوانی کنه.
تو قسمت بعدی کد اون رو براتون می نویسم

mcse1234
دوشنبه 02 اسفند 1389, 14:41 عصر
سلام
حالا برای فراخوانی گزارش از فرم کافیه مراحل زیر رو دنبال کنید
1- توی فرم یه Push_button قرار بدید
2- در قسمت Report در Oracle Forms Builder از منوی درختی سمت چپ (Object Navigator) روی Create New..
(منظور همون دکمه + سبز رنگ هست) کلیک کنید و در کادر ظاهر شده گزارش موجود رو انتخاب یا براساس نیاز ایجاد کنید و با نام دلخواهی ذخیره کنید.
3-دقت کنید اگر در رجیستری ویندوز مسیر ذخیره شدن گزارشهاتون رو در قسمت Report_path مشخص نکردید باید در فراخوانی گزارش مسیر کامل رو ذکر کنید.
4-حالا کافیه کد زیر رو در رویداد when_button_pressed دکمه خودتون بنویسید:


Declare
repid report_object;
v_rep varchar2(100);
vjob_id varchar2(100);
rep_status varchar2 (100);
Begin
repid := find_report_object ('report6');
v_rep:=run_report_object (repid);
rep_status:=report_object_status(v_rep);
vjob_id:=substr(v_rep,length ('test_server1')+2,length (v_rep));
while rep_status in ('RUNING','OPENING_REPORT','ENQUEUED',NULL)
LOOP
REP_STATUS :=REPORT_OBJECT_STATUS (V_REP);
END LOOP;
WEB.SHOW_DOCUMENT('/REPORTS/RWSERVLET/GETJOBID'||VJOB_ID||'?SERVER=TEST_SERVER1','_BLANK ');
END;


گزارش شما به راحتی اجرا خواهد شد
امیدوارم که مورد استفاده واقع شده باشه

hooman54
یک شنبه 18 تیر 1391, 12:07 عصر
سلام. من این کارها رو انجام دادم. ریپورتم به تنهایی اجرا میشه ولی هنوز نتونستم از توی فرم اجراش کنم و این error رو بهم میده
Error 404--Not Found

From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:

10.4.5 404 Not Found

کسی میتونه کمک کنه؟!