2013年3月14日 星期四

將錯誤訊息寫入變數

  Function的exceptions部份,要設定
  error_message = n

才能阻擋function發出錯誤訊息
然而此法只對message type = E, A有效
如為X則仍然會強制跳出,成為short dump


DATA lv_text LIKE t100-text.
  DATA: lv_msgv1 TYPE symsgv,
        lv_msgv2 TYPE symsgv,
        lv_msgv3 TYPE symsgv,
        lv_msgv4 TYPE symsgv.

    SELECT SINGLE text FROM t100 INTO lv_text
      WHERE sprsl = 'M'
        AND arbgb = gt_msgtab-msgid
        AND msgnr = gt_msgtab-msgnr.
    lv_msgv1 = gt_msgtab-msgv1.  "Function或BDC傳出的錯誤訊息
    lv_msgv2 = gt_msgtab-msgv2.
    lv_msgv3 = gt_msgtab-msgv3.
    lv_msgv4 = gt_msgtab-msgv4.

    CALL FUNCTION 'FIEB_REPLACE_AMPERSAND_MESSAGE'
      EXPORTING
        im_text  = lv_text
        im_msgv1 = lv_msgv1
        im_msgv2 = lv_msgv2
        im_msgv3 = lv_msgv3
        im_msgv4 = lv_msgv4
      IMPORTING
        ex_text  = lv_text.
 

沒有留言:

張貼留言