6.1 【設問】受発注(3/3)

6.1 【設問】受発注(3/3)

例題8 受注ヘッダ、受注明細の属性を見直す

まず、業務の現状と要望事項を説明します。それを把握した上で、続く問題に答えなさい。

業務担当者にヒアリングをすることによって実際に受注を受けるにあたっては、次のような情報も管理していることがわかりました。

  • 客先希望納期:注文単位の場合もあるし、商品ごとの場合もあります
    場合によっては個数を分けて異なる納期で注文という場合も考えられます
  • 受注キャンセル:出荷指示がでるまでは、受注のキャンセルを受付ける、ということがわかりました
    出荷指示を出した後はキャンセルすることはできず、売上返品という形で処理しています
    キャンセルの単位は、受注すべての場合もあるし、受注明細の商品単位の場合もあります

問題

上記の要件を満たすために必要な変更をER図に加えてください。

ヒント

「客先希望納期」を「受注明細」エンティティで管理すれば、同じ商品でも希望納期の違いによって別の明細行を作成することができます。
すべての受注明細の希望納期が同じであるという前提であれば、「受注」エンティティで「客先希望納期」を管理すればよいといえます。

キャンセルは、「受注」単位でも、「受注明細」単位でも対応できる必要があります。
また、出荷指示がでるまで、という制限があるので、ステータスで出荷指示を管理し、アプリケーションで判断できるようにする必要があります。

解答

ER図に変更はありません。
受注:属性追加と属性名変更
*受注注文番号  
 客先注文番号  
 受注日付  
 受注顧客コード(FK1) 
 出荷先顧客コード(FK2) 
 受注社員コード(FK3) 
 値引き承認社員コード(FK4) 
 受注部門コード(FK5) 
 営業値引き承認フラグ  
 営業値引き理由  
 営業値引き非承認理由  
 値引き詳細番号(FK6) 
 消費税額(導出) 
 税抜受注金額合計(導出) 
 キャンセルフラグ 1.
 摘要  
 
スーパータイプ:受注明細 :属性追加
*受注注文番号(FK1) 
*商品コード(FK2、FK3) 
*客先希望納期日付  
 価格種別コード(FK3) 
 商品価格適用開始日(FK3) 
 営業値引き承認フラグ  
 営業値引き理由  
 営業値引き非承認理由  
 値引き詳細番号(FK4) 
 消費税額(導出) 
 税抜金額(導出) 
 予定納期日付  
 受注数量  
 変更後最終受注数量  
 キャンセルフラグ 1.
 ステータス 2.

解説
(注:番号は解答中の番号と対応します。番号が記載されていない解説は、全体に当てはまります)

  • 「受注明細」エンティティに「客先希望納期日付」属性を追加します
    同じ商品でも、異なる希望納期であれば、別オカレンスとして管理する必要があるため、「客先希望納期日付」もー意識別子の一部になります
  1. 「キャンセルフラグ」は、「受注」と「受注明細」の両方に属性として追加します
    値はデフォルト値で0を設定し、キャンセル時に1を設定します
  2. ステータス属性では、これまで、
  • 仮受注
  • 受注確定
  • 納期確定

を管理していましたが、これに、「出荷指示清」を追加します
ステータスの使用方法として、「受注確定」後、営業判断による値引きがなければ即時に「出荷指示」をだすことができます
営業判断による値引きがあった場合、「営業値引き承認フラグ」に承認の値を確認できた場合、「出荷指示」処理が行われます。

< 前へ | 6.1 【設問】受発注(3/3) | 次へ >

解説トレーナー

Oracle / 上流工程 担当 中村 才千代

データベース設計、システム構築の上流~下流工程全般のインストラクターです。SE時代の経験を生かし「業務を知るエンジニアこそDB設計に関わるべき」「DB設計に携わるエンジニアは業務を知る人に知恵を貸してもらう」ことを伝えたいと思っています。

■認定・受賞

2000年 Oracle University「Best Instructor of the Year」受賞
2002年 Oracle University「Best Instructor of the Year」受賞

Page Top