①データのエクスポート
タスクスケジューラで毎日1:00から"ダンプ取得.bat"を実施
ダンプ取得.bat
////////////////////////////////////////////////////////////////
SET yyyymmdd=%DATE:/=%
SET yyyymmdd=%yyyymmdd: =0%
SET hhmmss=%TIME::=%
SET hhmmss=%hhmmss: =0%
SET hhmmss=%hhmmss:~0,6%
SET dmp_name=exp%yyyymmdd:~0,8%_%hhmmss:~0,6%.dmp
F:
cd \SPS\DBダンプ\
exp kobaiuser/kobai file=%dmp_name%
////////////////////////////////////////////////////////////////
②データのインポート
"03_IMP_sps.par"のfile部分を修正し、"04_IMP_sps.bat"を実行
04_IMP_sps.bat
////////////////////////////////////////////////////////////////
imp PARFILE=03_IMP_sps.par
////////////////////////////////////////////////////////////////
03_IMP_sps.par
////////////////////////////////////////////////////////////////
userid=system/devadmin
fromuser=kobaiuser
touser=kobaiuser
file=exp20090217_010000.dmp
log=IMP_sps.log
buffer=163840
ignore=Y
grants=N
indexes=Y
rows=Y
DESTROY=N
COMMIT=Y
////////////////////////////////////////////////////////////////
仕事に関係する情報のメモ 技術、プロジェクト管理など
火曜日, 2月 17, 2009
金曜日, 1月 09, 2009
VLOOKUP関数のポイント
押さえておくべきVLOOKUP関数のポイントは次のとおりです。
●検索は、指定した表の「左端列」で行われます。
●取り出したいデータ位置は、指定した表の「左端から何列目か」で指定します。
●VLOOKUP関数は「検索結果を表示したいセル」に入力します。
=VLOOKUP(A1,B3:G12,3,FALSE)
引数1:A1カラムの値を検索
引数2:B3:G12の範囲のテーブルで検索
引数3:4番目の列の値を取得
引数4:「検索の型」。検索したいデータが表の左端列で見つからなかった場合にどうするか。FALSEを指定すると、データが見つからなかった場合、「#N/A」エラーが表示されます。
●検索は、指定した表の「左端列」で行われます。
●取り出したいデータ位置は、指定した表の「左端から何列目か」で指定します。
●VLOOKUP関数は「検索結果を表示したいセル」に入力します。
=VLOOKUP(A1,B3:G12,3,FALSE)
引数1:A1カラムの値を検索
引数2:B3:G12の範囲のテーブルで検索
引数3:4番目の列の値を取得
引数4:「検索の型」。検索したいデータが表の左端列で見つからなかった場合にどうするか。FALSEを指定すると、データが見つからなかった場合、「#N/A」エラーが表示されます。
水曜日, 12月 31, 2008
構成管理
■プロジェクト管理
■要件管理
【案件番号】要件確認書.xls
■課題管理
課題管理表.xls
■進捗管理
■WBS
進捗管理表.xls
■進捗報告書
週次報告書.xls
■要件定義
■ソフトウェアアーキテクチャ説明書
ソフトウェアアーキテクチャ説明書.doc
■外部設計
■ユースケース
[サブシステム名]_機能名_ユースケース定義書_XXXをXXXする.doc
■ウィンドウ仕様書
■ウィンドウ遷移仕様書
■メッセージ一覧
用語集.xls
作成・修正ドキュメント一覧.xls
■内部設計
作成・修正ドキュメント一覧.xls
作成・修正モジュール一覧.xls
■CTP
テスト方針書(CTP).xls
■CDUT
■UT実施結果
UTエビデンス.xls
■ITa
■機能テスト
機能テスト.xls
■テスト実施エビデンス
■画面間結合テスト
画面間結合テスト.xls
■テスト実施エビデンス
■ユーザビリティテスト
ユーザビリティテスト.xls
■テスト実施エビデンス
■欠陥対応
■[欠陥番号]
■欠陥のエビデンス
■対応後のエビデンス
ITa欠陥管理表.xls
ITa進捗状況.xls
■ITb
■ストーリーテスト
ストーリー.xls
■テスト実施エビデンス
■欠陥対応
■[欠陥番号]
■欠陥のエビデンス
■対応後のエビデンス
ITb欠陥管理表.xls
ITb進捗状況.xls
■ST
■ストーリーテスト
ストーリー.xls
■テスト実施エビデンス
■欠陥対応
■[欠陥番号]
■欠陥のエビデンス
■対応後のエビデンス
ST欠陥管理表.xls
ST進捗状況.xls
■レビュー報告書
■内部レビュー報告書
■外部設計
自己レビューチェックシート.xls
レビュー実施報告書_[ドキュメント名].xls
■内部設計
自己レビューチェックシート.xls
レビュー実施報告書_[ドキュメント名].xls
■CDUT
自己レビューチェックシート.xls
レビュー実施報告書_コーディング.xls
■ITa
自己レビューチェックシート.xls
レビュー実施報告書_[テスト仕様書名].xls
■ITb
自己レビューチェックシート.xls
レビュー実施報告書_[テスト仕様書名].xls
■協同レビュー報告書
■要件管理
【案件番号】要件確認書.xls
■課題管理
課題管理表.xls
■進捗管理
■WBS
進捗管理表.xls
■進捗報告書
週次報告書.xls
■要件定義
■ソフトウェアアーキテクチャ説明書
ソフトウェアアーキテクチャ説明書.doc
■外部設計
■ユースケース
[サブシステム名]_機能名_ユースケース定義書_XXXをXXXする.doc
■ウィンドウ仕様書
■ウィンドウ遷移仕様書
■メッセージ一覧
用語集.xls
作成・修正ドキュメント一覧.xls
■内部設計
作成・修正ドキュメント一覧.xls
作成・修正モジュール一覧.xls
■CTP
テスト方針書(CTP).xls
■CDUT
■UT実施結果
UTエビデンス.xls
■ITa
■機能テスト
機能テスト.xls
■テスト実施エビデンス
■画面間結合テスト
画面間結合テスト.xls
■テスト実施エビデンス
■ユーザビリティテスト
ユーザビリティテスト.xls
■テスト実施エビデンス
■欠陥対応
■[欠陥番号]
■欠陥のエビデンス
■対応後のエビデンス
ITa欠陥管理表.xls
ITa進捗状況.xls
■ITb
■ストーリーテスト
ストーリー.xls
■テスト実施エビデンス
■欠陥対応
■[欠陥番号]
■欠陥のエビデンス
■対応後のエビデンス
ITb欠陥管理表.xls
ITb進捗状況.xls
■ST
■ストーリーテスト
ストーリー.xls
■テスト実施エビデンス
■欠陥対応
■[欠陥番号]
■欠陥のエビデンス
■対応後のエビデンス
ST欠陥管理表.xls
ST進捗状況.xls
■レビュー報告書
■内部レビュー報告書
■外部設計
自己レビューチェックシート.xls
レビュー実施報告書_[ドキュメント名].xls
■内部設計
自己レビューチェックシート.xls
レビュー実施報告書_[ドキュメント名].xls
■CDUT
自己レビューチェックシート.xls
レビュー実施報告書_コーディング.xls
■ITa
自己レビューチェックシート.xls
レビュー実施報告書_[テスト仕様書名].xls
■ITb
自己レビューチェックシート.xls
レビュー実施報告書_[テスト仕様書名].xls
■協同レビュー報告書
木曜日, 12月 04, 2008
火曜日, 10月 28, 2008
月曜日, 10月 27, 2008
木曜日, 10月 02, 2008
月曜日, 9月 29, 2008
Strutsのアクション・クラスLookupDispatchAction
http://www.javaroad.jp/opensource/js_struts14.htm
LookupDispatchActionクラスはフォーム画面内で、submitボタンが複数ある場合に使用するアクション・クラスです。submitボタンごとそれぞれの処理を実行することができます
LookupDispatchActionクラスはフォーム画面内で、submitボタンが複数ある場合に使用するアクション・クラスです。submitボタンごとそれぞれの処理を実行することができます
火曜日, 8月 26, 2008
月曜日, 7月 21, 2008
水曜日, 6月 25, 2008
開発工程の略語(主にウォーターフォール型)
# 上工程(設計工程)
* 設計工程概要
* 基本設計(BD)BasicDesign
* 機能設計(FD)FunctionDesign
* 詳細設計(DD/PD)
* 製造設計(CD)
# 下工程(試験工程)
* 試験工程概要
* 単体試験(関数内試験) UT
* 単体試験(関数間) UT
* 機能試験(FT)
* 結合試験(IT)→CT コンビネーションテスト
* 試験工程補足
* 設計工程概要
* 基本設計(BD)BasicDesign
* 機能設計(FD)FunctionDesign
* 詳細設計(DD/PD)
* 製造設計(CD)
# 下工程(試験工程)
* 試験工程概要
* 単体試験(関数内試験) UT
* 単体試験(関数間) UT
* 機能試験(FT)
* 結合試験(IT)→CT コンビネーションテスト
* 試験工程補足
火曜日, 6月 10, 2008
JAVAScript 日付フォーマット(YYYYMMDD -> YYYY/MM/DD)
// 日付フォーマット
onblur="FormatDateYYYYMMDD(this, this.value, 8)"
で呼び出すと、YYYYMMDD -> YYYY/MM/DD となる
function FormatDateYYYYMMDD(obj, val, len){
str_val = val;
// ********** 半角数値チェック ********** //
checkFlg = 0;
arrNumber = new Array("1","2","3","4","5","6","7","8","9","0","/");
for(i = 0; i < str_val.length; i++) {
c_val = str_val.substring(i, i + 1);
for(j = 0; j < arrNumber.length; j++){
c_num = arrNumber[j];
if (c_val == c_num) {
checkFlg++;
}
}
}
if (str_val.length != checkFlg) {
obj.value = val;
return;
}
// ********** 半角数値チェック ********** //
// ********** 文字列から[/]を除去する ********** //
ret_val = '';
for(i = 0; i < val.length; i++){
c_val = val.substring(i, i + 1);
if (c_val == '/') {
c_dumy = '';
} else {
c_dumy = c_val;
}
ret_val = ret_val + c_dumy;
}
str_val = ret_val;
// ********** 文字列から[/]を除去する ********** //
// ********** 文字列長チェック ********** //
if (str_val.length != len) {
obj.value = val;
return;
}
// ********** 文字列長チェック ********** //
// ********** 日付チェック ********** //
n_y = str_val.substring(0,4);
n_m = str_val.substring(4,6);
n_d = str_val.substring(6,8);
monthEndDay = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
cal = new Date;
n_day = 0;
// 月チェック
if ((n_m < 1) || (12 < n_m)) {
obj.value = val;
return;
}
// うるう年計算
cal.setYear(n_y);
cal.setMonth(n_m - 1);
n_day = monthEndDay[n_m - 1];
if ((n_m == 2)&&(((n_y%4 == 0)&&(n_y%100 != 0))||(n_y%400 == 0))){
n_day = 29;
}
if ((n_d < 0) || (n_day < n_d)) {
obj.value = val;
return;
}
// ********** 日付チェック ********** //
// ********** フォーマット文字列返還 ********** //
obj.value = n_y + "/" + n_m + "/" + n_d;
// ********** フォーマット文字列返還 ********** //
}
onblur="FormatDateYYYYMMDD(this, this.value, 8)"
で呼び出すと、YYYYMMDD -> YYYY/MM/DD となる
function FormatDateYYYYMMDD(obj, val, len){
str_val = val;
// ********** 半角数値チェック ********** //
checkFlg = 0;
arrNumber = new Array("1","2","3","4","5","6","7","8","9","0","/");
for(i = 0; i < str_val.length; i++) {
c_val = str_val.substring(i, i + 1);
for(j = 0; j < arrNumber.length; j++){
c_num = arrNumber[j];
if (c_val == c_num) {
checkFlg++;
}
}
}
if (str_val.length != checkFlg) {
obj.value = val;
return;
}
// ********** 半角数値チェック ********** //
// ********** 文字列から[/]を除去する ********** //
ret_val = '';
for(i = 0; i < val.length; i++){
c_val = val.substring(i, i + 1);
if (c_val == '/') {
c_dumy = '';
} else {
c_dumy = c_val;
}
ret_val = ret_val + c_dumy;
}
str_val = ret_val;
// ********** 文字列から[/]を除去する ********** //
// ********** 文字列長チェック ********** //
if (str_val.length != len) {
obj.value = val;
return;
}
// ********** 文字列長チェック ********** //
// ********** 日付チェック ********** //
n_y = str_val.substring(0,4);
n_m = str_val.substring(4,6);
n_d = str_val.substring(6,8);
monthEndDay = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
cal = new Date;
n_day = 0;
// 月チェック
if ((n_m < 1) || (12 < n_m)) {
obj.value = val;
return;
}
// うるう年計算
cal.setYear(n_y);
cal.setMonth(n_m - 1);
n_day = monthEndDay[n_m - 1];
if ((n_m == 2)&&(((n_y%4 == 0)&&(n_y%100 != 0))||(n_y%400 == 0))){
n_day = 29;
}
if ((n_d < 0) || (n_day < n_d)) {
obj.value = val;
return;
}
// ********** 日付チェック ********** //
// ********** フォーマット文字列返還 ********** //
obj.value = n_y + "/" + n_m + "/" + n_d;
// ********** フォーマット文字列返還 ********** //
}
BETWEEN句の使い方について
例えば適用開始日(TEKIYO_FROM)と、適用終了日(TEKIYO_TO)を項目として持つレコードで日付を指定してピンポイントで検索したい場合、以下の文で検索可能。
? BETWEEN TEKIYO_FROM AND TEKIYO_TO
TEKIYO_FROM TEKIYO_TO
①20080101 20081231
②20090101 20091231
'20080505' BETWEEN TEKIYO_FROM AND TEKIYO_TO
で、①が抽出される
? BETWEEN TEKIYO_FROM AND TEKIYO_TO
TEKIYO_FROM TEKIYO_TO
①20080101 20081231
②20090101 20091231
'20080505' BETWEEN TEKIYO_FROM AND TEKIYO_TO
で、①が抽出される
金曜日, 6月 06, 2008
JAVAからPL/SQLのカーソル取り出し
ポイントは
cs.registerOutParameter(3,OracleTypes.CURSOR);
oracle.jdbc.driverパッケージにあるので、クラスパスに含めること。
【PL/SQL】
CREATE OR REPLACE PACKAGE BODY ABC.PKG_CRM0700TEST
IS
-- グローバル変数宣言
/* 変数名 データ型; */
-- プロシージャ、関数宣言
PROCEDURE GETCRE_NAME(
prm1 IN M_TAX.DATA_SYU%TYPE,
prm2 IN M_TAX.TEKIYO_FROM%TYPE,
retVal OUT EmpCurType
) IS
/* PROCEDURE 名前(引数...); */
/* FUNCTION 名前(引数...) RETURN データ型; */
BEGIN
OPEN retVal FOR SELECT * FROM M_TAX;
END GETCRE_NAME;
END PKG_CRM0700TEST;
/
【JAVA】
//★★ここから下は要らないので消すこと
sql = ("{call PKG_CRM0700TEST.GETCRE_NAME(?,?,?)}");
cs = conn.prepareCall(sql);
cs.setString(1, "A"); //データ種別
cs.setString(2, "20080801"); //適用開始日
cs.registerOutParameter(3,OracleTypes.CURSOR);
cs.executeUpdate();
rs = (ResultSet) cs.getObject(3);
while(rs.next()){
System.out.println(rs.getString(1)+":"+rs.getString(2));
}
cs.registerOutParameter(3,OracleTypes.CURSOR);
oracle.jdbc.driverパッケージにあるので、クラスパスに含めること。
【PL/SQL】
CREATE OR REPLACE PACKAGE BODY ABC.PKG_CRM0700TEST
IS
-- グローバル変数宣言
/* 変数名 データ型; */
-- プロシージャ、関数宣言
PROCEDURE GETCRE_NAME(
prm1 IN M_TAX.DATA_SYU%TYPE,
prm2 IN M_TAX.TEKIYO_FROM%TYPE,
retVal OUT EmpCurType
) IS
/* PROCEDURE 名前(引数...); */
/* FUNCTION 名前(引数...) RETURN データ型; */
BEGIN
OPEN retVal FOR SELECT * FROM M_TAX;
END GETCRE_NAME;
END PKG_CRM0700TEST;
/
【JAVA】
//★★ここから下は要らないので消すこと
sql = ("{call PKG_CRM0700TEST.GETCRE_NAME(?,?,?)}");
cs = conn.prepareCall(sql);
cs.setString(1, "A"); //データ種別
cs.setString(2, "20080801"); //適用開始日
cs.registerOutParameter(3,OracleTypes.CURSOR);
cs.executeUpdate();
rs = (ResultSet) cs.getObject(3);
while(rs.next()){
System.out.println(rs.getString(1)+":"+rs.getString(2));
}
JavaからPL/SQLをコールし、OUTパラメータを受け取る方法
【PL/SQL側】
CREATE OR REPLACE PACKAGE BODY ABC.PKG_CRM0700TEST
IS
-- グローバル変数宣言
/* 変数名 データ型; */
-- プロシージャ、関数宣言
PROCEDURE GETCRE_NAME(
prm1 IN M_TAX.DATA_SYU%TYPE,
prm2 IN M_TAX.TEKIYO_FROM%TYPE,
retVal OUT M_TAX.CRE_USER%TYPE
) IS
/* PROCEDURE 名前(引数...); */
/* FUNCTION 名前(引数...) RETURN データ型; */
BEGIN
SELECT CRE_USER INTO retVal FROM M_TAX WHERE DATA_SYU = prm1 AND TEKIYO_FROM = prm2;
END GETCRE_NAME;
END PKG_CRM0700TEST;
/
【JAVA側】
sql = ("{call PKG_CRM0700TEST.GETCRE_NAME(?,?,?)}");
cs = conn.prepareCall(sql);
cs.setString(1, "A"); //データ種別
cs.setString(2, "20080801"); //適用開始日
cs.registerOutParameter(3,java.sql.Types.VARCHAR);
cs.executeUpdate();
System.out.println("OUT_PARAM:" + cs.getString(3));
CREATE OR REPLACE PACKAGE BODY ABC.PKG_CRM0700TEST
IS
-- グローバル変数宣言
/* 変数名 データ型; */
-- プロシージャ、関数宣言
PROCEDURE GETCRE_NAME(
prm1 IN M_TAX.DATA_SYU%TYPE,
prm2 IN M_TAX.TEKIYO_FROM%TYPE,
retVal OUT M_TAX.CRE_USER%TYPE
) IS
/* PROCEDURE 名前(引数...); */
/* FUNCTION 名前(引数...) RETURN データ型; */
BEGIN
SELECT CRE_USER INTO retVal FROM M_TAX WHERE DATA_SYU = prm1 AND TEKIYO_FROM = prm2;
END GETCRE_NAME;
END PKG_CRM0700TEST;
/
【JAVA側】
sql = ("{call PKG_CRM0700TEST.GETCRE_NAME(?,?,?)}");
cs = conn.prepareCall(sql);
cs.setString(1, "A"); //データ種別
cs.setString(2, "20080801"); //適用開始日
cs.registerOutParameter(3,java.sql.Types.VARCHAR);
cs.executeUpdate();
System.out.println("OUT_PARAM:" + cs.getString(3));
金曜日, 5月 16, 2008
木曜日, 5月 15, 2008
これはスゴイ! JavaScript統合開発環境「Aptana」
eclipseベースのJavaScript開発環境。
プラグインではないらしい。
http://www.h2o-ajax.com/article253.html
プラグインではないらしい。
http://www.h2o-ajax.com/article253.html
登録:
投稿 (Atom)