2011-11-30 15 views
7

में सब्रेपोर्ट्स को तैनात करना मैंने एपेक्स के साथ एकीकरण के लिए एक फ्रेम और सबरेपोर्ट बनाया है और उस बिंदु पर परिष्कृत किया है जिसे मैं जैस्परसेवर पर तैनात करने के लिए तैयार हूं। किसी भी तरह से सटीक वाक्यविन्यास मुझे हरा रहा है। मैंने निम्नलिखित प्रश्नों का संकेत दिया है, लेकिन कुछ भी काम नहीं करता है। मैं ग्लासफ़िश का उपयोग कर रहा हूं, बीटीडब्ल्यू, लेकिन मुझे नहीं लगता कि यह महत्वपूर्ण है। यहाँ मेरी प्रश्न हैं:जैस्परसेवर

  1. जब subreport तैनाती, मैं एक रिपोर्ट के रूप में या एक JRXML फ़ाइल के रूप में तैनात हैं?

  2. क्या मुझे फ्रेम रिपोर्ट द्वारा पारित उप -पोर्ट के लिए इनपुट नियंत्रण स्थापित करने की आवश्यकता है?

  3. क्या इससे कोई फर्क नहीं पड़ता कि मैं सब्रेपोर्ट (फ़ोल्डर संरचना) को तैनात करता हूं, जब तक मैं फ्रेम में सही SUBREPORT_DIR पैरामीटर पास कर रहा हूं?

  4. उस SUBREPORT_DIR पर, मैंने कुछ अलग-अलग चीजों की कोशिश की है। सबसे पहले मेरे स्थानीय बॉक्स पर डीबगिंग उद्देश्यों के लिए एक पूर्ण पथ के रूप में डिफ़ॉल्ट था, और यूआरएल में इच्छित मूल्य को पार कर रहा था (यानी ... & SUBREPORT_DIR =/Subreports/...)। मैंने जिस पथ को मैं चाहता था उस पर डिफ़ॉल्ट सेट करने का भी प्रयास किया। न तो काम करता है, लेकिन क्या पूर्व कार्य के साथ-साथ उत्तरार्द्ध होना चाहिए?

  5. SUBREPORT_DIR पास करने के लिए वास्तविक वाक्यविन्यास क्या है? मैंने अपनी फ्रेम रिपोर्ट "/ रिपोर्ट/फ्रेम" और मेरे सब्रेपोर्ट को "/ रिपोर्ट/सब्रेपोर्ट्स/सब" के रूप में तैनात किया है, इसलिए मैं "रेपो:/सब्रेपोर्ट्स /" पास कर रहा था (यूआरएल में उद्धरण के बिना, डिफ़ॉल्ट रूप से उद्धरण के साथ फ्रेम पर)।

उसी फ्रेम के साथ iReport में मेरा फ्रेम और उप कार्य मैं गुजर रहा हूं, लेकिन वे यूआरएल से बिल्कुल काम नहीं करते हैं। मैं सब को जैस्परसेवर के तहत एक रिपोर्ट के रूप में लोड कर सकता हूं, इसे पैरा फ्रेम पास पास कर सकता हूं, और इसे काम पर ले सकता हूं, लेकिन जब मैं फ्रेम चलाने की कोशिश करता हूं, कोई पासा नहीं।

सभी मदद के लिए अग्रिम धन्यवाद, और मुझे यह ठीक से कॉन्फ़िगर होने के बाद इसे वापस भुगतान करने की उम्मीद है।

+2

मुझे खुशी है कि आपको अपनी समस्या का समाधान मिला है। यह भविष्य में लोगों को उसी प्रश्न के साथ मदद कर सकता है यदि आपने अपनी खोज को उत्तर के रूप में कॉपी किया है और इसे "स्वीकृत" के रूप में चिह्नित किया है (खाली चेक मार्क पर क्लिक करें जो आपके उत्तर के बगल में दिखाई देगा)। इससे संकेत मिलेगा कि प्रश्न के बाद किसी के लिए कामकाजी जवाब है जो बाद में उस पर ठोकर खा रहा है। –

+0

मैंने आपका उत्तर समुदाय विकी उत्तर में ले जाया, अब आपको केवल इसे स्वीकार करने की आवश्यकता है;) –

उत्तर

1

ओपी के निष्कर्ष।

  1. subreport एक JRXML फ़ाइल के रूप में भंडार में तैनात किया जाना चाहिए। यह भंडार दृश्य के उचित कॉलम में "फ़ाइल" कहेंगे।

  2. आपको उप -पोर्ट के लिए इनपुट नियंत्रण सेट करने की आवश्यकता नहीं है। फ्रेम रिपोर्ट को केवल उन इनपुट नियंत्रणों की आवश्यकता होती है जो उपरोक्त पैरामीटर का उपयोग नहीं करते हैं।

  3. जब तक आप सही SUBREPORT_DIR पास करते हैं, तब तक आप जहां भी चाहें सब्रेपोर्ट डाल सकते हैं, लेकिन याद रखें कि फ्रेम रिपोर्ट आपके द्वारा निर्दिष्ट नाम से उप को संदर्भित करेगी। मेरी दो समस्याओं में से एक (दूसरे के लिए ऊपर # 1 देखें) डिफ़ॉल्ट पथ में एक एक्सटेंशन निर्दिष्ट कर रहा था। यह iReport में सही था, लेकिन सर्वर की तरफ गलत है।

  4. SUBREPORT_DIR एक पैरामीटर के रूप में पारित किया जा सकता है और विज्ञापित के रूप में काम करता है।

  5. SUB_REPORT_DIR के लिए सही पथ, जिसे मैं अब डिफ़ॉल्ट पैरामीटर के रूप में उपयोग कर रहा हूं, "repo:/reports/Subreports/" जैसा कुछ है। विस्तार से सबरेपोर्ट अभिव्यक्ति इसलिए है: $P{SUBREPORT_DIR} + "five_col_sub". ऊपर # 3 देखें।

यह मुश्किल नहीं है, वास्तव में, लेकिन पूरी तरह सहज नहीं है। मेरे सहयोगी ने बताया कि "रेपो:" जैस्परसेवर रिपोजिटरी के लिए छोटा है। अब स्पष्ट लगता है, लेकिन मुझे लगता है कि इसका मतलब "रिपोर्ट" था, यह जरूरी है कि एक सब्रेपोर्ट और सबरेपोर्ट के साथ किसी भी रिपोर्ट को रिपोर्ट/निर्देशिका के तहत मौजूद होना होगा, जो मामला नहीं है।