Une solution :
Créer un fichier .txt (dit fichier batch) contenant tes commandes DOS,
et de le faire exécuter par ton programme COBOL.
Cela doit fonctionner.
Tu peux ainsi lui donner les commandes que tu veux, avec des questions /
Réponses, test d'existance de répertoire avant création etc ...
HULK77
__________________________
Ma fabrique de chemises tourne à plein régime !!!
J'ai donc créer un batch à partir de mon programme cobol qui crée un répertoire dans lequel je place les fichiers que je récupère d'un autre répertoire. C'est un programme d'archivage.
Tout se passe bien, mais avant de créer le répertoire d'archivage (nom en fonction de la date), je voudrais vérifier s'il existe déjà pour indiquer à l'utilisateur, le cas échéant, qu'un archivage a déjà été fait à cette date.
Je connais la fonction CBL_CHECK_FILE_EXIST pour les fichiers, mais comment faire avec les dossiers?
Et bien pour un répertoire (ou dossier) je crois que c'est le même principe que pour un fichier.
Avant d'y accéder, il faut :
vérifier son existance (avec l'instruction EXIST ) je qu'elle est valable
pour un fichier comme un répertoire
If exist nom répertoire echo LE REPERTOIRE EXISTE DEJA
If not exist nom répertoire echo LE REPERTOIRE N'EXISTE PAS,
VOULEZ VOUS LE CREER O/N
Tu peux aussi utiliser l'instruction errolevel en complément dans ton fichier batch
HULK77
__________________________
Ma fabrique de chemises tourne à plein régime !!!
ce que tu me proposes, c'est de faire un test de mon dossier sous dos avec la fonction if exist ... echo...
ce que je voudrais, c'est faire ce test à l'intérieur de mon programme cobol juste après avoir saisi la date d'archivage et avant que le traitement ne commence.
c'est pour ça que je te parlais de la fonction CBL_CHECK_FILE_EXIST qui permet de tester l'existence d'un fichier.
Pour moi, le test d'existence du répertoire d'archivage peut être fait au début de ton scipt .txt.
En effet si à l'issu du test d'existance du répertoire, celui ci existe déjà,
il te suffit d'envoyer un message à l'utilisateur.
Sinon, tu créer le répertoire et ses fichiers
HULK77
__________________________
Ma fabrique de chemises tourne à plein régime !!!
C'est une solution, mais le problème, c'est que je voulais éviter d'avoir à effectuer tout le traitement cobol avant de m'apercevoir que l'archivage à la date saisie ou à une date plus récente avait déjà été fait.
Il fallait tester dès la saisie en fait, alors que mon batch n'intervient qu'après exécution du programme.
J'ai donc résolu le problème en stockant à chaque fin d'archivage la date de l'archivage dans un fichier txt et à chaque ouverture du programme, je me réfère à ce fichier pour tester la saisie sur différents paramètres. Et comme ça, ça marche.
J'avais compris que tu lancais ton nouveau fichier batch ( .txt) en début de programme COBOL, ce qui t'évitait de faire tout un pan de traitement pas forcément à faire.
Ta solution est donc un bon compremis.
A +
HULK77
__________________________
Ma fabrique de chemises tourne à plein régime !!!
Le DOS (système d'exploitation) ne peut pas interpréter des commandes du langage COBOL.
Ta question ne serait pas plutôt le contraire ?
A savoir dans le langage COBOL, peut-on utiliser des comandes DOS ?
Dans ce cas de figure, oui c'est possible !!!!
Comme je le souligne dans l'historique des messages, à travers un fichier
TXT regroupant des commandes DOS, car à mon avis tu ne pourra pas utiliser
les commandes DOS directement dans le COBOL.
Pour la liste des commandes DOS, tu devrait pouvoir trouver cela sur le NET.
HULK77
__________________________
Ma fabrique de chemises tourne à plein régime !!!