`

If 1 equals 2, what’s the purpose?

    博客分类:
  • ABAP
 
阅读更多
source:http://sapport.blogspot.com/2010/03/if-1-equals-2-whats-purpose.html

While debugging standard SAP ABAP code you might find for first look very strange code like following:

If 1 EQ 2.
MESSAGE W001(z100).
* plus do something else
EndIf.

Confusing? Of course! Based on the math this statement cannot be ever true. Then why do we need such an IF statement?

Actually there are certain situations when we need it. Just to name few of them. We need to make visible some parts of code which must not be executed under any circumstances. In this case we put it to such an IF. This can be make traceable usage of such a statement. E.g. message created in message’s transaction (TA SE91). In this way we just create reference point to “Where used” functionality of specific message. In case we would like to see where particular message 001 from message class Z100 is used we can achieve it. In general by this technique we can enhance ABAP code maintainability in larger scale.

This technique is often used in BW area as well. E.g. in data extraction ABAP function modules. See function modules called RSAX_BIW_GET_DATA_SIMPLE.
分享到:
评论

相关推荐

    java中equals和==的区别

    if (s1.equals(s2)) System.out.println("s1 equals s2"); else System.out.println("s1 not equals s2"); } } 这个程序的输出是:s1 != s2、s1 equals s2。这说明 s1 和 s2 分别引用了两个不同的 String 对象...

    Struts2标签 s:if test 判断String类型的对象属性值和单字符是否相等的问题

    <input type="radio" name="roworCol" value="1" <s:if test="roworCol.equals('1'.toString())">checked="checked"</s:if>/> ``` 在这个简单的示例中,我们同样比较了一个变量`roworCol`的值与字符串“1”。注意...

    重写equals方法

    if(this.name.equals(s.name) && this.gender.equals(s.gender)) { return true; } else { return false; } } else { return false; } } } ``` 结论 ---- equals 方法是一个非常重要的方法,它用于判断两...

    “ ==”和.Equals()有什么区别?

    在C#编程语言中,“==”运算符和“.Equals()”方法是两种常见的用于比较对象是否相等的方式,但它们之间存在着重要的差异。理解这些差异对于编写高效且准确的代码至关重要。 首先,让我们来探讨“==”运算符。在C#...

    equals问题经典

    由于`stu1`和`stu2`是两个独立的对象,它们的引用地址不同,所以`stu1.equals(stu2)`的结果是`false`。 至于`String name="hck"`和`String s=new String("hck")`的区别,前者是在常量池中创建或查找已存在的"**hck*...

    equals方法的重写.docx

    - `stu0`和`stu1`具有相同的属性值,因此`stu1.equals(stu0)`返回`true`。 - `stu2`与`stu0`的属性值不同,因此`stu2.equals(stu0)`返回`false`。 通过这种方式,`equals`方法的正确性得到了验证。 #### 四、注意...

    HashCode相同equals不同的2位字符集合算法

    return Objects.equals(this.char1, other.char1) && Objects.equals(this.char2, other.char2); } @Override public int hashCode() { return Objects.hash(char1, char2); } } ``` 在上述代码中,`Objects...

    java 资料 equals 与== 的区别

    if (str1.equals(str2)) { System.out.println("对象 str1 和对象 str2 的值相等"); } else { System.out.println("对象 str1 和对象 str2 的值不相等"); } ``` 在上面的例子中,str1 和 str2 是两个字符串对象,...

    java中equals和==的区别.doc

    if (s1.equals(s2)) { System.out.println("s1 equals s2"); } else { System.out.println("s1 not equals s2"); } } } 这时,输出结果是 "s1 != s2" 和 "s1 equals s2"。这意味着,s1 和 s2 引用的是不同的...

    equals(Object) 与 == 的区别

    "equals(Object) 与 == 的区别" .equals(Object) 与 == 的区别是 Java 编程语言中一个常见的问题,许多初学者都感到困惑。下面我们将详细地解释这两个概念之间的区别。 首先,让我们看一个例子。假设我们有两个 ...

    ==和equals的区别

    if (str1.equals(str2)) { System.out.println("对象 str1 的内容和 str2 的内容相同"); } } } ``` 在上面的例子中,equals 比较的是 str1 对象的内容和 "abc" 的内容是否相等,结果是 true。 Java 中的 equals...

    java中的==和equals()方法1

    2. 对称性:如果x.equals(y)返回true,那么y.equals(x)也应返回true。 3. 传递性:如果x.equals(y)和y.equals(z)都返回true,那么x.equals(z)也应返回true。 4. 一致性:多次调用x.equals(y)应该始终返回相同的布尔...

    java中==和equals的区别

    对于开发的程序员小伙伴,大家肯定对于==和equals不陌生,而且会经常用到他,那么又有几个能够说清楚了==和equals是怎么回事呢?他了呢两个有什么区别呢? 比较 == 比较的是栈中的值,基本数据类型是变量值,引用...

    2.javaequals()方法.zip

    2.javaequals()方法.zip2.javaequals()方法.zip2.javaequals()方法.zip2.javaequals()方法.zip2.javaequals()方法.zip2.javaequals()方法.zip2.javaequals()方法.zip2.javaequals()方法.zip2.javaequals()方法.zip2....

    js equals方法

    if (obj1 === obj2) return true; if (obj1 == null || typeof obj1 !== 'object' || obj2 == null || typeof obj2 !== 'object') return false; const keys1 = Object.keys(obj1); const keys2 = Object.keys...

    winform 重写Equals源码

    2. **类型检查**:在`Equals`方法内部,首先检查传入的对象是否与当前对象是同一种类型。如果不是,可以直接返回`false`,因为不同类型的对象不可能相等。 ```csharp if (obj == null || GetType() != obj.GetType...

    知识点 比较运算符==和equals方法的比较

    回到给出的示例,我们看到`o1.equals(o3)`返回真,因为`o1`和`o3`引用的是同一个对象;而`o1.equals(o2)`返回假,因为它们代表的是两个独立的对象。对于字符串,`s1.equals(s2)`返回真,因为尽管`s1`和`s2`是独立...

    Java语言深入_equals

    2. 如果`o.equals(o1)`返回`true`,则`o1.equals(o)`也应该返回`true`(对称性)。 3. 如果`o.equals(o1)`和`o.equals(o2)`都返回`true`,那么`o1.equals(o2)`也应该返回`true`(传递性)。 4. 如果`o.equals(o1)`...

    Java中equals方法隐藏的陷阱

    ### Java中equals方法隐藏的陷阱 在Java编程中,正确实现`equals`方法至关重要,它不仅影响对象的比较逻辑,还直接关系到集合类(如`HashSet`、`HashMap`等)的行为。本文将深入探讨Java中`equals`方法的一些常见...

Global site tag (gtag.js) - Google Analytics