H DATEDIT(*YMD/)
      **************************************************************************
      *使用ファイルの定義
      **************************************************************************
      *<<商品マスター>>
     FSYOHIN    IF   E           K DISK    PREFIX(XX)
      **************************************************************************
      *データ構造
      **************************************************************************
      *<< PROGRAM DATA STRUCTURE >>
     D                SDS
     Dproc_name          *PROC
      *<< WEB CONTROLL >>
     D cur_dsp         S              3    INZ
      **************************************************************************
      *WEBツールの定義
      **************************************************************************
      *<<初期処理>>

     D #IWIN           PR             1    EXTPROC('#IWIN')
     D                               10    value

     D sts_in          S              1    INZ
     D pgm_id          S             10    INZ
      *<<変数値獲得>>

     D #IWVAL          PR          1000    EXTPROC('#IWVAL')
     D                               32    const

     D get_nam         S             32    INZ
     D get_val         S           1000    INZ
      *<<変数値セット>>

     D #IWSET          PR             1    EXTPROC('#IWSET')
     D                               32    const
     D                             1000    value

     D sts_set         S              1
     D set_nam         S             32    INZ
     D set_val         S           1000    INZ
      *<<出力処理>>

     D #IWOUT          PR             1    EXTPROC('#IWOUT')
     D                               10    const
     D                               10    const
     D                               10    value

     D sts_out         S              1
     D out_lib         S             10    INZ
     D out_fil         S             10    INZ
     D out_mbr         S             10    INZ
     D out_mbr1        S             10    INZ('SP0110H1  ')
     D out_mbr2        S             10    INZ('SP0110H2  ')
     D out_mbr3        S             10    INZ('SP0110H3  ')
      **************************************************************************
      *外部プロシージャの定義
      **************************************************************************

      *<<文字列数値変換>>
     D #CHR2NUM        PR            31    EXTPROC('#CHR2NUM')
     D                               50    value
     D                                2  0 const
     D                                2  0 const

      *
     D cnv_str         S             50    INZ
     D dec_len         S              2  0 INZ
     D dec_plen        S              2  0 INZ
      *
     D                 DS
     D dec_str                 1     31    INZ
     D d_minus                 1      1    INZ
     D d_numeric               2     31    INZ
      **************************************************************************
      *KEYリスト
      **************************************************************************
      *<<商品マスター>>
     C     K@01          KLIST
     C                   KFLD                    W@HINCOD
      **************************************************************************
      *メイン
      **************************************************************************
      *<<初期処理>>
     C                   EXSR      INZPRC
      *<<メイン処理>>
     C                   SELECT
      ***********************************************************
      *キー入力画面表示
      ***********************************************************
     C                   WHEN      cur_dsp = 'TOP'
      *<<キー入力画面HTML指定>>
     C                   EVAL      out_mbr = out_mbr1
      ***********************************************************
      *明細画面表示
      ***********************************************************
     C                   WHEN      cur_dsp = 'DTL'
      *<<キー情報の獲得>>
     C                   EXSR      GETKEY
      *<<獲得情報のチェック>>
     C                   EXSR      GETCHK
      *<<明細情報の獲得>>
     C     K@01          CHAIN     SYOHINR                            90
      *<<データが存在する時、明細画面表示>>
     C                   IF        *IN90 = *OFF
      *<<キー情報のセット>>
     C                   EXSR      SETKEY
      *<<明細情報のセット>>
     C                   EXSR      SETDTL
      *<<明細情報のセット>>
     C                   EVAL      out_mbr = out_mbr2
     C                   ENDIF
      *<<データが存在しない時、エラー画面表示>>
     C                   IF        *IN90 = *ON
     C                   EVAL      out_mbr = out_mbr3
     C                   ENDIF
      *<<次画面モードのセット>>
     C                   ENDSL
      *<<HTML出力処理>>

     C                   EVAL      sts_out = #IWOUT('CGISAMPLE':'CGISAMPLE':
     C                                               out_mbr)

      *<<終了処理>>
     C                   SETON                                        LR
     C                   RETURN
      **************************************************************************
      *初期処理
      **************************************************************************
     C     INZPRC        BEGSR
      *<<変数の定義>>
     C     *LIKE         DEFINE    XXHINCOD      W@HINCOD
      *<< WEB OPERATION INITIALIZE >>

     C                   EVAL      pgm_id = proc_name
     C                   EVAL      sts_in = #IWIN(pgm_id)

      *<<画面モードの獲得>>

     C                   EVAL      cur_dsp = #IWVAL('cur_dsp')

      *画面モード初期値= 'TOP'
     C                   IF        cur_dsp = *BLANK
     C                   EVAL      cur_dsp ='TOP'
     C                   ENDIF
      *
     C                   ENDSR
      **************************************************************************
      *キー情報の獲得処理
      **************************************************************************
     C     GETKEY        BEGSR
      *<<商品コード>>

     C                   EVAL      W@HINCOD = #IWVAL('XXHINCOD')

      *
     C                   ENDSR
      **************************************************************************
      *獲得情報のチェック
      **************************************************************************
     C     GETCHK        BEGSR
      *<<チェック・ロジックは、ここに組み込んでください。>>
      *
     C                   ENDSR
      **************************************************************************
      *キー情報のセット処理
      **************************************************************************
     C     SETKEY        BEGSR
      *<<商品コード>>

     C                   EVAL      set_val = %TRIM(W@HINCOD)
     C                   EVAL      sts_set = #IWSET('XXHINCOD':set_val)

      *
     C                   ENDSR
      **************************************************************************
      *明細情報のセット処理
      **************************************************************************
     C     SETDTL        BEGSR
      *
      *<<メーカー>>

     C                   EVAL      set_val = %TRIM(XXMAKER)
     C                   EVAL      sts_set = #IWSET('XXMAKER':set_val)

      *<<品種>>

     C                   EVAL      set_val = %TRIM(XXHINSYU)
     C                   EVAL      sts_set = #IWSET('XXHINSYU':set_val)

      *<<品名>>

     C                   EVAL      set_val = %TRIM(XXHINMEI)
     C                   EVAL      sts_set = #IWSET('XXHINMEI':set_val)

      *<<売単価>>

     C                   EVAL      set_val = %TRIM(%EDITC(XXUTANKA:'J'))
     C                   EVAL      sts_set = #IWSET('XXUTANKA':set_val)

      *<<仕入単価>>

     C                   EVAL      set_val = %TRIM(%EDITC(XXSTANKA:'J'))
     C                   EVAL      sts_set = #IWSET('XXSTANKA':set_val)

      *<<在庫数>>

     C                   EVAL      set_val = %TRIM(%EDITC(XXZAIKO:'J'))
     C                   EVAL      sts_set = #IWSET('XXZAIKO':set_val)

      *
     C                   ENDSR