カレンダー・コントロール

見出しのアイコン

カレンダー・コントロールとは

日付のフィールドに対してカレンダーを表示して、その中から日付を選択することができる機能が
カレンダー・コントロールです。

日付フィールドに対してカレンダー・コントロールを補助機能として付加しておくとエンド・ユーザーの
入力操作性は、より易しくなります。

カレンダーコントロール

作成方法(8桁日付)

8桁数字フィールド(日付)を DDS で EDTCDE(W)編集するとカレンダー・コントロールを使用することが
できます。

DDS で 8桁数字を編集コード W で編集しておくと、自動的に 8桁日付であると解釈されて HTML5 による
カレンダー・コントロールの機能が付加されます。
手動で HTML を修正する必要はありません。

QTRSRC/QDSPSRC(PGM201FM) 受注日

A                                  3 62' 受注日 '
A            JUDATE         8Y 0B  3 71TEXT(' 受注日 ')
A  64                                  ERRMSG(' 受注日の誤りです  -
A                                                              '63')
A*    編集コード :W  を日付のフィールドとみなしてカレンダーを追加します。
A                                      EDTCDE(W)

AutoWeb はこの EDTCDE(W) を DSPF オブジェクトから読み取って、次のようなカレンダー・コントロールを
自動的に追加します。

EDTCDE(W) が指定されたフィールドを出力すると、AutoWeb は

<input type="text" ではなく <input type="date"

としてブラウザへ出力します。
input type="date" がサポートされている次のブラウザでは、そのままブラウザの機能によって
カレンダー・コントロールを利用することができます。

  • ChromeChrome
  • SafariSafari
  • OperaOpera

次のブラウザで表示される場合は、AutoWeb が自動的にカレンダー・コントロール機能を追加します。

  • IEIE (MS Internet Explorer )
  • FirefoxFirefox

6桁日付のカレンダー・コントロール

6桁日付もカレンダー・コントロールを定義できるようになりました。
6桁数字 ( 6Y 0 )EDTCDE(Y) で編集を指定すると
カレンダー・コントロールが付与されます。
日付の形式は TEXTキー・ワードを使って

EDTCDE(Y) TEXT('*YMD')
EDTCDE(Y) TEXT('*MDY')
EDTCDE(Y) TEXT('*DMY')

のように明示的に指定するかまたは指定がなければ
実行するジョブの「日付の形式」に従います。
上記の TEXTによる明記があればそれが優先して解釈されます。

年(西暦4桁) + 月 + 日 が分離されている日付

年(西暦4桁) + 月 + 日 の型式で年・月・日が別々のフィールドとして
分離されている場合の日付型式でもカレンダー・コントロールを設定することが
できます。

【例】

分離されている日付

【DDSソース】

TEXT に *CYEAR, *MONTH, *DAY を指定してください。

        A            UCYY           4Y 0B  3 13TEXT(' 受付年 *CYEAR')
        A            UCMM           2Y 0B  3 18TEXT(' 受付月 *MONTH')
        A            UCDD           2Y 0B  3 21TEXT(' 受付日 *DAY')  
【カレンダー・コントロール】

カレンダー・コントロールは「日」の直後に追加されます。

分離されている日付

カレンダー・コントロール

カレンダー部分

カレンダー・コントロールを閉じるには

カレンダー・コントロールが表示されると、元のカレンダー・コントロールのアイコンは ×印の
アイコンに変化します。この ×印のアイコンをクリックするとカレンダー・コントロールは閉じられます。

閉じるボタン

カレンダー・コントロールの精度

表示されるカレンダー・コントロールは JavaScript によって生成されており、
日祭日や振替休日も正しく表示されるようになっています。
ただし、独自の(会社の休日等を考慮した)カレンダーはサポートされません。