2013-02-21 11 views
9

古いレガシーコードからいくつかのロジックを見つけなければなりません。私のマネージャーはCOBOLだと言っていますが、私はそれについては分かりません。私はcobolチュートリアルでいくつかのキーワードを見つけることを試みました。誰でもこの言葉は何ですか?

はここにいくつかのコードスニペットです:

PROC(&QPROG); 
VERIFY OFF PROC;DECLARE &MSG1 AS A75; 
/* DON'T CALL SCREEN IF IT'S FROM */ 
IF &QPROG NE 'YUITG' THEN DO; 
    CALL QAAF; 
    SCREEN QUERY LOADED QAAF OTW DO; 
     PRINT 'SCREEN WILL NOT LOAD'; 
     EXIT; 
    END; 
END; 
ON ERROR DO;PRINT &&RC;EXIT; END; 

IF LENGTHB(&P_WHAT) = 4 THEN DO; &P_WHATT = SUBSTR(&P_WHAT,1,1) CAT 
    ', ' CAT SUBSTR(&P_WHAT,2,1) CAT ', ' CAT SUBSTR(&P_WHAT,3,1) CAT 
    ' & ' CAT SUBSTR(&P_WHAT,4,1); 
END; 
DECLARE &KEYWORDD_A(0) AS A1; 
DECLARE &KEYWORDD_F(0) AS 99L; 
&KEYWORDD_A= 
(SUBSTR(&KEYWORDD,1,1),SUBSTR(&KEYWORDD,2,1),SUBSTR(&KEYWORDD,3,1), 
SUBSTR(&KEYWORDD,4,1),SUBSTR(&KEYWORDD,5,1),SUBSTR(&KEYWORDD,6,1), 
SUBSTR(&KEYWORDD,37,1),SUBSTR(&KEYWORDD,38,1),SUBSTR(&KEYWORDD,39,1), 
SUBSTR(&KEYWORDD,40,1)); 
&KEYWORDD_F = FINDEX(&KEYWORDD_A = ' ',ALL); 

IF &PROG EQ &NAV THEN DO; 
    &ALLPROG = 'YES'; 
    &PROG = 'PR2'; 
END; 
-TOP_PROG 
CMS FILEDEF QAA2 DISK QAA2 NOMAD A6 (LRECL 100; 
WRITE '/* REPORT */' ON QAA2; 
WRITE '&GRP  = ''' CATB &GRP CATB ''';' ON QAA2; 
WRITE '&MGTRPT  = ''' CATB &QPROG CATB ''';' ON QAA2; 
IF &AMPRFROM NE &NAV THEN DO; 
    WRITE '&AMPRFROM = ''' CATB DISPLAY(&AMPRFROM) CATB ''';' ON QAA2; 
END; 

CLOSE QAA2; 
+0

PLSQLおそらく、静かではないでしょうか? –

+1

おそらくSASですか?ここにPDFへのリンクがあります。 [LINK](http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CD0QFjAB&url=http%3A%2F%2Fwww2.sas.com%2Fproceedings%2Fsugi23%2FPosters% 2Fp199.pdf&ei = nGAmUbOmayu02AWZkYHIDw&usg = AFQjCNE1h9c5t43P3Ww01muqbBShLz52Ug&sig2 = 4KRtdzMCH2SNdOghT32ong&bvm = bv.42661473、d.b2I&cad = rja) –

+0

@bwtrentはSASのプログラミング言語ですか?リンクを見て、私はそれがツールのようなものだと理解しましたか? – Neir0

答えて

24

編集:

これは私を悩ませています。それがRexxではなくEXECであると推測したが、CMSで明確に実行され、EXEC 2を残していた。

しかし、今はNOMAD自身だと思う。確認が難しいですが、ここではhttp://www.tallant.com/portfolio/webpages/web/nomad/nomad2.htmlがコードの例です。

EXEC 2との間で実行されているかどうかに関係なく、わかりません。これは単に同様の方法で動作するか、または「システム機能」を実行するために必要なCMSまたはCPへの「砲撃」をサポートするだけです。

だからおそらく...

これはEXEC2です。

VM/CMSには「古い」コマンド言語が2つあります。最も古いものはEXECです。 Rexxは "新しい"コマンド言語でした。

これが悪いと思われる場合は、EXECがどのようなものか想像してみてください。 EXECとEXEC2はCLISTと似ていますが、彼らが共同の祖先を持っているかどうかはわかりません。

これは、IBMのVMオペレーティング・システム(これはオリジナルの「仮想マシン」)であり、「シングル・ユーザー」の複数のコピーを実行する能力を含むIBMのVMオペレーティング・システムVM上でのみ動作し、 "CMS FILEDEF"が来る(CMSに "砲撃"される)場所であるCMS(Conversational Monitor System、私は信じる)と呼ばれるオペレーティングシステムは、 DOS/VSE、MVS、VMなどの本格的なIBMオペレーティング・システム(これは他の「ゲスト」オペレーティング・システムを実行することができます)、そして最近はz/OS、z/VSEなどですが、わかりませんがおそらくLinux。

編集。 "/ " " /"コメントが含まれていることは非常に悪いことです。ファイルの最初の行がそのように開始し終了すると、その内容はRexxとみなされます。 VMは、3つの「言語」をすべてサポートしますが、プログラムの開始方法に応じて異なるインタープリターを実行します。

メモリから、EXECは*(コメント)で始まり、EXEC2はそれを必要とせず、Rexxには/ *から* /が付いています。

+1

2つの編集が既に行われていますが、VMがIBMメインフレームオペレーティングシステムであることを忘れていました。 –

+0

EXEC2を組み込んだNOMADプロシージャーである可能性が高いことを指摘しておきましょう。スクリプト内のいくつかのステートメントはEXEC2ではないため、NOMADでなければなりません。 HTML文書に埋め込まれたjavascriptが含まれている場合、何が起こるかのように、結果は純粋なHTMLでもjavascriptでもありません。良いsluthing ... – NealB

+0

私はもっと探しています。 EXEC 2が&TRACEを開始します。 EXEC 2で "認識"されなかったEXEC 2のコマンドは、メモリから(スキャンされたドキュメントだけが驚く)、CPに解決されていないのにCMSで解決されていない場合は、実行された "環境" 、そういうものなので、そのタイプのミックスを手に入れるのは簡単です。 –

-1

私はこれについてはよく分からないが、それはREXXかもしれようです。見てみましょう:

http://en.wikipedia.org/wiki/Rexx

+0

ありがとうございます。私はすぐにそれを見た。そして私は、変数の使用が異なって終了することに気づいています。私のスニペットでは、変数は&Ex:&ALLPROG = 'YES'の前に使用されています。 – Neir0

+0

Rexx、Clist、またはその一部のバリエーションのようなものはありません –

3

これはCLISTです。 IBMメインフレームでよく見られます。第二テイクオン

EDIT

、これはCLISTではありません。それはCLISTの近くのいとこのように見えます(古いIBMシステムにはいくつかの変種があります)。私の最高の推測は、これはCMSの下で実行されているいくつかの種類のかなり古いEXECです。

ライン:それは私がCMSを思わせるよう

CMS FILEDEF QAA2 DISK QAA2 NOMAD A6 (LRECL 100; 

は、ファイル・アロケーションのためのCMSへの逃避のように見えます。

誰かがSASである可能性があると示唆していました。 IBMシステム上のSASもCLISTのように見えるかもしれませんが、SASとは思えません(これは非常にずっと前からSASでしか働いていませんでしたので、私もこれを修正しています)。

私はこれもEXEC2であるとは確信していません。私は VM SP EXEC 2 Reference Manualを掘った。 例の中のいくつかは、EXEC2に「翻訳」されていないようです。たとえば、PROC、DECLARE、LENGTHB、CALL、CATはマニュアルには記載されていません。私は のCMSを使用して、80年代にしばらくの間、実際にこれに似たものを書かなければならなかったが、それはずっと前だったし、実際には多くのことを覚えていない。 。

私が言うことは、このようなものは、1980年代半ばから後半のIBMシステムで見つかったスクリプト言語の派生物のように見えることです。

確かにCOBOLまたはREXXではありません。

+0

もう一つの問題の行は "SCREEN QUERY LOADED QAAF OTW DO;"です。 DECLAREステートメントは正常ではありません。TSO-clist –

-1

これはCLISTコードです。

以前は、CLISTコードが多数使用されていましたが、今ではREXXが独自の位置を占めています。しかし、CLISTは多くのメインフレーム・システムで使用されています。

+1

いいえ、そうではありません。 CMSが利用可能な環境では、CLISTは使用できません。実際にCLIST(MVS/z/OSの下)であると感じたら、別のオペレーティング・システムであるCMSに簡単にアクセスする方法を説明してください。彼らが全世界を自分自身に持っていること。 –

関連する問題