2010-11-30 4 views

答えて

2
/* REXX */ 
"LISTDS ?"   /* Command that sets RC to 12 */ 
SAY 'RC IS' RC  /* RC is 12 */ 
RC = X    /* RC set to X */ 
SAY 'RC IS' RC  /* RC is X */ 

上記の作品は、それが最後のコマンドからの戻りコードで上書きされます以外RC変数に関する特別なことは何もありません。 これは、Zosを実行しているメインフレームでは、少なくともあなたが望むものに設定できます。

Rexxのタイプ(クラシックまたはOO)や使用している環境などの詳細については、さらに詳しく説明する必要があります。

0

あなたのメソッドの戻り値を設定したい場合は、「戻る」表彰を使用すると「結果」のリターンコードを取得するには、例えば必要があります。

/* REXX - program A */ 
SAY "THIS IS PROG. A WITH RC = 4" 
RETURN 4 

/* REXX - PROGRAM B */ 
SAY "CALLING PROGRAM A..." 
CALL PROG_A 
RC = RESULT 
SAY "RC = "RC " RETURN FROM PROGRAM A..." 
0

Deuianが前に言ったようにRCは最後に実行されたコマンドによって設定され、正確な回答(環境、目標/タスク、バッチ/インタラクティブなど)を得るために、より詳細な情報を提供する必要があります。 Zos REXXでRCを設定する愚かな作業方法は、バッファを作成することです:RCはバッファ数に設定されます(RC = 100が必要な場合は100個のバッファを作成する必要があります...)。

/* rexx */ 
'MAKEBUF' 
say RC 
'MAKEBUF' 
say RC 
'DROPBUF' 
say RC 
/* exec output */ 
1 
2 
0 
*** 

前のコードはバッファをアクティブにしておくことに注意してください。 (別のDROPBUFが必要)

関連する問題