1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
/*REXX*/
/*TRACE I */
"EXECIO * DISKR DCOLIN (FINIS STEM DS."
DO I = 1 TO DS.0
DSNAM.I = SUBSTR(DS.I,1,44)
SPACE.I = SUBSTR(DS.I,46,9)
CREAT.I = SUBSTR(DS.I,54,8)
VOLUM.I = SUBSTR(DS.I,63,6)
J = I + 1
DSNAM.J = SUBSTR(DS.J,1,44)
SPACE.J = SUBSTR(DS.J,46,9)
IF DSNAM.I = DSNAM.J THEN
DO
SPACETOT = 0
CALL DOUB
END
ELSE
DO
SPACETOT = SPACE.I
END
SPACETOT = SPACETOT % 55 /* CONVERSION EN TRACKS */
LSPACE = LENGTH(SPACETOT)
IF LSPACE < 7 THEN
DO
LCORIG = 7 - LSPACE
SPACETOT = INSERT(" ",SPACETOT,,LCORIG)
END
/* QUEUE DSNAM.I!!' 'SPACETOT!!' 'CREAT.I!!' 'VOLUM.I */
DS.1 = DSNAM.I!!' 'SPACETOT!!' 'C
"EXECIO 1 DISKW DCOLOUT (STEM DS." /* ECRITURE 1 LIGNE */
END
"EXECIO 0 DISKR DCOLIN (FINIS" /* CLOSE FICHIERS */
"EXECIO 0 DISKW DCOLOUT (FINIS" /* -------------- */
/* QUEUE ""
"EXECIO * DISKW DCOLOUT (FINIS" */
EXIT;
DOUB:
IF SPACETOT = 0 THEN
DO
SPACETOT = SPACETOT + SPACE.J + SPACE.I
SAY 'LIGNE EN DOUBLON : 'DS.I
END
ELSE
DO
SPACETOT = SPACETOT + SPACE.J
END
I = I + 1
DSNAM.I = SUBSTR(DS.I,1,44)
SPACE.I = SUBSTR(DS.I,46,9)
CREAT.I = SUBSTR(DS.I,54,8)
VOLUM.I = SUBSTR(DS.I,63,6)
J = I + 1
DSNAM.J = SUBSTR(DS.J,1,44)
SPACE.J = SUBSTR(DS.J,46,9)
SAY 'ESPACE = 'SPACETOT
IF DSNAM.J = DSNAM.I THEN CALL DOUB
RETURN |
Partager