FAQs - Suporte técnico

MP - ADVPL - EXECUÇÃO DA ROTINA AUTOMATICA MATA650 VIA SCHEDULE

Dúvida
A rotina em questão MATA650 deveria gerar os empenhos (preencher a tabela SD4) quando concluída a execução do MATA650.
Se o cliente inclui a OP pela rotina padrão, via menu, ou se chama a rotina do fonte anexado via menu, o processo ocorre, porém se executa a rotina via Schedule, a geração dos empenhos (carga na tabela SD4) não ocorre.

Ambiente
Protheus - ADVPL – SIGAPCP - A partir da versão 11.80

Solução
Para que o sistema acate a inclusão de empenho da rotina MATA650 é necessário habilitar os parâmetros, MV_EXPLOPU  = S ,MV_A650GEF  = S , além de acrescentar o array ,({'AUTEXPLODE' ,"S" ,NIL}}) .

 

Exemplo:

#Include "Protheus.ch"
#include "rwmake.ch"
#include "TbiConn.ch"

User Function Tmata650()
Local aMATA650 := {} //-Array com os campos
LOCAL DDATABASE := CTOD("08/11/2018")

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ 3 - Inclusao ³
//³ 4 - Alteracao ³
//³ 5 - Exclusao ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Local nOpc := 3
Private lMsErroAuto := .F.

PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01"

aMATA650 := { {'C2_FILIAL' ,"01" ,NIL},;
{'C2_NUM' ,"000060" ,NIL},;
{'C2_ITEM' ,"01" ,NIL},;
{'C2_SEQUEN' ,"001" ,NIL},;
{'C2_PRODUTO' ,"P001 " ,NIL},;
{'C2_LOCAL' ,"01" ,NIL},;
{'C2_QUANT' ,5 ,NIL},;
{'C2_DATPRI' ,DDATABASE ,NIL},;
{'C2_DATPRF' ,CTOD("09/11/2018") ,NIL},;
{'AUTEXPLODE' ,"S" ,NIL}}


ConOut("Inicio : "+Time())

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Se alteracao ou exclusao, deve-se posicionar no registro ³
//³ da SC2 antes de executar a rotina automatica ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If nOpc == 3 .Or. nOpc == 5
SC2->(DbSetOrder(1))//FILIAL + NUM + ITEM + SEQUEN + ITEMGRD
SC2->(DbSeek(xFilial("SC2")+"000056"+"01"+"001"))
EndIf

msExecAuto({|x,Y| Mata650(x,Y)},aMata650,nOpc)
If !lMsErroAuto
ConOut("Sucesso! ")
Else
ConOut("Erro!")
MostraErro()
EndIf

ConOut("Fim : "+Time())

RESET ENVIRONMENT

Return Nil

 

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

1 Comentários

  • Avatar
    RODRIGO DE OLIVEIRA
    No trecho abaixo retirado do exemplo, para verificar se é alteração, o correto não seria
    If nOpc == 4 .Or. nOpc == 5 ???

    //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
    //³ Se alteracao ou exclusao, deve-se posicionar no registro ³
    //³ da SC2 antes de executar a rotina automatica ³
    //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
    If nOpc == 3 .Or. nOpc == 5
    SC2->(DbSetOrder(1))//FILIAL + NUM + ITEM + SEQUEN + ITEMGRD
    SC2->(DbSeek(xFilial("SC2")+"000056"+"01"+"001"))
    EndIf
    4
    Ações de comentário Permalink
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 _