Programmierung

Prozedurbefehle in verschiedenen Umgebungen

CONZEPT 16 bietet eine große Zahl von Prozedurbefehlen. Die meisten können in allen Umgebungen, wie im SOA-Service oder auf dem Server per RmtCall(), ausgeführt werden. Einige Befehle sind jedoch nicht in allen Umgebungen verfügbar. Heute möchte ich die Gründe dafür näher beleuchten.

Benötigt Oberfläche

Alle Befehle, die mit Win, Com, Prt, Tapi und Pdf anfangen, benötigen Zugriff auf Funktionen der Benutzeroberfläche. Dieser Zugriff wird die über die c16_objw.dll durchgeführt und ist normalerweise nur im Standard- oder Advanced-Client aktiv. Daneben gibt es Befehle wie SckListen(), FsiMonitorOpen() oder JobEvent(), die Ereignisse zur Folge haben und daher ebenfalls die c16_objw.dll benötigen.

Über den Eintrag c16_proc_extended der Konfigurationsdatei kann im SOA-Service (32-Bit) die c16_objw.dll eingebunden und somit auf Oberflächenfunktionen zugegriffen werden. Standardmäßig kann der SOA-Service nicht mit der Oberfläche interagieren. Falls Dialoge angezeigt werden müssen, ist es daher notwendig in der Windows-Verwaltung der Dienste den Haken bei “Datenaustausch zwischen Dienst und Desktop zulassen” zu setzen. Dies sollte jedoch nur gesetzt werden, wenn es zwingend erforderlich ist, Dialoge im SOA-Service anzuzeigen.

Wird bei der DLL-Schnittstelle die c16_pgxe.dll verwendet, ist auch hier ein Zugriff auf Win-Befehle möglich.

Komponentenspezifische Befehle

Einige Befehlsgruppen sind speziell für bestimmte Komponenten konzipiert worden und sind daher nur in diesen Komponenten ausführbar. Hierzu zählen die Befehle, die mit folgenden Kürzeln anfangen:

  • Ppc – Druckprozessor
  • Wse – Web-Schnittstelle
  • Job – Standard-, Advanced-Client und SOA-Service
  • Svc – SOA-Service

Befehle mit eingeschränkten Möglichkeiten

Einige Befehle sind zwar in mehreren Komponenten ausführbar, unterliegen jedoch in bestimmten Umgebungen gewissen Einschränkungen. Zum Beispiel kann der Befehl SckConnect() überall verwendet werden. Die Verschlüsselung mit _SckSSLv2, _SckSSLv3 bzw. _SckTLSv1 ist nur im Client, Druckprozessor, Server, SOA-Service und in der Programmierschnittstelle möglich. Hierzu wird die Bibliothek c16_ssl_wXX.dll benötigt.

Die Job-Befehle können zwar im Client ausgefüht werden, jedoch kann mit JobStart() nur ein neuer Thread (_JobThread) in dem Clientprozess gestartet werden.

Woran erkenne ich, ob der Befehl in der Zielumgebung ausführbar ist?

In der Dokumentation ist bei jeder Funktion oben rechts eine Reihe von Piktogrammen, die die Komponenten symbolisieren, in denen die Funktion ausgeführt werden kann. Ist ein Piktogramm nicht vorhanden, kann die Funktion in der Komponente nicht ausgeführt werden.

Verwendbarkeit eines Befehls am Beispiel von RecRead

Die Symbole zeigen von links nach rechts:

  • Standard- & Advanced-Client
  • Server
  • DLL- und PHP-Schnittstelle
  • Web-Schnittstelle
  • Druckprozessor
  • ODBC-Schnittstelle
  • SOA-Service

Im Anhang des Artikels finden Sie eine Liste der Funktionen und deren Ausführbarkeit auf den unterschiedlichen Komponenten von CONZEPT 16.

Download

Liste der Funktionen c16_func_exec.pdf (212.03 KB)
Sie müssen angemeldet sein, um die Datei herunterladen zu können.

2 Kommentare

2 Kommentare “Prozedurbefehle in verschiedenen Umgebungen”

Kommentar abgeben