खोज…


/ Elseif / else if

IF lv_foo = 3.
  WRITE: / 'lv_foo is 3'.
ELSEIF lv_foo = 5.
  WRITE: / 'lv_foo is 5'.
ELSE.
  WRITE: / 'lv_foo is neither 3 nor 5'.
ENDIF.

मामला

CASE lv_foo.
  WHEN 1.
    WRITE: / 'lv_foo is 1'.
  WHEN 2.
    WRITE: / 'lv_foo is 2'.
  WHEN 3.
    WRITE: / 'lv_foo is 3'.
  WHEN OTHERS.
    WRITE: / 'lv_foo is something else'.
ENDCASE

चेक

CHECK एक सरल कथन है जो एक तार्किक अभिव्यक्ति का मूल्यांकन करता है और वर्तमान प्रसंस्करण ब्लॉक को बाहर निकालता है यदि यह गलत है।

METHOD do_something.
  CHECK iv_input IS NOT INITIAL. "Exits method immediately if iv_input is initial

  "The rest of the method is only executed if iv_input is not initial
ENDMETHOD.  

ASSERT

ASSERT का उपयोग संवेदनशील क्षेत्रों में किया जाता है जहां आप बिल्कुल निश्चित होना चाहते हैं, कि एक चर का एक विशिष्ट मूल्य है। यदि ASSERT बाद तार्किक स्थिति झूठी हो जाती है, तो एक अनहेल्दी अपवाद ( ASSERTION_FAILED ) फेंक दिया जाता है।

ASSERT 1 = 1. "No Problem - Program continues

ASSERT 1 = 2. "ERROR

COND / स्विच

SWITCH और COND सशर्त कार्यक्रम प्रवाह का एक विशेष रूप प्रदान करते हैं। IF और CASE विपरीत, वे बयानों को निष्पादित करने के बजाय एक अभिव्यक्ति के आधार पर विभिन्न मूल्यों को प्रस्तुत करते हैं। इसलिए वे कार्यात्मक के रूप में गिनती करते हैं।

COND

जब भी कई स्थितियों पर विचार करना होता है, तो COND काम कर सकता है। वाक्य रचना काफी सरल है:

COND <type>( 
    WHEN <condition> THEN <value> 
    ... 
    [ ELSE <default> | throw <exception> ]
).

उदाहरण

" Set screen element active depending on radio button
screen-active = COND i(
    WHEN p_radio = abap_true THEN 1
    ELSE 0 " optional, because type 'i' defaults to zero
).

" Check how two operands are related to each other
" COND determines its type from rw_compare
rw_compare = COND #( 
    WHEN op1 < op2 THEN 'LT'
    WHEN op1 = op2 THEN 'EQ'
    WHEN op1 > op2 THEN 'GT' 
).

स्विच

SWITCH मानों की मैपिंग के लिए एक साफ-सुथरा उपकरण है, क्योंकि यह केवल समानता के लिए जाँच करता है, इस प्रकार कुछ मामलों में COND से छोटा होता है। यदि एक अप्रत्याशित इनपुट दिया गया था, तो अपवाद को फेंकना भी संभव है। वाक्यविन्यास थोड़ा अलग है:

SWITCH <type>( 
    <variable>
    WHEN <value> THEN <new_value> 
    ... 
    [ ELSE <default> | throw <exception> ]
).

उदाहरण

DATA(lw_language) = SWITCH string(
    sy-langu
    WHEN 'E' THEN 'English'
    WHEN 'D' THEN 'German'
    " ...
    ELSE THROW cx_sy_conversion_unknown_langu( )
).


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow