Anexo C: Parametrizando o IW para a
execução de Scripts Customizados por Operadora
É bastante comum a incidência de regras particularizadas de preenchimento das
eletrônicas (xml) do TISS por operadora. O IW oferece
mecanismos de apoio à implementação de regras particularizadas através da
arquitetura de configuração de “scripts” do IW. Em termos práticos, é possível
configurar um script que implemente ajustes (customizações) no preenchimento
das guias do TISS e instruir o IW a executar esse script automaticamente na
geração do TISS. Para cadastrar um script vinculado a uma Operadora acesse a
interface de cadastramento de pessoas jurídicas do IW (já ilustrada acima no
tópico anterior) e valorem a coluna denominada “ID Script TISS Operadora” com o
ID do script implementado para essa operadora.
A
figura a seguir ilustra a interface F01014 na utilizada para realizar o
cadastro de pessoas jurídicas no IW:

Você
pode posicionar o gride no modo vertical e procurar pelo
atributo “ID Script TISS Operadora” conforme ilustramos abaixo:

Você deverá cadastrar previamente um script no contexto “Importação
de banco de dados” e deverá valorar o atributo “ID Script TISS Operadora” com
esse ID.
O link de menu abaixo é utilizado para acessar a interface F00164 utilizada
para efetivar o cadastramento de scripts no contexto de “Importar de banco de dados”:

A figura a seguir ilustra a interface F00164:

Para efetiva o cadastramento de um novo script acione o botão
situado ao lado da caixa de seleção no canto superior esquerdo. O IW lançará a interface ilustrada
abaixo:

Utilize o botão “Novo” para criar uma
nova linha valores os atributos no gride e
salve.
O atributo “Comando SQL” deverá ser valorado com o código
fonte (comandos de banco de dados) do script.
O código abaixo ilustra um exemplo de script utilizado no
contexto do TISS para realizar ajustes nos atributos DATAINICIAL e DATAFINAL:
Importante: O parâmetro denominado
$P(1) será passado para o processamento do script devidamente
valorado com o valor o IDTISSPAYMENT (corresponde ao Nº lote guias) gerado no
IW:
|
--
--------------------------------------------------------------------------------------------------------------------
; -- SCRIPT QUE ATU ALIZA A DATA DE INICIO E DATA DE TERMINO DE
EXECUCAO NO XML CONFORME PERIODO DE VIGENCIA DOS ORCAMENTOS; --
--------------------------------------------------------------------------------------------------------------------
; -- INICIO ; -- PARAMETRO
PASSADO PARA O SCRIPT -- $P(1) - ID DO DOC (ID NA CAPPAYMENT) -- SLOT 1 ; UPDATE
TDTISSPAYMENTITEMD X SET X.DATAINICIAL1 = (SELECT Y.STARTDATE FROM CAPBUDGET Y WHERE Y.ID = X.IDBUDGET) WHERE ((X.DATAINICIAL1
IS NOT NULL AND X.IDTISSPAYMENT = $P(1))); UPDATE
TDTISSPAYMENTITEMD X SET X.DATAFINAL1 = (SELECT Y.ENDDATE FROM CAPBUDGET Y WHERE Y.ID = X.IDBUDGET)
WHERE ((X.DATAINICIAL1 IS NOT NULL AND X.IDTISSPAYMENT
= $P(1))); -- SLOT 2 ; UPDATE
TDTISSPAYMENTITEMD X SET X.DATAINICIAL2 = (SELECT Y.STARTDATE FROM CAPBUDGET Y WHERE Y.ID = X.IDBUDGET) WHERE ((X.DATAINICIAL2
IS NOT NULL AND X.IDTISSPAYMENT
= $P(1))); UPDATE
TDTISSPAYMENTITEMD X SET X.DATAFINAL2 = (SELECT Y.ENDDATE FROM CAPBUDGET Y WHERE Y.ID = X.IDBUDGET)
WHERE ((X.DATAINICIAL2 IS NOT NULL AND X.IDTISSPAYMENT
= $P(1))); -- SLOT 3 ; UPDATE
TDTISSPAYMENTITEMD X SET X.DATAINICIAL3 = (SELECT Y.STARTDATE FROM CAPBUDGET Y WHERE Y.ID = X.IDBUDGET) WHERE ((X.DATAINICIAL3
IS NOT NULL AND X.IDTISSPAYMENT
= $P(1))); UPDATE
TDTISSPAYMENTITEMD X SET X.DATAFINAL3 = (SELECT Y.ENDDATE FROM CAPBUDGET Y WHERE Y.ID = X.IDBUDGET)
WHERE ((X.DATAINICIAL3 IS NOT NULL AND X.IDTISSPAYMENT
= $P(1))); -- SLOT 4 ; UPDATE
TDTISSPAYMENTITEMD X SET X.DATAINICIAL4 = (SELECT Y.STARTDATE FROM CAPBUDGET Y WHERE Y.ID = X.IDBUDGET) WHERE ((X.DATAINICIAL4
IS NOT NULL AND X.IDTISSPAYMENT
= $P(1))); UPDATE
TDTISSPAYMENTITEMD X SET X.DATAFINAL4 = (SELECT Y.ENDDATE FROM CAPBUDGET Y WHERE Y.ID = X.IDBUDGET)
WHERE ((X.DATAINICIAL4 IS NOT NULL AND X.IDTISSPAYMENT
= $P(1))); -- SLOT 5 ; UPDATE
TDTISSPAYMENTITEMD X SET X.DATAINICIAL5 = (SELECT Y.STARTDATE FROM CAPBUDGET Y WHERE Y.ID = X.IDBUDGET) WHERE ((X.DATAINICIAL5
IS NOT NULL AND X.IDTISSPAYMENT
= $P(1))); UPDATE
TDTISSPAYMENTITEMD X SET X.DATAFINAL5 = (SELECT Y.ENDDATE FROM CAPBUDGET Y WHERE Y.ID = X.IDBUDGET)
WHERE ((X.DATAINICIAL5 IS NOT NULL AND X.IDTISSPAYMENT
= $P(1))); -- SLOT 6 ; UPDATE
TDTISSPAYMENTITEMD X SET X.DATAINICIAL6 = (SELECT Y.STARTDATE FROM CAPBUDGET Y WHERE Y.ID = X.IDBUDGET) WHERE ((X.DATAINICIAL6
IS NOT NULL AND X.IDTISSPAYMENT
= $P(1))); UPDATE
TDTISSPAYMENTITEMD X SET X.DATAFINAL6 = (SELECT Y.ENDDATE FROM CAPBUDGET Y WHERE Y.ID = X.IDBUDGET)
WHERE ((X.DATAINICIAL6 IS NOT NULL AND X.IDTISSPAYMENT
= $P(1))); -- SLOT 7 ; UPDATE
TDTISSPAYMENTITEMD X SET X.DATAINICIAL7 = (SELECT Y.STARTDATE FROM CAPBUDGET Y WHERE Y.ID = X.IDBUDGET) WHERE ((X.DATAINICIAL7
IS NOT NULL AND X.IDTISSPAYMENT
= $P(1))); UPDATE
TDTISSPAYMENTITEMD X SET X.DATAFINAL7 = (SELECT Y.ENDDATE FROM CAPBUDGET Y WHERE Y.ID = X.IDBUDGET)
WHERE ((X.DATAINICIAL7 IS NOT NULL AND X.IDTISSPAYMENT
= $P(1))); -- SLOT 8 ; UPDATE
TDTISSPAYMENTITEMD X SET X.DATAINICIAL8 = (SELECT Y.STARTDATE FROM CAPBUDGET Y WHERE Y.ID = X.IDBUDGET) WHERE ((X.DATAINICIAL8
IS NOT NULL AND X.IDTISSPAYMENT
= $P(1))); UPDATE
TDTISSPAYMENTITEMD X SET X.DATAFINAL8 = (SELECT Y.ENDDATE FROM CAPBUDGET Y WHERE Y.ID = X.IDBUDGET)
WHERE ((X.DATAINICIAL8 IS NOT NULL AND X.IDTISSPAYMENT
= $P(1))); -- SLOT 9 ; UPDATE
TDTISSPAYMENTITEMD X SET X.DATAINICIAL9 = (SELECT Y.STARTDATE FROM CAPBUDGET Y WHERE Y.ID = X.IDBUDGET) WHERE ((X.DATAINICIAL9
IS NOT NULL AND X.IDTISSPAYMENT
= $P(1))); UPDATE
TDTISSPAYMENTITEMD X SET X.DATAFINAL9 = (SELECT Y.ENDDATE FROM CAPBUDGET Y WHERE Y.ID = X.IDBUDGET)
WHERE ((X.DATAINICIAL9 IS NOT NULL AND X.IDTISSPAYMENT
= $P(1))); -- SLOT 10 ; UPDATE
TDTISSPAYMENTITEMD X SET X.DATAINICIAL10 = (SELECT Y.STARTDATE FROM CAPBUDGET Y WHERE Y.ID = X.IDBUDGET) WHERE ((X.DATAINICIAL10
IS NOT NULL AND X.IDTISSPAYMENT
= $P(1))); UPDATE
TDTISSPAYMENTITEMD X SET X.DATAFINAL10 = (SELECT Y.ENDDATE FROM CAPBUDGET Y WHERE Y.ID = X.IDBUDGET)
WHERE ((X.DATAINICIAL10 IS NOT NULL AND X.IDTISSPAYMENT
= $P(1))); -- SLOT 11 ; UPDATE
TDTISSPAYMENTITEMD X SET X.DATAINICIAL11 = (SELECT Y.STARTDATE FROM CAPBUDGET Y WHERE Y.ID = X.IDBUDGET) WHERE ((X.DATAINICIAL11
IS NOT NULL AND X.IDTISSPAYMENT
= $P(1))); UPDATE
TDTISSPAYMENTITEMD X SET X.DATAFINAL11 = (SELECT Y.ENDDATE FROM CAPBUDGET Y WHERE Y.ID = X.IDBUDGET)
WHERE ((X.DATAINICIAL11 IS NOT NULL AND X.IDTISSPAYMENT
= $P(1))); -- SLOT 12 ; UPDATE
TDTISSPAYMENTITEMD X SET X.DATAINICIAL12 = (SELECT Y.STARTDATE FROM CAPBUDGET Y WHERE Y.ID = X.IDBUDGET) WHERE ((X.DATAINICIAL12
IS NOT NULL AND X.IDTISSPAYMENT
= $P(1))); UPDATE
TDTISSPAYMENTITEMD X SET X.DATAFINAL12 = (SELECT Y.ENDDATE FROM CAPBUDGET Y WHERE Y.ID = X.IDBUDGET)
WHERE ((X.DATAINICIAL12 IS NOT NULL AND X.IDTISSPAYMENT
= $P(1))); -- SLOT 13 ; UPDATE
TDTISSPAYMENTITEMD X SET X.DATAINICIAL13 = (SELECT Y.STARTDATE FROM CAPBUDGET Y WHERE Y.ID = X.IDBUDGET) WHERE ((X.DATAINICIAL13
IS NOT NULL AND X.IDTISSPAYMENT
= $P(1))); UPDATE
TDTISSPAYMENTITEMD X SET X.DATAFINAL13 = (SELECT Y.ENDDATE FROM CAPBUDGET Y WHERE Y.ID = X.IDBUDGET)
WHERE ((X.DATAINICIAL13 IS NOT NULL AND X.IDTISSPAYMENT
= $P(1))); -- FIM ; --
------------------; -- TERMINO DO SCRIPT ; --
----------------- ; |