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

z/OS Discussion :

Change et numéro de ligne


Sujet :

z/OS

  1. #1
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut Change et numéro de ligne
    Bonjour,

    est-il possible de faire un CHANGE en edit sur une ligne bien spécifique. La ligne 200 d'un fichier séquentiel par exemple.
    Il me semble qu'avec les labels, c'est un bloc de ligne que ça sélectionne et pas une ligne bien spécifique....

    merci d'avance pour votre aide.

  2. #2
    Membre habitué
    Inscrit en
    Novembre 2006
    Messages
    182
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 182
    Points : 125
    Points
    125
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Command ===> c '5A01' '7G01' .a .b
    ****** ***************************** Top of Data
    000001 5A0100000000000060100000000000000000001412
    000002 5A0100000000000060100000000000000000001412
    000003 5A0100000000000060100000000000000000001412
    000004 5A0100000000000060100000000000000000001412
    .A     5A0100000000000060100000000000000000001412
    .B     5A0100000000000060100000000000000000001412
    ****** **************************** Bottom of Dat
    changé la ligne 5 seulement 5A01 avec 7G01

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ****** ***************************** Top of Data ******
    000001 5A0100000000000060100000000000000000001412000000
    000002 5A0100000000000060100000000000000000001412000000
    000003 5A0100000000000060100000000000000000001412000000
    000004 5A0100000000000060100000000000000000001412000000
    000005 7G0100000000000060100000000000000000001412000000
    000006 5A0100000000000060100000000000000000001412000000
    ****** **************************** Bottom of Data ****

    mais il y a une autre methode mais avec BIB100, si tu veux je te donne le BIB100

  3. #3
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut
    Merci.

    Mais qu'est ce que c'est BIB100 ?

  4. #4
    Membre habitué
    Inscrit en
    Novembre 2006
    Messages
    182
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 182
    Points : 125
    Points
    125
    Par défaut
    C’est l'assembleur, exemple ici je veux changer seulement la ligne 5
    Contient la valeur 5A et je veux le remplacé par 6B alors la résultat est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Command ===>                                                  S
    =COLS> ----+----1----+----2----+----3----+----4----+----5----+-
    ****** ***************************** Top of Data **********
    000001 5A010000000000006010000000000000000000141200000000000151
    000002 5A010000000000006010000000000000000000141200000000000151
    000003 5A010000000000006010000000000000000000141200000000000151
    000004 5A010000000000006010000000000000000000141200000000000151
    000005 5A010000000000006010000000000000000000141200000000000151
    000006 5A010000000000006010000000000000000000141200000000000151
    ****** **************************** Bottom of Data *********
    Assembleur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    MODIF   CSECT
            USING *,9
            CP NB,=PL8'5'
            BE MODI
            BNE ECRIT
    MODI    MVC 0(2,11),=C'6B'
            AP NB,UN
            BR 14
    ECRIT   AP NB,UN
            BR 14
    NB      DC PL8'1'
    UN      DC PL8'1'
            END

    Résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ****** ***************************** Top of Data ************
    000001 5A010000000000006010000000000000000000141200000000000151
    000002 5A010000000000006010000000000000000000141200000000000151
    000003 5A010000000000006010000000000000000000141200000000000151
    000004 5A010000000000006010000000000000000000141200000000000151
    000005 6B010000000000006010000000000000000000141200000000000151
    000006 5A010000000000006010000000000000000000141200000000000151
    ****** **************************** Bottom of Data **********

  5. #5
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut
    OK, merci pour l'info.

    Le souci que j'ai avec l'histoire des label, c'est qu'avec ta méthode, si j'effectue un RCHANGE (repeat change), il me modifie la ligne 6 alors que je ne veux pas que la ligne 6 soit prise en compte...

    Je te remercie pour le code assembleur, mais pour l'instant que je préfère que limiter aux commandes éditeurs.

  6. #6
    Membre habitué
    Inscrit en
    Novembre 2006
    Messages
    182
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 182
    Points : 125
    Points
    125
    Par défaut
    Mais avec Assembleur tu peux modifier toutes les lignes sauf la ligne 6.

  7. #7
    Membre averti
    Femme Profil pro
    Architecte technique
    Inscrit en
    Janvier 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2008
    Messages : 179
    Points : 350
    Points
    350
    Par défaut
    tu peux utiliser EXCLUDE pour exclure toutes les lignes que tu ne veux pas modifier , via la commande de ligne X, ou de bloc XX ou X<nbr de ligne>

    puis passer la commande

    C 'xx' 'yy' NX ou NX indique que ton change ne se fait que sur les lignes non exclues

  8. #8
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut
    Merci xfanx pour ton idée.

    Mais j'ai bien que ça ne me serve pas dans mon cas bien particulier.

    Je t'explique, en macro edit je fait un find de la ligne voulue (ou plus exactement une partie de la ligne), ensuite je fais un tzest pour vérifier si cette ligne contient un caractère spécifique et si ces deux conditions sont validées,
    j'effectue le change de la ligne.

    Dans ta proposition, il faudrait que je puisse exclure la ligne sur laquelle se trouve le curseur. Et il me semble que la commande exclude fonctionne avec des bornes (label). On en revient au même problème qu'ai début : Est-il possible d'exclure un ligne avec la position du curseur ou en connaissant le numéro de ligne...

  9. #9
    Membre averti
    Femme Profil pro
    Architecte technique
    Inscrit en
    Janvier 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2008
    Messages : 179
    Points : 350
    Points
    350
    Par défaut
    pour moi, tu n'as rien de particulier à faire.
    le fait d'avoir d'abord fait un FIND a positionné le curseur sur la ligne.
    si tu enchaines un CHANGE simple, celui ci se fera sur la ligne ou est ton curseur et uniquement sur celle ci

  10. #10
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut
    Oui tu as raison Je dois d'abord faire un exclude all avant.

    Merci xfanx pour cette astuce.

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

Discussions similaires

  1. Rajouter les numéros de ligne dans une colone d'une requete
    Par AntiSAL dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 02/11/2005, 19h07
  2. Afficher le numéro de ligne dans une requete SELECT
    Par tilb dans le forum Langage SQL
    Réponses: 4
    Dernier message: 01/09/2004, 10h20
  3. Méthode donnant le numéro de ligne d'un Memo contenant un texte
    Par kilinette dans le forum Composants VCL
    Réponses: 3
    Dernier message: 25/06/2004, 10h16
  4. [DomAST] Numéro de ligne d'un noeud
    Par Satch dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 30/03/2004, 10h15
  5. [JSP] Affichage numéro de ligne d'une exception
    Par PhoneKilleR dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 23/09/2003, 14h59

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