Subversion Repositories DevTools

Rev

Rev 29 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?xml version="1.0" ?>
<package>
        <comment>
        PrimalCode wizard generated file.
        </comment>
        <job id="CheckForPackageVersions" args="/bom_id:2864" prompt="no">
                <?job error="false" debug="false" ?>
                <runtime>
                        <named helpstring="Bom ID" name="bom_id" required="false" type="string"/>
                </runtime>
                <object id="Oracle_Objects_For_OLE" progid="OracleInProcServer.XOraServer" events="true"/>
                <script language="VBScript" src="common_subs.vbs"/>
                <script language="VBScript" src="config.vbs"/>
                        
                <script language="VBScript" src="pkg_archive.vbs"/>
                <script id="CheckForPackageVersions" language="VBScript">
<![CDATA[
Option Explicit
'=====================================================
'        Name:  GetComponents
' Description:  Connects to dpkg_archive and gets the
'                               content of folders and files of certain
'                               package. It then stores this info into 
'                               Release Manager database. This info can
'                               later be included in release notes Or
'                               searched with search engine.
'               INPUT:  pkg_name
'                               pkg_version
'=====================================================

'== Variable Definition ==============================
Dim BomId
Dim CompareBomId
Dim UserName
Dim objArgs

'== Constants Declaration ============================
'== Variable Init ====================================
'=====================================================

'-----------------------------------------------------------------------------------------------------------------
Sub CheckForPackageVersions ( nBomId, nCompareBomId, sUserName )
        Dim rsQry, rsTemp, rsDep, aPackages, XMLNode, DateString, objPkgFileSys, sSourcePath, sDestPath, oFileSys
        Dim lastRow, row, MappedDrive, objMessage, strBody, strHTML, isPatch, pkgName
        Dim outUser, outPassword, command, login_details
        Dim ftp, scriptPath, pdfPath

        scriptPath = "E:\wwwTRD\manager_suite\deployment_manager\jobs\uploadscripts"

        pdfPath = "E:\wwwTRD\manager_suite\deployment_manager\pdf"

        Set oFileSys = CreateObject("Scripting.FileSystemObject")       
        
        OraDatabase.Parameters.Add "BOM_ID", nBomId, ORAPARM_INPUT, ORATYPE_NUMBER 
        OraDatabase.Parameters.Add "COMPARE_BOM_ID", nCompareBomId, ORAPARM_INPUT, ORATYPE_NUMBER 

        Set rsTemp = OraDatabase.DbCreateDynaset( GetQuery ("BomLocationDetails.sql"), ORADYN_DEFAULT ) 
                          
        Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("BomCompare.sql"), ORADYN_DEFAULT )
        
        OraDatabase.Parameters.Remove "BOM_ID"
        OraDatabase.Parameters.Remove "COMPARE_BOM_ID"

        
        Set objPkgFileSys = New PkgArchive

        objPkgFileSys.Map_Network_Drive  UNC_ARCHIVE, MappedDrive       ' Map Drive if required
        
        objPkgFileSys.Remote_Host = TELNET_MACHINE

        objPkgFileSys.Archive_Path = TELNET_RELEASES


        
        If rsQry.RecordCount > 0 Then
                aPackages = rsQry.GetRows()
                
        End If
        
        lastRow = UBound( aPackages, 2 )
        DateString = DateReversed( Date )
        
        'strBody = NULL

        

        
        For row = 0 To lastRow  
                isPatch = aPackages (7, row)
                
                If isPatch = "Y" Then
                        Set rsDep = OraDatabase.DbCreateDynaset( "select * from package_dependencies pd, package_versions pv where pd.dpv_id = pv.pv_id and pd.pv_id ="&aPackages(0, row), ORADYN_DEFAULT )
                        sSourcePath = "\\auperaunx26\releases\"&rsTemp("proj_name")&"\"&rsTemp("branch_name")&"\"&aPackages(1, row)&"\"&rsDep("pkg_version")    
                        rsDep.Close()
                        Set rsDep = nothing
                Else
                        sSourcePath = "\\auperaunx26\releases\"&rsTemp("proj_name")&"\"&rsTemp("branch_name")&"\"&aPackages(1, row)&"\"&aPackages(6, row)&"\"&aPackages(2, row) 

                        Wscript.Echo sSourcePath
                End If


                If oFileSys.FolderExists( sSourcePath ) Then
                        objPkgFileSys.Make_Zip aPackages(1, row) &"-"& aPackages(2, row) &"-" & aPackages(6, row) &".zip", "/devl/releases/"& rsTemp("proj_name") &"/"& rsTemp("branch_name") &"/"& aPackages(1, row) &"/"& aPackages(6, row) &"/"& aPackages(2, row)&"/"
                        ftp = ftp + "mput "&chr(34)&"m:\releases\"&rsTemp("proj_name")&"\"&rsTemp("branch_name")&"\"&aPackages(1, row)&"\"&aPackages(6, row)&"\"&aPackages(2, row)&"\"&aPackages(1, row) &"-"& aPackages(2, row) &"-" & aPackages(6, row) &".zip"&chr(34)&""& VbCrLf
                Else
                        'Wscript.Echo pkgName
                        If pkgName = aPackages(1, row) Then
                                strBody = strBody + "<br>Version: "&aPackages(2, row) 
                        Else
                                strBody = strBody + "<br><br>"
                                strBody = strBody + "Project: "&rsTemp("proj_name")
                                strBody = strBody + "<br>Branch: "&rsTemp("branch_name") 
                                strBody = strBody + "<br>Package: "&aPackages(1, row)
                                strBody = strBody + "<br>Version: "&aPackages(2, row)   
                        End If
                End If
                pkgName = aPackages(1, row)
        Next

        If NOT IsNull( ftp ) Then

                Dim batch_data, batch_file, txt_data, txt_file, pdf, pdf_data, pdf_file

                pdf_file = rsTemp("bom_name")&" "&rsTemp("bom_version")&"."&rsTemp("bom_lifecycle")&".txt"

                pdf = "mput "&chr(34)&pdfPath&"\"&rsTemp("bom_name")&" "&rsTemp("bom_version")&"."&rsTemp("bom_lifecycle")&".pdf"&chr(34)&""& VbCrLf

                pdf_data = "open peraft01" & VbCrLf
                pdf_data = pdf_data + "releasem" & VbCrLf
                pdf_data = pdf_data + "releasem" & VbCrLf
                pdf_data = pdf_data + "binary" & VbCrLf
                pdf_data = pdf_data + "prompt" & VbCrLf
                pdf_data = pdf_data + pdf & VbCrLf
                pdf_data = pdf_data + "bye"

                Call SaveBatchFile ( pdfPath, pdf_file, pdf_data )


                txt_file = rsTemp("branch_name") + "_"&rsTemp("bom_version")&"."&rsTemp("bom_lifecycle")&".txt"
                batch_file = rsTemp("branch_name") + "_"&rsTemp("bom_version")&"."&rsTemp("bom_lifecycle")&".bat"

                txt_data = "open peraft01" & VbCrLf
                txt_data = txt_data + "releasem" & VbCrLf
                txt_data = txt_data + "releasem" & VbCrLf
                txt_data = txt_data + "binary" & VbCrLf
                txt_data = txt_data + "prompt" & VbCrLf
                txt_data = txt_data + ftp & VbCrLf
                txt_data = txt_data + "bye"


                Call SaveBatchFile ( scriptPath, txt_file, txt_data )

                batch_data = "ftp -s:"&chr(34)&pdfPath&"\"&pdf_file&""&chr(34)&""& VBCrLf

                batch_data = batch_data + "net use m: "&UNC_ARCHIVE&" /USER:ERG\releasem releasem" & VbCrLf
                batch_data = batch_data + "ftp -s:"&chr(34)&scriptPath&"\"&txt_file&""&chr(34)&""& VBCrLf
                
                batch_data = batch_data + "net use m: /delete"

                Call SaveBatchFile ( scriptPath, batch_file, batch_data )

                Dim sysShell 

                Set sysShell = WScript.CreateObject("WScript.Shell")

                Wscript.Echo chr(34)&scriptPath&"\"&batch_file&chr(34)
                
                sysShell.Run chr(34)&scriptPath&"\"&batch_file&chr(34), 0, False

                
        End If

        If strBody <> "" Then

                strHTML = "<HTML>"
                strHTML = strHTML & "<HEAD>"
                strHTML = strHTML & "<BODY>"
                strHTML = strHTML & "<b>"&strBody&"</b></br>"
                strHTML = strHTML & "</BODY>"
                strHTML = strHTML & "</HTML>"

                Set objMessage = CreateObject("CDO.Message") 
                objMessage.Subject = "Missing Packages In Releases Area" 
                objMessage.From = "releasem@erggroup.com" 'System Administrators 
                objMessage.To = sUserName&"@erggroup.com" 'BOM Releasor  
                'Wscript.Echo strHTML

                'The line below shows how to send using HTML included directly in your script
                objMessage.HTMLBody = strHTML

                objMessage.Configuration.Fields.Item _
                ("http://schemas.microsoft.com/cdo/configuration/sendusing")= 2
                                
                'IP of remote SMTP server for ERG
                objMessage.Configuration.Fields.Item _
                ("http://schemas.microsoft.com/cdo/configuration/smtpserver") _
                = "aupera03.aupera.erggroup.com"
                                
                'Server port = 25
                objMessage.Configuration.Fields.Item _
                ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") _
                = 25 
                                
                objMessage.Configuration.Fields.Update
                
                objMessage.Send()

                Set objMessage = Nothing

        End If
        


        Set objPkgFileSys = Nothing
        Set oFileSys = Nothing

        rsQry.Close()
        rsTemp.Close()
        
        Set rsQry = Nothing
        Set rsTemp = Nothing
        
        
        
                  
                        
End Sub
'-----------------------------------------------------------------------------------------------------------------


Function FormatFileName ( sFileName )
        Dim sReturn
        
        sReturn = Replace ( sFileName, "/", "" )        
        sReturn = Replace ( sReturn, "\", "" )  
        sReturn = Replace ( sReturn, "&", "And" )       
        sReturn = Replace ( sReturn, " ", "_" )         
        
        FormatFileName = sReturn
        
End Function
'-----------------------------------------------------------------------------------------------------------------




'=================================== MAIN LINE ======================================
WScript.Echo "==================== job:CheckForPackageVersions ===================="

Set objArgs = WScript.Arguments

If (objArgs.Unnamed.Count > 0) Then
        Wscript.Echo "ERROR: Unnamed parameters!"
        objArgs.ShowUsage
        WScript.Quit
        
Else
        BomId = objArgs.Named.Item("bom_id")
        CompareBomId = objArgs.Named.Item("compare_bom_id")
        UserName = objArgs.Named.Item("user_name")
                
        If ( BomId <> "" ) And (CompareBomId <> "") And (UserName <> "") Then
                'Check if the Package Versions Exists for Tests to be Uploaded.  
                Call CheckForPackageVersions( BomId, CompareBomId, UserName )
        Else
                objArgs.ShowUsage
                WScript.Quit
                
        End If
        
End If


WScript.Echo "Job completed successfully!"

'====================================================================================


]]>
                </script>
        </job>
</package>