Freigeben über


Allocate (CPI-C)

Der Allocate-Aufruf (Funktionsname cmallc) wird vom aufrufenden Programm ausgegeben, um eine Unterhaltung mit dem Partnerprogramm unter Verwendung der aktuellen Konversationsmerkmale zuzuordnen. CPI-C kann auch eine Sitzung zwischen der lokalen logischen Einheit (LU) und der Partner-LU zuordnen, sofern noch keine vorhanden ist.

Syntax

  
CM_ENTRY Allocate(   
  unsigned char FAR *conversation_ID,    
    CM_INT32 FAR *return_code              
);  

Parameter

conversation_ID
Angegebener Parameter. Gibt den Unterhaltungsbezeichner an. Der Wert dieses Parameters wurde von Initialize_Conversation zurückgegeben.

return_code
Der von diesem Aufruf zurückgegebene Code. Die gültigen Rückgabecodes werden weiter unten in diesem Thema aufgeführt.

Rückgabecodes

CM_OK
Primärer Rückgabecode; Der Aufruf wurde erfolgreich ausgeführt.

CM_OPERATION_NOT_ACCEPTED
Primärer Rückgabecode; Dieser Wert gibt an, dass ein vorheriger Vorgang für diese Unterhaltung unvollständig ist.

CM_OPERATION_INCOMPLETE
Primärer Rückgabecode; Ein Nichtblockierungsvorgang wurde für die Unterhaltung gestartet, ist aber noch nicht abgeschlossen. Das Programm kann Wait_For_Conversation ausgeben, um auf den Abschluss des Vorgangs zu warten, oder Cancel_Conversation , um den Vorgang und die Konversation abzubrechen.

CM_PARAMETER_ERROR
Primärer Rückgabecode; eine der folgenden Ereignisse:

  • Der von den Seiteninformationen abgeleitete oder durch Set_Mode_Name festgelegte Modusname ist ungültig.

  • Der Modusname wird von SNA-Diensttransaktionsprogrammen (TPs) verwendet. das aufrufende Programm nicht berechtigt ist, diesen Modusnamen zu verwenden. Ein Beispiel ist SNASVCMG.

  • Das aus den Seiteninformationen abgeleitete Partnerprogramm ist ein SNA-Dienst-TP; Das lokale Programm verfügt nicht über die erforderlichen Berechtigungen, um eine Unterhaltung einem SNA-Dienst-TP zuzuordnen.

  • Das Partnerprogramm ist ein Dienst-TP, das an grundlegenden Unterhaltungen teilnimmt, die Konversation jedoch auf CM_MAPPED_CONVERSATION festgelegt ist.

  • Der von den Seiteninformationen abgeleitete oder durch Set_Partner_LU_Name festgelegte Name der Partner-LU ist ungültig.

    CM_PROGRAM_PARAMETER_CHECK
    Primärer Rückgabecode; Der durch conversation_ID angegebene Wert ist ungültig, oder die Adresse einer Variablen ist ungültig.

    CM_PROGRAM_STATE_CHECK
    Primärer Rückgabecode; Die Unterhaltung befindet sich nicht im INITIALIZE-Zustand.

    CM_PRODUCT_SPECIFIC_ERROR
    Primärer Rückgabecode; Ein produktspezifischer Fehler ist aufgetreten und wurde im Produktfehlerprotokoll protokolliert.

    CM_UNSUCCESSFUL
    Primärer Rückgabecode; das Zurücksteuerungsmerkmal für Unterhaltungen auf CM_IMMEDIATE festgelegt ist, und die lokale LU verfügte nicht über eine verfügbare Konflikt-Gewinner-Sitzung.

    Die folgenden Rückgabecodes können generiert werden, wenn der Rückgabesteuerungstyp für Unterhaltungen auf CM_WHEN_SESSION_ALLOCATED festgelegt ist.

    CM_ALLOCATE_FAILURE_NO_RETRY
    Primärer Rückgabecode; Die Konversation kann aufgrund einer permanenten Bedingung nicht zugeordnet werden, z. B. aufgrund eines Konfigurations- oder Sitzungsprotokollfehlers. Um den Fehler zu ermitteln, sollte der Systemadministrator sollte das Fehlerprotokoll untersuchen. Wiederholen Sie die Zuordnung erst, wenn der Fehler behoben wurde.

    CM_ALLOCATE_FAILURE_RETRY
    Primärer Rückgabecode; Die Konversation konnte aufgrund einer temporären Bedingung, z. B. eines Linkfehlers, nicht zugeordnet werden. Der Grund für den Fehler wird im Systemfehlerprotokoll protokolliert. Wiederholen Sie die Zuordnung.

    Zustandsänderungen

    Die Unterhaltung muss sich im INITIALIZE-Zustand befinden, wenn "Allocate" ausgegeben wird.

    Zustandsänderungen, zusammengefasst in der folgenden Tabelle, basieren auf dem Wert des return_code-Parameters .

return_code Neuer Zustand
CM_OK SEND
CM_ALLOCATE_FAILURE_NO_RETRY RESET
CM_ALLOCATE_FAILURE_RETRY RESET
Alle anderen Keine Änderung

Hinweise

Der Typ der zugeordneten Unterhaltung basiert auf dem Konversationstyp-Merkmal: zugeordnet oder einfach.

Wenn die Unterhaltung durch diesen Anruf zugeordnet wurde, können die folgenden Konversationsmerkmale nicht geändert werden:

  • Unterhaltungstyp

  • Modusname

  • Name der Partner-LU

  • Partnerprogrammname

  • Rückgabesteuerelement

  • Synchronisierungsebene

  • Konversationssicherheit

  • Benutzer-ID

  • Kennwort

    Um die Zuordnungsanforderung sofort zu senden, kann das aufrufende Programm direkt nach der ZuordnungFlush oder Confirm ausgeben. Andernfalls wird die Zuordnungsanforderung mit anderen Daten im lokalen LUs-Sendepuffer gesammelt, bis der Puffer voll ist.

    Durch Die Ausgabe von Bestätigen nach Zuweisung kann das aufrufende Programm sofort ermitteln, ob die Zuordnung erfolgreich war (wenn die Konversationssynchronisierungsebene auf CM_CONFIRM festgelegt ist).

    Wenn die Partner-LU die von Allocate generierte Zuordnungsanforderung ablehnt, wird der Fehler bei einem nachfolgenden Aufruf an das Aufrufprogramm zurückgegeben.