Index: branches/version-2_5-dev/data/class/helper/SC_Helper_CSV.php
===================================================================
--- branches/version-2_5-dev/data/class/helper/SC_Helper_CSV.php	(revision 19805)
+++ branches/version-2_5-dev/data/class/helper/SC_Helper_CSV.php	(revision 19950)
@@ -93,5 +93,5 @@
 
         // CSV出力タイトル行の作成
-        $arrCsvOutput = SC_Utils_Ex::sfSwapArray($this->sfgetCsvOutput($csv_id, 'status = 1'));
+        $arrCsvOutput = SC_Utils_Ex::sfSwapArray($this->sfgetCsvOutput($csv_id, 'status = ' . CSV_COLUMN_STATUS_FLG_ENABLE));
 
         if (count($arrCsvOutput) <= 0) break;
@@ -113,6 +113,6 @@
         $result = true;
         foreach($arrCSVFrame as $key => $val) {
-            if($val['status'] != "1"
-                    and $val['rw_flg'] == "1"
+            if($val['status'] != CSV_COLUMN_STATUS_FLG_ENABLE
+                    and $val['rw_flg'] == CSV_COLUMN_RW_FLG_READ_WRITE
                     and $val['error_check_types'] != ""
                     and stripos($val['error_check_types'], "EXIST_CHECK") !== FALSE) {
@@ -133,6 +133,6 @@
         $result = true;
         foreach($arrCSVFrame as $key => $val) {
-            if($val['status'] != "1"
-                    and $val['rw_flg'] == "3") {
+            if($val['status'] != CSV_COLUMN_STATUS_FLG_ENABLE
+                    and $val['rw_flg'] == CSV_COLUMN_RW_FLG_KEY_FIELD) {
                 //キーフィールド
                 $result = false;
@@ -178,5 +178,5 @@
 
         // CSV出力タイトル行の作成
-        $arrOutput = SC_Utils_Ex::sfSwapArray($this->sfgetCsvOutput(1, 'status = 1'));
+        $arrOutput = SC_Utils_Ex::sfSwapArray($this->sfgetCsvOutput(1, 'status = ' . CSV_COLUMN_STATUS_FLG_ENABLE));
         if (count($arrOutput) <= 0) return false; // 失敗終了
         $arrOutputCols = $arrOutput['col'];
@@ -263,5 +263,5 @@
 
         // CSV出力タイトル行の作成
-        $arrOutput = SC_Utils_Ex::sfSwapArray($this->sfgetCsvOutput(5, 'status = 1'));
+        $arrOutput = SC_Utils_Ex::sfSwapArray($this->sfgetCsvOutput(5, 'status = ' . CSV_COLUMN_STATUS_FLG_ENABLE));
         if (count($arrOutput) <= 0) return false; // 失敗終了
         $arrOutputCols = $arrOutput['col'];
Index: branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSV.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSV.php	(revision 19805)
+++ branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSV.php	(revision 19950)
@@ -78,5 +78,6 @@
         $this->arrProductType = $masterData->getMasterData("mtb_product_type");
         $this->arrMaker = SC_Helper_DB_Ex::sfGetIDValueList("dtb_maker", "maker_id", "name");
-        $this->arrPayments = SC_Helper_DB_Ex::sfGetIDValueList("dtb_payment", "payment_id", "payment_method");            $this->arrAllowedTag = $masterData->getMasterData("mtb_allowed_tag");
+        $this->arrPayments = SC_Helper_DB_Ex::sfGetIDValueList("dtb_payment", "payment_id", "payment_method");
+        $this->arrAllowedTag = $masterData->getMasterData("mtb_allowed_tag");
         $this->arrTagCheckItem = array();
     }
@@ -129,6 +130,6 @@
         // パラメータ情報の初期化
         $this->lfInitParam($arrCSVFrame);
-        
-        $colmax = $this->objFormParam->getCount();
+        // 現在のフォーマットにおける列数を取得
+        $col_count = $this->objFormParam->getCount();
         $this->objFormParam->setHtmlDispNameArray();
         $this->arrTitle = $this->objFormParam->getHtmlDispNameArray();
@@ -176,11 +177,12 @@
                 }
 
-                // レコード数を得る
-                $rec_count = $this->objCSV->sfGetCSVRecordCount($fp);
-                if($rec_count === FALSE) {
+                // レコード行数を得る
+                $record_count = $this->objCSV->sfGetCSVRecordCount($fp);
+                // ファイルが無効な場合はエラー
+                if($record_count === FALSE) {
                     SC_Utils_Ex::sfDispError("");
                 }
 
-                $line = 0;      // 行数
+                $line = 0;      // 現在行数
                 $regist = 0;    // 登録数
 
@@ -192,23 +194,19 @@
                 while(!feof($fp) && !$err) {
                     $arrCSV = fgetcsv($fp, CSV_LINE_MAX);
-
                     // 行カウント
                     $line++;
-
                     if($line <= 1) {
                         continue;
                     }
-
-                    // 項目数カウント
-                    $max = count($arrCSV);
-
+                    // 現在行の項目数カウント
+                    $line_col_count = count($arrCSV);
                     // 項目数が1以下の場合は無視する
-                    if($max <= 1) {
+                    if($line_col_count <= 1) {
                         continue;
                     }
 
                     // 項目数チェック
-                    if($max != $colmax) {
-                        echo "※ 項目数が" . $max . "個検出されました。項目数は" . $colmax . "個になります。</br>\n";
+                    if($line_col_count != $col_count) {
+                        echo "※ 項目数が" . $line_col_count . "個検出されました。項目数は" . $col_count . "個になります。</br>\n";
                         $err = true;
                     } else {
@@ -225,5 +223,5 @@
                     // 入力エラーチェック
                     if(count($arrCSVErr) > 0) {
-                        echo "<font color=\"red\">■" . $line . "行目でエラーが発生しました。</font></br>\n";
+                        echo "<font color=\"red\">■ $line / $record_count 行目でエラーが発生しました。</font></br>\n";
                         foreach($arrCSVErr as $val) {
                             $this->printError($val);
@@ -238,5 +236,5 @@
                     $arrParam = $this->objFormParam->getHashArray();
 
-                    if(!$err) echo $line." / ".$rec_count. "行目　（商品ID：".$arrParam['product_id']." / 商品名：".$arrParam['name'].")\n<br />";
+                    if(!$err) echo $line. "行目　（商品ID：".$arrParam['product_id']." / 商品名：".$arrParam['name'].")\n<br />";
                     flush();
                 }
@@ -299,5 +297,5 @@
         // CSV項目毎の処理
         foreach($arrCSVFrame as $item) {
-            if($item['status'] == '2') continue;
+            if($item['status'] == CSV_COLUMN_STATUS_FLG_DISABLE) continue;
             //サブクエリ構造の場合は AS名 を使用
             if(preg_match_all('/\(.+\) as (.+)$/i', $item['col'], $match, PREG_SET_ORDER)) {
@@ -329,5 +327,5 @@
                     , $arrErrorCheckTypes
                     , $item['default']
-                    , ($item['rw_flg'] != 2) ? true : false
+                    , ($item['rw_flg'] != CSV_COLUMN_RW_FLG_READ_ONLY) ? true : false
                     );
         }
@@ -516,4 +514,6 @@
                     $arrCSVFrame[$key]['default'] = implode(',',array_keys($this->arrPayments));
                     break;
+                case 'stock_unlimited':
+                    $arrCSVFrame[$key]['default'] = UNLIMITED_FLG_LIMITED;
                 default:
                     break;
@@ -562,11 +562,11 @@
             }
             // TODO: 在庫数、無制限フラグの扱いについて仕様がぶれているので要調整
-            if($sqlval['stock'] == "" and $sqlval['stock_unlimited'] != '1') {
+            if($sqlval['stock'] == "" and $sqlval['stock_unlimited'] != UNLIMITED_FLG_UNLIMITED) {
                 //在庫数設定がされておらず、かつ無制限フラグが設定されていない場合、強制無制限
-                $sqlval['stock_unlimited'] = '1';
-            }elseif($sqlval['stock'] != "" and $sqlval['stock_unlimited'] != '1') {
+                $sqlval['stock_unlimited'] = UNLIMITED_FLG_UNLIMITED;
+            }elseif($sqlval['stock'] != "" and $sqlval['stock_unlimited'] != UNLIMITED_FLG_UNLIMITED) {
                 //在庫数設定時は在庫無制限フラグをクリア
-                $sqlval['stock_unlimited'] = '0';
-            }elseif($sqlval['stock'] != "" and $sqlval['stock_unlimited'] == '1') {
+                $sqlval['stock_unlimited'] = UNLIMITED_FLG_LIMITED;
+            }elseif($sqlval['stock'] != "" and $sqlval['stock_unlimited'] == UNLIMITED_FLG_UNLIMITED) {
                 //在庫無制限フラグ設定時は在庫数をクリア
                 $sqlval['stock'] = '';
@@ -574,5 +574,5 @@
         }else{
             //更新時のみ設定する項目
-            if(array_key_exists('stock_unlimited', $sqlval) and $sqlval['stock_unlimited'] == '1') {
+            if(array_key_exists('stock_unlimited', $sqlval) and $sqlval['stock_unlimited'] == UNLIMITED_FLG_UNLIMITED) {
                 $sqlval['stock'] = '';
             }
@@ -676,5 +676,5 @@
             if(array_search('stock_unlimited', $this->arrFormKeyList) === FALSE) {
                 $arrErr['stock'] = "※ 在庫数は必須です（無制限フラグ項目がある場合のみ空欄許可）。";
-            }else if($item['stock_unlimited'] != "1") {
+            }else if($item['stock_unlimited'] != UNLIMITED_FLG_UNLIMITED) {
                 $arrErr['stock'] = "※ 在庫数または在庫無制限フラグのいずれかの入力が必須です。";
             }
