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" ); }
//: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 }
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 ); }
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 ); }