क्या एबीएपी सिंटैक्स में एक टर्नरी या सशर्त ऑपरेटर उपलब्ध है? मैं एक नहीं मिला है तो यह सोचते हैं कि जवाब नहीं है लेकिन वहाँ तो एक विकल्प है कि मैं आम "गूंगा" IF
बयान है कि मैं नियमित रूप से उपयोग करने के स्पष्ट करने के लिए उपयोग कर सकते हैं?टर्नरी ऑपरेटर (विकल्प)
उदाहरण के लिए, एक विधि है कि वैकल्पिक संदेश मानकों के साथ संदेश लॉग पर विचार करें। इसलिए जैसे मूल्य की जाँच करने के आयातित पैरामीटर या डिफ़ॉल्ट मैं का उपयोग कर के बीच तय करने के लिए: के रूप में नीचे दिए गए कोड ब्लॉक में देखा
IF iv_class IS INITIAL.
lv_message_class = 'DEFAULT'.
ELSE.
lv_message_class = iv_class.
ENDIF.
IF iv_number IS INITIAL.
lv_message_number = '000'.
ELSE.
lv_message_number = iv_number.
ENDIF.
IF iv_type IS INITIAL.
lv_message_type = 'E'.
ELSE.
lv_message_type = iv_type.
ENDIF.
एक त्रिगुट ऑपरेटर एक लाइन के लिए इन पांच लाइन कथनों में से प्रत्येक को कम करेगा। जब ऑपरेटर का उपयोग ऑनलाइन किया जाता है तो यह अस्थायी परिवर्तनीय अनावश्यक उपयोग भी कर सकता है।
lv_message_class = iv_class IS INITIAL ? 'DEFAULT' : iv_class.
lv_message_number = iv_number IS INITIAL ? '000' : iv_number .
lv_message_type = iv_type IS INITIAL ? 'E' : iv_type .
क्या एबीएपी में इस प्रकार की प्रोग्रामिंग शैली का अनुमान लगाने का कोई तरीका है या क्या मैं अव्यवस्था से फंस गया हूं?
7.4 में स्थानांतरित होने के बाद मैं पुष्टि कर सकता हूं कि यह पूरी तरह से काम करता है, भले ही वाक्यविन्यास हाइलाइट अमान्य लाल में कथन के हिस्सों को चिह्नित करेगा। एक नोट के रूप में, यह नए चर घोषित करने के लिए प्रतिबंधित नहीं है, कोई भी मूल्य असाइनमेंट 'COND' कथन का उपयोग कर सकता है। – Lilienthal