01. DADOS GERAIS

Produto:

Linha de Produto:

Segmento:

Módulo:

Função:GP10APREN.PRW
País:Brasil
Ticket:23231526
Requisito/Story/Issue (informe o requisito relacionado) :DRHROTPRT-22116


02. SITUAÇÃO/REQUISITO

Necessidade de documentação acerca de rotina automática para cadastro das Informações Complementares do Menor Aprendiz.

03. SOLUÇÃO

Segue exemplos para execução de rotina automática para inclusão/alteração de dados de Informações Complementares Menor Aprendiz:


#INCLUDE "Protheus.CH"
User Function GP10APREN()
Local aCabec             := {}  
Local lGrvFunc          := .F.                                                
Private lMsErroAuto := .F.



//### Primeiro Funcionario Estagiário ################################

aadd(aCabec,{"RA_FILIAL"         ,"01"                               ,Nil        })
aadd(aCabec,{"RA_MAT"           ,"R00184"                           ,Nil        })
aadd(aCabec,{'RA_NOME'          ,'FUNCIONARIO EXECAUTO APREND'      ,Nil        })
aadd(aCabec,{'RA_SEXO'            ,'F'                                ,Nil        })
aadd(aCabec,{'RA_RACACOR'     ,'2'                                ,Nil        })
aadd(aCabec,{'RA_NASC'           ,Stod('19900426')                   ,Nil        })
aadd(aCabec,{'RA_ESTCIVI'          ,'S'                                ,Nil        })
aadd(aCabec,{'RA_CPAISOR'       ,'01058'                            ,Nil        })
aadd(aCabec,{'RA_NACIONA'     ,'10'                               ,Nil        })
aadd(aCabec,{'RA_NATURAL'      ,'SP'                               ,Nil        })
aadd(aCabec,{'RA_GRINRAI'       ,'40'                               ,Nil        })
aadd(aCabec,{'RA_CC'                 ,'000000001'                        ,Nil        })
aadd(aCabec,{'RA_ADMISSA'      ,Stod('20230101')                   ,Nil        })
aadd(aCabec,{'RA_TIPOADM'      ,'3A'                               ,Nil        })
aadd(aCabec,{'RA_OPCAO'          ,Stod('20230101')                   ,Nil        })
aadd(aCabec,{'RA_TPPREVI'        ,'1'                                ,Nil        })
aadd(aCabec,{'RA_PROCES'         ,'00088'                            ,Nil        })
aadd(aCabec,{'RA_HRSMES'          ,200                                ,Nil        })
aadd(aCabec,{'RA_HRSEMAN'      ,40                                 ,Nil        })
aadd(aCabec,{'RA_CATFUNC'       ,'M'                                ,Nil        })
aadd(aCabec,{'RA_CODFUNC'      ,'001'                              ,Nil        })
aadd(aCabec,{'RA_SALARIO'       ,1500                               ,Nil        })
aadd(aCabec,{'RA_TPCONTR'       ,'2'                                ,Nil        })
aadd(aCabec,{'RA_DTFIMCT'       ,Stod('20231231')                   ,Nil        })
aadd(aCabec,{'RA_CLAURES'       ,'1'                                ,Nil        })
aadd(aCabec,{'RA_PERCADT'       ,50                                 ,Nil        })
aadd(aCabec,{'RA_SINDICA'       ,'01'                               ,Nil        })
aadd(aCabec,{'RA_TIPOPGT'       ,'M'                                ,Nil        })
aadd(aCabec,{'RA_VIEMRAI'       ,'55'                               ,Nil        })
aadd(aCabec,{'RA_CATEG'         ,'07'                               ,Nil        })
aadd(aCabec,{'RA_CATEFD'         ,'103'                              ,Nil        })
aadd(aCabec,{'RA_CIC'                ,'84203058040'                      ,Nil        })
aadd(aCabec,{'RA_TNOTRAB'       ,'001'                              ,Nil        })
aadd(aCabec,{'RA_REGRA'         ,'01'                               ,Nil        })
aadd(aCabec,{'RA_SEQTURN'       ,'01'                               ,Nil        })
aadd(aCabec,{'RA_TIPENDE'       ,'2'                                ,Nil        })
aadd(aCabec,{'RA_LOGRTP'        ,'R'                                ,Nil        })
aadd(aCabec,{'RA_LOGRDSC'       ,'SAO LUIS'                         ,Nil        })
aadd(aCabec,{'RA_LOGRNUM'       ,'150'                              ,Nil        })
aadd(aCabec,{'RA_BAIRRO'        ,'CENTRO'                           ,Nil        })
aadd(aCabec,{'RA_ESTADO'        ,'SP'                               ,Nil        })
aadd(aCabec,{'RA_CODMUN'        ,'37107'                            ,Nil        })
aadd(aCabec,{'RA_CEP'           ,'13920200'                         ,Nil        })


Begin Transaction

    // Grava dados do funcionário MENOR APRENDIZ
    lGrvFunc    := U_Envia(aCabec)
    // Grava dados dAS INFO. COMPLEMENTARES MENOR APRENDIZ
    If lGrvFunc
        U_GP945APR(aCabec)
    EndIf


End Transaction

Return(.T.)

/*------------------------------------------------------------------------
GRAVACAO DO FUNCIONARIO MENOR APRENDIZ
------------------------------------------------------------------------*/

USER Function Envia(aCabec)
Local lRet    := .T.    
// Faz a chamada da rotina de cadastro de funcionários (opção 3 - Inclusão)
MSExecAuto({|x,y,k,w| GPEA010(x,y,k,w)},NIL,NIL,aCabec,3)  

If !lMsErroAuto
    Conout("Dados de funcionario incluido com sucesso!")    
Else
    MostraErro()
    lRet    := .F.
EndIf

Return(lRet)

/*------------------------------------------------------------------------
GRAVACAO DAS INFORMACOES COMPLEMENTARES MENOR APRENDIZ
------------------------------------------------------------------------*/
User Function GP945APR(aCabec)
Local aErro         := {}
Local cArqErrAuto   := ""
Local oModel        := Nil

oModel := FwLoadModel("GPEA945")
oModel:SetOperation(3)
oModel:Activate()

oModel:LoadValue("SRATITLE" , "RA_MAT"           , aCabec[2][2] )
oModel:LoadValue("SRATITLE" , "RA_NOME"       , aCabec[3][2])
oModel:LoadValue("SRATITLE" , "RA_ADMISSA"  , aCabec[13][2])


// Indicativo de Modalidade 2-Contrataão Indireta
oModel:SetValue("RU2MASTER","RU2_FILIAL"           ,aCabec[1][2])
oModel:SetValue("RU2MASTER","RU2_MAT"             ,aCabec[2][2])
oModel:SetValue("RU2MASTER","RU2_INDMOD"     ,"2")
oModel:SetValue("RU2MASTER","RU2_TPINSC"         ,"1")
oModel:SetValue("RU2MASTER","RU2_NUMINS"      ,"14035203000128")


/*
// Indicativo de Modalidade 1-Contrataão Direta
oModel:SetValue("RU2MASTER","RU2_FILIAL"         ,aCabec[1][2])
oModel:SetValue("RU2MASTER","RU2_MAT"            ,aCabec[2][2])
oModel:SetValue("RU2MASTER","RU2_INDMOD"    ,"1")
oModel:SetValue("RU2MASTER","RU2_ENTQA"        ,"81841963000110")
oModel:SetValue("RU2MASTER","RU2_ATPR"           ,"92989045000159")*/


// Carrega variáveis de memória SRA
SRA->(dbSetOrder(1)) // RA_FILIAL + RA_MAT
SRA->(dbSeek(aCabec[1][2]+aCabec[2][2]))
RegToMemory("SRA",,, .F.)

If oModel:VldData()
    oModel:CommitData()
    conout("Dados de INF. COMPL. MENOR APRENDIZ do funcionario incluidos com sucesso!!")
Else
    aErro := oModel:GetErrorMessage()

    cArqErrAuto := "Id do formulario de origem:"+ ' [' + AllToChar( aErro[1] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Id do campo de origem: " + ' [' + AllToChar( aErro[2] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Id do formulario de erro: " + ' [' + AllToChar( aErro[3] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Id do campo de erro: " + ' [' + AllToChar( aErro[4] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Id do erro: " + ' [' + AllToChar( aErro[5] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Mensagem do erro: " + ' [' + AllToChar( aErro[6] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Mensagem da solucao: " + ' [' + AllToChar( aErro[7] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Valor atribuido: " + ' [' + AllToChar( aErro[8] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Valor anterior: " + ' [' + AllToChar( aErro[9] ) + ']' + Chr(13) + Chr(10)

    Alert ('Falha no ExecAuto MVC: ' + (Chr(13) + Chr(10)) + cArqErrAuto)

EndIf

oModel:DeActivate()
oModel:Destroy()
oModel := NIL

Return(.T.)

#INCLUDE "Protheus.CH"
User Function GP10APREN()
Local aCabec        := {}                                                  
Private lMsErroAuto := .F.

//### Primeiro Funcionario Estagiário #################################
aCabec   := {}
aadd(aCabec,{"RA_FILIAL"        ,"01"                                                            ,Nil        })
aadd(aCabec,{"RA_MAT"           ,"R00184"                                                   ,Nil        })
aadd(aCabec,{'RA_NOME'          ,'FUNCIONARIO EXECAUTO APREND'      ,Nil        })
aadd(aCabec,{'RA_ADMISSA'       ,Stod('20230101')                                    ,Nil        })


Begin Transaction

    // Grava dados das INFO. COMPLEMENTARES MENOR APRENDIZ
    U_GP945APR(aCabec)

End Transaction

Return(.T.)


/*------------------------------------------------------------------------
GRAVACAO DAS INFORMACOES COMPLEMENTARES MENOR APRENDIZ
------------------------------------------------------------------------*/
User Function GP945APR(aCabec)
Local aErro         := {}
Local cArqErrAuto   := ""
Local oModel        := Nil

oModel := FwLoadModel("GPEA945")
oModel:SetOperation(3)
oModel:Activate()

oModel:LoadValue("SRATITLE" , "RA_MAT"          , aCabec[2][2] )
oModel:LoadValue("SRATITLE" , "RA_NOME"       , aCabec[3][2])
oModel:LoadValue("SRATITLE" , "RA_ADMISSA"  , aCabec[4][2])


// Alterando para Indicativo de Modalidade 2-Contrataão Indireta
oModel:SetValue("RU2MASTER","RU2_FILIAL"           ,aCabec[1][2])
oModel:SetValue("RU2MASTER","RU2_MAT"             ,aCabec[2][2])
oModel:SetValue("RU2MASTER","RU2_INDMOD"     ,"2")
oModel:SetValue("RU2MASTER","RU2_TPINSC"         ,"1")
oModel:SetValue("RU2MASTER","RU2_NUMINS"       ,"14035203000128")
oModel:SetValue("RU2MASTER","RU2_ENTQA"          ,"")
oModel:SetValue("RU2MASTER","RU2_ATPR"              ,"")

// Carrega variáveis de memória SRA
SRA->(dbSetOrder(1)) // RA_FILIAL + RA_MAT
SRA->(dbSeek(aCabec[1][2]+aCabec[2][2]))
RegToMemory("SRA",,, .F.)

If oModel:VldData()
    oModel:CommitData()
    conout("Dados de INF. COMPL. MENOR APRENDIZ do funcionario incluidos com sucesso!!")
Else
    aErro := oModel:GetErrorMessage()

    cArqErrAuto := "Id do formulario de origem:"+ ' [' + AllToChar( aErro[1] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Id do campo de origem: " + ' [' + AllToChar( aErro[2] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Id do formulario de erro: " + ' [' + AllToChar( aErro[3] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Id do campo de erro: " + ' [' + AllToChar( aErro[4] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Id do erro: " + ' [' + AllToChar( aErro[5] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Mensagem do erro: " + ' [' + AllToChar( aErro[6] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Mensagem da solucao: " + ' [' + AllToChar( aErro[7] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Valor atribuido: " + ' [' + AllToChar( aErro[8] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Valor anterior: " + ' [' + AllToChar( aErro[9] ) + ']' + Chr(13) + Chr(10)

    Alert ('Falha no ExecAuto MVC: ' + (Chr(13) + Chr(10)) + cArqErrAuto)

EndIf

oModel:DeActivate()
oModel:Destroy()
oModel := NIL

Return(.T.)

#INCLUDE "Protheus.CH"
User Function GP10APREN()
Local aCabec        := {}                                                  
Private lMsErroAuto := .F.

//### Primeiro Funcionario Estagiário #################################
aCabec   := {}
aadd(aCabec,{"RA_FILIAL"        ,"01"                                                            ,Nil        })
aadd(aCabec,{"RA_MAT"           ,"R00184"                                                   ,Nil        })
aadd(aCabec,{'RA_NOME'          ,'FUNCIONARIO EXECAUTO APREND'      ,Nil        })
aadd(aCabec,{'RA_ADMISSA'       ,Stod('20230101')                                    ,Nil        })
Begin Transaction

    // Grava dados das INFO. COMPLEMENTARES MENOR APRENDIZ
    U_GP945APR(aCabec)

End Transaction

Return(.T.)


/*------------------------------------------------------------------------
GRAVACAO DAS INFORMACOES COMPLEMENTARES MENOR APRENDIZ
------------------------------------------------------------------------*/
User Function GP945APR(aCabec)
Local aErro         := {}
Local cArqErrAuto   := ""
Local oModel        := Nil

oModel := FwLoadModel("GPEA945")
oModel:SetOperation(4)
oModel:Activate()

oModel:LoadValue("SRATITLE" , "RA_MAT"      , aCabec[2][2] )
oModel:LoadValue("SRATITLE" , "RA_NOME"     , aCabec[3][2])
oModel:LoadValue("SRATITLE" , "RA_ADMISSA"  , aCabec[4][2])

// Alterando para Indicativo de Modalidade 1-Contrataão Direta
oModel:SetValue("RU2MASTER","RU2_FILIAL"    ,aCabec[1][2])
oModel:SetValue("RU2MASTER","RU2_MAT"       ,aCabec[2][2])
oModel:SetValue("RU2MASTER","RU2_INDMOD"    ,"1")
oModel:SetValue("RU2MASTER","RU2_TPINSC"     ,"")
oModel:SetValue("RU2MASTER","RU2_NUMINS"     ,"")
oModel:SetValue("RU2MASTER","RU2_ENTQA"     ,"81841963000110")
oModel:SetValue("RU2MASTER","RU2_ATPR"      ,"92989045000159")



// Carrega variáveis de memória SRA
SRA->(dbSetOrder(1)) // RA_FILIAL + RA_MAT
SRA->(dbSeek(aCabec[1][2]+aCabec[2][2]))
RegToMemory("SRA",,, .F.)

If oModel:VldData()
    oModel:CommitData()
    conout("Dados de INF. COMPL. MENOR APRENDIZ do funcionario alterados com sucesso!!")
Else
    aErro := oModel:GetErrorMessage()

    cArqErrAuto := "Id do formulario de origem:"+ ' [' + AllToChar( aErro[1] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Id do campo de origem: " + ' [' + AllToChar( aErro[2] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Id do formulario de erro: " + ' [' + AllToChar( aErro[3] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Id do campo de erro: " + ' [' + AllToChar( aErro[4] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Id do erro: " + ' [' + AllToChar( aErro[5] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Mensagem do erro: " + ' [' + AllToChar( aErro[6] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Mensagem da solucao: " + ' [' + AllToChar( aErro[7] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Valor atribuido: " + ' [' + AllToChar( aErro[8] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Valor anterior: " + ' [' + AllToChar( aErro[9] ) + ']' + Chr(13) + Chr(10)

    Alert ('Falha no ExecAuto MVC: ' + (Chr(13) + Chr(10)) + cArqErrAuto)

EndIf

oModel:DeActivate()
oModel:Destroy()
oModel := NIL

Return(.T.)


04. DEMAIS INFORMAÇÕES

N/A


05. ASSUNTOS RELACIONADOS