Home

Linha Microsiga Protheus

Páginas filhas
  • PL130EXP Calcula exposto conforme regra utilizada pelo cliente.
||Descrição|| PL130EXP Calcula exposto conforme regra utilizada pelo cliente.  
||Observações|| 
||Exemplos||User Function PL130EXP()
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿//³ Inicializa variaveis                                                     ³//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Local nTemp, cChave, lContinua, aRet, lTemCob, aStruCod, nTmp, nTempor 
Local cOper                  := paramixb[1]
Local cEmpIni   := paramixb[2]
Local cEmpFim := paramixb[3]
Local cMatIni    := paramixb[4]
Local cMatFim  := paramixb[5]
Local dDatIni     := paramixb[6]
Local dDatFim   := paramixb[7]
Local cTipPla    := paramixb[8]
Local dTipPla    := paramixb[9]
Local cGruBen              := paramixb[10]
Local dGruBen              := paramixb[11]
Local cEmpIntS            := paramixb[12]
Local nIndiceE  := paramixb[13]
//Local aSipExp   := paramixb[14] 
Local cNameBA1  := RetSQLName('BA1')
Local cNameBA3  := RetSQLName('BA3')
Local cNameBG9  := RetSQLName('BG9')
Local cNameBQC  := RetSQLName('BQC')
Local cNameBCA  := RetSQLName('BCA')
Local cCodigo   := ''
Local cQryBloq  := ''
Local lBenBlo   := .F.
Local lBlqAns   := .F.
Local dDatBlo   := StoD('')
Local nCt       := 0
Local nPosVet   := 0
Local nPosaCri  := 0
Local nPosTam   := 0   
LOCAL nOldi                := 1
LOCAL nPosLocal nPosBI3   := 1
LOCAL cCodPla   := ''
LOCAL cVersao   := ''
LOCAL cKey                := ''
Local lValBI3     := .F.
Local nLBr8                  := 1
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Array responsavel por calcular exposto ...                               
³//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Local aSipExp     := {}
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Array responsavel por gravar os valores referentes aos expostos ...         ³            
//ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´            
//³ Formato do Array :                                                                                                                                                         ³            
//³                     ->Codigo do Item da Despesa                                                                                                                              ³            
//³                     ->Grupos de Coberturas separados por virgula                                                                           ³            
//³         ->Carencia em dias                                                                                                                                                         ³            
//³         ->Nove colunas com valor zero, onde serao gravados o numero de expostos ³            
//³                     para cada item de do relatorio para o Anexo II                                                        ³            
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
//Item Consultasaadd(aSipExp,{'1.01','',30,0})
//Exames Complementares
////////aadd(aSipExp,{'1.02',''   ,0,0,0,0,0,0,0,0,0,0})  
//Angiografia
aadd(aSipExp,{'1.02.1','',180,0})
//Hemodinamicaaadd(aSipExp,{'1.02.2','',180,0})
//Ressonancia nuclearaadd(aSipExp,{'1.02.3','',180,0})
//Tomografia computadorizadaaadd(aSipExp,{'1.02.4','',180,0})
//Demais exames             aadd(aSipExp,{'1.02.5','',180,0})
//Terapias
////////aadd(aSipExp,{'1.03',''     ,0,0,0,0,0,0,0,0,0,0})
//Hemoterapiaaadd(aSipExp,{'1.03.1','',180,0})
//Litotripsia      
aadd(aSipExp,{'1.03.2','',180,0})
//Quimioterapiaaadd(aSipExp,{'1.03.3','',180,0})
//Radiologiaaadd(aSipExp,{'1.03.4','',180,0})
//Radioterapiaaadd(aSipExp,{'1.03.5','',180,0})
//Terapia renalaadd(aSipExp,{'1.03.6','',180,0})
//Demais terapiasaadd(aSipExp,{'1.03.7','',180,0})
//Outros Atend Ambulat
aadd(aSipExp,{'1.04','',180,0})
//Internacoes
aadd(aSipExp,{'1.05','',0,0})
//Demais despesas assistenciais
aadd(aSipExp,{'1.15','',180,0})
 //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Seleciona registros para processamento ...                               ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ From ...                                                                 ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
cFrom   := ' FROM ' + cNameBA1 + ', ' + cNameBA3 + ', ' + cNameBG9
If  alltrim(cTipPla) <> '1' // Tipo Plano = Coletivo            cFrom   += ', ' + cNameBQC
Endif
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Where BA1-Usuarios ...                                                   ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
cWhere  := ' WHERE BA1_FILIAL = '' + xFilial('BA1') + '' AND '
cWhere  +=       ' BA1_CODINT =  '' + cOper   + '' AND '
cWhere  +=       ' BA1_CODEMP >= '' + cEmpIni + '' AND '
cWhere  +=       ' BA1_CODEMP <= '' + cEmpFim + '' AND '
If ! empty(cEmpIntS)            
cWhere  +=       ' BA1_CODEMP NOT IN (' + cEmpIntS + ') AND '        
Endif
cWhere  +=       ' BA1_MATRIC >= '' + cMatIni + '' AND '
cWhere  +=       ' BA1_MATRIC <= '' + cMatFim + '' AND '
cWhere  +=       ' BA1_DATINC <= '' + dtos(dDatFim) + '' AND '
Do Case
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Beneficiarios expostos                                                   ³
//³ Beneficiarios da operadora que esta enviando as informacoes e tem o      ³
//³ servico fornecido majoriatariamente pela mesma                           ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Case cGruBen == '1' // Beneficiarios expostos                        
cWhere  += ' (BA1_OPEORI = '' + cOper + '' AND BA1_OPEDES = '' + cOper + '') AND '                        
cWhere  += ' BA1_INFANS <> '0' AND '
 //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿                        
//³ Expostos nao beneficiarios                                               ³                        
//³ Beneficiarios de outra operadora mas que tem o servico fornecido         ³                        
//³ majoritariamente pela operadora que esta enviando as informacoes         ³                        
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ


 Case cGruBen == '2' // Expostos nao beneficiarios                        
cWhere  += ' (BA1_OPEORI <> '' + cOper + '' AND BA1_OPEDES = '' + cOper + '') AND '                        
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿                        
//³ Beneficiarios nao expostos                                               ³                        
//³ Beneficiarios da operadora que esta enviando as informacoes que tem o    ³                        
//³ servico fornecido majoriatariamente por outra operadora                  ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

Case cGruBen == '3' // Beneficiarios nao expostos                        
cWhere  += ' (BA1_OPEORI = '' + cOper + '' AND BA1_OPEDES <> '' + cOper + '') AND '                        
cWhere  += ' BA1_INFANS <> '0' AND '    
EndCase 
cWhere  +=       ' BA1_DATADM <= '' + Dtos(dDatFim) + '' AND '
cWhere  +=         cNameBa1 + '.D_E_L_E_T_ <> '*' AND '
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Where BA3-Familias/Usuarios ...                                          ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
cWhere  +=       ' BA3_FILIAL = '' + xFilial('BA3') + '' AND '
cWhere  +=       ' BA3_CODINT = BA1_CODINT AND '
cWhere  +=       ' BA3_CODEMP = BA1_CODEMP AND '
cWhere  +=       ' BA3_MATRIC = BA1_MATRIC AND '
cWhere  +=         cNameBA3 + '.D_E_L_E_T_ <> '*' AND '
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Where BG9-Grupo/Empresa ...                                              ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
cWhere  +=       ' BG9_FILIAL = '' + xFilial('BG9') + '' AND '
cWhere  +=       ' BG9_CODINT = BA1_CODINT AND '
cWhere  +=       ' BG9_CODIGO = BA3_CODEMP AND '
cWhere  +=         cNameBG9 + '.D_E_L_E_T_ <> '*' AND '
If  alltrim(cTipPla) == '1' // Tipo Plano = Individual/Familiar
cWhere  +=   ' BG9_TIPO = '1' ' // Pessoa Fisica
Else            
cWhere  +=   ' BG9_TIPO = '2' ' // Pessoa Juridica
Endif
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Where BQC-SubContrato ...                                                ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If  alltrim(cTipPla) <> '1' // Tipo Plano = Coletivo
cWhere  +=   ' AND  '            
cWhere  +=   ' BQC_FILIAL = '' + xFilial('BQC') + '' AND '            
cWhere  +=   ' SUBSTRING(BQC_CODIGO,1,4) = BA3_CODINT AND '            
cWhere  +=   ' SUBSTRING(BQC_CODIGO,5,4) = BA3_CODEMP AND '            
cWhere  +=   ' BQC_NUMCON = BA3_CONEMP AND '            
cWhere  +=   ' BQC_VERCON = BA3_VERCON AND '            
cWhere  +=   ' BQC_SUBCON = BA3_SUBCON AND '            
cWhere  +=   ' BQC_VERSUB = BA3_VERSUB AND '            
cWhere  +=     cNameBQC + '.D_E_L_E_T_ <> '*' AND '            
If  alltrim(cTipPla) == '2' // Tipo Plano = Coletivo sem patrocinador                        
	cWhere  +=   ' BQC_PATROC = '0' ' // sem patrocinador            
Else                        
	cWhere  +=   ' BQC_PATROC = '1' ' // com patrocinador            
Endif
Endif              
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Seleciona registros ...                                                  ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
cFiltro := 'SELECT BA1_NOMUSR, ' +cNameBA1 
cFiltro += '.R_E_C_N_O_ AS REGBA1, ' + cNameBA3 + '.R_E_C_N_O_ AS REGBA3 '
cFiltro += cFrom
cFiltro += cWhere
PLSQuery(cFiltro,'BA1QRY')
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Processa registros selecionados                                          ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
While ! BA1QRY->(Eof())
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Posiciona BA1                                                            
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
BA1->(dbGoTo(BA1QRY->REGBA1))        
BA3->(dbGoTo(BA1QRY->REGBA3))    
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Verifica se no fim do periodo o beneficiario estava bloqueado.        ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
cQryBloq  := ' SELECT BCA_TIPO, BCA_DATA, BCA_MOTBLO, BCA_NIVBLQ FROM ' + cNameBCA
cQryBloq  += ' WHERE BCA_FILIAL = '' + xFilial('BCA') + '' AND BCA_MATRIC = '' + BA1->BA1_CODINT + BA1->BA1_CODEMP + BA1->BA1_MATRIC + '' AND'
cQryBloq  += ' BCA_TIPREG = '' + BA1->BA1_TIPREG + '' AND'
cQryBloq  += ' BCA_DATA <= '' + dtos(dDatFim) + '' AND '     
cQryBloq  += cNameBCA + '.D_E_L_E_T_ <> '*' '
cQryBloq  += ' ORDER BY BCA_DATA, R_E_C_N_O_'
PLSQuery(cQryBloq,'BCAQRY')
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Se nao existe historico de bloqueio do Usuario e                      ³
//³    a data de bloqueio do usuario eh anterior ao periodo do SIB        ³
//³    -> despreza o usuario                                              ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
  If  BCAQRY->(eof()) .and. ;                
! empty(BA1->BA1_DATBLO) .and. ;                
dtos(BA1->BA1_DATBLO) < dtos(dDatIni)            
BCAQRY->(DbCloseArea())        
BA1QRY->(DbSkip())        
Loop              
Endif        
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Inicializa variaveis                                                  ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
lTemCob   := .F.            
lBenBlo := .F.            
lBlqAns := .F.            
dDatBlo := StoD('')            
BI3->(DbSetOrder(1))
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Processa historico de bloqueio                                        ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
  While ! BCAQRY->(eof())                        
lBlqAns := .F.                        
Do Case                            
Case BCAQRY->BCA_NIVBLQ == 'U' // Nivel de Usuario                                    
If  BG3->(MsSeek(xFilial('BG3')+BCAQRY->BCA_MOTBLO))                                                
If  ! empty(BG3->BG3_BLQANS)                                                                       
lBlqAns := .T.                                                           
Endif                                         
Endif
 Case BCAQRY->BCA_NIVBLQ == 'F' // Nivel de Familia                                    
If  BG1->(MsSeek(xFilial('BG1')+BCAQRY->BCA_MOTBLO))                                                
If  ! empty(BG1->BG1_BLQANS)                                                                       
lBlqAns := .T.                                                          
 Endif                                        
 Endif
   Case BCAQRY->BCA_NIVBLQ == 'S' // Nivel de Sub-Contrato                                    
If  BQU->(MsSeek(xFilial('BQU')+BCAQRY->BCA_MOTBLO))                                                
If  ! empty(BQU->BQU_BLQANS)                                                                       
lBlqAns := .T.                                                           
Endif                                         
Endif                        
EndCase
 If  lBlqAns .and. BCAQRY->BCA_TIPO == '0' // Bloqueio                                   
lBenBlo := .T.                                   
dDatBlo := BCAQRY->BCA_DATA                        
Else                                   
lBenBlo := .F.                                   
dDatBlo := StoD('')                        
Endif                         
BCAQRY->(dbSkip())            
Enddo
BCAQRY->(DbCloseArea())
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿            
//³ Despreza usuario bloqueado antes da data inicial                      ³            
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
 If  ! empty(dDatBlo) .and. dDatBlo < dDatIni                        
BA1QRY->(dbSkip())                        
Loop            
Endif
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Acumula qtd e inicializa variaveis                                       ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
 nTotBenef ++            
nQtdBenef ++            
nDiasCar1 := 0             
If Empty(BA1->BA1_CODPLA)               
cCodPla := BA3->BA3_CODPLA               
cVersao := BA3->BA3_VERSAO
Else
cCodPla := BA1->BA1_CODPLA               
cVersao := BA1->BA1_VERSAO            
Endif              
i := 1
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Processa vetor aSIP ...                                    ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
While i <= len(aSipExp) 
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Calcula exposto...                                                                                   ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
 lTemCob  := .F.                        
nDiasCar := aSipExp[i,3]                        
dAuxIni  := Max(BA1->BA1_DATCAR + nDiasCar,dDatIni)                        
dAuxFim  := Min(If(Empty(dDatBlo),dDatFim,dDatBlo),dDatFim)                        
If  dAuxFim > dAuxIni                                   
nDiasExp := dAuxFim - dAuxIni                        
Else                                   
nDiasExp := 0                        
Endif                        
If  nDiasExp > 0
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Verifica se for item da internacao 15 ou 1.5 verifica cobertura no produto do usuario      ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
 lValBI3 := .F.                                                                                                                 
nOldi := i            
If aSipExp[i,1] <> '1.05'                                                 
lTemCob  := .T.                                               
Else //caso seja o item internacao faz a verificacao no produto                                                
nPosBI3 := Ascan(aProcBI3,{ |x| x[1] == xFilial('BI3')+BA1->BA1_CODINT+cCodPla+cVersao })                
If nPosBI3 == 0
BI3->(MsSeek(xFilial('BI3')+BA1->BA1_CODINT+cCodPla+cVersao))                                                   
If Empty(BI3->BI3_CODSEG) .or. BI3->BI3_CODSEG $ cSegInt                                                                        
lValBI3 := .T.                                                                       
lTemCob  := .T.                                                           
Endif                                                           
aadd(aProcBI3,{xFilial('BI3')+BA1->BA1_CODINT+cCodPla+cVersao,lValBI3,BI3->BI3_CODSEG })                                          
Else              
If Empty(aProcBI3[nPosBI3,3]) .or. aProcBI3[nPosBI3,3] $ cSegInt                                                      
lValBI3 := .T.                                                              
lTemCob  := .T.                                                  
Endif                                       
Endif                                                
If  ! lTemCob                                                           
nDiasExp := 0                                
Endif                                    
Endif                
Endif
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿                        
//³ Acumula valores no item...                                                   ³                        
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ                        
aSipExp[i,4] := nDiasExp                        
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿                        
//³ Pula para proxima ocorrencia do vetor aSIP                 ³                        
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
 i++            
EndDo
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿            
//³ Acessa proximo registro                                    ³            
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ            
BA1QRY->(DbSkip())
EndDo
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Fecha area de trabalho                                                   ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
BA1QRY->(DbCloseArea())
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Fim da funcao                                                            ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Return(aSipExp)







||Preview|| 
||Veja também|| 
||Idioma|| Português(Brasil)
||Versões|| Versões_Anteriores
||Sistemas Operacionais Suportados||Todos
||Compatível com as Bases de Dados||Todas
||Updates|| 
||Parâmetros|| paramixb[1]			Array of Record			Operadora
paramixb[2]			Array of Record			empresa inicial
paramixb[3]			Array of Record			empresa final
paramixb[4]			Array of Record			Matricula Inicial
paramixb[5]			Array of Record			Matricula Final
paramixb[6]			Array of Record			Data Inicio da Geração
paramixb[7]			Array of Record			Data Fim da Geração
paramixb[8]			Array of Record		        Codigo do tipo de plano a ser gerado
paramixb[9]			Array of Record	                Descrição do tipo de plano a ser gerado 
paramixb[10]			Array of Record	                Codigo do Grupo de Beneficiario a ser gerado
paramixb[11]			Array of Record	                Descrição do Grupo de Beneficiario a ser gerado 
paramixb[12]			Array of Record			Empresa que serão ignoradas na geração
paramixb[13]			Array of Record			Indice para a geração do grupo de exposto 
paramixb[14]			Array of Record                 Array contendo os valores de expostos
||Retorno|| Vetor aSipExp com valores de expostos
||Eventos de chamada do Ponto de Entrada|| 
||Variáveis|| 
||Programa Fonte|| PLSM130.PRW

 

||Descrição|| PL130EXP Calcula exposto conforme regra utilizada pelo cliente.  
||Observações|| 
||Exemplos||User Function PL130EXP()
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿//³ Inicializa variaveis                                                     ³//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Local nTemp, cChave, lContinua, aRet, lTemCob, aStruCod, nTmp, nTempor 
Local cOper                  := paramixb[1]
Local cEmpIni   := paramixb[2]
Local cEmpFim := paramixb[3]
Local cMatIni    := paramixb[4]
Local cMatFim  := paramixb[5]
Local dDatIni     := paramixb[6]
Local dDatFim   := paramixb[7]
Local cTipPla    := paramixb[8]
Local dTipPla    := paramixb[9]
Local cGruBen              := paramixb[10]
Local dGruBen              := paramixb[11]
Local cEmpIntS            := paramixb[12]
Local nIndiceE  := paramixb[13]
//Local aSipExp   := paramixb[14] 
Local cNameBA1  := RetSQLName('BA1')
Local cNameBA3  := RetSQLName('BA3')
Local cNameBG9  := RetSQLName('BG9')
Local cNameBQC  := RetSQLName('BQC')
Local cNameBCA  := RetSQLName('BCA')
Local cCodigo   := ''
Local cQryBloq  := ''
Local lBenBlo   := .F.
Local lBlqAns   := .F.
Local dDatBlo   := StoD('')
Local nCt       := 0
Local nPosVet   := 0
Local nPosaCri  := 0
Local nPosTam   := 0   
LOCAL nOldi                := 1
LOCAL nPosLocal nPosBI3   := 1
LOCAL cCodPla   := ''
LOCAL cVersao   := ''
LOCAL cKey                := ''
Local lValBI3     := .F.
Local nLBr8                  := 1
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Array responsavel por calcular exposto ...                               
³//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Local aSipExp     := {}
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Array responsavel por gravar os valores referentes aos expostos ...         ³            
//ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´            
//³ Formato do Array :                                                                                                                                                         ³            
//³                     ->Codigo do Item da Despesa                                                                                                                              ³            
//³                     ->Grupos de Coberturas separados por virgula                                                                           ³            
//³         ->Carencia em dias                                                                                                                                                         ³            
//³         ->Nove colunas com valor zero, onde serao gravados o numero de expostos ³            
//³                     para cada item de do relatorio para o Anexo II                                                        ³            
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
//Item Consultasaadd(aSipExp,{'1.01','',30,0})
//Exames Complementares
////////aadd(aSipExp,{'1.02',''   ,0,0,0,0,0,0,0,0,0,0})  
//Angiografia
aadd(aSipExp,{'1.02.1','',180,0})
//Hemodinamicaaadd(aSipExp,{'1.02.2','',180,0})
//Ressonancia nuclearaadd(aSipExp,{'1.02.3','',180,0})
//Tomografia computadorizadaaadd(aSipExp,{'1.02.4','',180,0})
//Demais exames             aadd(aSipExp,{'1.02.5','',180,0})
//Terapias
////////aadd(aSipExp,{'1.03',''     ,0,0,0,0,0,0,0,0,0,0})
//Hemoterapiaaadd(aSipExp,{'1.03.1','',180,0})
//Litotripsia      
aadd(aSipExp,{'1.03.2','',180,0})
//Quimioterapiaaadd(aSipExp,{'1.03.3','',180,0})
//Radiologiaaadd(aSipExp,{'1.03.4','',180,0})
//Radioterapiaaadd(aSipExp,{'1.03.5','',180,0})
//Terapia renalaadd(aSipExp,{'1.03.6','',180,0})
//Demais terapiasaadd(aSipExp,{'1.03.7','',180,0})
//Outros Atend Ambulat
aadd(aSipExp,{'1.04','',180,0})
//Internacoes
aadd(aSipExp,{'1.05','',0,0})
//Demais despesas assistenciais
aadd(aSipExp,{'1.15','',180,0})
 //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Seleciona registros para processamento ...                               ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ From ...                                                                 ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
cFrom   := ' FROM ' + cNameBA1 + ', ' + cNameBA3 + ', ' + cNameBG9
If  alltrim(cTipPla) <> '1' // Tipo Plano = Coletivo            cFrom   += ', ' + cNameBQC
Endif
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Where BA1-Usuarios ...                                                   ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
cWhere  := ' WHERE BA1_FILIAL = '' + xFilial('BA1') + '' AND '
cWhere  +=       ' BA1_CODINT =  '' + cOper   + '' AND '
cWhere  +=       ' BA1_CODEMP >= '' + cEmpIni + '' AND '
cWhere  +=       ' BA1_CODEMP <= '' + cEmpFim + '' AND '
If ! empty(cEmpIntS)            
cWhere  +=       ' BA1_CODEMP NOT IN (' + cEmpIntS + ') AND '        
Endif
cWhere  +=       ' BA1_MATRIC >= '' + cMatIni + '' AND '
cWhere  +=       ' BA1_MATRIC <= '' + cMatFim + '' AND '
cWhere  +=       ' BA1_DATINC <= '' + dtos(dDatFim) + '' AND '
Do Case
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Beneficiarios expostos                                                   ³
//³ Beneficiarios da operadora que esta enviando as informacoes e tem o      ³
//³ servico fornecido majoriatariamente pela mesma                           ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Case cGruBen == '1' // Beneficiarios expostos                        
cWhere  += ' (BA1_OPEORI = '' + cOper + '' AND BA1_OPEDES = '' + cOper + '') AND '                        
cWhere  += ' BA1_INFANS <> '0' AND '
 //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿                        
//³ Expostos nao beneficiarios                                               ³                        
//³ Beneficiarios de outra operadora mas que tem o servico fornecido         ³                        
//³ majoritariamente pela operadora que esta enviando as informacoes         ³                        
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ


 Case cGruBen == '2' // Expostos nao beneficiarios                        
cWhere  += ' (BA1_OPEORI <> '' + cOper + '' AND BA1_OPEDES = '' + cOper + '') AND '                        
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿                        
//³ Beneficiarios nao expostos                                               ³                        
//³ Beneficiarios da operadora que esta enviando as informacoes que tem o    ³                        
//³ servico fornecido majoriatariamente por outra operadora                  ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

Case cGruBen == '3' // Beneficiarios nao expostos                        
cWhere  += ' (BA1_OPEORI = '' + cOper + '' AND BA1_OPEDES <> '' + cOper + '') AND '                        
cWhere  += ' BA1_INFANS <> '0' AND '    
EndCase 
cWhere  +=       ' BA1_DATADM <= '' + Dtos(dDatFim) + '' AND '
cWhere  +=         cNameBa1 + '.D_E_L_E_T_ <> '*' AND '
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Where BA3-Familias/Usuarios ...                                          ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
cWhere  +=       ' BA3_FILIAL = '' + xFilial('BA3') + '' AND '
cWhere  +=       ' BA3_CODINT = BA1_CODINT AND '
cWhere  +=       ' BA3_CODEMP = BA1_CODEMP AND '
cWhere  +=       ' BA3_MATRIC = BA1_MATRIC AND '
cWhere  +=         cNameBA3 + '.D_E_L_E_T_ <> '*' AND '
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Where BG9-Grupo/Empresa ...                                              ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
cWhere  +=       ' BG9_FILIAL = '' + xFilial('BG9') + '' AND '
cWhere  +=       ' BG9_CODINT = BA1_CODINT AND '
cWhere  +=       ' BG9_CODIGO = BA3_CODEMP AND '
cWhere  +=         cNameBG9 + '.D_E_L_E_T_ <> '*' AND '
If  alltrim(cTipPla) == '1' // Tipo Plano = Individual/Familiar
cWhere  +=   ' BG9_TIPO = '1' ' // Pessoa Fisica
Else            
cWhere  +=   ' BG9_TIPO = '2' ' // Pessoa Juridica
Endif
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Where BQC-SubContrato ...                                                ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If  alltrim(cTipPla) <> '1' // Tipo Plano = Coletivo
cWhere  +=   ' AND  '            
cWhere  +=   ' BQC_FILIAL = '' + xFilial('BQC') + '' AND '            
cWhere  +=   ' SUBSTRING(BQC_CODIGO,1,4) = BA3_CODINT AND '            
cWhere  +=   ' SUBSTRING(BQC_CODIGO,5,4) = BA3_CODEMP AND '            
cWhere  +=   ' BQC_NUMCON = BA3_CONEMP AND '            
cWhere  +=   ' BQC_VERCON = BA3_VERCON AND '            
cWhere  +=   ' BQC_SUBCON = BA3_SUBCON AND '            
cWhere  +=   ' BQC_VERSUB = BA3_VERSUB AND '            
cWhere  +=     cNameBQC + '.D_E_L_E_T_ <> '*' AND '            
If  alltrim(cTipPla) == '2' // Tipo Plano = Coletivo sem patrocinador                        
	cWhere  +=   ' BQC_PATROC = '0' ' // sem patrocinador            
Else                        
	cWhere  +=   ' BQC_PATROC = '1' ' // com patrocinador            
Endif
Endif              
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Seleciona registros ...                                                  ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
cFiltro := 'SELECT BA1_NOMUSR, ' +cNameBA1 
cFiltro += '.R_E_C_N_O_ AS REGBA1, ' + cNameBA3 + '.R_E_C_N_O_ AS REGBA3 '
cFiltro += cFrom
cFiltro += cWhere
PLSQuery(cFiltro,'BA1QRY')
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Processa registros selecionados                                          ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
While ! BA1QRY->(Eof())
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Posiciona BA1                                                            
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
BA1->(dbGoTo(BA1QRY->REGBA1))        
BA3->(dbGoTo(BA1QRY->REGBA3))    
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Verifica se no fim do periodo o beneficiario estava bloqueado.        ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
cQryBloq  := ' SELECT BCA_TIPO, BCA_DATA, BCA_MOTBLO, BCA_NIVBLQ FROM ' + cNameBCA
cQryBloq  += ' WHERE BCA_FILIAL = '' + xFilial('BCA') + '' AND BCA_MATRIC = '' + BA1->BA1_CODINT + BA1->BA1_CODEMP + BA1->BA1_MATRIC + '' AND'
cQryBloq  += ' BCA_TIPREG = '' + BA1->BA1_TIPREG + '' AND'
cQryBloq  += ' BCA_DATA <= '' + dtos(dDatFim) + '' AND '     
cQryBloq  += cNameBCA + '.D_E_L_E_T_ <> '*' '
cQryBloq  += ' ORDER BY BCA_DATA, R_E_C_N_O_'
PLSQuery(cQryBloq,'BCAQRY')
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Se nao existe historico de bloqueio do Usuario e                      ³
//³    a data de bloqueio do usuario eh anterior ao periodo do SIB        ³
//³    -> despreza o usuario                                              ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
  If  BCAQRY->(eof()) .and. ;                
! empty(BA1->BA1_DATBLO) .and. ;                
dtos(BA1->BA1_DATBLO) < dtos(dDatIni)            
BCAQRY->(DbCloseArea())        
BA1QRY->(DbSkip())        
Loop              
Endif        
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Inicializa variaveis                                                  ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
lTemCob   := .F.            
lBenBlo := .F.            
lBlqAns := .F.            
dDatBlo := StoD('')            
BI3->(DbSetOrder(1))
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Processa historico de bloqueio                                        ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
  While ! BCAQRY->(eof())                        
lBlqAns := .F.                        
Do Case                            
Case BCAQRY->BCA_NIVBLQ == 'U' // Nivel de Usuario                                    
If  BG3->(MsSeek(xFilial('BG3')+BCAQRY->BCA_MOTBLO))                                                
If  ! empty(BG3->BG3_BLQANS)                                                                       
lBlqAns := .T.                                                           
Endif                                         
Endif
 Case BCAQRY->BCA_NIVBLQ == 'F' // Nivel de Familia                                    
If  BG1->(MsSeek(xFilial('BG1')+BCAQRY->BCA_MOTBLO))                                                
If  ! empty(BG1->BG1_BLQANS)                                                                       
lBlqAns := .T.                                                          
 Endif                                        
 Endif
   Case BCAQRY->BCA_NIVBLQ == 'S' // Nivel de Sub-Contrato                                    
If  BQU->(MsSeek(xFilial('BQU')+BCAQRY->BCA_MOTBLO))                                                
If  ! empty(BQU->BQU_BLQANS)                                                                       
lBlqAns := .T.                                                           
Endif                                         
Endif                        
EndCase
 If  lBlqAns .and. BCAQRY->BCA_TIPO == '0' // Bloqueio                                   
lBenBlo := .T.                                   
dDatBlo := BCAQRY->BCA_DATA                        
Else                                   
lBenBlo := .F.                                   
dDatBlo := StoD('')                        
Endif                         
BCAQRY->(dbSkip())            
Enddo
BCAQRY->(DbCloseArea())
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿            
//³ Despreza usuario bloqueado antes da data inicial                      ³            
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
 If  ! empty(dDatBlo) .and. dDatBlo < dDatIni                        
BA1QRY->(dbSkip())                        
Loop            
Endif
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Acumula qtd e inicializa variaveis                                       ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
 nTotBenef ++            
nQtdBenef ++            
nDiasCar1 := 0             
If Empty(BA1->BA1_CODPLA)               
cCodPla := BA3->BA3_CODPLA               
cVersao := BA3->BA3_VERSAO
Else
cCodPla := BA1->BA1_CODPLA               
cVersao := BA1->BA1_VERSAO            
Endif              
i := 1
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Processa vetor aSIP ...                                    ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
While i <= len(aSipExp) 
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Calcula exposto...                                                                                   ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
 lTemCob  := .F.                        
nDiasCar := aSipExp[i,3]                        
dAuxIni  := Max(BA1->BA1_DATCAR + nDiasCar,dDatIni)                        
dAuxFim  := Min(If(Empty(dDatBlo),dDatFim,dDatBlo),dDatFim)                        
If  dAuxFim > dAuxIni                                   
nDiasExp := dAuxFim - dAuxIni                        
Else                                   
nDiasExp := 0                        
Endif                        
If  nDiasExp > 0
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Verifica se for item da internacao 15 ou 1.5 verifica cobertura no produto do usuario      ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
 lValBI3 := .F.                                                                                                                 
nOldi := i            
If aSipExp[i,1] <> '1.05'                                                 
lTemCob  := .T.                                               
Else //caso seja o item internacao faz a verificacao no produto                                                
nPosBI3 := Ascan(aProcBI3,{ |x| x[1] == xFilial('BI3')+BA1->BA1_CODINT+cCodPla+cVersao })                
If nPosBI3 == 0
BI3->(MsSeek(xFilial('BI3')+BA1->BA1_CODINT+cCodPla+cVersao))                                                   
If Empty(BI3->BI3_CODSEG) .or. BI3->BI3_CODSEG $ cSegInt                                                                        
lValBI3 := .T.                                                                       
lTemCob  := .T.                                                           
Endif                                                           
aadd(aProcBI3,{xFilial('BI3')+BA1->BA1_CODINT+cCodPla+cVersao,lValBI3,BI3->BI3_CODSEG })                                          
Else              
If Empty(aProcBI3[nPosBI3,3]) .or. aProcBI3[nPosBI3,3] $ cSegInt                                                      
lValBI3 := .T.                                                              
lTemCob  := .T.                                                  
Endif                                       
Endif                                                
If  ! lTemCob                                                           
nDiasExp := 0                                
Endif                                    
Endif                
Endif
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿                        
//³ Acumula valores no item...                                                   ³                        
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ                        
aSipExp[i,4] := nDiasExp                        
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿                        
//³ Pula para proxima ocorrencia do vetor aSIP                 ³                        
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
 i++            
EndDo
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿            
//³ Acessa proximo registro                                    ³            
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ            
BA1QRY->(DbSkip())
EndDo
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Fecha area de trabalho                                                   ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
BA1QRY->(DbCloseArea())
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Fim da funcao                                                            ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Return(aSipExp)







||Preview|| 
||Veja também|| 
||Idioma|| Português(Brasil)
||Versões|| Versões_Anteriores
||Sistemas Operacionais Suportados||Todos
||Compatível com as Bases de Dados||Todas
||Updates|| 
||Parâmetros|| paramixb[1]			Array of Record			Operadora
paramixb[2]			Array of Record			empresa inicial
paramixb[3]			Array of Record			empresa final
paramixb[4]			Array of Record			Matricula Inicial
paramixb[5]			Array of Record			Matricula Final
paramixb[6]			Array of Record			Data Inicio da Geração
paramixb[7]			Array of Record			Data Fim da Geração
paramixb[8]			Array of Record		        Codigo do tipo de plano a ser gerado
paramixb[9]			Array of Record	                Descrição do tipo de plano a ser gerado 
paramixb[10]			Array of Record	                Codigo do Grupo de Beneficiario a ser gerado
paramixb[11]			Array of Record	                Descrição do Grupo de Beneficiario a ser gerado 
paramixb[12]			Array of Record			Empresa que serão ignoradas na geração
paramixb[13]			Array of Record			Indice para a geração do grupo de exposto 
paramixb[14]			Array of Record                 Array contendo os valores de expostos
||Retorno|| Vetor aSipExp com valores de expostos
||Eventos de chamada do Ponto de Entrada|| 
||Variáveis|| 
||Programa Fonte|| PLSM130.PRW

 

  • Sem rótulos