Árvore de páginas


01. DADOS GERAIS

Produto:

TOTVS Saúde Planos

Linha de Produto:

Linha Protheus

Segmento:

Saúde

Módulo:

PORTAL DA EMPRESA

Função:GERENCIAR BENEFICIÁRIOS
País:Brasil
Ticket:
Story:DSAUBE-28654

02. DESCRIÇÃO

Este ponto de entrada permite definir, via expressão SQL, quais ações estarão disponíveis para cada beneficiário no processo de consulta na tela de gerenciar beneficiários.

  • Nome do ponto de entrada: PTBENACT
  • Parâmetros: Não recebe parâmetros
  • Retorno: Deve retornar uma string contendo uma expressão SQL que será incorporada diretamente ao SELECT da consulta de beneficiários (tabela BA1).
    Essa expressão deve determinar, para cada beneficiário, quais ações estarão disponíveis — edit e block — sendo que ambas devem ser retornadas separadas por vírgula quando mais de uma ação for aplicável.

03. DEMAIS INFORMAÇÕES

Funcionamento

O SELECT principal da busca de beneficiários é baseado na tabela BA1.
Portanto, dentro da expressão SQL retornada, é possível utilizar:

  • CASE WHEN

  • campos da BA1

  • lógicas condicionais por tipo, situação, categoria etc.

Isso permite definir ações diferentes por beneficiário.
Exemplo:

  • Titulares podem ter edit e block

  • Dependentes podem ter apenas block

Exemplo simples de uso:

#include "protheus.ch"  

user function PTBENACT()

    local cActions := "'edit,block'"

return cActions

Exemplo completo com CASE WHEN:

#include "protheus.ch"

user function PTBENACT()

    local cQuery as character
	local cHolderType := getNewPar("MV_PLCDTIT", "T") as character
	
	cQuery := " CASE "
	cQuery += "		WHEN BA1.BA1_TIPUSU = '" + cHolderType + "' THEN 'edit,block' "
	cQuery += "		ELSE 'block' "
	cQuery += " END "

return cQuery

04. ASSUNTOS RELACIONADOS

    Não se aplica,