EXCEL导入/ALV批量数据 错误信息显示页面

EXCEL导入/ALV批量数据执行想把有问题得数据报出来不想加到每行里面

可以调用消息函数:RSCRMBW_DISPLAY_BAPIRET2

例如:代码

  DATA: lt_message TYPE TABLE OF bapiret2,
        ls_message TYPE bapiret2.
*从第四行开始为数据行
  LOOP AT lt_intern INTO ls_intern WHERE row >= 4.
    CLEAR gs_alv_02.
 
*用列号匹配内表字段
    ASSIGN COMPONENT ls_intern-col OF STRUCTURE gs_upload_02 TO <lfs_value_data>.
    IF sy-subrc = 0.
      DESCRIBE FIELD <lfs_value_data> LENGTH  lv_length_data IN CHARACTER MODE.
      lv_length_excel = strlen( ls_intern-value ).
      IF lv_length_data >= lv_length_excel.
        <lfs_value_data> = ls_intern-value.
      ELSE.
        lv_check_false = abap_true.
        CLEAR ls_message.
        ls_message-type = 'E'.
        ls_message-id = '00'.
        ls_message-number = '001'.
        ls_message-message = '第' && ls_intern-row && '行' &&
                             '第' && ls_intern-col && '列' && '数据超出长度'.
        APPEND ls_message TO lt_message.
      ENDIF.
    ENDIF.
 
    AT END OF row.
      APPEND gs_upload_02 TO gt_upload_02.
      CLEAR gs_upload_02.
    ENDAT.
 
  ENDLOOP.
 
*整理excel内表数据至alv
  IF lv_check_false IS INITIAL.
    LOOP AT gt_upload_02 INTO DATA(ls_upload_02).
      CLEAR gs_alv_02.
      MOVE-CORRESPONDING ls_upload_02 TO gs_alv_02.
 
      gs_alv_02-kunnr        =  |{ gs_alv_02-kunnr  ALPHA = IN }|.
      gs_alv_02-icon_traffic = '@EB@'.
      APPEND gs_alv_02 TO gt_alv_02.
      CLEAR: ls_upload_02.
    ENDLOOP.
  ELSE.
    CALL FUNCTION 'RSCRMBW_DISPLAY_BAPIRET2'
      TABLES
        it_return = lt_message.
    STOP.
  ENDIF.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值