Datensätze mit RFC FuBa paketweise bekommen

Aus SAP Wiki ツ

Dies ist ein einfaches Beispiel wie man paketweise Datensätze via RFC Baustein bekommen kann. Die Aufteilung in Paketen ist bei extrem vielen Datensätzen notwendig.

SELECT COUNT( * ) FROM mara INTO @DATA(gv_total)
                  WHERE matnr IN @gt_mat_range.

DO.
 SELECT matnr FROM mara INTO TABLE @DATA(gt_mara)
             UP TO gv_packsize ROWS
             WHERE matnr IN gt_mat_range
               AND matnr > gv_last_mat
             ORDER BY matnr ASCENDING.

 IF sy-dbcnt = 0.
  EXIT.
 ENDIF.

 gv_last_mat = gt_mara[ lines( gt_mara ) ].
 gv_current  = gv_current + gv_packsize.

 IF gv_current > gv_total.
  gv_current = gv_total.
 ENDIF.
 
 "Dieser FuBa ist im Zielsystem vorhanden.
 "Anhand der Materialnummer werden die Kurztexte gelesen und dem System übergeben,
 "der die Kurztexte anfragt.             
 CALL FUNCTION 'Z_GET_MAT_SHORTEXT' DESTINATION gv_rfc_dest
  EXPORTING
   it_matnr         = gt_mara
  IMPORTING
   et_matnr_maktx   = gt_matnr_maktx_dest
  EXCEPTIONS
   system_failure        = 1
   communication_failure = 2
   OTHERS                = 3.
 IF sy-subrc <> 0.
  RAISE EXCEPTION TYPE zcl_bal.
 ENDIF.

ENDO.

Dieses Wiki wird privat in Freizeit nach bestem Wissen und Gewissen gepflegt und dient primär als eigene Wissenssammlung für die tägliche Arbeit im SAP-ERP-Umfeld.
Alle dargestellten Softwareprodukte, auch in Form von Screenshots, sind Eigentum der SAP SE. Ihre Marken, vgl. Link, sind u.a.: SAP®, ABAP®, SAP Fiori®, SAP HANA®, SAP S/4HANA®, SAP S/4HANA® Cloud