Beispiel #1
0
static void
zwfnTZERRORD_WriteErrorListToFile( zVIEW vTZERROR, zLONG  FileHandle,
                                   zPCHAR szTool, zPCHAR szName, zLONG lLen )
{
   zSHORT nRC;
   zCHAR  szMsg[500];
   zCHAR  szTemp[ 255 ];
   zLONG  i;

   // write Tool and DateTime
   zstrcpy( szMsg, "Zeidon:  " );
   zstrcat( szMsg, szTool );
   zstrcat( szMsg, " Error List from " );
   GetStringFromAttributeByContext( szTemp, vTZERROR, "ErrorList",
                                    "DateTime", "DD.MM.YYYY HH:MM:SS", 20 );
   zstrcat( szMsg, szTemp );
   SysWriteLine( FileHandle, szMsg );
   SysWriteLine( FileHandle, "" );

   // write LPLR Name
   GetStringFromAttribute( szTemp, vTZERROR, "ErrorList", "LPLR_Name" );
   if ( szTemp[ 0 ] )
   {
      zstrcpy( szMsg, "Project: " );
      zstrcat( szMsg, szTemp );
      SysWriteLine( FileHandle, szMsg );
      SysWriteLine( FileHandle, "" );
   }

   // write Error Message
   for ( nRC = SetCursorFirstEntity( vTZERROR, "ErrorMsg", "" );
         nRC >= zCURSOR_SET;
         nRC = SetCursorNextEntity( vTZERROR, "ErrorMsg", "" ) )
   {
      GetStringFromAttribute( szTemp, vTZERROR, "ErrorMsg", "Name" );
      if ( zstrcmp( szTemp, "" ) != 0 )
      {
         zstrcpy( szMsg, szName );
         zstrcat( szMsg, ": " );
         zstrcat( szMsg, szTemp );
         for ( i = zstrlen( szTemp ); i < lLen; i++ )
            zstrcat( szMsg, " " );
      }

      zstrcat( szMsg, "  " );
      GetStringFromAttribute( szTemp, vTZERROR, "ErrorMsg", "ErrorText" );
      zstrcat( szMsg, szTemp );
      SysWriteLine( FileHandle, szMsg );
   }

   SysWriteLine( FileHandle, "" );
   SysWriteLine( FileHandle, "End of Error List" );
}
Beispiel #2
0
//:LOCAL OPERATION
static zSHORT
oTZRPSRCO_GenerateXMLLine( zVIEW     ReportObject,
                           zLONG     lFileHandle,
                           zPCHAR    szOutputLine )
{

   //:GenerateXMLLine( VIEW ReportObject BASED ON LOD TZRPSRCO,
   //:           INTEGER lFileHandle,
   //:           STRING ( 5000 ) szOutputLine )

   //:// This is just a SysWriteLine with an options TraceLineS statement.
   //://TraceLineS( "*** Line: ", szOutputLine )
   //:SysWriteLine( ReportObject, lFileHandle, szOutputLine )
   SysWriteLine( ReportObject, lFileHandle, szOutputLine );
   return( 0 );
// END
} 
Beispiel #3
0
zSHORT  /* LOCAL */  OPERATION
zwTZCMRPTD_ExportTextAUX( zVIEW vSubtask,
                          zPCHAR pszFileName )
{
   zVIEW   vTZBRAU3O;
   zLONG   lfFile;
   zCHAR   szMsg[ 256 ];
   zCHAR   szText[ 1000 ];
   zPCHAR  szAttr;

   if ( GetViewByName( &vTZBRAU3O, "TZBRAU3O", vSubtask, zLEVEL_TASK ) > 0 )
   {
      lfFile = SysOpenFile( vSubtask, pszFileName, COREFILE_WRITE );

      if ( lfFile < 0 )
      {
         strcpy( szMsg, "Error writing the File '" );
         strcat( szMsg, pszFileName );
         strcat( szMsg, "'." );
         MessageSend( vSubtask, "CM00xxx", "Configuration Management",
                      szMsg, zMSGQ_OBJECT_CONSTRAINT_ERROR, zBEEP );
      }

      strcpy( szText, "AuditTrail Print created with (c) Zeidon 1997" );
      SysWriteLine( vSubtask, lfFile, szText );

      strcpy( szText, "---------------------------------------------" );
      SysWriteLine( vSubtask, lfFile, szText );

      // save the CPLR-Name:
      strcpy( szText, "CPLR:\t\t" );
      GetStringFromAttribute( szMsg, vTZBRAU3O, "CPLR", "Name" );
      strcat( szText, szMsg );
      SysWriteLine( vSubtask, lfFile, szText );

      // save the DateTime:
      strcpy( szText, "Date:\t\t" );
      GetStringFromAttributeByContext( szMsg, vTZBRAU3O, "AuditTrail", "TimeStamp",
                                       "DD.MM.YYYY HH:MM:SS", 20);
      strcat( szText, szMsg );
      SysWriteLine( vSubtask, lfFile, szText );

      // save the User:
      strcpy( szText, "User:\t\t" );
      GetStringFromAttribute( szMsg, vTZBRAU3O, "AuditTrail", "UserName" );
      strcat( szText, szMsg );
      strcat( szText, " " );
      GetStringFromAttribute( szMsg, vTZBRAU3O, "AuditTrail", "UserDesc" );
      strcat( szText, szMsg );
      SysWriteLine( vSubtask, lfFile, szText );

      // save the ShortDesc:
      strcpy( szText, "ShortDesc:\t" );
      GetStringFromAttribute( szMsg, vTZBRAU3O, "AuditTrail", "ShortDesc" );
      strcat( szText, szMsg );
      SysWriteLine( vSubtask, lfFile, szText );

      strcpy( szText, "---------------------------------------------" );
      SysWriteLine( vSubtask, lfFile, szText );

      GetAddrForAttribute( &szAttr, vTZBRAU3O, "AuditTrail", "Desc" );
      SysWriteLine( vSubtask, lfFile, szAttr );

      // Close the template file.
      SysCloseFile( vSubtask, lfFile, 0 );
   }
   else
   {
      IssueError( vSubtask, 0, 0,
                  "Object TZCMAU3O does not exist (zwTZCMRPTD_ExportTextAUX)" );
   }

   return( 0 );
}
Beispiel #4
0
zOPER_EXPORT zLONG OPERATION
SyntaxError( zVIEW vSubtask, zLONG lErrorNumber, zPCHAR szErrorString )
{
   zVIEW vError;
   zVIEW vSearchError;
   zBOOL bFound;
   zBOOL bDone;
   zCHAR szMessage[ 256 ];
   zCHAR szNum[ 10 ];
   zLONG lRC;

   if ( GetViewByName( &vError, "TZVMEROO", vSubtask, zLEVEL_TASK ) > 0 )
   {
   // IssueError( vError, 0, 0, "Syntax Error" );

      // build msc type error message
      GetStringFromAttribute( szMessage, vError, "Root", "SourceFileName" );
      zstrcat( szMessage, "(" );
      zltoa( qqlineno, szNum );
      zstrcat( szMessage, szNum );
      zstrcat( szMessage, ") : error " );
      zltoa( lErrorNumber, szNum );
      zstrcat( szMessage, szNum );
      zstrcat( szMessage, ": " );
      zstrcat( szMessage, g_szMessages[ lErrorNumber - 501 ] );
      switch ( lErrorNumber )
      {
         case eQINVALIDFUNCTIONPARAM /*553*/:
         case eQINVALIDFUNCTIONDEF /*554*/  :
         case 556:
            break;
         default:
            zstrcat( szMessage, " Last Token " );
            if ( !szErrorString || !szErrorString[ 0 ] )
               zstrcat( szMessage, sQToken.szToken );
      }

      zstrcat( szMessage, szErrorString );

      // look to see if a similar error message has been posted
      // we need to match both nErrorNumber and szErrorString
      CreateViewFromViewForTask( &vSearchError, vError, 0 );

      bFound = FALSE;
      bDone = FALSE;

      // Try to find 1st occurrence of current Last Token
      lRC = SetCursorFirstEntityByString( vSearchError, "Error", "LastToken", szErrorString, "" );

      // if none was found, skip the following loop
      if ( lRC < zCURSOR_SET )
         bDone = TRUE;

      while ( !bDone )
      {
         // If we have found an occurrence of current Last Token
         if ( lRC >= zCURSOR_SET )
         {
            // check error number
            lRC = CompareAttributeToInteger( vSearchError, "Error", "ErrorNumber", lErrorNumber );
            // if a match
            if ( lRC == 0 )
            {
               bDone = TRUE;
               bFound = TRUE;
            }

            // otherwise, look again
            else
            {
               lRC = SetCursorNextEntityByString( vSearchError, "Error", "LastToken",
                                                  szErrorString, "" );
            }
         }
         // otherwise, no more occurrences of szErrorString found
         else
         {
            // so we quit looking
            bDone = TRUE;
         }
      }

      // if a simlar error was NOT previously issued
      if ( bFound == FALSE )
      {
         // put the error in error LOD
         CreateEntity( vError, "Error", zPOS_AFTER );
         SetAttributeFromString ( vError, "Error", "String", szMessage );
         SetAttributeFromString ( vError, "Error", "LastToken", szErrorString );
         SetAttributeFromInteger( vError, "Error", "ErrorNumber", lErrorNumber );

      // SysWriteLine( g_lfErrorHandle, "------" );
      // SysWriteLine( g_lfErrorHandle, "------" );
         SysWriteLine( vError, g_lfErrorHandle, szMessage );
      }

      // drop the search view
      DropView( vSearchError );
   }

   // some errors require the parsing process to be stopped,
   //  because Object Engine errors would come up.
   switch ( lErrorNumber )
   {
      case eQNOOPERATIONNAMEGIVEN:
         SkipRemainingFile( );
         TraceLineS( "VML Parsing STOPPED on ERROR --", szMessage );
         break;

      default:
         TraceLineS( "VML Parsing ERROR --", szMessage );
         break;
   }

   return( 0 );
}