查找内部表的字段的值(如果它可以包含空白或null)

2020-08-31 01:48发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 我在DDIC中有一个...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我在DDIC中有一个表,其中的列都包含空白和空值。 使用SAP Logon,我们无法区分两者。 因此,我编写了以下程序,如果我在where条件(请参阅程序)中使用null,否则可以获取条目,否则为0条目(如果为空白)。

我正在尝试使用" IS NOT INTIAL"检查包含null的字段的值。 但是它永远不会进入if块,这意味着test2不为null。

所以我有以下问题:

1。)当我们从内部表中的SAP数据库传输数据时,空值(在sap数据库中存在)发生了什么。 内部表字段是否还包含空值,或者它们会初始化?

2。)我正在使用" IS NOT INTIAL"来检查字段是否具有空值。 还有其他方法可以检查吗?

在用户界面中显示为:

表:ZTEST_NEERAJ

| ID | NAME | AGE | TEST | TEST2 |

| 1 | NEERAJ | 45 | 0 | |

| 2 | | 45 | 0 | |

实际情况如下:

表:ZTEST_NEERAJ

| ID | NAME | AGE | TEST | TEST2 |

| 1 | NEERAJ | 45 | 0 | NULL |

| 2 | | 45 | 0 | NULL |

功能ZSQL_QUERY2。
*" --------------------------------------- -------------------------------
*" *"本地接口:
*" EXPORTING
*"参考(DBCNT)类型SY-DBCNT
*" ----------------------------------- -----------------------------------


数据:TABLE1类似于TABLE OF 带有标题行的ZTEST_NEERAJ初始大小10。

从ZTEST_NEERAJ到表TABLE1中选择*,其中test2为NULL。


DBCNT = SY-DBCNT。

读取表TABLE1索引1。

数据:X TYPE I值0。
如果TABLE1-test2不初始。
X =1。
ENDIF。

ENDFUNCTION。

谢谢

Partish