IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AS/400 Discussion :

Commande WRKOUTQ avec USER


Sujet :

AS/400

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 375
    Points : 173
    Points
    173
    Par défaut Commande WRKOUTQ avec USER
    Bonjour,

    J'aimerai s'avoir s'il est possible d'ajouter le nom du user dans la commande WORKOUTQ ou s'il existe une commande similaire.

    Merci d'avance pour votre aide

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut WRKSPLF
    On ne peut pas indiquer le nom du user sur la commande WRKOUTQ, mais la commande WRKSPLF peut éventuellement faire l'affaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WRKSPLF SELECT(UserName *OUTQ)

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 375
    Points : 173
    Points
    173
    Par défaut
    Merci ca marche parfaitement

    Une autre petite question j'aimerai faire un move du fichier spool vers une librairie existe t-il une commande pour cela
    J'ai regarde au niveau du wrksplf il y a bien l'option change mais je ne sais pas si je peux utiliser cette option pour le move?

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Août 2008
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 123
    Points : 146
    Points
    146
    Par défaut
    Un fichier spool n'est pas un un objet au sens OS/400 du terme. Il ne peut donc être déplacé que vers une autre OUTQ.
    Il est cependant possible de copier un spool vers un fichier PF par la commande CPYSPLF

  5. #5
    Expert confirmé
    Homme Profil pro
    ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Inscrit en
    Juin 2007
    Messages
    2 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 096
    Points : 4 155
    Points
    4 155
    Par défaut
    Bonjour.

    On peut aussi le pomper dans un membre de fichier source. "F15" : sous SEU.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 375
    Points : 173
    Points
    173
    Par défaut
    Bonjour

    Aurais-tu un exemple de parametrage pour le pomper

    Une autre question sur l'outq

    J'auria besoin de mettre en hold une outq par rapport au critère suivant
    WRKOUTQ OUTQ(P81*) est-il possible d'associer dans la commande l'option 3hold aurais-tu un exemple de la commande avec le hold

    Merci

  7. #7
    Expert confirmé
    Homme Profil pro
    ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Inscrit en
    Juin 2007
    Messages
    2 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 096
    Points : 4 155
    Points
    4 155
    Par défaut
    Citation Envoyé par stephbret56 Voir le message
    Bonjour

    Aurais-tu un exemple de parametrage pour le pomper
    Bonjour.
    Si tu ne veux pas utiliser CPYSPLF pour copier ton spool dans fichier BD et que tu veux par contre le copier dans un membre source (membre de fichier source), c'est en fonction de tes besoins en fait, alors :
    - tu te mets sous SEU, soit STRSEU ou STRPDM opt 1/2/3, tu crées un membre (de type texte si tu veux), une fois sous SEU dans ton membre source, tu fais F15, tu mets 2 (spool), tu mets le curseur sur le nom du spool et tu fais F4. Dans la liste affichée tu sélectionnes le spool qui t'intéresse et tu confirmes.
    Ca dépend de ce que tu vas en faire : fichier de données ou fichier source.
    Une autre question sur l'outq

    J'auria besoin de mettre en hold une outq par rapport au critère suivant
    WRKOUTQ OUTQ(P81*) est-il possible d'associer dans la commande l'option 3hold aurais-tu un exemple de la commande avec le hold

    Merci
    C'est HLDOUTQ que tu peux utiliser.
    Fais un GO CMDOUTQ et tu verras les commandes que tu peux utiliser sur les outq.

  8. #8
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    Citation Envoyé par stephbret56
    J'auria besoin de mettre en hold une outq par rapport au critère suivant
    WRKOUTQ OUTQ(P81*) est-il possible d'associer dans la commande l'option 3hold aurais-tu un exemple de la commande avec le hold
    Tu veux dire mettre en "Hold" toutes les OUTQs dont le nom commence par "P81" ? Si oui, il n'y a pas de commande toute faite, mais, tu peux
    • soit en faire une particulière en utilisant l'API QUSLOBJ ou encore l'API QGYOLOBJ,
    • soit, si tu es en V6R1+, ajouter tes propres options à la commande WRKOUTQ. Voir les détails ici.

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 375
    Points : 173
    Points
    173
    Par défaut
    Oui toutes les outq qui commencent par P81 c'est bien ca

    Aurais-tu un exemple avec le QUSLOBJ je dois pratiquer comment je suis en V5R4

    Pour info je débute sur l'AS400 je viens du monde UNIX

    Merci encore pour ton aide


  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Février 2009
    Messages : 92
    Points : 116
    Points
    116
    Par défaut
    Un truc rapide et simple pour faire ça :


    En ligne de commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     DSPOBJD OBJ(P81*) OBJTYPE(*OUTQ) OUTPUT(*OUTFILE) OUTFILE(MABIB/MONFICHIER)
    Puis un petit CL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
       PGM                                             
                DCLF       FILE(MABIB/MONFICHIER)              
                RCVF                                            
    LECT:    RCVF                                            
                MONMSG     MSGID(CPF0864) EXEC(GOTO CMDLBL(FIN))
                HLDOUTQ    OUTQ(&ODOBNM)                        
                GOTO       CMDLBL(LECT)                         
    FIN:       ENDPGM
    Tout ça est parémtrable avec un peu de recherche , par exemple :
    La commande DSPOBJD insérée dans le CL avec le préfixe des imprimantes à Holder.
    Possibilité de Holder ou de libérer les imprimantes
    etc etc...

  11. #11
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    Avec l'API QUSLOBJ, voilà ce que ça donne :

    Programme HLDOUTQS

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    PGM  PARM(&OUTQ)
    
          DCL VAR(&OUTQ)    TYPE(*CHAR) LEN(10)
          DCL VAR(&USRSPC)  TYPE(*CHAR) LEN(20) +
              VALUE('OUTQLIST  QTEMP')
          DCL VAR(&OBJLIB)  TYPE(*CHAR) LEN(20)
          DCL VAR(&OBJTYPE) TYPE(*CHAR) LEN(10)
          DCL VAR(&POS)     TYPE(*CHAR) LEN(4)
          DCL VAR(&LEN)     TYPE(*CHAR) LEN(4)
          DCL VAR(&TEMP)    TYPE(*CHAR) LEN(4)
          DCL VAR(&OFFSET)  TYPE(*DEC)  LEN(10 0)
          DCL VAR(&COUNT)   TYPE(*DEC)  LEN(10 0)
          DCL VAR(&SIZE)    TYPE(*DEC)  LEN(10 0)
          DCL VAR(&ENTRY)   TYPE(*CHAR) LEN(30)
          DCL VAR(&X)       TYPE(*DEC)  LEN(10 0)
          DCL VAR(&OBJNAMUSED) TYPE(*CHAR) LEN(10)
          DCL VAR(&OBJLIBUSED) TYPE(*CHAR) LEN(10)
          DCL VAR(&OBJTYPUSED) TYPE(*CHAR) LEN(10)
    
          CHGVAR VAR(%SST(&OBJLIB  1 10)) VALUE(&OUTQ)
          CHGVAR VAR(%SST(&OBJLIB 11 10)) VALUE('*ALL')
          CHGVAR VAR(&OBJTYPE) VALUE('*OUTQ')
    
          CALL QUSDLTUS (&USRSPC X'0000000800000000')
          CALL QUSCRTUS (&USRSPC OUTQLIST X'00010000' X'00' *ALL OUTQLIST)
          CALL QUSLOBJ  (&USRSPC OBJL0100 &OBJLIB &OBJTYPE)
    
          /* Offset to Liste Data Section                      */
          CHGVAR VAR(%BIN(&POS)) VALUE(125)
          CHGVAR VAR(%BIN(&LEN)) VALUE(4)
          CALL   QUSRTVUS (&USRSPC &POS &LEN &TEMP)
          CHGVAR VAR(&OFFSET) VALUE(%BIN(&TEMP))
    
          /* Number of List Entries                            */
          CHGVAR VAR(%BIN(&POS)) VALUE(133)
          CALL   QUSRTVUS (&USRSPC &POS &LEN &TEMP)
          CHGVAR VAR(&COUNT) VALUE(%BIN(&TEMP))
    
          /* Size of Each Entry                                */
          CHGVAR VAR(%BIN(&POS)) VALUE(137)
          CALL   QUSRTVUS (&USRSPC &POS &LEN &TEMP)
          CHGVAR VAR(&SIZE) VALUE(%BIN(&TEMP))
    
          /* Length of Format OBJL0100 List Data Section       */
          CHGVAR VAR(%BIN(&LEN)) VALUE(30)
          CHGVAR VAR(&X)         VALUE(1)
    
    LOOP: IF (&X *LE &COUNT) DO
           CHGVAR VAR(%BIN(&POS)) VALUE(1 + &OFFSET + ((&X-1) * &SIZE))
           CALL   QUSRTVUS (&USRSPC &POS &LEN &ENTRY)
    
           CHGVAR VAR(&OBJNAMUSED)   VALUE(%SST(&ENTRY  1 10))
           CHGVAR VAR(&OBJLIBUSED)   VALUE(%SST(&ENTRY 11 10))
           CHGVAR VAR(&OBJTYPUSED)   VALUE(%SST(&ENTRY 21 10))
    
           HLDOUTQ    OUTQ(&OBJLIBUSED/&OBJNAMUSED)
    
           CHGVAR VAR(&X) VALUE(&X + 1)
           GOTO LOOP
          ENDDO
    
          CALL QUSDLTUS (&USRSPC X'0000000000000000')
    ENDPGM
    On appelle ce programme avec
    pour holder les OUTQs dont le nom générique commence par "P81" dans cet exemple. On peut aussi en faire une commande "maison".

    Au prix de quelques lègères modifs, ce programme pourrait être facilement adapté pour lister les objets présents sur la machine avec un type d'objet autre que "*OUTQ" et en prenant les actions requises sur les objets sélectionnés.

    Liste des types d'objet possibles ici.

    Employer les APIs au lieu de commandes est sans commune mesure en matière de temps de traitement car rien n'est écrit dans la BDD, tout se passe en mémoire et les perfs sont alors incomparables.

    Mais, d'un autre côté, les commandes telles que celles qu'on voit dans la méthode utilisée par Simka100 répondent bien à un besoin urgent et sont rapidement mises au point.

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 54
    Points : 48
    Points
    48
    Par défaut
    Juste une petite remarque sur la commande CPYSPLF

    Cette commande fonctionne bien quand on a des spools standard type SCS.

    Dans le cas de spools IPDS, AFPDS, voir USERASCII, attention à la perte des attributs. Le résultat d'impression après un CPYSPLF est parfois très inatendu par rapport à l'impression d'origine.

    Pour garder tous les attributs d'un spool, il est peut-être préférable d'utiliser les API IBM.

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 375
    Points : 173
    Points
    173
    Par défaut
    Slt Gege91

    Aurais-tu 1 ptit exemple a me montrer STP

    Bonne journée


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 25/08/2011, 19h24
  2. Réponses: 0
    Dernier message: 25/08/2009, 11h07
  3. Commandes systèmes avec pl/pgsql
    Par Takayanagi dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 11/08/2006, 12h36
  4. Réponses: 11
    Dernier message: 12/04/2005, 14h08
  5. Commande fopen avec Mingw32
    Par Blitzz dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 29/10/2003, 11h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo