Index: trunk/MagicSoft/Mars/mreport/MReport.cc
===================================================================
--- trunk/MagicSoft/Mars/mreport/MReport.cc	(revision 2865)
+++ trunk/MagicSoft/Mars/mreport/MReport.cc	(revision 2892)
@@ -91,5 +91,5 @@
 // argument.
 //
-Bool_t MReport::InterpreteBody(TString &str)
+Int_t MReport::InterpreteBody(TString &str)
 {
     *fLog << warn << "No interpreter existing for: " << fIdentifier << endl;
@@ -115,6 +115,7 @@
         return kCONTINUE;
 
-    if (!InterpreteBody(str))
-        return kFALSE;
+    const Int_t rc = InterpreteBody(str);
+    if (rc != kTRUE)
+        return rc;
 
     SetReadyToSave();
Index: trunk/MagicSoft/Mars/mreport/MReport.h
===================================================================
--- trunk/MagicSoft/Mars/mreport/MReport.h	(revision 2865)
+++ trunk/MagicSoft/Mars/mreport/MReport.h	(revision 2892)
@@ -25,5 +25,5 @@
 
     virtual Bool_t SetupReading(MParList &plist);
-    virtual Bool_t InterpreteBody(TString &str);
+    virtual Int_t  InterpreteBody(TString &str);
 
     Int_t  Interprete(TString &str, const MTime &start, const MTime &stop);
Index: trunk/MagicSoft/Mars/mreport/MReportCC.cc
===================================================================
--- trunk/MagicSoft/Mars/mreport/MReportCC.cc	(revision 2865)
+++ trunk/MagicSoft/Mars/mreport/MReportCC.cc	(revision 2892)
@@ -58,5 +58,5 @@
 // Interprete the body of the CC-REPORT string
 //
-Bool_t MReportCC::InterpreteBody(TString &str)
+Int_t MReportCC::InterpreteBody(TString &str)
 {
     // Remove the 30 tokens of the subsystem status
@@ -72,6 +72,6 @@
     if (n!=4)
     {
-        *fLog << err << "ERROR - Wrong number of arguments." << endl;
-        return kFALSE;
+        *fLog << warn << "WARNING - Wrong number of arguments." << endl;
+        return kCONTINUE;
     }
     /*
Index: trunk/MagicSoft/Mars/mreport/MReportCC.h
===================================================================
--- trunk/MagicSoft/Mars/mreport/MReportCC.h	(revision 2865)
+++ trunk/MagicSoft/Mars/mreport/MReportCC.h	(revision 2892)
@@ -14,5 +14,5 @@
     Float_t fSolarRadiation; // [W/m^2] IR-Radiation
 
-    Bool_t InterpreteBody(TString &str);
+    Int_t InterpreteBody(TString &str);
 
 public:
Index: trunk/MagicSoft/Mars/mreport/MReportCamera.cc
===================================================================
--- trunk/MagicSoft/Mars/mreport/MReportCamera.cc	(revision 2865)
+++ trunk/MagicSoft/Mars/mreport/MReportCamera.cc	(revision 2892)
@@ -109,5 +109,5 @@
     if (!str.BeginsWith(tag))
     {
-        *fLog << err << "ERROR - '" << tag << "' tag not found." << endl;
+        *fLog << warn << "WARNING - '" << tag << "' tag not found." << endl;
         return kFALSE;
     }
@@ -152,5 +152,5 @@
             continue;
 
-        *fLog << err << "ERROR - Reading hexadecimal HV information." << endl;
+        *fLog << warn << "WARNING - Reading hexadecimal HV information." << endl;
         return kFALSE;
     }
@@ -179,5 +179,5 @@
     if (n!=13)
     {
-        *fLog << err << "ERROR - Reading information of 'COOL' section." << endl;
+        *fLog << warn << "WARNING - Reading information of 'COOL' section." << endl;
         return kFALSE;
     }
@@ -222,5 +222,5 @@
     if (n!=12)
     {
-        *fLog << err << "ERROR - Reading information of 'LID' section." << endl;
+        *fLog << warn << "WARNING - Reading information of 'LID' section." << endl;
         return kFALSE;
     }
@@ -260,5 +260,5 @@
     if (n!=4)
     {
-        *fLog << err << "ERROR - Reading information of 'HVPS' section." << endl;
+        *fLog << warn << "WARNING - Reading information of 'HVPS' section." << endl;
         return kFALSE;
     }
@@ -291,5 +291,5 @@
     if (n!=19)
     {
-        *fLog << err << "ERROR - Reading information of 'LV' section." << endl;
+        *fLog << warn << "WARNING - Reading information of 'LV' section." << endl;
         return kFALSE;
     }
@@ -336,5 +336,5 @@
     if (n!=2)
     {
-        *fLog << err << "ERROR - Reading information of 'AUX' section." << endl;
+        *fLog << warn << "WARNING - Reading information of 'AUX' section." << endl;
         return kFALSE;
     }
@@ -363,5 +363,5 @@
     if (n!=4)
     {
-        *fLog << err << "ERROR - Reading information of 'CAL' section." << endl;
+        *fLog << warn << "WARNING - Reading information of 'CAL' section." << endl;
         return kFALSE;
     }
@@ -393,5 +393,5 @@
     if (n!=13)
     {
-        *fLog << err << "ERROR - Cannot interprete status' of subsystems." << endl;
+        *fLog << warn << "WARNING - Cannot interprete status' of subsystems." << endl;
         return kFALSE;
     }
@@ -420,39 +420,39 @@
 // Interprete the body of the CAMERA-REPORT string
 //
-Bool_t MReportCamera::InterpreteBody(TString &str)
+Int_t MReportCamera::InterpreteBody(TString &str)
 {
     if (!InterpreteCamera(str))
-        return kFALSE;
+        return kCONTINUE;
 
     if (!InterpreteDC(str))
-        return kFALSE;
+        return kCONTINUE;
 
     if (!InterpreteHV(str))
-        return kFALSE;
+        return kCONTINUE;
 
     if (!InterpreteCOOL(str))
-        return kFALSE;
+        return kCONTINUE;
 
     if (!InterpreteLID(str))
-        return kFALSE;
+        return kCONTINUE;
 
     if (!InterpreteHVPS(str))
-        return kFALSE;
+        return kCONTINUE;
 
     if (!InterpreteLV(str))
-        return kFALSE;
+        return kCONTINUE;
 
     if (!InterpreteAUX(str))
-        return kFALSE;
+        return kCONTINUE;
 
     if (!InterpreteCAL(str))
-        return kFALSE;
+        return kCONTINUE;
 
     if (str!="OVER")
     {
-        *fLog << err << "ERROR - 'OVER' tag not found." << endl;
-        return kFALSE;
-    }
-
-    return kTRUE;
-}
+        *fLog << warn << "WARNING - 'OVER' tag not found." << endl;
+        return kCONTINUE;
+    }
+
+    return kTRUE;
+}
Index: trunk/MagicSoft/Mars/mreport/MReportCamera.h
===================================================================
--- trunk/MagicSoft/Mars/mreport/MReportCamera.h	(revision 2865)
+++ trunk/MagicSoft/Mars/mreport/MReportCamera.h	(revision 2892)
@@ -39,5 +39,5 @@
     Bool_t InterpreteCAL(TString &str);
 
-    Bool_t InterpreteBody(TString &str);
+    Int_t  InterpreteBody(TString &str);
 
 public:
Index: trunk/MagicSoft/Mars/mreport/MReportCurrents.cc
===================================================================
--- trunk/MagicSoft/Mars/mreport/MReportCurrents.cc	(revision 2865)
+++ trunk/MagicSoft/Mars/mreport/MReportCurrents.cc	(revision 2892)
@@ -70,5 +70,5 @@
 // Interprete the body of the DC-REPORT string
 //
-Bool_t MReportCurrents::InterpreteBody(TString &str)
+Int_t MReportCurrents::InterpreteBody(TString &str)
 {
     Int_t len;
@@ -77,6 +77,6 @@
     if (n!=2)
     {
-        *fLog << err << "ERROR - Reading status information." << endl;
-        return kFALSE;
+        *fLog << warn << "WARNING - Reading status information." << endl;
+        return kCONTINUE;
     }
 
@@ -97,6 +97,6 @@
         if (n!=1)
         {
-            *fLog << err << "ERROR - Reading hexadecimal DC information." << endl;
-            return kFALSE;
+            *fLog << warn << "WARNING - Reading hexadecimal DC information." << endl;
+            return kCONTINUE;
         }
 
@@ -107,4 +107,4 @@
     str=str.Strip(TString::kLeading);
 
-    return str.IsNull();
+    return str.IsNull() ? kTRUE : kCONTINUE;
 }
Index: trunk/MagicSoft/Mars/mreport/MReportCurrents.h
===================================================================
--- trunk/MagicSoft/Mars/mreport/MReportCurrents.h	(revision 2865)
+++ trunk/MagicSoft/Mars/mreport/MReportCurrents.h	(revision 2892)
@@ -17,5 +17,5 @@
 
     Bool_t SetupReading(MParList &plist);
-    Bool_t InterpreteBody(TString &str);
+    Int_t InterpreteBody(TString &str);
 
 public:
Index: trunk/MagicSoft/Mars/mreport/MReportDAQ.cc
===================================================================
--- trunk/MagicSoft/Mars/mreport/MReportDAQ.cc	(revision 2865)
+++ trunk/MagicSoft/Mars/mreport/MReportDAQ.cc	(revision 2892)
@@ -48,5 +48,5 @@
 }
 
-Bool_t MReportDAQ::InterpreteBody(TString &str)
+Int_t MReportDAQ::InterpreteBody(TString &str)
 {
     *fLog << dbg << "D" << flush;
Index: trunk/MagicSoft/Mars/mreport/MReportDAQ.h
===================================================================
--- trunk/MagicSoft/Mars/mreport/MReportDAQ.h	(revision 2865)
+++ trunk/MagicSoft/Mars/mreport/MReportDAQ.h	(revision 2892)
@@ -9,5 +9,5 @@
 {
 private:
-    Bool_t InterpreteBody(TString &str);
+    Int_t InterpreteBody(TString &str);
 
 public:
Index: trunk/MagicSoft/Mars/mreport/MReportDrive.cc
===================================================================
--- trunk/MagicSoft/Mars/mreport/MReportDrive.cc	(revision 2865)
+++ trunk/MagicSoft/Mars/mreport/MReportDrive.cc	(revision 2892)
@@ -88,5 +88,5 @@
 // Interprete the body of the DRIVE-REPORT string
 //
-Bool_t MReportDrive::InterpreteBody(TString &str)
+Int_t MReportDrive::InterpreteBody(TString &str)
 {
     MAstro::String2Angle(str, fRa);
@@ -97,5 +97,8 @@
     Int_t n=sscanf(str.Data(), "%lf %n", &fMjd, &len);
     if (n!=1)
-        return kFALSE;
+    {
+        *fLog << warn << "WARNING - Not enough arguments." << endl;
+        return kCONTINUE;
+    }
 
     str.Remove(0, len);
@@ -108,5 +111,8 @@
     n=sscanf(str.Data(), "%lf %lf %n", &fErrorZd, &fErrorAz, &len);
     if (n!=2)
-        return kFALSE;
+    {
+        *fLog << warn << "WARNING - Not enough arguments." << endl;
+        return kCONTINUE;
+    }
 
     str.Remove(0, len);
@@ -114,5 +120,5 @@
     str = str.Strip(TString::kBoth);
 
-    return str.IsNull();
+    return str.IsNull() ? kTRUE : kCONTINUE;
 }
 
Index: trunk/MagicSoft/Mars/mreport/MReportDrive.h
===================================================================
--- trunk/MagicSoft/Mars/mreport/MReportDrive.h	(revision 2865)
+++ trunk/MagicSoft/Mars/mreport/MReportDrive.h	(revision 2892)
@@ -23,5 +23,5 @@
     Double_t fErrorAz;    // [?] sistem error in the azimuth angle axis
 
-    Bool_t InterpreteBody(TString &str);
+    Int_t InterpreteBody(TString &str);
 
 public:
Index: trunk/MagicSoft/Mars/mreport/MReportFileRead.cc
===================================================================
--- trunk/MagicSoft/Mars/mreport/MReportFileRead.cc	(revision 2865)
+++ trunk/MagicSoft/Mars/mreport/MReportFileRead.cc	(revision 2892)
@@ -255,8 +255,13 @@
 
     const Int_t rc = rep->Interprete(str, fStart, fStop);
-    if (rc==kFALSE)
-    {
-        *fLog << err << "ERROR - Interpretation of '" << rep->GetName() << "' failed (Line #" << fNumLine << ")" << endl;
-        return kFALSE;
+
+    switch (rc)
+    {
+    case kFALSE:
+        *fLog << err << "ERROR - Interpretation of '" << rep->GetName() << "' failed (Line #" << fNumLine << ")... abort." << endl;
+        break;
+    case kCONTINUE:
+        *fLog << warn << "WARNING - Interpretation of '" << rep->GetName() << "' failed (Line #" << fNumLine << ")... skipped." << endl;
+        break;
     }
 
@@ -284,7 +289,16 @@
     while ((rep=(MReportHelp*)Next()))
     {
+        *fLog << inf;
         *fLog << " " << setw(7) << rep->GetNumReports() << " (";
         *fLog << setw(3) << (int)(100.*rep->GetNumReports()/GetNumExecutions());
         *fLog << "%): " << rep->GetName() << endl;
+
+        if (rep->GetNumSkipped()==0)
+            continue;
+
+        *fLog << warn;
+        *fLog << " " << setw(7) << rep->GetNumSkipped() << " (";
+        *fLog << setw(3) << (int)(100.*rep->GetNumSkipped()/GetNumExecutions());
+        *fLog << "%): " << rep->GetName() << " skipped!" << endl;
     }
 
Index: trunk/MagicSoft/Mars/mreport/MReportHelp.cc
===================================================================
--- trunk/MagicSoft/Mars/mreport/MReportHelp.cc	(revision 2865)
+++ trunk/MagicSoft/Mars/mreport/MReportHelp.cc	(revision 2892)
@@ -56,5 +56,5 @@
 // default constructor.
 //
-MReportHelp::MReportHelp(const char *name, MLog *fLog) : fReport(NULL), fNumReports(0)
+MReportHelp::MReportHelp(const char *name, MLog *fLog) : fReport(NULL), fNumReports(0), fNumSkipped(0)
 {
     TClass *cls = gROOT->GetClass(name);
@@ -142,8 +142,9 @@
     const Int_t rc = fReport->Interprete(str, start, stop);
 
-    if (rc==kFALSE)
-        return kFALSE;
-
-    fNumReports++;
+    switch (rc)
+    {
+    case kTRUE:     fNumReports++; break;
+    case kCONTINUE: fNumSkipped++; break;
+    }
     return rc;
 }
Index: trunk/MagicSoft/Mars/mreport/MReportHelp.h
===================================================================
--- trunk/MagicSoft/Mars/mreport/MReportHelp.h	(revision 2865)
+++ trunk/MagicSoft/Mars/mreport/MReportHelp.h	(revision 2892)
@@ -18,4 +18,5 @@
     MReport *fReport;
     ULong_t  fNumReports;
+    ULong_t  fNumSkipped;
 
 public:
@@ -25,4 +26,5 @@
     const char *GetName() const;
     ULong_t GetNumReports() const { return fNumReports; }
+    ULong_t GetNumSkipped() const { return fNumSkipped; }
     ULong_t Hash() const;
     MReport *GetReport() { return fReport; }
Index: trunk/MagicSoft/Mars/mreport/MReportRun.cc
===================================================================
--- trunk/MagicSoft/Mars/mreport/MReportRun.cc	(revision 2865)
+++ trunk/MagicSoft/Mars/mreport/MReportRun.cc	(revision 2892)
@@ -57,5 +57,5 @@
 // Interprete the body of the RUN-REPORT string
 //
-Bool_t MReportRun::InterpreteBody(TString &str)
+Int_t MReportRun::InterpreteBody(TString &str)
 {
     Int_t len;
@@ -63,6 +63,6 @@
     if (n!=1)
     {
-        *fLog << err << "ERROR - Wrong number of arguments." << endl;
-        return kFALSE;
+        *fLog << warn << "WARNING - Wrong number of arguments." << endl;
+        return kCONTINUE;
     }
     str.Remove(0, len);
Index: trunk/MagicSoft/Mars/mreport/MReportRun.h
===================================================================
--- trunk/MagicSoft/Mars/mreport/MReportRun.h	(revision 2865)
+++ trunk/MagicSoft/Mars/mreport/MReportRun.h	(revision 2892)
@@ -12,5 +12,5 @@
     TString fSourceName;
 
-    Bool_t InterpreteBody(TString &str);
+    Int_t InterpreteBody(TString &str);
 
 public:
Index: trunk/MagicSoft/Mars/mreport/MReportTrigger.cc
===================================================================
--- trunk/MagicSoft/Mars/mreport/MReportTrigger.cc	(revision 2865)
+++ trunk/MagicSoft/Mars/mreport/MReportTrigger.cc	(revision 2892)
@@ -52,5 +52,5 @@
 // Interprete the body of the TRIGGER-REPORT string
 //
-Bool_t MReportTrigger::InterpreteBody(TString &str)
+Int_t MReportTrigger::InterpreteBody(TString &str)
 {
     str = str.Strip(TString::kLeading);
@@ -59,6 +59,6 @@
     if (ws<=0)
     {
-        *fLog << err << "ERROR - Cannot determin name of trigger table." << endl;
-        return kFALSE;
+        *fLog << warn << "WARNING - Cannot determin name of trigger table." << endl;
+        return kCONTINUE;
     }
 
@@ -74,6 +74,6 @@
         if (n!=1)
         {
-            *fLog << err << "ERROR - Scaler Value #" << i << " missing." << endl;
-            return kFALSE;
+            *fLog << warn << "WARNING - Scaler Value #" << i << " missing." << endl;
+            return kCONTINUE;
         }
         pos += len;
@@ -82,5 +82,5 @@
     if (n!=2)
     {
-        *fLog << err << "ERROR - Couldn't read Trigger rates." << endl;
+        *fLog << warn << "WARNING - Couldn't read Trigger rates." << endl;
         return kFALSE;
     }
@@ -92,5 +92,5 @@
         if (n!=1)
         {
-            *fLog << err << "ERROR - Rate #" << i << " missing." << endl;
+            *fLog << warn << "WARNING - Rate #" << i << " missing." << endl;
             return kFALSE;
         }
@@ -100,4 +100,4 @@
     str.Strip(TString::kBoth);
 
-    return str==(TString)"OVER";
+    return str==(TString)"OVER" ? kTRUE : kCONTINUE;
 }
Index: trunk/MagicSoft/Mars/mreport/MReportTrigger.h
===================================================================
--- trunk/MagicSoft/Mars/mreport/MReportTrigger.h	(revision 2865)
+++ trunk/MagicSoft/Mars/mreport/MReportTrigger.h	(revision 2892)
@@ -19,5 +19,5 @@
     //TArrayF fRates;           //[Hz] curently undefined
 
-    Bool_t InterpreteBody(TString &str);
+    Int_t InterpreteBody(TString &str);
 
 public:
