Show TOC

Lokale PrüfungLocate this document in the navigation structure

Prozess

Bei der lokalen Prüfung wird nur festgestellt, ob lokal überhaupt Ressourcen vorhanden sind. Nur dann macht eine detaillierte Prüfung Sinn. Falls lokal keine Ressourcen vorhanden sind, dann wird die detaillierte Prüfung nicht mehr durchgeführt. Diese Prüfung wird immer im Workprozess durchgeführt.

Die Prüfung läuft ab wie folgt:

  1. Initial werden die maximalen Ressourcen auf 10.000 gesetzt:

    resources = 10.000

  2. Prüfen der Kommunikationskanäle: sind noch genügend Einträge der Kommunikationstabelle vorhanden? Die Anzeige erfolgt über Transaktion SM51, Anfang des Navigationspfads Springen Nächster Navigationsschritt Server-Info Nächster Navigationsschritt Komm.Tabelle Ende des Navigationspfads.

    1. Berechne

      quota=(rdisp/max_comm_entries*rdisp/rfc_max_comm_entries) / 100

      (es zählt nur der ganzzahlige Anteil, Stellen nach dem Komma werden ignoriert). Falls die Quote 0 ergibt, wird der Grund= TH_ARFC_RES_LOCAL_LOW_MAX_COMM_ENTRIES und der Returnwert=2 ( NEVER_GET_RESOURCES) gesetzt.

    2. Anzahl der benutzten Kommunikationskanäle wird bestimmt, quota wird auf diesen Wert gesetzt, und es wird geprüft, ob die erlaubte Quote überschritten ist.

    3. Falls die Quote überschritten ist ( count>quota), werden keine Ressourcen zurückgeliefert und der Grund= TH_ARFC_RES_LOCAL_MAX_COMM_ENTRIES gesetzt und der Rückgabewert=0 gesetzt.

    4. Ansonsten werden die Ressourcen neu ermittelt (und eventuell reduziert):

      new_resources=min(quota-count, resources)

      und der Grund= TH_ARFC_RES_OK und der Rückgabewert=0 gesetzt.

  3. Anzahl der asynchronen Nachrichten: Der Workprozess kann nur eine begrenze Anzahl von asynchronen Nachrichten zwischenspeichern. Dieser Wert wird durch den Profilparameter rdisp/max_arq bestimmt (Defaultwert=200). Dieser Wert kann nicht dynamisch geändert werden.

    1. quota = max(rdisp/max_arq - act_size - 20, 0 )

      Neben den aktuell belegten Queue-Einträgen wird noch ein Puffer von 20 abgezogen.

    2. count = asyn_rfcs (Anzahl der asynchronen RFCs)

    3. Falls die Quote überschritten wurde ( count > quota) , werden keine Ressourcen zurückgeliefert und der Grund= TH_ARFC_RES_LOCAL_ARFCQUEUE und der Rückgabewert=0 gesetzt

    4. Ansonsten werden die Ressourcen neu ermittelt und der Grund= TH_ARFC_RES_OK und der Rückgabewert=0 gesetzt.

Weitere Informationen