Guest User

Untitled

a guest
Apr 20th, 2018
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.94 KB | None | 0 0
  1. #include "PROTHEUS.CH"
  2. #include "TOPCONN.CH"
  3. #include "RWMAKE.CH"
  4.  
  5. User Function ArqTemp()
  6.  
  7. LOCAL aStru := {}
  8. LOCAL cQuery := ""
  9. //LOCAL aTamCpo := {}
  10. //LOCAL cAlias := GetNextAlias()
  11. PRIVATE cArq := ""
  12. PRIVATE aCampos := {}
  13. PRIVATE oBrw1
  14. PRIVATE _oMark
  15. PRIVATE oBtnSai
  16.  
  17.  
  18. //+-------------------------------------------------------------------+
  19. //! Definicao da estrutura do arquivo temporario... !
  20. //+-------------------------------------------------------------------+
  21. //aTamCpo := TamSx3("A1_COD")
  22. /*
  23. aAdd(aStru, {"CODIGO" , "C", TamSx3("A1_COD")[1] , 0})
  24. aAdd(aStru, {"LOJA" , "C", TamSx3("A1_LOJA")[1], 0})
  25. aAdd(aStru, {"NOME" , "C", TamSx3("A1_NOME")[1], 0})
  26. */
  27. aAdd(aStru, {"CODIGO" , "C", TamSx3("Z8_CODIGO")[1] , 0})
  28. aAdd(aStru, {"DESC" , "C", TamSx3("Z8_DESC")[1], 0})
  29. aAdd(aStru, {"ESPESS" , "C", TamSx3("Z8_ESPESS")[1], 0})
  30.  
  31. //+-------------------------------------------------------------------+
  32. //! Criacao do arquivo temporario... !
  33. //+-------------------------------------------------------------------+
  34. cArq := CriaTrab(aStru, .T.)
  35.  
  36. //+-------------------------------------------------------------------+
  37. //! Disponibilizar a tabela na area de trabalho... !
  38. //! E atribui um nome logico para a tabela fisica... !
  39. //+-------------------------------------------------------------------+
  40. dbUseArea(.T.,,cArq,"TRB2")
  41.  
  42. //+-------------------------------------------------------------------+
  43. //! Criacao de um indice para a tabela... !
  44. //+-------------------------------------------------------------------+
  45.  
  46. //IndRegua("TRB2",cArq,"NOME",,,"Selecionando registros...")
  47.  
  48. IndRegua("TRB2",cArq,"CODIGO",,,"Selecionando registros...")
  49.  
  50. //+-------------------------------------------------------------------+
  51. //! Criacao da Query e atribuicao a var cQuery... !
  52. //+-------------------------------------------------------------------+
  53. /*
  54. cQuery := "SELECT * FROM "+RetSQLName("SA1")
  55. cQuery += " WHERE "
  56. cQuery += " A1_FILIAL = '"+xFilial("SA1")+"' AND "
  57. cQuery += " A1_EST != 'SP' AND "
  58. cQuery += " D_E_L_E_T_ <> '*' "
  59. */
  60.  
  61. cQuery := "SELECT * FROM "+RetSQLName("SZ8")
  62. cQuery += " WHERE "
  63. cQuery += " Z8_FILIAL = '"+xFilial("SZ8")+"' AND "
  64. //cQuery += " A1_EST != 'SP' AND "
  65. cQuery += " D_E_L_E_T_ <> '*' "
  66.  
  67. //+-------------------------------------------------------------------+
  68. //! Teste para ver se o arquivo ja existe... !
  69. //+-------------------------------------------------------------------+
  70. If Select("TRBSA1") <> 0
  71. dbSelectArea("TRBSA1")
  72. dbCloseArea()
  73. Endif
  74.  
  75. //+-------------------------------------------------------------------+
  76. //! Criacao de um indice para a tabela... !
  77. //+-------------------------------------------------------------------+
  78. TCQuery cQuery New Alias "TRBSA1"
  79.  
  80. //+-------------------------------------------------------------------+
  81. //! Loop para ir ate o final da tabela trbsa1... !
  82. //+-------------------------------------------------------------------+
  83. Do While !TRBSA1->(EOF())
  84. //+-------------------------------------------------------------------+
  85. //! Lock da tabela e atribuicao dos valores a mesma... !
  86. //+-------------------------------------------------------------------+
  87. RecLock("TRB2",.T.)
  88. /*
  89. TRB2->CODIGO := TRBSA1->A1_COD
  90. TRB2->LOJA := TRBSA1->A1_LOJA
  91. TRB2->NOME := TRBSA1->A1_NOME
  92. */
  93. TRB2->CODIGO := TRBSA1->Z8_CODIGO
  94. TRB2->DESC := TRBSA1->Z8_DESC
  95. TRB2->ESPESS := TRBSA1->Z8_ESPESS
  96.  
  97. MSUnlock()
  98. TRBSA1->(dbSkip())
  99. EndDo
  100.  
  101. //+-------------------------------------------------------------------+
  102. //! Fecha e apaga a tabela TRBS2... !
  103. //+-------------------------------------------------------------------+
  104. TRBSA1->(dbCloseArea())
  105.  
  106. //+-------------------------------------------------------------------+
  107. //! Atribuicao ao array os campos da tabela SA1... !
  108. //+-------------------------------------------------------------------+
  109. /*
  110. aAdd(aCampos,{"CODIGO" , "Codigo", PesqPict("SA1","A1_COD"), StrZero(TamSx3("A1_COD")[1],2) , "0"})
  111. aAdd(aCampos,{"LOJA" , "Loja", PesqPict("SA1","A1_LOJA"), StrZero(TamSx3("A1_LOJA")[1],2), "0"})
  112. aAdd(aCampos,{"NOME" , "Nome", PesqPict("SA1","A1_NOME"), StrZero(TamSx3("A1_NOME")[1],2), "0"})
  113. */
  114. aAdd(aCampos,{"CODIGO" , "Codigo", PesqPict("SZ8","Z8_CODIGO"), StrZero(TamSx3("Z8_CODIGO")[1],2) , "0"})
  115. aAdd(aCampos,{"DESC" , "Descricao", PesqPict("SZ8","Z8_DESC"), StrZero(TamSx3("Z8_DESC")[1],2), "0"})
  116. aAdd(aCampos,{"ESPESS" , "Espessura", PesqPict("SZ8","Z8_ESPESS"), StrZero(TamSx3("Z8_ESPESS")[1],2), "0"})
  117.  
  118.  
  119. //+-------------------------------------------------------------------+
  120. //! Coloca o ponteiro da SQL na primeira posicao... !
  121. //+-------------------------------------------------------------------+
  122. TRB2->(dbGoTop())
  123.  
  124. //+-------------------------------------------------------------------+
  125. //! Criacao da janela para mostrar os resultados... !
  126. //+-------------------------------------------------------------------+
  127. DEFINE MSDIALOG oBrw1 TITLE "Clientes" FROM 01,01 TO 600,1000 PIXEL
  128. @ 285,440 BUTTON "_SAIR" SIZE 40,10 ACTION fFecha() Object oBtnSai
  129. @ 110,007 TO 270,480 Browse "TRB2" FIELDS aCampos Object _oMark
  130. ACTIVATE DIALOG oBrw1 CENTERED
  131.  
  132. //+-------------------------------------------------------------------+
  133. //! Fecha e apaga a tabela TRBS2... !
  134. //+-------------------------------------------------------------------+
  135. dbSelectArea("TRB2")
  136. dbCloseArea()
  137. fErase(cArq+OrdBagExt())
  138. fErase(cArq+GetDbExtension())
  139. Return
  140.  
  141. Static Function fFecha()
  142. //Close(oBrw1)
  143. oBrw1:End()
  144. Return
Add Comment
Please, Sign In to add comment