Árvore de páginas

Ponto de entrada que realiza a gravação de dados de folder novo na rotina de Bens Padrão (MNTA170)

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
Exemplo do Ponto de Entrada MNTA1704()
#Include 'Protheus.ch'

User Function MNTA1704()
    Local lRet := .t.
    Local nX
	aHeadTPF := NGHeader('TPF')
	nCodFam := aSCAN(aHeadTPF,{|x| TRIM(UPPER(x[2])) == "TPF_CODFAM"})
    nServic := aSCAN(aHeadTPF,{|x| TRIM(UPPER(x[2])) == "TPF_SERVIC"})
    nSeqRel := aSCAN(aHeadTPF,{|x| TRIM(UPPER(x[2])) == "TPF_SEQREL"})

    If nOPCAO == 3 .or. nOPCAO == 4
        dbSelectArea("TPF")
        dbSetOrder(01)
        For nX:=1 To Len(aCols)
            If !aCols[nX,len(aCols[nX])] .and. (!Empty(aCols[nX,nCodFam]) .or. ;
            !Empty(aCols[nX,nServic]) .or. aCols[nX,nSeqRel] <> 0)
                If (Empty(aCols[nX,nCodFam]) .or. Empty(aCols[nX,nServic]) .or. aCols[nX,nSeqRel] ==  0)
                    lRet := .f.
                EndIf
            EndIf
        Next nX
        If lRet
            For nX:=1 To Len(aCols)
                If !Dbseek(xFilial("TPF")+M->TP9_CODFAM+aCols[nX,nServic]+cValtoChar(aCols[nX,nSeqRel])) ;
                .and. !aCols[nX,len(aCols[nX])] .and. !Empty(aCols[nX,nCodFam])
                    RecLock("TPF",.T.)
                    TPF->TPF_FILIAL := xFilial("TPF")
                    TPF->TPF_TIPMOD:= M->TP9_TIPMOD
                    TPF->TPF_CODFAM := aCols[nX,nCodFam]
                    TPF->TPF_SERVIC:= aCols[nX,nServic]
                    TPF->TPF_SEQREL := aCols[nX,nSeqRel]
                    MsUnlock("TPF")
                ElseIf Dbseek(xFilial("TPF")+M->TP9_CODFAM+aCols[nX,nServic]+cValtoChar(aCols[nX,nSeqRel])) ;
                .and. aCols[nX,len(aCols[nX])]
                    RecLock("TPF",.F.)
                    dbDelete()
                    MsUnlock("TPF")
                EndIf
            Next nX
        EndIf
        If !lRet
			MsgInfo("Alguns campos obrigatórios não foram preenchidos."+chr(13)+chr(10)+"Pasta Não Numerados.","ATENÇÃO")
        EndIf
    ElseIf nOPCAO = 5
		dbSetOrder(4)
        If Dbseek(xFilial("TPF")+M->TP9_CODFAM+M->TP9_TIPMOD)
            While !EOF() .and. TPF->TPF_CODFAM = M->TP9_CODFAM .and. TPF->TPF_TIPMOD = M->TP9_TIPMOD
                RecLock("TPF",.F.)
                DBDelete()
                MsUnLock("TPF")
                DbSkip()
            EndDo
        EndIf
    EndIf

Return lRet