Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "PROTHEUS.CH"
- #include "TOPCONN.CH"
- #include "RWMAKE.CH"
- User Function ArqTemp()
- LOCAL aStru := {}
- LOCAL cQuery := ""
- //LOCAL aTamCpo := {}
- //LOCAL cAlias := GetNextAlias()
- PRIVATE cArq := ""
- PRIVATE aCampos := {}
- PRIVATE oBrw1
- PRIVATE _oMark
- PRIVATE oBtnSai
- //+-------------------------------------------------------------------+
- //! Definicao da estrutura do arquivo temporario... !
- //+-------------------------------------------------------------------+
- //aTamCpo := TamSx3("A1_COD")
- /*
- aAdd(aStru, {"CODIGO" , "C", TamSx3("A1_COD")[1] , 0})
- aAdd(aStru, {"LOJA" , "C", TamSx3("A1_LOJA")[1], 0})
- aAdd(aStru, {"NOME" , "C", TamSx3("A1_NOME")[1], 0})
- */
- aAdd(aStru, {"CODIGO" , "C", TamSx3("Z8_CODIGO")[1] , 0})
- aAdd(aStru, {"DESC" , "C", TamSx3("Z8_DESC")[1], 0})
- aAdd(aStru, {"ESPESS" , "C", TamSx3("Z8_ESPESS")[1], 0})
- //+-------------------------------------------------------------------+
- //! Criacao do arquivo temporario... !
- //+-------------------------------------------------------------------+
- cArq := CriaTrab(aStru, .T.)
- //+-------------------------------------------------------------------+
- //! Disponibilizar a tabela na area de trabalho... !
- //! E atribui um nome logico para a tabela fisica... !
- //+-------------------------------------------------------------------+
- dbUseArea(.T.,,cArq,"TRB2")
- //+-------------------------------------------------------------------+
- //! Criacao de um indice para a tabela... !
- //+-------------------------------------------------------------------+
- //IndRegua("TRB2",cArq,"NOME",,,"Selecionando registros...")
- IndRegua("TRB2",cArq,"CODIGO",,,"Selecionando registros...")
- //+-------------------------------------------------------------------+
- //! Criacao da Query e atribuicao a var cQuery... !
- //+-------------------------------------------------------------------+
- /*
- cQuery := "SELECT * FROM "+RetSQLName("SA1")
- cQuery += " WHERE "
- cQuery += " A1_FILIAL = '"+xFilial("SA1")+"' AND "
- cQuery += " A1_EST != 'SP' AND "
- cQuery += " D_E_L_E_T_ <> '*' "
- */
- cQuery := "SELECT * FROM "+RetSQLName("SZ8")
- cQuery += " WHERE "
- cQuery += " Z8_FILIAL = '"+xFilial("SZ8")+"' AND "
- //cQuery += " A1_EST != 'SP' AND "
- cQuery += " D_E_L_E_T_ <> '*' "
- //+-------------------------------------------------------------------+
- //! Teste para ver se o arquivo ja existe... !
- //+-------------------------------------------------------------------+
- If Select("TRBSA1") <> 0
- dbSelectArea("TRBSA1")
- dbCloseArea()
- Endif
- //+-------------------------------------------------------------------+
- //! Criacao de um indice para a tabela... !
- //+-------------------------------------------------------------------+
- TCQuery cQuery New Alias "TRBSA1"
- //+-------------------------------------------------------------------+
- //! Loop para ir ate o final da tabela trbsa1... !
- //+-------------------------------------------------------------------+
- Do While !TRBSA1->(EOF())
- //+-------------------------------------------------------------------+
- //! Lock da tabela e atribuicao dos valores a mesma... !
- //+-------------------------------------------------------------------+
- RecLock("TRB2",.T.)
- /*
- TRB2->CODIGO := TRBSA1->A1_COD
- TRB2->LOJA := TRBSA1->A1_LOJA
- TRB2->NOME := TRBSA1->A1_NOME
- */
- TRB2->CODIGO := TRBSA1->Z8_CODIGO
- TRB2->DESC := TRBSA1->Z8_DESC
- TRB2->ESPESS := TRBSA1->Z8_ESPESS
- MSUnlock()
- TRBSA1->(dbSkip())
- EndDo
- //+-------------------------------------------------------------------+
- //! Fecha e apaga a tabela TRBS2... !
- //+-------------------------------------------------------------------+
- TRBSA1->(dbCloseArea())
- //+-------------------------------------------------------------------+
- //! Atribuicao ao array os campos da tabela SA1... !
- //+-------------------------------------------------------------------+
- /*
- aAdd(aCampos,{"CODIGO" , "Codigo", PesqPict("SA1","A1_COD"), StrZero(TamSx3("A1_COD")[1],2) , "0"})
- aAdd(aCampos,{"LOJA" , "Loja", PesqPict("SA1","A1_LOJA"), StrZero(TamSx3("A1_LOJA")[1],2), "0"})
- aAdd(aCampos,{"NOME" , "Nome", PesqPict("SA1","A1_NOME"), StrZero(TamSx3("A1_NOME")[1],2), "0"})
- */
- aAdd(aCampos,{"CODIGO" , "Codigo", PesqPict("SZ8","Z8_CODIGO"), StrZero(TamSx3("Z8_CODIGO")[1],2) , "0"})
- aAdd(aCampos,{"DESC" , "Descricao", PesqPict("SZ8","Z8_DESC"), StrZero(TamSx3("Z8_DESC")[1],2), "0"})
- aAdd(aCampos,{"ESPESS" , "Espessura", PesqPict("SZ8","Z8_ESPESS"), StrZero(TamSx3("Z8_ESPESS")[1],2), "0"})
- //+-------------------------------------------------------------------+
- //! Coloca o ponteiro da SQL na primeira posicao... !
- //+-------------------------------------------------------------------+
- TRB2->(dbGoTop())
- //+-------------------------------------------------------------------+
- //! Criacao da janela para mostrar os resultados... !
- //+-------------------------------------------------------------------+
- DEFINE MSDIALOG oBrw1 TITLE "Clientes" FROM 01,01 TO 600,1000 PIXEL
- @ 285,440 BUTTON "_SAIR" SIZE 40,10 ACTION fFecha() Object oBtnSai
- @ 110,007 TO 270,480 Browse "TRB2" FIELDS aCampos Object _oMark
- ACTIVATE DIALOG oBrw1 CENTERED
- //+-------------------------------------------------------------------+
- //! Fecha e apaga a tabela TRBS2... !
- //+-------------------------------------------------------------------+
- dbSelectArea("TRB2")
- dbCloseArea()
- fErase(cArq+OrdBagExt())
- fErase(cArq+GetDbExtension())
- Return
- Static Function fFecha()
- //Close(oBrw1)
- oBrw1:End()
- Return
Add Comment
Please, Sign In to add comment