टेबल कंट्रोल और स्टेप लूप स्क्रीन टेबल डिस्प्ले के लिए ऑब्जेक्ट हैं जिन्हें आप स्क्रीन पेंटर में स्क्रीन पर जोड़ते हैं।
एक प्रोग्रामिंग दृष्टिकोण से, टेबल नियंत्रण और चरण लूप लगभग समान हैं। टेबल कंट्रोल को केवल स्टेप लूप्स में सुधार किया जाता है जो डेस्कटॉप एप्लिकेशन में टेबल के साथ जुड़े हुए लुक और फील के साथ डेटा प्रदर्शित करता है।
तालिका नियंत्रण के साथ, उपयोगकर्ता कर सकता है:
- तालिका के माध्यम से लंबवत और क्षैतिज रूप से स्क्रॉल करें
- किसी स्तंभ की चौड़ाई को पुनः आकार दें
- फ़ील्ड के भीतर स्क्रॉल करें (जब फ़ील्ड सामग्री फ़ील्ड से अधिक व्यापक हो)
- तालिका पंक्तियों या स्तंभों का चयन करें
- स्तंभों के क्रम को पुनः क्रम दें
- भविष्य के उपयोग के लिए वर्तमान प्रदर्शन सेटिंग्स को सहेजें
टेबल नियंत्रण भी विशेष स्वरूपण सुविधाएँ (कुछ स्वचालित, कुछ वैकल्पिक) प्रदान करते हैं जो तालिका को देखने और उपयोग करने में आसान बनाते हैं। तालिका नियंत्रण प्रदान करता है -
- उपयोगकर्ता द्वारा विंडो का आकार बदलने पर स्वचालित टेबल का आकार (ऊर्ध्वाधर और क्षैतिज)
- पंक्तियों के बीच और स्तंभों के बीच विभाजक रेखाएं (ऊर्ध्वाधर और क्षैतिज)
- सभी स्तंभों के लिए स्तंभ शीर्ष लेख फ़ील्ड
स्टेप लूप्स की एक विशेषता यह है कि उनकी टेबल पंक्तियाँ स्क्रीन पर एक से अधिक रेखाएँ फैला सकती हैं। दूसरी ओर, तालिका नियंत्रण की एक पंक्ति को हमेशा एक ही पंक्ति में शामिल किया जाना चाहिए (हालाँकि स्क्रॉल करना संभव है)।
सामान्य तौर पर, टेबल नियंत्रण द्वारा प्रदान की जाने वाली कई विशेषताएं आपके सिस्टम के SAPgui फ्रंटेंड द्वारा स्थानीय रूप से नियंत्रित की जाती हैं, इसलिए आपको उन्हें स्वयं प्रोग्राम करने की आवश्यकता नहीं है। इसका एकमात्र उल्लेखनीय अपवाद ऊर्ध्वाधर स्क्रॉलिंग है ।
उदाहरण (लेन-देन TZ60)
सिंटैक्स
ABAP कार्यक्रमों में तालिका नियंत्रण को संभालने के लिए, आपको निम्नलिखित कथन का उपयोग करके प्रत्येक तालिका नियंत्रण के लिए कार्यक्रम के घोषणा भाग में नियंत्रण घोषित करना चाहिए:
नियंत्रित करें
जहाँ
तालिका नियंत्रण के लिए कर्सर स्थिति निम्न तरीकों से सेट की जा सकती है:
PBO पर आप तालिका नियंत्रण की एक विशिष्ट पंक्ति के विशिष्ट क्षेत्र पर कर्सर सेट कर सकते हैं।
CURSOR FIELDLINE [OFFSET ] सेट करें
OFFSET के वैकल्पिक जोड़ का उपयोग करके, आप कर्सर की स्थिति के अनुसार फ़ील्ड में कर्सर की भरपाई दर्ज कर सकते हैं।
PAI में आप वर्तमान कर्सर स्थिति पढ़ सकते हैं।
CURSOR FIELD प्राप्त करेंLINE …
फाइंडिंग आउट द कर्सर पोज़िशन के तहत दी गई जानकारी के अलावा, फ़ील्ड
प्राप्त लाइन लाइन <लिन>।
तालिका नियंत्रण की पंक्ति निर्धारित करने के लिए। SY-SUBRC आपको यह जांचने की अनुमति देता है कि कर्सर को टेबल कंट्रोल की एक पंक्ति में रखा गया है या नहीं।
आंतरिक तालिका की संबंधित पंक्ति प्राप्त करने के लिए:
CURSOR लाइनप्राप्त करें।ind = -top_line + - 1।तालिका पढ़ें इंडेक्स इंड।
सिस्टम वैरिएबल स्टेपल - एक लूप में वर्तमान टेबल लाइन इंडेक्स ... एंडलूप है। लूपक - तालिका में दिखाई देने वाली पंक्तियों की संख्या है।
तालिका नियंत्रण बनाने के लिए
1. अपनी स्क्रीन पर तालिका नियंत्रण तत्व
जोड़ें। तालिका नियंत्रण के लिए एक नाम दें। ABAP प्रोग्राम में समान के साथ एक संरचना की घोषणा करें (नियंत्रण
3.To फ़ील्ड बनाएँ Dict./Program फ़ील्ड फ़ंक्शन पर जाएँ।
- उस संरचना का नाम दर्ज करें जिसके फ़ील्ड आप चाहते हैं। (यदि आप इसे अपने प्रोग्राम के शब्दकोश से चुनना चाहते हैं, तो संबंधित प्यूहबटन पर क्लिक करें)।
- फ़ील्ड सूची में, इच्छित फ़ील्ड चुनें और ठीक चुनें।
- तालिका नियंत्रण क्षेत्र में क्लिक करें
यदि आप एक चयन कॉलम चाहते हैं, तो विशेषताओं में उपयुक्त चेक बॉक्स की जांच करें और इसे एक नाम दें। ABAP प्रोग्राम में फ़ील्ड बनाएँ।
PBO में आपको स्टेटमेंट होना चाहिए
USING CONTROL पर LOOP।ENDLOOP
PAI में आपको होना चाहिए।
LOOP पर।ENDLOOP
यह छोरों के भीतर है कि डेटा ट्रांसफर स्क्रीन और आंतरिक तालिका के बीच होता है। जब आप आंतरिक तालिका का उपयोग करते हैं, तो DESCRIBE टेबल का उपयोग करें
। अलग-अलग सेल की विशेषताओं को बदलने के लिए अस्थायी रूप से PBO में स्क्रीन तालिका बदल सकते हैं। आप नियंत्रण कथन द्वारा बनाई गई संरचना की विशेषताओं को बदल सकते हैं
-fixed_cols आदि नियंत्रण के गुण हैं -cols-index आदि कॉलम की विशेषताएं हैं। -cols- स्क्रीन-अदृश्य आदि प्रत्येक स्तंभ की स्क्रीन विशेषताएँ हैं।