特 許 出 願 中 SQLSequencer サンプル 定 義 ---Oracle 版 --- 2009.08.14 Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 1
目 次 項 目 内 容 頁 0 サンプル 環 境 について 3 1 SQL の 単 純 実 行 (sample1.xml) 4 2 結 果 の CSV 出 力 (sample2.xml) 8 3 起 動 文 字 列 ( 外 部 パラメータ)で SQL 置 換 (sample3.xml) 12 4 条 件 分 岐 (sample4.xml) 16 5 CSV で 外 部 パラメータを 与 える(sample5.xml) 20 6 SQL で 外 部 パラメータを 与 える(sample6.xml) 25 7 画 面 から KEY 情 報 を 受 け 取 る(sample7.xml) 34 Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 2
0 サンプル 環 境 について 0.1 内 容 について SQLS のご 理 解 を 確 実 にする 目 的 で 簡 単 なサンプル 集 を 作 成 しました 処 理 の 内 容 自 体 に 意 味 はありませんが サンプルの 内 容 をトレースして 頂 くと 定 義 方 法 の 理 解 が 深 まります 実 際 の 定 義 は SQLS_oraSample ディレクトリ 内 にあります 実 際 の 環 境 でお 試 し 頂 く 場 合 は サンプル 中 のディレクトリなどは 利 用 環 境 に 合 わ せて 変 更 願 います 0.2 サンプル DB について 説 明 のために 利 用 する DBの 内 容 は 株 式 会 社 オンネット システムズが 予 め 準 備 し ているサンプルデータベースに 基 づきます 実 際 の 動 作 確 認 の 前 に 本 サンプル 定 義 を 用 いて DB 環 境 の 構 築 を 行 っておくこと で SQLS のサンプル 定 義 が 動 作 します Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 3
1 SQL の 単 純 実 行 (sample1.xml) 1.1 処 理 説 明 単 純 に SQL 文 を 実 行 して その 結 果 をタイトル 行 付 きでログファイルに 出 力 します 受 注 明 細 受 注 基 本 から 成 る 受 注 伝 票 の 内 容 を 受 注 基 本 単 位 に 集 計 して 出 力 す る 1.2 System.ini [ORACLESERVER] User=sample Password=sample Using=oranet99 ご 利 用 の 環 境 に 合 わせてくださ い [ 格 納 フォルダ] LogPath= [SQL 実 行 制 御 ] ログ 出 力 の 場 所 を 記 述 最 後 は で 終 了 させる AAAABBBB=testaaaabbbb CCCCBBBB=testccccbbbb [ 登 録 情 報 ] PID=trial 1.2 起 動 パラメータ SQLS_ora.exe /XML ファイル=sample1.xml /SQL 表 示 =y /DIALOG=y /SHOW=n /log=sample1.log / 囲 み=y 記 述 が 長 くなるので バッチファイルに 登 録 しておくとよいでしょう 1.3 動 作 定 義 XML 動 作 定 義 XML と 出 力 されたログを 見 比 べて 動 作 を 確 認 してください <?xml version="1.0" encoding="shift_jis"?> <!-- ======================================================================--> <!-- (sample1) --> <!-- 受 注 基 本 単 位 に 受 注 明 細 から 受 注 額 消 費 税 額 明 細 総 額 の 合 計 を 求 める --> <!-- 出 力 はログファイルとなる --> <!-- ======================================================================--> <SQL 情 報 リスト> Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 4
<SQL 情 報 > <SQLNO>01</SQLNO> <SQL タイトル> 受 注 明 細 のログ 表 示 </SQL タイトル> <SQL 種 別 >SELECT</SQL 種 別 > <SQL> SELECT 受 注 NO, 行 NO, 受 注 明 細. 商 品 CD, 商 品. 商 品 名, 受 注 単 価, 受 注 数 量, 受 注 明 細 額, 消 費 税 額, 受 注 明 細 総 額 FROM 受 注 明 細, 商 品 where 受 注 明 細. 商 品 CD= 商 品. 商 品 CD order by 受 注 NO, 行 NO </SQL> <SQL 実 行 結 果 表 示 >WithHeader</SQL 実 行 結 果 表 示 > <エラー 時 無 視 >N</エラー 時 無 視 > < 実 行 後 コミット>N</ 実 行 後 コミット> < 次 SQLNO>02</ 次 SQLNO> </SQL 情 報 > <SQL 情 報 > <SQLNO>02</SQLNO> <SQL タイトル> 受 注 合 計 のログ 表 示 </SQL タイトル> <SQL 種 別 >SELECT</SQL 種 別 > <SQL> SELECT s. 受 注 NO,s. 取 引 名,sum(d. 受 注 明 細 額 ),sum(d. 消 費 税 額 ),sum(d. 受 注 明 細 総 額 ) FROM 受 注 基 本 s, 受 注 明 細 d where s. 受 注 NO=d. 受 注 NO group by s. 受 注 NO,s. 取 引 名 </SQL> <SQL 実 行 結 果 表 示 >WithHeader</SQL 実 行 結 果 表 示 > <エラー 時 無 視 >N</エラー 時 無 視 > < 実 行 後 コミット>N</ 実 行 後 コミット> < 次 SQLNO>99,0, 終 了 しました</ 次 SQLNO> </SQL 情 報 > </SQL 情 報 リスト> 1.4 ログファイル ***** SQLS_ora [Ver1.0] 開 始 2009/08/15( 土 ) 17:05:08 ***** 指 定 パラメータ : /XML ファイル=sample1.xml /SQL 表 示 =y /DIALOG=y /SHOW=n /log=sample1.log / 囲 み=y Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 5
/KEY 情 報 = フ ァ イ ル 名 : D:\USER\ 開 発 環 境 \O_ オ ン ネ ッ ト シ ス テ ム ズ \SQLS_ora\SQLS_ora_1_0\SQLS_ora 暫 定 版 2\SQLS_oraSample\sample1.xml 01: 受 注 明 細 のログ 表 示 SELECT SQLNO が 01 の 結 果 表 示 SELECT 受 注 NO, 行 NO, 受 注 明 細. 商 品 CD, 商 品. 商 品 名, 受 注 単 価, 受 注 数 量, 受 注 明 細 額, 消 費 税 額, 受 注 明 細 総 額 FROM 受 注 明 細, 商 品 where 受 注 明 細. 商 品 CD= 商 品. 商 品 CD order by 受 注 NO, 行 NO 受 注 NO, 行 NO, 商 品 CD, 商 品 名, 受 注 単 価, 受 注 数 量, 受 注 明 細 額, 消 費 税 額, 受 注 明 細 総 額 "00000001","1","B03"," 薄 型 TV-A22","520000","2","1040000","52000","1092000" "00000001","2","B04","ラジオ A20","10200","1","10200","510","10710" "00000002","1","B01"," 鉛 筆 ","200","36","7200","360","7560" "00000002","2","B02","ボールペン","300","10","3000","150","3150" "00000002","3","B06"," 電 卓 SS66","1500","1","1500","75","1575" "00000003","1","B01"," 鉛 筆 ","200","10","2000","100","2100" "00000003","2","B02","ボールペン","300","5","1500","75","1575" "00000003","3","B06"," 電 卓 SS66","1500","1","1500","75","1575" "00000003","4","B07"," 電 子 辞 書 SS-458","35000","1","35000","1750","36750" "00000003","5","B08","パソコン LB50","58000","1","58000","2900","60900" "00000004","1","B03"," 薄 型 TV-A22","520000","1","520000","26000","546000" "00000004","2","B04","ラジオ A20","10200","1","10200","510","10710" "00000004","3","B08","パソコン LB50","58000","1","58000","2900","60900" "00000004","4","B10"," 蛍 光 灯 50W","200","50","10000","500","10500" "00000005","1","B10"," 蛍 光 灯 50W","200","25","5000","250","5250" "00000005","2","C01"," 業 務 用 エアコン","350000","2","700000","35000","735000" "00000005","3","C05"," 自 動 シャッター","280000","3","840000","42000","882000" 17 件 02: 受 注 合 計 のログ 表 示 SELECT SQLNO が 02 の 結 果 表 示 Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 6
SELECT s. 受 注 NO,s. 取 引 名,sum(d. 受 注 明 細 額 ),sum(d. 消 費 税 額 ),sum(d. 受 注 明 細 総 額 ) FROM 受 注 基 本 s, 受 注 明 細 d where s. 受 注 NO=d. 受 注 NO group by s. 受 注 NO,s. 取 引 名 受 注 NO, 取 引 名,SUM(D. 受 注 明 細 額 ),SUM(D. 消 費 税 額 ),SUM(D. 受 注 明 細 総 額 ) "00000001","TV 購 入 ","1050200","52510","1102710" "00000002"," 小 学 校 入 学 ","11700","585","12285" "00000003"," 社 員 入 社 (1 名 )","98000","4900","102900" "00000004"," 寮 ホールの 改 装 ","598200","29910","628110" 受 注 明 細 を 受 注 基 本 の 単 位 で 集 計 した 結 果 を 表 示 "00000005"," 社 内 照 明 の 更 新 ","1545000","77250","1622250" 5 件 終 了 しました 終 了 コード:0 プログラム 終 了 コード:0 ***** SQLS_ora [Ver1.0] 終 了 2009/08/15( 土 ) 17:05:15 ***** Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 7
2 結 果 の CSV 出 力 (sample2.xml) 2.1 処 理 説 明 受 注 明 細 受 注 基 本 から 成 る 受 注 伝 票 の 内 容 を 受 注 基 本 単 位 に 集 計 して 出 力 する 点 は 例 題 1と 同 様 ですが 結 果 を CSV 出 力 します SQL の SELECT リストから 簡 単 に CSV を 作 成 することができます 2.2 起 動 パラメータ SQLS_ora.exe /XML ファイル=sample2.xml /SQL 表 示 =y /DIALOG=y /SHOW=n /log=sample2.log / 囲 み=y 2.3 動 作 定 義 XML <?xml version="1.0" encoding="shift_jis"?> <!-- ======================================================================--> <!-- (sample2) --> <!-- 受 注 基 本 単 位 に 受 注 明 細 から 受 注 額 消 費 税 額 明 細 総 額 の 合 計 を 求 める --> <!-- 出 力 は CSV ファイルとなる --> <!-- ======================================================================--> <SQL 情 報 リスト> <SQL 情 報 > <SQLNO>01</SQLNO> <SQL タイトル> 受 注 明 細 のログ 表 示 </SQL タイトル> <SQL 種 別 >SELECT</SQL 種 別 > <SQL> SELECT 受 注 NO, 行 NO, 受 注 明 細. 商 品 CD, 商 品. 商 品 名, 受 注 単 価, 受 注 数 量, 受 注 明 細 額, 消 費 税 額, 受 注 明 細 総 額 FROM 受 注 明 細, 商 品 where 受 注 明 細. 商 品 CD= 商 品. 商 品 CD order by 受 注 NO, 行 NO </SQL> <SQL 実 行 結 果 表 示 >WithHeader</SQL 実 行 結 果 表 示 > <エラー 時 無 視 >N</エラー 時 無 視 > < 実 行 後 コミット>N</ 実 行 後 コミット> < 次 SQLNO>02</ 次 SQLNO> </SQL 情 報 > <SQL 情 報 > <SQLNO>02</SQLNO> <SQL タイトル> 受 注 合 計 のログ 表 示 </SQL タイトル> Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 8
<SQL 種 別 >SELECT</SQL 種 別 > <SQL> SELECT s. 受 注 NO,s. 取 引 名,sum(d. 受 注 明 細 額 ),sum(d. 消 費 税 額 ),sum(d. 受 注 明 細 総 額 ) FROM 受 注 基 本 s, 受 注 明 細 d where s. 受 注 NO=d. 受 注 NO group by s. 受 注 NO,s. 取 引 名 </SQL> <SQL 実 行 結 果 表 示 >WithHeaderFILE</SQL 実 行 結 果 表 示 > <SQL 実 行 結 果 FILE>sample2.csv</SQL 実 行 結 果 FILE> <エラー 時 無 視 >N</エラー 時 無 視 > < 実 行 後 コミット>N</ 実 行 後 コミット> < 次 SQLNO>99,0, 終 了 しました</ 次 SQLNO> </SQL 情 報 > CSV 出 力 のために<SQL 実 行 結 果 表 示 >と<SQL 実 行 結 果 FILE>を 指 定 している </SQL 情 報 リスト> 2.4 ログファイル ***** SQLS_ora [Ver1.0] 開 始 2009/08/15( 土 ) 19:08:32 ***** 指 定 パラメータ : /XML ファイル=sample2.xml /SQL 表 示 =y /DIALOG=y /SHOW=n /log=sample2.log / 囲 み=y /KEY 情 報 = フ ァ イ ル 名 : D:\USER\ 開 発 環 境 \O_ オ ン ネ ッ ト シ ス テ ム ズ \SQLS_ora\SQLS_ora_1_0\SQLS_ora 暫 定 版 2\SQLS_oraSample\sample2.xml 01: 受 注 明 細 のログ 表 示 SELECT SELECT 受 注 NO, 行 NO, 受 注 明 細. 商 品 CD, 商 品. 商 品 名, 受 注 単 価, 受 注 数 量, 受 注 明 細 額, 消 費 税 額, 受 注 明 細 総 額 FROM 受 注 明 細, 商 品 where 受 注 明 細. 商 品 CD= 商 品. 商 品 CD order by 受 注 NO, 行 NO 受 注 NO, 行 NO, 商 品 CD, 商 品 名, 受 注 単 価, 受 注 数 量, 受 注 明 細 額, 消 費 税 額, 受 注 明 細 総 額 "00000001","1","B03"," 薄 型 TV-A22","520000","2","1040000","52000","1092000" Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 9
"00000001","2","B04","ラジオ A20","10200","1","10200","510","10710" "00000002","1","B01"," 鉛 筆 ","200","36","7200","360","7560" "00000002","2","B02","ボールペン","300","10","3000","150","3150" "00000002","3","B06"," 電 卓 SS66","1500","1","1500","75","1575" "00000003","1","B01"," 鉛 筆 ","200","10","2000","100","2100" "00000003","2","B02","ボールペン","300","5","1500","75","1575" "00000003","3","B06"," 電 卓 SS66","1500","1","1500","75","1575" "00000003","4","B07"," 電 子 辞 書 SS-458","35000","1","35000","1750","36750" "00000003","5","B08","パソコン LB50","58000","1","58000","2900","60900" "00000004","1","B03"," 薄 型 TV-A22","520000","1","520000","26000","546000" "00000004","2","B04","ラジオ A20","10200","1","10200","510","10710" "00000004","3","B08","パソコン LB50","58000","1","58000","2900","60900" "00000004","4","B10"," 蛍 光 灯 50W","200","50","10000","500","10500" "00000005","1","B10"," 蛍 光 灯 50W","200","25","5000","250","5250" "00000005","2","C01"," 業 務 用 エアコン","350000","2","700000","35000","735000" "00000005","3","C05"," 自 動 シャッター","280000","3","840000","42000","882000" 17 件 02: 受 注 合 計 のログ 表 示 SELECT SELECT s. 受 注 NO,s. 取 引 名,sum(d. 受 注 明 細 額 ),sum(d. 消 費 税 額 ),sum(d. 受 注 明 細 総 額 ) FROM 受 注 基 本 s, 受 注 明 細 d where s. 受 注 NO=d. 受 注 NO group by s. 受 注 NO,s. 取 引 名 5 件 終 了 しました CSV 出 力 のために 結 果 表 示 はされ ていない 終 了 コード:0 プログラム 終 了 コード:0 ***** SQLS_ora [Ver1.0] 終 了 2009/08/15( 土 ) 19:08:38 ***** 2.5 CSV の 内 容 Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 10
(sample2.csv) 受 注 NO, 取 引 名,SUM(D. 受 注 明 細 額 ),SUM(D. 消 費 税 額 ),SUM(D. 受 注 明 細 総 額 ) "00000001","TV 購 入 ","1050200","52510","1102710" "00000002"," 小 学 校 入 学 ","11700","585","12285" "00000003"," 社 員 入 社 (1 名 )","98000","4900","102900" "00000004"," 寮 ホールの 改 装 ","598200","29910","628110" CSV 出 力 の 結 果 "00000005"," 社 内 照 明 の 更 新 ","1545000","77250","1622250" Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 11
3 起 動 文 字 列 ( 外 部 パラメータ)で SQL 置 換 (sample3.xml) 3.1 処 理 説 明 外 部 パラメータから 置 換 文 字 列 を 与 え 置 換 後 SQL 文 を 実 行 して その 結 果 をタイト ル 行 付 きで CSV ファイルに 出 力 します 例 では 受 注 No を 外 部 パラメータから 与 えて います 受 注 NO を 与 えている 3.2 起 動 パラメータ SQLS_ora.exe /XML フ ァ イ ル =sample3.xml /KEY 情 報 =(NO=00000002) /SQL 表 示 =y /DIALOG=y /SHOW=n /log=sample3.log / 囲 み=y 3.3 動 作 定 義 XML <?xml version="1.0" encoding="shift_jis"?> <!-- ======================================================================--> <!-- (sample3) --> <!-- 受 注 基 本 単 位 に 受 注 明 細 から 受 注 額 消 費 税 額 明 細 総 額 の 合 計 を 求 める --> <!-- 集 計 する 受 注 No を 外 部 から 与 える --> <!-- 出 力 はログファイルとなる --> <!-- ======================================================================--> <SQL 情 報 リスト> <SQL 情 報 > <SQLNO>01</SQLNO> <SQL タイトル> 受 注 明 細 のログ 表 示 </SQL タイトル> <SQL 種 別 >SELECT</SQL 種 別 > <SQL> SELECT 受 注 NO, 行 NO, 受 注 明 細. 商 品 CD, 商 品. 商 品 名, 受 注 単 価, 受 注 数 量, 受 注 明 細 額, 消 費 税 額, 受 注 明 細 総 額 FROM 受 注 明 細, 商 品 where 受 注 明 細. 商 品 CD= 商 品. 商 品 CD order by 受 注 NO, 行 NO </SQL> <SQL 実 行 結 果 表 示 >WithHeader</SQL 実 行 結 果 表 示 > <エラー 時 無 視 >N</エラー 時 無 視 > < 実 行 後 コミット>N</ 実 行 後 コミット> < 次 SQLNO>02</ 次 SQLNO> </SQL 情 報 > <SQL 情 報 > Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 12
<SQLNO>02</SQLNO> <SQL タイトル> 受 注 合 計 のログ 表 示 </SQL タイトル> <SQL 種 別 >SELECT</SQL 種 別 > <SQL> SELECT s. 受 注 NO,s. 取 引 名,sum(d. 受 注 明 細 額 ),sum(d. 消 費 税 額 ),sum(d. 受 注 明 細 総 額 ) FROM 受 注 基 本 s, 受 注 明 細 d where s. 受 注 NO=d. 受 注 NO and s. 受 注 NO = '$$NO$$' group by s. 受 注 NO,s. 取 引 名 置 換 文 字 列 を 外 部 パラ メータで 置 換 する </SQL> <SQL 実 行 結 果 表 示 >WithHeader</SQL 実 行 結 果 表 示 > <エラー 時 無 視 >N</エラー 時 無 視 > < 実 行 後 コミット>N</ 実 行 後 コミット> < 次 SQLNO>99,0, 終 了 しました</ 次 SQLNO> </SQL 情 報 > </SQL 情 報 リスト> 3.4 ログファイル ***** SQLS_ora [Ver1.0] 開 始 2009/08/15( 土 ) 19:18:23 ***** 指 定 パラメータ : /XML ファイル=sample3.xml /KEY 情 報 =(NO=00000002) /SQL 表 示 =y /DIALOG=y /SHOW=n /log=sample3.log / 囲 み=y /KEY 情 報 =(NO=00000002) フ ァ イ ル 名 : D:\USER\ 開 発 環 境 \O_ オ ン ネ ッ ト シ ス テ ム ズ \SQLS_ora\SQLS_ora_1_0\SQLS_ora 暫 定 版 2\SQLS_oraSample\sample3.xml 01: 受 注 明 細 のログ 表 示 SELECT SELECT 受 注 NO, 行 NO, 受 注 明 細. 商 品 CD, 商 品. 商 品 名, 受 注 単 価, 受 注 数 量, 受 注 明 細 額, 消 費 税 額, 受 注 明 細 総 額 FROM 受 注 明 細, 商 品 where 受 注 明 細. 商 品 CD= 商 品. 商 品 CD order by 受 注 NO, 行 NO Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 13
受 注 NO, 行 NO, 商 品 CD, 商 品 名, 受 注 単 価, 受 注 数 量, 受 注 明 細 額, 消 費 税 額, 受 注 明 細 総 額 "00000001","1","B03"," 薄 型 TV-A22","520000","2","1040000","52000","1092000" "00000001","2","B04","ラジオ A20","10200","1","10200","510","10710" "00000002","1","B01"," 鉛 筆 ","200","36","7200","360","7560" "00000002","2","B02","ボールペン","300","10","3000","150","3150" "00000002","3","B06"," 電 卓 SS66","1500","1","1500","75","1575" "00000003","1","B01"," 鉛 筆 ","200","10","2000","100","2100" "00000003","2","B02","ボールペン","300","5","1500","75","1575" "00000003","3","B06"," 電 卓 SS66","1500","1","1500","75","1575" "00000003","4","B07"," 電 子 辞 書 SS-458","35000","1","35000","1750","36750" "00000003","5","B08","パソコン LB50","58000","1","58000","2900","60900" "00000004","1","B03"," 薄 型 TV-A22","520000","1","520000","26000","546000" "00000004","2","B04","ラジオ A20","10200","1","10200","510","10710" "00000004","3","B08","パソコン LB50","58000","1","58000","2900","60900" "00000004","4","B10"," 蛍 光 灯 50W","200","50","10000","500","10500" "00000005","1","B10"," 蛍 光 灯 50W","200","25","5000","250","5250" "00000005","2","C01"," 業 務 用 エアコン","350000","2","700000","35000","735000" "00000005","3","C05"," 自 動 シャッター","280000","3","840000","42000","882000" 17 件 02: 受 注 合 計 のログ 表 示 SELECT SELECT s. 受 注 NO,s. 取 引 名,sum(d. 受 注 明 細 額 ),sum(d. 消 費 税 額 ),sum(d. 受 注 明 細 総 額 ) FROM 受 注 基 本 s, 受 注 明 細 d where s. 受 注 NO=d. 受 注 NO and s. 受 注 NO = '00000002' group by s. 受 注 NO,s. 取 引 名 受 注 NO, 取 引 名,SUM(D. 受 注 明 細 額 ),SUM(D. 消 費 税 額 ),SUM(D. 受 注 明 細 総 額 ) 置 換 文 字 列 が 変 換 され ている "00000002"," 小 学 校 入 学 ","11700","585","12285" 1 件 Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 14
終 了 しました 終 了 コード:0 プログラム 終 了 コード:0 ***** SQLS_ora [Ver1.0] 終 了 2009/08/15( 土 ) 19:18:23 ***** Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 15
4 条 件 分 岐 (sample4.xml) 4.1 処 理 説 明 外 部 パラメータで 与 えた 受 注 NO で 明 細 行 をカウントし その 結 果 で 処 理 を 分 岐 しま す サンプルではダイアログ 表 示 に 答 えることで 処 理 を 分 岐 していますが ダイアロ グ 表 示 は 任 意 です 4.2 起 動 パラメータ SQLS_ora.exe /XML フ ァ イ ル =sample4.xml /KEY 情 報 =(NO=00000002) /SQL 表 示 =y /DIALOG=y /SHOW=n /log=sample4.log / 囲 み=y 4.3 動 作 定 義 XML <?xml version="1.0" encoding="shift_jis"?> <!-- ======================================================================--> <!-- (sample4) --> <!-- 受 注 明 細 に 処 理 対 象 レコードが 存 在 するかのチェック( 条 件 分 岐 例 ) --> <!-- 受 注 基 本 単 位 に 売 上 明 細 から 明 細 額 消 費 税 額 明 細 の 合 計 を 求 める --> <!-- 受 注 伝 票 NO($$NO$$)を 外 部 から 与 える 出 力 は CSV ファイルとなる --> <!-- ======================================================================--> <SQL 情 報 リスト> <SQL 情 報 > <SQLNO>01</SQLNO> <SQL タイトル> 受 注 明 細 の 件 数 を 確 認 </SQL タイトル> <SQL 種 別 >SELECT</SQL 種 別 > 外 部 パラメータを 受 注 NO としている <SQL> SELECT count(*) 件 数, '$$NO$$' 受 注 NO from 受 注 明 細 </SQL> where 受 注 NO = '$$NO$$' <エラー 時 無 視 >N</エラー 時 無 視 > カウント 値 を 件 数 とし ている < 実 行 後 コミット>N</ 実 行 後 コミット> <SQL 条 件 分 岐 > < 条 件 検 査 順 >1</ 条 件 検 査 順 > < 条 件 タイトル> 対 象 データが 存 在 するか 否 か?</ 条 件 タイトル> < 条 件 >$$ 件 数 $$=0</ 条 件 > <メッセージタイプ>OK</メッセージタイプ> 件 数 が 0 件 の 場 合 OK ボ タンのダイアログ 表 示 <メッセージ> 受 注 NO:$$ 受 注 NO$$に 明 細 がありません 処 理 を 中 断 します </メッセージ> </SQL 条 件 分 岐 > Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 16
<SQL 条 件 分 岐 > < 条 件 検 査 順 >2</ 条 件 検 査 順 > < 条 件 タイトル> 処 理 続 行 通 知 </ 条 件 タイトル> < 条 件 >$$ 件 数 $$!=0</ 条 件 > <メッセージタイプ>YesNo</メッセージタイプ> 件 数 がある 場 合 OK ボタ ンのダイアログ 表 示 </SQL 条 件 分 岐 > <メッセージ> 受 注 NO:$$ 受 注 NO$$が$$ 件 数 $$ 件 存 在 しますので 続 行 します</メッセージ> <Yes 選 択 次 SQLNO>02</Yes 選 択 次 SQLNO> </SQL 情 報 > <!--=============--> < 次 SQLNO>99,0, 終 了 しました</ 次 SQLNO> Yes を 選 択 し た 場 合 SQLNO=02 にジャンプ <!--メイン 処 理 --> <!--=============--> 99 で 処 理 を 終 了 させる <SQL 情 報 > <SQLNO>02</SQLNO> <SQL タイトル> 受 注 合 計 のログ 表 示 </SQL タイトル> <SQL 種 別 >SELECT</SQL 種 別 > <SQL> SELECT s. 受 注 NO,s. 取 引 名,sum(d. 受 注 明 細 額 ),sum(d. 消 費 税 額 ),sum(d. 受 注 明 細 総 額 ) FROM 受 注 基 本 s, 受 注 明 細 d where s. 受 注 NO=d. 受 注 NO and s. 受 注 NO = '$$NO$$' group by s. 受 注 NO,s. 取 引 名 </SQL> <SQL 実 行 結 果 表 示 >WithHeaderFILE</SQL 実 行 結 果 表 示 > <SQL 実 行 結 果 FILE>sample4.csv</SQL 実 行 結 果 FILE> <エラー 時 無 視 >N</エラー 時 無 視 > < 実 行 後 コミット>N</ 実 行 後 コミット> < 次 SQLNO>99,0, 終 了 しました</ 次 SQLNO> </SQL 情 報 > </SQL 情 報 リスト> 4.4 ログファイル Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 17
ダイアログ 表 示 の 例 ***** SQLS_ora [Ver1.0] 開 始 2009/08/15( 土 ) 19:23:40 ***** 指 定 パラメータ : /XML ファイル=sample4.xml /KEY 情 報 =(NO=00000002) /SQL 表 示 =y /DIALOG=y /SHOW=n /log=sample4.log / 囲 み=y /KEY 情 報 =(NO=00000002) フ ァ イ ル 名 : D:\USER\ 開 発 環 境 \O_ オ ン ネ ッ ト シ ス テ ム ズ \SQLS_ora\SQLS_ora_1_0\SQLS_ora 暫 定 版 2\SQLS_oraSample\sample4.xml 01: 受 注 明 細 の 件 数 を 確 認 SELECT SELECT count(*) 件 数, '00000002' 受 注 NO from 受 注 明 細 where 受 注 NO = '00000002' 1 件 受 注 NO:00000002 件 数 :3 分 岐 がどう 行 われたかをト レースできる 処 理 件 数 :1 条 件 : 対 象 データが 存 在 するか 否 か? 結 果 : 偽 条 件 : 処 理 続 行 通 知 結 果 : 真 メッセージ(YesNo): 受 注 NO:00000002 が 3 件 以 上 存 在 しますので 続 行 します 応 答 :Yes 02: 受 注 合 計 のログ 表 示 SELECT SELECT s. 受 注 NO,s. 取 引 名,sum(d. 受 注 明 細 額 ),sum(d. 消 費 税 額 ),sum(d. 受 注 明 細 総 額 ) FROM 受 注 基 本 s, 受 注 明 細 d where s. 受 注 NO=d. 受 注 NO and s. 受 注 NO = '00000002' Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 18
group by s. 受 注 NO,s. 取 引 名 1 件 終 了 しました 終 了 コード:0 プログラム 終 了 コード:0 ***** SQLS_ora [Ver1.0] 終 了 2009/08/15( 土 ) 19:23:56 ***** 4.5 CSV の 内 容 受 注 NO, 取 引 名,SUM(D. 受 注 明 細 額 ),SUM(D. 消 費 税 額 ),SUM(D. 受 注 明 細 総 額 ) "00000002"," 小 学 校 入 学 ","11700","585","12285" Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 19
5 CSV で 外 部 パラメータを 与 える(sample5.xml) 5.1 処 理 説 明 KEY 情 報 を CSV で 与 えて その 内 容 で 動 作 定 義 XML に 記 述 した 処 理 を 複 数 回 実 行 します 5.2 起 動 パラメータ SQLS_ora.exe /XML フ ァ イ ル =sample5.xml /KEYCSV=sample5param.csv /SQL 表 示 =y /DIALOG=y /SHOW=n /log=sample5.log / 囲 み=y (sample5param.csv) NO,CSV-FNAME 00000001,sample5_1.csv 00000002,sample5_2.csv 00000003,sample5_3.csv 5.3 動 作 定 義 XML 受 注 NO と 出 力 するファイ ル 名 を CSV で 与 えていま す 動 作 定 義 XML の 処 理 が 3 回 繰 り 返 すことに 注 意 し てください <?xml version="1.0" encoding="shift_jis"?> <!-- ======================================================================--> <!-- (sample5) --> <!-- 受 注 明 細 に 処 理 対 象 レコードが 存 在 するかのチェック( 条 件 分 岐 例 ) --> <!-- 受 注 基 本 単 位 に 売 上 明 細 から 明 細 額 消 費 税 額 明 細 の 合 計 を 求 める --> <!-- 受 注 伝 票 NO($$NO$$)を 外 部 (CSV)から 与 える 出 力 は CSV ファイルとなる --> <!-- ======================================================================--> <SQL 情 報 リスト> <SQL 情 報 > <SQLNO>01</SQLNO> <SQL タイトル> 受 注 明 細 の 件 数 を 確 認 </SQL タイトル> <SQL 種 別 >SELECT</SQL 種 別 > <SQL> SELECT count(*) 件 数, '$$NO$$' 受 注 NO </SQL> from 受 注 明 細 where 受 注 NO = '$$NO$$' 置 換 文 字 列 を 受 注 NO で 置 換 しています <エラー 時 無 視 >N</エラー 時 無 視 > < 実 行 後 コミット>N</ 実 行 後 コミット> <SQL 条 件 分 岐 > Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 20
< 条 件 検 査 順 >1</ 条 件 検 査 順 > < 条 件 タイトル> 対 象 データが 存 在 するか 否 か?</ 条 件 タイトル> < 条 件 >$$ 件 数 $$=0</ 条 件 > <メッセージタイプ>OK</メッセージタイプ> <メッセージ> 受 注 NO:$$ 受 注 NO$$に 明 細 がありません 処 理 を 中 断 します </メッセージ> </SQL 条 件 分 岐 > <SQL 条 件 分 岐 > < 条 件 検 査 順 >2</ 条 件 検 査 順 > < 条 件 タイトル> 処 理 続 行 通 知 </ 条 件 タイトル> < 条 件 >$$ 件 数 $$!=0</ 条 件 > <メッセージタイプ>YesNo</メッセージタイプ> <メッセージ> 受 注 NO:$$ 受 注 NO$$が$$ 件 数 $$ 件 存 在 しますので 続 行 します</メッセージ> <Yes 選 択 次 SQLNO>02</Yes 選 択 次 SQLNO> </SQL 条 件 分 岐 > < 次 SQLNO>99,0, 終 了 しました</ 次 SQLNO> </SQL 情 報 > <!--=============--> <!--メイン 処 理 --> <!--=============--> <SQL 情 報 > <SQLNO>02</SQLNO> <SQL タイトル> 受 注 合 計 のログ 表 示 </SQL タイトル> <SQL 種 別 >SELECT</SQL 種 別 > <SQL> SELECT s. 受 注 NO,s. 取 引 名,sum(d. 受 注 明 細 額 ),sum(d. 消 費 税 額 ),sum(d. 受 注 明 細 総 額 ) FROM 受 注 基 本 s, 受 注 明 細 d where s. 受 注 NO=d. 受 注 NO and s. 受 注 NO = '$$NO$$' group by s. 受 注 NO,s. 取 引 名 </SQL> <SQL 実 行 結 果 表 示 >WithHeaderFILE</SQL 実 行 結 果 表 示 > <SQL 実 行 結 果 FILE>$$CSV-FNAME$$</SQL 実 行 結 果 FILE> <エラー 時 無 視 >N</エラー 時 無 視 > < 実 行 後 コミット>N</ 実 行 後 コミット> < 次 SQLNO>99,0, 終 了 しました</ 次 SQLNO> 置 換 文 字 列 を CSV 中 のファ イル 名 で 置 換 しています Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 21
</SQL 情 報 > </SQL 情 報 リスト> 5.4 ログファイル ***** SQLS_ora [Ver1.0] 開 始 2009/08/15( 土 ) 19:30:25 ***** 指 定 パラメータ : /XML ファイル=sample5.xml /KEYCSV=sample5param.csv /SQL 表 示 =y /DIALOG=y /SHOW=n /log=sample5.log / 囲 み=y /KEY 情 報 =(NO=00000001,CSV-FNAME=sample5_1.csv) 一 回 目 の 処 理 フ ァ イ ル 名 : D:\USER\ 開 発 環 境 \O_ オ ン ネ ッ ト シ ス テ ム ズ \SQLS_ora\SQLS_ora_1_0\SQLS_ora 暫 定 版 2\SQLS_oraSample\sample5.xml 01: 受 注 明 細 の 件 数 を 確 認 SELECT SELECT count(*) 件 数, '00000001' 受 注 NO from 受 注 明 細 where 受 注 NO = '00000001' 1 件 受 注 NO:00000001 件 数 :2 処 理 件 数 :1 条 件 : 対 象 データが 存 在 するか 否 か? 結 果 : 偽 条 件 : 処 理 続 行 通 知 結 果 : 真 メッセージ(YesNo): 受 注 NO:00000001 が 2 件 存 在 しますので 続 行 します 応 答 :Yes 02: 受 注 合 計 のログ 表 示 SELECT SELECT s. 受 注 NO,s. 取 引 名,sum(d. 受 注 明 細 額 ),sum(d. 消 費 税 額 ),sum(d. 受 注 明 細 総 額 ) FROM 受 注 基 本 s, 受 注 明 細 d where s. 受 注 NO=d. 受 注 NO and s. 受 注 NO = '00000001' group by s. 受 注 NO,s. 取 引 名 Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 22
1 件 終 了 しました 終 了 コード:0 /KEY 情 報 =(NO=00000002,CSV-FNAME=sample5_2.csv) 二 回 目 の 処 理 フ ァ イ ル 名 : D:\USER\ 開 発 環 境 \O_ オ ン ネ ッ ト シ ス テ ム ズ \SQLS_ora\SQLS_ora_1_0\SQLS_ora 暫 定 版 2\SQLS_oraSample\sample5.xml 01: 受 注 明 細 の 件 数 を 確 認 SELECT SELECT count(*) 件 数, '00000002' 受 注 NO from 受 注 明 細 where 受 注 NO = '00000002' 1 件 受 注 NO:00000002 件 数 :3 処 理 件 数 :1 条 件 : 対 象 データが 存 在 するか 否 か? 結 果 : 偽 条 件 : 処 理 続 行 通 知 結 果 : 真 メッセージ(YesNo): 受 注 NO:00000002 が 3 件 存 在 しますので 続 行 します 応 答 :Yes 02: 受 注 合 計 のログ 表 示 SELECT SELECT s. 受 注 NO,s. 取 引 名,sum(d. 受 注 明 細 額 ),sum(d. 消 費 税 額 ),sum(d. 受 注 明 細 総 額 ) FROM 受 注 基 本 s, 受 注 明 細 d where s. 受 注 NO=d. 受 注 NO and s. 受 注 NO = '00000002' group by s. 受 注 NO,s. 取 引 名 1 件 Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 23
終 了 しました 終 了 コード:0 /KEY 情 報 =(NO=00000003,CSV-FNAME=sample5_3.csv) 三 回 目 の 処 理 フ ァ イ ル 名 : D:\USER\ 開 発 環 境 \O_ オ ン ネ ッ ト シ ス テ ム ズ \SQLS_ora\SQLS_ora_1_0\SQLS_ora 暫 定 版 2\SQLS_oraSample\sample5.xml 01: 受 注 明 細 の 件 数 を 確 認 SELECT SELECT count(*) 件 数, '00000003' 受 注 NO from 受 注 明 細 where 受 注 NO = '00000003' 1 件 受 注 NO:00000003 件 数 :5 処 理 件 数 :1 条 件 : 対 象 データが 存 在 するか 否 か? 結 果 : 偽 条 件 : 処 理 続 行 通 知 結 果 : 真 メッセージ(YesNo): 受 注 NO:00000003 が 5 件 存 在 しますので 続 行 します 応 答 :Yes 02: 受 注 合 計 のログ 表 示 SELECT SELECT s. 受 注 NO,s. 取 引 名,sum(d. 受 注 明 細 額 ),sum(d. 消 費 税 額 ),sum(d. 受 注 明 細 総 額 ) FROM 受 注 基 本 s, 受 注 明 細 d where s. 受 注 NO=d. 受 注 NO and s. 受 注 NO = '00000003' group by s. 受 注 NO,s. 取 引 名 1 件 終 了 しました 終 了 コード:0 Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 24
プログラム 終 了 コード:0 ***** SQLS_ora [Ver1.0] 終 了 2009/08/15( 土 ) 19:30:31 ***** 5.5 CSV の 内 容 (sample5_1.csv) 三 回 の 処 理 で 出 力 され た CSV の 情 報 受 注 NO, 取 引 名,SUM(D. 受 注 明 細 額 ),SUM(D. 消 費 税 額 ),SUM(D. 受 注 明 細 総 額 ) "00000001","TV 購 入 ","1050200","52510","1102710" (sample5_2.csv) 受 注 NO, 取 引 名,SUM(D. 受 注 明 細 額 ),SUM(D. 消 費 税 額 ),SUM(D. 受 注 明 細 総 額 ) "00000002"," 小 学 校 入 学 ","11700","585","12285" (sample5_3.csv) 受 注 NO, 取 引 名,SUM(D. 受 注 明 細 額 ),SUM(D. 消 費 税 額 ),SUM(D. 受 注 明 細 総 額 ) "00000003"," 社 員 入 社 (1 名 )","98000","4900","102900" Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 25
6 SQL で 外 部 パラメータを 与 える(sample6.xml) 6.1 処 理 説 明 KEY 情 報 を DB(テーブル) 項 目 の 内 容 で 与 えて 動 作 定 義 XML に 記 述 した 処 理 を 複 数 回 実 行 します 6.2 起 動 パラメータ SQLS_ora.exe /XML ファイル=sample6.xml /KEYSQL=("SELECT 受 注 NO, 取 引 名 FROM 受 注 基 本 ") /SQL 表 示 =y /DIALOG=y /SHOW=n /log=sample6.log / 囲 み=y 6.3 動 作 定 義 XML <?xml version="1.0" encoding="shift_jis"?> <!-- ======================================================================--> <!-- (sample6) --> <!-- 受 注 明 細 に 処 理 対 象 レコードが 存 在 するかのチェック( 条 件 分 岐 例 ) --> <!-- 受 注 基 本 単 位 に 売 上 明 細 から 明 細 額 消 費 税 額 明 細 の 合 計 を 求 める --> <!-- 受 注 伝 票 NO($$NO$$)を 外 部 (SQL)から 与 える 出 力 は CSV ファイルとなる --> <!-- ======================================================================--> <SQL 情 報 リスト> <SQL 情 報 > <SQLNO>01</SQLNO> <SQL タイトル> 受 注 明 細 の 件 数 を 確 認 </SQL タイトル> <SQL 種 別 >SELECT</SQL 種 別 > <SQL> SELECT count(*) 件 数, '$$ 受 注 NO$$' 受 注 NO from 受 注 明 細 where 受 注 NO = '$$ 受 注 NO$$' 受 注 基 本 テーブルの 列 名 ( 項 目 )を 利 用 してい る </SQL> <エラー 時 無 視 >N</エラー 時 無 視 > < 実 行 後 コミット>N</ 実 行 後 コミット> 受 注 基 本 テーブルの 受 注 NO で 置 換 している <SQL 条 件 分 岐 > < 条 件 検 査 順 >1</ 条 件 検 査 順 > < 条 件 タイトル> 対 象 データが 存 在 するか 否 か?</ 条 件 タイトル> < 条 件 >$$ 件 数 $$=0</ 条 件 > <メッセージタイプ>OK</メッセージタイプ> <メッセージ> 受 注 NO:$$ 受 注 NO$$に 明 細 がありません 処 理 を 中 断 します </メッセージ> </SQL 条 件 分 岐 > Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 26
<SQL 条 件 分 岐 > < 条 件 検 査 順 >2</ 条 件 検 査 順 > < 条 件 タイトル> 処 理 続 行 通 知 </ 条 件 タイトル> < 条 件 >$$ 件 数 $$!=0</ 条 件 > <メッセージタイプ>YesNo</メッセージタイプ> <メッセージ> 受 注 NO:$$ 受 注 NO$$が$$ 件 数 $$ 件 存 在 しますので 続 行 します</メッセージ> <Yes 選 択 次 SQLNO>02</Yes 選 択 次 SQLNO> </SQL 条 件 分 岐 > < 次 SQLNO>99,0, 終 了 しました</ 次 SQLNO> </SQL 情 報 > <!--=============--> <!--メイン 処 理 --> <!--=============--> <SQL 情 報 > <SQLNO>02</SQLNO> <SQL タイトル> 受 注 合 計 のログ 表 示 </SQL タイトル> <SQL 種 別 >SELECT</SQL 種 別 > <SQL> SELECT s. 受 注 NO,s. 取 引 名,d. 行 NO,d. 商 品 CD,p. 商 品 名,d. 受 注 単 価,d. 受 注 数 量, d. 受 注 明 細 額,d. 消 費 税 額,d. 受 注 明 細 総 額 FROM 受 注 基 本 s, 受 注 明 細 d, 商 品 p where s. 受 注 NO=d. 受 注 NO and d. 商 品 CD = p. 商 品 CD and s. 受 注 NO = '$$ 受 注 NO$$' </SQL> <SQL 実 行 結 果 表 示 >WithHeaderFILE</SQL 実 行 結 果 表 示 > <SQL 実 行 結 果 FILE>$$ 取 引 名 $$.csv</sql 実 行 結 果 FILE> <エラー 時 無 視 >N</エラー 時 無 視 > < 実 行 後 コミット>N</ 実 行 後 コミット> < 次 SQLNO>99,0, 終 了 しました</ 次 SQLNO> </SQL 情 報 > 受 注 基 本 テーブルの 取 引 名 を 出 力 ファイル 名 にしている </SQL 情 報 リスト> 6.4 ログファイル ***** SQLS_ora [Ver1.0] 開 始 2009/08/15( 土 ) 19:37:02 ***** Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 27
指 定 パラメータ : /XML ファイル=sample6.xml /KEYSQL=(SELECT 受 注 NO, 取 引 名 FROM 受 注 基 本 ) /SQL 表 示 =y /DIALOG=y /SHOW=n /log=sample6.log / 囲 み=y /KEY 情 報 =( 受 注 NO=00000001, 取 引 名 =TV 購 入 ) フ ァ イ ル 名 : D:\USER\ 開 発 環 境 \O_ オ ン ネ ッ ト シ ス テ ム ズ \SQLS_ora\SQLS_ora_1_0\SQLS_ora 暫 定 版 2\SQLS_oraSample\sample6.xml 01: 受 注 明 細 の 件 数 を 確 認 SELECT SELECT count(*) 件 数, '00000001' 受 注 NO from 受 注 明 細 where 受 注 NO = '00000001' 1 件 受 注 NO:00000001 件 数 :2 処 理 件 数 :1 条 件 : 対 象 データが 存 在 するか 否 か? 結 果 : 偽 条 件 : 処 理 続 行 通 知 結 果 : 真 メッセージ(YesNo): 受 注 NO:00000001 が 2 件 存 在 しますので 続 行 します 応 答 :Yes 02: 受 注 合 計 のログ 表 示 SELECT SELECT s. 受 注 NO,s. 取 引 名,d. 行 NO,d. 商 品 CD,p. 商 品 名,d. 受 注 単 価,d. 受 注 数 量, d. 受 注 明 細 額,d. 消 費 税 額,d. 受 注 明 細 総 額 FROM 受 注 基 本 s, 受 注 明 細 d, 商 品 p where s. 受 注 NO=d. 受 注 NO and d. 商 品 CD = p. 商 品 CD and s. 受 注 NO = '00000001' 2 件 終 了 しました Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 28
終 了 コード:0 /KEY 情 報 =( 受 注 NO=00000002, 取 引 名 = 小 学 校 入 学 ) KEY 情 報 の 解 釈 を 確 認 できます フ ァ イ ル 名 : D:\USER\ 開 発 環 境 \O_ オ ン ネ ッ ト シ ス テ ム ズ \SQLS_ora\SQLS_ora_1_0\SQLS_ora 暫 定 版 2\SQLS_oraSample\sample6.xml 01: 受 注 明 細 の 件 数 を 確 認 SELECT SELECT count(*) 件 数, '00000002' 受 注 NO from 受 注 明 細 where 受 注 NO = '00000002' 1 件 受 注 NO:00000002 件 数 :3 処 理 件 数 :1 条 件 : 対 象 データが 存 在 するか 否 か? 結 果 : 偽 条 件 : 処 理 続 行 通 知 結 果 : 真 メッセージ(YesNo): 受 注 NO:00000002 が 3 件 存 在 しますので 続 行 します 応 答 :Yes 02: 受 注 合 計 のログ 表 示 SELECT SELECT s. 受 注 NO,s. 取 引 名,d. 行 NO,d. 商 品 CD,p. 商 品 名,d. 受 注 単 価,d. 受 注 数 量, d. 受 注 明 細 額,d. 消 費 税 額,d. 受 注 明 細 総 額 FROM 受 注 基 本 s, 受 注 明 細 d, 商 品 p where s. 受 注 NO=d. 受 注 NO and d. 商 品 CD = p. 商 品 CD and s. 受 注 NO = '00000002' 3 件 終 了 しました 終 了 コード:0 Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 29
/KEY 情 報 =( 受 注 NO=00000003, 取 引 名 = 社 員 入 社 (1 名 )) フ ァ イ ル 名 : D:\USER\ 開 発 環 境 \O_ オ ン ネ ッ ト シ ス テ ム ズ \SQLS_ora\SQLS_ora_1_0\SQLS_ora 暫 定 版 2\SQLS_oraSample\sample6.xml 01: 受 注 明 細 の 件 数 を 確 認 SELECT SELECT count(*) 件 数, '00000003' 受 注 NO from 受 注 明 細 where 受 注 NO = '00000003' 1 件 受 注 NO:00000003 件 数 :5 処 理 件 数 :1 条 件 : 対 象 データが 存 在 するか 否 か? 結 果 : 偽 条 件 : 処 理 続 行 通 知 結 果 : 真 メッセージ(YesNo): 受 注 NO:00000003 が 5 件 存 在 しますので 続 行 します 応 答 :Yes 02: 受 注 合 計 のログ 表 示 SELECT SELECT s. 受 注 NO,s. 取 引 名,d. 行 NO,d. 商 品 CD,p. 商 品 名,d. 受 注 単 価,d. 受 注 数 量, d. 受 注 明 細 額,d. 消 費 税 額,d. 受 注 明 細 総 額 FROM 受 注 基 本 s, 受 注 明 細 d, 商 品 p where s. 受 注 NO=d. 受 注 NO and d. 商 品 CD = p. 商 品 CD and s. 受 注 NO = '00000003' 5 件 終 了 しました 終 了 コード:0 /KEY 情 報 =( 受 注 NO=00000004, 取 引 名 = 寮 ホールの 改 装 ) Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 30
フ ァ イ ル 名 : D:\USER\ 開 発 環 境 \O_ オ ン ネ ッ ト シ ス テ ム ズ \SQLS_ora\SQLS_ora_1_0\SQLS_ora 暫 定 版 2\SQLS_oraSample\sample6.xml 01: 受 注 明 細 の 件 数 を 確 認 SELECT SELECT count(*) 件 数, '00000004' 受 注 NO from 受 注 明 細 where 受 注 NO = '00000004' 1 件 受 注 NO:00000004 件 数 :4 処 理 件 数 :1 条 件 : 対 象 データが 存 在 するか 否 か? 結 果 : 偽 条 件 : 処 理 続 行 通 知 結 果 : 真 メッセージ(YesNo): 受 注 NO:00000004 が 4 件 存 在 しますので 続 行 します 応 答 :Yes 02: 受 注 合 計 のログ 表 示 SELECT SELECT s. 受 注 NO,s. 取 引 名,d. 行 NO,d. 商 品 CD,p. 商 品 名,d. 受 注 単 価,d. 受 注 数 量, d. 受 注 明 細 額,d. 消 費 税 額,d. 受 注 明 細 総 額 FROM 受 注 基 本 s, 受 注 明 細 d, 商 品 p where s. 受 注 NO=d. 受 注 NO and d. 商 品 CD = p. 商 品 CD and s. 受 注 NO = '00000004' 4 件 終 了 しました 終 了 コード:0 /KEY 情 報 =( 受 注 NO=00000005, 取 引 名 = 社 内 照 明 の 更 新 ) フ ァ イ ル 名 : D:\USER\ 開 発 環 境 \O_ オ ン ネ ッ ト シ ス テ ム ズ \SQLS_ora\SQLS_ora_1_0\SQLS_ora 暫 定 版 2\SQLS_oraSample\sample6.xml Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 31
01: 受 注 明 細 の 件 数 を 確 認 SELECT SELECT count(*) 件 数, '00000005' 受 注 NO from 受 注 明 細 where 受 注 NO = '00000005' 1 件 受 注 NO:00000005 件 数 :3 処 理 件 数 :1 条 件 : 対 象 データが 存 在 するか 否 か? 結 果 : 偽 条 件 : 処 理 続 行 通 知 結 果 : 真 メッセージ(YesNo): 受 注 NO:00000005 が 3 件 存 在 しますので 続 行 します 応 答 :Yes 02: 受 注 合 計 のログ 表 示 SELECT SELECT s. 受 注 NO,s. 取 引 名,d. 行 NO,d. 商 品 CD,p. 商 品 名,d. 受 注 単 価,d. 受 注 数 量, d. 受 注 明 細 額,d. 消 費 税 額,d. 受 注 明 細 総 額 FROM 受 注 基 本 s, 受 注 明 細 d, 商 品 p where s. 受 注 NO=d. 受 注 NO and d. 商 品 CD = p. 商 品 CD and s. 受 注 NO = '00000005' 3 件 終 了 しました 終 了 コード:0 プログラム 終 了 コード:0 ***** SQLS_ora [Ver1.0] 終 了 2009/08/15( 土 ) 19:37:15 ***** 取 引 先 基 本 の 取 引 名 の 内 容 で CSV が 作 成 され ていることを 確 認 して ください 6.5 CSV の 内 容 ( 寮 ホールの 改 装.csv) 受 注 NO, 取 引 名, 行 NO, 商 品 CD, 商 品 名, 受 注 単 価, 受 注 数 量, 受 注 明 細 額, 消 費 税 額, 受 注 明 細 総 額 Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 32
"00000004"," 寮 ホールの 改 装 ","1","B03"," 薄 型 TV-A22","520000","1","520000","26000","546000" "00000004"," 寮 ホールの 改 装 ","2","B04","ラジオ A20","10200","1","10200","510","10710" "00000004"," 寮 ホールの 改 装 ","3","B08","パソコン LB50","58000","1","58000","2900","60900" "00000004"," 寮 ホールの 改 装 ","4","B10"," 蛍 光 灯 50W","200","50","10000","500","10500" ( 小 学 校 入 学.csv) 受 注 NO, 取 引 名, 行 NO, 商 品 CD, 商 品 名, 受 注 単 価, 受 注 数 量, 受 注 明 細 額, 消 費 税 額, 受 注 明 細 総 額 "00000002"," 小 学 校 入 学 ","1","B01"," 鉛 筆 ","200","36","7200","360","7560" "00000002"," 小 学 校 入 学 ","2","B02","ボールペン","300","10","3000","150","3150" "00000002"," 小 学 校 入 学 ","3","B06"," 電 卓 SS66","1500","1","1500","75","1575" ( 社 内 照 明 の 更 新.csv) 受 注 NO, 取 引 名, 行 NO, 商 品 CD, 商 品 名, 受 注 単 価, 受 注 数 量, 受 注 明 細 額, 消 費 税 額, 受 注 明 細 総 額 "00000005"," 社 内 照 明 の 更 新 ","1","B10"," 蛍 光 灯 50W","200","25","5000","250","5250" "00000005"," 社 内 照 明 の 更 新 ","2","C01"," 業 務 用 エアコン","350000","2","700000","35000","735000" "00000005"," 社 内 照 明 の 更 新 ","3","C05"," 自 動 シャッター","280000","3","840000","42000","882000" ( 社 員 入 社 (1 名 ).csv) 受 注 NO, 取 引 名, 行 NO, 商 品 CD, 商 品 名, 受 注 単 価, 受 注 数 量, 受 注 明 細 額, 消 費 税 額, 受 注 明 細 総 額 "00000003"," 社 員 入 社 (1 名 )","1","B01"," 鉛 筆 ","200","10","2000","100","2100" "00000003"," 社 員 入 社 (1 名 )","2","B02","ボールペン","300","5","1500","75","1575" "00000003"," 社 員 入 社 (1 名 )","3","B06"," 電 卓 SS66","1500","1","1500","75","1575" "00000003"," 社 員 入 社 (1 名 )","4","B07"," 電 子 辞 書 SS-458","35000","1","35000","1750","36750" "00000003"," 社 員 入 社 (1 名 )","5","B08","パソコン LB50","58000","1","58000","2900","60900" Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 33
7 画 面 から KEY 情 報 を 受 け 取 る(sample7.xml) 7.1 処 理 説 明 KEY 情 報 を 画 面 (VBScript)から 受 け 取 り 起 動 情 報 を 動 的 に 書 き 換 えて 実 行 しま す 各 種 スクリプトと 連 携 することも 可 能 です 実 行 は sample7.vbs を 実 行 します 7.2 起 動 パラメータ (sample7.vbs) '============================================== ' sample7 の 起 動 ' 会 話 画 面 でパラメータを 受 け 取 る '============================================== 画 面 の 表 示 Dim txt01 txt01 = InputBox(" 受 注 NO(8 桁 )を 入 力 してください") If txt01 = "" Then WScript.Quit(1) End If Dim oshell Dim cmdstr Set oshell = WScript.CreateObject ("WScript.shell") 入 力 内 容 で KEY 情 報 を 書 き 換 えています cmdstr="sqls_ora.exe /XML ファイル=sample7.xml /KEY 情 報 =( 受 注 NO=" & txt01 & ") /SQL 表 示 =y /DIALOG=y /SHOW=n /SQL 表 示 =y /DIALOG=y /SHOW=n /log=sample7.log / 囲 み=y" WScript.Echo cmdstr ret = oshell.run(cmdstr) Set oshell = Nothing WScript.Quit(ret) 7.3 動 作 定 義 XML <?xml version="1.0" encoding="shift_jis"?> <!-- ======================================================================--> <!-- (sample7) --> <!-- 受 注 明 細 に 処 理 対 象 レコードが 存 在 するかのチェック( 条 件 分 岐 例 ) --> <!-- 受 注 基 本 単 位 に 売 上 明 細 から 明 細 額 消 費 税 額 明 細 の 合 計 を 求 める --> Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 34
<!-- 受 注 伝 票 NO($$NO$$)を 外 部 VBS の 画 面 から 与 える 出 力 は CSV ファイルとなる --> <!-- ======================================================================--> <SQL 情 報 リスト> <SQL 情 報 > <SQLNO>01</SQLNO> <SQL タイトル> 受 注 明 細 の 件 数 を 確 認 </SQL タイトル> <SQL 種 別 >SELECT</SQL 種 別 > <SQL> SELECT count(*) 件 数, '$$ 受 注 NO$$' 受 注 NO from 受 注 明 細 where 受 注 NO = '$$ 受 注 NO$$' </SQL> <エラー 時 無 視 >N</エラー 時 無 視 > < 実 行 後 コミット>N</ 実 行 後 コミット> <SQL 条 件 分 岐 > < 条 件 検 査 順 >1</ 条 件 検 査 順 > < 条 件 タイトル> 対 象 データが 存 在 するか 否 か?</ 条 件 タイトル> < 条 件 >$$ 件 数 $$=0</ 条 件 > <メッセージタイプ>OK</メッセージタイプ> <メッセージ> 受 注 NO:$$ 受 注 NO$$に 明 細 がありません 処 理 を 中 断 します </メッセージ> </SQL 条 件 分 岐 > <SQL 条 件 分 岐 > < 条 件 検 査 順 >2</ 条 件 検 査 順 > < 条 件 タイトル> 処 理 続 行 通 知 </ 条 件 タイトル> < 条 件 >$$ 件 数 $$!=0</ 条 件 > <メッセージタイプ>YesNo</メッセージタイプ> <メッセージ> 受 注 NO:$$ 受 注 NO$$が$$ 件 数 $$ 件 存 在 しますので 続 行 します</メッセージ> <Yes 選 択 次 SQLNO>02</Yes 選 択 次 SQLNO> </SQL 条 件 分 岐 > < 次 SQLNO>99,0, 終 了 しました</ 次 SQLNO> </SQL 情 報 > <!--=============--> <!--メイン 処 理 --> <!--=============--> <SQL 情 報 > Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 35
<SQLNO>02</SQLNO> <SQL タイトル> 受 注 合 計 のログ 表 示 </SQL タイトル> <SQL 種 別 >SELECT</SQL 種 別 > <SQL> SELECT s. 受 注 NO,s. 取 引 名,d. 行 NO,d. 商 品 CD,p. 商 品 名,d. 受 注 単 価,d. 受 注 数 量, d. 受 注 明 細 額,d. 消 費 税 額,d. 受 注 明 細 総 額 FROM 受 注 基 本 s, 受 注 明 細 d, 商 品 p where s. 受 注 NO=d. 受 注 NO and d. 商 品 CD = p. 商 品 CD and s. 受 注 NO = '$$ 受 注 NO$$' </SQL> <SQL 実 行 結 果 表 示 >WithHeaderFILE</SQL 実 行 結 果 表 示 > <SQL 実 行 結 果 FILE>$$ 受 注 NO$$.csv</SQL 実 行 結 果 FILE> <エラー 時 無 視 >N</エラー 時 無 視 > < 実 行 後 コミット>N</ 実 行 後 コミット> < 次 SQLNO>99,0, 終 了 しました</ 次 SQLNO> </SQL 情 報 > </SQL 情 報 リスト> 7.4 ログファイル VBScript で 表 示 される 画 面 です 組 み 立 てられた 起 動 情 報 です 入 力 値 で 置 換 されているのが 分 かりま す ***** SQLS_ora [Ver1.0] 開 始 2009/08/15( 土 ) 19:48:32 ***** 指 定 パラメータ : /XML ファイル=sample7.xml /SQL 表 示 =y /DIALOG=y /SHOW=n /log=sample7.log / 囲 み=y /KEY 情 報 = Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 36
フ ァ イ ル 名 : D:\USER\ 開 発 環 境 \O_ オ ン ネ ッ ト シ ス テ ム ズ \SQLS_ora\SQLS_ora_1_0\SQLS_ora 暫 定 版 2\SQLS_oraSample\sample7.xml 01: 受 注 明 細 の 件 数 を 確 認 SELECT SELECT count(*) 件 数, '$$ 受 注 NO$$' 受 注 NO from 受 注 明 細 where 受 注 NO = '$$ 受 注 NO$$' 1 件 受 注 NO:$$ 受 注 NO$$ 件 数 :0 処 理 件 数 :1 条 件 : 対 象 データが 存 在 するか 否 か? 結 果 : 真 メッセージ(OK): 受 注 NO:$$ 受 注 NO$$に 明 細 がありません 処 理 を 中 断 します 応 答 :Yes 終 了 コード:0 プログラム 終 了 コード:0 ***** SQLS_ora [Ver1.0] 終 了 2009/08/15( 土 ) 19:48:41 ***** ***** SQLS_ora [Ver1.0] 開 始 2009/08/15( 土 ) 19:49:46 ***** 指 定 パラメータ : /XML ファイル=sample7.xml /KEY 情 報 =( 受 注 NO=00000003) /SQL 表 示 =y /DIALOG=y /SHOW=n /SQL 表 示 =y /DIALOG=y /SHOW=n /log=sample7.log / 囲 み=y /KEY 情 報 =( 受 注 NO=00000003) フ ァ イ ル 名 : D:\USER\ 開 発 環 境 \O_ オ ン ネ ッ ト シ ス テ ム ズ \SQLS_ora\SQLS_ora_1_0\SQLS_ora 暫 定 版 2\SQLS_oraSample\sample7.xml 01: 受 注 明 細 の 件 数 を 確 認 SELECT SELECT count(*) 件 数, '00000003' 受 注 NO from 受 注 明 細 Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 37
where 受 注 NO = '00000003' 1 件 受 注 NO:00000003 件 数 :5 処 理 件 数 :1 条 件 : 対 象 データが 存 在 するか 否 か? 結 果 : 偽 条 件 : 処 理 続 行 通 知 結 果 : 真 メッセージ(YesNo): 受 注 NO:00000003 が 5 件 存 在 しますので 続 行 します 応 答 :Yes 02: 受 注 合 計 のログ 表 示 SELECT SELECT s. 受 注 NO,s. 取 引 名,d. 行 NO,d. 商 品 CD,p. 商 品 名,d. 受 注 単 価,d. 受 注 数 量, d. 受 注 明 細 額,d. 消 費 税 額,d. 受 注 明 細 総 額 FROM 受 注 基 本 s, 受 注 明 細 d, 商 品 p where s. 受 注 NO=d. 受 注 NO and d. 商 品 CD = p. 商 品 CD and s. 受 注 NO = '00000003' 5 件 終 了 しました 終 了 コード:0 プログラム 終 了 コード:0 ***** SQLS_ora [Ver1.0] 終 了 2009/08/15( 土 ) 19:49:49 ***** (00000003.csv) 受 注 NO, 取 引 名, 行 NO, 商 品 CD, 商 品 名, 受 注 単 価, 受 注 数 量, 受 注 明 細 額, 消 費 税 額, 受 注 明 細 総 額 "00000003"," 社 員 入 社 (1 名 )","1","B01"," 鉛 筆 ","200","10","2000","100","2100" "00000003"," 社 員 入 社 (1 名 )","2","B02","ボールペン","300","5","1500","75","1575" "00000003"," 社 員 入 社 (1 名 )","3","B06"," 電 卓 SS66","1500","1","1500","75","1575" "00000003"," 社 員 入 社 (1 名 )","4","B07"," 電 子 辞 書 SS-458","35000","1","35000","1750","36750" Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 38
"00000003"," 社 員 入 社 (1 名 )","5","B08","パソコン LB50","58000","1","58000","2900","60900" Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 39
お 問 い 合 わせ 先 : お 問 い 合 わせは ご 連 絡 内 容 を 確 実 にするためにメール FAX で 願 います 株 式 会 社 オンネット システムズ 110-0016 東 京 都 台 東 区 台 東 1-14-7 B ビレッジ 6F URL :http://www.onnet.ne.jp FAX : 03-5807-5082 Mail : onnet@onnet.ne.jp Copyright(c) Since 2009 ( 株 )オンネット システムズ All rights reserved. 40