Árvore de páginas

Rotina automática de Calibragem/Medição de Sulco.

A funcionalidade ExecAuto estará presente nas versões do fonte MNTA995.prx com a data a partir de 10/12/2020.

Produto:

Microsiga Protheus

Versões:

Todas

Ocorrência:

Desenvolvido o uso da rotina automática (ExecAuto) para Calibragem/Medição de Sulco (MNTA995).

Ambiente:

Todos

Parâmetros:
NomeTipoDescriçãoObrigatório
aRotAuCalArray
NomeDescriçãoObrigatório
aRotAuCal[ 1, 1 ]Nome do campoSim
aRotAuCal[ 1, 2 ]Conteúdo do campoSim
aRotAuCal[ 1, 3 ]Parâmetro reservadoSim
Sim
aRotAuCSArray
NomeDescriçãoObrigatório
aRotAuCS[ 1, 1 ]Nome do campoSim
aRotAuCS[ 1, 2 ]Conteúdo do campoSim
aRotAuCS[ 1, 3 ]Parâmetro reservadoSim
Sim
nOpcNuméricoOperação que será realizada ( 3 - Inclusão, 4 - Alteração, 5 - Exclusão )Sim

Passo a passo:


Essa rotina tem por objetivo, realizar a Inclusão de um novo registro ou alteração/exclusão de um registro anterior de Calibragem/Medição de Sulco (TTO) e em seus respectivos Pneus (TTP).


ExecAuto MNTA995
#INCLUDE "PROTHEUS.CH"

User Function MNTA995AUT()

    Local aRotAuCal     := {} //Registro de Inspeção
    Local aRotAuCS      := {} //Calibragem/Medição de Sulco
    Local cError        := ' '
    Private lMsErroAuto := .F.  // Caso a variável torne-se .T. apos MsExecAuto, apresenta erro em tela
    Private lMSHelpAuto := .T. // Não apresenta erro em tela

    //Inicialização para utilização via JOB
    RPCSetType( 3 )
    RPCSetEnv( "T3", "M RJ 01 ", '', '', 'MNT' )
	
	//Exemplo de Inclusão
    //Array por Calibragem/Medição de Sulco
    aAdd( aRotAuCal, { "TTO_BEMPAI" , PadR( 'BMW01', TAMSX3("TTO_BEMPAI")[1]), Nil })
    aAdd( aRotAuCal, { "TTO_DTCALI" , dDataBase    , Nil })
    aAdd( aRotAuCal, { "TTO_HRCALI" , "08:06"      , Nil })

    //Array para cada Pneu
    aAdd( aRotAuCS, {{ "TTP_PNEU"    , PadR( 'PN-BMW-01', TAMSX3("TTP_PNEU")[1])  , Nil },;
					 { "TTP_CODLOC"  , PadR( '000001'	, TAMSX3("TTP_CODLOC")[1]), Nil },;
                     { "TTP_CALATU"  , 30               , Nil },;
                     { "TTP_CALREA"  , 28               , Nil },;
                     { "TTP_SULCO1"  , 24               , Nil },;
                     { "TTP_SULCO2"  , 24               , Nil },;
                     { "TTP_SULCO3"  , 22               , Nil }})

    aAdd( aRotAuCS, {{ "TTP_PNEU"    , PadR( 'PN-BMW-02', TAMSX3("TTP_PNEU")[1])  , Nil },;
					 { "TTP_CODLOC"  , PadR( '000002'	, TAMSX3("TTP_CODLOC")[1]), Nil },;
                     { "TTP_CALATU"  , 30               , Nil },;
                     { "TTP_CALREA"  , 28               , Nil },;
                     { "TTP_SULCO1"  , 28               , Nil },;
                     { "TTP_SULCO2"  , 28               , Nil },;
                     { "TTP_SULCO3"  , 22               , Nil }})

	aAdd( aRotAuCS, {{ "TTP_PNEU"    , PadR( 'PN-BMW-03', TAMSX3("TTP_PNEU")[1])  , Nil },;
					 { "TTP_CODLOC"  , PadR( '000003'	, TAMSX3("TTP_CODLOC")[1]), Nil },;
                     { "TTP_CALATU"  , 32               , Nil },;
                     { "TTP_CALREA"  , 30               , Nil },;
                     { "TTP_SULCO1"  , 45               , Nil },;
                     { "TTP_SULCO2"  , 44               , Nil },;
                     { "TTP_SULCO3"  , 40               , Nil }})

	aAdd( aRotAuCS, {{ "TTP_PNEU"    , PadR( 'PN-BMW-04', TAMSX3("TTP_PNEU")[1])  , Nil },;
					 { "TTP_CODLOC"  , PadR( '000004'	, TAMSX3("TTP_CODLOC")[1]), Nil },;
                     { "TTP_CALATU"  , 32               , Nil },;
                     { "TTP_CALREA"  , 30               , Nil },;
                     { "TTP_SULCO1"  , 48               , Nil },;
                     { "TTP_SULCO2"  , 43               , Nil },;
                     { "TTP_SULCO3"  , 40               , Nil }})

	//chamada ExecAuto
    MSExecAuto({|x,y,z|MNTA995(x,y,z)},aRotAuCal,aRotAuCS,3)

    If !lMsErroAuto
        ConOut("**** Incluído com sucesso! ****")
    Else
        If !IsBlind()
            MostraErro()
            ConOut("Erro na Inclusão!")
        Else
            cError := MostraErro(GetSrvProfString("Startpath", ""), "MNTA995AUT_"+DTOS(DATE())+"_"+;
                      Left(Time(),2)+SubStr(Time(),4,2)+".LOG")
            ConOut(cError)
        EndIf
    EndIf
	
	//EXEMPLO DE ALTERAÇÃO
	//Array por Calibragem/Medição de Sulco
/*  aAdd( aRotAuCal, { "TTO_BEMPAI" , PadR( 'BMW01', TAMSX3("TTO_BEMPAI")[1]), Nil })
    aAdd( aRotAuCal, { "TTO_DTCALI" , dDataBase    , Nil })
    aAdd( aRotAuCal, { "TTO_HRCALI" , "08:06"      , Nil })

    //Array para cada Pneu
    aAdd( aRotAuCS, {{ "TTP_PNEU"   , PadR( 'PN-BMW-01', TAMSX3("TTP_PNEU")[1])  , Nil },;
					{ "TTP_CODLOC"  , PadR( '000001'   , TAMSX3("TTP_CODLOC")[1]), Nil },;
                    { "TTP_CALATU"  , 30               , Nil },;
                    { "TTP_CALREA"  , 26               , Nil },;
                    { "TTP_SULCO1"  , 22               , Nil },;
                    { "TTP_SULCO2"  , 21               , Nil },;
                    { "TTP_SULCO3"  , 19               , Nil }})

    aAdd( aRotAuCS, {{ "TTP_PNEU"   , PadR( 'PN-BMW-02', TAMSX3("TTP_PNEU")[1])  , Nil },;
					{ "TTP_CODLOC"  , PadR( '000002'   , TAMSX3("TTP_CODLOC")[1]), Nil },;
                    { "TTP_CALATU"  , 30               , Nil },;
                    { "TTP_CALREA"  , 22               , Nil },;
                    { "TTP_SULCO1"  , 18               , Nil },;
                    { "TTP_SULCO2"  , 18               , Nil },;
                    { "TTP_SULCO3"  , 12               , Nil }})

	aAdd( aRotAuCS, {{ "TTP_PNEU"    , PadR( 'PN-BMW-03', TAMSX3("TTP_PNEU")[1])  , Nil },;
					 { "TTP_CODLOC"  , PadR( '000003'	, TAMSX3("TTP_CODLOC")[1]), Nil },;
                     { "TTP_CALATU"  , 22               , Nil },;
                     { "TTP_CALREA"  , 28               , Nil },;
                     { "TTP_SULCO1"  , 25               , Nil },;
                     { "TTP_SULCO2"  , 14               , Nil },;
                     { "TTP_SULCO3"  , 10               , Nil }})

	 aAdd( aRotAuCS,{{ "TTP_PNEU"    , PadR( 'PN-BMW-04', TAMSX3("TTP_PNEU")[1])  , Nil },;
					 { "TTP_CODLOC"  , PadR( '000004'	, TAMSX3("TTP_CODLOC")[1]), Nil },;
                     { "TTP_CALATU"  , 12            	, Nil },;
                     { "TTP_CALREA"  , 20            	, Nil },;
                     { "TTP_SULCO1"  , 18            	, Nil },;
                     { "TTP_SULCO2"  , 13            	, Nil },;
                     { "TTP_SULCO3"  , 10            	, Nil }})
	
	//chamada ExecAuto
    MSExecAuto({|x,y,z|MNTA995(x,y,z)},aRotAuCal,aRotAuCS,4)

    If !lMsErroAuto
        ConOut("**** Alterado com sucesso! ****")
    Else
        If !IsBlind()
            MostraErro()
            ConOut("Erro na Alteração!")
        Else
            cError := MostraErro(GetSrvProfString("Startpath", ""), "MNTA995AUT_"+DTOS(DATE())+"_"+;
                      Left(Time(),2)+SubStr(Time(),4,2)+".LOG")
            ConOut(cError)
        EndIf
    EndIf
	
	//EXEMPLO DE EXCLUSÃO
	//Array por Calibragem/Medição de Sulco
    aAdd( aRotAuCal, { "TTO_BEMPAI" , PadR( 'BMW01', TAMSX3("TTO_BEMPAI")[1]), Nil })
    aAdd( aRotAuCal, { "TTO_DTCALI" , dDataBase         					 , Nil })
    aAdd( aRotAuCal, { "TTO_HRCALI" , "08:06"           					 , Nil })
	
	//chamada ExecAuto
    MSExecAuto({|x,y,z|MNTA995(x,y,z)},aRotAuCal,aRotAuCS,5)

    If !lMsErroAuto
        ConOut("**** Excluído com sucesso! ****")
    Else
        If !IsBlind()
            MostraErro()
            ConOut("Erro na Exclusão!")
        Else
            cError := MostraErro(GetSrvProfString("Startpath", ""), "MNTA995AUT_"+DTOS(DATE())+"_"+;
                      Left(Time(),2)+SubStr(Time(),4,2)+".LOG")
            ConOut(cError)
        EndIf
    EndIf
*/
    ConOut("Fim : "+Time())
    ConOut(Repl("-",80))

Return .T.

Observações:

Para o processo de inclusão ou de alteração é necessário que se envie o array aRotAuCal (tabela TTO) e o array aRotAuCS (tabela TTP) que contemplam os respectivos pneus e as medidas de calibragem e medição de sulco.

Para o processo de exclusão se faz necessário apenas o envio do array aRotAuCal (tabela TTO) que é a chave única da Calibragem/Medição de Sulco.