Árvore de páginas


01. DADOS GERAIS

Linha de Produto:Microsiga Protheus
Segmento:saúde
Módulo:SIGAPLS
Função:PLSRETCOP
Ticket:6023097
Requisito/Story/Issue (informe o requisito relacionado) :


02. SITUAÇÃO/REQUISITO

Necessidade de definir período de tempo em que será apurada a quantidade que determinado evento foi realizado por um beneficiário diferente das opções que o programa padrão permite

03. SOLUÇÃO

Foi criado o ponto de entrada PLSQD6DT que irá receber as seguintes informações:

  • Data início de apuração padrão -> em formato Caractere
  • Data fim de apuração padrão -> em formato Caractere
  • Data do evento -> em formato Data

Ele deve retornar a condição que limita o período de tempo a ser verificado na apuração, em uma expressão SQL, que irá substituir a condição padrão. (exemplo abaixo)

Exemplo Ponto de entrada
User function PLSQD6DT()

Local cDatIni 	:= paramixb[1] //Data início de apuração padrão -> em formato Caractere
Local cdatFim	:= paramixb[2] //Data fim de apuração padrão -> em formato Caractere
Local dDatPro	:= paramixb[3] //data do evento -> em formato Data
Local cRet		:= ""
Local cDatInialt	:= ""
Local cdatFimAlt	:= ""
Local dDatBasAlt	:= getNewPar("XXXXXX") //Data início para contagem de quantidade para coparticipação -> Sugerido Parâmetro customizado em formato Data

If ! empty(dDatBasAlt)
	
	If dDatPro >= dDatBasAlt
		cDatInialt := DtoS(dDatBasAlt)
		cdatFimAlt := DtoS(dDatBasAlt + 365)
	else
		cDatInialt := DtoS(dDatBasAlt - 365)
		cdatFimAlt := DtoS(dDatBasAlt - 1)
	EndIf
	
	cRet := " BD6_DATPRO BETWEEN  '" + cDatInialt + "' AND '" + cdatFimAlt + "' AND " //Retorno da regra customizada
else
	cRet := " BD6_DATPRO BETWEEN  '" + cDatIni + "' AND '" + cdatFim + "' AND " //Retorno da regra padrão
EndIf

return cRet



04. DEMAIS INFORMAÇÕES


05. ASSUNTOS RELACIONADOS