Bonjour
Je dois actuellement développer dans le cadre de mon activité professionelle un batch qui génère du XML. Le truc, c'est que les specs sont en retard. J'en suis donc à fabriquer un moteur.....dont le dimensionnement sera vraisemblablement à revoir.
Afin d'industrialiser tout ça, j'use et j'abuse de la fonction LENGTH OF. Par exemple :
et le compilateur remplacera LENGTH OF par 100, ou autre chose si ma définition change.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 20 XML-SUBJECT PIC X(0100). * MOVE XML-SUBJECT TO CHAINE-ECRITE MOVE LENGTH OF XML-SUBJECT TO LONGUEUR-LUE
Mon souci est que j'aimerais faire le même genre de manip avec des occurs. J'ai :
et j'aimerais remplacer ce 15 par une fonction du même type que LENGTH OF, parceque ça ne restera sans doute pas à 15.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 25 XML-LIGNES OCCURS 15. 30 XML-NOM-LIGNE PIC X(0004). 30 XML-LIGNE PIC X(0226). SET W-SORTIE-KO TO TRUE MOVE +00 TO I PERFORM UNTIL W-SORTIE-OK ADD +01 TO I IF I > 15 SET W-SORTIE-OK TO TRUE ELSE - - - - - - - - - - - - - - END-IF END-PERFORM
Vous avez des idées?
Partager