PowerPoint プレゼンテーション

Similar documents
目 次 1. Web メールのご 利 用 について Web メール 画 面 のフロー 図 Web メールへのアクセス ログイン 画 面 ログイン 後 (メール 一 覧 画 面 ) 画 面 共 通 項 目

PowerPoint プレゼンテーション

以 下 に 手 順 の 流 れを 記 載 します 3ページ 以 降 で 各 項 目 の 手 順 を 説 明 します ( をクリックすると 該 当 ページにジャンプします ) また 15ページに 汎 用 データ 受 入 に 関 する よくあるお 問 い 合 わせをご 紹 介 しています Step1 (

購買ポータルサイトyOASIS簡易説明書 b

前 書 き 広 域 機 関 システム System for Organization for Cross-regional Coordination of Transmission Operators(OCCTO) rev: 商 標 類 Windows Office Excel

研究者情報データベース

TIPS - 棚 割 りを 開 始 するまで Liteを 起 動 し 企 業 情 報 の 追 加 を 行 い 棚 割 を 行 う 企 業 の 追 加 をして 下 さい 企 業 情 報 の 追 加 時 に エラーメッセージが 表 示 された 場 合 別 途 TIPS トラブルが 発 生 した 場 合

目 次 ログイン 方 法... 3 基 本 画 面 構 成... 4 メールサービス... 5 メールサービス 画 面 構 成... 5 アカウント 詳 細 / 設 定... 6 高 機 能 フィルター... 7 ユーザーフィルター 設 定... 8 新 規 フィルターの 追 加... 8 My ホ

文科省様式3-2集計オプションマニュアル

Microsoft Word - 第3章.doc

エ CarotDAV が 起 動 すると 次 のようなウィンドウが 表 示 されます メニューバーにある File から New Connection の WebDAV を 選 択 します オ 次 のような 設 定 画 面 が 表 示 されたら General タブでネットワークアドレスなどを 設

目 次 目 次 1 ログイン ログアウト ログインする...1 ログイン 画 面 が 表 示 されないときは?... 1 初 めてログインするときのパスワードは?... 2 初 期 パスワードを 忘 れてしまったときは?... 2 変 更 したパスワードを 忘 れてしまったときは?.

R4財務対応障害一覧

以 下 に 手 順 の 流 れを 記 載 します 3ページ 以 降 で 各 項 目 の 手 順 を 説 明 します ( をクリックすると 該 当 ページにジャンプします ) また 4ページに 汎 用 データ 受 入 に 関 するよくあるお 問 い 合 わせをご 紹 介 しています Step (3ペー

目 次 1 インストール 手 順 プログラム データファイルのインストール Microsoft Access2013Runtime SP1(32bit) 版 のインストール 基 本 操 作 ログイン メニュー...

TeleOffice 3.0 Lync 2 TO

機 能 概 要 概 要 平 成 24 年 度 シームレスな 地 域 連 携 医 療 の 実 現 実 証 事 業 に 対 応 するため 地 域 連 携 システム( 能 登 北 部 版 )を 構 築 する 機 能 < 機 能 追 加 変 更 一 覧 > 1. 画 像 連 携 機 能 院 内 で 撮 影

目 次 1. 積 算 内 訳 書 に 関 する 留 意 事 項 1 ページ 2. 積 算 内 訳 書 のダウンロード 3 ページ 3. 積 算 内 訳 書 の 作 成 (Excel 2003の 場 合 ) 6 ページ 4. 積 算 内 訳 書 の 作 成 (Excel 2007の 場 合 ) 13

1

Ⅰ 校 外 における 研 修 の 留 意 点 1 校 外 における 研 修 のコマ 数 の 考 え ア) 午 前 午 後 の 講 座 は 0.5 日 (0.5 コマ) イ) 全 日 の 講 座 は 1.0 日 (1.0 コマ) 2 校 外 における 研 修 として 選 択 できない 講 座 研 修

(Microsoft PowerPoint - Ver12\203o\201[\203W\203\207\203\223\203A\203b\203v\216\221\227\277.ppt)

スライド 1

目 次 機 能 概 要 配 信 管 理 1. メールの 配 信 履 歴 と 予 約 を 確 認 する

PHP 分科会 '11/11 OpenSource 協議会 System i 2011/11/25

01_07_01 データのインポート_エクスポート_1

4 応 募 者 向 けメニュー 画 面 が 表 示 されます 応 募 者 向 けメニュー 画 面 で [ 交 付 内 定 時 の 手 続 を 行 う] [ 交 付 決 定 後 の 手 続 を 行 う]をクリックします 10

研究者総覧システム

PowerPoint プレゼンテーション

BizDataBank とは インターネット 上 (クラウド)に 大 切 なデータを 保 存 することが 出 来 る 便 利 なアプリケーション (オンラインストレージ)です 本 資 料 について BizDataBank サービスは マイナーバージョンアップ 等 もあるため 実 際 のクライアントと

入 札 参 加 資 格 申 請 システム 操 作 マニュアル 入 札 参 加 資 格 の 資 格 有 効 ( 変 更 ) 日 を 迎 えると 追 加 届 の 登 録 ができるようになります ( 入 札 参 加 資 格 申 請 の 定 時 受 付 では いずれかの 申 請 先 団 体 から 入 札 参

スライド 1

医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート - 目 次 - < 第 1 章 > 共 通 事 項 説 明 医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート 目 次 1.1 本 システムの 注 意 点 入 力 項 目 について 基 本 情

PC 移 行 は 以 下 の 流 れで 行 います 次 ページ 以 降 に 各 手 順 を 記 載 しますのでご 確 認 ください ( をクリックすると 該 当 の 説 明 にジャンプします ) 移 行 元 のPCでの 作 業 Step1 移 行 するデータをバックアップする (3ページ) [データ

スライド 1

<4D F736F F D20819C486F70658F6F93588ED297708AC7979D89E696CA837D836A B E A2E646F63>

年齢別人数計算ツールマニュアル

V-CUBE One

1. 概 要 Webで 申 込 みした 手 続 きの 内 容 とNEXIでの 手 続 状 況 を Web 申 込 状 況 一 覧 で 確 認 することができます また 各 種 手 続 きにおいて 申 込 みを 完 了 せずに 保 存 状 態 にした 手 続 きを この 一 覧 から 再 開 すること

- INDEX - 1 ご 利 用 時 間 1 2 メニュー 1 3 ご 利 用 になる 前 に 行 っていただきたいこと 3 (1) 所 在 地 沿 線 設 定 3 (2) 会 員 情 報 の 管 理 ( 自 社 情 報 の 設 定 ) 5 4 物 件 情 報 の 登 録 8 (1) 操 作 概

新 生産管理システム ご提案書 2002年10月15日 ムラテック情報システム株式会社

03_主要処理画面.xlsx

(Microsoft Word - Excel\211\236\227p2\217\315.docx)

1.2. ご 利 用 環 境 推 奨 ブラウザ Internet Explorer Google Chrome(バージョン 32 時 点 で 動 作 確 認 済 み) Mozilla Firefox(バージョン 26 時 点 で 動 作 確 認 済 み) Safari 7

事前チェック提出用現況報告書作成ツール入力マニュアル(法人用)

EC-OrangePOS 簡易マニュアル

PDF閲覧制限システム(簡易版)概説書

目 次 1. ログイン ユーザー 登 録 TOP 職 員...8 (1) 職 員 の 名 刺 表 示...8 (2) 職 員 の 名 刺 一 括 ダウンロード...8 (3) 職 員 の 名 刺 帳 から 検 索 検 索...9 (1) 氏 名

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド

Office 10 パッケージ版「リンク集」

Cloud Disk とは インターネット 上 (クラウド)に 大 切 なデータを 保 存 することが 出 来 る 便 利 なアプリケーション (オンラインストレージ)です 本 資 料 について Cloud Disk サービスは マイナーバージョンアップ 等 もあるため 実 際 のクライアントと 本

2. データを 検 索 する なごやコレクションのデータを 検 索 するための 方 法 として キーワード 検 索 詳 細 検 索 の 二 通 りの 検 索 方 法 が あります 2.1. キーワードから 探 す キーワードを 入 力 する トップページの 入 力 ボックスに 検 索

SPARQL Finder設置方法

技術報告会原稿フォーマット

ソフトウェア説明書

<4D F736F F D2090C389AA8CA72D92F18F6F2D D F ED28CFC82AF91808DEC837D836A B E838B A815B816A2E646F6378>

2007 Microsoft Corporation. All rights reserved. 本 書 に 記 載 した 情 報 は 本 書 各 項 目 に 関 する 発 行 日 現 在 の Microsoft の 見 解 を 表 明 するものです Microsoft は 絶 えず 変 化 する

1. 目 次 1 目 次 7 会 員 検 索 申 込 2 ログイン 方 法 ( 初 回 ) 8 活 動 状 況 ( 申 込 申 受 お 見 合 い 管 理 ) 3 ログイン 方 法 (2 回 目 以 降 ) 9 活 動 状 況 ( 不 成 立 履 歴 削 除 ) 4 パスワードを 忘 れた 時 は

目 次 1. 大 学 情 報 データベースシステムの 使 用 方 法 について EXCEL 一 括 登 録 EXCEL ダウンロード 検 索 条 件 の 指 定 プレビュー EXCEL ダウンロード(データ 抽 出 あ

改 定 履 歴 改 訂 日 改 訂 理 由 及 び 内 容 承 認 者 確 認 者 改 訂 者 05/8/7 新 版 発 行 05/0/5 推 奨 動 作 環 境 を 追 記

治 験 実 施 管 理 システム NMGCP 向 け Excel 形 式 プロトコール 作 成 手 順 書 V4.0.3 対 応 版 第 1 版 株 式 会 社 富 士 通 アドバンストエンジニアリング All Rights Reserved,Copyright 株 式 会 社 富 士 通 アドバン

<4D F736F F D B382F182AC82F18A4F88D B A82B D836A B5F8F898AFA90DD92E85F E646F E302E646F6378>

PowerPoint プレゼンテーション

Microsoft Word - サンプル _データベースアクセス_.doc

別冊資料-11

あいち電子調達共同システム

「給与・年金の方」からの確定申告書作成編

目 次 機 能 運 用 上 の 注 意 処 理 手 順 画 面 説 明 ログイン 直 送 先 選 択

CCNaviの2 大 機 能 1CTstageと 連 携 した 各 種 CTI 機 能 応 答 切 断 CTstageの 豊 富 なCTI 機 能 を 標 準 搭 載 CTI 操 作 パネル ステータス 表 示 パネルから 電 話 操 作 /オペレータ 状 態 表 示 が 可 能 オヘ レー 電 話

経 理 上 くん db(version 8.001)の 変 更 点 概 要 Ⅰ. 消 費 税 /リバースチャージ 方 式 の 申 告 に 対 応 1 特 定 課 税 仕 入 特 定 課 税 仕 入 返 還 区 分 を 追 加 しました Ⅱ.その 他 の 改 良 修 正 詳 細 は 後 述 を 参 照

<4D F736F F D208CA990CF96BE8DD78F918EAE82CC95CF8D >

< 目 次 > 8. 雇 用 保 険 高 年 齢 雇 用 継 続 給 付 27 ( 育 児 休 業 給 付 介 護 休 業 給 付 ) 8.1 高 年 齢 雇 用 継 続 給 付 画 面 のマイナンバー 設 定 高 年 齢 雇 用 継 続 給 付 の 電 子 申 請 高

ez_meishi.ppt

PowerPoint プレゼンテーション

G01 メニュー 画 面 の 説 明 1 前 年 度 のデータ または 会 員 管 理 DBからの 会 員 情 報 データをインポートする [ 前 年 度 一 括 申 告 データインポート] ソフト1の 講 習 会 等 名 簿 ソフトデータにデータ 付 加 するた めに 日 本 医 師 会 より 配

変 更 履 歴 日 付 Document ver. 変 更 箇 所 変 更 内 容 2015/3/ 新 規 追 加 2015/9/24 誤 字 修 正 2016/2/ 動 作 環 境 最 新 のものへ 変 更 全 体 オペレーター の 表 記 を 削 除 2016/5/

5-2.操作説明書(支店連携)_xlsx

スライド 1

データコピーとは データコピーは 古 い NAS のデータを 新 しい HDL-Z シリーズに 簡 単 にコピーできます 環 境 例 本 製 品 は 以 下 の 用 途 の 際 に 最 適 です 古 い HDL-Z シリーズから 新 しい HDL-Z シリーズへのコピー 古 い HDL-Z シリーズ

Microsoft Word - 情報メディア利用ガイド2014

PowerPoint プレゼンテーション

目 次 1. ログイン/ログアウト 1.1 ログインする p ログアウトする p.3 2. 受 講 一 覧 画 面 p.4 3. 授 業 ページの 閲 覧 3.1 授 業 ページへの 遷 移 p 授 業 資 料 を IT s class.からダウンロードする p

Microsoft Word - 新ユーザー専用ページ機能詳細・マニュアル.doc

<4D F736F F D20819C B78AFA95DB91538C7689E68DEC90AC289

Microsoft PowerPoint - KeySQL50_10g_vlo3.ppt

ユーザーガイド

Microsoft Word - 資料5-1_資料掲載_ver docx

Microsoft Word - Active.doc

目 次 遺 失 物 管 理 プログラム 利 用 者 マニュアル 1. 動 作 条 件 遺 失 物 管 理 プログラムのインストール 運 用 の 流 れ 起 動 方 法 操 作 方 法 について 基 本 的 な 操

- 目 次 - 1. はじめに サービス 内 容 メールアーカイブの 仕 組 み メール 検 索 ツール 検 索 簡 易 検 索 複 合 条 件 検 索

目 次 画 面 遷 移 図 1.ログイン 画 面 2. 画 面 構 成 3.メニュー 4.タスク 一 覧 4-1.タスク: 新 規 4-2.タスク: 閲 覧 4-3.タスク: 更 新 5.タスク 検 索 6. 通 知 メール 6-1. 通 知 メール: 新 規 / 修 正 7. 連 絡 事 項 7-

2 科 学 研 究 費 助 成 事 業 のトップページ 画 面 が 表 示 されます [ 研 究 者 ログイン]をクリック します 掲 載 している 画 面 は 例 示 です 随 時 変 更 されます 3 科 研 費 電 子 申 請 システムの 応 募 者 ログイン 画 面 が 表 示 されます e

GRIDY SFA カスタム 項 目 操 作 ガイド 用 本 書 はに 必 要 な 操 作 を 解 説 しております は GRIDY SFA ののことです GRIDY SFA へ 申 し 込 み 最 初 に 登 録 を 行 った 方 がそのままとなります カスタム 項 目 はの 方 のみ 操 作 可

Microsoft Word - FBE3A91F.doc

目 次 電 子 申 請 を 使 用 した 申 請 の 流 れ 1ページ 申 請 書 ( 概 算 保 険 料 申 告 書 )の 作 成 2ページ 作 成 した 申 請 書 の 送 信 31ページ 状 況 照 会 電 子 納 付 を 行 う 62ページ 返 送 書 類 の 取 得 75ページ お 問 い

返還同意書作成支援 操作説明書

VersionUP4.3.1

スライド 1

電子申告簡易マニュアル【所得税実践編】

PowerPoint プレゼンテーション

次 NV*** レコーダーの 管 理 者 名 /パスワード 登 録 順... 3 NV*** レコーダーの 管 理 者 名 /パスワード 変 更 順... 4 NV*** レコーダーへのカメラの 管 理 者 ユーザー 名 /パスワード 設 定 順... 5 NV*** レコーダーへの 認 証 対 応

Transcription:

オープンソース 協 議 会 IBM i 2014 年 度 第 5 回 勉 強 会 PHP on IBM i 実 践 2015/4/17 株 式 会 社 オムニサイエンス 田 中 昌 宏 1

アジェンダ 会 社 紹 介 サンプルアプリの 概 要 機 能 イメージ ポイント 画 面 イメージ 前 提 となる 環 境 使 用 するライブラリー 等 サンプルソースの 解 説 処 理 詳 細 プログラム 構 成 (Web) HTML CSS Javascript PHP ストアドプロシージャ CL RPG 連 携 のポイント デバッグ 方 法 2

会 社 紹 介 ~オムニサイエンスについて~ 3

会 社 紹 介 会 社 名 創 業 所 在 地 社 員 数 : : : : 株 式 会 社 オムニサイエンス 1987 年 6 月 18 日 東 京 都 千 代 田 区 内 神 田 1-5-4 ミヤコビル7F 40 名 株 式 会 社 オムニサイエンス システム 開 発 部 部 長 田 中 昌 宏 m-tanaka@omni-s.co.jp 03-5217-2311 PHP on IBM i に 特 化 した 受 託 開 発 導 入 支 援 サービス Web (PHP) IBM iユーザーの 声 を 製 品 開 発 に 活 かした 新 しいサービス IBM i (RPG) Solution Media IBM i の 既 存 資 産 を 有 効 活 用 したモダナイゼーション 4

サンプルソースの 概 要 5

サンプルソースの 概 要 機 能 イメージ 1.ログイン ユーザーマスタ 2. 検 索 条 件 入 力 抽 出 処 理 CL(RPG) 在 庫 マスタ 各 種 マスタ 3. 結 果 一 覧 表 示 抽 出 結 果 ワーク 4. 詳 細 表 示 5.Excel 出 力 6

サンプルソースの 概 要 ポイント レスポンシブデザイン Bootstrapを 用 いて レスポンシブデザインを 実 現 単 一 のソースで 様 々な 画 面 サイズに 対 応 しています Ajax( 非 同 期 ) 通 信 JavaScriptのHTTP 通 信 機 能 を 使 って Webページのリロードを 伴 わずに サーバとデータのやり 取 りを 実 装 しています CL,RPG 連 携 抽 出 処 理 はRPGで 実 装 しており PHPからはストアドプロシージャを 用 いて 連 携 しています Excel 出 力 PHPExcelを 用 いて 抽 出 結 果 からExcelブックを 作 成 しダウンロード 可 能 7

サンプルソースの 概 要 画 面 イメージ(デモ) 8

サンプルソースの 概 要 前 提 となる 環 境 サーバー ハードウェア オペレーティングシステム Webサーバー IBM Power Systems IBM i ( System i i5 iseries ) i5/os V5R4 以 降 Zend Server for IBM i Version5.1 以 降 PHP 5.3 以 降 クライアント ブラウザ IE 8 以 降 Safari 5 以 降 Firefox 3.6 以 降 Chrome 6 以 降 9

サンプルソースの 概 要 使 用 するライブラリー 等 ライブラリ jquery 1.11.2 DataTables 1.10.6 Bootstrap 3.3.4 DataTableBootstrap PHPExcel 説 明 Javascriptを 容 易 に 記 述 できるように 設 計 されたjavascripライブラリで す HTMLのテーブルにソートやページング フィルタリングなどの 動 きをつ けるjQueryのプラグインです 見 た 目 を 整 えたり レスポンシブなWebデザインを 簡 単 に 作 成 できる CSSのフレームワークです DataTablesの 見 た 目 をBootstrapに 合 わせたデザインに 変 更 できる DataTablesのプラグインです PHPでエクセルを 作 成 するPHPライブラリーです 10

11

処 理 詳 細 ログイン 画 面 ログインクリック Ajaxリクエスト レスポンス ログインチェックPHP logincheck.php SQL ユーザーマスタ リクエスト ログインOKの 場 合 一 覧 画 面 へ 在 庫 検 索 一 覧 画 面 レスポンス ユーザーIDとパスワードを 受 け 取 り ユーザーマスタを 検 索 し 結 果 を 返 す パスワードは 復 号 してチェック 一 覧 表 示 PHP list.php 検 索 クリック Ajaxリクエスト レスポンス 検 索 条 件 入 力 チェックPHP modalcheck.php 検 索 条 件 : 倉 庫 コードが 未 入 力 の 場 合 エラーを 返 す 検 索 条 件 入 力 エラー 有 りの 場 合 エラーメッセージを 表 示 エラー 無 しの 場 合 検 索 処 理 を 実 行 12

レスポンスされたJSONデータを グリッドに 一 覧 表 示 する 検 索 処 理 実 行 Ajaxリクエスト レスポンス SQL 在 庫 検 索 処 理 listajax.php SQL ストアドプロシージャ ZAI001P 検 索 条 件 内 容 をパラメータとして ストアドプロシージャをCALL リターンコード="OK"の 場 合 在 庫 一 覧 / 詳 細 ワークから 一 覧 表 示 データ をJSON 形 式 で 返 す パラメータ 倉 庫 コード 商 品 コードFROM 商 品 コードTO 商 品 名 リターンコード 在 庫 一 覧 / 詳 細 ワーク 作 成 CL ZAI001C 在 庫 マスタ 在 庫 一 覧 / 詳 細 ワーク ZAIWRK(QTEMP) 在 庫 一 覧 / 詳 細 ワーク 抽 出 RPG ZAI001P 商 品 マスタ RPG 処 理 検 索 条 件 をもとに 在 庫 マスタ 商 品 マスタ 倉 庫 マスタから 在 庫 データを 抽 出 編 集 し 在 庫 一 覧 / 詳 細 ワークを 出 力 する 倉 庫 マスタ 13

詳 細 クリック リクエスト 詳 細 表 示 PHP detail.php レスポンス SQL 詳 細 画 面 を 表 示 在 庫 一 覧 / 詳 細 ワーク ZAIWRK(QTEMP) 14

Excel 出 力 実 行 Ajaxリクエスト レスポンス Excel 生 成 OKの 場 合 ダウンロード 要 求 Excel 出 力 処 理 excel.php SQL 在 庫 一 覧 / 詳 細 ワーク ZAIWRK(QTEMP) PHPExcelでExcelファイルを 生 成 リクエスト ダウンロードを 開 始 レスポンス ダウンロードPHP download.php 15

プログラム 構 成 (Web) ajax ajaxファイル common.php common config.php image msg.php omniwork phplib PHPExcel lib temp 画 面 PHPファイル Weblib Bootstrap DataTables DataTableBootstrap Jquery osc ajax common image lib temp ajax 通 信 で 使 用 するファイルを 格 納 しています PHPで 共 通 でインクルードするファイルを 格 納 しています システムで 使 用 する 画 像 を 格 納 しています システムで 使 用 するライブラリを 格 納 しています Excelダウンロードファイルを 一 時 的 に 格 納 しています 16

HTML CSS Javascript PHP ナビゲーションバーの 設 置 ナビゲーションはBootstrapのnavbarクラスを 使 って 作 成 しています このクラスを 使 うことによって レスポンシブでデザインの 整 ったナビゲーションを 作 成 することができます 画 面 幅 が 小 さくなるとメニューが 非 表 示 になり 右 にボタンが 表 示 されます 右 のボタンをクリックすると 非 表 示 になっていたメニューが 下 に 表 示 されます 17

ナビゲーションの 枠 組 みは 以 下 のようになっています HTMLのnavタグにクラスnavbarを 指 定 navタグの 中 にdivを2つ 作 成 作 成 したdivにそれぞれ クラスnavbar-headerとnavbar-collapseを 指 定 します navbar-headerの 中 に 画 面 幅 が 狭 くなった 時 に 表 示 するボタンを 作 成 します navタグclass= navbar " divタグ class= navbar-header 画 面 幅 に 関 係 なく 常 に 表 示 するものを 入 れる(プロジェクト 名 など) 画 面 幅 が 狭 くなった 時 に 表 示 するボタンを 入 れる ボタンclass= navbar-toggle collpase data-target= navbar-content 画 面 が 狭 くなった 時 に 表 示 するボタンです Data-targetにnavbar-contentを 指 定 します divタグ id= navbar-content class= navbar-collapse 画 面 幅 が 広 い 時 に 表 示 するメニューを 入 れます ここに 入 れたメニューは 画 面 幅 が 狭 くなった 時 ボタンを 押 すことで 表 示 されます 18

詳 細 画 面 のレスポンシブ 設 計 詳 細 画 面 はBootstrapのクラスを 使 ってレスポンシブな 画 面 デザインを 実 現 しています 画 面 の 幅 の 伸 縮 に 応 じて 画 像 のサイズや 位 置 が 変 更 されるようになっています 19

詳 細 画 面 の 枠 組 みは 以 下 のようになっています Bootstrapのpanelクラスを 使 って panelのbody 内 で 左 右 の 切 り 分 けをしています col-md-4とcol-md-8クラスで 左 右 の 幅 の 比 率 を 設 定 しています 以 下 のようなクラスの 枠 組 みにすることで 画 面 幅 が 狭 くなるとleft-panel 内 に あるコンテンツが 上 に 移 動 し right-panelにあるコンテンツが 下 に 移 動 するように なります divタグclass="panel " divタグclass="panel-heading" divタグclass="panel-body" 画 像 class="imgresponsive" divタグ class="col-md-4 left-panel 詳 細 class="col-md-8 right-panel" 20

ajaxについて ajaxはリロードをせずにサーバーとの 通 信 を 行 うjavascriptの 技 術 です サンプルソースではjQueryの$.ajaxを 使 って 非 同 期 でPHPと 通 信 を 行 っています 下 記 はログイン 画 面 のajax 処 理 です ユーザーが 入 力 したIDとパスワードをサーバーに 送 信 して 該 当 ユーザーがいれば list.phpへ 画 面 遷 移 し いなければエラーメッセージを 表 示 しています $.ajax({ type:'post', url:'ajax/logincheck.php', data:$("#form").serializearray(), serializearrayはformデータを 配 列 に 変 換 するメ datatype:'json', ソッドです success:function(res){ //エラーがある 場 合 はエラーメッセージを 表 示 if(res.rtn === false){ $("#errmsg").html(res.msg); //エラーが 無 ければlist.phpに 画 面 遷 移 }else{ location.href = 'list.php'; } } }); 21

type url Data datatype Success HTTP 通 信 の 種 類 です POSTかGETを 指 定 します 通 信 を 行 う 対 象 のファイルを 指 定 します 通 信 を 行 う 対 象 のファイルに 送 信 するデータを 指 定 します サーバーから 返 されるデータの 型 を 指 定 します Javascriptが 読 みやすいjsonの 型 を 指 定 す るのが 一 般 的 です ajax 通 信 が 成 功 した 場 合 に 呼 び 出 されるイベントを 記 述 します datatypeで 指 定 した 型 でサーバーからのレスポンスを 受 けます 22

DBについて PHPでデータベースを 扱 う 時 は db2_connectで 接 続 任 意 のdb2 関 数 でSQLを 実 行 db2_closeで 切 断 という 流 れになります DBの 接 続 はcommon.phpのcmDbCon 関 数 で 行 っています function cmdbcon(){ $user = RDB_USER; //config.phpで 定 めた 定 数 です 値 は です $password = RDB_PASSWORD; //config.phpで 定 めた 定 数 です 値 は です $database = RDB; //config.phpで 定 めた 定 数 です 値 は *LOCAL です $option = array( i5_naming => DB2_I5_NAMING_ON,//PHPの 定 数 です i5_libl => RDB_LIBL//config.phpで 定 めた 定 数 です 値 は QTEMP QGPL OMNIWORK です ); $con = db2_connect($database, $user, $password,$option); return $con; } 接 続 先 ホスト ユーザーID パスワード 接 続 オプション 接 続 オプションは i5_ からはじまります 上 記 の i5_libl はライブラリリストを 指 定 しています i5_naming はライブラリリストを 使 う 為 のオプションです 23

SQLの 実 行 結 果 の 取 得 はcommon.phpのcmFetchAllで 行 っています cmfetchall 関 数 は( 接 続 リソース SQL 文 バインドパラメータ)となっており 結 果 を 配 列 でリターンします SQLの 実 行 に 失 敗 した 場 合 はfalseをリターンするようになっています detail.php( 商 品 詳 細 画 面 ) $con = cmdbcon(); //DB 接 続 $sql = ''; $sql.= ' SELECT * FROM ZAIWRK '; $sql.= ' WHERE WKSOCD =? '; $sql.= ' AND WKSHCD =? '; $param = array($wksocd,$wkshcd); SQL 文 を 作 成 する 時 WHERE 句 に 入 れる 値 は? で 記 述 します SQL 文 で? にした 場 所 に 入 れる 値 (バインドパ ラメータ)を 配 列 で 定 義 します $rs = cmfetchall($con,$sql,$param); if($rs === false){ $rtn = false; }else{ $rs = umex($rs,true); $data = $rs[0]; } cmfetchallでfalseだった 場 合 はエラー 処 理 を 行 います 正 常 だった 場 合 $data 変 数 に 結 果 を 代 入 しています 24

common.php cmfetchall 関 数 function cmfetchall($con,$sql,$param){ $data = array(); $rs = ''; $stmt = db2_prepare($con,$sql); if($stmt){ db2_execute($stmt,$param); if($stmt){ } } $rs = $data; }else{ $rs = false; } }else{ $rs = false; } return $rs; db2_prepareでsqlの 実 行 準 備 をします SQL 文 に 誤 りがあった 場 合 $stmtにfalseが 入 ります db2_executeでバインドパラメータを 渡 してSQLの 実 行 をします 実 行 エラーが 出 た 場 合 $stmtに falseが 入 ります while($row = db2_fetch_assoc($stmt)){ $data[] = $row; db2_fetch_assocは 結 果 を 配 列 に 変 換 し 上 から 一 行 ずつ 読 み 取 る 関 数 です この 関 数 を 使 って$dataにデータを 代 入 します 25

SQLの 切 断 はdb2_close 関 数 を 使 います 引 数 にはdb2_connectで 得 た 結 果 を 渡 します DBの 切 断 はcommon.phpのcmDbCloseで 行 っています function cmdbclose($con){ db2_close($con); } 26

CLの 実 行 について PHPからCLを 実 行 する 場 合 もSQLの 実 行 と 同 じく db2_connectを 使 用 して 接 続 し db2 関 数 を 用 いて 実 行 db2_closeで 切 断 という 流 れになります CLの 実 行 はcommon.phpのcmCallZAI001C 関 数 で 行 っています function cmcallzai001c($con,$param){ $stmt = false; $RTCD = ''; $stmt = db2_prepare($con, "CALL ZAI001P(?,?,?,?,?)"); db2_prepareでプロシジャーの 実 行 準 備 をします SQL 文 に 誤 りがあった 場 合 $stmtにfalseが 入 り ます if($stmt!== false){ $in_param1 = $param['socd']; $in_param2 = $param['shfr']; $in_param3 = $param['shto']; $in_param4 = $param['shnm']; $return_value1 = "";? に 入 れるパラメータを 変 数 で 定 義 します ここで 定 義 した 変 数 をdb2_bind_paramで 文 字 列 として 使 用 します 27

//プロシージャへのパラメータバインド db2_bind_param($stmt, 1, "in_param1", DB2_PARAM_INOUT); db2_bind_paramでプロシージャにパ ラメータをバインドします db2_bind_param($stmt, 2, "in_param2", DB2_PARAM_INOUT); db2_bind_param($stmt, 3, "in_param3", DB2_PARAM_INOUT); db2_bind_param($stmt, 4, "in_param4", DB2_PARAM_INOUT); db2_bind_param($stmt, 5, "return_value1", DB2_PARAM_OUT); } パラメータの 順 番 //プロシージャーの 実 行 db2_execute($stmt); //プロシージャのリターン 値 $RTCD = $return_value1; パラメータ 名 (PHPの 変 数 名 と 合 わせます) 入 出 力 定 義 DB2_PARAM_IN DB2_PARAM_OUT DB2_PARAM_INOUT バインド 時 に 定 義 したパラメータに 先 頭 $をつけた 変 数 にリターン 値 が 入 ります $rtn = array( 'RS' => $stmt, 'RTCD' => $RTCD ); return $rtn; } 28

Excelの 作 成 について Excelの 作 成 にはPHPExcelというPHPのライブラリーを 使 用 しています PHPExcelの 使 用 手 順 は 以 下 のようになります 1.ライブラリファイルの 読 み 込 み 2.ブックの 作 成 3.テンプレートファイルの 読 み 込 み 4.シートの 設 定 5.Excelセルに 値 を 代 入 6. 任 意 の 場 所 にファイルを 保 存 29

ライブラリの 読 み 込 み PHPExcelの 中 にあるPHPExcel.phpをインクルードします //PHPEXCEL_DIRはconfig.phpで 定 めた 定 数 です //PHPExcelライブラリまでのディレクトリを 記 述 しています include_once(phpexcel_dir."classes/phpexcel.php"); ブックの 作 成 createreaderを 使 用 してブックのオブジェクトを 作 成 します //ブック 設 定 引 数 にはExcelのバージョンを 指 定 します //.xlsファイルであればexcel5を 指 定 し.xlsxであればExcel2007を 指 定 します $reader = PHPExcel_IOFactory::createReader('Excel2007'); 30

テンプレートファイルの 読 み 込 み サーバーの 任 意 の 場 所 にあるテンプレートファイルを 読 み 込 む 設 定 をします //テンプレート 設 定 //PHPEXCEL_DIRはconfig.phpで 定 めた 定 数 です PHPExcelまでのパスを 記 述 しています $book = $reader->load(phpexcel_dir.'template/template.xlsx'); シートの 設 定 ブックの 何 ページのシートを 使 うかを 設 定 します $sheetno = 0; //setactivesheetindexに0を 渡 すことで1ページ 目 のシートを 選 択 $book->setactivesheetindex($sheetno); //getactivesheetでセットされているシートのオブジェクトを 取 得 $sheet = $book->getactivesheet(); 31

Excelのセルに 値 を 代 入 セルの 番 号 を 指 定 して 値 を 埋 め 込 みます 埋 め 込 むときは 文 字 のタイプを 指 定 します //A1セルに 倉 庫 コード という 文 字 を 文 字 列 で 埋 め 込 んでいます $sheet->getcell("a1")->setvalueexplicit(' 倉 庫 コード',PHPExcel_Cell_DataType::TYPE_STRING); 任 意 の 場 所 にファイルを 保 存 createwriterでexcelのオブジェクトを 作 成 します saveで 任 意 の 場 所 にファイルを 保 存 することができます $writer = PHPExcel_IOFactory::createWriter($book, "Excel2007"); $writer->save($outputf); //saveにはディレクトリ 名 とファイル 名 を 指 定 します //サンプルソースの 場 合 は$outputfに /www/zendsvr6/ //htdocs/omniwork/temp/ファイル 名 となっています 32

ストアドプロシージャ PHPからCL(RPG)を 実 行 する 為 にDB2 for i のストアドプロシージャを 利 用 します ストアドプロシージャはSQL(CREATE PROCEDURE)で 作 成 します CREATE PROCEDURE OMNIWORK/ZAI001P ( INOUT SOCD CHAR(2), INOUT SHFR CHAR(5), INOUT SHTO CHAR(5), INOUT SHNM CHAR(42), INOUT RTCD CHAR(2) ) LANGUAGE CL SPECIFIC OMNIWORK/ZAI001C NOT DETERMINISTIC MODIFIES SQL DATA CALLED ON NULL INPUT EXTERNAL NAME 'OMNIWORK/ZAI001C' PARAMETER STYLE GENERAL; 33

プロシージャを 削 除 するには 以 下 のSQL(DROP PROCEDURE)を 実 行 します DROP PROCEDURE OMNIWORK/ZAI001P 作 成 したストアドプロシージャの 内 容 は System i ナビゲーター で 確 認 できます 34

CL ストアドから 実 行 されるCLとして 以 下 を 作 成 PGM PARM(&SOCD &SHFR &SHTO &SHNM &RTCD) DCL DCL DCL DCL DCL CHGVAR VAR(&SOCD) TYPE(*CHAR) LEN(2) VAR(&SHFR) TYPE(*CHAR) LEN(5) VAR(&SHTO) TYPE(*CHAR) LEN(5) VAR(&SHNM) TYPE(*CHAR) LEN(42) VAR(&RTCD) TYPE(*CHAR) LEN(2) VAR(&RTCD) VALUE('OK') /* CCSID の 指 定 */ CHGJOB CCSID(5026) PHPからはCCSID=5035,1399で 実 行 される 為 環 境 に 合 わせて 実 行 前 にCCSIDを 変 更 しておく STEP1: /* 在 庫 一 覧 / 詳 細 ワーク( ZAIWRK ) 作 成 */ CHKOBJ OBJ(QTEMP/ZAIWRK) OBJTYPE(*FILE) MONMSG MSGID(CPF0000) EXEC(DO) CRTDUPOBJ OBJ(ZAIWRK) FROMLIB(*LIBL) OBJTYPE(*FILE) + TOLIB(QTEMP) NEWOBJ(ZAIWRK) QTEMPは 利 用 可 能 但 し PHP 処 理 後 にジョブが 終 了 するので 持 続 的 にQTEMPを 利 用 することはできない 35

MONMSG CHGVAR ENDDO ENDDO MSGID(CPF0000) EXEC(DO) VAR(&RTCD) VALUE('NG') STEP2: /* 在 庫 一 覧 / 詳 細 ワーク( ZAIWRK )クリア */ CLRPFM FILE(QTEMP/ZAIWRK) MONMSG MSGID(CPF0000) EXEC(DO) CHGVAR VAR(&RTCD) VALUE('NG') ENDDO STEP3: /* 抽 出 処 理 */ CALL PGM(*LIBL/ZAI001R) PARM(&SOCD &SHFR &SHTO + &SHNM &RTCD) MONMSG CHGVAR ENDDO ENDPGM MSGID(CPF0000) EXEC(DO) VAR(&RTCD) VALUE('NG') ライブラリリストはPHPからデータベース 接 続 (db2_connect)した 際 の 指 定 が 適 用 される MONMSGは 可 能 な 限 り 指 定 する 方 が 良 い MSGW 滞 留 を 防 ぐ 為 36

RPG CLから 実 行 されるRPGとして 以 下 を 作 成 H DATEDIT(*YMD/) *********************************************************************** ** ファイル 定 義 ** *********************************************************************** * 在 庫 マスタ FZAIMST IF E K DISK INFSR(*PSSR) * 商 品 マスタ FSHNMST IF E K DISK INFSR(*PSSR) * 倉 庫 マスタ FSOKMST IF E K DISK INFSR(*PSSR) * 在 庫 一 覧 / 詳 細 ワーク FZAIWRK O E K DISK INFSR(*PSSR) *********************************************************************** ** パラメータリスト ** *********************************************************************** C *ENTRY PLIST C*IN C PARM P@SOCD 2 C PARM P@SHFR 5 37

C PARM P@SHTO 5 C PARM P@SHNM 42 C*OUT C PARM P@RTCD 2 *********************************************************************** ** キーリスト ** *********************************************************************** C* 在 庫 マスタ C KEY001 KLIST C KFLD P@SOCD C KFLD P@SHFR C KEY002 KLIST C KFLD P@SOCD *********************************************************************** ** メイン 処 理 ** *********************************************************************** C* 在 庫 マスタ 読 込 C KEY001 SETLL ZAIMST C DO *HIVAL C KEY002 READE ZAIMST 38

C* 読 込 終 了 条 件 C IF %EOF(ZAIMST) C LEAVE C ENDIF C* C IF P@SHTO <> *BLANK AND C ZASHCD > P@SHTO C LEAVE C ENDIF C* 商 品 マスタ 検 索 C ZASHCD CHAIN SHNMST C IF %FOUND(SHNMST) C* あいまい 検 索 ( 商 品 名 ) C IF P@SHNM <> *BLANK C EXSR #FIND C IF #FLG = *BLANK C ITER C ENDIF C ENDIF C* ワークファイル 出 力 C CLEAR ZAIWRKR 39

C EVAL WKSOCD = ZASOCD C ZASOCD CHAIN SOKMST C IF %FOUND(SOKMST) C EVAL WKSONM = SOSONM C ENDIF C EVAL WKSHCD = ZASHCD C EVAL WKZISU = ZAZISU C EVAL WKSHNM = SHSHNM C EVAL WKZIKN = SHZITK * ZAZISU C EVAL WKZITK = SHZITK C EVAL WKURTK = SHURTK C EVAL WKSRTK = SHSRTK C EVAL WKKZSU = SHKZSU C EVAL WKBIKO = SHBIKO C WRITE ZAIWRKR C ENDIF C* C ENDDO C*<< 終 了 処 理 >> C SETON LR C RETURN 40

C*===================================================================== C* (*PSSR) 例 外 処 理 C*===================================================================== C *PSSR BEGSR C* C MOVEL 'NG' P@RTCD C* C ENDSR '*CANCL' *PSSR( 例 外 処 理 )は 可 能 な 限 り 指 定 する 方 が 良 い MSGW 滞 留 を 防 ぐ 為 41

連 携 のポイント QTEMPの 利 用 非 持 続 的 接 続 (db2_connect) 場 合 1リクエスト 内 に 対 する 処 理 であれば QTEMPを 活 用 できる MSGWにしない PHPから 実 行 されたCL,RPGでMSGWとなると レスポンス 保 留 状 態 となる 為 重 複 した 場 合 はWebサーバー 自 体 が 他 のリクエストが 受 付 られなくなる *PSSRやMONMSGで 例 外 処 理 を 記 述 しておいた 方 が 良 い 権 限 QTMHHTTPユーザーで 実 行 される 為 必 要 に 応 じて オブジェクト 権 限 の 設 定 が 必 要 (GRTOBJAUT) 実 行 時 CCSIDの 指 定 QTMHHTTPユーザーで 実 行 される 為 CCSID=5035,1399 等 で 実 行 される 環 境 に 応 じてCCSIDを 変 更 してからCL,RPGを 実 行 する 42

デバッグ 方 法 PHPから 実 行 されたCL(RPG)をデバッグする 場 合 以 下 のような 方 法 で 実 現 可 能 ( 他 にいい 方 法 があるかもしれません ) 1 実 行 するCL(RPG)にDLYJOBを 仕 込 んでデバッグオプションでコンパイルします 43

2ブラウザからリクエストが 発 生 し CLが 実 行 されると QSYSWRK 以 下 QSQSRVRのジョブが 指 定 時 間 ディレイされます 44

3ディレイされている 間 にジョブ 情 報 を 控 えて STRSRVJOBを 発 行 します 45

4STRDBGを 開 始 停 止 点 を 設 定 する ディレイ 終 了 後 に 停 止 点 よりデバッグ 開 始 されます 46