モラル・フリー・フォーマットのRPG手法を試してみたいので、実際にコードを泳ぐのではなく、実際に維持することができます。私は、サービスプログラムとモジュールを作成し、コードを分離することでかなりうまくやっていました。新しいDclとCtlのすべてのステートメントを使って、実際に書式を取り除くことにしました。フリー・フォーマットRPGリニア・メイン・プログラムへのパラメータ渡しの問題
「ILE RPGのプログラミング」という本から次のコードをコピーするだけで、プログラムを呼び出してパラメータを渡すと、値は常にプログラム内で0になります。入力パラメータが表示されないようです。これはPTFとRDiのバージョン管理によるものですか、何か愚かなものがありませんか?私はV7R1M0にあり、RDiはバージョン9.5.1.0です。
ctl-opt Main(Driver);
dcl-pr Driver Extpgm('THISPGM');
*n int(5);
end-pr;
Dcl-pr Celsius int(5);
*n int(5);
END-PR;
dcl-proc Driver;
Dcl-pi *n;
Englishtemp int(5);
END-PI;
dcl-s Message char(50);
dcl-S Metrictemp int(5);
dcl-s State varchar(8);
Metrictemp=Celsius(Englishtemp);
Select;
When Metrictemp<0;
State='solid';
When Metrictemp=0;
State='Freezing';
When Metrictemp=100;
State='boiling';
When Metrictemp>100;
State='gaseous';
other;
State='liquid';
ENDSL;
Message='At '+%char(Englishtemp)+' degrees (' + %Char(Metrictemp)+
' Celsius), water is ' + State+'.';
DSPLY Message;
Return;
END-PROC Driver;
dcl-proc Celsius;
dcl-pi *n int(5);
Fahrenheit int(5);
END-PI;
dcl-s Temperature int(5);
eval(h) Temperature = (5/9) * (Fahrenheit - 32);
Return Temperature;
END-PROC Celsius;
ありがとうございました....後ろのことで、それは私の部分でかなり愚かでした.... – Jeff