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

Cobol Discussion :

[Z/OS-CICS/BMS] Effacer un champ par programme et forcer son MDT


Sujet :

Cobol

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 14
    Points : 10
    Points
    10
    Par défaut [Z/OS-CICS/BMS] Effacer un champ par programme et forcer son MDT
    Bonjour à tous.
    Un autre soucci ^^

    Je fais un programme cobol demandant a l'utilisateur de renseigner quelques champs sur un écran formaté grâce à BMS.

    Certains champs sont obligatoires pour mon traitement, d'autres non.

    Ma problématique:
    J'ai trois champs: adresse, codepostal et ville ( ces noms sont pris pour la lisibilité de mon problème, ce ne sont pas les noms réels de mes champs )

    Si un des trois champs est renseigné, les deux autres deviennent obligatoires.

    Mon problème: si l'utilisateur renseigne l'adresse, puis appuie sur 'ENTER', mon programme vas lui demander de renseigner le champs suivant (code postal en l'occurence). Mais si l'utilisateur décide a ce moment de ne plus rentrer l'adresse, il vas donc se placer sur le champs adresse et effacer ce qu'il voie et me laisser une belle suite de caractères blancs sur le champs ..... que mon programme vas recevoir et vas donc demander a l'utilisateur de renseigner le code postal ..... ( qui ne doit plus etre obligatoire )

    Tout cela pour en venir a ma question:
    Comment faire pour vider le champs adresse et avoir un joli adresseL = 0 ?
    De plus j'aimerais forcer le mdt du champs a ON en même temps que je le vide.
    Voilà ou j'en suis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
      IF ADRESS1L NOT = 0 THEN
                  MOVE ZERO TO W-CPT
                  INSPECT ADRESS1I TALLING W-CPT FOR ALL SPACES
                  IF W-CPT = ADRESS1L THEN
                     MOVE ??????  TO ADRESS1A
                     EXEC CICS SEND MAP        (MYMAP)                           
                                    FROM       (MAP1C4O)
                                    RESP       (REPONSE)                  
                     END-EXEC                                             
                   END-IF
               END-IF
    Je n'ai pas trouvé la constante BMS me permettant de faire celà

    A l'aide !
    Merci d'avance.
    [ Précision: Je suis en pseudo-conversationnel]

  2. #2
    Membre confirmé Avatar de Homer-ac
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 449
    Points : 586
    Points
    586
    Par défaut
    Un Copier/coller de la doc pour les différents move d'attributs possibles de DFHBMSCA (je n'ai pas trouvé de lien direct sur celle-ci).
    Si ça ne suffit pas, ici :
    http://publib.boulder.ibm.com/infoce.../conchome.html

    Puis DFHBMSCA dans case rechercher, puis sélectionner BMS constants
    --------------------------------------------------------------------
    You must use the symbolic name DFHDFT in the application structure to override a map attribute with the default. You can use a high value, such as X'FF', to reset the COLOR, HILIGHT, OUTLINE, PS, SOSI, or VALIDN attributes to their default values. On the other hand, to specify default values in a set attribute (SA) sequence in text build, you should use the symbolic names DFHDFCOL, DFHBASE, or DFHDFHI.

    Table 1. Standard attribute and printer control character list, DFHBMSCA Constant Meaning
    DFHBMPEM Printer end-of-message
    DFHBMPNL Printer new-line
    DFHBMPFF Printer form feed
    DFHBMPCR Printer carriage return
    DFHBMASK Autoskip
    DFHBMUNP Unprotected
    DFHBMUNN Unprotected and numeric
    DFHBMPRO Protected
    DFHBMBRY Bright
    DFHBMDAR Dark
    DFHBMFSE MDT set
    DFHBMPRF Protected and MDT set
    DFHBMASF Autoskip and MDT set
    DFHBMASB Autoskip and bright
    DFHBMPSO shift-out value X'0E'.
    DFHBMPSI shift-in value X'0F'.
    DFHBMEOF Field erased
    DFHBMCUR Field containing cursor flagged
    DFHBMEC Erased field containing cursor (COBOL only)
    DFHBMFLG Flags (COBOL only)
    DFHBMDET Field detected
    DFHSA1 Set attribute (SA) order
    DFHERROR Error code
    DFHCOLOR1 Color
    DFHPS1 Programmed symbols
    DFHHLT1 Highlight
    DFH32701 Base 3270 field attribute
    DFHVAL Validation
    DFHOUTLN Field outlining attribute code
    DFHBKTRN Background transparency attribute code
    DFHALL1 Reset all to defaults
    DFHDFT Default
    DFHDFCOL1 Default color
    DFHBLUE Blue
    DFHRED Red
    DFHPINK Pink
    DFHGREEN Green
    DFHTURQ Turquoise
    DFHYELLO Yellow
    DFHNEUTR Neutral
    DFHBASE1 Base programmed symbols
    DFHDFHI1 Normal
    DFHBLINK Blink
    DFHREVRS Reverse video
    DFHUNDLN Underscore
    DFHMFIL2 Mandatory fill
    DFHMENT2 Mandatory enter
    DFHMFE Mandatory fill and mandatory enter
    DFHMT Trigger
    DFHMFT Mandatory fill and trigger
    DFHMET Mandatory enter and trigger
    DFHMFET Mandatory fill and mandatory enter and trigger
    DFHUNNOD Unprotected, nondisplay, nonprint, nondetectable, MDT
    DFHUNIMD Unprotected, intensify, light-pen detectable, MDT
    DFHUNNUM Unprotected, numeric, MDT
    DFHUNNUB Unprotected, numeric, intensify, intensify, light-pen detectable
    DFHUNINT Unprotected, numeric, intensify, light-pen detectable, MDT
    DFHUNNON Unprotected, numeric, nondisplay, nonprint, nondetectable, MDT
    DFHPROTI Protected, intensify, light-pen detectable
    DFHPROTN Protected, nondisplay, nonprint, nondetectable
    DFHDFFR Default outline
    DFHUNDER Underline
    DFHRIGHT Right vertical line
    DFHOVER Overline
    DFHLEFT Left vertical line
    DFHBOX Underline and right vertical and overline and left vertical
    DFHSOSI SOSI=yes
    DFHTRANS Background transparency
    DFHOPAQ No background transparency

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Oui je connais bien ce site ^^
    Mais aucune de ces constantes ne fait un fields erased et un set MDT to ON en même temps. Je testerais demain le move de la valeur hexa directement dans mon attribut.

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

Discussions similaires

  1. [WD12] Effacer historique saisie d'un champ par programmation
    Par zouzoukha dans le forum WinDev
    Réponses: 2
    Dernier message: 17/04/2010, 16h39
  2. Réponses: 9
    Dernier message: 02/02/2009, 13h39
  3. Ajout d'un champ par programmation
    Par zwina2004 dans le forum WinDev
    Réponses: 3
    Dernier message: 06/10/2008, 09h17
  4. [WD10] placer des champs par programmation
    Par clades dans le forum WinDev
    Réponses: 3
    Dernier message: 21/11/2007, 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