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 ;

-- ----------------- ;