FUNCTION YY_RFC_ABAP_RUN. *"---------------------------------------------------------------------- *"*"Interface locale : *" IMPORTING *" VALUE(PROGRAMNAME) LIKE SY-REPID *" VALUE(VARIANT) TYPE VARIANT OPTIONAL *" TABLES *" SELTAB STRUCTURE RSPARAMS *" WRITES STRUCTURE LISTZEILE *" EXCEPTIONS *" VARIANT_ERROR *" SUBMIT_ERROR *"---------------------------------------------------------------------- * * *"---------------------------------------------------------------------- DATA: BEGIN OF LISTOBJ OCCURS 20. INCLUDE STRUCTURE ABAPLIST. DATA: END OF LISTOBJ. DATA W_RC LIKE SY-SUBRC. IF NOT VARIANT IS INITIAL. CALL FUNCTION 'RS_VARIANT_EXISTS' EXPORTING REPORT = PROGRAMNAME VARIANT = VARIANT IMPORTING R_C = W_RC EXCEPTIONS NOT_AUTHORIZED = 1 NO_REPORT = 2 REPORT_NOT_EXISTENT = 3 REPORT_NOT_SUPPLIED = 4 OTHERS = 5. IF SY-SUBRC <> 0 OR W_RC <> 0. RAISE VARIANT_ERROR. ENDIF. SUBMIT (PROGRAMNAME) USING SELECTION-SET VARIANT AND RETURN EXPORTING LIST TO MEMORY. IF SY-SUBRC <> 0. RAISE SUBMIT_ERROR. ENDIF. ELSEIF NOT SELTAB[] IS INITIAL. SUBMIT (PROGRAMNAME) WITH SELECTION-TABLE SELTAB AND RETURN EXPORTING LIST TO MEMORY. IF SY-SUBRC <> 0. RAISE SUBMIT_ERROR. ENDIF. ELSE. SUBMIT (PROGRAMNAME) AND RETURN EXPORTING LIST TO MEMORY. IF SY-SUBRC <> 0. RAISE SUBMIT_ERROR. ENDIF. ENDIF. CALL FUNCTION 'LIST_FROM_MEMORY' TABLES LISTOBJECT = LISTOBJ EXCEPTIONS NOT_FOUND = 1. IF SY-SUBRC = 0. CALL FUNCTION 'LIST_TO_ASCI' TABLES LISTOBJECT = LISTOBJ LISTASCI = WRITES. ENDIF. ENDFUNCTION.