Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Cross Segmentos - TOTVS Backoffice (Linha Protheus) - ADVPL - Fimestrut2 não fecha tabela estrut

time.png Tempo aproximado para leitura: 00:02:00 min

Ocorrência
Ao utilizar a função Estrut2() para efetuar a abertura da tabela ESTRUT e em seguida a função FimEstrut2(), a tabela não está sendo devidamente fechada.

Ambiente
Cross Segmentos - Backoffice (Linha Protheus) – ADVPL – A partir da versão 11.80

Causa
Este incidente é reproduzido quando não são passados todos os parâmetros necessários na função Estrut2().

Solução
Passar por referência o quarto parâmetro (oTempTable) na função Estrut2() e utilizá-lo para efetuar o fechamento na função FimEstrut2():

// BIBLIOTECAS NECESSÁRIAS
#Include "TOTVS.ch"
#Include "TBICONN.ch"

// FUNÇÃO PRINCIPAL (CRIADA PARA TESTE)
User Function VldEstrut()
    Local nCont := 0 // CONTADOR DE LAÇO
    Local nQuant := 1 // QUANTIDADE A SER EXPLODIDA
    Local cProduto := "PRDT0002" // PRODUTO
    Local cArquivo := "" // ALIAS DO ARQUIVO TEMPORÁRIO
    Local oTempTable := NIL // NOME DO OBJETO UTILIZADO PELA TABELA
Private nEstru   := 0

    RPCSetEnv("99", "01", NIL, NIL, "PCP", NIL, {"SG1"}) // SE VIA SMARTCLIENT, REMOVER ESTA LINHA
        // EFETUA 1500 VEZES A ABERTURA E FECHAMENTO DA TABELA
        While (nCont < 1500)
            // EFETUA A ABERTURA DA TABELA
            cArquivo := Estrut2(cProduto, nQuant, NIL, @oTempTable, .T.)
            ConOut(ESTRUT->CODIGO)

            nCont++ // AUTO INCREMENTA O CONTADOR DO LAÇO

            // EFETUA O FECHAMENTO DA TABELA
            FimEstrut2(NIL, oTempTable)
nEstru:=0
            ConOut(nCont)
        End
    RPCClearEnv() // SE VIA SMARTCLIENT, REMOVER ESTA LINHA
Return (NIL)


Saiba mais
ESTRUT2 - Explosão de estrutura cadastrada no SG1
FIMESTRUT2 - Apagar os arquivos gerados pela função ESTRUT2

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _