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 :

Identifier un type de lancement (Batch/Interactif)


Sujet :

AS/400

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 57
    Points : 36
    Points
    36
    Par défaut Identifier un type de lancement (Batch/Interactif)
    Bonjour à tous,

    J'ai un programme qui affiche une petite fenêtre d'attente le temps de son calcul. Cela ne nécessite aucune action utilisateur.

    J'aimerais pouvoir lancer également ce programme en batch, mais dans ce cas le système me génère une erreur à l'ouverture de l'écran.

    Est-il possible au niveau du programme de connaître la méthode de lancement, afin de conditionner l'ouverture de l'écran si le lancement est interactif ?

    Merci


    PS :
    Je ne souhaite pas passer un paramètre en plus. Trop de programmes à recompiler, et aucun fun.
    J'ai un palliatif pour l'instant en me basant sur le user QPGMR, mais ça reste du bricolage.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2008
    Messages
    940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 940
    Points : 1 409
    Points
    1 409
    Par défaut
    Dans un CLP, il suffit d'utiliser RTVJOBA TYPE(&TYPE).
    Si &TYPE = '0' c'est un travail batch
    Si &TYPE = '1' c'est un travail interactif

    Dans un RPG, je ne crois pas que l'info soit dans la SDS.
    Il faut alors passer par une API. Je regardes dès que j'ai le temps.

    On peut aussi déclarer le fichier en UserOpen et indiquer un indicateur d'erreur sur le Open.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 57
    Points : 36
    Points
    36
    Par défaut
    Merci pour ta réponse.

    J'ai oublié de préciser mais c'est bien un RPG qui est lancé.

    L'idée d'intercepter l'erreur sur le OPEN est pas mal. C'est pas l'idéal mais ce sera toujours mieux que mon QPGMR.

    Encore merci.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2006
    Messages
    689
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2006
    Messages : 689
    Points : 994
    Points
    994
    Par défaut
    Je n'en suis pas l'auteur, mas je ne retrouve pas qui me l'avait fourni...
    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
    '*-------------------------------------------------------------------*
    '* Procédure Rtv_jobType    :                                        *
    '*   But   : Récupération du type de job (interactive/batch)         *
    '*   Input :                                                         *
    '*  Output : - B=Batch I=Intercatif                                  *
    '*-------------------------------------------------------------------*
                                                                          
     * Begin prototype procedure                                          
    P Rtv_jobType     B                   Export                          
    D Rtv_jobType     PI             1                                    
                                                                          
    DQUSI020000       DS                                                  
    D QUSJT04                61     61                                    
                                                                          
    DQUSEC            DS           116    inz                             
    D QUSBPRV                 1      4B 0 inz(116)                        
    D QUSBAVL                 5      8B 0 inz(0)                          
    D QUSEI                   9     15                                    
    D QUSERVED               16     16                                    
    D QUSED01                17    116                                    
                                                                          
     * Variable returned to caller                                        
    D Job_Type        S              1                                    
                                                                           * Program Variables                                   
    D FormatName      S              8    Inz('JOBI0200')  
    D InJobName       S             26                     
    D IntJobName      S             16                     
    D JobName         S             26    Inz('*')         
    D Outcount        S              5  0                  
    D ReceiveLen      S             10i 0 Inz(187)         
                                                           
     * Call the api to get the information for job type... 
    C                   Eval      Job_Type = *Blanks       
    C                   Call      'QUSRJOBI'               
    C                   Parm                    QusI020000 
    C                   Parm                    ReceiveLen 
    C                   Parm                    FormatName 
    C                   Parm                    JobName    
    C                   Parm                    IntJobName 
    C                   Parm                    QusEc      
                                                           
     * Load the job type...                                
    C                   Eval      Job_Type = QUSJT04       
    C                   Return    Job_Type                 
                                                           
    P                 E

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 57
    Points : 36
    Points
    36
    Par défaut
    Un grand merci, je vais implémenter ça.

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

Discussions similaires

  1. [RegEx] Identifier différents type d'url
    Par blueice dans le forum Langage
    Réponses: 1
    Dernier message: 23/01/2009, 11h28
  2. Pb batch interactif cmd FTP
    Par multjeux dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 09/08/2008, 12h26
  3. Réponses: 1
    Dernier message: 08/05/2007, 13h44
  4. Identifier le type d'une classe
    Par oodini dans le forum C++
    Réponses: 4
    Dernier message: 20/02/2007, 15h25
  5. Réponses: 2
    Dernier message: 19/10/2006, 15h29

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