zOPER_EXPORT zSHORT OPERATION zwTZVSDBAD_Update( zVIEW vSubtask ) { zVIEW StackObject; zVIEW XPG; zVIEW lpZeidonVML; zSHORT nZRetCode; zSHORT RESULT; zLONG lTempInteger_0; nZRetCode = GetViewByName( &lpZeidonVML, "ZeidonVML", vSubtask, zLEVEL_TASK ); nZRetCode = GetViewByName( &XPG, "XPG", lpZeidonVML, zLEVEL_SUBTASK ); nZRetCode = GetViewByName( &StackObject, "StackObject", vSubtask, zLEVEL_SUBTASK ); nZRetCode = GetIntegerFromAttribute( &lTempInteger_0, StackObject, "Variable", "ID" ); RESULT = SetCursorFirstEntityByInteger( XPG, "Variable", "ID", lTempInteger_0, "" ); if ( CompareAttributeToInteger ( XPG, "Variable", "DataType", 1045 ) != 0 ) { nZRetCode = SetWindowActionBehavior( vSubtask, zWAB_StartModalSubwindow, "TZVSDBAD", "UPDATEVAR" ); } else { zwTZVSDBAD_SpawnObjectBrowser( vSubtask ); } return( 0 ); }
zOPER_EXPORT zSHORT OPERATION zwTZCMRPTD_RefreshSelComponents( zVIEW vSubtask ) { zVIEW vTZCMLPLO; zVIEW vTZCMRPTO; zVIEW vCompList; zVIEW vTZCMRPTO_New; zCHAR szName[ 33 ]; zCHAR szERR_Msg[ 254 ]; SetNameForView( vSubtask,"TZCM_ChkInWindow", vSubtask, zLEVEL_TASK ); GetViewByName( &vTZCMRPTO, "TZCMRPTO", vSubtask, zLEVEL_TASK ); if ( SetCursorFirstSelectedEntity( vTZCMRPTO, "ReportLine", "" ) < zCURSOR_SET ) { zstrcpy( szERR_Msg, "No Component selected to Refresh." ); MessageSend( vSubtask, "CM00241", "Configuration Management", szERR_Msg, zMSGQ_OBJECT_CONSTRAINT_WARNING, zBEEP ); return( 0 ); } if ( zwTZCMLPLD_OptionRefreshFromRepo( vSubtask, &vTZCMLPLO, szName, zRefreshUserDefined ) < 0 ) { return( -1 ); } GetViewByName( &vTZCMRPTO_New, "TZCMRPTO_New", vSubtask, zLEVEL_TASK ); // if component refreshed? if ( CompareAttributeToInteger( vTZCMRPTO_New, "CPLR", "ComponentRefreshed", 1 ) == 0 ) { zstrcpy( szERR_Msg, "Project '" ); GetStringFromAttribute( &szERR_Msg[ zstrlen( szERR_Msg ) ], vTZCMLPLO, "LPLR", "Name" ); zstrcat( szERR_Msg, "' has been successfully refreshed \nfrom CPLR '" ); zstrcat( szERR_Msg, szName ); zstrcat( szERR_Msg, "'." ); MessageSend( vSubtask, "CM00279", "Configuration Management", szERR_Msg, zMSGQ_OBJECT_CONSTRAINT_INFORMATION, zBEEP ); } if ( GetViewByName( &vTZCMRPTO, "TZCMRPTO", vSubtask, zLEVEL_TASK ) > 0 ) DropObjectInstance( vTZCMRPTO ); // Build new Refresh List if ( zwTZCMLPLD_RefreshUserDefined( vSubtask ) < 1 ) return( -1 ); RefreshWindow( vSubtask ); if ( GetViewByName( &vCompList, "CompList", vSubtask, zLEVEL_TASK ) >= 0 ) RefreshWindow( vCompList ); return( 0 ); } // zwTZCMRPTD_RefreshSelComponents
///////////////////////////////////////////////////////////////////////////// // // OPERATION: zwTZERRORD_SetCountError // // ///////////////////////////////////////////////////////////////////////////// zOPER_EXPORT zSHORT /*DIALOG */ OPERATION zwTZERRORD_SetCountError( zVIEW vSubtask ) { zVIEW vTZERROR; zLONG lCountError; zLONG lCountWarning; zSHORT nRC; zCHAR szCount[ 10 ]; zCHAR szControlText[ 100 ]; if ( GetViewByName( &vTZERROR, "TZERROR", vSubtask, zLEVEL_TASK ) < 0 ) return( -1 ); if ( CheckExistenceOfEntity( vTZERROR, "ErrorList" ) >= zCURSOR_SET ) { // Set Count Errors to Textfield lCountError = 0; lCountWarning = 0; for ( nRC = SetCursorFirstEntity( vTZERROR, "ErrorMsg", "" ); nRC >= zCURSOR_SET; nRC = SetCursorNextEntity( vTZERROR, "ErrorMsg", "" ) ) { if ( CompareAttributeToInteger( vTZERROR, "ErrorMsg", "Error", 1 ) == 0 ) lCountError++; else lCountWarning++; } zltoa( lCountError, szCount ); zstrcpy( szControlText, " " ); zstrcat( szControlText, szCount ); zstrcat( szControlText, " Error(s) " ); if ( lCountWarning > 0 ) { zltoa( lCountWarning, szCount ); zstrcat( szControlText, ", " ); zstrcat( szControlText, szCount ); zstrcat( szControlText, " Warning(s) " ); } zstrcat( szControlText, "found" ); } else { zstrcpy( szControlText, " No Errors" ); } SetCtrlText( vSubtask, "txtCountError", szControlText ); return( 0 ); } // zwTZERRORD_SetCountError
///////////////////////////////////////////////////////////////////////////// // // OPERATION: zwTZERRORD_LoadPopup // // ///////////////////////////////////////////////////////////////////////////// zOPER_EXPORT zSHORT /*DIALOG */ OPERATION zwTZERRORD_LoadPopup( zVIEW vSubtask ) { zVIEW vTZERROR; zBOOL bEnable = TRUE; if ( GetViewByName( &vTZERROR, "TZERROR", vSubtask, zLEVEL_TASK ) < 0 ) return( -1 ); if ( CompareAttributeToInteger( vTZERROR, "ErrorList", "MetaType", zSOURCE_ERD_META ) != 0 ) { bEnable = FALSE; } EnableAction( vSubtask, "SelectEntity", bEnable ); CreateTrackingPopupMenu( vSubtask, "ErrorListPopup", -1, -1, FALSE, FALSE ); return( 0 ); } // zwTZERRORD_LoadPopup
///////////////////////////////////////////////////////////////////////////// // // OPERATION: zwTZERRORD_ErrorListSaveToFile // // ///////////////////////////////////////////////////////////////////////////// zOPER_EXPORT zSHORT /*DIALOG */ OPERATION zwTZERRORD_ErrorListSaveToFile( zVIEW vSubtask ) { zVIEW vTZERROR; zULONG ulZFlags = 0; zLONG lLth; zLONG FileHandle; zCHAR szMsg[300]; zCHAR szTool[50]; zCHAR szTitle[ 100 ]; zCHAR szName[ 33 ]; zCHAR szFileName[ zMAX_FILENAME_LTH + 1]; if ( GetViewByName( &vTZERROR, "TZERROR", vSubtask, zLEVEL_TASK ) < 0 ) return( -1 ); if ( CompareAttributeToInteger( vTZERROR, "ErrorList", "MetaType", zSOURCE_ERD_META ) == 0 ) { zstrcpy( szTool, "Data Model" ); zstrcpy( szName, "Entity" ); lLth = 32; } else if ( CompareAttributeToInteger( vTZERROR, "ErrorList", "MetaType", zSOURCE_REPLACE_BMP ) == 0 ) { zstrcpy( szTool, "Bitmap" ); zstrcpy( szName, "Dialog" ); lLth = 8; } else { zstrcpy( szTool, "" ); zstrcpy( szName, "" ); lLth = 1; } szFileName[ 0 ] = 0; ulZFlags = zOFN_OVERWRITEPROMPT | zOFN_CREATEPROMPT | zOFN_SAVEAS | zOFN_HIDEREADONLY; if ( OperatorPromptForFile( vSubtask, szFileName, sizeof( szFileName ), "Text Files (*.txt)|*.txt|", "txt", ulZFlags ) == 1 ) { FileHandle = SysOpenFile( vSubtask, szFileName, COREFILE_WRITE ); if ( FileHandle == -1 ) { zstrcpy( szMsg, "Unable to open " ); zstrcat( szMsg, szFileName ); zstrcpy( szTitle, szTool ); zstrcat( szTitle, " Maintenance" ); MessageSend( vSubtask, "FEH001", szTitle, szMsg, zMSGQ_OBJECT_CONSTRAINT_ERROR, 0 ); return( -1 ); } zwfnTZERRORD_WriteErrorListToFile( vTZERROR, FileHandle, szTool, szName, lLth ); SysCloseFile( vSubtask, FileHandle, 0 ); } return( 0 ); } // zwTZERRORD_ErrorListSaveToFile
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 ); }
//:DIALOG OPERATION //:RemoveAll ( VIEW vSubtask ) //: VIEW TZTENVRO REGISTERED AS TZTENVRO zOPER_EXPORT zSHORT OPERATION RemoveAll( zVIEW vSubtask ) { zVIEW TZTENVRO = 0; zSHORT RESULT; //:VIEW TZZOLODO REGISTERED AS TZZOLODO zVIEW TZZOLODO = 0; //:VIEW TZZOLODO_Hier BASED ON LOD TZZOLODO zVIEW TZZOLODO_Hier = 0; //:STRING ( 100 ) szEntityName zCHAR szEntityName[ 101 ] = { 0 }; //:SHORT sReturnLevel zSHORT sReturnLevel = 0; //:SHORT nRC zSHORT nRC = 0; //:INTEGER lAbsPos zLONG lAbsPos = 0; //:INTEGER lDataSourceZKey zLONG lDataSourceZKey = 0; RESULT = GetViewByName( &TZTENVRO, "TZTENVRO", vSubtask, zLEVEL_TASK ); RESULT = GetViewByName( &TZZOLODO, "TZZOLODO", vSubtask, zLEVEL_TASK ); //:CreateViewFromViewForTask( TZZOLODO, TZZOLODO, vSubtask ) CreateViewFromViewForTask( &TZZOLODO, TZZOLODO, vSubtask ); //:ResetView( TZZOLODO ) ResetView( TZZOLODO ); //:CreateViewFromViewForTask( TZZOLODO_Hier, TZZOLODO, vSubtask ) CreateViewFromViewForTask( &TZZOLODO_Hier, TZZOLODO, vSubtask ); //:szEntityName = "LOD_EntityParent" ZeidonStringCopy( szEntityName, 1, 0, "LOD_EntityParent", 1, 0, 101 ); //:lDataSourceZKey = TZTENVRO.TE_DBMS_Source.ZKey GetIntegerFromAttribute( &lDataSourceZKey, TZTENVRO, "TE_DBMS_Source", "ZKey" ); //:nRC = DefineHierarchicalCursor( TZZOLODO_Hier, "LOD_EntityParent" ) nRC = DefineHierarchicalCursor( TZZOLODO_Hier, "LOD_EntityParent" ); //:LOOP WHILE nRC >= zCURSOR_SET while ( nRC >= zCURSOR_SET ) { //: IF nRC = zCURSOR_SET_RECURSIVECHILD if ( nRC == zCURSOR_SET_RECURSIVECHILD ) { //: SetViewToSubobject( TZZOLODO_Hier, "LOD_EntityChild" ) SetViewToSubobject( TZZOLODO_Hier, "LOD_EntityChild" ); } //: END //: // Set up our temp view from the hier view. //: GetAbsolutePositionForEntity( lAbsPos, TZZOLODO_Hier, "LOD_EntityParent" ) GetAbsolutePositionForEntity( &lAbsPos, TZZOLODO_Hier, "LOD_EntityParent" ); //: SetCursorAbsolutePosition( szEntityName, TZZOLODO, lAbsPos ) SetCursorAbsolutePosition( szEntityName, TZZOLODO, lAbsPos ); //: IF szEntityName = "LOD_EntityParent" if ( ZeidonStringCompare( szEntityName, 1, 0, "LOD_EntityParent", 1, 0, 101 ) == 0 ) { //: SET CURSOR FIRST TZZOLODO.POD_Entity //: WHERE TZZOLODO.TE_DBMS_SourceForEntity.ZKey = lDataSourceZKey RESULT = SetCursorFirstEntity( TZZOLODO, "POD_Entity", "" ); if ( RESULT > zCURSOR_UNCHANGED ) { while ( RESULT > zCURSOR_UNCHANGED && ( CompareAttributeToInteger( TZZOLODO, "TE_DBMS_SourceForEntity", "ZKey", lDataSourceZKey ) != 0 ) ) { RESULT = SetCursorNextEntity( TZZOLODO, "POD_Entity", "" ); } } //: IF RESULT >= zCURSOR_SET if ( RESULT >= zCURSOR_SET ) { //: TZZOLODO.POD_Entity.SQL_JoinWithParent = "N" SetAttributeFromString( TZZOLODO, "POD_Entity", "SQL_JoinWithParent", "N" ); } //: END } //: END //: nRC = SetCursorNextEntityHierarchical( sReturnLevel, szEntityName, TZZOLODO_Hier ) nRC = SetCursorNextEntityHierarchical( (zPUSHORT) &sReturnLevel, szEntityName, TZZOLODO_Hier ); } //:END //:DropView( TZZOLODO_Hier ) DropView( TZZOLODO_Hier ); //:DropView( TZZOLODO ) DropView( TZZOLODO ); //:RefreshCtrl( vSubtask, "JoinCheck" ) RefreshCtrl( vSubtask, "JoinCheck" ); return( 0 ); // END }