Index: trunk/ippTools/src/dettool.c
===================================================================
--- trunk/ippTools/src/dettool.c	(revision 14034)
+++ trunk/ippTools/src/dettool.c	(revision 14043)
@@ -2113,39 +2113,9 @@
     }
 
-    // select det_id, det_type & rawImfile *
-    // get det_id from detInputExp.det_id
-    // get det_type from detRun.det_id
-    //
-    // det_id is in detInputExp
-    // exp_id is in detInputExp
-    // det_id is not in detProccessedImfile
-    // exp_id is not in detProccessedImfile
-    // class_is is not in detProccessedImfile
-    psString query = psStringCopy(
-            "SELECT"
-            "   detRun.det_id,"
-            "   detRun.det_type,"
-            "   detRun.workdir,"
-            "   detRun.reduction,"
-            "   rawImfile.*,"
-            "   rawExp.camera"
-            " FROM detRun"
-            " JOIN detInputExp"
-            "    USING(det_id, iteration)"
-            " JOIN rawExp"
-            "    ON detInputExp.exp_id = rawExp.exp_id"
-            " JOIN rawImfile"
-            "    ON detInputExp.exp_id = rawImfile.exp_id"
-            " LEFT JOIN detProcessedImfile"
-            "   ON detInputExp.det_id = detProcessedImfile.det_id"
-            "   AND rawImfile.exp_id = detProcessedImfile.exp_id"
-            "   AND rawImfile.class_id = detProcessedImfile.class_id"
-            " WHERE"
-            "   detRun.state = 'run'"
-            "   AND detRun.mode = 'master'"
-            "   AND detProcessedImfile.det_id IS NULL"
-            "   AND detProcessedImfile.exp_id IS NULL"
-            "   AND detProcessedImfile.class_id IS NULL"
-        );
+    psString query = pxDataGet("dettool_toprocessedimfile.sql");
+    if (!query) {
+        psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
+        return false;
+    }
 
     if (config->where) {
