• 検索結果がありません。

NetCOBOL for .NET 応用編

N/A
N/A
Protected

Academic year: 2021

シェア "NetCOBOL for .NET 応用編"

Copied!
53
0
0

読み込み中.... (全文を見る)

全文

(1)

第7章 Webアプリケーションの作成

7.1 ASP.NETの概要

7.2 NetCOBOL for .NETとWebフォームアプリケーション

7.3 ASP.NETのクラスとWebフォームアプリケーション作成のポイ

ント

7.4 Webページの遷移方法とWebページ間の情報共有方法

7.5 Webフォームアプリケーションの作成

(2)

7.1 ASP.NETの概要

7.1 ASP.NETの概要

7.1.1 WebフォームとASP.NET

A S P. N E T は 、 . N E T F r a m e w o r k 上 で We b シ ス テ ム を 開 発 す る た め の プ ラ ッ ト フ ォ ー ム で す 。 ASP.NETで 動 作する 画面 を「Web フ ォ ーム 」と 呼 び 、 ASP.NETで 作 成 した アプリ ケー ション を Web サイ トや ASP.NET We b フ ォ ー ム ア プ リ ケ ー シ ョ ン と 呼 び ま す 。 N e t C O B O L f o r . N E T で も 、 A S P. N E T を 利 用 し て We b シ ス テ ム を 開 発 / 運 用 す る こ と が で き ま す 。

Microsoft .NET Framework

共通言語ランタイム(CLR)

クラスライブラリ

ASP.NET Visual Studio VB

NetCOBOL for .NET C++

C#

Webフォーム Webサービス

Internet Information Service

共通言語仕様(CLS)

図 7 . 1 . 1 . ( 1 ) A S P . N E T の 構 成 イ メ ー ジ

We b フ ォ ー ム ア プ リ ケ ー シ ョ ン は 、 We b の 機 能 を 十 分 に 利 用 で き る 形 式 で 、 プ ロ グ ラ ミ ン グ の 自 由 度 が 高 く 、 ビ ジ ュ ア ル な ア プ リ ケ ー シ ョ ン を 作 成 す る こ と が 可 能 で す 。 処 理 の ほ と ん ど を サ ー バ 上 で 実 行 し 、 ク ラ

(3)

7.1 ASP.NETの概要 ク 」 「 画 面 の ロ ー ド 」 な ど 、 イ ベ ン ト ご と に 手 続 き を 記 述 し ま す 。 し か し 、 通 常 は す べ て の 処 理 を イ ベ ン ト 手 続 き に 記 述 す る の で は な く 、 デ ー タ ア ク セ ス や ビ ジ ネ ス ロ ジ ッ ク を ク ラ ス に ま と め て お き 、 Webフ ォ ー ム か ら 呼 び 出 し ま す 。 そ の 結 果 、 プ ロ グ ラ ム の 再 利 用 性 を 高 め る こ と が で き ま す 。 Windows .NET Framework 実行 ASP.NET Visual Studio コードエディタ ソースプログラム(.aspx) Webフォームデザイナ Int ernet Infor m at ion Servic e Webブラウザ (Internet Explorer) 最初の実行時 にビルドされる CLR (共通言語ランタイム) .NET Framework基本クラス 図 7 . 1 . 1 . ( 2 ) W e b フ ォ ー ム ア プ リ ケ ー シ ョ ン の 開 発 / 実 行 A S P. N E T ア プ リ ケ ー シ ョ ン の 運 用 に は 、 M i c r o s o f t I n t e r n e t I n f o r m a t i o n S e r v i c e ( I I S ) で 構 成 さ れ た We b サ ー バ が 必 須 で あ り 、 他 の イ ン タ ー ネ ッ ト サ ー バ を 利 用 す る こ と は で き ま せ ん 。 た だ し 、 ASP.NET ア プ リ ケ ー シ ョ ン の 開 発 ・ デ バ ッ グ で は 、 IISは 必ず しも 必須 ではあ り ま せ ん 。

な お 、 Internet Infor mation S er viceで は 、Web ア プ リ ケー ション 環境 と し て Acti ve Server Pages (AS P) が 用 意さ れて います が、 ASP.NET は A S P を 大 幅 に 拡 張 / 変 更 し て お り 、 互 換 性 は あ り ま せ ん 。

(4)

7.1 ASP.NETの概要

7.1.2 Webフォームアプリケーションの運用形式

イントラネット イントラネット Webブラウザ (Internet Explorer) Windows Server .NET Framework Internet Information Service(IIS)

Windows Serverなど データベース Windows Server .NET Framework Webサービス IIS Windows Serverなど データベース Webフォーム アプリケーション クラスライブラリ Windowsなど インターネット 図 7 . 1 . 2 W e b フ ォ ー ム ア プ リ ケ ー シ ョ ン の 運 用 形 式 We b ア プ リ ケ ー シ ョ ン の 運 用 形 式 は 、 We b サ ー バ と デ ー タ サ ー バ お よ び Webク ライ アン トの組 み合 わせが 一般 的です 。ま た、ビ ジネ スロジ ッ ク は 、 ク ラ ス ラ イ ブ ラ リ に ま と め 、 Webサ ーバ のフ ロント 部分 と分離 す る こ と に よ り 、 い わ ゆ る 3階層 のシ ステ ムを構 築で きます 。 さ ら に 、 ク ラ ス ラ イ ブ ラ リ を Webサ ービ ス化す ると 、ビジ ネス ロジッ ク を 別 サ ー バ に 分 離 す る こ と が で き ま す 。 つ ま り 、 Webフ ォー ムアプ リ ケ ー シ ョ ン が Webサ ービ スク ライア ント となり ます 。 We b サ ー ビ ス は 、 We b サ ー ビ ス と We b サ ー ビ ス ク ラ イ ア ン ト の 間 を 、 イ ン タ ー ネ ッ ト を 介 し て 接 続 す る こ と も 可 能 で す 。 例 え ば 、 「 図 1.1.6 N e t C O B O L f o r . N E T の 活 用 イ メ ー ジ 」 の よ う な シ ス テ ム が 可 能 と な り ま す 。

(5)

7.2 NetCOBOL for .NETとWebフォームアプリケーション

7.2 NetCOBOL for .NETと

Webフォームアプリケーション

7.2.1 NetCOBOLのWebフォームアプリケーションの概要

当 然 の こ と な が ら 、 NetC OBO L for .NETで も Webフ ォー ムア プリケ ー シ ョ ン を 構 築 す る こ と が で き ま す 。 「 7.1 Webフ ォー ムアプ リケ ーショ ンの 概要」 で説 明した よう に、 We b フ ォ ー ム の 機 能 は 、 . N E T F r a m e w o r k の A S P. N E T で 提 供 さ れ る た め 、 N e t C O B O L f o r . N E T か ら も 、 他 の 言 語 と 同 様 に 、 We b フ ォ ー ム の 機 能 を 活 用 す る こ と が で き ま す 。 N e t C O B O L f o r . N E T の We b ア プ リ ケ ー シ ョ ン か ら は 、 他 の 言 語 で 作 成 し た ク ラ ス を 呼 び 出 す こ と も 可 能 で す 。 し か し 、 ど ち ら か と い う と 逆 の パ タ ー ン で あ る 、 NetCOBOL for .NETで ビ ジネ スロジ ック をクラ ス ラ イ ブ ラ リ と し て 作 成 し 、 VBなど の言 語でWebフ ォ ーム アプ リケー シ ョ ン を 作 成 す る こ と の ほ う が 現 実 的 で す 。 こ れ は 、 VBや C#の ほう がク ラ ス や オ ブ ジ ェ ク ト を 扱 う の に 向 い て い る こ と と 、 COBOLの 場 合 、既 存 の 膨 大 な 資 産 が あ る た め 、 ク ラ ス ラ イ ブ ラ リ 化 す る こ と で 、 過 去 の 資 産 を 効 果 的 に 活 用 す る こ と が で き る た め で す 。

7.2.2 Webフォームアプリケーションの作成イメージ

N e t C O B O L f o r . N E T で 、 We b フ ォ ー ム ア プ リ ケ ー シ ョ ン を 構 成 す る フ ァ イ ル と し て 、 .aspxフ ァイ ルと .aspx.cobxフ ァイル があ ります 。 . a s p x フ ァ イ ル は 、 ボ タ ン や ラ ベ ル な ど 画 面 レ イ ア ウ ト や 情 報 を 格 納 す る フ ァ イ ル で 、 Webペ ージ デザイ ナ( Webフ ォー ムデザ イナ とも呼 ば れ る ) で 作 成 し ま す 。 拡 張 子 は .aspxで すが、 内容 は、コ ント ロール 要 素 を 含 ん だ HTMLベ ー ス のテ キスト ファ イルで す。 クライ アン トから I I S を 通 し て . a s p x フ ァ イ ル の 要 求 が あ る と 、 A S P. N E T は We b フ ォ ー ム の コ ン ト ロ ー ル を HTMLに 変換 して、 クラ イアン トに 送信し ます 。

(6)

7.2 NetCOBOL for .NETとWebフォームアプリケーション

Microsoft .NET Framework ASP.NET

.aspx.cobxファイル METHOD-ID. btnStart_Click PRIVATE. DATA DIVISION.

WORKING-STORAGE SECTION. 01 WK-Msg PIC N(20). 01 WK-ReturnCode BINARY-LONG. LINKAGE SECTION.

01 sender OBJECT REFERENCE CLASS-OBJECT.

01 e OBJECT REFERENCE CLASS-EVENTARGS. PROCEDURE DIVISION USING BY VALUE sender e.

SET WK-EmployeeCode TO PROP-TEXT OF txtEmployeeCode. SET WK-Password TO

PROP-TEXT OF txtPassword. SET W-Request TO Request OF SELF. .aspxファイル

<asp:Label id="Label4" runat="server" BackColor="#FFFFC0" Width="90px"> 社員コード</asp:Label>

<asp:Label id="Label1" runat="server" Width="60px">

</asp:Label>

<asp:TextBox id="txtEmployeeCode" runat="server">

</asp:TextBox>

<asp:Label id="Label5" runat="server" BackColor="#FFFFC0" Width="90px">パス ワード</asp:Label>

Visual Studio NetCOBOL for .NET

クラスライブラリ COBOLサブプログラム プログラムファイル (.cob) .aspx.cobxは エディタで編集 エディタで編集し ビルド In te rn et In fo rm at ion Se rv ice aspxファイルは一回目の 実行時にビルドされる .aspx.cobxは エディタで編集 図 7 . 2 . 2 W e b フ ォ ー ム ア プ リ ケ ー シ ョ ン の 作 成 イ メ ー ジ . a s p x . c o b x フ ァ イ ル は 、 ボ タ ン が 押 さ れ た と き の イ ベ ン ト 手 続 き ( メ ソ ッ ド )などの 「 .aspxフ ァイ ルに従 属す る手続 き」 を格納 する ファイ ルで す 。 つ ま り 、 発 生 し た イ ベ ン ト に か か わ る 処 理 を 、 COBOLの オ ブ ジェ ク ト 指 向 プ ロ グ ラ ミ ン グ 機 能 を 利 用 し て 記 述 し ま す 。 フ ァ イ ル と し て は 、 C O B O L で 作 成 し た ク ラ ス 型 の フ ァ イ ル に な り ま す 。 ク ラ イ ア ン ト な ど か ら イ ベ ン ト 手 続 き の 実 行 要 求 が あ る と (例 :ボ タン のクリ ック )、イ ベン ト 手 続 き に 記 述 さ れ た 処 理 を 実 行 し ま す 。 通 常 、 .aspxお よび .aspx.cobxファ イル は、ユ ーザ ーがペ ージ を要求 し た と き に 動 的 に ビ ル ド さ れ ま す が 、 こ れ ら を 事 前 に プ リ コ ン パ イ ル し て お く こ と も で き ま す 。

7.2.3 NetCOBOL for .NETでの

(7)

7.2 NetCOBOL for .NETとWebフォームアプリケーション ( メ ニ ュ ー か ら ) . a s p x フ ァ イ ル を 新 規 に 作 成 し た り 、 ソ リ ュ ー シ ョ ン エ ク ス プ ロ ー ラ で .aspx フ ァイ ルを選 択し たりす ると 、 Webペ ー ジデザ イナ で .aspxフ ァ イル が開き ます 。 コントロールをダブルク リックまたはドラッグして 貼り付ける コントロールのプロパティ を設定 HTMLの部品も選択可能 .aspxファイルを選択 図 7 . 2 . 3 W e b フ ォ ー ム ア プ リ ケ ー シ ョ ン の 開 発 ( 画 面 の 作 成 ) We b ペ ー ジ デ ザ イ ナ は 、 Wi n d o w s フ ォ ー ム デ ザ イ ナ に 似 た G U I に よ る 画 面 デ ザ イ ン 機 能 を 提 供 し て い ま す 。 例 え ば 、 ツ ー ル ボ ッ ク ス か ら 必 要 な Webフ ォー ムの コント ロー ルを貼 り付 けたり 、 HTMLの 部品 を貼り 付 け た り す る 操 作 を 、 マ ウ ス に よ る GUI 操 作 で 行 いま す。コ ント ロール の プ ロ パ テ ィ (属 性 、デー タ )は、プ ロパ ティウ ィン ドウで 編集 するこ とが で き ま す 。

7.2.4 Webフォームアプリケーション開発

(イベント手続きの編集)

We b ペ ー ジ デ ザ イ ナ に よ る . a s p x フ ァ イ ル の 編 集 結 果 は 、 H T M L 形 式 で 保 存 さ れ ま す 。 デ ザ イ ナ 下 部 の [ソ ース ]タ ブ をク リック する と、ソ ース ( HTML) 表 示に 切り替 える ことが でき ます。

(8)

7.2 NetCOBOL for .NETとWebフォームアプリケーション HTMLでの表示/ 編集 イベント手続きを記述 ダブル クリック 図 7 . 2 . 4 W e b フ ォ ー ム ア プ リ ケ ー シ ョ ン の 開 発 イ ベ ン ト ハ ン ド ラ (イベ ント 発生時 に実 行され る手 続き) は 、 .aspx.cobxフ ァイ ルに 記述し ます が、コ ント ロール をダ ブルク リッ ク す る と 、 コ ー ド ウ ィ ン ド ウ (エデ ィタ )が表 示さ れ、目 的の 手続き の入 力 箇 所 が 表 示 さ れ ま す 。 コ ン ト ロ ー ル を ダ ブ ル ク リ ッ ク す る こ と で 、 イ ベ ン ト 処 理 に 必 要 な 定 義 や メ ソ ッ ド の 雛 形 が 作 成 さ れ ま す 。 [表 示 ]メ ニ ュ ー -[コ ード ]な ど でコ ード ウィン ドウ を開い た場 合は、 定義 や雛形 が作 成 さ れ ま せ ん の で 、 注 意 す る 必 要 が あ り ま す 。 ま た 、 す で に イ ベ ン ト 手 続 き を 作 成 済 み の コ ン ト ロ ー ル に つ い て 、 デ ザ イ ナ 画 面 で ダ ブ ル ク リ ッ ク を 行 っ て も 多 重 定 義 は 行 わ れ ま せ ん 。 コ ン ト ロ ー ル の 削 除 を 行 っ た 場 合 、 コ ー ド エ デ ィ タ で イ ベ ン ト ハ ン ド ラ を 削 除 し ま す 。 コ ン ト ロ ー ル を 削 除 せ ず に 、 コ ン ト ロ ー ル の イ ベ ン ト ハ ン ド ラ を 削 除 し た 場 合 、 コ ン ト ロ ー ル の プ ロ パ テ ィ リ ス ト の 「 イ ベ ン ト 」 タ ブ か ら イ ベ ン ト と イ ベ ン ト 手 続 き の 関 連 付 け を 削 除 し ま す 。

(9)

7.3 ASP.NETのクラスとWebフォームアプリケーション作成ポイント

7.3 ASP.NETのクラスと

Webフォームアプリケーション作成ポイント

7.3.1 ASP.NETのクラス(名前空間)

We b フ ォ ー ム ア プ リ ケ ー シ ョ ン を 作 成 す る 場 合 、 We b な ら で は の 制 御 や 、 通 信 に 関 す る 処 理 を 行 う こ と が 必 要 な 場 合 が あ り ま す 。 そ の よ う な We b に 関 連 す る 処 理 は 、 . N E T F r a m e w o r k の ク ラ ス で 提 供 さ れ て い ま す 。 Webアプリケーションに関するクラスや名前空間は System.Web.∼という名前で提供されている 図 7 . 3 . 1 W e b ア プ リ ケ ー シ ョ ン に 関 す る ク ラ ス の リ フ ァ レ ン ス し た が っ て 、 効 果 的 な Web フ ォ ーム アプ リケー ショ ンを作 成す る際に は 、 .NET Frameworkの クラ スで提 供さ れる機 能を 調べな がら プログ ラ ミ ン グ し ま す 。 そ こ で 事 前 に .NET Framewo rkの クラ スの 概要 を知っ て お く と 、 リ フ ァ レ ン ス の 検 索 が 楽 で す 。 次 に 、 代 表 的 な 名 前 空 間 と ク ラ ス に つ い て 説 明 し ま す 。

( 1 ) System.Web名前空間

S y s t e m . We b 名 前 空 間 で は 、 We b ブ ラ ウ ザ と We b サ ー バ 間 の 通 信 に 関

(10)

7.3 ASP.NETのクラスとWebフォームアプリケーション作成ポイント す る ク ラ ス が 提 供 さ れ て い ま す 。 S y s t e m . We b 名 前 空 間 に は 、 現 在 の H T T P 要 求 に つ い て 幅 広 い 情 報 を 提 供 す る HttpRequest ク ラス 、クラ イア ントへ の HTTP 出 力を 管理 する H t t p R e s p o n s e ク ラ ス 、 お よ び サ ー バ 側 の ユ ー テ ィ リ テ ィ と プ ロ セ ス へ の ア ク セ ス を 実 現 す る HttpServerUtility クラス があ ります 。

ま た 、 Sy ste m. Webク ラ スに は、Cookieの 操 作、 ファイ ル転 送、例 外 情 報 、 お よ び 出 力 キ ャ ッ シ ュ を 制 御 す る た め の ク ラ ス も あ り ま す 。

( 2 ) System.Web.SessionState名前空間

S y s t e m . We b . S e s s i o n S t a t e 名 前 空 間 で は 、 ブ ラ ウ ザ と サ ー バ 間 の セ ッ シ ョ ン の 状 態 に 関 す る ク ラ ス が 提 供 さ れ ま す 。 特 に 、 HttpSessionState ク ラ ス は 、 Webペ ー ジ間 の情 報の受 け渡 しに利 用さ れる非 常に 重要な ク ラ ス で す 。

( 3 ) System.Web.UI名前空間

S y s t e m . We b . U I 名 前 空 間 で は 、 We b フ ォ ー ム ア プ リ ケ ー シ ョ ン の 画 面 ( ペ ー ジ ) 処 理 に 関 す る ク ラ ス が 提 供 さ れ ま す 。 た と え ば 、 す べ て の ASP.NETサ ー バコ ントロ ール が共有 する プロパ テ ィ 、 メ ソ ッ ド 、 お よ び イ ベ ン ト が 提 供 さ れ た Control ク ラ スや 、 Wi n d o w s フ ォ ー ム の 画 面 ( . a s p x フ ァ イ ル ) を 表 す P a g e ク ラ ス な ど が あ り ま す 。

( 4 ) System.Web.UI.WebControls 名前空間

S y s t e m . We b . U I . We b C o n t r o l s 名 前 空 間 で は 、 We b ペ ー ジ に We b サ ー バ コ ン ト ロ ー ル を 作 成 す る と き に 使 用 す る ク ラ ス が 提 供 さ れ ま す 。 つ ま り 、 Webフォ ーム 上に貼 り付 けられ たテ キスト ボッ クスな どの 部品に 関 す る ク ラ ス の 集 ま り で す 。 We b サ ー バ コ ン ト ロ ー ル は サ ー バ 上 で 実 行 さ れ 、 We b ク ラ イ ア ン ト 側 に は HTMLタ グと して送 信さ れます 。

(11)

7.3 ASP.NETのクラスとWebフォームアプリケーション作成ポイント

IoDetail.aspx.cobx ■画面へのアクセス

■Webページの遷移と情報の共有

MOVE FUNCTION CURRENT-DATE TO W-YYYYMMDD. MOVE W-YYYYMMDD(1:4) TO W-YYYY. MOVE W-YYYYMMDD(5:2) TO W-MM. MOVE W-YYYYMMDD(7:2) TO W-DD. SET PROP-TEXT OF lblDate TO W-YMD. ・・・・・ ・・・・・ SET WK-EmployeeCode TO PROP-TEXT OF txtEmployeeCode. SET WK-Password TO PROP-TEXT OF txtPassword. 情報の参照 情報の設定 Login.aspx 情報の引継ぎ Login.aspx.cobx Login.aspx IoDetail.aspx Login.aspx.cobx ページ遷移 図 7 . 3 . 2 ( 1 ) W e b フ ォ ー ム 画 面 の 処 理 画 面 概 要

( 1 ) プログラムから画面情報へのアクセス

We b ア プ リ ケ ー シ ョ ン で は 、 We b ブ ラ ウ ザ か ら 情 報 を 受 け 取 り 、 サ ー バ で 要 求 さ れ た 処 理 を 行 い 、 動 的 に Webペ ージ を作 成し、 クラ イアン ト に 送 信 す る こ と が 必 要 で す 。 We b ペ ー ジ へ の 情 報 の 入 出 力 は 、 通 常 We b コ ン ト ロ ー ル を 利 用 し て 行 い ま す 。 し た が っ て 、 Web コ ン トロ ール の操作 方法 が重要 です 。 We b コ ン ト ロ ー ル に 入 力 さ れ た 情 報 を 受 け 取 っ た り 、 We b コ ン ト ロ ー ル に 情 報 を 表 示 し た り す る 方 法 は 、 Windowsア プ リケー ショ ンの場 合と ほ と ん ど 同 じ で 、 オ ブ ジ ェ ク ト へ の ア ク セ ス と な り ま す 。 し た が っ て 、 S E T 文 や M O V E 文 と I N V O K E 文 で プ ロ パ テ ィ を 参 照 し た り 、 メ ソ ッ ド を 呼 び 出 し た り す る こ と に な り ま す 。

使 用 す る Webコ ン トロー ルは 、 .NET Fra mework の ASP.NETの ク ラス と し て 提 供 さ れ ま す の で 、 ASP.NETの 機 能を 把握 する必 要が ありま す。 逆 に 、 HTMLや XML 、 Javaな ど の 知識 は全く 必要 ありま せん 。

例 え ば 、 Webコ ン トロー ルを 利用し て作 成した 入力 用のテ キス トボッ ク ス (TextBox1、 TextBox2)に 、 Webブ ラウ ザか ら入力 され た文字 列を 取 得 す る サ ン プ ル は 次 の よ う に な り ま す 。 こ の 部 分 の 手 続 き に つ い て は 、

(12)

7.3 ASP.NETのクラスとWebフォームアプリケーション作成ポイント Wi n d o w s ア プ リ ケ ー シ ョ ン の 場 合 と ま っ た く 同 じ で す 。 W O R K I N G - S T O R A G E S E C T I O N . 0 1 W K - E m p l o y e e C o d e P I C N ( 0 6 ) . 0 1 W K - P a s s w o r d P I C N ( 0 6 ) . L I N K A G E S E C T I O N . 0 1 s e n d e r O B J E C T R E F E R E N C E C L A S S - O B J E C T . 0 1 e O B J E C T R E F E R E N C E C L A S S - E V E N T A R G S . P R O C E D U R E D I V I S I O N U S I N G B Y V A L U E s e n d e r e . S E T W K - E m p l o y e e C o d e T O P R O P - T E X T O F T e x t B o x 1 . S E T W K - P a s s w o r d T O P R O P - T E X T O F T e x t B o x 2 .

( 2 ) Webページの遷移とWebページ間の情報の共有

一 般 的 な Webア プ リケー ショ ンでは 、認 証処理 で Webシス テム へのロ グ イ ン 情 報 を 別 の 画 面 に 引 き 継 い だ り 、 シ ョ ッ ピ ン グ カ ー ト の よ う に We b ペ ー ジ 間 で 情 報 を 共 有 し た り す る 必 要 が あ り ま す 。 し か し 、 Webシ ス テムは 、 1画 面ご とに サーバ −ク ライア ント 間の接 続 が 切 断 さ れ 、 画 面 ご と に 情 報 が 独 立 し て い る た め (メモ リを 共有し な い )、 情報を 共有 するた めの 特別な 仕組 みが必 要と なりま す。 A S P. N E T で は 、 " S y s t e m . We b . S e s s i o n St a t e . H t t p S e s s i o n St a t e " ク ラ ス や "Control.ViewStat e"プ ロパ ティ によ り、ペ ージ 間の情 報の 共有や ペー ジ 情 報 の 保 存 が 可 能 に な っ て い ま す 。

(13)

7.3 ASP.NETのクラスとWebフォームアプリケーション作成ポイント

・・・・・

*>ページがロードされる際の処理 METHOD-ID. PAGE_LOAD AS "Page_Load" PRIVATE. DATA DIVISION.

LINKAGE SECTION.

01 PARAM-SENDER OBJECT REFERENCE CLASS-OBJECT. 01 PARAM-E OBJECT REFERENCE CLASS-EVENTARGS. PROCEDURE DIVISION USING BY VALUE PARAM-SENDER PARAM-E.

*>セッションの取得

SET W-Websession TO Session OF SELF. *>セッションに格納された変数の取得

SET W-Object TO W-Websession::"get_Item"("Login"). IF W-Object = NULL THEN

*>認証されていない場合は、ログイン画面へ遷移 SET W-ServerUtility TO Server OF SELF INVOKE W-ServerUtility "Transfer" USING "Login.aspx" END-IF ・・・・・ REPOSITORY. CLASS CLASS-SERVERUTILITY AS "System.Web.HttpServerUtility" CLASS CLASS-SESSION AS "System.Web.SessionState.HttpSessionState" ・・・・・ WORKING-STORAGE SECTION.

01 W-ServerUtility OBJECT REFERENCE CLASS-SERVERUTILITY. 01 W-Websession OBJECT REFERENCE CLASS-SESSION. ・・・・・

PROCEDURE DIVISION USING ・・・・ ・・・

*>WebSessionの取得

SET W-Websession TO Session OF SELF *>セッション情報の書き込み

INVOKE W-Websession "set_Item" USING BY VALUE "Login" "OK" *>サーバユーティリティの取得

SET W-ServerUtility TO Server OF SELF *>ページの遷移

INVOKE W-ServerUtility "Transfer" USING "IoDetail.aspx"

IoDetail.aspx ページ遷移 Login.aspx Login.aspx.cob IoDetail.aspx.cob 情報の引継ぎ 図 7 . 3 . 2 ( 2 ) ペ ー ジ 遷 移 時 の 処 理 We b の 画 面 を 別 の 画 面 に 遷 移 さ せ る に は 、 S y s t e m . We b . H t t p R e s p o n s e ク ラ ス の Redire ctメ ソ ッド か、Sy stem.Web.HttpServ erUtil ity クラ スの Tr a n s f e r メ ソ ッ ド を 使 用 し ま す 。

ま た 、 ペ ー ジ 間 の 情 報 の 引 渡 し は 、 ResponseRedirect メ ソッ ドでURL を 指 定 す る 際 、 ク エ リ 文 字 列 を 指 定 し 、 HttpRequest.Query Stringプ ロ パ テ ィ で 取 得 す る か 、 HttpSe ssio nStateク ラ ス を利 用しま す (Redirectメ ソ ッ ド ま た は Transfer メ ソッ ドのど ちら の遷移 方法 でも利 用で きます )。 こ れ ら の ペ ー ジ 処 理 で 利 用 さ れ る ク ラ ス は 、 組 み 込 み オ ブ ジ ェ ク ト と し て 提 供 さ れ て お り 、 プ ロ グ ラ ム で イ ン ス タ ン ス の 作 成 を 行 う こ と な く 利 用 で き ま す 。 ( 補 足 ) 組 み 込 み オ ブ ジ ェ ク ト A S P. N E T で は 、 We b 機 能 の 代 表 的 な ク ラ ス を 組 み 込 み オ ブ ジ ェ ク ト と し て 提 供 し て い ま す 。 組 み 込 み オ ブ ジ ェ ク ト と し て は 、 Applicatio n 、 S e r v e r 、 S e s s i o n 、 R e s p o n s e 、 R e q u e s t な ど が あ り ま す 。 We b フ ォ ー ム ( S y s t e m . We b . U I . P a g e ク ラ ス ) が ロ ー ド さ れ る と 、 A S P. N E T に よ り 、 こ れ ら の 組 み 込 み オ ブ ジ ェ ク ト の イ ン ス タ ン ス が 自 動 的 に 作 成 さ れ ま す 。 さ ら に 、 こ れ ら の イ ン ス タ ン ス は 、 ベ ー ス と な る

(14)

7.3 ASP.NETのクラスとWebフォームアプリケーション作成ポイント

P a g e オ ブ ジ ェ ク ト の プ ロ パ テ ィ か ら 参 照 可 能 と な り ま す 。 し た が っ て 、 明 示 的 に イ ン ス タ ン ス を 作 成 す る こ と な く 、 組 み 込 み オ ブ ジ ェ ク ト を 利 用 す る こ と が で き ま す 。

(15)

7.4 Webページの遷移方法とWebページ間の情報共有方法

7.4 Webページの遷移方法と

Webページ間の情報共有方法

7.4.1 クライアントサイドのページ遷移処理(Redirect)

S y s t e m . We b . H t t p R e s p o n s e . R e d i r e c t を 使 用 し た ペ ー ジ 遷 移 処 理 に つ い て 説 明 し ま す 。 R e d i r e c t メ ソ ッ ド は 、 ブ ラ ウ ザ に コ マ ン ド を 送 信 し 、 一 旦 ブ ラ ウ ザ 側 に 制 御 を 戻 し ま す 。 続 い て 、 ブ ラ ウ ザ 側 か ら 指 定 し た URLに ジ ャン プし ま す 。 し た が っ て 、 ブ ラ ウ ザ の 履 歴 や ア ド レ ス バ ー の URLが 更 新さ れま す 。 し か し 、 パ フ ォ ー マ ン ス が 低 下 す る な ど の 欠 点 が あ り ま す 。 IoDetail.aspx ページ遷移 Login.aspx アドレス表示が変 わる ASP.NETの命令により、ブ ラウザが新ページの要求を 行う 図 7 . 4 . 1 ク ラ イ ア ン ト サ イ ド の ペ ー ジ 遷 移 処 理 R e d i r e c t メ ソ ッ ド の 利 用 方 法 We b フ ォ ー ム は 、 S y s t e m . We b . U I . P a g e ク ラ ス を 継 承 し た オ ブ ジ ェ ク ト で あ り 、 Response プ ロパ ティを 参照 するこ とで 、 Webア プ リケー シ ョ ン の 応 答 を 管 理 し て い る HttpResponseオ ブ ジェ クトへ アク セスす る こ と が で き ま す 。

(16)

7.4 Webページの遷移方法とWebページ間の情報共有方法 H t t p R e s p o n s e オ ブ ジ ェ ク ト の R e d i r e c t メ ソ ッ ド を 呼 び 出 す こ と に よ り 、 別 の ペ ー ジ へ 遷 移 す る こ と が で き ま す 。 そ の 際 に 、 ク エ リ 文 字 列 を 指 定 す る こ と で 、 遷 移 先 ペ ー ジ へ 情 報 を 渡 す こ と が で き ま す 。 N e t C O B O L f o r . N E T で 自 分 自 身 の プ ロ パ テ ィ を 参 照 す る 場 合 は 、 プ ロ パ テ ィ 取 得 対 象 オ ブ ジ ェ ク ト と し て SELFを 記述 します 。 R e d i r e c t メ ソ ッ ド の 利 用 例 ( リ ポ ジ ト リ 段 落 ) P R O P E R T Y P R O P - R E S P O N S E A S " R e s p o n s e " ( 手 続 き 部 ) I N V O K E P R O P - R E S P O N S E O F S E L F " R e d i r e c t " U S I N G N " I o D e t a i l . a s p x ? P a r a m = A B C " ( 補 足 ) ク エ リ 文 字 列 ク エ リ 文 字 列 は 、 ペ ー ジ の URLの 最後 に追加 され る情報 です 。一般 的 な 例 を 次 に 示 し ま す 。 h t t p : / / w w w. c o n t o s o . c o m / l i s t w i d g e t s . a s p x ? c a t e g o r y = b a s i c & p r i c e = 1 0 0 上 記 の URLパ ス のクエ リ文 字列は 、疑 問符(?)で 始まり 、 "category "と " p r i c e " と い う 2 つ の 属 性 値 を 含 ん で い ま す 。

7.4.2 クエリ文字列の取得

. a s p x ペ ー ジ に ク エ リ 文 字 列 つ き U R L が リ ダ イ レ ク ト さ れ た 場 合 の ク エ リ 文 字 列 の 取 得 方 法 に つ い て 説 明 し ま す 。 . a s p x ペ ー ジ に ク エ リ 文 字 列 が 付 い た U R L が リ ダ イ レ ク ト さ れ た 場 合 、 A S P. N E T で は 、 S y s t e m . We b . H t t p R e q u e s t オ ブ ジ ェ ク ト に 格 納 さ れ ま す 。 H t t p R e q u e s t オ ブ ジ ェ ク ト か ら ク エ リ 文 字 列 を 取 得 す る た め の プ ロ パ テ ィ と し て Query Stringが 用意 されて いま す。

(17)

7.4 Webページの遷移方法とWebページ間の情報共有方法 HttpApplication.Request HttpRequestオブジェクト FileName="IoDetail.aspx" URL="http://localhost/IoDetail.aspx" QueryString[Param]="ABC" http://localhost/IoDetail.aspx?Param="ABC" 図 7 . 4 . 2 ク エ リ 文 字 列 の 取 得 方 法 Q u e r y S t r i n g プ ロ パ テ ィ の 利 用 方 法 We b フ ォ ー ム は 、 S y s t e m . We b . U I . P a g e ク ラ ス を 継 承 し た オ ブ ジ ェ ク ト で あ り 、 Requestプ ロ パテ ィを参 照す ること で、 Httpク ライ アント か ら の 情 報 を 管 理 し て い る HttpRequestオ ブ ジ ェク トへア クセ スする こ と が で き ま す 。 H t t p R e q u e s t オ ブ ジ ェ ク ト の Q u e r y St r i n g プ ロ パ テ ィ を 参 照 す る こ と に よ り 、 ク エ リ 文 字 列 と し て 格 納 さ れ た 情 報 を 参 照 す る こ と が で き ま す 。 N e t C O B O L f o r . N E T で 自 分 自 身 の プ ロ パ テ ィ を 参 照 す る 場 合 は 、 プ ロ パ テ ィ 取 得 対 象 オ ブ ジ ェ ク ト と し て SELFを 記述 します 。し たがっ て 、 HttpRequest.Query Stringプロ パテ ィは、 次の 手順で 呼び 出すこ と が で き ま す 。 Q u e r y S t r i n g プ ロ パ テ ィ の 利 用 例 ( リ ポ ジ ト リ 段 落 ) C L A S S C L A S S - S T R I N G A S " S y s t e m . S t r i n g " P R O P E R T Y P R O P - Q U E R Y S T R I N G A S " Q u e r y S t r i n g " P R O P E R T Y P R O P - R E Q U E S T A S " R e q u e s t " P R O P E R T Y P R O P - T E X T A S " T e x t "

(18)

7.4 Webページの遷移方法とWebページ間の情報共有方法 ( デ ー タ 部 ) 0 1 W O R K - S T R I N G O B J E C T R E F E R E N C E C L A S S - S T R I N G . ( 手 続 き 部 ) S E T W K - Q U E R Y S T R I N G T O P R O P - Q U E R Y S T R I N G O F P R O P - R E Q U E S T O F S E L F . S E T W O R K - S T R I N G T O W K - Q U E R Y S T R I N G : : " g e t _ I t e m " ( N " P a r a m " ) . ※ 例 に は あ り ま せ ん が 、 ク エ リ 文 字 列 を 受 け 取 る 処 理 に は 、 セ キ ュ リ テ ィ 対 策 の た め デ ー タ の チ ェ ッ ク 処 理 を 加 え る こ と が 重 要 で す 。

7.4.3 サーバサイドのページ遷移処理(Transfer)

S y s t e m . We b . H t t p S e r v e r U t i l i t y. Tr a n s f e r メ ソ ッ ド を 使 用 し た ペ ー ジ 遷 移 に つ い て 説 明 し ま す 。 Tr a n s f e r メ ソ ッ ド は 、 ブ ラ ウ ザ 側 に 制 御 を 戻 さ ず に 、 直 接 別 の 画 面 へ 遷 移 し ま す 。 し た が っ て 、 ブ ラ ウ ザ の 履 歴 や ア ド レ ス バ ー の URLは 更新 さ れ ま せ ん 。 一 方 、 「 7.4.1 クライ アン トサイ ドの ページ 遷移 処理 ( Redirect) 」で 述べた Redirect メ ソッ ドは、 一旦 ブラウ ザ側 に制御 を 戻 し 、 ブ ラ ウ ザ 側 か ら 別 の 画 面 へ 遷 移 し ま し た 。 こ の 違 い か ら 、 Tr a n s f e r メ ソ ッ ド の 方 が R e d i r e c t メ ソ ッ ド よ り パ フ ォ ー マ ン ス が 良 い と い う 利 点 が あ り ま す 。 し か し 、 Transfe rメ ソ ッ ドは 、同一 Web ア プリ ケ ー シ ョ ン 内 の Webフ ォー ムに しか遷 移す ること はで きない とい う制限 が あ り ま す 。

(19)

7.4 Webページの遷移方法とWebページ間の情報共有方法 IoDetail.aspx ページ遷移 Login.aspx アドレス表示が変わらない ASP.NETがブラウザのページを更新 同一Webアプリケーションに限る 図 7 . 4 . 3 サ ー バ サ イ ド の ペ ー ジ 遷 移 処 理 ( T r a n s f e r ) T r a n s f e r メ ソ ッ ド の 利 用 方 法 We b フ ォ ー ム は S y s t e m . We b . U I . P a g e ク ラ ス を 継 承 し た オ ブ ジ ェ ク ト で あ り 、 Serverプ ロ パ ティ を参照 する ことで 、 Web 要求 を処 理する H t t p S e r v e r U t i l i t y オ ブ ジ ェ ク ト へ ア ク セ ス す る こ と が で き ま す 。 H t t p S e r v e r U t i l i t y オ ブ ジ ェ ク ト の Tr a n s f e r メ ソ ッ ド を 呼 び 出 す こ と に よ り 、 現 在 の URLペ ー ジの パスを 利用 して、 新し いペー ジを 実行す る こ と が で き ま す 。 N e t C O B O L f o r . N E T で 自 分 自 身 の プ ロ パ テ ィ を 参 照 す る 場 合 は 、 プ ロ パ テ ィ 取 得 対 象 オ ブ ジ ェ ク ト と し て SELFを 記述 します 。し たがっ て 、 Transferメ ソ ッ ドは 、次 の手順 で呼 び出す こと ができ ます 。 T r a n s f e r メ ソ ッ ド の 利 用 例 ( リ ポ ジ ト リ 段 落 ) P R O P E R T Y P R O P - S E R V E R A S " S e r v e r " ( 手 続 き 部 ) I N V O K E P R O P - S E R V E R O F S E L F " T r a n s f e r " U S I N G B Y V A L U E N " I o D e t a i l . a s p x "

(20)

7.4 Webページの遷移方法とWebページ間の情報共有方法

7.4.4 ページ遷移時のデータ取得(Sessionオブジェクト)

S y s t e m . We b . S e s s i o n S t a t e . H t t p S e s s i o n St a t e ク ラ ス を 利 用 し た We b ペ ー ジ 間 の デ ー タ 共 有 方 法 に つ い て 説 明 し ま す 。 7 . 4 . 1 お よ び 7 . 2 . 2 で 説 明 し た 、 ク エ リ 文 字 列 を 使 用 し た ペ ー ジ 間 の 情 報 の 受 け 渡 し で は 、 ブ ラ ウ ザ に 文 字 列 が 表 示 さ れ る な ど の セ キ ュ リ テ ィ 上 の 問 題 が あ り 、 重 要 な 情 報 の 受 け 渡 し に は 不 適 切 で す 。 そ の た め 、 ASP.NET で は、 Webク ライ アント に依 存しな い情 報を受 け 渡 す た め の 方 法 と し て 、 HttpSessionStateク ラ スが 用意さ れて います 。 ペ ー ジ を 受 け 渡 す 側 で 、 HttpSessionStateオ ブ ジェ クトに 情報 を設定 し ま す 。 続 い て 、 ペ ー ジ を 受 け 取 る 側 で 、 HttpSessionStateオ ブ ジ ェク ト か ら 情 報 を 取 得 し ま す 。 HttpSessionStat eオ ブ ジェク トに 格納さ れた 情 報 は 、 セ ッ シ ョ ン が 保 持 さ れ て い る 間 維 持 さ れ ま す 。 Login.aspx.cobx IoDetail.aspx.cobx HttpSessionSate Index:Year "OK" Index:Line "OK" Index:Login "OK" 設定 参照 図 7 . 4 . 4 ペ ー ジ 遷 移 時 の デ ー タ 取 得 ( S e s s i o n オ ブ ジ ェ ク ト )

(21)

7.4 Webページの遷移方法とWebページ間の情報共有方法

を 管 理 で き る HttpSessionStateオ ブ ジェ クトへ アク セスす るこ とがで き ま す 。 セ ッ シ ョ ン の デ ー タ は 、 HttpSe ssio nStateオ ブ ジ ェク トの I t e m イ ン デ ク サ を 介 し て コ レ ク シ ョ ン に 格 納 さ れ て い ま す 。 コ レ ク シ ョ ン に は 、 Itemイ ン デ ク サに setア クセ サを使 用し て、デ ータ を格納 す る こ と が で き ま す 。 Net COB O L for .NET で 自分 自身の プロ パティ を 参 照 す る 場 合 は 、 プ ロ パ テ ィ 取 得 対 象 オ ブ ジ ェ ク ト と し て SELFを 記 述 し ま す 。 し た が っ て 、 HttpSessionStat eを 利 用した デー タの格 納 は 、 次 の 手 順 で 呼 び 出 す こ と が で き ま す 。 H t t p S e s s i o n S t a t e オ ブ ジ ェ ク ト へ の デ ー タ 格 納 例 ( リ ポ ジ ト リ 段 落 ) P R O P E R T Y P R O P - S E S S I O N A S " S e s s i o n " ( 手 続 き 部 ) I N V O K E P R O P - S E S S I O N O F S E L F " s e t _ I t e m " U S I N G B Y V A L U E N " 認 証 " N " O K "

( 2 ) HttpSessionStateオブジェクトからのデータの取得

H t t p S e s s i o n S t a t e オ ブ ジ ェ ク ト か ら の デ ー タ 所 得 方 法 H t t p S e s s i o n St a t e オ ブ ジ ェ ク ト か ら 、 I t e m イ ン デ ク サ を 利 用 し 、 格 納 さ れ た デ ー タ を 取 得 す る こ と が で き ま す 。 デ ー タ の 取 得 に は 、 getア ク セ サ を 利 用 し ま す 。 H t t p S e s s i o n St a t e オ ブ ジ ェ ク ト の 取 得 は 、 H t t p S e s s i o n St a t e オ ブ ジ ェ ク ト へ の デ ー タ の 格 納 の 場 合 と 同 様 に 、 Pageオ ブ ジェク トの Sess ion プ ロ パ テ ィ を 利 用 し ま す 。 H t t p S e s s i o n S t a t e オ ブ ジ ェ ク ト か ら の デ ー タ 取 得 例 ( リ ポ ジ ト リ 段 落 ) P R O P E R T Y P R O P - S E S S I O N A S " S e s s i o n " ( デ ー タ 部 ) 0 1 W - O b j e c t O B J E C T R E F E R E N C E C L A S S - O B J E C T . ( 手 続 き 部 ) I N V O K E P R O P - S E S S I O N O F S E L F " g e t _ I t e m " U S I N G B Y V A L U E N " L o g i n " R E T U R N I N G W - O b j e c t

(22)

7.5 Webフォームアプリケーションの作成

7.5 Webフォームアプリケーションの作成

そ れ で は 、 実 際 に Webフ ォー ムアプ リケ ーショ ンの 作成を 行っ てみま す 。 な お 、 こ こ で 扱 う サ ン プ ル は 、 開 発 手 順 を 説 明 す る た め に 機 能 を 絞 っ て い ま す 。 そ の た め 、 実 際 の ア プ リ ケ ー シ ョ ン で は 必 須 と な る 、 パ ス ワ ー ド 保 護 な ど の 機 能 が 省 略 さ れ て い ま す 。 実 際 の ア プ リ ケ ー シ ョ ン 開 発 で は 、 要 件 に 応 じ て 適 切 な 設 計 を 行 っ て く だ さ い 。

7.5.1 プログラム概要

最 初 に ロ グ イ ン 画 面 で 認 証 を 行 い 、 次 画 面 で 年 、 月 、 商 品 コ ー ド を 元 に 、 商 品 の 入 出 庫 明 細 照 会 を 行 う Web フ ォ ーム アプ リケー ショ ンを作 成 し ま す 。 社員コードとパスワード を入力する 年、月、商品コードを入力 すると明細が表示される 認証画面 商品入出庫明細画面 図 7 . 5 . 1 W e b フ ォ ー ム ア プ リ ケ ー シ ョ ン の 実 行 イ メ ー ジ

(23)

7.5 Webフォームアプリケーションの作成 か っ た 場 合 は 次 に 入 出 庫 テ ー ブ ル (SYOIOPF )を 検 索しま す。 該当す る明 細 が あ れ ば 、 テ ー ブ ル に 表 示 さ れ ま す 。

7.5.2 Webサイトの作成

¾ 手 順 1 N e t C O B O L f o r . N E T を 起 動 し 、 起 動 画 面 の [ フ ァ イ ル ] メ ニ ュ ー よ り [ 新 規 作 成 ] - [ We b サ イ ト ] を 選 択 し ま す 。 図 7 . 5 . 2 ( 1 ) W e b サ イ ト の 作 成 ( 手 順 1 ) ¾ 手 順 2 [ Vi s u a l St u d i o に イ ン ス ト ー ル さ れ た テ ン プ レ ー ト ] か ら 「 A S P. N E T We b サ イ ト 」 を 選 択 し ま す 。 [ 場 所 ] ボ ッ ク ス は 「 フ ァ イ ル シ ス テ ム 」 を 選 択 し 、 Web サ イ ト を 置 く フ ォ ル ダ の パ ス を 設 定 し ま す ( こ こ で は 、 C : ¥ S a m p l e ¥ W e b S t o c k ) 。 ま た 、 [ 言 語 ] ボ ッ ク ス は 「 Fujitsu Net COBOL for .NET」 を選 択しま す。

(24)

7.5 Webフォームアプリケーションの作成

図 7 . 5 . 2 ( 2 ) W e b サ イ ト の 作 成 ( 手 順 2 )

¾ 手 順 3

手 順 2で 指定 した テンプ レー トに従 って 、プロ ジェ クトが 自動 生成さ れ ま す (生成 直後 の画面 イメ ージで す )。 Webペ ージ デザ イナ ウィン ド ウ に 未 編 集 の Webフ ォー ム (Defa ult.aspx)が 表 示さ れます 。フ ァイル 名 を 「 Login.aspx」 に 変更 します 。

D e f a u l t . a s p x を 「 L o g i n . a s p x 」 に 変 更

(25)

7.5 Webフォームアプリケーションの作成 ¾ 手 順 4 今 回 は 「 ロ グ イ ン 画 面 」 と 「 商 品 入 出 庫 明 細 照 会 画 面 」 の 2画面 必要 に な る た め 、 Webフ ォー ムを プロジ ェク トに追 加し ます。 [ソ リ ュー シ ョ ン エ ク ス プ ロ ー ラ ]ウ ィ ン ドウ 内の Webサ イト プロジ ェク トを右 ク リ ッ ク し 、 [新 し い項 目の 追加]よ り 、 We bフ ォー ム (フ ァイ ル名: I o D e t a i l . a s p x ) を 追 加 し ま す 。 図 7 . 5 . 2 ( 4 ) W e b サ イ ト の 作 成 ( 手 順 4 )

7.5.3 Webフォームの作成

¾ 手 順 1 「 Login.aspx」 にコン トロ ールを 配置 します 。「 ツール ボッ クス」 か ら コ ン ト ロ ー ル を 選 択 し 、 下 図 の よ う に レ イ ア ウ ト し て く だ さ い 。 こ こ で は 、 コ ン ト ロ ー ル の 表 示 位 置 を 整 え る た め に HTMLの テー ブルを 使 用 し て い ま す 。 HTMLの テ ーブ ルは テーブ ルメ ニュー から [テ ー ブ ル の 挿 入 ]で 貼り 付ける こと ができ ます 。テー ブル の各セ ルに コント ロ ー ル を 配 置 し 、 テ ー ブ ル の 列 の 幅 を 調 整 す る こ と に よ り 、 コ ン ト ロ ー ル の 表 示 位 置 を 調 整 し ま す 。

(26)

7.5 Webフォームアプリケーションの作成 ツールボックスからコントロール を選択して張り付ける 貼り付けるコントロールの種類 実線:Webコントロール 点線:HTMLコンロトール Labelコントロール Buttonコントロール TextBoxコントロール Tableコントロール Buttonコントロール Validation Summary コントロール RegularExpression Validator コントロール RequiredField Validator コントロール 図 7 . 5 . 3 ( 1 ) W e b サ イ ト の 作 成 ( 手 順 1 ) ¾ 手 順 2 コ ン ト ロ ー ル の 配 置 が 完 了 し た ら 、 各 コ ン ト ロ ー ル の プ ロ パ テ ィ を 設 定 し ま す 。 プ ロ パ テ ィ の 設 定 は 、 コ ン ト ロ ー ル を 右 ク リ ッ ク し 、 コ ン テ キ ス ト メ ニ ュ ー の 中 か ら 「 プ ロ パ テ ィ 」 を 選 択 す る と 表 示 さ れ る プ ロ パ テ ィ ウ ィ ン ド ウ で 行 っ て く だ さ い 。 各 コ ン ト ロ ー ル に 設 定 す る プ ロ パ テ ィ は 次 の と お り で す 。

(27)

7.5 Webフォームアプリケーションの作成 L a b e l 1 L a b e l 3 L a b e l 4 L a b e l 5 R e g u l a r E x p r e s s i o n Va l i d a t o r 2 R e g u l a r E x p r e s s i o n Va l i d a t o r 1 R e q u i r e d F i e l d Va l i d a t o r 2 Te x t B o x 2 Te x t B o x 1 B u t t o n Va l i d a t i o n S u m m a r y 1 B u t t o n 1 R e q u i r e d F i e l d Va l i d a t o r 1 L a b e l 2 Ta b l e 図 7 . 5 . 3 ( 2 ) W e b サ イ ト の 作 成 ( 手 順 2 )

(28)

7.5 Webフォームアプリケーションの作成 表 1 L o g i n . a s p x の プ ロ パ テ ィ ( 1 ) Password TextMode btnExit Id 1行2列のTable Table(HTML) 2行2列のTable Table(HTML) reqvalEmp ID RequiredField

Validator1 ControlToValidate txtEmployeeCode

パスワードは6文字です ErrorMessage RegularExpression Validator2 regvalEmp ID RegularExpression

Validator1 ControlToValidate txtEmployeeCode

¥d{6} ValidationExpression None Display 社員コードは数字6桁です ErrorMessage 2008.01.01 Text Larger Font(Size) なし Text 1行2列のTable Table(HTML) パスワード Text ¥w{6} ValidationExpression None Display Red ForeColor lblMsg ID Label5 社員コード Text 開始 Text 終了 Value Button(HTML) txtEmployeeCode ID TextBox1 txtPassword ID TextBox2 regvalPwd ID txtPassword ControlToValidate #99FF99 BackColor Label4 #99FF99 BackColor Label3 lblDate ID Label2 btnStart ID Button1 ログイン Text Label1 値 プロパティ コントロール

(29)

7.5 Webフォームアプリケーションの作成

表 2 L o g i n . a s p x の プ ロ パ テ ィ ( 2 )

reqvalPwd ID

RequiredField

Validator2 ControlToValidate txtPassword None Display パスワードは必須です ErrorMessage Validationsummary1 ID ValidationSummary1 入力に間違いがあります HeaderText 値 プロパティ コントロール

(30)

7.5 Webフォームアプリケーションの作成 ¾ 手 順 3 次 に 、 「 IoDet ail.asp x」 に、 下図 のよ うにコ ント ロール を配 置し、 プ ロ パ テ ィ の 設 定 を し ま す (図 は完成 画面 )。 Te x t B o x 2 Te x t B o x 1 L a b e l 4 Te x t B o x 3 Ta b l e 1 B u t t o n 3 B u t t o n 4 B u t t o n 2 B u t t o n 1 R e g u l a r E x p r e s s i o n Va l i d a t o r 1 R e q u i r e d F i e l d Va l i d a t o r 2 R e q u i r e d F i e l d Va l i d a t o r 1 R a n g e Va l i d a t o r 2 R a n g e Va l i d a t o r 1 R e q u i r e d F i e l d Va l i d a t o r 3 Va l i d a t i o n S u m m a r y 1 L a b e l 3 L a b e l 2 L a b e l 1 文 字 を 直 接 入 力 Ta b l e 図 7 . 5 . 3 ( 3 ) W e b サ イ ト の 作 成 ( 手 順 3 )

(31)

7.5 Webフォームアプリケーションの作成 表 3 I o D e t a i l . a s p x の プ ロ パ テ ィ ( 1 ) Red ForeColor lblCmdtName ID Label3 なし Text btnFwd ID Button3 False Enabled 次ページ Text btnBck ID Button2 False Enabled 前ページ Text lblDate ID Label2 2008.01.01 Text lblMsg ID Label4 なし Text 1行2列のTable 1行1列目を選択し、[書式]メニューの[配置]-[中央揃え] を指定 Table(HTML) 2行3列のTable Table(HTML) TextBox1 btnStart ID Button1 開始 Text 5 MaxLength なし Text txtCmdtNo ID TextBox3 2 MaxLength なし Text txtMonth ID TextBox2 Larger Font(Size) lblTitle ID Label1 商品入出庫明細照会 Text 1行4列のTable Table(HTML) 4 MaxLength なし Text txtYear ID 値 プロパティ コントロール

(32)

7.5 Webフォームアプリケーションの作成 表 4 I o D e t a i l . a s p x の プ ロ パ テ ィ ( 2 ) None Display txtYear ControlToValidate reqvalYear ID RequiredField Validator1 商品コード ErrorMessage None Display regvalNo ID RegularExpression Validator1 月 ErrorMessage None Display Integer Type 1 MinimunValue 12 MaximumValue txtMonth ControlToValidate rngvalMonth ID RangeValidator2 年 ErrorMessage txtCmdtNo ControlToValidate ¥d{5} ValidationExpression 年は必須です ErrorMessage None Display Integer Type 0000 MinimunValue 9999 MaximumValue txtYear ControlToValidate rngvalYear ID RangeValidator1 終了 Text btnExit ID Button4 False CausesValidation 入力に間違いがあります HeaderText ValidationSummary1 値 プロパティ コントロール

(33)

7.5 Webフォームアプリケーションの作成 表 5 I o D e t a i l . a s p x の プ ロ パ テ ィ ( 3 ) 0 CellSpacing X-Small Font(Size) Black ForeColor Both GridLines None Display RequiredField Validator2 [コレクションエディタ]ダイアロ グボックスで設定 Rows 1px BorderWidth Solid BorderStyle Black BorderColor White BackColor tblStock ID Table1 商品コードは必須です ErrorMessage None Display txtCmdtNo ControlToValidate reqvalNo ID RequiredField Validator3 月は必須です ErrorMessage reqvalMonth ID txtMonth ControlToValidate 値 プロパティ コントロール 表 5の Table1コ ント ロー ルの Rowsプ ロ パティ では 、さら に、 次の図 の よ う な コ レ ク シ ョ ン エ デ ィ タ を 利 用 し て 、 1テ ーブ ルコン トロ ールに 表 示 す る 行 (Row)や 列 (Cell)列 名 な ど、 詳細な テー ブルレ イア ウトを 設 計 し ま す 。

(34)

7.5 Webフォームアプリケーションの作成 Rowsプロパティの ボタンをクリック Tablerコントロー ルに表示する行数 分[追加]ボタンを 押す Cellsプロパティの ボタンをクリック 1行に表示する列 数分[追加]ボタン を押す 1行目の1列目 のプロパティを 設定 1行目のプロパティ を設定 図 7 . 5 . 3 ( 4 ) テ ー ブ ル コ ン ト ロ ー ル の 設 定 上 図 の コ レ ク シ ョ ン エ デ ィ タ で 定 義 し た 行 (TableRo w) や 列 ( Ta b l e C e l l ) は 、 下 図 の よ う な テ ー ブ ル レ イ ア ウ ト を イ メ ー ジ し て い ま す 。 Table1コントロール TableRow(0) Table Cell (1) Cellsプロパティ(コレクション) Ro w sプロパ テ ィ (コ レ ク ショ ン ) Table Cell (4) Table Cell (0) Table Cell (3) Table Cell (6) Table Cell (7) Table Cell (8) Table Cell (5) Table Cell (2) TableRow(1) TableRow(2)

(35)

7.5 Webフォームアプリケーションの作成 表 6 I o D e t a i l . a s p x の プ ロ パ テ ィ ( 5 ) 2 ColumnSpan 伝票No. Text #CCFFFF BackColor 入庫数 Text Black BorderColor (3)TableCell 単価・原価 Text Black BorderColor (4)TableCell 入庫数 Text Black BorderColor (2) TableRow∼ (10) TableRow (1)TableRowと同じ設定 (1) TableRow∼ (5)TableCell (1)TableCell (0)TableCell (0)TableRow Middle VerticalAlign Center Horizontal Align 設定なし (0)TableCell∼ (6)TableCell Cells 出庫数 Text Black BorderColor Small Font(Size) Black BorderColor Middle Vertical Align 入出庫日 Text Center Horizontal Align Black BorderColor (2)TableCell Cells 値 プロパティ Cells プロパティ 値 プロパティ Rows プロパティ 以 上 で 、 IoDet ail.asp xで 必要 なプ ロパ ティの 設定 は完了 です 。

(36)

7.5 Webフォームアプリケーションの作成

7.5.4 プログラムの作成

¾ 手 順 1 次 に 、 定 義 し た コ ン ト ロ ー ル に 対 し て 、 処 理 の コ ー デ ィ ン グ を し ま す 。 ま ず 、 認 証 画 面 (Login.aspx)を 開 き 、 [終 了 ]ボ タン の処理 を記 述しま す 。 Webペー ジデ ザイナ ウィ ンドウ の「 デザイ ン」 タブを 「ソ ース」 タ ブ に 切 り 替 え 、 編 集 し て く だ さ い 。 [ 終 了 ] ボ タ ン の i n p u t タ グ を 探 し 、 o n c l i c k = " w i n d o w. c l o s e ( ) " を 追 加 し ま す 。 < i n p u t … t y p e = " b u t t o n " v a l u e = " 終 了 " o n c l i c k = " w i n d o w. c l o s e ( ) " / >

(37)

7.5 Webフォームアプリケーションの作成 „ REPOSITORY句に次の処理を追加 R E P O S I T O R Y . C L A S S C L A S S - E V E N T A R G S A S " S y s t e m . E v e n t A r g s " C L A S S C L A S S - O B J E C T A S " S y s t e m . O b j e c t " C L A S S C L A S S - S E S S I O N A S " S y s t e m . W e b . S e s s i o n S t a t e . H t t p S e s s i o n S t a t e " C L A S S C L A S S - P A G E A S " S y s t e m . W e b . U I . P a g e " P R O P E R T Y P R O P - S E R V E R A S " S e r v e r " P R O P E R T Y P R O P - S E S S I O N A S " S e s s i o n " P R O P E R T Y P R O P - T E X T A S " T e x t " . „ PAGE_LOADイベントに次の処理を追加 M E T H O D - I D . P A G E - L O A D A S " P a g e _ L o a d " . D A T A D I V I S I O N . W O R K I N G - S T O R A G E S E C T I O N . 0 1 W - Y Y Y Y M M D D P I C X ( 0 8 ) . 0 1 W - D a t e - R . 0 3 W - Y Y Y Y P I C Z Z Z 9 . 0 3 F I L L E R P I C X ( 0 1 ) V A L U E " . " . 0 3 W - M M P I C Z 9 . 0 3 F I L L E R P I C X ( 0 1 ) V A L U E " . " . 0 3 W - D D P I C Z 9 . 0 1 W - Y M D R E D E F I N E S W - D a t e - R P I C X ( 1 0 ) . L I N K A G E S E C T I O N . 0 1 s e n d e r O B J E C T R E F E R E N C E C L A S S - O B J E C T . 0 1 e O B J E C T R E F E R E N C E C L A S S - E V E N T A R G S . P R O C E D U R E D I V I S I O N U S I N G B Y V A L U E s e n d e r e . M O V E F U N C T I O N C U R R E N T - D A T E T O W - Y Y Y Y M M D D . M O V E W - Y Y Y Y M M D D ( 1 : 4 ) T O W - Y Y Y Y . M O V E W - Y Y Y Y M M D D ( 5 : 2 ) T O W - M M . M O V E W - Y Y Y Y M M D D ( 7 : 2 ) T O W - D D . S E T P R O P - T E X T O F l b l D a t e T O W - Y M D . E N D M E T H O D P A G E - L O A D .

(38)

7.5 Webフォームアプリケーションの作成 „ btnStart_Clickイベントに次の処理を追加(btnStartコントロールをダブ ル ク リ ッ ク す る と 、 雛 形 の コ ー ド が 生 成 さ れ ま す ) 以 上 で 、 Login.aspx.cobxの 編集 は完 了です 。 M E T H O D - I D . b t n S t a r t _ C l i c k P R O T E C T E D . D A T A D I V I S I O N . W O R K I N G - S T O R A G E S E C T I O N . 0 1 W K - E m p l o y e e C o d e P I C N ( 0 6 ) . 0 1 W K - P a s s w o r d P I C N ( 0 6 ) . 0 1 W K - M s g P I C N ( 2 0 ) . 0 1 W K - R e t u r n C o d e B I N A R Y - L O N G . 0 1 W - W e b s e s s i o n O B J E C T R E F E R E N C E C L A S S - S E S S I O N . L I N K A G E S E C T I O N . 0 1 s e n d e r O B J E C T R E F E R E N C E C L A S S - O B J E C T . 0 1 e O B J E C T R E F E R E N C E C L A S S - E V E N T A R G S . P R O C E D U R E D I V I S I O N U S I N G B Y V A L U E s e n d e r e . S E T W K - E m p l o y e e C o d e T O P R O P - T E X T O F t x t E m p l o y e e C o d e . S E T W K - P a s s w o r d T O P R O P - T E X T O F t x t P a s s w o r d . * 認 証 用 の S Y A I N プ ロ グ ラ ム ( ス ト ア ド プ ロ シ ー ジ ャ ) 呼 び 出 し C A L L " S Y A I N 2 " U S I N G W K - E m p l o y e e C o d e W K - P a s s w o r d W K - M s g R E T U R N I N G W K - R e t u r n C o d e . I F W K - R e t u r n C o d e = 0 T H E N S E T W - W e b s e s s i o n T O P R O P - S E S S I O N O F S E L F * ロ グ イ ン フ ラ グ 設 定 I N V O K E W - W e b s e s s i o n " s e t _ I t e m " U S I N G B Y V A L U E N " L o g i n " N " O K " * 紹 介 画 面 へ 遷 移 I N V O K E P R O P - S E R V E R O F S E L F " T r a n s f e r " U S I N G B Y V A L U E N " I o D e t a i l . a s p x " E L S E S E T P R O P - T E X T O F l b l M s g T O W K - M s g E N D - I F . E N D M E T H O D b t n S t a r t _ C l i c k .

(39)

7.5 Webフォームアプリケーションの作成 ¾ 手 順 3 次 に 、 IoDetail. aspx に 定義 した各 コン トロー ルの 処理に 必要 なコー ド を 追 加 し ま す 。 コ ー ド エ デ ィ タ ウ ィ ン ド ウ を 開 い て 、 コ ー ド を 追 加 し て く だ さ い 。 „ REPOSITORY句に次のクラスやプロパティを追加 R E P O S I T O R Y . C L A S S C L A S S - E V E N T A R G S A S " S y s t e m . E v e n t A r g s " C L A S S C L A S S - O B J E C T A S " S y s t e m . O b j e c t " C L A S S C L A S S - P A G E A S " S y s t e m . W e b . U I . P a g e " * C L A S S C L A S S - C E L L A S " S y s t e m . W e b . U I . W e b C o n t r o l s . T a b l e C e l l " C L A S S C L A S S - C E L L C O L L E C T A S " S y s t e m . W e b . U I . W e b C o n t r o l s . T a b l e C e l l C o l l e c t i o n " C L A S S C L A S S - E N V I R O N M E N T A S " S y s t e m . E n v i r o n m e n t " C L A S S C L A S S - I N T 1 6 A S " S y s t e m . I n t 1 6 " C L A S S C L A S S - I N T 3 2 A S " S y s t e m . I n t 3 2 " C L A S S C L A S S - R O W A S " S y s t e m . W e b . U I . W e b C o n t r o l s . T a b l e R o w " C L A S S C L A S S - S E R V E R U T I L I T Y A S " S y s t e m . W e b . H t t p S e r v e r U t i l i t y " C L A S S C L A S S - S E S S I O N A S " S y s t e m . W e b . S e s s i o n S t a t e . H t t p S e s s i o n S t a t e " C L A S S C L A S S - S T R I N G A S " S y s t e m . S t r i n g " * P R O P E R T Y P R O P - C E L L S A S " C e l l s " P R O P E R T Y P R O P - E N A B L E D A S " E n a b l e d " P R O P E R T Y P R O P - I D A S " I D " P R O P E R T Y P R O P - I S P O S T B A C K A S " I s P o s t B a c k " P R O P E R T Y P R O P - R O W S A S " R o w s " P R O P E R T Y P R O P - S E R V E R A S " S e r v e r " P R O P E R T Y P R O P - S E S S I O N A S " S e s s i o n " P R O P E R T Y P R O P - T E X T A S " T e x t " .

(40)

7.5 Webフォームアプリケーションの作成 „ WORKING-STORAGE SECTIONに次の定義を追加 W O R K I N G - S T O R A G E S E C T I O N . 0 1 W - D a t e - R . 0 3 W - Y Y Y Y P I C Z Z Z 9 . 0 3 F I L L E R P I C X ( 0 1 ) V A L U E " . " . 0 3 W - M M P I C Z 9 . 0 3 F I L L E R P I C X ( 0 1 ) V A L U E " . " . 0 3 W - D D P I C Z 9 . 0 1 W - Y M D R E D E F I N E S W - D a t e - R P I C X ( 1 0 ) . „ PAGE_LOADイベントに次の処理を追加 M E T H O D - I D . P A G E - L O A D A S " P a g e _ L o a d " . D A T A D I V I S I O N . W O R K I N G - S T O R A G E S E C T I O N . 0 1 W - W e b s e s s i o n O B J E C T R E F E R E N C E C L A S S - S E S S I O N . 0 1 W - O b j e c t O B J E C T R E F E R E N C E C L A S S - O B J E C T . 0 1 W S e r v e r U t i l i t y O B J E C T R E F E R E N C E C L A S S -S E R V E R U T I L I T Y . 0 1 W - Y Y Y Y M M D D P I C X ( 0 8 ) . L I N K A G E S E C T I O N . 0 1 s e n d e r O B J E C T R E F E R E N C E C L A S S - O B J E C T . 0 1 e O B J E C T R E F E R E N C E C L A S S - E V E N T A R G S . P R O C E D U R E D I V I S I O N U S I N G B Y V A L U E s e n d e r e . * セ ッ シ ョ ン か ら 情 報 取 得 S E T W - W e b s e s s i o n T O P R O P - S E S S I O N O F S E L F . S E T W O b j e c t T O W -W e b s e s s i o n : : " g e t _ I t e m " ( N " L o g i n " ) . I F W - O b j e c t = N U L L T H E N * 認 証 さ れ て い な い 場 合 は 、 ロ グ イ ン 画 面 へ 遷 移 S E T W - S e r v e r U t i l i t y T O P R O P - S E R V E R O F S E L F I N V O K E W - S e r v e r U t i l i t y " T r a n s f e r " U S I N G N " L o g i n . a s p x " E N D - I F * ポ ス ト バ ッ ク 時 以 外 の 処 理 I F P R O P - I S P O S T B A C K O F S E L F = B " 0 " T H E N * 現 在 の 日 付 を ラ ベ ル に 設 定 M O V E F U N C T I O N C U R R E N T D A T E T O W -Y -Y -Y -Y M M D D M O V E W - Y Y Y Y M M D D ( 1 : 4 ) T O W - Y Y Y Y M O V E W - Y Y Y Y M M D D ( 5 : 2 ) T O W - M M M O V E W - Y Y Y Y M M D D ( 7 : 2 ) T O W - D D S E T P R O P - T E X T O F l b l D a t e T O W - Y M D * テ ー ブ ル 初 期 化 I N V O K E S E L F " T A B L E _ C L S " E N D - I F . E N D M E T H O D P A G E - L O A D .

(41)

7.5 Webフォームアプリケーションの作成 „ btnStart_Clickイベントに次の処理を追加(btnStartコントロールをダブ ル ク リ ッ ク す る と 、 雛 形 の コ ー ド が 生 成 さ れ ま す ) M E T H O D - I D . b t n S t a r t _ C l i c k P R O T E C T E D . D A T A D I V I S I O N . W O R K I N G - S T O R A G E S E C T I O N . 0 1 商 品 レ コ ー ド . 0 2 商 品 コ ー ド P I C 9 ( 5 ) . 0 2 商 品 名 P I C N ( 2 0 ) . 0 2 売 価 P I C 9 ( 8 ) . 0 2 原 価 P I C 9 ( 8 ) . C O P Y I O D E T A I L . 0 1 W - S y o c d O B J E C T R E F E R E N C E C L A S S - S T R I N G . 0 1 W - C m d t N o P I C X ( 0 5 ) . 0 1 W - Y e a r P I C X ( 0 4 ) . 0 1 W - M o n t h P I C X ( 0 2 ) . 0 1 W - S t a r t B I N A R Y - S H O R T . 0 1 W - M s g P I C N ( 2 0 ) . 0 1 W - R e t u r n C o d e B I N A R Y - L O N G . 0 1 W - C n t P I C 9 ( 0 3 ) . 0 1 W - N e x t P I C 9 ( 0 1 ) . 0 1 W - W e b s e s s i o n O B J E C T R E F E R E N C E C L A S S - S E S S I O N . 0 1 W - S t r i n g O B J E C T R E F E R E N C E C L A S S - S T R I N G . * > 0 1 W - R e q u e s t O B J E C T R E F E R E N C E C L A S S - R E Q U E S T . L I N K A G E S E C T I O N . 0 1 s e n d e r O B J E C T R E F E R E N C E C L A S S - O B J E C T . 0 1 e O B J E C T R E F E R E N C E C L A S S - E V E N T A R G S . P R O C E D U R E D I V I S I O N U S I N G B Y V A L U E s e n d e r e . S E T W - S y o c d T O P R O P - T E X T O F t x t C m d t N o . S E T W - C m d t N o T O P R O P - T E X T O F t x t C m d t N o . M O V E C L A S S - I N T 3 2 : : " P a r s e " ( W - S y o c d ) T O 商 品 コ ー ド O F 商 品 レ コ ー ド . * 商 品 レ コ ー ド 検 索 C A L L " S Y O H I N " U S I N G 商 品 レ コ ー ド W - M s g R E T U R N I N G W - R e t u r n C o d e . * エ ラ ー 判 定 ( 0 = 正 常 ) I F W - R e t u r n C o d e = 0 T H E N S E T P R O P - T E X T O F l b l M s g T O " " * 商 品 名 を ラ ベ ル に 設 定 S E T P R O P - T E X T O F l b l C m d t N a m e T O 商 品 名 I N I T I A L I Z E M - A R E A M O V E S P A C E T O W - M s g M O V E W - C m d t N o T O M - S Y O C D * 日 付 処 理 S E T W - Y e a r T O P R O P - T E X T O F t x t Y e a r S E T W - M o n t h T O P R O P - T E X T O F t x t M o n t h I F W - M o n t h ( 2 : 1 ) = S P A C E M O V E W - M o n t h ( 1 : 1 ) T O W - M o n t h ( 2 : 1 ) M O V E " 0 " T O W - M o n t h ( 1 : 1 ) E N D - I F C O M P U T E M - Y = F U N C T I O N N U M V A L ( W - Y e a r ) C O M P U T E M - M = F U N C T I O N N U M V A L ( W - M o n t h )

(42)

7.5 Webフォームアプリケーションの作成 M O V E 売 価 T O M - T A N K A M O V E 原 価 T O M - G E N K A M O V E 1 T O W - S t a r t M O V E 0 T O W - N e x t * 入 出 庫 検 索 C A L L " Z A I K O " U S I N G M - A R E A W - S t a r t W - C n t W - N e x t W - M s g R E T U R N I N G W - R e t u r n C o d e I F W - M s g N O T = S P A C E T H E N * メ ッ セ ー ジ を ラ ベ ル に 設 定 S E T P R O P - T E X T O F l b l M s g T O W - M s g E N D - I F I F W - R e t u r n C o d e = 0 T H E N I N V O K E S E L F " P A G E _ E D T " U S I N G M - A R E A S E T W - W e b s e s s i o n T O P R O P - S E S S I O N O F S E L F * 次 の レ コ ー ド が あ る か ど う か I F W - N e x t = 1 T H E N * ボ タ ン の 有 効 / 無 効 を 設 定 S E T P R O P - E N A B L E D O F b t n F w d T O B " 1 " S E T P R O P - E N A B L E D O F b t n B c k T O B " 0 " E L S E S E T P R O P - E N A B L E D O F b t n F w d T O B " 0 " S E T P R O P - E N A B L E D O F b t n B c k T O B " 0 " E N D - I F I N V O K E W - W e b s e s s i o n " s e t _ I t e m " U S I N G B Y V A L U E N " W - L i n e " 1 * セ ッ シ ョ ン に 検 索 条 件 を 保 存 I N V O K E W - W e b s e s s i o n " s e t _ I t e m " U S I N G B Y V A L U E N " W - Y e a r " W - Y e a r I N V O K E W - W e b s e s s i o n " s e t _ I t e m " U S I N G B Y V A L U E N " W - M o n t h " W - M o n t h I N V O K E W - W e b s e s s i o n " s e t _ I t e m " U S I N G B Y V A L U E N " W - C m d t N o " W - C m d t N o I N V O K E W - W e b s e s s i o n " s e t _ I t e m " U S I N G B Y V A L U E N " M - T A N K A " M - T A N K A I N V O K E W - W e b s e s s i o n " s e t _ I t e m " U S I N G B Y V A L U E N " M - G E N K A " M - G E N K A S E T W - S t r i n g T O P R O P - T E X T O F l b l C m d t N a m e I N V O K E W - W e b s e s s i o n " s e t _ I t e m " U S I N G B Y V A L U E N " l b l C m d t N a m e " W - S t r i n g E L S E I N V O K E S E L F " T A B L E _ C L S " E N D - I F E L S E * 商 品 検 索 時 の エ ラ ー 処 理 I F W - M s g N O T = S P A C E T H E N * エ ラ ー メ ッ セ ー ジ を ラ ベ ル に 設 定 S E T P R O P - T E X T O F l b l M s g T O W - M s g E N D - I F I N V O K E S E L F " T A B L E _ C L S " I F W - R e t u r n C o d e = 5 T H E N * 商 品 が 見 つ か ら な い 場 合 は 商 品 名 を ク リ ア S E T P R O P - T E X T O F l b l C m d t N a m e T O " " E N D - I F

(43)

7.5 Webフォームアプリケーションの作成 „ btnFwd_Clickイベントに次の処理を追加(btnFwdコントロールをダブル ク リ ッ ク す る と 、 雛 形 の コ ー ド が 生 成 さ れ ま す ) M E T H O D - I D . b t n F w d _ C l i c k P R O T E C T E D . D A T A D I V I S I O N . W O R K I N G - S T O R A G E S E C T I O N . C O P Y I O D E T A I L . 0 1 W - W e b s e s s i o n O B J E C T R E F E R E N C E C L A S S - S E S S I O N . 0 1 W - O b j e c t O B J E C T R E F E R E N C E C L A S S - O B J E C T . 0 1 W - L i n e B I N A R Y - S H O R T . 0 1 W - Y e a r P I C X ( 0 4 ) . 0 1 W - M o n t h P I C X ( 0 2 ) . 0 1 W - C m d t N o P I C X ( 0 5 ) . 0 1 W - G E N K A B I N A R Y - L O N G . 0 1 W - T A N K A B I N A R Y - L O N G . 0 1 W - M s g P I C N ( 2 0 ) . 0 1 W - R e t u r n C o d e B I N A R Y - L O N G . 0 1 W - C n t P I C 9 ( 0 3 ) . 0 1 W - N e x t P I C 9 ( 0 1 ) . L I N K A G E S E C T I O N . 0 1 s e n d e r O B J E C T R E F E R E N C E C L A S S - O B J E C T . 0 1 e O B J E C T R E F E R E N C E C L A S S - E V E N T A R G S . P R O C E D U R E D I V I S I O N U S I N G B Y V A L U E s e n d e r e . * セ ッ シ ョ ン か ら 情 報 取 得 S E T W - W e b s e s s i o n T O P R O P - S E S S I O N O F S E L F . S E T W - O b j e c t T O W - W e b s e s s i o n : : " g e t _ I t e m " ( N " W - L i n e " ) . S E T W - L i n e T O W - O b j e c t A S C L A S S - I N T 1 6 . S E T W - O b j e c t T O W - W e b s e s s i o n : : " g e t _ I t e m " ( N " W - Y e a r " ) . S E T W - Y e a r T O W - O b j e c t A S C L A S S - S T R I N G . S E T W - O b j e c t T O W - W e b s e s s i o n : : " g e t _ I t e m " ( N " W - M o n t h " ) . S E T W - M o n t h T O W - O b j e c t A S C L A S S - S T R I N G . S E T W - O b j e c t T O W - W e b s e s s i o n : : " g e t _ I t e m " ( N " W - C m d t N o " ) . S E T W - C m d t N o T O W - O b j e c t A S C L A S S - S T R I N G . S E T W - O b j e c t T O W - W e b s e s s i o n : : " g e t _ I t e m " ( N " M - T A N K A " ) . S E T W - T A N K A T O W - O b j e c t A S C L A S S - I N T 3 2 . S E T W - O b j e c t T O W - W e b s e s s i o n : : " g e t _ I t e m " ( N " M - G E N K A " ) . S E T W - G E N K A T O W - O b j e c t A S C L A S S - I N T 3 2 .

(44)

7.5 Webフォームアプリケーションの作成 S E T W - O b j e c t T O W - W e b s e s s i o n : : " g e t _ I t e m " ( N " l b l C m d t N a m e " ) . S E T P R O P - T E X T O F l b l C m d t N a m e T O W - O b j e c t A S C L A S S - S T R I N G . S E T P R O P - T E X T O F t x t C m d t N o T O W - C m d t N o . S E T P R O P - T E X T O F t x t Y e a r T O W - Y e a r . S E T P R O P - T E X T O F t x t M o n t h T O W - M o n t h . S E T P R O P - T E X T O F l b l M s g T O " " . I N I T I A L I Z E M - A R E A . M O V E S P A C E T O W - M s g . M O V E W - C m d t N o T O M - S Y O C D . M O V E W - Y e a r T O M - Y . M O V E W - M o n t h T O M - M . M O V E W - T A N K A T O M - T A N K A . M O V E W - G E N K A T O M - G E N K A . M O V E 0 T O W - N e x t . A D D 1 0 T O W - L i n e . C A L L " Z A I K O " U S I N G M - A R E A W - L i n e W - C n t W - N e x t W - M s g R E T U R N I N G W - R e t u r n C o d e . I N V O K E S E L F " P A G E _ E D T " U S I N G M - A R E A . I F W - M s g N O T = S P A C E T H E N S E T P R O P - T E X T O F l b l M s g T O W - M s g E N D - I F S E T W - W e b s e s s i o n T O P R O P - S E S S I O N O F S E L F . * 次 の レ コ ー ド が あ る か ど う か I F W - N e x t = 1 T H E N S E T P R O P - E N A B L E D O F b t n F w d T O B " 1 " E L S E S E T P R O P - E N A B L E D O F b t n F w d T O B " 0 " E N D - I F S E T P R O P - E N A B L E D O F b t n B c k T O B " 1 " . I N V O K E W - W e b s e s s i o n " s e t _ I t e m " U S I N G B Y V A L U E N " W - L i n e " W - L i n e . E N D M E T H O D b t n F w d _ C l i c k .

図 7 . 1 . 1 . ( 1 )   A S P . N E T の 構 成 イ メ ー ジ  

参照

関連したドキュメント

Matsui 2006, Text D)が Ch/U 7214

If a new certificate of origin was issued in accordance with Rules 3(e) of the operational procedures referred to Chapter 2 (Trade in Goods) and Chapter 3 (Rules of

With respect to each good of Chapter 50 through 63 of the Harmonized System, in the case where a material of the other Country or a third State which is a member country of the

[r]

[r]

[r]

一 六〇四 ・一五 CC( 第 三類の 非原産 材料を 使用す る場合 には、 当該 非原産 材料の それぞ

[r]