Google
オフコン練習帳内を検索
インターネット全体を検索

NECオフコン関連
オフコン一般
情報

[掲示板に戻る]


旧家イトウ家の小技裏技(その15) 江須扇 2003-12-31 9:07
Windows AP起動でうまくいか... ターラヤン 2004-1-1 1:56
Re: Windows AP起動でうまく... 江須扇 2004-1-1 2:37
Re: Windows AP起動でうまく... ターラヤン 2004-1-4 16:23

1 旧家イトウ家の小技裏技(その15)
江須扇 2003-12-31 9:07  [返信] [編集]

-------------------------------------------------------------------------------------------

その15)WindowsAPでのソース編集

-------------------------------------------------------------------------------------------

最新版のFilvert(Ver5.0)ではA−VXのソースエディターが提供されたようです。

その機能を真似てJCLを作ってみました。

SYS@JSLに下記のをJCL名PCEDITと登録し修正したいソースをTEST01とした時



RUN PCEDIT,(TEST01);



で可能です。

但し、Windows側のエディターの自動起動はPC/WS−EMLがU75830−P703以降になります。

自動起動はエミュレータを立ち上げ直後は巧く行きますが、何度もやるとゴミが入りファイルが呼べません。

ターラヤンさんのCOBOLで作ったものを使うほうが確実です。



手動起動ならば、A−VX鍵聞澆任△譴丕錬砲隼廚い泙后

A−VX?は#PCCNVは共有ファイルは指定できないので無理と思います。

代替機能として#FTCNVを使えば可能かもしれません(たぶん)



なお、元ソースを置換しますのでテストはくれぐれもご注意ください。

SULのバックアップを採る事をお奨めします。

また、更新番号(REV)は付きませんのでその点もご理解ください。



以下、サンプルJCL

-------------------------------------------------------------------------------------------

/RUN #LBM;
PRD=PRN999_
MDE=MSD_
MCI=_
MFI=WORKSUL_ ←ソースの入っているライブラリ名
ACT=SELECT_ ←抽出を指定
ODE=MSD_
OCI=_
OFI=CIF_ ←80バイトのカードイメージファイル
NAM=&0_ ←JCLの仮パラメータ(メンバー名入力用)
ODE=999_
ACT=999_
DIR=NO_
MDE=END_
/> ;
/RUN #NFCNV;
MN1=C_ ←変換指定
MN2=AD_ ←A−VX形式からDOS形式を指定        
PA1=MSD_
PA2=_
PA3=CIF_ ←80バイトのカードイメージファイルを指定
PA4=1_
PA5=C80_ ←英数字項目80桁を指定
PB1=G:\LINKA-VX\COBOLSOURCE.CBL_ ←共有フォルダーを指定
PB2=TXTJ_ ←テキスト(JIS)を指定
PB3=EXCLUSIVE_ ←排他モードを指定
PB7=C_
PB8=CREATE_ ←生成モードを指定
MN1=Q_
/> ;
// S0101407;
// S0101006;
// Q00NOTEPAD \\EXP600\LINKA-VX\COBOLSOURCE.CBL ; ←共有フォルダを指定
// ;
// ;
// ;
//        EDITが終了したら再開(CTRL+PF5)してください。 ;
/PAUSE ;
/RUN #NFCNV,DEV=MSD;
MN1=C_ ←変換指定
MN2=DA_ ←DOS形式からA−VX形式を指定
PA1=MSD_
PA2=_
PA3=CIF_ ←80バイトのカードイメージファイルを指定
PA4=1_
PA5=C80_ ←英数字項目80桁を指定
PB1=G:\LINKA-VX\COBOLSOURCE.CBL_ ←共有フォルダーを指定
PB2=TXTJ_ ←テキスト(JIS)を指定
PB3=PROTECT_ ←保護モードを指定
PB7=C_
PB9=COPY_ ←複写モードを指定
MN1=Q_
/> ;
/RUN #LBM;
PRD=PRN999_
MDE=MSD_
MCI=_
MFI=WORKSUL_ ←ソースの入っているライブラリ名
ACT=REPLACE_ ←置換を指定
IDE=MSD_
ICI=_
IFI=CIF_ ←80バイトのカードイメージファイル
TYP=COBOL_ ←COBOLを指定
LIN=YES_
NAM=&0_ ←JCLの仮パラメータ(メンバー名入力用)
NAM=_
IDE=999_
ACT=999_
DIR=NO_
MDE=END_
/> ;

-------------------------------------------------------------------------------------------

今年最後の小技裏技をお届けしました。

本年は誠にありがとうございました。

来年も引き続き、小技裏技を投稿しますので宜しくお付き合いをお願い申し上げます。

2 Windows AP起動でうまくいかないことがある件について
ターラヤン 2004-1-1 1:56  [返信] [編集]

江須扇さん、その他の皆さん、あけましておめでとうございます。


> 但し、Windows側のエディターの自動起動はPC/WS−EMLがU75830−P703以降になります。
> 自動起動はエミュレータを立ち上げ直後は巧く行きますが、何度もやるとゴミが入りファイルが呼べません。


今試せないので分かりませんが、

> // Q00NOTEPAD \\EXP600\LINKA-VX\COBOLSOURCE.CBL ;

の後から1バイト空白をJSで渡せる文字列ぎりぎりまで、ひたすら入力していってもダメなのでしょうか。

私も昔COBOLでWindows AP実行プログラムを作ったとき、うまく実行できないことがありました。
「文字列が250文字に足りない場合は、250文字まで1バイト空白で埋める」という1文に気が付かなかったためでした。
文字列の後にゴミがあると、正しく動かないことがあるようなので、文字列の後を1バイト空白で埋めると良いようです。


3 Re: Windows AP起動でうまくいかないことがある件について
江須扇 2004-1-1 2:37  [返信] [編集]

> 江須扇さん、その他の皆さん、あけましておめでとうございます。



ターラヤンさん、その他のみなさま、あけましておめでとうございます。本年も宜しくお願い申し上げます。m(_ _)m



> > 但し、Windows側のエディターの自動起動はPC/WS−EMLがU75830−P703以降になります。

> > 自動起動はエミュレータを立ち上げ直後は巧く行きますが、何度もやるとゴミが入りファイルが呼べません。

>

> 今試せないので分かりませんが、

> > // Q00NOTEPAD \\EXP600\LINKA-VX\COBOLSOURCE.CBL ;

> の後から1バイト空白をJSで渡せる文字列ぎりぎりまで、ひたすら入力していってもダメなのでしょうか。



補足説明を忘れていますが(その14)同様4バイト目はEsc(2716進)は必要です。

JCLのDISPLAY命令の制限で80桁までしか表示できません。

256桁にする為に;(セミコロン)を4行目に入れるとJCLエラーです。

2行目に80桁のところではJCLエラーにはなりませんが、一度JCLを使うと前述の通りゴミがJCLのバッファーに残り巧くいかない場合があります。



> 私も昔COBOLでWindows AP実行プログラムを作ったとき、うまく実行できないことがありました。

> 「文字列が250文字に足りない場合は、250文字まで1バイト空白で埋める」という1文に気が付かなかったためでした。

> 文字列の後にゴミがあると、正しく動かないことがあるようなので、文字列の後を1バイト空白で埋めると良いようです。



COBOLでプログラムを作るしかないかもしれませんね。

どうせ作るなら#LBMや#NFCNVの呼び出しを含め全てをCOBOLで作りたいと思うのですが思うだけで作るところまで行きません。



4 Re: Windows AP起動でうまくいかないことがある件について
ターラヤン 2004-1-4 16:23  [返信] [編集]

よく考えてみれば、たしかに80桁までしか指定できませんでした。正月気分ですっかり頭がぼけていたようです。

説明書上はJCLで使えるとは一言も書いていないようなので、もしかしたらサポート外の使用方法で、うまく使えなくても文句は言えないのかもしれませんが・・・。

入力バッファぐらいクリアして欲しい、という気もします。



> > 今試せないので分かりませんが、

> > > // Q00NOTEPAD \\EXP600\LINKA-VX\COBOLSOURCE.CBL ;

> > の後から1バイト空白をJSで渡せる文字列ぎりぎりまで、ひたすら入力していってもダメなのでしょうか。

>

> 補足説明を忘れていますが(その14)同様4バイト目はEsc(2716進)は必要です。

> JCLのDISPLAY命令の制限で80桁までしか表示できません。

> 256桁にする為に;(セミコロン)を4行目に入れるとJCLエラーです。

> 2行目に80桁のところではJCLエラーにはなりませんが、一度JCLを使うと前述の通りゴミがJCLのバッファーに残り巧くいかない場合があります。

>

BluesBB ©Sting_Band