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

 taille maxi RECORD avec Cobol Microfocus

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 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
Nounours64
Nouveau membre
Inscrit : 14/12/2007
Messages : 5
Message
#146346
Posté le 14/12/07 à 14:48
Bonjour,

en cobol Microfocus (Server Express 4 ou 5) quelle est la taille maxi pour un RECORD afin de ne pas avoir le message d'erreur suivant à la compilation :

* Options: int("IWP110.int") anim csi verbose warning(1) assign(external)
* defaultcalls(4) filetype(4) idxformat(4) vsc2 fp-rounding(vsc2)
* checkdiv(vsc2) sign(ebcdic) MF(12) nocheck ibmcomp
* perform-type(osvs) list noalter errlist notrunc bound
* defaultbyte(0)
* Compiling IWP110.cbl
64 10 SQ00-E9060 PICTURE X(99999).
64 10 SQ00-E9060 PICTURE X(99999).
* 649-S************************************************* ( 0)**
* 649-S************************************************* ( 0)**
** Record length exceeds system limit
** Record length exceeds system limit
* Micro Focus Server Express V5.0 revision 000 Compiler
* Copyright (C) 1984-2006 Micro Focus (IP) Limited. URN RXCAM/AA0/00000U
* REF GNR-099063006AC


Où est paramétrée cette taille limite ?
Est-elle modifiable avec des options de compilation ?

Merci.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

bul
Membre du club
Avatar de bul
Inscrit : 26/01/2004
Messages : 947
Message
#146347
Posté le 14/12/07 à 14:59
bonjour,

des gens plus compétents que moi devraient
pouvoir répondre à tes questions.

perso, je voulais faire remarque qu'un record
de 99999 octets me semble une aberration,
une erreur de conception à priori ? non ?

Cordialement.
__________________________
~ mon site ~ m'écrire ~
Laissez une adresse Mail où vous écrire, en évitant les spams
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Nounours64
Nouveau membre
Inscrit : 14/12/2007
Messages : 5
Message
#146348
Posté le 14/12/07 à 15:01
Non ce n'est pas une erreur.
La personne manipulant ce fichier souhaite récupérer une donnée stockée sous forme CLOB dans une table Oracle.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

bul
Membre du club
Avatar de bul
Inscrit : 26/01/2004
Messages : 947
Message
#146374
Posté le 15/12/07 à 13:58
je ne sais absolument pas ce qu'est un CLOB.

mais pour faire un parallèle, soit on transmet
une image ( quelques Mo ), soit on transmet
l'adresse de cette image ( quelques octets )

Cordialement.
__________________________
~ mon site ~ m'écrire ~
Laissez une adresse Mail où vous écrire, en évitant les spams
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

HULK77
Modérateur :
- Cobol
Avatar de HULK77
Inscrit : 12/08/2004
Messages : 160
Message
#146429
Posté le 17/12/07 à 10:41
Smiley Bonjour Nounours64,

Pour ma part j'utilise souvent des structures ayant des longueurs de
6000 à 8000 charactères (Flux BDF (Banque de France). Cela ne pose aucun
problème Avec Microfocus sous Unix.

Au delà, c'est l'inconnu.

Ce qui est sûr, c'est le compilateur Microfocus, comme les autres à ses limites.
Pour connaître celles ci, voir avec Microfocus.

Cela ne fait pas partie à mon avis d'options paramétrables soit à la compilation ou à l'installation du compilateur.

BUL émet une piste intéressante dans le sens ou, si vous avez besoin de récupérez un certain nombre de données, il faudra peut être se pencher sur
la façon de procéder, afin peut être de filtrer les données et ne prendre que
ce qui vous intéresse

Affaire à suivre ...

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

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Nounours64
Nouveau membre
Inscrit : 14/12/2007
Messages : 5
Message
#146519
Posté le 19/12/07 à 14:25
Bonjour,

tout d'abord merci aux différents intervenants sur le sujet.

J'ai fini par avoir une réponse et apparemment la limite actuelle sur le site où je me trouve est de 32K.

Concernant l'objet Oracle de grande taille de type LOB, voici une définition succinte de ceux-ci :
1 - BLOB
Objets de grande taille binaires (Binary Large Objects)
Exemples: images, sons, vidéo
2 - CLOB
Objets de grande taille de type caractère (Character Large Objects)
Exemple: Textes (encodage single byte)
3 - NCLOB
Objets de grande taille avec jeux de caractères nationaux (National Character Large Objects)
Exemple: Textes nationaux (encodage multi-byte, possibilité de stocker des alphabets asiatiques)

En manipulant ces objets Oracle en cobol, on peut connaitre la taille de l'objet courant à l'aide de définition en HOST VARIABLE :

définition en WORKING STORAGE
...
EXEC SQL BEGIN DECLARE SECTION END-EXEC
01 94X1-E9060-LONG PICTURE S9(9) COMP.
01 94X1-E9060 PICTURE X(10000000) VARYING.
EXEC SQL END DECLARE SECTION END-EXEC
...

EXEC SQL BEGIN DECLARE SECTION END-EXEC
10 B11U-J8841B PICTURE X(50).
10 B11U-E9060 SQL-CLOB.
EXEC SQL END DECLARE SECTION END-EXEC

manipulation en PROCEDURE DIVISION
EXEC SQL LOB DESCRIBE :B11U-E9060
GET LENGTH INTO :94X1-E9060-LONG
END-EXEC.

Pour manipuler ces objets il y a différents ordres SQL à faire en amont du GET LENGTH, mais je ne vais vous expliquer là le détail.
Malheureusement pour l'instant je ne connais pas la taille maximale du texte qui sera stocké dans un objet CLOB par l'application concernée.
Aussi nous souhaitions tailler large pour récupérer cette information car pour des raisons externes à l'application cette information, qui en fait une requête SQL complexe, doit être stockée sous forme fichier séquentiel afin d'être reprise par un automate qui l'exécutera ultérieurement.

Je suis donc d'accord pour dire qu'il y a moins de filtrer plutôt les informations à conserver mais la taille maxi reste variable et nous cherchons donc à obtenir le stockage le plus large.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

HULK77
Modérateur :
- Cobol
Avatar de HULK77
Inscrit : 12/08/2004
Messages : 160
Message
#146545
Posté le 19/12/07 à 20:48
SmileyNounour64,

Merçi pour ses précisions techniques, mais dans mon domaine qu'est la finance, l'on ne traite que des données de type flux bancaire et non des données imags ou vidéo comme c'est ton cas.

Vous utilisez Oracle avec des requêtes plus complexes que nous.

Je ne sais pas si l'on pourra éclairer ta lanterne.

J'en profite pour faire une remarque sur mes propos concernant le nombre de caractères maximum traiter. En effet nous traitons régulièrement des flux
de 8000 à 10 000 caractère à travers des fichiers et non pas de 6000 à 8000
caractères.

Néanmoins, la solution si vous la trouver, intéressera la communauté.

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

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Nounours64
Nouveau membre
Inscrit : 14/12/2007
Messages : 5
Message
#146552
Posté le 20/12/07 à 09:25
Hulk77,

je travaille également dans le domaine bancaire ;-)
En fait, pour des problèmes de sécurité entre serveurs, on ne peut pas interroger directement la base de données avec la requête SQL. Aussi les personnes du projet ont dû imaginer un système où il faut poster la requête SQL dans un objet CLOB. Ensuite un autre programme, en Cobol, extrait cette requête pour la poster à son tour dans un fichier séquentiel. Et enfin un "démon" balaye la pile où se situe cette requête et l'exécute... Ouf.

Aux dernières nouvelles, cette équipe a défini une autre manière (sans passer par Cobol) de poster cette requête. Pour l'instant je n'en sais pas plus, juste qu'il s'agira d'un enchaînement de scripts Unix.

Voilà pour aujourd'hui.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

bul
Membre du club
Avatar de bul
Inscrit : 26/01/2004
Messages : 947
Message
#146554
Posté le 20/12/07 à 10:00
>>...Ouf...

et ben oui... et c'est bien ce que je pensais :

une erreur de conception, à laquelle on
tente de palier, avec des solutions tellement
emberlificotées, que ça ne peut que queuter,
et qui ne font qu'aggraver le mal.

Cordialement.
__________________________
~ mon site ~ m'écrire ~
Laissez une adresse Mail où vous écrire, en évitant les spams
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Nounours64
Nouveau membre
Inscrit : 14/12/2007
Messages : 5
Message
#146557
Posté le 20/12/07 à 10:33
Non Bul,


à la base ce n'est pas une erreur de conception!

C'est une contrainte de sécurité (la protection des données dans le domaine bancaire....) qui oblige à trouver un contournement à l'accès direct aux données.
Ensuite choisir entre un programme Cobol ou bien des scripts Shell, tout dépend des ressources et des compétences humaines dont tu disposes dans tes équipes.

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 :.