ABAP 校验数据常用的小技巧

1 READ TABLE  INTO WITH KEY  .

例如:

READ TABLE gt_itab INTO gs_itab WITH KEY zsel = 'X'.

IF sy-subrc NE 0.
        MESSAGE '请选择数据' TYPE 'E'.
 ENDIF.

知识点:

1)READ TABLE +内表,遍历的是内表,WITH KEY 可以是内表中的一个关键字段;如果是WITH TABLE KEY 则必须是主键。

参考:ABAP READ TABLE_尤其是十月的风的博客-CSDN博客_abap read table

关于使用READ TABLE语句 - 萧静默 - 博客园

2)READ TABLE语句之后通常紧跟 “IF sy-subrc NE 0.” 或“IF sy-subrc EQ 0. ”

如果READ TABLE 读到数值,那么sy-subrc 就为0,否则是<>0的。

参考:【ABAP系列】SAP ABAP SY-SUBRC的含义解析 - SAPmatinal - 博客园

2 查数据库表是否有已存在的值时,用SELECT。

 SELECT COUNT(*) FROM mara WHERE mtart = 'ZFRT' AND matnr = l_matnr.
    IF sy-subrc = 0.

          MESSAGE '数据已存在' TYPE 'E'.
   ENDIF.

总结: 这两个方式均可在新增数据时,对数据进行校验。

你可能感兴趣的:(SAP学习,sap)