($title_img_alt)

こちらからの投稿は、先頭に表示されているコメントへの返信になります。
グリッド罫線付き画面プログラムについて ima さん [ 11月17日(木) 18時45分 ]
グリッド罫線付きの画面プログラムをCALLして、終了させると呼出し元のプログラムに
罫線が残ってしまう現象が発生していますが、何か解決方法はあるものでしょうか?

(画面サイズは132×27)
RE:グリッド罫線付き画面プログラムについて IKD さん [ 11月18日(金) 7時1分 ]
画面罫線は最後に消去しないと残ったままになります。

1. ToolBox 罫線の場合

D S#KBFR          S              2A   INZ(X'2FC6')

A          R CLRKSN                                      
A                                      TEXT(' 罫線消去 ')
A            S#KBFR         2   O  1  2DSPATR(BL RI)     

C  LR               WRITE     CLRKSN 

      または

2. GRID BOX 罫線の場合

A*( 罫線クリヤー )                             
A          R GRDCLR                    GRDRCD  
A                                      GRDCLR  

C  LR               WRITE     GRDCLR

 で消去してください。
RE:グリッド罫線付き画面プログラムについて ima さん [ 11月18日(金) 17時49分 ]
早速ご回答頂き、誠にありがとうございます。

『2. GRID BOX 罫線の場合』に該当しており
記載されているロジックは既に入っていますが、うまく消えてくれません。

元々DSPSIZ(24 80 *DS3)の画面サイズで作成されており、
 その時は呼出し元に戻ると消えていましたが
 DSPSIZ(27 132 *DS4)へ変更したことで残ってしまう様になりました。

何か他にお心当たりがあれば、ご教授願えればと思います。

当方でも継続して解決方法を模索してみます。
RE:グリッド罫線付き画面プログラムについて IKD さん [ 11月20日(日) 10時1分 ]
ご質問の最初にそのような状況であることを
公示しておいたほうがいいですね。

わかっていることは最初にすべて列記しておいてください。

*DS4 に変更したときの CRTDSPF に問題があるとか
推測するしかありません。

CRTDSPF での
拡張表示  . . . . . . . . . . .   *YES
画面復元  . . . . . . . . . . .   *NO 

のパラメータを調べて他と確認してください。
また本当に

  WRITE CLRKSN

が実行されているかも確認が必要です。
最初は正常に期待どおりに動作していて再作成して
誤動作になったのであれば再作成の手順に誤りがあったと
考えるのが自然です。

変化した操作、環境、ソースについて白是手みてください。
RE:グリッド罫線付き画面プログラムについて ima さん [ 11月25日(金) 11時22分 ]
ご回答頂いた皆様ありがとうございます。

確かにわかっている情報は予め公示するように気をつけます。

頂いたご回答を元にいろいろ試験してみます。

SCS制御コード 昔のSE さん [ 11月21日(月) 15時39分 ]
制御の順番が正しくないかも

1. 画面サイズ変更
2. 罫線書き込み
3. 罫線表示
4. 罫線消去


RE:SCS制御コード 技術職員 さん [ 8月8日(火) 18時50分 ]
元々がDSPSIZ(24 80 *DS3)の画面サイズから、
拡張でDSPSIZ(27 132 *DS4)に変更した場合ですが、
罫線処理はちょっと特殊です。

?*DS4に一度罫線情報を書き込む
?*DS4をGRDCLR
?プログラムを終了

上記の方法では画面上の変更が*DS4に適応されず,罫線は残ったままとなります。
対処としては下記の方法をご利用ください,

?*DS4に一度罫線情報を書き込む.
?*DS4をGRDCLR
?FRCDTAを記述した画面をWRITEする.
?プログラムを終了する.

データ表示強制を挟むことで*DS4にGRDCLRを反映させ,画面上から罫線が消します.
RE:SCS制御コード 技術職員 さん [ 8月8日(火) 19時6分 ]
私の環境では下記の記述で*DS4の罫線要素を消せましたので、
ご参考にご利用ください。
また、他の方法がありましたら教えていただけると助かります。

--------
★DDS側 ソース(DSPSIZ(27 132 *DS4 24 80 *DS3) の定義を前提)

A*- UNLIND( *DS4 画面のラインを消す為に一度画面切替状態でクリアする )
A          R UNLIND                    FRCDTA
A*- UNLINE( GRDRCD で記載されたライン情報を削除する )
A          R UNLINE                    GRDRCD
A                                      GRDCLR
A          R LINE                      GRDRCD
A                                      GRDATR((*COLOR BLU) (*LINTYP SLD))
A                                      GRDLIN((*POS (*DS4 25 1 132) +
A                                                   (*DS3 22 1 80)) +
A                                             (*TYPE LOWER))

--------
★RPG側 ソース
/FREE
    WRITE LINE;
      ? 処理 ?
    WRITE UNLINE; 
    WRITE UNLIND; 
    RETURN;               
/END-FREE 

お名前

パスワード

メールアドレス

タイトル

ホームページ

アドレス

項目