2016-06-25 1 views
1

Mon exigence estComment transmettre la sortie d'un travail Datastage Parallel à un autre travail?

  1. parallèle Job1 -I d'extraire des données d'une table, lorsque le nombre de lignes est plus que 0
  2. travail parallèle 2 devrait être déclenché dans le séquenceur que lorsque le nombre de lignes de requête de source Job1 est supérieur à 0

Je souhaite réaliser ceci sans créer de fichier intermédiaire dans le travail1.

+0

Pourquoi? Quelle est votre obligation de le faire? – MichaelTiefenbacher

+0

Seulement lorsque le nombre de lignes de la requête source dans Job1 est supérieur à 0.Job2 dans le séquenceur doit être déclenché. –

Répondre

1

Donc, fondamentalement, ce que vous voulez faire est d'utiliser les informations d'un flux de données (de votre Job1) et l'utiliser dans la séquence "above" en tant que paramètre.

Dans votre cas, vous voulez décider du niveau de séquence pour exécuter les tâches suivantes (si plus de 0 lignes sont renvoyées) ou non.

Deux options pour que:

  1. Job1 enregistre les informations dans un fichier qui est un fichier de valeur d'un ParameterSet. Ces fichiers sont stockés dans un répertoire fixe. Le paramètre du fichier de valeur pourrait ensuite être utilisé dans votre séquence pour décider de votre traitement ultérieur. Les détails des jeux de paramètres peuvent être trouvés here.

  2. Vous pouvez utiliser un travail serveur pour Job1 et définir un statut d'utilisateur (fonction de base DSSetUserStatus) dans un transfomer. Ceci est également renvoyé à la séquence et pourrait être référencé dans les étapes ultérieures de la séquence. Voir le documentation mais vous trouverez beaucoup d'autres informations sur Internet ainsi que sur ce sujet.

Il existe plus de solution à ce problème - ou appelons-le défi. D'autres moyens peuvent être un script appelé au niveau de la séquence qui interroge la base de données et évitera Job1 ...