Ich komm leider im Moment nicht an das System ran. Probiers mal selber. Wenn du nicht zurecht kommst postest du was du hast und wir schauen dann gemeinsam weiter. Die Namen die TH_SERVER_LIST zurückliefert kannst du direkt als RFC-Destination einsetzen. In der Hilfe zu CALL FUNCTION ... DESTINATION sollte das auch beschrieben sein.
Korrekt. Ich würde nur der Einfachheit halber den RFC-Baustein für alle 5 Server ident ausführen lassen, weil du sonst eine Weiche für die aktuelle Serverinstanz einbauen müsstest und das macht es nur wieder kompliziert.sharkofnose hat geschrieben: ↑03.04.2020 17:18Also angenommen ich habe 5 Server, dann rufe ich in meinem Job den RFC Baustein 4 mal auf und gebe dort den Server an. Dem RFC Baustein übergebe ich dann die Daten, die ich in den SHM Puffer schreiben will und der FB updatet dann den SHM.
Verstehe ich das so richtig?
Code: Alles auswählen.
FUNCTION zz_refresh_shared_mem.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(CLIENT) TYPE SYMANDT DEFAULT SY-MANDT
*" VALUE(DATA) TYPE ZDATA
*"----------------------------------------------------------------------
DATA it_srv_list TYPE TABLE OF msxxlist.
FIELD-SYMBOLS <fs_srv> TYPE msxxlist.
CALL FUNCTION 'TH_SERVER_LIST'
* EXPORTING
* SERVICES = 255
TABLES
list = it_srv_list
EXCEPTIONS
no_server_list = 1
OTHERS = 2.
IF sy-subrc <> 0. EXIT. ENDIF.
LOOP AT it_srv_list ASSIGNING <fs_srv>.
CALL FUNCTION 'ZZ_REFRESH_RFC_SHARED_MEM' IN BACKGROUND TASK
DESTINATION <fs_srv>-name
EXPORTING
client = client
data = zdata
ENDLOOP.
COMMIT WORK.
ENDFUNCTION.