如何检查是否有初始值和重复条目?

时间:2014-06-08 12:39:15

标签: abap

我有一个ABAP程序可以将记录添加到数据库中。我想检查数据库中是否有相同的标识号,如果是,则引发错误消息。第二件事,如果用户将id字段作为空传递,我想提出错误信息。

我将记录添加到数据库的方法

    METHOD add.
        DATA: IT_E TYPE TABLE OF ZE.
        DATA:WA_E TYPE ZE.
    IF sy-subrc EQ 0.

        WA_E-ID = C_ID.
        WA_E-NAME = C_NAME.

        APPEND wa_e TO it_e.
        INSERT ZE FROM TABLE it_e.

         CALL FUNCTION 'POPUP_TO_DISPLAY_TEXT'
          EXPORTING
          TITEL     = 'Message2'
          TEXTLINE1 = 'Record Added Successfully.'.
      IF sy-subrc <> 0.
    CALL FUNCTION 'POPUP_TO_DISPLAY_TEXT'
          EXPORTING
          TITEL     = 'Message2'
          TEXTLINE1 = 'YOu cant use this id no'.
      ENDIF.


DATA : ref_obj TYPE REF TO LCL_E.

主要部分

START-OF-SELECTION.
  IF ra_add EQ 'X'.

IF pa_id eq space.

     CALL FUNCTION 'POPUP_TO_DISPLAY_TEXT'
      EXPORTING
      TITEL     = 'Message2'
      TEXTLINE1 = 'You cant pass id field empty'.
else.
    CREATE OBJECT ref_obj
      EXPORTING
        im_id = pa_id
        im_name  = pa_name


CALL METHOD ref_obj->add.

endif.

2 个答案:

答案 0 :(得分:0)

对于第一个问题,我建议在INSERT之前使用密钥进行SELECT,以确保记录存在于表中,如果它确实显示了消息,则进行INSERT。对于第二个问题,您应该使用&#34; IF lv_data IS INITIAL&#34;。

答案 1 :(得分:0)

1)您可以使用关键字OBLIGATORY来强制字段。

PARAMETERS:pa_id type c OBLIGATORY。

2)尝试使用id.if sy-subrc&lt;&gt;从数据库中检索记录。 0然后插入记录,否则引发错误消息。