Árvore de páginas

Versões comparadas

Chave

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

...

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
		If TQB->TQB_INDISP == '1'
			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
		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.