#!/usr/bin/perl
# ======== end ========================
$prgname = "cg_0330";
$manager = 'fuji21@fuji21.com';
# ---- ブラウザー表示設定(参考:デバッグ用)----
#print "Content-type: text/html\n\n";
#print "DEBUG-00
\n";
$prgname = "cg_0330";
require 'cg_00io30.pl';
require 'cg_00st30.pl';
&st_dateform;
require 'cg_00fl30.pl';
$g_lockfile = "../cntrl/cg_03lock30.txt";
$multi_item = 2;
$multi_max = 20;
@multi_name = ("key","data","--");
@multi_nmbr = (0,0,0);
# ======== データ受信・デコード========
#print "DEBUG-01
\n";
&io_decode;
#print "DEBUG-03
$g_str
\n";
$work = $cgi{'work'};
$file1 = $cgi{'file1'};
$f1_keynmbr = $multi_nmbr[0];
$f1_datanmbr = $multi_nmbr[1];
for($i=0;$i<$f1_keynmbr;$i++){
$f1_keylist[$i] = $multi_table[$multi_max*0+$i];
}
for($i=0;$i<$f1_datanmbr;$i++){
$f1_data[$i] = $multi_table[$multi_max*1+$i];
}
# ********* プログラム本体 ********
#print "DEBUG-04 - $work - $file1 - $f1_keynmbr
@f1_keylist
\n";
$dspmsg = "";
if($work eq "read"){
$size=&io_fileread("",$file1,"err");
$dspmsg="";
for(my $i=0;$i<$size;$i++){
$dspmsg=$dspmsg.$f2_LINES[$i];
}
$dspmsg=$dspmsg."\n";
}
elsif($work eq "format"){
#print "DEBUG-21 - $work - $file1
\n";
&fl_fileformat($file1);
$dspmsg="ファイル・フォーマット(グローバル変数)\n\n";
$dspmsg=$dspmsg."
| $f1_file | ファイルアドレス | ".$f1_file." |
";
$dspmsg=$dspmsg."| $f1_colnmbr | ファイル名 | ".$f1_filename." |
";
$dspmsg=$dspmsg."| $f1_colnmbr | 項目数 | ".$f1_colnmbr." |
";
$dspmsg=$dspmsg."| $f1_type | 可変長・固定長 | ".$f1_type." |
";
$dspmsg=$dspmsg."| $f1_colnmbr | 項目数 | ".$f1_colnmbr." |
";
$dspmsg=$dspmsg."| $f1_line0 | 第0行目レコード | ".$f1_line0." |
";
$dspmsg=$dspmsg."| @f1_title | 項目名(第0行目) | @f1_title |
";
$dspmsg=$dspmsg."| $f1_line1 | 第1行目レコード | ".$f1_line1." |
";
$dspmsg=$dspmsg."| @f1_format | フォーマット(第1行目) | @f1_format |
";
$dspmsg=$dspmsg."| $f1_order | inc、dec、lst、fst | ".$f1_order." |
";
$dspmsg=$dspmsg."| $f1_ordermark | /(inc、lst)、|(dec、fst) | ".$f1_ordermark." |
";
$dspmsg=$dspmsg."| $f1_order2 | trs、thd | ".$f1_order2." |
";
$dspmsg=$dspmsg."| $f1_keylen | キー字数(6字以上) | ".$f1_keylen." |
";
$dspmsg=$dspmsg."| $f1_linenmbr | レコード数 | ".$f1_linenmbr." |
";
}
elsif($work eq "check"){
$dspmsg = &fl_filecheck($file1);
$dspmsg = $dspmsg."\n\nファイル・チェック終了しました。\n\n";
}
elsif($work eq "insert"){
&io_lockup($g_lockfile,"err");
#print "DEBUG 41 - @f1_data
\n";
my $errmsg=&fl_rcrdinsert($file1,"err");
#print "DEBUG 42 - $errmsg
\n";
&io_unlock($g_lockfile,"");
#print "DEBUG 43 - $errmsg
\n";
if($errmsg ne ""){
$errref3 = "入出力エラー:- cg_0330 - ".$prgname." - ".$work;
&io_errexit($errmsg,$errref3,$manager);
}
else{
$dspmsg= "キー:".$f1_key." 挿入終了しました。\n";
}
}
elsif($work eq "rewrite"){
&io_lockup($g_lockfile,"err");
#print "DEBUG 51 - @f1_data
\n";
my $errmsg = &fl_rcrdrewrite($file1,"err");
#print "DEBUG 52 - $errmsg
\n";
&io_unlock($g_lockfile,"");
print "DEBUG 53 - $f1_key - $errmsg
\n";
if($errmsg ne ""){
$errref3 = "入出力エラー:- cg_0330 - ".$prgname." - ".$work;
&io_errexit($errmsg,$errref3,$manager);
}
else{
$dspmsg="キー:".$f1_key." 書換終了しました。\n";
}
}
elsif($work eq "search"){
&fl_rcrdsearch($file1,"err");
$dspmsg = "検索結果\n\nキー:";
for($i=0;$i<$f1_keynmbr;$i++){
$dspmsg=$dspmsg.$f1_keylist[$i]."、";
}
$dspmsg = $dspmsg."\n\n(検索レコード数:".$f2_rcrdnmbr.")\n";
for(my $t=0;$t<$f2_rcrdnmbr;$t++){
$dspmsg = $dspmsg.$f2_rcrdlist[$t];
}
$dspmsg = $dspmsg."\n(該当レコードなし キー数:".$f8_keynmbr.")\n";
for(my $k=0;$k<$f8_keynmbr;$k++){
$dspmsg = $dspmsg.$f8_keylist[$k]."、";
}
$dspmsg = $dspmsg."\n";
}
elsif($work eq "delete"){
&io_lockup($g_lockfile,"err");
&fl_rcrddelete($file1,"err");
&io_unlock($g_lockfile,"");;
$dspmsg = "データ削除完了しました。キー:";
for($i=0;$i<$f1_keynmbr;$i++){
$dspmsg=$dspmsg.$f1_keylist[$i]."、";
}
$dspmsg = $dspmsg."\n\n(削除レコード数:".$f2_rcrdnmbr.")\n";
for(my $t=0;$t<$f2_rcrdnmbr;$t++){
$dspmsg = $dspmsg.$f2_rcrdlist[$t];
}
$dspmsg = $dspmsg."\n(該当レコードなし キー数:".$f8_keynmbr.")\n";
for(my $k=0;$k<$f8_keynmbr;$k++){
$dspmsg = $dspmsg.$f8_keylist[$k]."、";
}
$dspmsg = $dspmsg."\n";
}
else{
$errref="プログラムエラー - cg_0330 - $work";
$errmsg="データの受信に問題がありました。\n申\訳ございませんが、再度ご試行ください。\n";
&io_errexit($manager,$errref,$errmsg);
}
# ---- 結果表示----
&io_dspexit($dspmsg);