Ajuda no Activex script dts no sqlserver

Olá amigos

estou com um grande problema, preciso fazer uma aplicação no qual vou extrair dados do banco teradata e fazer um txt
para isso estou usando a DTS do sqlserver2005, só que tem algumas regras a seguir e não sei como fazer isso.
tipo preciso pegar na tabela algumas informações e colocar na variavel para usar num select
também preciso pegar o dia mes e ano do sistema, mês anterior e colocar na variáveis para usar no select
como fazer isso usando a DTS do swl server2005?!?!

tenho um código do activex script, mas nao esta me ajudando muito, não sei como ele colocou as variaveis globais como implementa isso alguém pode me dar um help por favor, é muito urgente!!

vou postar o código:

view plaincopy to clipboardprint?
'Verifica se o processo já está em Execução   
Option Explicit   
  
Function Main()   
    Dim oPkg, oDataPump, sSQLStatement   
    Dim oPkg2, oDataPump2   
    Dim oPkg3, oDataPump3   
    Dim oPkg4, oDataPump4   
  
    Dim Periodo, DtCorte, Ciclo, NArq, NDir, Conta   
       
    Periodo  = DTSGlobalVariables("periodo").Value   
    Conta    = left(Periodo,6)   
    DtCorte  = DTSGlobalVariables("DtCorte").Value   
  
    DtCorte  = left(DtCorte,4) & "-" & Mid(DtCorte,5,2) & "-" & right(DtCorte,2)   
  
    Select Case right(Trim(Periodo),2)   
        Case  "09"   
                  Ciclo = "1"   
        Case "12"   
                  Ciclo = "2"   
        Case "15"   
                  Ciclo = "3"   
        Case "18"   
                  Ciclo = "4"   
        Case "21"   
                  Ciclo = "5"   
        Case "24"   
                  Ciclo = "6"   
        Case "27"   
                  Ciclo = "7"   
        Case "01"   
                  Ciclo = "8"   
        Case "03"   
                  Ciclo = "9"   
        Case "06"   
                  Ciclo = "10"   
    End Select   
  
       
    ' Construir nova SQL   
    sSQLStatement = "SELECT PQ_CT.ID_PC_PRODUTO_COMERCIAL AS PRODUTO_COMERCIAL," & chr(13) &_   
                "PQ_CT.ID_UNICO_SISTEMA_LEGADO AS NRC," & chr(13) &_   
                "PQ_CT.ID_SISTEMA_FONTE AS SISTEMA," & chr(13) &_   
                "PQ_CT.ID_CONTA," & chr(13) &_   
                "PQ_CT_HT.DT_INICIO (format 'yyyymmdd')(char(8)) DT_INI_PRQE," & chr(13) &_   
                "PQ_CT_HT.DT_FIM (format 'yyyymmdd')(char(8)) DT_FIM_PRQE," & chr(13) &_   
                "PQ_CT_HT.DT_INSTALACAO (format 'yyyymmdd')(char(8)) DT_INS_PRQE," & chr(13) &_   
                "PQ_CT_HT.DT_RETIRADA (format 'yyyymmdd')(char(8)) DT_RET_PRQE," & chr(13) &_   
                "PQ_CT_HT.ID_PRODUTO_COMERCIAL AS TERMINAL," & chr(13) &_   
                "PQ_CT_HT.ID_LOCALIDADE," & chr(13) &_   
                "SUBSTR(PQ_CT_HT.ID_SUBTP_PRODUTO_COMERCIAL,2,4) AS COD_SUBTP_PRODUTO_COMERCIAL," & chr(13) &_   
                "PQ_CT_HT.ID_STATUS_PC," & chr(13) &_   
                "PQ_CT_HT.ID_MOTIVO_PC," & chr(13) &_   
                "CNTA.CD_CONTA," & chr(13) &_   
                "CNTA.DT_ALTA (format 'yyyymmdd')(char(8)) AS DT_ALT_CNTA," & chr(13) &_   
                "CNTA.DT_BAIXA (format 'yyyymmdd')(char(8)) AS DT_BAI_CNTA," & chr(13) &_   
                "CNTA_HT.DT_INICIO (format 'yyyymmdd')(char(8)) AS DT_INI_CNTA," & chr(13) &_   
                "CNTA_HT.DT_FIM (format 'yyyymmdd')(char(8)) AS DT_FIM_CNTA," & chr(13) &_   
                "CNTA_HT.ID_STATUS_CONTA as ID_STATUS_CONTA," & chr(13) &_   
                "CNTA_HT.IN_STOP_FATURAMENTO," & chr(13) &_   
                "GRP_CNTA.CD_GRUPO_SEGMENTO_CONTA AS SEG_CNTA, " & chr(13) &_   
                "'" & Conta & "' AS CONTA " & chr(13) &_   
            "FROM   PW_VIEDB.PARQUE_CONTRATADO AS PQ_CT" & chr(13) &_   
            "INNER JOIN PW_VIEDB.PARQUE_CONTRATADO_HIST AS PQ_CT_HT" & chr(13) &_   
                "ON PQ_CT_HT.ID_PC_PRODUTO_COMERCIAL = PQ_CT.ID_PC_PRODUTO_COMERCIAL" & chr(13) &_   
                          "AND PQ_CT_HT.ID_PRODUTO_COMERCIAL NOT LIKE '0000000%'" & chr(13) &_   
                          "AND '" & DtCorte & "' BETWEEN PQ_CT_HT.DT_INICIO AND PQ_CT_HT.DT_FIM" & chr(13) &_   
            "INNER JOIN PW_VIEDB.CONTA AS CNTA ON CNTA.ID_CONTA = PQ_CT.ID_CONTA" & chr(13) &_   
            "INNER JOIN PW_VIEDB.CONTA_HIST AS CNTA_HT" & chr(13) &_   
                "ON CNTA_HT.ID_CONTA = CNTA.ID_CONTA" & chr(13) &_   
                "AND '" & DtCorte & "' BETWEEN CNTA_HT.DT_INICIO AND CNTA_HT.DT_FIM" & chr(13) &_   
                "AND CNTA_HT.ID_CICLO = " & Ciclo & chr(13) &_   
            "INNER JOIN PW_VIEDB.SUBSEGMENTO_CONTA AS SUB_CNTA" & chr(13) &_   
                "ON SUB_CNTA.ID_SUBSEGMENTO_CONTA= CNTA_HT.ID_SUBSEGMENTO_CONTA" & chr(13) &_   
            "INNER JOIN PW_VIEDB.SEGMENTO_CONTA AS SEG_CNTA" & chr(13) &_   
                "ON SEG_CNTA.ID_SEGMENTO_CONTA = SUB_CNTA.ID_SEGMENTO_CONTA" & chr(13) &_   
            "INNER JOIN PW_VIEDB.GRUPO_SEGMENTO_CONTA AS GRP_CNTA" & chr(13) &_   
                "ON GRP_CNTA.ID_GRUPO_SEGMENTO_CONTA = SEG_CNTA.ID_GRUPO_SEGMENTO_CONTA" & chr(13) &_   
            "GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21"   
  
  
  
            ' Get reference to the DataPump Task   
            Set oPkg = DTSGlobalVariables.Parent   
            Set oDataPump = oPkg.Tasks("DTSTask_DTSDataPumpTask_1").CustomTask   
            oDataPump.SourceSQLStatement = sSQLStatement   
               
            NDir = right(Trim(Periodo),2)             
            NArq = "D:\Publico\201106\" & NDir & "\Parque_contratado_" & Periodo & ".txt"   
            Set oPkg2 = DTSGlobalVariables.Parent   
            Set oDataPump2 = oPkg2.Tasks("DTSTask_DTSDataPumpTask_2").CustomTask   
            oDataPump2.DestinationObjectName = NArq   
           
           
            Set oPkg3 = DTSGlobalVariables.Parent   
            Set oDataPump3 = oPkg3.Connections("Envia_para_arquivo_texto")   
            oDataPump3.DataSource =  NArq   
           
  
               
               
               
  
  
            Main = DTSTaskExecResult_Success             
End Function  
'Verifica se o processo já está em Execução
Option Explicit

Function Main()
	Dim oPkg, oDataPump, sSQLStatement
	Dim oPkg2, oDataPump2
	Dim oPkg3, oDataPump3
	Dim oPkg4, oDataPump4

	Dim Periodo, DtCorte, Ciclo, NArq, NDir, Conta
	
	Periodo	 = DTSGlobalVariables("periodo").Value
	Conta	 = left(Periodo,6)
	DtCorte	 = DTSGlobalVariables("DtCorte").Value

	DtCorte	 = left(DtCorte,4) & "-" & Mid(DtCorte,5,2) & "-" & right(DtCorte,2)

	Select Case right(Trim(Periodo),2)
		Case  "09"
		          Ciclo = "1"
		Case "12"
		          Ciclo = "2"
		Case "15"
		          Ciclo = "3"
		Case "18"
		          Ciclo = "4"
		Case "21"
		          Ciclo = "5"
		Case "24"
		          Ciclo = "6"
		Case "27"
		          Ciclo = "7"
		Case "01"
		          Ciclo = "8"
		Case "03"
		          Ciclo = "9"
		Case "06"
		          Ciclo = "10"
	End Select

	
	' Construir nova SQL
	sSQLStatement = "SELECT PQ_CT.ID_PC_PRODUTO_COMERCIAL AS PRODUTO_COMERCIAL," & chr(13) &_
				"PQ_CT.ID_UNICO_SISTEMA_LEGADO AS NRC," & chr(13) &_
				"PQ_CT.ID_SISTEMA_FONTE AS SISTEMA," & chr(13) &_
				"PQ_CT.ID_CONTA," & chr(13) &_
				"PQ_CT_HT.DT_INICIO (format 'yyyymmdd')(char(8)) DT_INI_PRQE," & chr(13) &_
				"PQ_CT_HT.DT_FIM (format 'yyyymmdd')(char(8)) DT_FIM_PRQE," & chr(13) &_
				"PQ_CT_HT.DT_INSTALACAO (format 'yyyymmdd')(char(8)) DT_INS_PRQE," & chr(13) &_
				"PQ_CT_HT.DT_RETIRADA (format 'yyyymmdd')(char(8)) DT_RET_PRQE," & chr(13) &_
				"PQ_CT_HT.ID_PRODUTO_COMERCIAL AS TERMINAL," & chr(13) &_
				"PQ_CT_HT.ID_LOCALIDADE," & chr(13) &_
				"SUBSTR(PQ_CT_HT.ID_SUBTP_PRODUTO_COMERCIAL,2,4) AS COD_SUBTP_PRODUTO_COMERCIAL," & chr(13) &_
				"PQ_CT_HT.ID_STATUS_PC," & chr(13) &_
				"PQ_CT_HT.ID_MOTIVO_PC," & chr(13) &_
				"CNTA.CD_CONTA," & chr(13) &_
				"CNTA.DT_ALTA (format 'yyyymmdd')(char(8)) AS DT_ALT_CNTA," & chr(13) &_
				"CNTA.DT_BAIXA (format 'yyyymmdd')(char(8)) AS DT_BAI_CNTA," & chr(13) &_
				"CNTA_HT.DT_INICIO (format 'yyyymmdd')(char(8)) AS DT_INI_CNTA," & chr(13) &_
				"CNTA_HT.DT_FIM (format 'yyyymmdd')(char(8)) AS DT_FIM_CNTA," & chr(13) &_
				"CNTA_HT.ID_STATUS_CONTA as ID_STATUS_CONTA," & chr(13) &_
				"CNTA_HT.IN_STOP_FATURAMENTO," & chr(13) &_
				"GRP_CNTA.CD_GRUPO_SEGMENTO_CONTA AS SEG_CNTA, " & chr(13) &_
				"'" & Conta & "' AS CONTA " & chr(13) &_
			"FROM	PW_VIEDB.PARQUE_CONTRATADO AS PQ_CT" & chr(13) &_
			"INNER JOIN	PW_VIEDB.PARQUE_CONTRATADO_HIST AS PQ_CT_HT" & chr(13) &_
				"ON PQ_CT_HT.ID_PC_PRODUTO_COMERCIAL = PQ_CT.ID_PC_PRODUTO_COMERCIAL" & chr(13) &_
			              "AND PQ_CT_HT.ID_PRODUTO_COMERCIAL NOT LIKE '0000000%'" & chr(13) &_
			              "AND '" & DtCorte & "' BETWEEN PQ_CT_HT.DT_INICIO AND PQ_CT_HT.DT_FIM" & chr(13) &_
			"INNER JOIN	PW_VIEDB.CONTA AS CNTA ON CNTA.ID_CONTA = PQ_CT.ID_CONTA" & chr(13) &_
			"INNER JOIN	PW_VIEDB.CONTA_HIST AS CNTA_HT" & chr(13) &_
				"ON CNTA_HT.ID_CONTA = CNTA.ID_CONTA" & chr(13) &_
				"AND '" & DtCorte & "' BETWEEN CNTA_HT.DT_INICIO AND CNTA_HT.DT_FIM" & chr(13) &_
				"AND CNTA_HT.ID_CICLO = " & Ciclo & chr(13) &_
			"INNER JOIN	PW_VIEDB.SUBSEGMENTO_CONTA AS SUB_CNTA" & chr(13) &_
				"ON SUB_CNTA.ID_SUBSEGMENTO_CONTA= CNTA_HT.ID_SUBSEGMENTO_CONTA" & chr(13) &_
			"INNER JOIN	PW_VIEDB.SEGMENTO_CONTA AS SEG_CNTA" & chr(13) &_
				"ON SEG_CNTA.ID_SEGMENTO_CONTA = SUB_CNTA.ID_SEGMENTO_CONTA" & chr(13) &_
			"INNER JOIN	PW_VIEDB.GRUPO_SEGMENTO_CONTA AS GRP_CNTA" & chr(13) &_
				"ON GRP_CNTA.ID_GRUPO_SEGMENTO_CONTA = SEG_CNTA.ID_GRUPO_SEGMENTO_CONTA" & chr(13) &_
			"GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21"


			' Get reference to the DataPump Task
			Set oPkg = DTSGlobalVariables.Parent
			Set oDataPump = oPkg.Tasks("DTSTask_DTSDataPumpTask_1").CustomTask
			oDataPump.SourceSQLStatement = sSQLStatement
			
			NDir = right(Trim(Periodo),2)			
			NArq = "D:\Publico\201106\" & NDir & "\Parque_contratado_" & Periodo & ".txt"
			Set oPkg2 = DTSGlobalVariables.Parent
			Set oDataPump2 = oPkg2.Tasks("DTSTask_DTSDataPumpTask_2").CustomTask
			oDataPump2.DestinationObjectName = NArq
		
		
			Set oPkg3 = DTSGlobalVariables.Parent
			Set oDataPump3 = oPkg3.Connections("Envia_para_arquivo_texto")
			oDataPump3.DataSource =  NArq
		

	        Main = DTSTaskExecResult_Success	       
End Function
 

Por favor se alguém puder me ajudar grato, já fui em vários foruns e ninguém ajudou!!!