PEXA Supportについて

PEXAプロパティ

トランスレータ

印刷フレームワーク

AETフレームワーク

ワークフロー

動的フォーム

変換フレームワーク

テンプレートエンジン

カレンダー

タスクスケジューラー

目次

  1. はじめに
  2. ファイルの格納場所
  3. スキーマ構成
  4. 記述例


はじめに

このドキュメントは、カレンダ機能のカレンダスキーマについて解説する物です。

カレンダスキーマは、アプリケーションが意識する論理的なカレンダ名と、実際のカレンダマスタ及び検索条件をマッピングする物です。
ファイルとしては1ファイルのみ作成し、格納場所を及びファイル名も決まっています。


ファイルの格納場所

カレンダスキーマはワークスペースの以下のフォルダ、ファイル名で格納してください。
ファイル名の変更は不可です。この1ファイルの中に全ての論理カレンダを登録します。

  ${PRJHOME}/src/calendar/calendar.entry


スキーマ構成

(calendarセクション
    (論理カレンダ名1
        source宣言部(1)
        required_keys宣言部(0|1)
        filterセクション(1)
        saturday_is_business_day属性 (0|1)
        sunday_is_business_day属性 (0|1)
    )
    (論理カレンダ名2
        source宣言部(1)
        required_keys宣言部(0|1)
        filterセクション(1)
        saturday_is_business_day属性 (0|1)
        sunday_is_business_day属性 (0|1)
    )
      :
      :
      :
    (論理カレンダ名N
        source宣言部(1)
        required_keys宣言部(0|1)
        filterセクション(1)
        saturday_is_business_day属性 (0|1)
        sunday_is_business_day属性 (0|1)
    )
)

記述注:
    属性        あらかじめ決められた値を選択する(true/falseなど)
    宣言部      値または、値のリストを設定する
    セクション  入れ子で他の属性、宣言部、セクションを保持する可能性がある
                (値又は、値のリストが設定される場合もある)

    (1):必須
    (0|1):オプション
    (1以上):一個以上必須
    (0以上):0個以上(オプション)


カレンダスキーマのスキーマ構成です。
calendarセクションの下に論理カレンダ名をつけたセクションを列挙して定義します。

source宣言部

アプリケーションがカレンダ機能を呼び出した際に指定された論理カレンダ名に対して、 実際に検索を行う対象となるカレンダマスタモデル名をここで指定します。

キー:
「source」(固定|必須)

形式:
Key・値

記述例:

    source    自社カレンダマスタ


required_keys宣言部

後述のfilterセクションで必要とするセッション値のうち、必須となるセッションキーを羅列します。 ここで指定されたセッションキーの値がnullだった場合は、実行時例外が発生します。 呼出元から渡してもらわないと絶対にカレンダマスタの検索ができないようなfilterが有る場合に指定するとバグ検出に役立ちます。

キー:
「required_keys」(固定|必須)

形式:
Key・値

記述例:必須セッション値が1つ

    required_keys    LoginUserInfo

記述例:必須セッション値が複数

    required_keys    LoginUserInfo,取引先No


filterセクション
source宣言で指定したカレンダマスタモデルに対する検索条件式を記述します。
なお、RemovedFlag="NOT_REMOVED"の検索条件はPEXAエンジンがデフォルトで必ず追加します。
そのため、このfilterセクションでRemovedFlagを記述する必要はありません。

ここの記述形式は、Service定義のsearchプロセスにおけるfilterセクションと同一です。
詳細はServiceFrameworkの開発ガイドを参照して下さい。

記述例

filter    "取引先No = @取引先No"

記述例

[filter
    filter  "取引先No = @取引先No"
    ,
    filter	"支店No = @支店No"
]

記述例

[filter
    condition "@取引先No is not null"
    filter    "取引先No = @取引先No"
    ,
    condition "@支店No is not null"
    filter	"支店No = @支店No"
]


saturday_is_business_day属性
土曜日を営業日扱いするか否かをtrueまたはfalseで記述します。
なお、省略されて場合はtrueが指定されたものとします。

記述例

saturday_is_business_day    false	;; 営業日指定がない限り土曜日を休日扱いにする


sunday_is_business_day属性
日曜日を営業日扱いするか否かをtrueまたはfalseで記述します。
なお、省略されて場合はtrueが指定されたものとします。

記述例

sunday_is_business_day    false	;; 営業日指定がない限り日曜日を休日扱いにする



記述例

;; ---------------------------------------------------------------
;; Current-Module:   calendar.entry
;; Release-Date:     $Date:: 2013-01-20 19:59:05 #$
;; Release-Version:  $Revision: 7226 $
;; First-Created-On: 2011/04/14
;; First-Created-By: daisuke morishita
;; Copy-Right-Owner:
;; ---------------------------------------------------------------
;; CommonCalendarFacadeが読み込むカレンダスキーマです
;;----------------------------------------------------------------
(calendar
    ;--------------------------------------------------
    ; カレンダ論理名:自社カレンダ
    ;--------------------------------------------------
    (自社カレンダ
        resource        自社カレンダマスタ
        required_keys   LoginUserInfo
        [filter
            filter      "利用会社No = @LoginUserInfo/部署No/利用会社No"
        ]
    )
    ;--------------------------------------------------
    ; カレンダ論理名:取引先カレンダ
    ;--------------------------------------------------
    (取引先カレンダ
        resource        取引先カレンダマスタ
        required_keys   取引先No
        [filter
            filter      "取引先No = @取引先No"
        ]
    )
    ;--------------------------------------------------
    ; カレンダ論理名:銀行カレンダ
    ;--------------------------------------------------
    (銀行カレンダ
        resource        銀行カレンダマスタ
        required_keys   銀行No
        [filter
            filter      "銀行No = @銀行No"
        ]
    )
)


更新情報

  • 最終更新者 : $Author: namako $
  • 最終更新日時 : $Date:: 2013-01-20 19:59:05 #$
  • バージョン : $Revision: 7226 $



Copyright © 2006, Atrris Corporation