Freigeben über


Fehler (CPI-C)

In der folgenden Tabelle sind Zustandsänderungen zusammengefasst, die auftreten, wenn ein Datenübertragungsfehler auftritt.

return_code Alter Zustand Neuer Zustand
CM_PROGRAM_ERROR_PURGING RECEIVE Keine Änderung
CM_PROGRAM_ERROR_NO_TRUNC RECEIVE Keine Änderung
CM_SVC_ERROR_PURGING SEND RECEIVE
CM_SVC_ERROR_NO_TRUNC SEND_PENDING RECEIVE

Wenn das Partnerprogramm einen logischen Datensatz abschneidet, erhält das lokale Programm eine Benachrichtigung über den Abschneiden über return_code im nächsten Empfangsanruf .

Wenn ein Programm den Empfang mit requested_length auf Null festgelegt hat, wird der Aufruf wie gewohnt ausgeführt. Data_received und status_received werden jedoch nicht für denselben Empfangsanruf festgelegt. (Eine Ausnahme zu dieser Situation ist der NULL-Datensatz, der über eine zugeordnete Unterhaltung gesendet wird, die im nächsten Absatz beschrieben wird.)

In einer zugeordneten Unterhaltung, in der Daten aus dem Partnerprogramm verfügbar sind, wird data_received auf CM_INCOMPLETE_DATA_RECEIVED festgelegt. Wenn ein NULL-Eintrag verfügbar ist (send_length im vom Partnerprogramm ausgegebenen Send_Data Anruf auf Null festgelegt ist), wird data_received auf CM_COMPLETE_RECORD_RECEIVED festgelegt, wobei received_length auf Null festgelegt ist.

In einer einfachen Unterhaltung, in der Daten verfügbar sind und die Fülleigenschaft auf CM_FILL_LL festgelegt ist, wird data_received auf CM_INCOMPLETE_DATA_RECEIVED festgelegt. Wenn die Fülleigenschaft auf CM_FILL_BUFFER festgelegt ist, wird data_received auf CM_DATA_RECEIVED festgelegt.

Die logische Einheit (LU) führt keine Konvertierung zwischen EBCDIC und ASCII in der empfangenen Datenzeichenfolge aus, bevor sie in den Puffer eingefügt wird. Bei Bedarf kann das Programm das Common Service Verb (CSV) CONVERT verwenden, um eine Zeichenfolge aus einem Zeichensatz in den anderen zu übersetzen.