[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2004
    Beiträge
    923

    ups

    ups...

    na gut einen hab ich noch.
    -
    PRTF ändern und in ne neue/andere OUTQ ausgeben (Zombieausgabe).
    Darüber nen Programm laufen lassen, was die OUTQ auswertet (Beispiele gibts hier im Forum dazu [http://www.rlpforen.de/showthread.ph...ighlight=outq]) und dann einen Ausdruck an die eine OUTQ schickt und den anderen an die andere...
    -
    Schwupps haste ne Automatik...

    nun muss ich aber los...

    gruss

    k.

  2. #2
    Registriert seit
    Sep 2005
    Beiträge
    53

    Question Drucken einer Kopie

    Hallo,

    also folgendes :

    Dummie erzeugen (outq ... und starten) ,Datei auf *sav einstellen

    und dann ?

    oder gibt es alternativ die Möglichkeit zu einer bestimmten Zeit die Druckdatei in ein anderes outq umzuleiten ?

    Eric

  3. #3
    Registriert seit
    May 2002
    Beiträge
    2.643

    DUPCHGSPLF

    Hallo,
    dann benütz doch dies:



    DUPCHGSPLF (DUPLICATE AND CHANGE SPOOL FILE) UTILITY
    There are several ways to duplicate a spool file:

    * Use CPYSPLF to copy it to a physical file, then using CPYF to copy
    back to another spool file.

    * Use the SNDNETSPLF command.

    * Use the SNDTCPSPLF command.

    Another method has been posted in the iSeries Network forums by
    prolific utility author Herman Van der Staey. His DUPCHGSPLF utility
    not only duplicates spool files, but also expands the number of spool
    attributes you can change beyond those offered by the CHGSPLFA (Change
    Spooled File Attributes) command. Here's a sample DUPCHGSPLF command:

    DUPCHGSPLF JOB(123456/QSYSOPR/BACKUP) SPLFILE(QPJOBLOG) ******+
    LPI(8) CPI(12) FONT(*CPI) PAGRTT(90) OUTQ(MYLIB/MYOUTQ) DRAWER(2) +
    OUTBIN(3) NEWUSER(JOE) NEWSPLNAME(BACKUPLOG)

    You don't need to specify all parameters, because the default value is *SAME.

    Note that you can change the USER and the NAME of the spooled file.
    In the example, user JOE will become the owner of the new spooled file,
    which will ressort under a QPRTJOB jobname.


    /* */
    /* \\\\\\\ */
    /* ( o o ) */
    /*------------------------oOO----(_)----OOo-------------------------*/
    /* */
    /* Command : DUPCHGSPLF */
    /* Version : 2.01 */
    /* System : iSeries */
    /* Author : Herman Van der Staey */
    /* */
    /* Description : Duplicate and Change Spooled file */
    /* */
    /* ooooO Ooooo */
    /* ( ) ( ) */
    /*----------------------( )-------------( )---------------------*/
    /* (_) (_) */
    /* */
    /* To compile : */
    /* */
    /* CRTCMD CMD(XXX/DUPCHGSPLF) PGM(XXX/DUPCHGSPLF) + */
    /* SRCFILE(XXX/QCMDSRC) */
    /* */

    DUPCHGSPLF: CMD PROMPT('Duplicate and change SPLF')

    PARM KWD(JOB) TYPE(JOBNAME) DFT(*) SNGVAL((*)) +
    PROMPT('Job name')

    PARM KWD(SPLFILE) TYPE(*NAME) LEN(10) DFT(QPRINT) +
    PROMPT('Spooled file name')

    PARM KWD(SPLNBR) TYPE(*INT4) DFT(*LAST) RANGE(1 +
    9999) SPCVAL((*ONLY 0) (*LAST -1)) MIN(0) +
    PROMPT('Spooled file number')

    PARM KWD(LPI) TYPE(*INT4) RSTD(*YES) DFT(*SAME) +
    SPCVAL((*SAME 0) (6 60) (8 80) (3 30) (4 +
    40) (7.5 75) (7,5 75) (9 90) (12 120)) +
    MIN(0) PROMPT('Lines per inch')

    PARM KWD(CPI) TYPE(*INT4) RSTD(*YES) DFT(*SAME) +
    SPCVAL((*SAME 0) (10 100) (5 50) (12 120) +
    (13.3 133) (13,3 133) (15 150) (16.7 167) +
    (16,7 167) (18 180) (20 200)) MIN(0) +
    PROMPT('Characters per inch')

    PARM KWD(FONT) TYPE(*CHAR) LEN(5) RSTD(*YES) +
    DFT(*SAME) VALUES(*SAME *CPI) PROMPT('Font')

    PARM KWD(PAGRTT) TYPE(*INT4) RSTD(*YES) +
    DFT(*SAME) VALUES(0 90 180 270) +
    SPCVAL((*AUTO -1) (*DEVD -2) (*COR -3) +
    (*SAME -4)) PROMPT('Degree of page rotation')

    PARM KWD(OUTQ) TYPE(OUTQ) DFT(*SAME) +
    SNGVAL((*SAME)) MIN(0) PROMPT('Output queue')

    PARM KWD(DRAWER) TYPE(*INT4) DFT(*SAME) RANGE(1 +
    255) SPCVAL((*SAME 0) (*E1 -1)) +
    PROMPT('Source drawer')

    PARM KWD(FORMTYPE) TYPE(*CHAR) LEN(10) DFT(*SAME) +
    SPCVAL((*SAME) (*STD)) PROMPT('Formtype')

    PARM KWD(USRDTA) TYPE(*CHAR) LEN(10) DFT(*SAME) +
    SPCVAL((*SAME)) PROMPT('User specified data')

    PARM KWD(HOLD) TYPE(*CHAR) LEN(10) RSTD(*YES) +
    DFT(*SAME) VALUES(*YES *NO) +
    SPCVAL((*SAME)) PROMPT('Hold file before +
    written')

    PARM KWD(SAVE) TYPE(*CHAR) LEN(10) RSTD(*YES) +
    DFT(*SAME) VALUES(*YES *NO) +
    SPCVAL((*SAME)) PROMPT('Save file after +
    written')

    PARM KWD(DUPLEX) TYPE(*CHAR) LEN(10) RSTD(*YES) +
    DFT(*SAME) VALUES(*YES *NO *TUMBLE +
    *FORMDF) SPCVAL((*SAME)) PROMPT('Print on +
    both sides (Duplex)')

    PARM KWD(OUTBIN) TYPE(*INT4) DFT(*SAME) RANGE(1 +
    65535) SPCVAL((*SAME -1) (*DEVD 0)) +
    PROMPT('Output bin')

    PARM KWD(NEWUSER) TYPE(*NAME) LEN(10) DFT(*SAME) +
    SPCVAL((*SAME)) PROMPT('New User')

    PARM KWD(NEWSPLNAME) TYPE(*NAME) LEN(10) +
    DFT(*SAME) SPCVAL((*SAME) (*JOBNAME) +
    (*USER)) PROMPT('New Spool file name')

    PARM KWD(DLTSPLF) TYPE(*CHAR) LEN(10) RSTD(*YES) +
    DFT(*NO) VALUES(*YES *NO) PROMPT('Delete +
    file after duplication')

    OUTQ: QUAL TYPE(*NAME) LEN(10) MIN(1)
    QUAL TYPE(*NAME) LEN(10) DFT(*LIBL) +
    SPCVAL((*CURLIB) (*LIBL)) PROMPT('Library')

    JOBNAME: QUAL TYPE(*NAME) LEN(10) MIN(1)
    QUAL TYPE(*NAME) LEN(10) DFT(' ') SPCVAL((' ')) +
    CHOICE('Name') PROMPT('User')
    QUAL TYPE(*CHAR) LEN(6) DFT(' ') RANGE(000000 +
    999999) SPCVAL((' ')) FULL(*YES) +
    CHOICE('000000-999999') PROMPT('Number')


    /* Program : DUPCHGSPLF */
    /* Version : 2.01 */
    /* System : iSeries */
    /* Author : Herman Van der Staey */
    /* */
    /* Description : Duplicate and Change Spooled File */
    /* */
    /* To compile : */
    /* */
    /* CRTCLPGM PGM(XXX/DUPCHGSPLF) SRCFILE(XXX/QCLSRC) */
    /* */
    DUPCHGSPLF: PGM PARM(&JOB &SPLFILE &SPLNBRBIN &LPI &CPI +
    &FONT &PAGRTT &OUTQ &DRAWER &FORMTYPE +
    &USRDTA &HOLD &SAVE &DUPLEX &OUTBIN +
    &NEWUSER &NEWSPLNAME &DLTSPLF)

    /* Parameters */

    DCL VAR(&JOB) TYPE(*CHAR) LEN(26)
    DCL VAR(&SPLFILE) TYPE(*CHAR) LEN(10)
    DCL VAR(&SPLNBRBIN) TYPE(*CHAR) LEN(4)
    DCL VAR(&LPI) TYPE(*CHAR) LEN(4)
    DCL VAR(&CPI) TYPE(*CHAR) LEN(4)
    DCL VAR(&PAGRTT) TYPE(*CHAR) LEN(4)
    DCL VAR(&DRAWER) TYPE(*CHAR) LEN(4)
    DCL VAR(&FONT) TYPE(*CHAR) LEN(5)
    DCL VAR(&OUTQ) TYPE(*CHAR) LEN(20)
    DCL VAR(&FORMTYPE) TYPE(*CHAR) LEN(10)
    DCL VAR(&USRDTA) TYPE(*CHAR) LEN(10)
    DCL VAR(&HOLD) TYPE(*CHAR) LEN(10)
    DCL VAR(&SAVE) TYPE(*CHAR) LEN(10)
    DCL VAR(&DUPLEX) TYPE(*CHAR) LEN(10)
    DCL VAR(&OUTBIN) TYPE(*CHAR) LEN(4)
    DCL VAR(&NEWUSER) TYPE(*CHAR) LEN(10)
    DCL VAR(&NEWSPLNAME) TYPE(*CHAR) LEN(10)
    DCL VAR(&DLTSPLF) TYPE(*CHAR) LEN(10)

    /* Variables */

    DCL VAR(&SPLNBRDEC) TYPE(*DEC) LEN(8 0)
    DCL VAR(&SPLNBRCHR) TYPE(*CHAR) LEN(8)

    DCL VAR(&JOBNAME) TYPE(*CHAR) LEN(10)
    DCL VAR(&JOBUSER) TYPE(*CHAR) LEN(10)
    DCL VAR(&JOBNBR) TYPE(*CHAR) LEN(6)
    DCL VAR(&HANDLE) TYPE(*CHAR) LEN(4) /* Spooled +
    file handle */
    DCL VAR(&BUFFER) TYPE(*CHAR) LEN(4) /* number of +
    buffers to get */

    DCL VAR(&SPLATTR) TYPE(*CHAR) LEN(5000)
    DCL VAR(&ATTRLEN) TYPE(*CHAR) LEN(4)
    DCL VAR(&INDIC) TYPE(*CHAR) LEN(1)

    /* Parameters for the QUSCRTUS API */

    DCL VAR(&USPNAME) TYPE(*CHAR) LEN(10) /* user +
    space name */
    DCL VAR(&USPLIB) TYPE(*CHAR) LEN(10) /* user +
    space library */
    DCL VAR(&USPQUAL) TYPE(*CHAR) LEN(20) /* user +
    space qualified name */
    DCL VAR(&USPTYPE) TYPE(*CHAR) LEN(10) /* user +
    space type */
    DCL VAR(&USPSIZE) TYPE(*CHAR) LEN(4) /* user +
    space size */
    DCL VAR(&USPFILL) TYPE(*CHAR) LEN(1) /* user +
    space fill character */
    DCL VAR(&USPAUT) TYPE(*CHAR) LEN(10) /* user +
    space authority */
    DCL VAR(&USPTEXT) TYPE(*CHAR) LEN(50) /* user +
    space text */

    /* Parameters for the QUSRTVUS API */

    DCL VAR(&STARTPOS) TYPE(*CHAR) LEN(4)
    DCL VAR(&DATALEN ) TYPE(*CHAR) LEN(4)
    DCL VAR(&HEADER) TYPE(*CHAR) LEN(150)

    CHGVAR VAR(%BIN(&ATTRLEN)) VALUE(5000)

    /* Create User space */

    CHGVAR VAR(&USPNAME) VALUE('DUPCHGSPLF') /* set +
    user space name */
    CHGVAR VAR(&USPLIB) VALUE('QTEMP') /* set user +
    space library */
    CHGVAR VAR(&USPQUAL) VALUE(&USPNAME *CAT &USPLIB) +
    /* set user space qualified name */
    CHGVAR VAR(&USPTYPE) VALUE('MYTYPE') /* set user +
    space type */
    CHGVAR VAR(%BIN(&USPSIZE)) VALUE(64000) /* set +
    user space size */
    CHGVAR VAR(&USPFILL) VALUE(' ') /* set user space +
    fill character */
    CHGVAR VAR(&USPAUT) VALUE('*USE') /* set user +
    space authority */
    CHGVAR VAR(&USPTEXT) VALUE('my user space') +
    /* set user space text */

    CALL PGM(QUSCRTUS) PARM(&USPQUAL &USPTYPE +
    &USPSIZE &USPFILL &USPAUT &USPTEXT)

    /* Open spooled file */

    CHGVAR VAR(&BUFFER) VALUE(X'FFFFFFFF')

    CALL PGM(QSPOPNSP) PARM(&HANDLE &JOB ' ' ' ' +
    &SPLFILE &SPLNBRBIN &BUFFER X'00000000')

    /* Get spooled file data */

    CALL PGM(QSPGETSP) PARM(&HANDLE &USPQUAL +
    'SPFR0200' &BUFFER '*WAIT' X'00000000')

    /* Close spooled file */

    CALL PGM(QSPCLOSP) PARM(&HANDLE X'00000000')

    /* Retrieve Spooled file attributes */

    CALL PGM(QUSRSPLA) PARM(&SPLATTR &ATTRLEN +
    'SPLA0200' &JOB ' ' ' ' &SPLFILE &SPLNBRBIN)

    IF COND(%BIN(&LPI) *NE 0) THEN(CHGVAR +
    VAR(%SST(&SPLATTR 181 4)) VALUE(&LPI))
    IF COND(%BIN(&CPI) *NE 0) THEN(CHGVAR +
    VAR(%SST(&SPLATTR 185 4)) VALUE(&CPI))
    IF COND(&FONT *NE *SAME) THEN(CHGVAR +
    VAR(%SST(&SPLATTR 537 4)) VALUE(&FONT))
    IF COND(%BIN(&PAGRTT) *NE -4) THEN(CHGVAR +
    VAR(%SST(&SPLATTR 553 4)) VALUE(&PAGRTT))
    IF COND(&OUTQ *NE *SAME) THEN(CHGVAR +
    VAR(%SST(&SPLATTR 191 20)) VALUE(&OUTQ))
    IF COND(%BIN(&DRAWER) *NE 0) THEN(CHGVAR +
    VAR(%SST(&SPLATTR 533 4)) VALUE(&DRAWER))
    IF COND(%BIN(&OUTBIN) *NE -1) THEN(CHGVAR +
    VAR(%SST(&SPLATTR 3313 4)) VALUE(&OUTBIN))
    IF COND(&FORMTYPE *NE *SAME) THEN(CHGVAR +
    VAR(%SST(&SPLATTR 89 10)) VALUE(&FORMTYPE))
    IF COND(&USRDTA *NE *SAME) THEN(CHGVAR +
    VAR(%SST(&SPLATTR 99 10)) VALUE(&USRDTA))
    IF COND(&HOLD *NE *SAME) THEN(CHGVAR +
    VAR(%SST(&SPLATTR 129 10)) VALUE(&HOLD))
    IF COND(&SAVE *NE *SAME) THEN(CHGVAR +
    VAR(%SST(&SPLATTR 139 10)) VALUE(&SAVE))
    IF COND(&DUPLEX *NE *SAME) THEN(CHGVAR +
    VAR(%SST(&SPLATTR 561 10)) VALUE(&DUPLEX))
    IF COND(&NEWUSER *NE *SAME) THEN(CHGVAR +
    VAR(%SST(&SPLATTR 59 10)) VALUE(&NEWUSER))

    CHGVAR VAR(&JOBNAME) VALUE(%SST(&SPLATTR 49 10))
    CHGVAR VAR(&JOBUSER) VALUE(%SST(&SPLATTR 59 10))

    IF COND(&NEWSPLNAME *EQ *JOBNAME) THEN(CHGVAR +
    VAR(&NEWSPLNAME) VALUE(&JOBNAME))
    IF COND(&NEWSPLNAME *EQ *USER) THEN(CHGVAR +
    VAR(&NEWSPLNAME) VALUE(&JOBUSER))

    IF COND(&NEWSPLNAME *NE *SAME) THEN(CHGVAR +
    VAR(%SST(&SPLATTR 75 10)) VALUE(&NEWSPLNAME))

    /* Create Spooled file */

    CALL PGM(QSPCRTSP) PARM(&HANDLE &SPLATTR +
    X'00000000')

    /* Put Spooled File data */

    CALL PGM(QSPPUTSP) PARM(&HANDLE &USPQUAL +
    X'00000000')

    /* Close Spooled file */

    CALL PGM(QSPCLOSP) PARM(&HANDLE X'00000000')

    /* Retrieve User space HEADER information */

    CHGVAR VAR(%BIN(&STARTPOS)) VALUE(1) /* set start +
    position */
    CHGVAR VAR(%BIN(&DATALEN)) VALUE(140) /* set data +
    length */

    CALL PGM(QUSRTVUS) PARM(&USPQUAL &STARTPOS +
    &DATALEN &HEADER)

    DLTUSRSPC USRSPC(&USPLIB/&USPNAME)

    CHGVAR VAR(&INDIC) VALUE(%SST(&HEADER 87 1))
    IF COND(&INDIC *EQ C) THEN(DO)
    SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('Spooled +
    file' *BCAT &SPLFILE *BCAT 'duplicated') +
    MSGTYPE(*COMP)
    ENDDO
    ELSE CMD(DO)
    SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('Spooled +
    file' *BCAT &SPLFILE *BCAT 'not +
    completely duplicated') MSGTYPE(*ESCAPE)
    ENDDO

    /* Delete Original Spooled File */

    IF COND(&DLTSPLF *EQ *NO) THEN(RETURN)

    IF COND(&JOB *EQ '*') THEN(RTVJOBA +
    JOB(&JOBNAME) USER(&JOBUSER) NBR(&JOBNBR))
    ELSE CMD(DO)
    CHGVAR VAR(&JOBNAME) VALUE(%SST(&JOB 1 10))
    CHGVAR VAR(&JOBUSER) VALUE(%SST(&JOB 11 10))
    CHGVAR VAR(&JOBNBR) VALUE(%SST(&JOB 21 6))
    ENDDO

    IF COND(%BIN(&SPLNBRBIN) *EQ 0) THEN(CHGVAR +
    VAR(&SPLNBRCHR) VALUE(*ONLY))
    IF COND(%BIN(&SPLNBRBIN) *EQ -1) THEN(CHGVAR +
    VAR(&SPLNBRCHR) VALUE(*LAST))
    IF COND(%BIN(&SPLNBRBIN) *GT 0) THEN(DO)
    CHGVAR VAR(&SPLNBRDEC) VALUE(%BIN(&SPLNBRBIN))
    CHGVAR VAR(&SPLNBRCHR) VALUE(&SPLNBRDEC)
    ENDDO
    DLTSPLF FILE(&SPLFILE) +
    JOB(&JOBNBR/&JOBUSER/&JOBNAME) +
    SPLNBR(&SPLNBRCHR)
    MONMSG MSGID(CPF0000)

    END: ENDPGM


    quote :

    If you're not part of the solution,
    then you're part of the problem.

  4. #4
    Registriert seit
    Aug 2004
    Beiträge
    923
    ich vermute mal, dass die verwirrung nun komplett ist?
    also nochmal zusammengefasst:

    Möglichkeit 1:
    Manuell die Spoolfile wie von Fuerchau beschrieben behandeln.

    Das scheint ja in Deinem Fall problematisch, da es um "Massenversand" von Rechnungen geht und Du mehr an eine Automatik gedacht hast.

    Möglichkeit 2:
    Programmänderung und jede Spoolausgabe doppelt vornehmen.

    Da hast Du Dich noch gar nicht zu geäussert. Für mich persönlich die "sicherste" Lösung. Man benötigt keine DTAQ oder irgendwelche Programme und kann sich drauf verlassen, dass wenn das Programm nen Output erzeugt dieser auch kommt.

    Möglichkeit 3:
    Den Output überwachen lassen durch die "Verlinkung" einer DTAQ an die OUTQ. Dann gibt es pro neu ankommender Spoolfile die im RDY ist nen Eintrag in der DTAQ, welche Du per Programm auslesen könntest und welches dann zum Beispiel in einer möglichen Kombination von SNDNETSPLF, DUPSPLF oder ähnliche Mechanismen den Output an verschiedenen Orten produziert.
    Dies wird von vielen gerne gemacht, Beispiele dazu findest Du hier im Forum denke ich.

    In diesem Sinne viel Erfolg

    k.

  5. #5
    Registriert seit
    Sep 2005
    Beiträge
    53

    Question

    Na hallo,

    das klingt zwar alles dufte, nur die Verwirrung ist jetzt wirklich vollkommen.
    Also noch mal von vorne :

    meine Datei geht an ein Outq mit Namen IPPRT23, dort auf "save" gestellt,
    diese soll über ein weiteres Outq mit Namen IPPRT22 nochmals gedruckt werden.

    Nach der vollständigen Verwirrung wäre eine genaue Beschreibung einer Lösung super !

    DANKE eric

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Suche dir die beste, für dich zutreffende, Lösungsvariante aus obigen Vorschlägen aus.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  7. #7
    Registriert seit
    Jul 2003
    Beiträge
    338
    Hallo Kuempi,

    noch eine Anmerkung dazu, die Zeilen alle doppekt auszugeben. Ich hoffe, das war Spaß, das mit dem EXCPT, dann wäre die PRTF ja progammintern beschrieben.

    Bei externen PRTF wird natürlich WRITE verwendet.
    Bei doppelter Ausgabe ist folgendes zu berücksichtigen:

    a) Objekt der Printerfile kopieren unter einem anderen Namen
    b) im Programm beide PRTFs ansprechen, wobei die Zeilen
    der 2. PRTF alle umbenannt werden müssen.
    Dann jedes WRITE 2 x ausführen, 1 x Original-Zeilen-Name
    und 1 x umbenannter Zeilen-Name.

    mfg. Ludger

  8. #8
    Registriert seit
    Aug 2004
    Beiträge
    923
    Zitat Zitat von loeweadolf
    ... Ich hoffe, das war Spaß, das mit dem EXCPT, dann wäre die PRTF ja progammintern beschrieben.
    Bei externen PRTF wird natürlich WRITE verwendet.
    löle Ludger,

    jetzt wo Du mich drauf hinweist....
    Ich glaube ich mag programmintern beschriebene Printerfiles.
    Sogar mehr als externe denke ich.
    Aber zum Glück gibt es ja viele Möglichkeiten auf der AS/4.. äh iSeries äh.. na wie auch immer...



    have fun

    k.

  9. #9
    Registriert seit
    Sep 2003
    Beiträge
    236

    WRKSPLF und select?

    Zitat Zitat von Eric
    Hallo,

    also folgendes :

    Dummie erzeugen (outq ... und starten) ,Datei auf *sav einstellen

    und dann ?

    oder gibt es alternativ die Möglichkeit zu einer bestimmten Zeit die Druckdatei in ein anderes outq umzuleiten ?

    Eric
    -------------------------------------------------------
    Hallo Eric,

    wir archivieren unsere Rechnungen zu einer bestimmten Uhrzeit
    über den WRKJOBSCDE.

    In diesem Job passiert folgendes!
    Mit WRKSPLF und select erstellen wir uns einen Ausdruck
    Diesen Ausdruck kopieren wir mit cpysplf in eine Datei.

    Diese Datei wird mit Hilfe eines RPG_Programmes ausgelesen.
    In diesem RPG-Programm wird mit Hilfe dieser Daten ein CLP
    aufgerufen, welches die Ausdrucke (chgspla) umleitet.
    Anschließend greift ein separates Programm die Datei auf
    und löscht die Spools nach der Archivierung.

    Vielleicht hilft Dir dieser Ansatz.

    Gruss Thomas

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    @Thomas
    Und wie verhinderst du das Löschen von Spools durch User im Zeitraum zwischen Erstellungen und SCD-Job ?

    Wir nehmen auf jeden Fall eine DTAQ an der OUTQ und ein Überwachungsprogramm (im Hintergrund), dass per SNDNETSPLF ... DTAFMT(*ALLDATA) eine Kopie an einen anderen lokalen User überträgt. Dieser wird dann später archiviert.
    Was der User dann mit seinen Spools macht, ist mir so ziehmlich egal.
    Das funktioniert übrigens auch mit Remote-Usern, so dass man durchaus die Spools von einem System auf das andere System kopiert und dann dort archiviert (oder sonstwie verarztet).

    Das Überwachungsprogramm wird übrigens parallel mehrfach ausgeführt, da bei größeren Spools der SNDNETSPLF mal was dauern kann und somit neue Spools ggf. nicht rechtzeitig (vor ihrem verschwinden) bearbeitet werden könnten.
    Da der QRCVDTAQ aber nach dem FIFO arbeitet, ist sichergestellt dass immer nur 1 Spool auch nur von 1 Programm bearbeitet wird.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  11. #11
    Registriert seit
    Sep 2003
    Beiträge
    236

    USER-Berechtigung

    Zitat Zitat von Fuerchau
    @Thomas
    Und wie verhinderst du das Löschen von Spools durch User im Zeitraum zwischen Erstellungen und SCD-Job ?

    Wir nehmen auf jeden Fall eine DTAQ an der OUTQ und ein Überwachungsprogramm (im Hintergrund), dass per SNDNETSPLF ... DTAFMT(*ALLDATA) eine Kopie an einen anderen lokalen User überträgt. Dieser wird dann später archiviert.
    Was der User dann mit seinen Spools macht, ist mir so ziehmlich egal.
    Das funktioniert übrigens auch mit Remote-Usern, so dass man durchaus die Spools von einem System auf das andere System kopiert und dann dort archiviert (oder sonstwie verarztet).

    Das Überwachungsprogramm wird übrigens parallel mehrfach ausgeführt, da bei größeren Spools der SNDNETSPLF mal was dauern kann und somit neue Spools ggf. nicht rechtzeitig (vor ihrem verschwinden) bearbeitet werden könnten.
    Da der QRCVDTAQ aber nach dem FIFO arbeitet, ist sichergestellt dass immer nur 1 Spool auch nur von 1 Programm bearbeitet wird.
    --------------------------------------------------------
    Hallo Herr Fuerchau,

    diese Lösung konnten wir in Betracht ziehen, da die
    USER nur Spoolberechtigung haben für Ihre eigenen Ausdrucke.
    Die Rechnungen werden über einen Dummy-User erzeugt.
    Das Konzept ist im Standard unserer Warenwirtschaft.

    Bei Druckerproblemen hilft dann die Fachabteilung (EDV).

    Natürlich wäre Ihre Lösung das non-plus-ultra.
    Allerdings hätte das Softwarehaus der Warenwirtschaft, dann
    das ganze Konzept ändern müssen.Leider dann auch kostenpflichtig.

    Gruss Thomas

  12. #12
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Der Programmier- und Installationsaufwand betrug ca. 4 Stunden ohne dass irgendwelche Software hierfür geändert werden musste.
    Diese Lösung verändert auch keinerlei Konzepte irgendeiner Software
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. Drucken und Heften
    By Karo in forum NEWSboard Drucker
    Antworten: 14
    Letzter Beitrag: 28-07-09, 14:48
  2. Logos Farbig drucken AFP300
    By bechert in forum NEWSboard Drucker
    Antworten: 3
    Letzter Beitrag: 06-01-07, 10:57
  3. ASCII drucken
    By kug in forum NEWSboard Drucker
    Antworten: 4
    Letzter Beitrag: 23-09-06, 07:40
  4. Query's drucken
    By dino in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 03-07-06, 10:44
  5. Kopien für Formularsätze drucken
    By Jörg Schmidt in forum NEWSboard Drucker
    Antworten: 6
    Letzter Beitrag: 04-05-06, 09:50

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •