Você está na página 1de 2

#include "protheus.

ch"
#include "topconn.ch"
/*

Programa EXERELBI Autor Mailson Silva


Data 17/12/2013

Desc.
Executa relatorios BI

*/
//--------------------User Function EXERELBI()
//--------------------Local cQry
:= ""
Local cServico
:= GetMV("MV_RELBISV",,"IsServices_Prod")
Local cDominio
:= GetMV("MV_RELBIDO",,"Domain_KrotonProd")
Local cSenhaproc := GetMV("MV_RELBISP",,"bHC9dLF/xd2VRt5EVht1R0wkTw0=")
Local cUsuarioProc := GetMV("MV_RELBIUS",,"administrator")
If !MayIUseCode("U_EXERELBI")
Alert("Est funo [U_EXERELBI] j est sendo executada por outro usurio.")
Return .F.
EndIf
PutSx1("EXERELBI", '01','Data Inicio Referncia', 'Data Inicio Referncia', 'Data In
icio Referncia' , 'mv_cha', 'D', 08, 0, , 'G','','' ,'','', 'mv_par1', '', '',
'','', '', '', '','','','','','','','','','', {}, {}, {})
PutSx1("EXERELBI", '02','Data Fim Referncia', 'Data Fim Referncia'
, 'Data
Fim Referncia', 'mv_chb', 'D', 08, 0, , 'G','','' ,'','', 'mv_par2', '', '', ''
,'', '', '', '','','','','','','','','','', {}, {}, {})
If !Pergunte("EXERELBI",.T.)
Return(.F.)
EndIf
//verifica se h processos em execuo
cQry := "SELECT * FROM PROC_POWERCENTER WHERE STATUS <>3"
cQry := ChangeQuery(cQry)
If Select("WORK") != 0
WORK->( DbCloseArea() )
EndIf
TCQUERY cQry NEW ALIAS "WORK"
dbSelectArea("WORK")
If WORK->(EOF())
//Grava tabela
cQry := "INSERT INTO PROC_POWERCENTER(ID, DATAINI, DATAFIM, DATASOLIC, U
SERSOLIC) " + ;
"SELECT NVL(MAX(ID),0)+1, '" + DTOS(MV_PAR01) + "','" + DTOS(MV_PAR02) +
"',TO_DATE('" + DtoC(Date()) + " " + Time() +"', 'dd/mm/yy hh24:mi:ss'),'" + ;
Upper(__CUSERID) + "'" + ;
"FROM PROC_POWERCENTER"

TCSQLEXEC(cQry)
//Chama powercenter
WaitRunSrv( "pmcmd startworkflow -sv "+cServico+" -d "+cDominio+;
" -u "+cUsuarioproc+" -p "+cSenhaproc+" -f 2005_TRF_PROTHEUS -wait wf_TR
F_MALHA_PROTHEUS", .F. , "c:\WINDOWS\system32\")
Aviso( "Processamento", "Comando executado com sucesso.", {"Ok"} )
Else
Aviso( "Processamento", "Comando no pde ser executado pois h processos no fi
nalizados.", {"ERRO"} )
Endif
FreeUsedCode()
Return .T.

Você também pode gostar