Dans les travaux parallèles DataStage® , certaines étapes peuvent envoyer un marqueur de fin de vague (EOW), qui indique la fin d'une unité de travail ou d'une transaction. Lorsque tous les enregistrements extraits du lien d'entrée sont inclus dans une unité de travail (appelée flux unique), l'étape Excel génère des feuilles Microsoft Excel qui contiennent le nombre maximal d'enregistrements jusqu'à ce que tous les enregistrements soient écrits.
Supposons, par exemple, que l'étape Excel comporte deux liens d'entrée, DSLink1 et DSLink2. DSLink1 est associé à Sheet1 et DSLink2 est associé à Sheet2. Le nombre maximal d'enregistrements d'une feuille est de 65 536 et DSLink1 contient 100 000 enregistrements ; DSLink2 possède 150 000 enregistrements. Chaque feuille n'a pas de noms de colonne sur la première ligne. Dans ce cas, le nombre d'enregistrements suivant est inclus dans chaque feuille de chaque fichier.
Nom du fichier |
Sheet1 |
Sheet2 |
Workbook001.xlsx |
65 536 |
65 536 |
Workbook002.xlsx |
34 464 |
65 536 |
Workbook003.xlsx |
0 |
18 928 |
Lorsque des enregistrements extraits du lien d'entrée sont divisés en deux unités de travail ou plus (appelées flux multiples), l'étape Excel arrête d'écrire des enregistrements dans la feuille Microsoft Excel et crée un nouveau fichier Microsoft Excel si le nombre d'enregistrements d'un flux dépasse le nombre maximal d'au moins une feuille. L'étape Excel n'écrit aucun enregistrement du flux suivant dans le fichier précédent, même si une feuille peut contenir davantage d'enregistrements. Supposons, par exemple, que chaque lien contient le nombre d'enregistrements suivant dans chaque flux.
N° de flux |
DSLink1 |
DSLink2 |
1 |
90 000 |
50 000 |
2 |
5 000 |
90 000 |
3 |
5 000 |
10 000 |
Dans le premier flux, l'étape Excel crée un fichier Microsoft Excel nommé Workbook001.xlsx qui comporte deux feuilles, Sheet1 et Sheet2. L'étape Excel écrit les enregistrements qui sont extraits de DSLink1 dans Sheet1 jusqu'à ce qu'il lise le nombre maximal d'enregistrements (65 536) et écrit tous les enregistrements (50 000) de DSLink2 dans Sheet2. Ensuite, l'étape Excel crée un fichier Microsoft Excel nommé Workbook002.xlsx et écrit le reste des enregistrements (24 464) du premier flux et tous les enregistrements (5 000) du deuxième flux de DSLink1 dans Sheet1. Même si la feuille Sheet2 de Workbook001.xlsx ne dépasse pas le nombre maximal d'enregistrements, l'étape Excel écrit les enregistrements (65 536) du deuxième flux extrait de DSLink2 dans la feuille Sheet2 de Workbook002.xlsx, et non de Workbook001.xlsx. Lorsque le nombre d'enregistrements dans le deuxième flux de DSLink2 dépasse le nombre maximal, l'étape Excel crée un fichier Microsoft Excel nommé Workbook003.xlsx et écrit le reste des enregistrements (24 464) dans le deuxième flux de DSLink2 dans la feuille Sheet2 de Workbook003.xlsx. Pour le troisième fplux, les deux feuilles disposant de suffisamment de place, l'étape Excel écrit tous les enregistrements extraits de DSLink1 (5 000) et de DSLink2 (10 000) dans les feuilles Sheet1 et Sheet2 de Workbook003.xlsx.
Par conséquent, le nombre d'enregistrements suivants est écrit dans chaque feuille de chaque fichier :
Nom de fichier |
Sheet1 |
Sheet2 |
Workbook001.xlsx |
65 536 du 1er flux |
50 000 provenant du 1er flux |
Workbook002.xlsx |
29 464 (= 24 464 du 1er flux + 5 000 du 2e flux) |
65 536 provenant du 2e flux |
Workbook003.xlsx |
5000 du 3e flux |
34 464 (= 24,464 du 2e flux + 10 000 du 3e flux) |