Árvore de páginas

Ponto de entrada que realiza a validação de campos não vazios da tabela TQB no Fechamento da Solicitação de Serviço (MNTA290)

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

MNTA290

Fechamento de Solicitação de Serviço


Rotina(s) envolvida(s)

Nome Técnico

MNTA2909

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 de Fechamento de Solicitação de Serviço (MNTA290) utiliza dados da SS para gravação em outras tabelas ou campo da própria TQB.

Programa Fonte:

MNTA290.prx
Localização:SIGAMNT: Atualizações/Controle de Oficina/Solicitação de Serviço/Fechamento

Função:

MNTA2909()
Parâmetros:
NomeTipoDescriçãoObrigatório

nModo

NuméricoProcesso (3-Fechamento/5-Cancelamento)Sim

Retorno:

.T.
Observação:Alguns campos ou tabelas contidos no exemplo do ponto de entrada devem ser criados manualmente pelo configurador, porque não existem no sistema.
Exemplo do Ponto de Entrada MNTA2909()
#Include 'Protheus.ch'

User Function MNTA2909()

    Local aArea := GetArea()
    Local lTemPai := .F.
	Local nModo := Paramixb[1]

	If nModo == 3 //Fechamento
		cSolici := TQB->TQB_SOLICI
		cCodBem := TQB->TQB_CODBEM

		dbSelectArea("STC")
		dbSetOrder(3)
		If dbSeek(xFilial("STC")+cCodBem)
			lTemPai := .T.
			cCdBemPai := STC->TC_CODBEM
		EndIf

		DbselectArea("ZA0")
		DbsetOrder(01)
		If Dbseek(xFilial("ZA0")+cSolici+cCodBem)
			If IsInCallStack("MNTA290") .Or. IsInCallStack("MNTA400")
				dDtFim := TQB->TQB_DTFECH
				cHrFim := TQB->TQB_HOFECH
				RecLock("ZA0",.F.)
				ZA0->ZA0_DTFIM := dDtFim
				ZA0->ZA0_HRFIM := cHrFim
				MsUnlock("ZA0")
				If lTemPai
					DbselectArea("ZA0")
					DbsetOrder(01)
					If Dbseek(xFilial("ZA0")+cSolici+cCdBemPai)
						RecLock("ZA0",.F.)
						ZA0->ZA0_DTFIM := dDtFim
						ZA0->ZA0_HRFIM := cHrFim
						MsUnlock("ZA0")
					EndIf
				EndIf
			EndIf
		EndIf
	ElseIf nModo == 5 //Cancelamento
		dbSelectArea("TQB")
		dbSetOrder(1)
		If dbSeek(xFilial("TQB")+TQB->TQB_SOLICI)
			RecLock("TQB",.F.)
			TQB->TQB_TESTE := 'TESTE PE MNTA2909'
    		TQB->( MsUnLock() )
		EndIf
	EndIf

    RestArea(aArea)

Return .T.