新規投稿 記事一覧 ホーム
●ご利用方法,ご利用に際しての規約はこちらをお読みください。
こちらからの投稿は、先頭に表示されているコメントへの返信になります。
RE:もしかすると出来るかも。 YOTOO さん [ 10月11日(木) 17時50分 ]

    出来るかもしれませんよ。
    以前、画面上半分と下半分でSFLを2つ使ったPGを作ったことがありますが、下半分(SFL002)は
    表示のみで上半分(SFL001)に入出力フィールドをもった画面でしたが、下半分にカーソルを持って行
    きカーソルのいる位置の行の内容を表示するPGをコールするというものでした。

    C* 画面出力                                                        
    C                     MOVEA'1'       *IN,82            82=>   ON   
    C                     WRITEDUMMY                                   
    C                     WRITEGRD001                      GRID-WRITE  
    C                     WRITEGID001                       GUID-WRITE  
    C                     WRITECTL002                                  
    C                     EXFMTCTL001                                  
    C                     READ CTL002                     91 RRN 検出    
    C                     MOVEA'0'       *IN,82                         

    PGは EXFMTCTL001 で止まってますよね、何かキーが押されたら READ CTL002 でSFL002 の相対レ
    コード番号を読むのですが、画面ファイルは下記のように書いてます。

    A*CONTROL2 RECORD................................................. 
    A          R CTL002               SFLCTL(SFL002) OVERLAY PROT 
    A                                      SFLCSRRRN(&H#RRN2)          
    A                                      SFLSIZ(9) SFLPAG(8) BLINK   

    ここで H#RRN2 でSFL002 に CHAIN をかけるとその行の内容を引き出せました。
    ****************************************************************
    なのでEXFMTCTL001 のすぐ下で一回検出して READ CTL002 の下で
    再度検出するように書けばどうでしょうか?
    ****************************************************************

    このPGではカーソルのいる位置の相対レコード番号を検出する為に SFLCSRRRN キーワードを使
    っているので下記の『<=この部分』は書いておりませんが、その画面での先頭RRNの検出だけでいい
    のであれば下記の2箇所の『<=この部分』を書けばいいと思います。

    FCRD011FMCF  E                    WORKSTN      KINFDS INF  <=この部分      
    F                                         RRN   KSFILE SFL001   
    F                                         RRN   KSFILE SFL002   
    F*                                                             

    IINF         DS                                           
    I                                    B 370 3710CURSOR     
    I                                    B 378 3790RRN          <=この部分


    すみません、操作を間違ってしまいました上のが消せません。
    この掲示板パスワードを入力しないで書き込むと消せないんですね。 

お名前
パスワード
e-mailアドレス
タイトル
ホームページ
アドレス