Árvore de páginas

Versões comparadas

Chave

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

...

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

MNTA170

Bens Padrão


Rotina(s) envolvida(s)

Nome Técnico

MNTA1704

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 Bens Padrão (MNTA170) que realiza a gravação de dados de folder novo 

Localização:SIGAMDI: Atualizações/Controle de Oficina/Bens/Bens Padrão

Programa Fonte:

MNTA170.prx

Função:

MNTA1704()

Retorno:

NomeTipoDescriçãoObrigatório
lRetLógicoCaso as validações estejam corretas, retorna verdadeiro (.T.)X
Bloco de código
titleExemplo do Ponto de Entrada MNTA1704()
#Include 'Protheus.ch'

User Function MNTA1704()

	Local lRet := .t.
	Local nX,  nYnTAREF := aSCAN(oGet:aHeader,{|x| TRIM(UPPER(x[2])) == "PA0_TAREFA"})
	nETAPA := aSCAN(oGet:aHeader,{|x| TRIM(UPPER(x[2])) == "PA0_ETAPA"})
	nINCRE := aSCAN(oGet:aHeader,{|x| TRIM(UPPER(x[2])) == "PA0_INCREM"})

	If nOPCAO == 3 .or. nOPCAO == 4
		dbSelectArea("PA0")
		dbSetOrder(01)
		For nX:=1 To Len(oGet:aCols)
			If !oGet:aCols[nX,len(oGet:aCols[nX])] .and. (!Empty(oGet:aCols[nX,nTAREF]) .or. ;
			!Empty(oGet:aCols[nX,nETAPA]) .or. oGet:aCols[nX,nINCRE] <> 0)
				If (Empty(oGet:aCols[nX,nTAREF]) .or. Empty(oGet:aCols[nX,nETAPA]) .or. oGet:aCols[nX,nINCRE] =  0)
					lRet := .f.
				EndIf
			EndIf
		Next nX
		If lRetfLimpaPA0(M->TP9_CODFAM,M->TP9_TIPMOD)
			For nX:=1 To Len(oGet:aCols)
				If !Dbseek(xFilial("PA0")+M->TP9_CODFAM+M->TP9_TIPMOD+oGet:aCols[nX,nTAREF]+oGet:aCols[nX,nETAPA]) ;
				.and. !oGet:aCols[nX,len(oGet:aCols[nX])] .and. !Empty(oGet:aCols[nX,nTAREF])
					RecLock("PA0",.T.)
					PA0->PA0_FILIAL := xFilial("PA0")
					PA0->PA0_CODFAM:= M->TP9_CODFAM
					PA0->PA0_TIPMOD:= M->TP9_TIPMOD
					PA0->PA0_TAREFA := oGet:aCols[nX,nTAREF]
					PA0->PA0_ETAPA:= oGet:aCols[nX,nETAPA]
					PA0->PA0_INCREM := oGet:aCols[nX,nINCRE]
					MsUnlock("PA0")
				ElseIf Dbseek(xFilial("PA0")+M->TP9_CODFAM+M->TP9_TIPMOD+oGet:aCols[nX,nTAREF]+oGet:aCols[nX,nETAPA]) ;
				.and. oGet:aCols[nX,len(oGet:aCols[nX])]
					RecLock("PA0",.F.)
					dbDelete()
					MsUnlock("PA0")
				EndIf
			Next nX
		EndIf
		If !lRetmsginfo("Alguns campos obrigatórios não foram preenchidos."+chr(13)+chr(10)+"Pasta Não Numerados.","ATENÇÃO")
		EndIf
	ElseIf nOPCAO = 5
	NGDBAREAORDE("PA0",1)
		If Dbseek(xFilial("PA0")+M->TP9_CODFAM+M->TP9_TIPMOD)
			While !EOF() .and. PA0->PA0_CODFAM = M->TP9_CODFAM .and. PA0->PA0_TIPMOD = M->TP9_TIPMOD
				RecLock("PA0",.F.)
				DBDelete()
				MsUnLock("PA0")
				DbSkip()
			EndDo
		EndIf
	EndIf

Return lRet