Sous-fichier de message

RPG (3 et 4, free), CL, SQL, etc...
Répondre
bvaron
Messages : 20
Enregistré le : jeu. 08 oct. 2020, 07:24:50

Sous-fichier de message

Message par bvaron »

Petite question toute bête, j'ai un programme 5250 d'affichage sélectif de suivis avec un sous fichier (SF+SFCTL) et un sous-fichier de message général dans l'écran (MSGSFL+MSGCTL).
J'envoie les messages par l'API QMHSNDPM qui se trouve dans une fonction, dans un *SRVPGM, pas de souci, tout fonctionne aux petits oignons.
Mon problème survient quand j'ajoute un format "WINDOW" à ce programme, pour pouvoir faire des sélections supplémentaires.
Je voudrais, si l'utilisateur à commis une erreur, envoyer le message d'erreur dans la fenêtre. (dernière ligne)
Malheureusement, les messages sont tous captés par le sous-fichier de message général du fichier écran.

J'imagine que je dois conditionner un mot clé dans le MSGCTL pour le désactiver pendant le traitement du format, mais là, je sèche.
(une solution simple, serait de déporter le traitement de mon écran supplémentaire dans un autre *PGM, mais je pense que ça peut se faire plus simplement)

DDS message Subfile source :

Code : Tout sélectionner

A*---------------------------------------------------------------- 
A* MESSAGE SUBFILE                                                 
A*---------------------------------------------------------------- 
A          R MSGSFL                    SFL                         
A*%%TS  SD  20250806  172638  IPLS09      REL-V7R3M0  5770-WDS     
A                                      SFLMSGRCD(27)               
A            MSGKEY                    SFLMSGKEY                   
A            MSPGMQ                    SFLPGMQ(10)                 
A*---------------------------------------------------------------- 
A* MESSAGE SUBFILE CONTROL RECORD                                  
A*---------------------------------------------------------------- 
A          R MSGCTL                    SFLCTL(MSGSFL)              
A*%%TS  SD  20190529  101543  BVA         REL-V7R2M0  5770-WDS     
A                                      OVERLAY                     
A                                      SFLDSP                      
A                                      SFLDSPCTL                   
A                                      SFLINZ                      
A N98                                  SFLEND                      
A                                      SFLSIZ(0010)                
A                                      SFLPAG(0001)                
A            MSPGMQ                    SFLPGMQ(10)                 
Merci pour votre aide :D

DTrijasson
Messages : 11
Enregistré le : lun. 17 mars 2025, 15:10:52
Localisation : Lyon

Re: Sous-fichier de message

Message par DTrijasson »

Bonjour,

En simple, je dirais de ne pas utiliser l'api QMHSNDPM dans le traitement de la fenêtre pour avoir une gestion séparée de ton standard.

Damien.

bvaron
Messages : 20
Enregistré le : jeu. 08 oct. 2020, 07:24:50

Re: Sous-fichier de message

Message par bvaron »

Effectivement Damien, je ne vois pas d'autre solution pour le moment.
Pour compliquer un peu le tout, le programme est multi-langues, je vais devoir jour avec un OVRMSGF pour sélectionner le bon fichier de message. Mais ça va le faire. :D

Merci en tout cas d'avoir pris un moment pour te pencher sur mon problème.

bvaron
Messages : 20
Enregistré le : jeu. 08 oct. 2020, 07:24:50

Re: Sous-fichier de message

Message par bvaron »

Bon, je vous fait tout de même part de ma solution.

Code : Tout sélectionner

     A*----------------------------------------------------------------         
     A* WMODEL : Fenêtre modèle                                                 
     A*----------------------------------------------------------------         
     A          R WMODEL                                                        
     A                                      WINDOW(3 20 15 92 *NOMSGLIN)        
     A*----------------------------------------------------------------         
     A* W18    : Gestion des filtres                                            
     A*----------------------------------------------------------------         
     A          R W18                                                           
     A                                      WINDOW(WMODEL)                      
     A                                      OVERLAY                             
     A                                      RTNCSRLOC(&W18FORMAT &W18FIELD &W18-
     A                                      L)                                  
     A            W18L           4S 0H                                          
     A            W18FIELD      10A  H                                          
     A            W18FORMAT     10A  H                                          
     A            A_W18SEL       1A  P                                          
     A            A_W18FLT       1A  P                                          
     A            A_W18FLTT      1A  P                                          
     . . . 
     
Puis dans le RPG, en cas d'erreur, je fait un write du format contrôle sous fichier de message, du format de contrôle sous-fichier et du format cartouche de fonctions, puis enfin, un exfmt de ma fenêtre.

Le message apparaît en bas de l'écran, c'est suffisant.
L'important, c'est le mot clé *NOMSGLIN dans le format modèle.

DTrijasson
Messages : 11
Enregistré le : lun. 17 mars 2025, 15:10:52
Localisation : Lyon

Re: Sous-fichier de message

Message par DTrijasson »

Merci pour le partage.

Damien

Répondre