READ_TEXT function 报错解决方法.

16 篇文章 0 订阅
 
data:zebeln type thead-tdname.
data:it_line like table of tline with header line.
clear:zebeln.
concatenate ekko-ebeln ekpo-ebelp into zebeln.
clear:it_line,it_line[].
call function 'READ_TEXT'
  exporting
    client                        = sy-mandt
    id                            = 'F01'
    language                      = sy-langu
    name                          = zebeln
    object                        = 'EKPO'
*                 ARCHIVE_HANDLE                = 0
*                 LOCAL_CAT                     = ' '
*               IMPORTING
*                 HEADER                        =
*                 OLD_LINE_COUNTER              =
  tables
    lines                         =  it_line
*               EXCEPTIONS
*                 ID                            = 1
*                 LANGUAGE                      = 2
*                 NAME                          = 3
*                 NOT_FOUND                     = 4
*                 OBJECT                        = 5
*                 REFERENCE_CHECK               = 6
*                 WRONG_ACCESS_TO_ARCHIVE       = 7
*                 OTHERS                        = 8
          .
if sy-subrc <> 0.
* Implement suitable error handling here
  zcgddwb = '0'.
  rollback work.
else.
  read table it_line index 1.
  if sy-subrc = 0.
    zcgddwb = it_line-tdline.
  endif.
endif.


以上程序如果在执行function的时候,提前没有判断该条是否有text,则就会执行不下去, 因此,先判断该条记录是否有text .

READ_TEXT 保存在两个表里,一个抬头 透明表:STXH ,    另一个行项目: 透明表 :STXL

,我是 用透明表判断就行了.


      select single *
          from stxl
          where tdobject = 'EKPO'
*          and   mandt    = sy-mandt
          and   tdid     = 'F01'
          and   tdspras    = sy-langu
          and   tdname = zebeln
          .
      if sy-subrc = 0 .
             call function 'READ_TEXT'
               exporting
                 client                        = sy-mandt
                 id                            = 'F01'
                 language                      = sy-langu
                 name                          = zebeln "'530000018800010'
                 object                        = 'EKPO'
*                              ARCHIVE_HANDLE                = 0
*                              LOCAL_CAT                     = ' '
*                            IMPORTING
*                              HEADER                        =
*                              OLD_LINE_COUNTER              =
               tables
                 lines                         =  it_line
*                            EXCEPTIONS
*                              ID                            = 1
*                              LANGUAGE                      = 2
*                              NAME                          = 3
*                              NOT_FOUND                     = 4
*                              OBJECT                        = 5
*                              REFERENCE_CHECK               = 6
*                              WRONG_ACCESS_TO_ARCHIVE       = 7
*                              OTHERS                        = 8
                       .
         loop at it_line.
            it_alv-zcgddwb = it_line-tdline .
         endloop.
      endif.


这样就会把没有的略过去了.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值