بتاريخ: 20 ديسمبر 201114 سنة comment_218760 السلام عليكمعندي تقرير معمول على 6iوحولته الى تقرير بأستخدام 10g واستخدمت الكود التالي عشان انادي على التقرير declare repid REPORT_OBJECT; v_rep VARCHAR2(100); rep_status VARCHAR2(20); REP_NAME VARCHAR2(100); rep_path varchar2(100); list_id paramlist; p_list ParamList; v_reportsrvr VARCHAR2(50) := 'rep10g'; v_runformat vARCHAR2(50) := 'PDF';--HTML HTMLCSS PDF BEGIN :Global.M_USERNAME := get_application_property(USERNAME); :Global.M_SYSDATE := sysdate; list_ID := GET_PARAMETER_LIST('PARMFORM'); IF NOT ID_NULL(list_ID) THEN DESTROY_PARAMETER_LIST('PARMFORM'); END IF; list_ID := CREATE_PARAMETER_LIST('PARMFORM'); --ADD_PARAMETER(list_ID,'PARAMFORM', TEXT_PARAMETER, 'NO'); ADD_PARAMETER (list_id, 'paramform', text_parameter, 'yes'); ------------- repid := find_report_object('MOSTAFA'); SET_REPORT_OBJECT_PROPERTY(repid,REPORT_COMM_MODE,SYNCHRONOUS); SET_REPORT_OBJECT_PROPERTY(repid, REPORT_DESTYPE,CACHE); SET_REPORT_OBJECT_PROPERTY(repid, REPORT_SERVER, v_reportsrvr); SET_REPORT_OBJECT_PROPERTY(repid, REPORT_DESFORMAT, v_runformat); REP_PATH:='F:\Hossam\per_new\ARB\emp3.rep'; SET_REPORT_OBJECT_PROPERTY(repid, REPORT_FILENAME,REP_PATH); v_rep := RUN_REPORT_OBJECT(repid,list_ID); DESTROY_PARAMETER_LIST (list_id); WEB.SHOW_DOCUMENT('/reports/rwservlet/getjobid' || substr(v_rep,instr(v_rep,'_',-1)+1)||'?'||'server='||'rep10g','_blank'); END; والتقرير بيشتغل وكل حاجة لو انا ما ادتهوش باريميترات بس انا دلوقتي الموظفين عندي في الشركة اتعودوا على ان الباراميتر لست بتاعت التقرير بتطلعهم قبل ما يشغل التقرير وهوا بيختار منهادلوقتي اللست بتطلع بشكل غريب وفي حالة لو كان الحقل فيه list الكلام الموجود في ال list بيطلع تحت الحقل والصور الموجودة في المرفقات توضح اكترانا دلوقتي في اشد الحاجة الى كود على 10g يشغل ال parameter list بتاعت التقرير الاول وينادي على اساسها التقريرالرجاء الرد سريعاشكرا صورة رقم 1 : بتوضح شكل ال parameter list بتاعت التقريرصورة رقم 2 : بتوضح الكود بتاع الايرور لما بعمل رنصورة رقم 3 : بتوضح شكل البراميتر لست وانا حطيت الصورة احتياطاالكود ايضا مرفق لان بعض الاحيان بيكون الكود مكتوب بشكل عشوائي 1.rar ss.txt تقديم بلاغ
بتاريخ: 22 ديسمبر 201114 سنة comment_218826 السلام عليكم ورحمة الله وبركاتهREP-52007: Parameter form format error.Cause: The submitted parameter form has an invalid format. Action: Please check if the 'hidden_run_parameters' variable in the parameter form is null. تقديم بلاغ
بتاريخ: 22 ديسمبر 201114 سنة كاتب الموضوع comment_218834 شكرا على الرد بس انا اول حاجة بعملها اني بشوف الكود بتاع الايرور وشفته واتأكدت اني عملته تقديم بلاغ
بتاريخ: 22 ديسمبر 201114 سنة comment_218847 السلام عليكم ورحمة الله يوجد فكرة لحل اخر لهذه المشكلة وهى اعداد شاشة form جديدة لادخال متغيرات ومحددات التقرير ثم تحريك وتمرير بيانات هذه المتغيرات عند استدعاء برنامج التقرير وفكرة استخدام شاشة وسيطه ستعطى لك مرونه وسهولة فى الاختيار والمقارنات وتنفيذ شروط التحقق المطلوبه قبل استدعاء التقرير اعتقد ان هذا الحل سيحتاج جهد ووقت اكبر ... ان كان لديك نظام متكامل ... ولكن المزايا ستكون أفضل تقديم بلاغ
بتاريخ: 23 ديسمبر 201114 سنة كاتب الموضوع comment_218858 انا عندي 200 شاشة مستحيل حقعد اعملهم كلهم خصوصا لو عندك حاجة حتتسلم تقديم بلاغ
بتاريخ: 23 ديسمبر 201114 سنة comment_218872 السلام عليكم ورحمة الله وبركاته أخي الكريم هل الفقرة التالية في الكود صحيحة IF NOT ID_NULL(list_ID) THEN DESTROY_PARAMETER_LIST('PARMFORM'); END IF; ID_NULL Built-in Description : Returns a BOOLEAN value that indicates whether the object ID is available. Usage Notes Use ID_NULL when you want to check for the existence of an object created dynamically at runtime. For example, if a specific record group already exists, you will receive an error message if you try to create that record group. To perform this check, follow this general process: 1_ Use the appropriate FIND_ built-in to obtain the object ID. 2_ Use ID_NULL to check whether an object with that ID already exists. 3_ If the object does not exist, proceed to create it. f you are going to test for an object’s existence at various times (that is, more than once during a run), then you need to reissue the appropriate FIND_ every time -- once preceding each use of ID_NULL. Built-in: ADD_PARAMETER Example: Add a value parameter to an existing Parameter List 'TEMPDATA', then add a data parameter to the list to associate named query 'DEPT_QUERY' with record group 'DEPT_RECORDGROUP'. DECLARE pl_id ParamList; BEGIN pl_id := Get_Parameter_List('tempdata'); IF NOT Id_Null(pl_id) THEN Add_Parameter(pl_id,'number_of_copies',TEXT_PARAMETER,'19'); Add_Parameter(pl_id, 'dept_query', DATA_PARAMETER, 'dept_recordgroup'); END IF; END; لم أتمكن من تحليل الكود بشكل كاملحيث استخدم الكود التالي وهو يعمل بدون أي خطأ DECLARE repid REPORT_OBJECT; v_rep VARCHAR2(400); p_list paramlist ; BEGIN repid := find_report_object('AAA'); SET_REPORT_OBJECT_PROPERTY(repid,REPORT_FILENAME,getpath||'reports\'||:REP_ID); SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESFORMAT,'pdf'); p_list :=create_parameter_list('PLIST'); add_parameter(p_list,'P_NAM',text_parameter,:TITL); add_parameter(p_list,'P_YEAR',text_parameter,:YEAR1); add_parameter(p_list,'P1',text_parameter,:DAT1); add_parameter(p_list,'P2',text_parameter,:DAT2); add_parameter(p_list,'P_ACT',text_parameter,:ACT); add_parameter(p_list,'P_TEXT',text_parameter,:PTEXT); add_parameter(p_list,'P_NUM1',text_parameter,:NUM1); add_parameter(p_list,'P_NUM2',text_parameter,:NUM2); v_rep := RUN_REPORT_OBJECT(repid,p_list); WEB.SHOW_DOCUMENT('http://127.0.0.1:8889/reports/rwservlet/getjobid'||substr(v_rep,instr(v_rep,'_',-1)+1)||'?'||'server=repserver90','_blank'); destroy_parameter_list(p_list); END ; اخي الكريم جرب الكود التالي declare repid REPORT_OBJECT; v_rep VARCHAR2(100); rep_status VARCHAR2(20); REP_NAME VARCHAR2(100); rep_path varchar2(100); list_id paramlist; p_list ParamList; v_reportsrvr VARCHAR2(50) := 'rep10g'; v_runformat vARCHAR2(50) := 'PDF';--HTML HTMLCSS PDF BEGIN :Global.M_USERNAME := get_application_property(USERNAME); :Global.M_SYSDATE := sysdate; list_ID := GET_PARAMETER_LIST('PARMFORM'); IF ID_NULL(list_ID) THEN list_ID := CREATE_PARAMETER_LIST('PARMFORM'); ADD_PARAMETER(list_ID,'PARAMFORM',TEXT_PARAMETER,'YES'); repid := find_report_object('MOSTAFA'); SET_REPORT_OBJECT_PROPERTY(repid,REPORT_COMM_MODE,SYNCHRONOUS); SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESTYPE,CACHE); SET_REPORT_OBJECT_PROPERTY(repid,REPORT_SERVER,v_reportsrvr); SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESFORMAT,v_runformat); REP_PATH:='F:\Hossam\per_new\ARB\emp3.rep'; SET_REPORT_OBJECT_PROPERTY(repid,REPORT_FILENAME,REP_PATH); v_rep := RUN_REPORT_OBJECT(repid,list_ID); WEB.SHOW_DOCUMENT('/reports/rwservlet/getjobid' || substr(v_rep,instr(v_rep,'_',-1)+1)||'?'||'server='||'rep10g','_blank'); DESTROY_PARAMETER_LIST('PARMFORM'); Else [b]DESTROY_PARAMETER_LIST[/b][b]([/b][b]'PARMFORM'[/b][b]);[/b] End if ; END; declare repid REPORT_OBJECT; v_rep VARCHAR2(100); rep_status VARCHAR2(20); REP_NAME VARCHAR2(100); rep_path varchar2(100); list_id paramlist; p_list ParamList; v_reportsrvr VARCHAR2(50) := 'rep10g'; v_runformat vARCHAR2(50) := 'PDF';--HTML HTMLCSS PDF BEGIN :Global.M_USERNAME := get_application_property(USERNAME); :Global.M_SYSDATE := sysdate; list_ID := GET_PARAMETER_LIST('PARMFORM'); IF ID_NULL(list_ID) THEN list_ID := CREATE_PARAMETER_LIST('PARMFORM'); ADD_PARAMETER(list_ID,'PARAMFORM',TEXT_PARAMETER,'YES'); repid := find_report_object('MOSTAFA'); SET_REPORT_OBJECT_PROPERTY(repid,REPORT_COMM_MODE,SYNCHRONOUS); SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESTYPE,CACHE); SET_REPORT_OBJECT_PROPERTY(repid,REPORT_SERVER,v_reportsrvr); SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESFORMAT,v_runformat); REP_PATH:='F:\Hossam\per_new\ARB\emp3.rep'; SET_REPORT_OBJECT_PROPERTY(repid,REPORT_FILENAME,REP_PATH); v_rep := RUN_REPORT_OBJECT(repid,list_ID); WEB.SHOW_DOCUMENT('/reports/rwservlet/getjobid' || substr(v_rep,instr(v_rep,'_',-1)+1)||'?'||'server='||'rep10g','_blank'); DESTROY_PARAMETER_LIST('PARMFORM'); Else [b]DESTROY_PARAMETER_LIST[/b][b]([/b][b]'PARMFORM'[/b][b]);[/b] End if ; END; جزاك الله كل خير تم تعديل 23 ديسمبر 201114 سنة بواسطة jamal_rrkk تقديم بلاغ
بتاريخ: 25 ديسمبر 201114 سنة كاتب الموضوع comment_218947 الكود للاسف لم يعمل ياريت تبعتهولي مرفق مع شاشة وتقرير بسيطيين من اسكيما hr ولا scott في انتظارك تقديم بلاغ
بتاريخ: 26 ديسمبر 201114 سنة comment_218993 السلام عليكم ورحمة الله وبركاتهاخي الكريمراجع الرابط التاليhttp://www.araboug.org/ib/index.php?showtopic=9719وhttp://www.araboug.org/ib/index.php?showtopic=19327جزاك الله كل خير تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.