الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

احتاج الى كود على 10g يشغل ال parameter list بتاعت التقرير

Featured Replies

بتاريخ:

السلام عليكم
عندي تقرير معمول على 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

بتاريخ:

السلام عليكم ورحمة الله وبركاته

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.

بتاريخ:
  • كاتب الموضوع

شكرا على الرد بس انا اول حاجة بعملها اني بشوف الكود بتاع الايرور وشفته واتأكدت اني عملته

بتاريخ:

السلام عليكم ورحمة الله

يوجد فكرة لحل اخر لهذه المشكلة وهى اعداد شاشة form جديدة لادخال متغيرات ومحددات التقرير ثم تحريك وتمرير بيانات هذه المتغيرات عند استدعاء برنامج التقرير

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

اعتقد ان هذا الحل سيحتاج جهد ووقت اكبر ... ان كان لديك نظام متكامل ... ولكن المزايا ستكون أفضل

بتاريخ:
  • كاتب الموضوع

انا عندي 200 شاشة مستحيل حقعد اعملهم كلهم خصوصا لو عندك حاجة حتتسلم

بتاريخ:

السلام عليكم ورحمة الله وبركاته

أخي الكريم

هل الفقرة التالية في الكود صحيحة




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;






جزاك الله كل خير

تم تعديل بواسطة jamal_rrkk

بتاريخ:
  • كاتب الموضوع

شكرا جزيلا لك وجاري التجربة

بتاريخ:
  • كاتب الموضوع

الكود للاسف لم يعمل
ياريت تبعتهولي مرفق مع شاشة وتقرير بسيطيين من اسكيما hr ولا scott
في انتظارك

بتاريخ:

السلام عليكم ورحمة الله وبركاته

اخي الكريم

راجع الرابط التالي


http://www.araboug.org/ib/index.php?showtopic=9719

و

http://www.araboug.org/ib/index.php?showtopic=19327


جزاك الله كل خير

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.