PERGUNTAS E RESPOSTAS
 
Bem Vindo, Visitante  Todos os Fórums
  ADVPL
Enviar para a impressoraImprimir  Enviar e-mail para um amigoEnviar Para um Amigo
Precisa estar Logado

Subject Assunto:
Ponto de Entrada - MT103FIM
Versão:
12.1.27
Plataforma:
Microsoft
Complemento:
DB:
SQL Server
Complemento:
LinkedIn
Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário KESEQUIELE KESEQUIELE em 23/08/2021, 14:55 h
Local: PE  Registro: 19/07/2021  Postagens: 9
Boa Tarde,

Pessoal estou tentando fazer um ponto de entrada que na minha tabela SE2 (contas a pagar) retorne o campo SD1->D1_DTDIGIT (Data de Digitação do Documento de entrada, mas esta dando erro de select. Segue o fonte:

#include "protheus.ch"
#include ‘topconn.ch‘

#define CTRF Chr(13) + Chr(10)


/*/{Protheus.doc} MT103FIM
    (Inclusão da data de digitação da entrada do documento na SE2,
     ponto executado na inclusão do documento)
    @type Function
    @author karla Esequiele
    @since 23/08/2021
    @version version
    @param param
    @return return
    @example
    (examples)
    @see (https://tdn.totvs.com/pages/releaseview.action?pageId=6085406)
/*/

User Function MT103FIM()

    Local aArea := GetArea()
    Local cNatu := SE2->E2_NATUREZ
    Local cForn := SE2->E2_FATFOR
    Local cPref := SE2->E2_PREFIXO
    Local cNume := SE2->E2_NUM
    Local cTipo := SE2->E2_TIPO
    Local cQuery := ""
    Local cCompcon := GetMV("MV_DTDIG")

    If (cCompcon)
        cQuery := " SELECT "                                 + CTRF
         cQuery += " E2_FILIAL, "                               + CTRF
         cQuery += " E2_NATUREZ, "                               + CTRF
         cQuery += " E2_FATFOR, "                                + CTRF
         cQuery += " E2_PREFIXO, "                               + CTRF
         cQuery += " E2_NUM,     "                               + CTRF
         cQuery += " E2_TIPO,    "                               + CTRF
        cQuery += " R_E_C_N_O_ "                               + CTRF
         cQuery += " FROM "     + RetSQLName("SE2") + " SE2" + CTRF
         cQuery += " WHERE "                                                    + CTRF
         cQuery += " SE2.E2_FILIAL = " + FWxFilial("SE2") + " AND" + CTRF
        cQuery += " SE2.E2_NATUREZ = ‘" + cNatu + "‘ AND"              + CTRF
        cQuery += " SE2.E2_FATFOR = ‘" + cForn + "‘ AND"          + CTRF
        cQuery += " SE2.E2_PREFIXO = ‘" + cPref + "‘ AND"              + CTRF
        cQuery += " SE2.E2_NUM = ‘"     + cNume + "‘ AND"              + CTRF
        cQuery += " SE2.E2_TIPO = ‘"    + cTipo + "‘ AND"          + CTRF
         cQuery += " SE2.D_E_L_E_T_ = ‘‘ "                                + CTRF
        cQuery := ChangeQuery(cQuery)

        // Executando consulta.
         TCQuery cQuery New Alias "SQL_SE2"

         DbSelectArea("SQL_SE2")
         SQL_SE2->(DbGoTop())

        // Percorrendo os registros.
         While ! SQL_SE2->(EOF())
            DbSelectArea("SE2")
            DbGoto(SQL_SE2->R_E_C_N_O_)
            RecLock("SE2", .F.)
                  E2_XDTDIG:= SD1->D1_DTDIGIT
            SE2->(MsUnlock())
            SE2->(DbCloseArea())
              SQL_SE2-> (dbSkip())          
         EndDo
        SQL_SE2->(DbCloseArea())
    EndIf
    
    RestArea(aArea)

Return



Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário KESEQUIELE KESEQUIELE em 23/08/2021, 15:06 h
Local: PE  Registro: 19/07/2021  Postagens: 9
Erro:

THREAD ERROR ([4296], karla.lima, MICRO-156)   23/08/2021 16:08:01
: Error : 208 (S0002) (RC=-1) - [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]Invalid object name ‘SE2010SE2‘.
( From tMSSQLConnection::GetQueryFile )
Thread ID [5104]     User [karla.lima]     IO [11470]     Tables [79]     MaxTables [80]     Comment [MATA103 - TCPIP - ThreadID(4296)]     SP [ ]     Traced [No]     SQLReplay [No]     InTran [No]     DBEnv [MSSQL/C63C3C_120976_PR_DV]     DBThread [(SPID 61,63)]     Started [23/08/2021 16:06:49]     IP [10.0.2.3:6700]     IDLE [ ]     InTransact [ ]     Memory [0]     Running [ROP_QUERY for 0 s.]     RCV [147565]     SND [1176057]     TCBuild [20200606-20210706]     TCVersion [20.1.1.4]     ARCH [64]     OS [WINDOWS]     BUILD [DEBUG]     
SELECT E2_FILIAL,E2_NATUREZ,E2_FATFOR,E2_PREFIXO,E2_NUM,E2_TIPO,R_E_C_N_O_ FROM SE2010SE2 WHERE SE2.E2_FILIAL = 08 AND SE2.E2_NATUREZ = ‘410432    ‘ AND SE2.E2_FATFOR = ‘      ‘ AND SE2.E2_PREFIXO = ‘   ‘ AND SE2.E2_NUM = ‘ 15523587‘ AND SE2.E2_TIPO = ‘FT ‘ AND SE2.D_E_L_E_T_ = ‘ ‘ on U_MT103FIM(MT103FIM.PRX) 23/08/2021 15:01:24 line : 53

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário CARNEIRO CARNEIRO em 23/08/2021, 15:30 h
Local: SP  Registro: 16/09/2005  Postagens: 459
Boa tarde.

Uma solução mais simples talvez seja usar UPDATE:

cQuery := "UPDATE " + RetSQLName("SE2") + " "
cQuery += "SET E2_XDTDIG = ‘" + DToS(SD1->D1_DTDIGIT) + "‘ "
cQuery += " WHERE   E2_FILIAL = ‘" + xFilial("SE2") + "‘ "
cQuery += "     AND E2_PREFIXO = ‘" + SD1->D1_SERIE + "‘ "
cQuery += "     AND E2_NUM     = ‘" + SD1->D1_DOC + "‘ "
cQuery += "     AND E2_TIPO    = ‘NF‘ "
cQuery += "     AND E2_FORNECE = ‘" + SD1->D1_FORNECE + "‘ "
cQuery += "     AND E2_LOJA    = ‘" + SD1->D1_LOJA + "‘ "
cQuery += "     AND D_E_L_E_T_ = ‘ ‘"

TCSQLExec(cQuery)



Cesar Arneiro
C.A. ERP Consulting
Fone: (12) 99744-4546
Email: cesar@caerpconsulting.com.br

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário KESEQUIELE KESEQUIELE em 25/08/2021, 07:15 h
Local: PE  Registro: 19/07/2021  Postagens: 9
Bom dia,
Obrigada @CARNEIRO deu certo.

Para postar no Fórum você precisa efetuar o seu login ou se registrar

 Mudar para Fórum

 

 

 
 
   
Pagina Principal Shopping PROTHEUS Tire suas duvidas Vagas Microsiga em todo Brasil Aprofunde seus conhecimentos Noticias Online Fale Conosco Pagina Principal