Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

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.
Bloco de código
titleExemplo 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.