بتاريخ: 28 يوليو 200817 سنة comment_134285 السلام عليكماخوانيكيف يمكن تنفيذ أي تقرير سواء عن طرق زر أو من خلال قائمة بحيث يتم وضع الكود الخاص بتنفيذ التقرير داخل إجراء؟وكيف يمكن تمرير اسم التقرير الى هذا الاجراء؟في حين انني قمت بعمل ذلك ولكن تبقى المشكلة في كيفة التعامل مع اسم التقرير هل هو نص أو ماذا؟؟؟مع جزيل الشكر تقديم بلاغ
بتاريخ: 28 يوليو 200817 سنة comment_134290 declare l_par_list_id paramlist; l_report_obj_id report_object := find_report_object('PARAMETER'); l_rep_return varchar2(100); pl_name varchar2(40); l_destformat varchar2(10) default 'html'; begin PL_NAME := 'temp'; l_par_list_id := get_parameter_list(pl_name); if not id_null (l_par_list_id) then destroy_parameter_list(l_par_list_id); end if; l_par_list_id := create_parameter_list(pl_name); Add_Parameter(l_par_list_id,'DN',TEXT_PARAMETER,:DEPT.DEPTNO); set_report_object_property(l_reporT_obj_id,report_execution_mode,runtime); set_report_object_property(l_reporT_obj_id,report_comm_mode,synchronous); set_report_object_property(l_reporT_obj_id,report_filename,'c:\devforms\PARAMETER.rep'); set_report_object_property(l_reporT_obj_id,report_desformat,l_destformat); set_report_object_property(l_reporT_obj_id,report_server,'otechserver'); set_report_object_property(l_reporT_obj_id,report_desname,'c:\devforms\PARAMETER.html'); l_rep_return := run_report_object(l_report_obj_id,l_par_list_id); copy_report_object_output(l_rep_return,'C:\ora9iDs\forms90\java\PARAMETER.html'); web.show_document('http://otech-laptop:8889/forms90/java/PARAMETER.html','_blank'); end; تقديم بلاغ
بتاريخ: 28 يوليو 200817 سنة كاتب الموضوع comment_134294 أشكرك جزيل الشكر هل هناك طريقة لكي يكون هذا الكود داخل اجراء بحيث يكون صالح لمنادة أي تقرير من داخل اي فورم أو من خلال زر أمر؟؟وأين يمكن وضع هذا الاجراء؟وعند ارسال parameter كاسم تقرير مثلا يتم التعامل معه كاسم تقرير او نص؟ تقديم بلاغ
بتاريخ: 28 يوليو 200817 سنة كاتب الموضوع comment_134297 أنا استخدم الكود التالي[يسار][/يسار] 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://<YourServerName:8888/reports/rwservlet/getjobid'|| substr(v_rep,instr(v_rep,'_',-1)+1)||'?'||'server=repserver90','_blank'); ELSE message('Error when running report'); END IF; END تقديم بلاغ
بتاريخ: 28 يوليو 200817 سنة comment_134311 اخي العزيزانت فقط طبق الكود اللي بعتو الك مع تغيير بعض الاشياء البسيطة فيهبالتوفيق تقديم بلاغ
بتاريخ: 28 يوليو 200817 سنة كاتب الموضوع comment_134313 اوك شكرا كثير الك وسامحني انا بجربه وبردلك خبر مع جزيل الشكر والله يوفقك تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.