01. DADOS GERAIS
Linha de Produto: | Microsiga Protheus |
---|---|
Segmento: | Recursos Humanos |
Módulo: | SIGARSP |
Função: | RSPA010 |
Ticket: | N/A |
Requisito/Story/Issue : |
02. SITUAÇÃO/REQUISITO
Preparar a rotina de Cadastro de Candidatos (RSPA010) para execução de ExecAuto a fim de ser utilizado no processo de anonimização.
03. SOLUÇÃO
Realizada adaptação da rotina de Cadastro de Candidatos (RSPA010) para execução via ExecAuto.
Abaixo exemplo de utilização e chamada da rotina.
- Chamada da rotina: MSExecAuto({|v,x,y,z| RSPA010(v,x,y,z)}, "SQG" , , nOpc, aRotAuto)
- Onde:
- nOpc = tipo de operação. 3 = Inclusão; 4 = Alteração; 5 = Exclusão
- aRotAuto = array com os dados a incluir ou alterar
- Estrutura aRotAuto:
- aRotAuto[1] - posição destinada à tabela SQG
- aRotAuto[1][1] = "SQG" //alias da tabela
- aRotAuto[1][2] = 1 //índice para busca na tabela
- aRotAuto[1][3] = xFilial("SQG","D MG 01")+"000012" //chave de busca na tabela conforme índice escolhido
- aRotAuto[1][4] = array com dados a incluir na tabela. Formato = {{campo,conteúdo},{campo,conteúdo},{campo,conteúdo}}
- aRotAuto[1][4] = { {"QG_FILIAL", xFilial("SQG","D MG 01")} , { "QG_CURRIC", "000012"} }
- aRotAuto[2] - posição destinada à tabela SQL
- aRotAuto[2][1] - array com nome do campo a ser manipulado
- aRotAuto[2][1] = { {"QL_FILIAL" , "QL_CURRIC" , "QL_DTADMIS" , "QL_DTDEMIS" , "QL_ATIVIDA" ,"QL_AREA" ,"QL_EMPRESA" ,"QL_FUNCAO"} }
- aRotAuto[2][2] - array com as linhas a serem manipuladas, o conteúdo deve seguir a ordem dos campos definida no array aRotAuto[2][1][1]
- aRotAuto[2][2] = { {xFilial("SQL","D MG 01") , "000012" , CtoD("10/10/2000"), CtoD("10/10/2010"), "TESTE INCLUSAO - 5" ,"001" ,"empresa x" ,"funcao x"} }
- aRotAuto[2][1] - array com nome do campo a ser manipulado
- aRotAuto[3] - posição destinada à tabela SQM
- aRotAuto[3][1] - array com nome do campo a ser manipulado
- aRotAuto[3][1] = { {"QM_FILIAL" , "QM_CURRIC" , "QM_ENTIDAD" , "QM_DATA" ,"QM_CURSO"} }
- aRotAuto[3][2] - array com as linhas a serem manipuladas, o conteúdo deve seguir a ordem dos campos definida no array aRotAuto[2][1][1]
- aRotAuto[3][2] = { {xFilial("SQM","D MG 01") , "000012" , "GPE_ESTAGIARIO" , CtoD("10/10/2000"), "00004"} }
- aRotAuto[3][1] - array com nome do campo a ser manipulado
- aRotAuto[4] - posição destinada à tabela SQI
- aRotAuto[4][1] - array com nome do campo a ser manipulado
- aRotAuto[4][1] = { {"QI_FILIAL" , "QI_CURRIC" , "QI_GRUPO", "QI_FATOR", "QI_GRAU" , "QI_DATA" } }
- aRotAuto[4][2] - array com as linhas a serem manipuladas, o conteúdo deve seguir a ordem dos campos definida no array aRotAuto[2][1][1]
- aRotAuto[4][2] = { {xFilial("SQI","D MG 01") , "000012" , "01" , "01" , "03" , CtoD("09/09/2018")} }
- aRotAuto[4][1] - array com nome do campo a ser manipulado
- aRotAuto[5] - posição destinada à tabela SQR
- aRotAuto[5][1] - array com nome do campo a ser manipulado
- aRotAuto[5][1] = { {"QR_FILIAL" , "QR_CURRIC" , "QR_TESTE", "QR_TOPICO" , "QR_QUESTAO" , "QR_ALTERNA" , "QR_RESULTA" , "QR_VAGA" , "QR_DATA"} }
- aRotAuto[5][2] - array com as linhas a serem manipuladas, o conteúdo deve seguir a ordem dos campos definida no array aRotAuto[2][1][1]
- aRotAuto[5][2] = { {xFilial("SQR","D MG 01") , "000012" , "001" , "001" , "001" , "02" , 100 , "000001" , CtoD("10/11/2019")} }
- aRotAuto[5][1] - array com nome do campo a ser manipulado
- aRotAuto[6] - posição destinada à tabela SM6
- aRotAuto[6][1] - array com nome do campo a ser manipulado
- aRotAuto[6][1] = { {"M6_FILIAL" , "M6_CURRIC" , "M6_TIPO" , "M6_RESP" , "M6_ALTERNA"} }
- aRotAuto[6][2] - array com as linhas a serem manipuladas, o conteúdo deve seguir a ordem dos campos definida no array aRotAuto[2][1][1]
- aRotAuto[6][2] = { {xFilial("SM6","D MG 01") , "000012" , "00003" , "" , "001*004*003"} }
- aRotAuto[6][1] - array com nome do campo a ser manipulado
Exemplo chamada ExecAuto RSPA010 - inclusão / alteração / exclusão
#INCLUDE "PROTHEUS.CH" #INCLUDE "TBICONN.CH" #INCLUDE "RWMAKE.CH" User Function AutRSPA010() Private lMsErroAuto := .F. PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "RSP" If IncCurric() If AltCurric() DelCurric() EndIf EndIf RESET ENVIRONMENT Return NIL Static Function IncCurric() Local nOpc := 3 Local aRotAuto := {} lMsErroAuto := .F. ConOut(Repl("-",80)) ConOut("Inicio: "+Time()) ConOut(PadC("Rotina Automatica INCLUSAO CURRICULO - SQG, SQL, SQM, SQI, SQR",80)) Aadd( aRotAuto, { "SQG",1,xFilial("SQG","D MG 01")+"000012",{; {"QG_FILIAL", xFilial("SQG","D MG 01")},; { "QG_CURRIC", "000012"},; { "QG_CIC", "83807719075"},; { "QG_RG", "834104710"},; { "QG_NOME", "TESTE INCLUSAO"}; }}) Aadd( aRotAuto, {; {{"QL_FILIAL" , "QL_CURRIC" , "QL_DTADMIS" , "QL_DTDEMIS" , "QL_ATIVIDA" ,"QL_AREA" ,"QL_EMPRESA" ,"QL_FUNCAO"} },; {{xFilial("SQL","D MG 01") , "000012" , CtoD("10/10/2000"), CtoD("10/10/2010"), "TESTE INCLUSAO - 5" ,"001" ,"empresa x" ,"funcao x"},; {xFilial("SQL","D MG 01") , "000012" , CtoD("21/11/2010"), CtoD("10/10/2018"), "TESTE INCLUSAO - 5A" ,"001" ,"empresa y" ,"funcao y"}}; }) Aadd( aRotAuto, { ; {{"QM_FILIAL" , "QM_CURRIC" , "QM_ENTIDAD" , "QM_DATA" ,"QM_CURSO"}},; {{xFilial("SQM","D MG 01") , "000012" , "GPE_ESTAGIARIO" , CtoD("10/10/2000"), "00004"},; {xFilial("SQM","D MG 01") , "000012" , "GPE_ESTAGIARIO" , CtoD("10/10/2018"), "00001"}}; }) Aadd( aRotAuto, { ; {{"QI_FILIAL" , "QI_CURRIC" , "QI_GRUPO", "QI_FATOR", "QI_GRAU" , "QI_DATA" } },; {{xFilial("SQI","D MG 01") , "000012" , "01" , "01" , "03" , CtoD("09/09/2018")},; {xFilial("SQI","D MG 01") , "000012" , "01" , "02" , "01" , CtoD("09/09/2018") }}; }) Aadd( aRotAuto, { ; {{"QR_FILIAL" , "QR_CURRIC" , "QR_TESTE", "QR_TOPICO" , "QR_QUESTAO" , "QR_ALTERNA" , "QR_RESULTA" , "QR_VAGA" , "QR_DATA"} },; {{xFilial("SQR","D MG 01") , "000012" , "001" , "001" , "001" , "02" , 100 , "000001" , CtoD("10/11/2019")} ,; {xFilial("SQR","D MG 01") , "000012" , "001" , "001" , "002" , "03" , 100 , "000001" , CtoD("10/11/2019")} ,; {xFilial("SQR","D MG 01") , "000012" , "001" , "001" , "003" , "01" , 100 , "000001" , CtoD("10/11/2019")} }; }) Aadd( aRotAuto, { ; {{"M6_FILIAL" , "M6_CURRIC" , "M6_TIPO" , "M6_RESP" , "M6_ALTERNA"} },; {{xFilial("SM6","D MG 01") , "000012" , "00001" , "001" , ""} ,; {xFilial("SM6","D MG 01") , "000012" , "00002" , "" , "002"} ,; {xFilial("SM6","D MG 01") , "000012" , "00003" , "" , "001*004*003"} }; }) MSExecAuto({|v,x,y,z| RSPA010(v,x,y,z)},"SQG" , , nOpc, aRotAuto) If !lMsErroAuto ConOut("**** INCLUSAO com sucesso! ****") Else MostraErro() ConOut("**********ERRO na INCLUSAO!*************") EndIf ConOut("Fim Inclusao: "+Time()) ConOut(Repl("-",80)) Return !lMsErroAuto Static Function AltCurric()` Local nOpc := 4 Local aRotAuto := {} lMsErroAuto := .F. ConOut(Repl("-",80)) ConOut("Inicio: "+Time()) ConOut(PadC("Rotina Automatica ALTERACAO CURRICULO - SQG, SQL, SQM, SQI, SQR",80)) Aadd( aRotAuto, { "SQG",1,xFilial("SQG","D MG 01")+"000012",{; {"QG_FILIAL", xFilial("SQG","D MG 01"), Nil },; { "QG_CURRIC", "000012", Nil },; { "QG_CIC", "83807719075", Nil },; { "QG_RG", "834104710", Nil },; { "QG_NOME", "TESTE ALTERACAO - 5", Nil }; }}) Aadd( aRotAuto, {; {{"QL_FILIAL" , "QL_CURRIC" , "QL_DTADMIS" , "QL_DTDEMIS" , "QL_ATIVIDA" ,"QL_AREA" ,"QL_EMPRESA" ,"QL_FUNCAO"} },; {{xFilial("SQL","D MG 01") , "000012" , CtoD("10/10/2005"), CtoD("10/10/2015"), "TESTE ALTERACAO - 5" ,"001" ,"empresa x - alterada" ,"funcao x"},; {xFilial("SQL","D MG 01") , "000012" , CtoD("21/11/2015"), CtoD("10/10/2018"), "TESTE ALTERACAO - 5A" ,"001" ,"empresa y - alterada" ,"funcao y"}}; }) Aadd( aRotAuto, { ; {{"QM_FILIAL" , "QM_CURRIC" , "QM_ENTIDAD" , "QM_DATA" ,"QM_CURSO"}},; {{xFilial("SQM","D MG 01") , "000012" , "GPE_ESTAGIARIO" , CtoD("10/10/2015"), "00004"},; {xFilial("SQM","D MG 01") , "000012" , "GPE_ESTAGIARIO" , CtoD("10/10/2018"), "00001"}}; }) Aadd( aRotAuto, { ; {{"QI_FILIAL" , "QI_CURRIC" , "QI_GRUPO", "QI_FATOR", "QI_GRAU" , "QI_DATA" } },; {{xFilial("SQI","D MG 01") , "000012" , "01" , "01" , "02" , CtoD("10/10/2018")},; {xFilial("SQI","D MG 01") , "000012" , "01" , "02" , "02" , CtoD("10/10/2018") }}; }) Aadd( aRotAuto, { ; {{"QR_FILIAL" , "QR_CURRIC" , "QR_TESTE", "QR_TOPICO" , "QR_QUESTAO" , "QR_ALTERNA" , "QR_RESULTA" , "QR_VAGA" , "QR_DATA"} },; {{xFilial("SQR","D MG 01") , "000012" , "001" , "001" , "001" , "01" , 000 , "000001" , CtoD("20/11/2019")} ,; {xFilial("SQR","D MG 01") , "000012" , "001" , "001" , "002" , "03" , 100 , "000001" , CtoD("11/11/2019")} ,; {xFilial("SQR","D MG 01") , "000012" , "001" , "001" , "003" , "01" , 100 , "000001" , CtoD("11/11/2019")} }; }) Aadd( aRotAuto, { ; {{"M6_FILIAL" , "M6_CURRIC" , "M6_TIPO" , "M6_RESP" , "M6_ALTERNA"} },; {{xFilial("SM6","D MG 01") , "000012" , "00001" , "002" , ""} ,; {xFilial("SM6","D MG 01") , "000012" , "00002" , "" , "003"} ,; {xFilial("SM6","D MG 01") , "000012" , "00003" , "" , "002*004*003"} }; }) MSExecAuto({|v,x,y,z| RSPA010(v,x,y,z)}, "SQG", , nOpc, aRotAuto) If !lMsErroAuto ConOut("**** ALTERACAO com sucesso! ****") Else MostraErro() ConOut("**********ERRO na ALTERACAO!*************") EndIf ConOut("Fim Alteracao: "+Time()) ConOut(Repl("-",80)) Return !lMsErroAuto Static Function DelCurric() Local nOpc := 5 lMsErroAuto := .F. ConOut(Repl("-",80)) ConOut("Inicio: "+Time()) ConOut(PadC("Rotina Automatica EXCLUSAO CURRICULO - SQG, SQL, SQM, SQI, SQR",80)) DbSelectArea("SQG") DbSetOrder(3) //Filial + CIC If SQG->(DbSeek(xFilial("SQG","D MG 01")+"83807719075")) MSExecAuto({|v,x,y,z| RSPA010(v,x,y,z)}, "SQG", , nOpc, {} ) EndIf ConOut("Fim Excluso: "+Time()) ConOut(Repl("-",80)) Return !lMsErroAuto
04. DEMAIS INFORMAÇÕES
N/A
05. ASSUNTOS RELACIONADOS
- N/A
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas