トップ 一覧 置換 検索 ヘルプ RSS ログイン

AS400でCGIを動かすの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
http://hoboweb.blog25.fc2.com/blog-entry-18.html
{{ref cgi.pdf}}

!!環境
!一般サーバー構成(拡張タブ)
:サーバーエリア:グローバル構成
:サーバCCSID: 5035
:クライアントCCSID: 942

!動的コンテンツおよび CGIの(拡張タブ)
サーバーエリア:CGIが置いてあるディレクトリ
:変換モード:%%MIXED/MIXED%%
:CGIジョブ CCSID:5035
:クライアントCCSID:942

!!ソース作成
エミュレータのホスト・コード・ページを
 939 日本語英数小文字拡張
に変更する。また、
 CHGJOB CCSID(5035)
にてCCSIDを変更しておく

CCSID=5035のソースファイルを作成します。作成するメンバーはILE-RPGですのでRPGLEソースを作ります。
 > CRTSRCPF FILE(MYLIB/QRPGLESRC) RCDLEN(112) IGCDTA(*YES) CCSID(5035)
ライブラリー MYLIB にファイル QRPGLESRC が作成された。 

!!コンパイル
 > CRTRPGMOD MODULE(MYLIB/T0101) SRCFILE(MYLIB/QRPGLESRC) DBGVIEW(*ALL)
モジュール T0101 がライブラリー MYLIB に入れられました。最高の重大度は
00 。 04/04/17 の 09:00:00 に作成されました。
 > CRTPGM PGM(MYLIB/T0101) BNDSRVPGM(QTCP/QTMHCGI)
プログラム T0101 がライブラリー MYLIB に作成された。

!!サンプルソース
      D HTML            S             80    DIM(8) PERRCD(1) CTDATA                                  
      D RECBUF          S            512A                                                            
      D OUTLEN          S              9B 0 INZ(512)                                                 
      D CRLF            C                   X'15'                                                    
       /COPY QSYSINC/QRPGLESRC,QUSEC                                                                 
      C     1             DO        8             N                 4 0                              
      C                   MOVEL     HTML(N)       RECBUF                                             
      C                   CAT       CRLF:0        RECBUF                                             
      C     ' '           CHECKR    RECBUF        OUTLEN                                             
      C*----------------------------------------------------+                                        
      C                   CALLB     'QtmhWrStout'                                                    
      C                   PARM                    RECBUF                                             
      C                   PARM                    OUTLEN                                             
      C                   PARM                    QUSEC                                              
      C*----------------------------------------------------+                                        
      C                   END                                                                        
      C*                  DSPLY                   C                 3                                
      C                   SETON                                        LR                            
      C                   RETURN                                                                     
 ** CTDATA HTML                                                                                      
 CONTENT-TYPE: TEXT/HTML                                                                             
                                                                                                     
 <HTML><HEAD><TITLE>TEST</TITLE></HEAD><BODY>                                                        
 HELLO WORLD                                                                                         
 1234567890あいうえお                                                                              
 abcdefghijklmnopqrstuvwxyz                                                                          
 ABCDEFGHIJKLMNOPQRSTUVWXYZ                                                                          
 </BODY></HTML>                                                                                      

{{category2 AS400}}
!!サーバの停止と実行
問題が発生してサーバを落とす場合
 ENDTCPSVR SERVER(*HTTP)
起動
 STRTCPSVR SERVEr(*HTTP) HTTPSVR(*ADMIN '-fsccsid 5035')
{{category2 OS,AS400}}