- 締切済み
JCLでの文字列操作
jclで、ある変数に取得した文字列(例えばabcdefg)の最初の4文字だけとって、それに別の文字列(例えば20090716)をくっつける・・・なんてことはできないでしょうか? 手元にマニュアルがなく、ネットでいろいろ検索しているのですが、調べることができずに困っています。よろしければお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- みい ちび(@MICHIBI)
- ベストアンサー率26% (15/56)
コマンドプロシジャとかいうモノでJCLを書き換えて実行、てなことをむかーしやってた記憶があります。 外していたらごめんなさい。
- lv4u
- ベストアンサー率27% (1862/6715)
JCLのみでは無理です。例えば、PL/I等のプログラムと、プログラムカタログプロシージャの合わせ技、あるいは全てのJCLをプログラムで生成すれば可能ですね。(これがやりたいことか不明ですが) 1)実行したいJCLの必要な部分をカタログに登録する JCLで置き換えたい部分を"&DSN"のように記述しておく。 2)PL/I等のプログラムで、置き換える文字列を取得する プログラムで、置き換えたい文字列を取り出す。 3)カタプロのパラメータに変数名を指定して、JCLを生成する 例えば以下のような感じ //STEP01 EXEC CATPRC,DSN=ABC 4)生成したJCLを実行する できあがったJCLをなんらかの方法でシステムのキューに渡す。例えば、JCLをどっかのファイルに書き込んでおいてシステムコマンドを実行するなど。実行時に、システムのほうで、パラメータが置き換えられてJOBが実行される。 カタログプロシージャを作るのがいやなら、全てのJCLをプログラムで生成すればいいのですが、JCLの変更時に、プログラム修正になってしまいます。
- notnot
- ベストアンサー率47% (4900/10359)
JCLの機能ではできません。 本当にやりたいことを具体的に書けば別の解決策があるでしょう。
- yyr446
- ベストアンサー率65% (870/1330)
JCLてメインフレームコンピュータ(大型汎用機)で使われる Job Control Language の事ですか? //STEP1 EXEC PGM=PROG01,REGION=4096k //FILE1 DD DSN=XX.HHH.FILE みたいなやつ。 だとすると、JCL自体におっしゃるようなスクリプト的な機能はありません。 ※IBM(MVS,Z/OS)富士通(MSP)には無いです。