ALCVLDPOST - Validar informações na manutenção do empenho pelo APP Minha Produção
Linha de Produto: | Protheus | ||||||||||||||||||
Segmento: | Manufatura | ||||||||||||||||||
Módulo: | SIGAPCP - Planejamento e Controle da Produção | ||||||||||||||||||
Parâmetro(s): |
| ||||||||||||||||||
Idiomas: | Todos | ||||||||||||||||||
País(es): | Todos | ||||||||||||||||||
Banco(s) de Dados: | Todos | ||||||||||||||||||
Sistema(s) Operacional(is): | Todos |
Ponto de Entrada
| Descrição: | O ponto de entrada ALCVLDPOST é executado nas requisições de manutenção do empenho. Com este ponto de entrada, é possível validar as informações que estão sendo enviadas para incluir, alterar ou excluir um empenho e retornar uma mensagem personalizada informando a inconsistência identificada, impedindo a inclusão, alteração ou exclusão do empenho, caso retorne conteúdo de erro. Este ponto de entrada é executado depois do ponto de entrada ALCMNTPOST, responsável pela manipulação dos dados para manutenção do empenho. | ||||||||
| Localização: | API PCPAllocations, método POST ALLOCATION - Responsável por enviar os dados à rotina automática de manutenção de empenhos. | ||||||||
| Eventos: | Não se aplica. | ||||||||
| Programa Fonte: | PCPAllocations.PRW | ||||||||
Sintaxe: | ALCVLDPost( ) --> cErro | ||||||||
| Retorno: |
| ||||||||
| Observações: | Não é permitida a utilização de qualquer componente de interface gráfica nesse ponto de entrada, visto que a função será executada durante uma requisição REST. |
#INCLUDE "TOTVS.CH"
User Function ALCVLDPOST()
Local aItems := PARAMIXB[1]
Local nOperacao := PARAMIXB[2] //3-inclusão;4-alteração;5-exclusão
Local nPosPrd := aScan(aItems[1],{|x| AllTrim(x[1]) == "D4_COD"})
Local nPosLoc := aScan(aItems[1],{|x| AllTrim(x[1]) == "D4_LOCAL"})
Local cErro := ""
If nOperacao == 4
If nPosPrd > 0
If AllTrim(aItems[1][nPosPrd][2]) == "PRODUTO"
If nPosLoc > 0 .And. AllTrim(aItems[1][nPosLoc][2]) == "01"
cErro := "O produto " + AllTrim(aItems[1][nPosPrd][2]) + " nao deve ser consumido do armazem " + AllTrim(aItems[1][nPosLoc][2]) + ". "
EndIf
EndIf
EndIf
EndIf
Return cErro