2016-12-21 13 views
7

एबैप कोड डीबग करते समय मुझे एक इंटेरेसस्टिंग कोड निर्माण मिला।कई विधि कॉल abap

method_name(: Parameter1), Parameter2). 

जहां तक ​​मैं यह कह सकता हूं कि यह विधि दो बार विधि को कॉल करती है। पहले पैरामीटर के साथ पहली बार और दूसरे के साथ दूसरी बार। दुर्भाग्यवश मुझे नहीं पता कि इस निर्माण को कैसे कहा जाता है और इसलिए मुझे एसएपी डोकू या Google के साथ कोई दस्तावेज नहीं मिल रहा है।

मैं यह बता सकता हूं कि यह काम करता है लेकिन क्या यह एक आधिकारिक निर्माण है? क्या यह दो से अधिक पैरामीटर के साथ काम करता है? (उदा चार बार)

सादर, डिर्क

+2

हाँ आप इसे जितना आवश्यक हो उतने पैरामीटर के लिए उपयोग कर सकते हैं और यदि आप सभी कॉल के लिए समान मान रखते हैं तो आप कोलन के सामने पैरामीटर भी डाल सकते हैं, उदा। 'विधि (मान = 'एक्स': नाम = 'var1'), नाम 'var2')।'। @ Vwegert के उत्तर में दिए गए लिंक में बताया गया है कि यह सिर्फ लघुरूप है। –

उत्तर

5

बधाई हो, आप एक chained statement तथाकथित की एक अस्पष्ट और सबसे निश्चित रूप से निराश उपयोग मिल गया है। विधि कॉल के लिए इसका उपयोग करने की अनुशंसा नहीं की जाती है, लेकिन चूंकि इसे एक बार अनुमति दी गई थी, इसलिए एसएपी इसे फिर से हटाने के लिए बहुत अनिच्छुक होगा ...

+1

बहुत बहुत धन्यवाद। दुर्भाग्यवश यह उस घटक में काफी बार उपयोग किया जाता है जिसका मैं समर्थन कर रहा हूं। लेकिन यह समझने में मदद करता है। –

1

जब एबीएपी कंपाइलर को कोलन मिल जाता है, तो यह पहले किसी भी वाक्यविन्यास जांच के बिना इसे अंधा कर देता है (का विस्तार: ए, बी, सी, डीए बी ए सी डी)।

और केवल तभी यह उनमें से प्रत्येक के सिंटैक्स का विश्लेषण करता है - यह बताने के लिए कि यह एक असाइनमेंट, विधि कॉल या जो कुछ भी है। पावेल