RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Serv: irc.irc-land.org
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 Gestion mémoire en Cobol

Forum : COBOL
Sous Catégorie : Aucune
Type du sujet : Sujet Normale
FAQ : FAQ COBOL

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET NON RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGE : [1]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM COBOL

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
frasco
Nouveau membre
Inscrit : 15/03/2007
Messages : 2
Message
#127290
Posté le 15/03/07 à 09:56
Bonjour,

Est il possible en Cobol Microfocus de faire en sorte que les programmes contrôlent leurs zones de communication en retour d'appel de sous programmes ?

Exemple:
Si un pgm A appelle un pgm B avec une zone de 10 caractères mais que dans le pgm B la zone est définie sur 100 caractères, au retour de l'appel du pgm les 100 caractères vont "écraser" les zones de working suivant la zone de communication.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

HULK77
Modérateur :
- Cobol
Avatar de HULK77
Inscrit : 12/08/2004
Messages : 160
Message
#127295
Posté le 15/03/07 à 10:59
Smiley Bonjour Frasco,

Ta question est intéressante, et pour une zone de communication, je crois que
c'est possible.

Mais de toute façon, c'est dans ton programme A (appelant) qu'il te faudra
définir que ta zone est de type variable. En aucun cas dans le sous pro.

Reste à savoir comment on définit au niveau syntaxe que ta zone de communication est variable.

Si quelqu'un a la solution je suis aussi preneur !!!!

HULK77
__________________________
Ma fabrique de chemises tourne à plein régime !!!

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

frasco
Nouveau membre
Inscrit : 15/03/2007
Messages : 2
Message
#127301
Posté le 15/03/07 à 11:30
Bonjour Hulk77,

Pour utiliser des zones variables une solution serait de déclarer ces zones avec l'instruction "depending on".
Mais c'est un peu lourd à gérer et mettre en place...

La meilleure solution serait de trouver une option de compilation ou de runtime qui active un controle sur les zones de communication lors des call cobol.
Le problème c'est que je pense avoir fait le tour des options existantes en MicroFocus...

A suivre donc.

@+
Frasco.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

cobol
Nouveau membre
Inscrit : 25/04/2007
Messages : 1
Message
#131693
Posté le 25/04/07 à 08:27
Bonjour,

Quand un programme A appelle un programme B, Les zones de communication ne sont pas passées au programme B, mais ce sont leurs adresses respectives qui sont passées au programme appelé, donc leur longueur n'a aucune importance et c'est le programmeur qui doit gérer, les échanges de données, mettre un depending ne changera rien à ton problème, tu peut ajouter un filler de 90 octets aprés la zone de communication, dans le programme A ou ne traiter que les 10 premiers octets dans le programme B, pour ne rien écraser

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

HULK77
Modérateur :
- Cobol
Avatar de HULK77
Inscrit : 12/08/2004
Messages : 160
Message
#134562
Posté le 26/05/07 à 14:13
SmileySalut L'ami,
Quand un programme A appelle un sous programme B :

il est inexact de dire :
de dire que la longueur de la linkage n'a aucune importance.
En effet essaie pour une linkage définie avec 100 caractères d'en récupérer 106, impossible !!!!
Au même titre que si ramène des caractères alphanumériques dans une zone
déclarée en numérique, alors BOUM (Plantage).
Dans l'autre sens, si tu ne remplie que 90 caractères de ta linkage, et si celle
ci n'est pas initailisée avant l'appel du programme B, tu récupérera dans les 10 derniers caractères n'importe quoi (données présentent en mémoire à la suite de ta linkage).

D'autre part il est exact de dire que la machine transcrit en adresse tes commandes, mais franchement, ou s'en fout un peu. Nous on travaille en mode de commande, et c'est la machine qui traduit cela commande compréensible pour elle.

Il est exact de dire :
Que de toute facon, c'est le programmeur qui doit gérer cela.

Il y a fort longtemps, je me rappelle avoir utiliser ce cas de figure.
Je crois avoir déclaré en WSS une zone de linkage avec la clause DEPENDIN ON.
Et dans le CALL préciser après la zone LINKAGE du USING LENGH OF et le nom de la LINKAGE.

Cela devrait donner quelque chose comme :
En WSS :
01 ZONE-LINKAGE DEPENDING ON.

Puis CALL PGM B USING ZONLINK LENGH OF ZONLINK.

A tester

HULK77
__________________________
Ma fabrique de chemises tourne à plein régime !!!

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM COBOL



    PAGE : [1]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.