إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
* - - - - 1 صوت

Call Jasper Report From Adf


17 رد (ردود) على هذا الموضوع

#1 mohd_sayed_mohd

mohd_sayed_mohd

    عضو نشط

  • الأعضــاء
  • 251 مشاركة
  • الاسم الأول:Mohamed
  • اسم العائلة:Elsayed
  • البـلـد: Country Flag

تاريخ المشاركة 20 August 2011 - 09:39 AM

السلام عليكم ورحمة الله وبركاته
هل يمكن عمل مثال بسيط لاستدعاء تقرير Jasper Report باستخدام ADF مع تمرير Parameter
وجزاكم الله خيرا
لا إله إلا الله ، محمد رسول الله

#2 sd4it

sd4it

    عضو مميز

  • الأعضــاء
  • 6,996 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 21 August 2011 - 11:44 PM

اكتب الكود التالي مع تبديل النص الأحمر بما يتناسب مع الكود الذي تكتبه

Map parameters = new HashMap();
parameters.put("param name", "param value");

ExternalContext ectx = FacesContext.getCurrentInstance().getExternalContext();
HttpServletResponse response = (HttpServletResponse) ectx.getResponse();
ServletOutputStream out = response.getOutputStream();
response.setHeader("Cache-Control", "max-age=0");
response.setContentType("application/pdf");
ServletContext context = (ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext();
InputStream input = context.getResourceAsStream("repPath");
JasperDesign design = JRXmlLoader.load(input);
JasperReport report = JasperCompileManager.compileReport(design);
report.setWhenNoDataType(report.WHEN_NO_DATA_TYPE_ALL_SECTIONS_NO_DETAIL);
Connection conn = getConnection();
JasperPrint print = JasperFillManager.fillReport(report, param, conn);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
JasperExportManager.exportReportToPdfStream(print, byteArrayOutputStream);
out.write(byteArrayOutputStream.toByteArray());
out.flush();
out.close();
FacesContext.getCurrentInstance().responseComplete();

مهندس / مصطفى ماجد
المدير الفني بشركة المبرمج الذكي
mostafa.maged@sd4it.com
خبراء في Oracle Fusion Middleware ومتخصصون في التحويل من أوراكل فورم إلى ADF وتطوير الأنظمة الجديدة بتقنية ADF
http://www.sd4it.com

https://www.youtube.com/c/sd4it

 


#3 mohd_sayed_mohd

mohd_sayed_mohd

    عضو نشط

  • الأعضــاء
  • 251 مشاركة
  • الاسم الأول:Mohamed
  • اسم العائلة:Elsayed
  • البـلـد: Country Flag

تاريخ المشاركة 22 August 2011 - 04:59 AM

اكتب الكود التالي مع تبديل النص الأحمر بما يتناسب مع الكود الذي تكتبه

Map parameters = new HashMap();
parameters.put("param name", "param value");

ExternalContext ectx = FacesContext.getCurrentInstance().getExternalContext();
HttpServletResponse response = (HttpServletResponse) ectx.getResponse();
ServletOutputStream out = response.getOutputStream();
response.setHeader("Cache-Control", "max-age=0");
response.setContentType("application/pdf");
ServletContext context = (ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext();
InputStream input = context.getResourceAsStream("repPath");
JasperDesign design = JRXmlLoader.load(input);
JasperReport report = JasperCompileManager.compileReport(design);
report.setWhenNoDataType(report.WHEN_NO_DATA_TYPE_ALL_SECTIONS_NO_DETAIL);
Connection conn = getConnection();
JasperPrint print = JasperFillManager.fillReport(report, param, conn);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
JasperExportManager.exportReportToPdfStream(print, byteArrayOutputStream);
out.write(byteArrayOutputStream.toByteArray());
out.flush();
out.close();
FacesContext.getCurrentInstance().responseComplete();


السلام عليكم ورحمة الله وبركاته
أولا جزاكم الله خيرا على سركة ردك
ثانيا قمت باضافة أمر لطباعة تقرير مثال وقبل أن أستبدل ما هو مكتوب باللون الأحمر ظهر لي أخطاء في الترجمة ربما يكون مطلوب عمل
import أو أي شئ قبل كتابة هذا الكود
وهذه هي الأسطر التي ظهر فيها أخطاء ترجمة

Map parameters = new HashMap();
parameters.put("param name", "param value");

JasperDesign design = JRXmlLoader.load(input);
JasperReport report = JasperCompileManager.compileReport(design);
report.setWhenNoDataType(report.WHEN_NO_DATA_TYPE_ALL_SECTIONS_NO_DETAIL);
Connection conn = getConnection();
JasperPrint print = JasperFillManager.fillReport(report, param, conn);
JasperExportManager.exportReportToPdfStream(print, byteArrayOutputStream);
لا إله إلا الله ، محمد رسول الله

#4 mohd_sayed_mohd

mohd_sayed_mohd

    عضو نشط

  • الأعضــاء
  • 251 مشاركة
  • الاسم الأول:Mohamed
  • اسم العائلة:Elsayed
  • البـلـد: Country Flag

تاريخ المشاركة 22 August 2011 - 05:02 AM

السلام عليكم
مرفق صورة من أخطاء الترجمة

ملفات مرفقة

  • ملف مرفق  jasper.jpg   145.89كيلو   63 عدد مرات التحميل

لا إله إلا الله ، محمد رسول الله

#5 mohd_sayed_mohd

mohd_sayed_mohd

    عضو نشط

  • الأعضــاء
  • 251 مشاركة
  • الاسم الأول:Mohamed
  • اسم العائلة:Elsayed
  • البـلـد: Country Flag

تاريخ المشاركة 22 August 2011 - 09:28 AM

السلام عليكم
بعد محاولات كثيرة للتخلص من أخطاء الترجمة فقط حتى أبدأ في التجربة تم اختصار الأخطاء في السطرين

Map parameters = new HashMap();

JasperPrint print = JasperFillManager.fillReport(report, parameters, conn);
لا إله إلا الله ، محمد رسول الله

#6 sd4it

sd4it

    عضو مميز

  • الأعضــاء
  • 6,996 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 22 August 2011 - 12:59 PM

لا بد من إضافة مكتبات Jasper وعمل import مثله مثل أي كود جافا عادي

مهندس / مصطفى ماجد
المدير الفني بشركة المبرمج الذكي
mostafa.maged@sd4it.com
خبراء في Oracle Fusion Middleware ومتخصصون في التحويل من أوراكل فورم إلى ADF وتطوير الأنظمة الجديدة بتقنية ADF
http://www.sd4it.com

https://www.youtube.com/c/sd4it

 


#7 mohd_sayed_mohd

mohd_sayed_mohd

    عضو نشط

  • الأعضــاء
  • 251 مشاركة
  • الاسم الأول:Mohamed
  • اسم العائلة:Elsayed
  • البـلـد: Country Flag

تاريخ المشاركة 22 August 2011 - 03:17 PM

السلام عليكم ورحمة الله وبركاته
عملت Import للعديد من مكتبات ال Jasper وكتبت الكود التالي

public String call_jasper_report1_action() throws IOException, JRException, NamingException, SQLException,
ClassNotFoundException {
//Map parameters = new Map();
//Map parameters = new HashMap();
//parameters.put("param name", "param value");
ExternalContext ectx = FacesContext.getCurrentInstance().getExternalContext();
HttpServletResponse response = (HttpServletResponse) ectx.getResponse();
ServletOutputStream out = response.getOutputStream();
response.setHeader("Cache-Control", "max-age=0");
response.setContentType("application/pdf");
ServletContext context = (ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext();
InputStream input = context.getResourceAsStream("C:/myireport/report1.jrxml");
JasperDesign design = JRXmlLoader.load(input);
JasperReport report = JasperCompileManager.compileReport(design);
report.setWhenNoDataType(report.WHEN_NO_DATA_TYPE_ALL_SECTIONS_NO_DETAIL);

InitialContext initialContext = new InitialContext();
//DataSource ds = (DataSource)initialContext.lookup("acc_conn"); // get from your application module configuration
DataSource ds = (DataSource)initialContext.lookup("java:comp/env/jdbc/myaccounts"); // get from your application module configuration
//DataSource ds = (DataSource)initialContext.lookup("java:comp/env/jdbc/acc_conn"); // get from your application module configuration
Connection conn = (Connection)ds.getConnection();
//Connection conn = getConnection2();

// Connection conn = getConnection();
//JasperPrint print = JasperFillManager.fillReport(report, parameters, conn);

JasperPrint print = JasperFillManager.fillReport(report, null, conn);

ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
JasperExportManager.exportReportToPdfStream(print, byteArrayOutputStream);
out.write(byteArrayOutputStream.toByteArray());
out.flush();
out.close();
FacesContext.getCurrentInstance().responseComplete();

return null;
}
لكن بالنسبة لل Parameters عملت لها ايقاف علشان السطر التالي فيه Error
Map parameters = new HashMap();

وعند التشغيل يظهر الخطأ التالي
<pre>javax.faces.el.EvaluationException: net.sf.jasperreports.engine.JRException: org.xml.sax.SAXParseException: : XML-20220: (خطأ فادح) InputSource غير صالح. at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:51) at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102) at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._invokeApplication(LifecycleImpl.java:965) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:346) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:204) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:173) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:121) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468) at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:293) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:199) at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111) at java.security.AccessController.doPrivileged(Native Method) at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313) at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413) at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94) at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161) at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)Caused by: net.sf.jasperreports.engine.JRException: org.xml.sax.SAXParseException: : XML-20220: (خطأ فادح) InputSource غير صالح. at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:247) at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:230) at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:218) at acc3.view.backing.Frmmain_menu1.call_jasper_report1_action(Frmmain_menu1.java:435) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.el.parser.AstValue.invoke(Unknown Source) at com.sun.el.MethodExpressionImpl.invoke(Unknown Source) at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:46) ... 44 moreCaused by: org.xml.sax.SAXParseException: : XML-20220: (خطأ فادح) InputSource غير صالح. at oracle.xml.parser.v2.XMLError.flushErrorHandler(XMLError.java:422) at oracle.xml.parser.v2.XMLError.flushErrors1(XMLError.java:287) at oracle.xml.parser.v2.XMLReader.pushXMLReader(XMLReader.java:266) at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:222) at weblogic.xml.jaxp.RegistryXMLReader.parse(RegistryXMLReader.java:173) at org.apache.commons.digester.Digester.parse(Digester.java:1745) at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:243) ... 54 more</pre>
</

وبصراحة مش عارف إيه السبب
لا إله إلا الله ، محمد رسول الله

#8 sd4it

sd4it

    عضو مميز

  • الأعضــاء
  • 6,996 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 22 August 2011 - 10:00 PM

الخطأ هنا
InputStream input = context.getResourceAsStream("C:/myireport/report1.jrxml");
يجب أن يكون التقرير موجود تحت public_html ويتم كتابة المسار نسبة إلى public_html. أي أنه إذا وضعت الملف report1.jrxml في public_html فاكتب
InputStream input = context.getResourceAsStream("/report1.jrxml");

مهندس / مصطفى ماجد
المدير الفني بشركة المبرمج الذكي
mostafa.maged@sd4it.com
خبراء في Oracle Fusion Middleware ومتخصصون في التحويل من أوراكل فورم إلى ADF وتطوير الأنظمة الجديدة بتقنية ADF
http://www.sd4it.com

https://www.youtube.com/c/sd4it

 


#9 mohd_sayed_mohd

mohd_sayed_mohd

    عضو نشط

  • الأعضــاء
  • 251 مشاركة
  • الاسم الأول:Mohamed
  • اسم العائلة:Elsayed
  • البـلـد: Country Flag

تاريخ المشاركة 24 August 2011 - 06:20 AM

السلام عليكم ورحمة الله وبركاته
جزاكم الله خيرا
الحمد لله تم تشغيل التقرير ولكن باقي خطأ بسيط وهو عند كتابة السطر التالي
Map parameters = new HashMap();
يظهر خطأ به وعند اختيار المساعدة التي يكون مكتوب فيها Cast to java.util.Map يتحول السطر إلى

Map parameters = (Map)new HashMap();

ولا يوجد به خطأ في الترجمة ولكن عند تشغيل التقرير يظهر الخطأ التالي
<pre>javax.faces.el.EvaluationException: java.lang.ClassCastException: com.oracle.vmm.client.provider.ovm22.ws.sps.HashMap cannot be cast to java.util.Map</pre>
لا إله إلا الله ، محمد رسول الله

#10 mohd_sayed_mohd

mohd_sayed_mohd

    عضو نشط

  • الأعضــاء
  • 251 مشاركة
  • الاسم الأول:Mohamed
  • اسم العائلة:Elsayed
  • البـلـد: Country Flag

تاريخ المشاركة 24 August 2011 - 11:06 AM

السلام عليكم
الخطأ الأخير تم حله والحمد لله بعد عمل Import

import java.util.HashMap;
لا إله إلا الله ، محمد رسول الله

#11 mohd_sayed_mohd

mohd_sayed_mohd

    عضو نشط

  • الأعضــاء
  • 251 مشاركة
  • الاسم الأول:Mohamed
  • اسم العائلة:Elsayed
  • البـلـد: Country Flag

تاريخ المشاركة 24 August 2011 - 11:22 AM

السلام عليكم
لكن في حالة إضافة السطر التالي

report.setWhenNoDataType(report.WHEN_NO_DATA_TYPE_ALL_SECTIONS_NO_DETAIL);

يظهر الخطأ التالي
<pre>javax.faces.el.EvaluationException: java.lang.NoSuchMethodError: net.sf.jasperreports.engine.JasperReport.setWhenNoDataType(B)V at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:51)</pre>
لا إله إلا الله ، محمد رسول الله

#12 sd4it

sd4it

    عضو مميز

  • الأعضــاء
  • 6,996 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 24 August 2011 - 01:15 PM

هذا السطر يعتمد على رقم إصدار مكتبة Jasper التي تستخدمها وهو عموماً غير مؤثر في تشغيل التقرير ويمكنك حذفه

مهندس / مصطفى ماجد
المدير الفني بشركة المبرمج الذكي
mostafa.maged@sd4it.com
خبراء في Oracle Fusion Middleware ومتخصصون في التحويل من أوراكل فورم إلى ADF وتطوير الأنظمة الجديدة بتقنية ADF
http://www.sd4it.com

https://www.youtube.com/c/sd4it

 


#13 mohd_sayed_mohd

mohd_sayed_mohd

    عضو نشط

  • الأعضــاء
  • 251 مشاركة
  • الاسم الأول:Mohamed
  • اسم العائلة:Elsayed
  • البـلـد: Country Flag

تاريخ المشاركة 26 August 2011 - 04:03 AM

جزاكم الله خيرا
لا إله إلا الله ، محمد رسول الله

#14 deer4wear

deer4wear

    مشترك

  • الأعضــاء
  • 58 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 27 August 2011 - 11:22 PM

السلام عليكم
نرجوا من الأخ mohd_sayed_mohd
عمل مثال لكيفية إستدعاء التقرير Jasper من ADF
وياريت يكون بالصور
جزاك الله خيراً
وكل عام وأنتم بخير

#15 KSAREE

KSAREE

    مشترك

  • الأعضــاء
  • 77 مشاركة

تاريخ المشاركة 13 September 2011 - 09:28 PM

السلام عليكم
ياليت مثال بالصور على ربط التقرير مع ADF
مع التحيه