ABAP सबस्क्रीन ट्यूटोरियल: सबस्क्रीन को कॉल करें SAP
इस ट्यूटोरियल को पढ़ने से पहले सुनिश्चित करें कि आप संवाद प्रोग्राम क्या है...
कॉल सबस्क्रीन
- सबस्क्रीन एक स्वतंत्र स्क्रीन होती है जो किसी अन्य ("मुख्य") स्क्रीन के क्षेत्र में प्रदर्शित होती है।
- सबस्क्रीन आपको रनटाइम पर एक स्क्रीन को दूसरे के भीतर एम्बेड करने की अनुमति देती है। आप मुख्य स्क्रीन पर कई सब-स्क्रीन शामिल कर सकते हैं।
- सबस्क्रीन शब्द उस स्क्रीन पर लागू होता है जिसे आप एम्बेड करते हैं, और मुख्य स्क्रीन पर वह क्षेत्र जिसमें आप इसे रखते हैं। यह ट्यूटोरियल सबस्क्रीन क्षेत्रों के बारे में है। SE51 ट्रांजेक्शन के माध्यम से बनाई गई वास्तविक स्क्रीन को स्क्रीन विशेषताओं में परिभाषित किए जाने पर सबस्क्रीन स्क्रीन कहा जाता है।
- जब आप सबस्क्रीन का उपयोग करते हैं, तो एम्बेडेड स्क्रीन का प्रवाह तर्क मुख्य स्क्रीन के प्रवाह तर्क में भी एम्बेडेड होता है। इसलिए, स्क्रीन पर सबस्क्रीन का उपयोग करना इसमें शामिल का उपयोग करने जैसा है। एबीएपी कार्यक्रम.
सबस्क्रीन का उपयोग करने के लिए, आपको तीन सरल चरणों का पालन करना होगा
- स्क्रीन पर सबस्क्रीन क्षेत्र(क्षेत्रों) को परिभाषित करें
- उपयुक्त सबस्क्रीन स्क्रीन परिभाषित करें
- सबस्क्रीन क्षेत्र में सबस्क्रीन स्क्रीन शामिल करें।
इसके अलावा, आपको उप-स्क्रीन और मुख्य स्क्रीन के फ्रेम को समायोजित करने की आवश्यकता है। आपको फ़ील्ड नाम फ़ील्ड में इसका नाम देना होगा।
इसके अलावा, आपको सबस्क्रीन के भीतर फ़ील्ड को समायोजित करने की भी आवश्यकता है ताकि वे मुख्य स्क्रीन में दिखाई दें। यदि सब-स्क्रीन को मुख्य स्क्रीन में उपलब्ध क्षेत्र से बड़ा परिभाषित किया गया है, तो सबस्क्रीन का केवल वह भाग दिखाई देगा जो उपलब्ध क्षेत्र में फिट बैठता है। क्षेत्र को हमेशा स्क्रीन के ऊपरी बाएँ कोने से मापा जाता है। इसलिए आपको सब-स्क्रीन क्षेत्रों को परिभाषित करते समय और सब-स्क्रीन बनाते समय पर्याप्त सावधानी बरतनी चाहिए।
उदाहरण
उदाहरण के लिए यहाँ हमने मुख्य स्क्रीन पर दो उप-स्क्रीन क्षेत्र परिभाषित किए हैं और संबंधित क्षेत्रों में दो अलग-अलग उप-स्क्रीन संलग्न किए हैं। जब भी मुख्य स्क्रीन को कॉल किया जाता है, तो मुख्य स्क्रीन के PBO को कॉल किया जाता है। लेकिन डिस्प्ले से पहले, मुख्य स्क्रीन पर उप-स्क्रीन क्षेत्रों से जुड़े प्रत्येक स्क्रीन के PBO को भी कॉल किया जाता है।
आप मुख्य स्क्रीन के प्रवाह तर्क में CALL SUBSCREEN कथन का उपयोग करके एक सबस्क्रीन स्क्रीन शामिल कर सकते हैं।
मुख्य स्क्रीन के सबस्क्रीन क्षेत्र में सबस्क्रीन स्क्रीन को शामिल करने और इसके PBO प्रवाह तर्क को कॉल करने के लिए, मुख्य स्क्रीन के PBO इवेंट में निम्नलिखित कथन का उपयोग करें:
PROCESS BEFORE OUTPUT. CALL SUBSCREEN <area> INCLUDING [<prog>] <dynp>.
यह कथन सबस्क्रीन स्क्रीन को संख्या प्रदान करता है सबस्क्रीन क्षेत्र में जिसे कहा जाता है आप उस प्रोग्राम को भी निर्दिष्ट कर सकते हैं जिसमें सबस्क्रीन स्क्रीन परिभाषित की गई है (वैकल्पिक)। यदि आप प्रोग्राम को स्पष्ट रूप से निर्दिष्ट नहीं करते हैं, तो सिस्टम उसी ABAP प्रोग्राम में सबस्क्रीन स्क्रीन की तलाश करता है जिसमें मुख्य प्रोग्राम है। यदि उसे संबंधित सबस्क्रीन स्क्रीन नहीं मिलती है, तो रनटाइम त्रुटि होती है। सबस्क्रीन स्क्रीन का PBO प्रवाह तर्क भी उसी बिंदु पर शामिल है। यह ABAP प्रोग्राम के PBO मॉड्यूल को कॉल कर सकता है जिसमें सबस्क्रीन स्क्रीन परिभाषित की गई है। सबस्क्रीन PBO के अंत में, प्रोग्राम से वैश्विक फ़ील्ड सबस्क्रीन स्क्रीन में किसी भी समान नाम वाले स्क्रीन फ़ील्ड में पास किए जाते हैं। सबस्क्रीन स्क्रीन का PBO प्रवाह तर्क स्वयं आगे की सबस्क्रीन को शामिल कर सकता है।
नाम सबस्क्रीन क्षेत्र के नाम उल्टे अल्पविराम के बिना सीधे दर्ज किए जाने चाहिए। आप नाम निर्दिष्ट कर सकते हैं और या तो शाब्दिक या चर के रूप में। यदि आप चर का उपयोग करते हैं, तो आपको ABAP प्रोग्राम में समान नाम वाले चर घोषित करने और भरने होंगे। स्क्रीन नंबर 4 अक्षर लंबा होना चाहिए। यदि आप किसी क्षेत्र को सबस्क्रीन स्क्रीन असाइन नहीं करते हैं, तो यह खाली रहता है।
सबस्क्रीन स्क्रीन के PAI प्रवाह तर्क को कॉल करने के लिए, मुख्य स्क्रीन के PAI प्रवाह तर्क में निम्नलिखित कथन का उपयोग करें:
PROCESS AFTER INPUT. CALL SUBSCREEN <area>.
इस कथन में सबस्क्रीन क्षेत्र में शामिल सबस्क्रीन स्क्रीन का PAI प्रवाह तर्क शामिल है PBO इवेंट में। यह ABAP प्रोग्राम के PAI मॉड्यूल को कॉल कर सकता है जिसमें सबस्क्रीन स्क्रीन परिभाषित की गई है। सबस्क्रीन स्क्रीन और ABAP प्रोग्राम में समान नाम वाले फ़ील्ड के बीच डेटा तब ट्रांसपोर्ट किया जाता है जब PAI इवेंट ट्रिगर होता है, या सबस्क्रीन स्क्रीन के PAI फ़्लो लॉजिक में संबंधित FIELD स्टेटमेंट पर।
याद दिलाने के संकेत
- एक स्क्रीन के भीतर उप-स्क्रीन के तत्वों के नाम अद्वितीय होने चाहिए
- आपको उप-स्क्रीन के साथ OK_CODE या FCODE संलग्न नहीं करना चाहिए। मुख्य स्क्रीन का OK_CODE ही उप-स्क्रीन का OK_CODE है
- सब-स्क्रीन में SET TITLEBAR, SET PF-STATUS, SET SCREEN, LEAVE SCREEN या LEAVE TO SCREEN वाले कोई भी डायलॉग मॉड्यूल नहीं होने चाहिए। इससे रनटाइम त्रुटि होगी।
- आपको इसे मुख्य स्क्रीन के प्रवाह तर्क (PBO और PAI दोनों) में कॉल करना होगा।
- CHAIN..ENDCHAIN और LOOP ENDLOOP कथनों में CALL SUBSCREEN की अनुमति नहीं है
- AT EXIT-COMMAND मॉड्यूल नहीं हो सकता
- आपके द्वारा उपयोग किए जाने वाले फ़ील्ड वैश्विक फ़ील्ड हैं। उन्हें शीर्ष शामिल में घोषित किया जाना चाहिए
- यदि किसी अन्य से सबस्क्रीन का उपयोग कर रहे हैं संवाद कार्यक्रम जब तक आप विशिष्ट कोड नहीं जोड़ेंगे, डेटा स्थानांतरण नहीं होगा।

