Á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 TQB->TQB_INDISPnModo == '1'		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)
			EndIf		
			EndIf	If dbSeek(xFilial("TQB")+TQB->TQB_SOLICI)
			RecLock("TQB",.F.)
			TQB->TQB_TESTE := 'TESTE PE MNTA2909'
    		TQB->( MsUnLock() )
		EndIf	
	EndIf
	
	    RestArea(aArea)
	
Return .T.