Árvore de páginas

Ponto de entrada que realiza a atualização de quilometragem da banda na rotina de Acerto de Contador (MNTA875)

Características do Requisito

Linha de Produto:

Microsiga Protheus

Segmento:

Manufatura

Módulo:

SIGAMNT - Manutenção de Ativos e Gestão de Frotas

Rotina:

Rotina

Nome Técnico

MNTA875

Acerto


Rotina(s) envolvida(s)

Nome Técnico

MNTA8752

Ponto de Entrada

País(es):

Todos

Banco(s) de Dados:

Todos

Sistema(s) Operacional(is):

Todos


Ponto de Entrada

Descrição:

Ponto de entrada executado na rotina Acerto (MNTA875) que possibilita a atualização de quilometragem da banda confirme o acerto de contador 

Programa Fonte:

MNTA875.prx
Localização:SIGAMNT: Atualizações/Controle de Oficina/Contador/Quebra

Função:

MNTA8752()
Parâmetros:
NomeTipoDescrição
ParamIXB[1]CaracterCódigo do Pneu
ParamIXB[2]DataData da leitura do contador
ParamIXB[3]CaracterHora da leitura do contador
ParamIXB[4]NuméricoDiferença de dias

Retorno:

Nulo
Exemplo do Ponto de entrada MNTA8752()
#Include 'Protheus.ch'

User Function MNTA8752()

	Local aBanda := { {"1","TQS->TQS_KMOR"},; //Array contendo valor do campo TQS_BANDAA
						{"2","TQS->TQS_KMR1"},; //com o seu respectivo campo de Contador
						{"3","TQS->TQS_KMR2"},;
						{"4","TQS->TQS_KMR3"},;
						{"5","TQS->TQS_KMR4"},;
						{"6","TQS->TQS_KMR5"},;
						{"7","TQS->TQS_KMR6"},;
						{"8","TQS->TQS_KMR7"},;
						{"9","TQS->TQS_KMR8"},;
						{"A","TQS->TQS_KMR9"}}

	cPneu := PARAMIXB[1] // Codigo do pneu
	dData := PARAMIXB[2] // Data da leitura do contador
	cHora := PARAMIXB[3] // Hora da leitura do contador
	nDife := PARAMIXB[4] // Diferenca de dias

	dbSelectArea("TQV")
	dbSetOrder(1)
	If !dbSeek(xFilial("TQV")+cPneu+DTOS(dData)+cHora,.T.)
		dbSkip(-1)
	EndIf
	cVida := TQV->TQV_BANDA
	nVida := aScan(aBanda,{|x| x[1] == cVida})

	// Se o campo existir, executa
	If NGCADICBASE(SubStr(aBanda[nVida][2],6), "A", "TQS", .F.)
		dbSelectArea("TQS")
		dbSetOrder(1)
		If dbSeek(xFilial("TQS")+cPneu)
			RecLock("TQS",.F.)
			If (&(aBanda[nVida][2]) + nDife) < 0
				&(aBanda[nVida][2]) := 0
			Else
				&(aBanda[nVida][2]) += nDife
			EndIf
			MsUnLock()
		EndIf
	EndIf

Return