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 :

CL et manipulation d'une chaine


Sujet :

AS/400

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2006
    Messages : 106
    Points : 37
    Points
    37
    Par défaut CL et manipulation d'une chaine
    Bonjour,

    Dans un programme CL je fais un RTVUSRPRF RTNUSRPRF(&USR)
    Bien sur &USR est déclaré comme suit : DCL VAR(&USR) TYPE(*CHAR) LEN(10)
    La logique que nous utilisons pour définir les utilisateurs est NOM+premièreLettre du prénom, exemple pour John LENNON ce sera LENNONJ et pour Pierre MAC ce sera MACP
    Je voudrais récupérer le nom sans la première lettre du prénom.
    Comment faire ?

  2. #2
    Membre actif
    Homme Profil pro
    Architecte technique & logiciel IBM i
    Inscrit en
    Septembre 2010
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte technique & logiciel IBM i
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2010
    Messages : 179
    Points : 275
    Points
    275
    Par défaut
    Tu trouveras toutes les réponses dans le manuel "CL overview and concept (programming)" sur le site IBM. C'est la fonction %substring (ou %sst) que tu cherches : %SST(&PRENOM 1 1)

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2006
    Messages : 106
    Points : 37
    Points
    37
    Par défaut
    Si devait ôter le premier caractère ça aurait été facile. Mais pour le dernier c'est la galère.
    Pour utiliser la fonction %Substring ou %SST je devrais faire ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CHGVAR &X %SST(&X 1 %SIZE(&X)-1)
    Mais je ne peux pas empiler deux fonctions avec % alors j'ai fait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CHGVAR &S %SIZE(&X)
    puis
    CHGVAR &X %SST(&X 1 (&S-1))
    Mais le problème c'est que %SIZE(&X) ne me donne pas la véritable taille utilisée de &X mais plutôt la taille définie par DCL au début du script.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2006
    Messages : 106
    Points : 37
    Points
    37
    Par défaut
    ..en plus le &X provient de RTVUSRPRF RTNUSRPRF(&X) il est donc déclaré préalablement par :

  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.
    Regardez plutôt du côté de la built-in function %CHECKR qui renvoie la position du dernier caractère qui n'est pas dans la chaine de comparaison donnée en premier paramètre.
    Suivez le lien https://www.ibm.com/docs/en/i/7.2?to...lt-in-function et regardez les exemples.

Discussions similaires

  1. manipulation d'une chaine de caractere
    Par kali38 dans le forum Général Python
    Réponses: 10
    Dernier message: 01/06/2011, 14h26
  2. manipulation d'une chaine de caractere
    Par prince_bouja dans le forum Débuter
    Réponses: 2
    Dernier message: 14/06/2010, 12h26
  3. Manipulation d'une chaine de caracteres ASP
    Par Brestasp dans le forum ASP
    Réponses: 1
    Dernier message: 18/10/2007, 14h13
  4. Manipulation d'une chaine de caracteres
    Par C.R.E.A.M dans le forum Excel
    Réponses: 2
    Dernier message: 17/08/2007, 11h08
  5. manipulation d'une chaine
    Par hari37 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 04/04/2007, 16h23

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