業種や会社により、販売のやりかたは様々ですが、製造業、卸業、小売業に分けてそれぞれ説明します。
製造業
製造業の特徴は、単に部品を購入して販売するのではなく、購入した部品を工場で加工して販売する点にあります。部品などの購入は、会計上に仕入ではなく、生産に含まれることになります。システム化して、生産管理と販売管理を区別して説明する場合、製造業における販売管理の範囲は工場で生産された製品が倉庫に入庫してからの部分を対象とするのが一般的です。
製造業における販売の業務を図で表現すると、下記のようになります。
卸売業
卸売業はメーカーと小売店の橋渡し役で、伝統的な機能として、商品の集荷と分散機能、需給調整機能、流通コスト削減機能などがあります。つまり、商品の流通業務に特化することによって、製造業者が大量に生産した製品を、低コストで小口に分散する役割を果たしているのです。
卸売業における販売管理を図で表現すると、かきのようになります。これは最も典型的なパターンです。
小売業
小売業の特徴は、原則として販売先が消費者である点に集約されます。ですから、企業間取引で一般的になっている信用販売ではなく、現金決済やカード決済、割賦販売など安全確実に回収できる決済が必要になります。そのため、小売業の情報システムは、通常の販売管理システムの発注・仕入部分のみを活用し、販売部分にはそうした決済を迅速に処理できるPOSシステムを使って構築されるのが一般的です。
小売業における販売管理を図で表現すると、下記のようになります。

業種
販売している商品やサービスの種類及び、メーカや卸売、小売など販売経路における位置により、企業や会社は、様々な業種に分類されます。
日本の産業全体の業種分けとしては、多くの場合、日本標準産業分類の大分類を基準(リファレンス)として、証券コード協議会における業種区分が用いられることが多い。下記の表はその業種一覧です。
業態
業態は、主に小売業や外食産業などの商業で使われます、業種と違い、販売形態(どのような売り方をするのか)により分類されます。
小売は、下記のように販売形態により業態分類できます。
■店舗販売
特定の場所に店舗を構え、商品を販売する形態です。下記のような分類があります
- 百貨店(デパート)、
- 量販店
- コンビニエンスストア
- スーパーマーケット
- ディスカウントストア
- 専門店
- 個人商店
■無店舗販売
- 訪問販売
販売員が、家庭や職場を訪問して商品を販売する方法。 - 移動販売
団地や郊外の住宅密集地など、人の集まりやすい場所で、一時的に販売する方法。 - 通信販売
事業者がカタログ、新聞・雑誌広告、テレビ、インターネットなどの媒体を通じて商品広告を行い、顧客が、郵便、電話、ファックス、インターネットなどで注文する販売方法。 - ネット販売(オンラインショッピングともいう)
通信販売の一種で、インターネットを使った販売形態。
用途
DFDとは、本来業務が持ってい る目的を達成するために要する 処理機能(大きな業務を構成す る要素業務に相当。)と情報の流 れを表すものです。
処理の手順ではなく、情報を注目対象としています。
DFDで表現する主な要素:
- 「情報」がどこからきて
- どのような処理が行われ
- その結果がどこに渡されるのか
- あるいはどこに蓄積されるのか
構成要素
DFDは、「ファンクション(処理を行う機能)」、「ターミネータ(情報の発信元、受 信元)」、「情報の流れ」、「ファイル(情報の一時的な蓄積場所)」という4つの 記号により表現されます。

作成方法
DFDを作成する際の基本的なルール
- 全てのファンクションも、少なくとも1つ以上の「入力となる情報の流れ」と「出 力となる情報の流れ」を持つこと
- 情報の流れは少なくとも1つのファンクションに結合していること
- 全てのファンクションは、入力情報を新しい情報として出力すること
- 全てのターミネータは少なくとも1つの情報の流れと結合していること
- 全てのファイルは少なくとも1つの情報の流れと結合していること
作成事例
業務・システム最適化計画策定指針(ガイドライン)からの「人事給与業務でのD F D」 の作成事例

外部リンク
このトピックでは、Pegaの用語集及びIT一般用語との対照を纏めてみました。不足や間違いなどのところについては、コメントでレスポンスください。
基本コンセプトを表現する用語
| Pega用語 | 意味 | Pega独自 | 一般IT用語 |
| Rule | アプリケーションを構成する各部品 | 〇 | Component(部品) |
| Rule Type | Ruleの「型」 | 〇 | Component's Class |
| RuleSet | Ruleのコンテナ、バージョン管理機能を持つ | 〇 | Bundle(バンドル) |
| Class | ルールまたは他のオブジェクトの集まりをグループ化したも | 〇 | Package(パッケージ) |
| Class Group | 異なるクラスのインスタンスを一つのテーブルに保存させるための機構 | 〇 | 該当なし |
データを表現する用語
| Pega用語 | 意味 | Pega独自 | 一般IT用語 |
| Data Page | データソースとの同期ロジック組込済みのデータキャッシュ | 〇 | Data Access Object (DAO) |
| Data Type | データ型の定義とデータの保持 | 〇 | Data Table(データテーブル) |
| Field Value | コード値」または、「区分値」 | 〇 | 該当なし |
| Page | 名前と値のペアを保持するデータ構造 | 〇 | Data Object(データオブジェクト) |
| Page Group | Pageの順序なしリスト | 〇 | |
| Page List | Pageの順序付きリスト | 〇 | Data List(データトリスト) |
| Property | 「属性」または、「データ項目」 | 同様 | |
| Property Type | Propertyの「型」 | 同様 | |
| Value Group | 値(基本型のみ)の順序なしリスト | 〇 | 該当なし |
| Value List | 値(基本型のみ)の順序付きリスト | 〇 | 該当なし |
業務プロセスを表現する用語
| Pega用語 | 意味 | Pega独自 | 一般IT用語 |
| Assignment | 人に割り当てられる作業 | 〇 | Task(タスク) |
| Case | 「事案」、「案件」、、「業務」 | 同様(CMMN仕様) | |
| Case type | Caseの「型」、ライフサイクルなどを定義 | 同様(CMMN仕様) | |
| Correspondence | 「書面」(添付資料、通知メール等) | 〇 | 同様(BMPN/CMMN仕様) |
| Flow | 処理フロー | 同様(BMPN/CMMN仕様) | |
| Flow action | タスクの完了を伴う「機能」 | 〇 | 同様(BMPN/CMMN仕様) |
| Local action | タスクの完了を伴わない「機能」 | 〇 | 同様(BMPN/CMMN仕様) |
| Routing | ルーティング、処理先を判定 | 同様 | |
| Service Level Agreement | タスクの期限と期限が過ぎた時のアクションを定義 | 〇 | 該当なし |
| Stage | 工程 | 同様(CMMN仕様) | |
| Work Group | 機能横断的なチーム、メンバー達は異なる組織に所属する場合がある | 〇 | Team(チーム) |
| Work Party | 個人、組織、またはその他の関係者 | 〇 | Actor(役割) |
| Work Basket | ワークバスケット、複数のオペレーターに未処理のAssignmentを割り当てるための機構 | 〇 | Job Queue(ジョブキュー) |
| Urgency | 緊急度 | 同様(CMMN仕様) |
ロジックを表現する用語
| Pega用語 | 意味 | Pega独自 | 一般IT用語 |
| Data Transform | データの転送及び形式の変換を行うプログラム部品 | 〇 | 該当なし |
| When | 「判定条件」 | 〇 | Conditional formula(条件数式) |
| Decision Table | 「デシジョン・テーブル」、「判定表」、「決定表」 | 同様 | |
| Decision Tree | 「デシジョン・ツリー」、「条件分岐表」 | 〇 | 該当なし |
| Declare Expression | 実行条件がついている「計算式」 | 〇 | 該当なし |
| Validate | 入力チェック | 同様 |
UIを表現する用語
| Pega用語 | 意味 | Pega独自 | 一般IT用語 |
| Control | 画面部品 | 同様、Widegetなどもよく使用される | |
| Harness | 単一のHTMLページ | 〇 | HTML Page |
| Navigation | 機能をナビゲーションするメニュー | 同様、その他の類似用語:Menu(メニュー) | |
| Paragraph | 文書 | 同様 | |
| Portal | ポータル、システムの入り口画面 | 同様 | |
| Section | 画面ブロック | 〇 | Block(画面ブロック) |
| Skin | UIの外観表示を変更できるもの | 同様 |
このトピックでは、東京都の各中華物産店を区別に纏めています。不足や変更があるところはコメントでご通知ください。

板橋区
(高島平)
- 新都アジア物産(SHIMTO)高島平店
高島平2-28-1 TEL:03-6915-7166,営業時間:10時~20時
北区
(赤羽)
杉並区
(高円寺)
- 中国物産店 中華食材食品店
高円寺北3丁目22-18 4F
豊島区
(池袋)
- 陽光城 池袋店
西池袋1-25-2 TEL:03-5960-9188,営業時間:24時間営業 - 中国食品 友誼商店
西池袋1-28-6(大和産業ビル 4F) - 日光池袋店 日連商事
西池袋 1-37-2(竜崎ビル)
葛飾区
- 雛華中華物産店
堀切5丁目22−1
荒川区
(日暮里)
- 麒麟中国物産 日暮里店
東日暮里5-52-6 (日経商事日暮里ビル 2F)
江東区
(南砂町)
- 中国物産美和
南砂2-3-1(南砂2丁目団地商店会) TEL:03-3615-0839, 営業時間:10時~21時
(辰巳)
- 吉祥商事
辰巳1-9-49(都営辰巳一丁目アパート 9号棟 たつみ商店街 112)
(亀戸)
- 千葉商店
亀戸5-9-5(コーポラスハマ) - 新アジア物産
亀戸5丁目21−16 - 友達物産
亀戸2-43-5 徳永ビル1F TEL:03-5609-6228 - 興安食品
亀戸5丁目21-13-102
(大島/東大島/西大島)
- 中華物産店
大島7丁目12
江戸川区
(新小岩/小岩)
- 陽光アジア物産 小岩店
南小岩7-27-10 TEL:03-3673-4777,営業時間:10時~翌朝5時
(平井)
- 華夏中国物産
平井5-22-12 - 東昇中国物産
平井2丁目25−14
(葛西/西葛西)
- 西葛西物産
西葛西6-9-9(STビル 4F) - 永盛MART
西葛西5-10-14 TEL: 03-6808-9224,営業時間:10時~22時 - 泰和(タイワ)物産
中葛西3-35-5 2階 営業時間:10時~22時
墨田区
(錦糸町/両国)
- アジアヤオショー
錦糸1丁目4−11
台東区
(上野/御徒町)
- 京和(キョウワ)商店
上野6-10−5 TEL:03-6240-1248 - 亜洲食品 アメ横店
上野4-10-17 - 海羽(カイバ)
上野4-7-8 TEL:03-5818-1868, 営業時間:10時~19時30分
新宿区
(大久保)
- 陽光城 アジア物産 大久保店
百人町1-17-10(STビル 1F) - 日光アジア物産
大久保1-15-12(横田ビル 1F) - 東京華僑服務社
百人町2-11-2(神倉ビル B1F)
(新宿)
- 華榮 中国食品 中国書店
歌舞伎町1-24-2(西武ビル3階),
中央区
(日本橋)
- 古樹軒
日本橋箱崎町39-4
足立区
(竹の塚)
- 豊島物産店
竹の塚5丁目7-1
1.Tr-cd:SICF

以下のICFサービスをそれぞれ有効化します。
WDA関連
- /default_host/sap/bc/webdynpro
- /default_host/sap/public/bc/ur
- /default_host/sap/public/bc/icons
- /default_host/sap/public/bc/icons_rtl
- /default_host/sap/public/bc/webicons
- /default_host/sap/public/bc/pictograms
- /default_host/sap/public/bc/webdynpro/*
SOAManager関連
- /default_host/sap/bc/soap
- /default_host/sap/bc/srt
- /default_host/sap/bc/srt/rfc/sap
- /default_host/sap/bc/webdynpro/sap
- /default_host/sap/bc/webdynpro/sap/appl_soap_management
2.Tr-cd:SMICM
ICMのサービスが有効になってないといけない、デフォルトで有効になっているはずですが、念のため確認します。


3.Tr-cd:SRT_ADMIN
技術的セットアップ実行にチェックを入れて実行します。クライアント000とその他設定したいクライアントで実施が必須です)
NetWeaverとは
NetWeaverとは、SAP社のソリューションであり、従来のABAP技術を活かしながら、J2EE技術を土台として全面的に取り込み、人・情報・ビジネスを統合する「次世代統合プラットホーム」として、SAP社からERPを含めた全てのビジネススイートのアプリケーション基盤という位置づけをしております。
NetWeave ABAPは、SAP ERP Central Component(SAP ECC、従来のR/3部分)の稼働基盤であり、R/3までの時代ではBasis(ベーシス)と呼ばれてきました。
NetWeaverの利用タイプ
NetWeaver Platformは、完全にコンポーネントベースのアーキテクチャ構成を実現できています。NetWeaver Platformを構成する機能は、利用タイプとして分けており、インストール時に必要に応じてインストール単位として選ぶことができます。
以下の表でバージョン毎の製品名およびその利用タイプを説明します。あくまでも筆者の認識で整理した内容ですので、間違いがあれば、有識者達にご指摘していただきたいです。
| バージョン | 製品名 | 利用タイプ | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| AsABAP | AsJAVA | BW | CE | DI | EPC | EP | MI | PI | ||
| 7.0 | NetWeaver Platform | ○ | ○ | - | ○ | ○ | ○ | ○ | ○ | ○ |
| 7.1 | Netweaver CE | ○ | ○ | - | ○ | ○ | ○ | ○ | - | ○ |
| NetWeaver PI | - | ○ | - | - | - | - | - | - | ○ | |
| NetWeaver Mobile | - | ○ | - | - | - | - | - | ○ | - | |
| 7.2 | Netweaver CE | ○ | ○ | - | ○ | ○ | ○ | - | - | ○ |
| 7.3 | NetWeaver Platform | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| 7.4 | NetWeaver Platform | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
NetWeaverの開発環境
NetWeaverの開発環境は、ABAPとJAVAによって分かれております。
- ABAP
ABAPワークベンチ(SapGUI利用) - JAVA
NWDS(Eclipseベース)
Eclipse基盤が提供した機能はとくに説明しません。
概述
Composite Application
Composite Designer
Desgin Time Repository
Development Infrastructure
Dictionary
Enterprise Portal
Process Development
Process Modeling
SAP Management
Virtual Composer
WebDynpro
Deployment
このトピックでは、Eclipseの概要を取り上げて説明します。
画面構成
画面イメージ
ワークベンチ
Eclipseを起動すると、1つの作業台が起動します。この作業台のことを「ワークベンチ」と呼びます。
ワークベンチは、次に説明するパースペクティブやエディター、ビューの土台となっている部分のことで、ワークベンチそのものが画面上に表示されることはありません。
パースペクティブ
パースペクティブは視角、視野といういみをもっています。
ワークベンチには、たくさんの機能があります。しかし、ある1つの作業をする際には、その一部の機能しか使いません。そのため、Eclipseでは必要な機能だけを選んで画面上に表示するようにしています。
どの機能を表示するかを選んだもの、さらに選んだ機能をどのように配置するかを決めたものを、「パースペクティブ」と呼びます。
Eclipseを起動すると、1つのパースペクティブが選択されて画面に表示されます。
エディタ
パースペクティブは、エディターとビューで構成されています。
エディターは、プログラムなどのデータの作成、編集、保存を行う機能です。
ビュー
ビューは、さまざまな情報を表示し、かつそれらに対して操作を行うことのできるウィンドウです。
このトピックでは、エラーハンドリング処理のプログラミング方法を取り上げて説明します。
概述
エラーハンドリング (英:error handling)とは、、プログラムの処理中に処理が妨げられる事象が発生した際、その処理をエラーとして対処する処理のことです、例外処理とも呼ばれます。
エラーハンドリングの処理内容は、プログラム内にあらかじめ用意しておく必要がありますので、このトピックでは、WDJ開発におけるエラーハンドリング処理の方法や手順を取り上げて説明します。
エラーハンドリング処理を行う必要がある。
Webdynproでは、エラーハンドリング処理は以下の手順で行う。
エラーハンドリング処理の概要手順
① Message Poolの定義追加
② Message Poolへのアクセス
③ UIへの出力領域の定義
④ エラーハンドリング処理
メッセージの定義
メッセージはメッセージプールに定義されます。メッセージプールはWebdynproコンポーネント毎に一つのみが存在します。
メッセージはプログラムが格納されたDCのメッセージプールに定義すること以外、共通的なDCを一つ用意して、そのなかのメッセージプールでメッセージを纏めて定義することによりメッセージの共通化を図ることができます。
メッセージ文言はパラメータをつけることができます。
メッセージの取得
Webdynproでは、Message PoolへのアクセスやMessage Poolからメッセージの取得に、以下の手順で行う。
IWDTextAccessor APIを利用し、Message Poolへの接続を作成する。
Message Poolへの接続を用い、MessageKeyをもとに、メッセージを取得する。
Object[] parameters = new Object[1]; parameters[0] = parameter;IWDTextAccessor textAccessor = wdComponentAPI.getTextAccessor();
String msg = textAccessor.getText('dbupderror'), parameters);
メッセージ領域の定義
エラーハンドリング処理
Webdynproでは、エラーハンドリング処理により、アプリケーション例外を発生させ、予め定義されるエラーメッセージ内容をします。
具体的な手順やコード例は以下のように示します。
if (!wdThis.check()){
//MessageManagerを取得
IWDMessageManager msgmgr = wdThis.wdGetAPI().getComponent().getMessageManager();
//メッセージを出力
msgmgr.reportContextAttributeMessage(
wdThis.wdContext.currentMyDataElement(), // エラーメッセージにリンクしているUIエレメント
wdThis.wdContext.nodeMyData().getNodeInfo().getAttribute("Name"), // チェック項目
IMessageUIComp.DBUPDERROR, // MessagePoolに登録されるメッセージキー
null,
true);
}
このトピックでは、WebdynproでのRFCモデル作成方法及び手順を取り上げて説明します。
Model作成
Webdynproでは、RFCの呼出にはaRFC用のModelを作成する必要がある。またModel作成の際に、
モデルデータとメタデータオブジェクトをセットで定義する必要がある。
aRFC呼出Modelの作成イメージを下図に示す。
データバインド
概要イメージ
Webdynproでは、RFCのモデルデータをWebdynpro内で利用するには、Webdynpro のCustom Controllerへバインドする必要があります
また、モデルデータをUIに表示するには、さらにView Controllerへバインドする必要があります
RFCモデルデータのバインドイメージを下図に示す。
RFC I/F呼出
// 通貨単位取得 String waers = wdThis.getWaers(); // ex: USD // 通貨単位の小数桁数を取得 BAPI_CURRENCY_GETDECIMALSModel model = new BAPI_CURRENCY_GETDECIMALSModel(); Bapi_Currency_Getdecimals_Input input = new Bapi_Currency_Getdecimals_Input(model); input.setCurrency(waers); wdContext.nodeBapi_Currency_Getdecimals_Input().bind(input); input.execute();String type = wdContext.currentReturnElement().getType();
if (type.equals(MSGTYP_ERROR)) {
IWDMessageManager msgMgr = wdComponentAPI.getMessageManager();
sgMgr.reportException(wdContext.currentReturnElement().getMessage());
}
int curdecimals = wdContext.currentCurrency_DecimalsElement().getCurdecimals();
※wdContext.nodeOutput().invalidate()の呼出により、RFCの処理結果はWebdynproで取得可能になる
このトピックでは、ポップアップ処理を取り上げて、そのプログラミング方法を説明します。
Confirmation Dialog
Confirmation DialogはWDJ標準ライブラリに組み込まれていますので、そのまま利用可能です。
プログラムの構造は主にいかのようになります。
- Yes, Noに該当するevent handler処理を記述しておく
- Confirmation Dialogを作成
- Yes, Noに該当するevent handlerを定義す
- Confirmation Dialogを表示
サンプルソースは以下です。
// 追加されたイベント(Yesボタンがクリックされたときの動き)
public void Yes(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
{
//@@begin Yes(ServerEvent)
logger.infoT("Yes button is clicked.");
//@@end
}
//@@begin createConfDialogWindow()
IWDWindowManager winMan = wdComponentAPI.getWindowManager();
IWDControllerInfo viewCtrlInfo = wdComponentAPI.getComponentInfo().
findInViews("WelcomeView").getViewController();
IWDEventHandlerInfo evtHndlr = viewCtrlInfo.findInEventHandlers("Yes");
IWDConfirmationDialog confDialog = winMan.createConfirmationWindow(
"本当にいいですか?", evtHndlr, "はい");
evtHndlr = viewCtrlInfo.findInEventHandlers("No");
confDialog.addChoice(evtHndlr, "いいえ");
confDialog.show();
//@@end
画面付きモーダルダイアログ
画面付きポップアップウィンドウとはWDJ部品の中でウィンドウをポップアップとして表示することを指します。
ポップアップウィンドウの制御はコンポーネントコントローラーまたはカスタムコントローラーのに定義すします。
サンプルソースは以下です。
public void openPopup( ) {
//@@begin openPopup()
if (popup == null) {
// ウィンドウ取得
IWDWindowInfo windowInfo = wdComponentAPI.getComponentInfo().findInWindows("PopupWin");
// モダルウィンドウ生成
popup = wdComponentAPI.getWindowManager().createModalWindow(windowInfo);
}
// ポップアップウィンドウを開く
popup.show();
//@@end
}
...
public void closePopup( ) {
//@@begin closePopup()
// ポップアップウィンドウを閉じる
popup.hide();
//@@end
}
...
//@@begin others
// ローカルウィンドウオブジェクト
private IWDWindow popup;
//@@end 別画面表示
別画面表示はURLを元に別ブラウザーを開くことを指します。
他のWDJアプリケーションを起動する「IWDDeployableObject」と「WDURLGenerator」を利用して実装します。
サンプルソースは以下です。
// アプリケーションからIWDDeployableObjectを取得
IWDDeployableObject dObject = wdComponentAPI.getApplication().getDeployableObjectPart().getDeployableObject();
// 実行するWDJアプリケーション名を指定
String url = WDURLGenerator.getApplicationURL(dObject.getApplication("Contract00601App"));
// 外部ブラウザーで開く
IWDWindow window = wdComponentAPI.getWindowManager().createNonModalExternalWindow(url);
window.show(); 他のWEBアプリケーション起動
同一サーバで存在するServlet等の場合、相対パースでURLを指定し、対象URLにPOST/GETでパラメータを渡す必要がある場合は「WDURLGenerator」を利用してパラメータを渡します。
サンプルソースは以下です。
// Mapでパラメータ値設定
Map<String, Object> urlParameters = new HashMap<String, Object>();
urlParamaters.put("id","1234");
// パラメータ生成、文字コードがnullの場合、UTF-8変換
String query = WDURLGenerator.getQueryString(urlParamaters, "Shift-JIS");
// 外部ブラウザーで開く, URL, パラメータ, POST(true)/GET(false)をパラメータ設定
// 想定パースは「/【DCのVendor名】~【DC名】/実行対象」で構成され、DC名に「/」が存在する場合、「~」に変換する。
IWDWindow window = wdComponentAPI.getWindowManager().createNonModalExternalWindow(
"/jp.co.asahikasei~yvw~jee~wm_excel_0001/download", query, true);
window.show();
// 別ウィンドウで開く
IWDWindow window = wdComponentAPI.getWindowManager()
.createNonModalExternalWindow(urlToTargetApp);
// ウィンドウプロパティの設定
window.setWindowSize(800, 480);
window.setWindowPosition(100, 50);
// アドレスバーの削除
window.removeWindowFeature(WDWindowFeature.ADDRESS_BAR);
window.show();


























