RFC_READ_TABLE

  DATA:
    lt_fields     TYPE TABLE OF rfc_db_fld,
    lt_options    TYPE TABLE OF rfc_db_opt,
    ls_option     TYPE rfc_db_opt,
    lt_data       TYPE TABLE OF tab512,
    lv_table_name TYPE   dd02l-tabname VALUE 'ZPP_TABLE.

  TYPES:BEGIN OF ty_delv_info,
          vbeln TYPE vbeln_va,
          posnr TYPE posnr_va,
        END OF ty_delv_info.
  DATA:lt_delv_info TYPE TABLE OF ty_delv_info.

  DATA(lv_ecc_rfcdest) = zcl_ca_tools=>get_rfcdest( ).
  CHECK lv_ecc_rfcdest IS NOT INITIAL.

  DATA(gt_out_tmp) = gt_out[].
  SORT gt_out_tmp BY vbeln delps.
  DELETE ADJACENT DUPLICATES FROM gt_out_tmp COMPARING vbeln delps.

  REFRESH lt_options.
  CLEAR lt_options.
  LOOP AT gt_out_tmp INTO DATA(ls_out_tmp) WHERE vbeln <> ''.
    IF lt_options[] IS INITIAL.
      CONCATENATE  ' VBELN = '  ''''ls_out_tmp-vbeln''''   INTO ls_option.
    ELSE.
      CONCATENATE  ' OR VBELN = '  ''''ls_out_tmp-vbeln''''   INTO ls_option.
    ENDIF.
    APPEND ls_option  TO lt_options .
  ENDLOOP.

  APPEND VALUE #( fieldname = 'VBELN') TO lt_fields.
  APPEND VALUE #( fieldname = 'POSNR') TO lt_fields.

  CALL FUNCTION 'RFC_READ_TABLE'
    DESTINATION lv_ecc_rfcdest
    EXPORTING
      query_table          = lv_table_name
    TABLES
      options              = lt_options
      fields               = lt_fields
      data                 = lt_data
    EXCEPTIONS
      table_not_available  = 1
      table_without_data   = 2
      option_not_valid     = 3
      field_not_valid      = 4
      not_authorized       = 5
      data_buffer_exceeded = 6
      OTHERS               = 7.

  CHECK sy-subrc = 0.
  LOOP AT lt_data ASSIGNING FIELD-SYMBOL(<fs_data>).
    APPEND VALUE #(
          vbeln_apo = <fs_data>+0(10)
          posnr_apo = <fs_data>+10(6)
    ) TO lt_delv_info.

  ENDLOOP.
  SORT lt_delv_info BY vbeln_apo posnr_apo.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ChampaignWolf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值