-
Ermitteln ob Drucker im System vorhanden
Hi,
wie kann ich in einem Programm. Egal RPG oder CL ermittlen ob ein Drucker im System verfügbar ist. Gibt es eine Systemtabelle? Eine API? Oder RTVOBJD???
Hab mich schon an QGYRPRTA versucht aber entweder ich hab was falsch gemacht oder die ist dazu nicht wirklich gut zu gebrauchen. Kann mir jemand einen Tip geben?
Gruß Sascha
-
Versuch mal RTVCFGSTS !
Allerdings geht das nur mit DEVD-Druckern und nicht mit Remote-OUTQ's.
-
Okay danke für die schnelle Antwort. Wie mache ich es dann aber in RPG?
-
Hallo Sascha,
system sollte 0 zurück liefern, falls es klappt. Beispiele zur Verwendung von system gibt es auf meiner OpenSource Page en masse.
Dieter Bender
![Zitat](images/misc/quote_icon.png) Zitat von JonnyRico
Okay danke für die schnelle Antwort. Wie mache ich es dann aber in RPG?
-
mittels api
hallo sascha,
ist zwar schon etwas älter aber sollte noch funktionieren
***************** Datenanfang ******************************************
/************************************************** *******************/
/* */
/* Program: $PRFTAP */
/* */
/* Purpose: Determine if a given printer exists. */
/* */
/* Parms: &DEV IN 10A Name of printer */
/* &rtncde OUT 1A Y=Yes, N=No, ?=Error */
/* */
/************************************************** *******************/
PGM ( +
&DEV /* DEVICE name */ +
&rtncde /* Return code */ +
)
DCL &apierrcde *CHAR 8
DCL &DEV *CHAR 10
DCL &rcvvar *CHAR 64
DCL &rtncde *CHAR 1
DCL &#error *CHAR 1 '?'
DCL &#no *CHAR 1 'N'
DCL &#yes *CHAR 1 'Y'
MONMSG cpf0000 EXEC( GOTO error )
CHGVAR &rtncde &#yes
CHGVAR &apierrcde X'00000008'
CALL qdcrdevd ( +
&rcvvar /* Dummy receiving variable */ +
X'00000040' /* Length = 64 */ +
'DEVD0100' /* Use simplest data format */ +
&DEV /* DEVICE name */ +
&apierrcde /* API error code */ +
)
/* --------------------------------------------------------------- +
* Not a TAPE if QDCRDEVD ends in error, or +
* if the device category is not *TAPF. +
*/
IF ( %BIN( &apierrcde 5 4 ) > 0 ) DO
CHGVAR &rtncde &#no
ENDDO
IF ( %SST( &rcvvar 32 10 ) *NE '*PRT' ) DO
CHGVAR &rtncde &#no
ENDDO
RETURN
error:
CHGVAR &rtncde &#error
ENDPGM
******************Datenende *******************************************
LG
Hans-Joachim
-
Hey danke. Super Tip. Klappt bestens.
-
Wie immer gibts mehrere Methoden.
RTVOBJD liefert halt diverse Beschreibungen (auch den Objekttyp).
RTVCFGSTS prüft neben der Existenz halt auch, in welchen Status (abgehängt, angehängt, Nachricht, online,...) das Gerät ist.
Similar Threads
-
By Kilianski in forum Archiv NEWSboard Events
Antworten: 0
Letzter Beitrag: 11-01-07, 09:30
-
By frono in forum NEWSboard Drucker
Antworten: 1
Letzter Beitrag: 07-03-06, 19:45
-
By Q_SECOFR in forum NEWSboard Drucker
Antworten: 1
Letzter Beitrag: 08-02-06, 17:36
-
By Margot in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 06-06-05, 09:14
-
By BlumenHolMAn in forum NEWSboard Drucker
Antworten: 7
Letzter Beitrag: 23-06-04, 10:21
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks