Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

DPUT-Aufruf im Auftrags-Komplex

Mit dem DPUT-Aufruf innerhalb eines Auftrags-Komplexes können Sie:

  • zeitgesteuerte Nachrichten, auch Basisaufträge genannt, mit ihren (Teil-)Nachrichten senden (Ausgabeaufträge an LTERM-Partner, an Asynchron-Vorgänge, Nachrichten an TAC-Queues oder
    Hintergrund-Aufträge an ferne Asynchron-Vorgänge bzw. TAC-Queues, die zuvor mit einem APRO AM-Aufruf adressiert wurden)

  • Benutzerinformationen zu diesen Aufträgen protokollieren

  • Quittungsaufträge mit zugehörigen Benutzerinformationen erzeugen

Versorgen des KDCS-Parameterbereichs (1. Parameter)

Die folgende Tabelle zeigt die verschiedenen Möglichkeiten und die entsprechenden Angaben im KDCS-Parameterbereich.

Funktion des Aufrufs

Einträge im KDCS-Parameterbereich

KCOP

KCOM

KCLM

KCRN

KCMF/kcfn

KCDF

Basisauftrag an LTERM-Partner oder an lokalen Asynchron-Vorgang oder an lokale TAC-Queue

"DPUT"

"NT"/"NE"

Länge

Komplex-Id

Formatkennzeichen / Leerzeichen/ Name der abstrakten Syntax / Editprofile (nur BS2000-Systeme)

Bildschirmfunktion / binär null

Basisauftrag an TAC-Queue

"DPUT"

"QT"/"QE"

Länge

Komplex-Id

——

——

Basisauftrag an fernen Asynchron-Vorgang oder an ferne TAC-Queue

"DPUT"

"NT"/"NE"

Länge

Komplex-Id

——

——

Benutzerinformation zu einem Auftrag

"DPUT"

"NI"/"QI"

Länge

Komplex-Id

Leerzeichen

binär null

Quittungsauftrag erzeugen

"DPUT"

"+T"/"-T"

Länge

Komplex-Id

Leerzeichen

binär null

Benutzerinformation zum Quittungsauftrag

"DPUT"

"+I"/"-I"

Länge

Komplex-Id

Leerzeichen

binär null


Die Operationsmodifikationen im Feld KCOP haben folgende Bedeutungen:

NT/QT: Teilnachricht eines Basisauftrags

NE/QE: letzte Teilnachricht oder Gesamtnachricht eines Basisauftrags
NI/QI: Benutzerinformation zum Basisauftrag
+T/-T: positiver bzw. negativer Quittungsauftrag
+I/-I: Benutzerinformation zum positiven bzw. negativen Quittungsauftrag

Die Operationsmodifikationen QE/QT/QI beziehen sich auf einen Basisauftrag mit dem Ziel TAC-Queue. Die Angabe des Ziels USER- oder Temporäre Queue ist beim DPUT-Aufruf im Auftrags-Komplex nicht möglich, da KCQTYP hier nicht ausgewertet wird und das Ziel beim zugehörigen MCOM-Aufruf angegeben wird.

Die Zeitangaben bei DPUT NT/NE/NI bzw. DPUT QT/QE/QI werden wie beim DPUT-Aufruf ohne Auftrags-Komplex angegeben. Bei DPUT NI/QI/+T/-T/+I/-I müssen alle nicht verwendeten Felder des KDCS-Parameterbereichs mit binär null versorgt werden.

Versorgen des 2. Parameters

Hier stellen Sie die Adresse des Nachrichtenbereichs bereit, aus dem openUTM die Nachricht oder die Benutzerinformation lesen soll.

Versorgen der Parameter

Feldname im KDCS-Parameterbereich

Inhalt

KCOP

"DPUT"

KCOM

"NT"/"NE"/"NI"/"QT"/"QE"/"QI"/"+T"/"-T"/ +I" / "-I"

KCLM

Länge in Byte

KCRN

Komplex-Identifikation

KCMF/kcfn

Formatkennzeichen / Leerzeichen / Name der abstrakten Syntax / Name des Editprofils (nur BS2000-Systemen)

KCDF

Bildschirmfunktion/binär null

KCMOD

"R"/"A"/'BLANK'/binär null

KCTAG / ...


  • KCTAG/kcday

Tag (rel./abs.)/'BLANK'/binär null

  • KCSTD/kchour

Stunde (rel./abs.)/'BLANK'/binär null

  • KCMIN

Minute (rel./abs.)/'BLANK'/binär null

  • KCSEK/kcsec

Sekunde (rel./abs.)/'BLANK'/binär null

KCQTYP

irrelevant (wird nicht ausgewertet)

Nachrichtenbereich



Daten

KDCS-Aufruf

1. Parameter

2. Parameter

KDCS-Parameterbereich

Nachrichtenbereich

C/C++-Makroaufrufe

Makronamen

Parameter

KDCS_DPUTNT/KDCS_DPUTNE

(nb,kclm,kcrn,kcfn,kcdf,kcmod,kcday,kchour,kcmin,kcsec)

KDCS_DPUTQT/KDCS_DPUTQE

(nb,kclm,kcrn,kcfn,kcdf,kcmod,kcday,kchour,kcmin,kcsec,kcqtyp)

KDCS_DPUTNI

(nb,kclm,kcrn,kcmod,kcday,kchour,kcmin,kcsec)

KDCS_DPUTQI

(nb,kclm,kcrn,kcmod,kcday,kchour,kcmin,kcsec,kcqtyp)

KDCS_DPUTPT/KDCS_DPUTMT/KDCS_DPUTPI/KDCS_DPUTMI

(nb,kclm,kcrn)

Rückgaben von openUTM

Feldname im KB-Rückgabebereich

Inhalt

KCRCCC

Returncode

KCRCDC

interner Returncode

Im KDCS-Parameterbereich tragen Sie für den DPUT-Aufruf innerhalb von Auftrags-Komplexen folgende Angaben ein:

KCOP

Im Feld KCOP geben Sie den Operationscode DPUT an.

KCOM

Im Feld KCOM tragen Sie die gewünschte Operationsmodifikation ein:

  • NT/QT für Teilnachricht des Basisauftrages.

  • NE/QE für Gesamtnachricht bzw. letzte Teilnachricht des Basisauftrags.

  • NI/QI für eine Benutzerinformation zum Basisauftrag.

  • +T für einen positiven Quittungsauftrag

  • -T für einen negativen Quittungsauftrag

  • +I für eine Benutzerinformation zum positiven Quittungsauftrag

  • -I für eine Benutzerinformation zum negativen Quittungsauftrag

Die Operationsmodifikationen QE/QT/QI beziehen sich auf einen Basisauftrag mit dem Ziel TAC-Queue.

KCLM

Im Feld KCLM geben Sie die Länge der Nachricht im Nachrichtenbereich an, die gesendet werden soll (Länge Null darf auch angegeben werden).

KCRN

Im Feld KCRN tragen Sie die Komplex-Identifikation (Komplex-Id) ein, die zum Auftrags-Komplex gehört (wird im MCOM-Aufruf vergeben).

KCMF/kcfn

Im Feld KCMF/kcfn (bei Nachrichten an einen Asynchron-Vorgang derselben Anwendung oder an einen LU6.1-Partner irrelevant) tragen Sie ein:

  • Leerzeichen im Zeilenmodus oder bei einem Auftrag an eine andere Anwendung ohne verteilte Verarbeitung

bei Nachrichten an OSI TP-Partner:

  • Name der abstrakten Syntax der Nachricht. Leerzeichen stehen dabei für die abstrakte Syntax von UDT; in diesem Fall wird als Transfer Syntax BER verwendet, und die Encodierung der Nachricht übernimmt openUTM.
    Wird hier ein Wert ungleich Leerzeichen angegeben, dann muss die Nachricht an openUTM in encodierter Form, d.h. in der zu dieser abstrakten Syntax passenden Transfer Syntax, übergeben werden.

Nur auf BS2000-Systemen:

  • ein Formatkennzeichen im Formatmodus

    Bei Nachrichten an RSO-Drucker:

    Wenn ein Format speziell für RSO-Drucker erstellt wurde, muss das Formatierungssystem FHS den Druckertyp nicht kennen, da FHS eine logische Nachricht erzeugt, die von RSO in die physikalische Nachricht umgewandelt wird.

    Andernfalls muss FHS den Druckertyp, wie er bei RSO generiert ist, unterstützen, da es sonst zum Formatierungsfehler kommt.

  • ein Editprofil (bei Zeilenmodus oder einem RSO-Drucker)
    Ist die Nachricht an einen RSO-Drucker gerichtet, so wird nur der Parameter CCSNAME eines Editprofils ausgewertet. Der Zeichensatzname wird an RSO übergeben. Alle weiteren Parameter des Editprofils werden ignoriert, da es sich um VTSU-B Editoptionen handelt, die Nachricht aber von RSO aufbereitet wird.

KCDF

Bei Ausgabe-Aufträgen an Terminals geben Sie im Feld KCDF die Bildschirmfunktion an. Bei Benutzerinformationen (KCOM = NI/QI) oder Aufträgen an Transportsystem-Anwendungen muss hier binär null angegeben werden.

Bei Hintergrundaufträgen und Nachrichten an TAC-Queues ist dieses Feld irrelevant.

Auf BS2000-Systemen muss binär null auch dann angegeben werden, wenn in KCMF/kcfn ein Editprofil oder ein #Format eingetragen ist.

KCMOD

Im Feld KCMOD wählen Sie bei Nachrichten an den Basisauftrag (KCOM = NT/NE/NI bzw. QT/QE/QI) die Art der Zeitangabe:

  • A für absolut

  • R für relativ

  • Leerzeichen, wenn der Auftrag ohne Wartezeit ausgeführt werden soll

Bei Nachrichten an Quittungsaufträge (KCOM = +T/-T/+I/-I) muss binär null eingetragen werden.

KCTAG / ...

In diesen Feldern machen Sie bei KCOM = NT/NE/NI bzw. QT/QE/QI die notwendigen Zeitangaben wie beim DPUT-Aufruf ohne Auftrags-Komplex, bei KCOM = +T/-T/+I/-I tragen Sie binär null ein.

KCQTYP

Das Feld KCQTYP wird nicht ausgewertet.

Nachrichtenbereich

Im Nachrichtenbereich tragen Sie die Nachricht oder Benutzerinformation ein, die Sie ausgeben wollen.

Beim KDCS-Aufruf geben Sie an:

1. Parameter

Die Adresse des KDCS-Parameterbereichs.

2. Parameter

Die Adresse des Nachrichtenbereichs, aus dem openUTM die Nachricht (bzw. Benutzerinformation) lesen soll. Die Adresse des Nachrichtenbereichs geben Sie auch an, wenn Sie in KCLM die Länge 0 eintragen.

Makronamen

Wie Sie Makroaufrufe für C/C++ nutzen, ist in Abschnitt „C/C++-Makroschnittstelle" ausführlich beschrieben.

openUTM gibt zurück:

KCRCCC

im Feld KCRCCC den KDCS-Returncode.

KCRCDC

im Feld KCRCDC den internen Returncode von openUTM (siehe openUTM-Handbuch „Meldungen, Test und Diagnose“).

KDCS-Returncodes im Feld KCRCCC beim DPUT-Aufruf mit Auftrags-Komplex

Im Programm sind auswertbar:

000

Die Funktion wurde ausgeführt.

06Z

Die Zeitangabe wechselt, ohne dass vorher DPUT NE gegeben wurde, d.h. mindestens eins der Felder KCMOD, KCTAG/kcday, KCSTD/kchour, KCMIN oder KCSEK/kcsec hat einen anderen Wert als beim ersten Nachrichtenteil (bei KCMOD=A/R). openUTM nimmt die Zeitangabe aus dem ersten DPUT-Aufruf und setzt die Nachricht fort.

40Z

openUTM kann die Funktion nicht durchführen, siehe Eintrag in KCRCDC.

Bei verteilter Verarbeitung: KCMOD = "'BLANK'" und es existiert keine logische Verbindung zur Partner-Anwendung.

41Z

Der Aufruf ist an dieser Stelle nicht erlaubt:

  • Nach Abschluss eines Basisauftrags (DPUT NE/QE) soll ein weiterer Basisauftrag gegeben oder eine Benutzerinformation protokolliert werden oder

  • das Formatkennzeichen wechselt bei mehreren DPUT NT oder

  • der Aufruf wurde im ersten Teil des Anmelde-Vorgangs abgesetzt oder

  • der Aufruf wurde im Anmelde-Vorgang nach einem SIGN ON Aufruf und vor dem PEND PS Aufruf abgesetzt.

42Z

Der Eintrag in KCOM ist ungültig oder es wurde KCOM = +T/-T angegeben, ohne dass ein Auftrags-Komplex oder ein Ziel für den Quittungsauftrag definiert wurde.

43Z

Die Längenangabe in KCLM ist negativ bzw. ungültig.

44Z

Die in KCRN angegebene Komplex-Identifikation ist ungültig.

45Z

Der Eintrag in KCMF/kcfn ist unzulässig. Mögliche Ursachen:

  • Das Formatkennzeichen in KCMF/kcfn ist nicht gültig.

  • Ist die Nachricht an einen Partner gerichtet, mit dem über das OSI TP-Protokoll kommuniziert wird, dann bedeutet dieser Returncode, dass die im Feld KCMF/kcfn angegebene abstrakte Syntax für die Partner-Anwendung nicht generiert ist.

Nur auf BS2000-Systemen:

  • Das Editprofil ist nicht generiert.

  • Das Editprofil wechselt bei Nachrichtenteilen an Terminals.

47Z

Die Adresse des Nachrichtenbereichs ist ungültig.

49Z

Der Inhalt nicht verwendeter Felder des KDCS-Parameterbereichs ist ungleich binär null.

51Z

Die Reihenfolge der DPUT-Aufrufe wurde nicht eingehalten (siehe unten).

56Z

Der Eintrag in KCMOD ist unzulässig oder die Zeitangabe in KCTAG/kcday, KCSTD/kchour, KCMIN oder KCSEK/kcsec ist ungültig oder liegt nicht innerhalb der generierten Zeitspanne.

Ein weiterer Returncode ist dem DUMP zu entnehmen:

71Z

In diesem Programm wurde kein INIT gegeben.

Eigenschaften des DPUT-Aufrufs innerhalb von Auftrags-Komplexen

  • Für die Reihenfolge der DPUT-Aufrufe gelten die folgenden Regeln:

    • Die Benutzerinformation muss vor dem zugehörigen (Quittungs-)Auftrag geschrieben werden: DPUT NI vor DPUT NT/NE bzw. DPUT QI vor DPUT QT/QE, DPUT +I vor DPUT +T und DPUT -I vor DPUT -T. Dabei ist nur ein DPUT +I/-I pro DPUT +T/-T erlaubt.
      Die Benutzerinformation eines Quittungsauftrags kann erst dann gelesen werden, wenn der Quittungsauftrag aktiviert wurde.

    • Vor dem ersten Quittungsauftrag muss der Basisauftrag begonnen werden, d.h. DPUT NT/NE bzw. DPUT QT/QE vor dem ersten DPUT +T/-T. Es sind mehrere DPUT +T oder DPUT -T erlaubt; diese werden jeweils als ein positiver
      Quittungsauftrag (bei +T) und als ein negativer Quittungsauftrag (bei -T) betrachtet.

  • Ein Wechsel des Formatkennzeichens bei mehreren Nachrichtenteilen (DPUT NT) ist nicht erlaubt.

  • Bei einem Returncode 40Z in einem DPUT-Aufruf gehen alle Nachrichten und Informationen, die zu dem Auftrags-Komplex gehören, verloren; die Komplex-Id wird freigegeben.

    Bei DPUT-Nachrichten über verteilte Verarbeitung wird bei 40Z auch die Vorgangs-Id freigegeben.

    Bei allen anderen Returncodes kleiner 70Z bleiben sämtliche Informationen des Komplexes einschließlich der Komplex-Id erhalten.

  • Parallele Asynchron-Aufträge (d.h. Wechsel des Ziels vor DPUT NE/QE) sind erlaubt, wenn das Ziel einer anderen Kategorie angehört, d.h. vor DPUT NE ist ein DPUT mit KCRN = LTERM/TAC/Queue oder KCRN = VGID zulässig.

    Beispiel für parallele Asynchron-Aufträge

    KDCS-Aufruf

    Ziel und Identifikation

    Bemerkungen

    MCOM BC

    KCRN = DRUCKER1
    KCCOMID = *KOMPLEX
    KCPOS = ATAC5

    Beginn eines Auftrags-Komplexes und Auftragsziele definieren

    DPUT NT

    KCRN = *KOMPLEX

    1. Teilnachricht zum Basisauftrag

    DPUT NE

    KCRN = ATAC1

    Hintergrund-Auftrag an ein Programm

    APRO AM

    KCRN = LTAC
    KCPA = APPL1
    KCPI = > VGID

    Auftragnehmer-Vorgang adressieren

    DPUT NE

    KCRN = > VGID

    Hintergrund-Auftrag an Auftragnehmer-Vorgang

    DPUT NE

    KCRN = *KOMPLEX

    2. Teilnachricht zum Basisauftrag

    DPUT +T

    KCRN = *KOMPLEX

    Positiver Quittungsauftrag

    MCOM EC

    KCRN = binär null
    KCCOMID = *KOMPLEX

    Ende des Auftrags-Komplexes