子スクリプト間の変数受け渡しにについて

Avatar
Sachiko

有識者の皆様

別件でご質問させていただきます。

子スクリプトから受け取った出力変数を、別の子スクリプトに渡たしたいと考えております。

具体的には、複数のスクリプトを順次実行するメイン処理スクリプトにて、スクリプトAの出力変数:戻り値を、スクリプトBに渡し、戻り値の値によって、スクリプトB内の処理を条件分岐させたいと考えております。

スクリプトA → スクリプトB→スクリプトC …

スクリプトAの出力変数を、スクリプトBの入力変数として渡せるよう、以下のように子スクリプトのパスと一緒に指定してみたのですが、コンパイルエラーとなってしまいました。

${/SUB/PRG_A:戻り値}

※${変数名} を ${<スクリプトパス>:<変数名>} とする指定方法は、書籍を見たのですが、残念ながら、DataSpider 4.1 SP2 の環境ではエラーとなりました。書き方が誤っているのかもしれませんが。

現行では、スクリプトAの出力変数を、メインスクリプト内の変数に mapping して、${戻り値}としてスクリプトBに渡すことで、スクリプトB内での条件分岐処理は実現できておりますが、子スクリプト間で変数の受け渡しを直接行える方法等がございましたら、ご教示いただけますようお願い致します。

どうぞよろしくお願い致します。

 

 

 

 

 

 

この記事は役に立ちましたか?

0が役に立ったといっています

コメント

  • Avatar
    めじぇ
    コメントアクション Permalink

    こんにちは!こちらも返信遅くなりました!

    そしてあまり私のなかでイメージできてなくてすみませんなんですが、
    https://dstn.appresso.com/hc/ja/articles/115008919367
    この記事に書いてる変数の受け渡しとはまた違うんでしょうか…?

    ご確認お願いします<m(__)m>

    1
  • Avatar
    Sachiko
    コメントアクション Permalink

    めじぇさん、すみません!お知らせメールを見落としてしまっており、大変失礼致しました。
    御礼が大変遅くなってしまいましたが、こちらの質問にもご返信いただき、有難うございます。
    大変嬉しかったです^^

    質問の内容が非常に分かりづらく申し訳ありません;
    ご提供いただいたリンクに書かれた変数受け渡しと、実現したい内容は、基本的には同じでございます。

    ただ、おそらく私のやり方が悪いのだと思いますが、子スクリプトから親に返されてきた変数:戻り値を、別の子スクリプトに渡す際、そのままでは受け渡しがうまくいかず、親スクリプト側で明示的に変数マッピングをしてから渡す必要がありました。

    言葉だと分かりづらいかもしれませんが、処理イメージは以下の通りです。

    ①子スクリプトA実行
    ②子スクリプトAから戻された出力変数:戻り値を、親スクリプトの変数:戻り値にマッピング
    ③親スクリプトの変数:戻り値を、子スクリプトBの入力変数:戻り値に指定し、子スクリプトB内で、戻り値が 0 の場合のみ実行(=子スクリプトAが成功した場合のみ、子スクリプトBを実行

    ${<スクリプトパス>:<変数名>} みたいな書き方があるようでしのたで、あわよくば子スクリプトAから戻される変数を、
    上記②変数マッピングなしで子スクリプトBに渡すことができちゃったりしないかと考えておりました。

    いったん上述の処理で期待通り動いてはいるのですが、もしもっと良案等ございましたら、お時間許される範囲内でご助言いただけましたら幸いです。どうぞ宜しくお願い致します。

     

     

     

     

     

     

    0

ログインしてコメントを残してください。