Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

explore

Funcção SPLIT

Recommended Posts

Eai galera.Seguinte to com um probleminha e não to sabendo achar o erro.Tenho um WHILE para exibir registros do banco, dentro desse While tenho regras de SPLIT e sempre qaundo o While entra no segundo laço ele da o seguinte erro:'====================================Microsoft VBScript runtime error '800a005e' Invalid use of Null: 'SPLIT' /associl-server-linux/prt_relatorio_repasse_exibe.asp, line 173'===================================='CODIGO ==============================glosa = rsOracle2(0)itens_glosa = SPLIT(glosa, "|")separa_glosa = itens_glosa(1) & "--" & itens_glosa(2) & "--" & itens_glosa(3)ponto_virgula = SPLIT(separa_glosa, ";")Queria saber pq no segundo laço ele da esse erro.Valeu galera

Compartilhar este post


Link para o post
Compartilhar em outros sites

eae bom cara a função split gera array iniciando com 0 então o numero 3 não existe ex:separa_glosa = itens_glosa(0) & "--" & itens_glosa(1) & "--" & itens_glosa(2)acho q eh isso ai...flw!

Compartilhar este post


Link para o post
Compartilhar em outros sites

a mais esqueci de falarela da erro nesta linhaitens_glosa = SPLIT(glosa, "|")e só da o erro no seungo laço do WHILE.no primeiro laço ele mostra certinho na tabelacoluna1 | coluna2 | coluna3 | coluna4 1 3 9 14ai no segundo laço do WHILE ele me retorna esse erro!

Compartilhar este post


Link para o post
Compartilhar em outros sites

humm...ele retorna algo na segunda vez que passa pelo while?da uma olha...flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Imprima o conteúdo do glosa e post aqui para vermos o que tem nele.Jothaz

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que vem do GLOSA é isso:|FO 1074417 ;960 ;12;L ;Falta De Rx Finais |FO 1074417 ;960 ;23;L ;Ítem De Bloqueio |FO 1074417 ;970 ;11;D ;Falta De Rx Finais|FO 1074426 ;2060 ;15; ;|FO 1074435 ;110 ;0 ; ;Executado Em Menos De 180 Dias |FO 1074435 ;2030 ;28; ;Sem Visualização Do Serviço Executado|FO 1074438 ;510 ;0 ; ;Beneficiário Excluído/Sem Direito |FO 1074438 ;530 ;0 ; ;Ítem De Bloqueio |FO 1074438 ;740 ;55; ;Beneficiário Excluído/Sem Direito |FO 1074438 ;740 ;75; ;Beneficiário Excluído/Sem Direito |FO 1074438 ;740 ;85; ;Beneficiário Excluído/Sem Direito |FO 1074438 ;980 ;65;OD ;Beneficiário Excluído/Sem Direito |FO 1074438 ;980 ;84;OD ;Beneficiário Excluído/Sem Direito|FO 1074440 ;2010 ;45; ;Qualidade Do Tratamento|FO 1074442 ;960 ;13;V ;Sem Ass. Do Pac.Na Solicitação |FO 1074442 ;960 ;14;V ;Sem Ass. Do Pac.Na Solicitação |FO 1074442 ;960 ;15;V ;Sem Ass. Do Pac.Na Solicitação|FO 1074443 ;960 ;27;V ;Falta De Rx Iniciais E Finais |FO 1074443 ;960 ;47;O ;Falta De Rx Iniciais E Finais |FO 1074443 ;960 ;17;O ;Falta De Rx Iniciais E Finais |FO 1074443 ;2030 ;17; ;Falta De Rx Iniciais E Finais|FO 1191499 ;960 ;45;O ;Ítem De Bloqueio |FO 1191499 ;2010 ;45; ;Falta De Qualidade Dos Rx|FO 1191503 ;550 ;0 ; ;Executado Em Menos De 180 Dias|FO 1191504 ;550 ;0 ; ;|FO 1191508 ;960 ;35;V ;Falta De Qualidade Dos Rx |FO 1191508 ;970 ;11;D ;Falta De Rx Iniciais E Finais |FO 1191508 ;970 ;22;M ;Falta De Rx Iniciais E Finais|FO 1191514 ;111 ;0 ; ;|FO 1191516 ;960 ;14;O ;Sem Visualização Do Serviço Executado |FO 1191516 ;2020 ;14; ;Sem Visualização Do Serviço Executado|FO 1191519 ;5050 ;95; ;|FO 1191519 ;5050 ;94; ;|FO 1191528 ;980 ;25;D ;Preenchim.Irregular / Falta Preenchimento Serviços|FO 1191531 ;960 ;16;O ;Falta De Rx Inicial |FO 1191531 ;970 ;11;D ;Falta De Rx Inicial|FO 1191535 ;110 ;0 ; ;Executado Em Menos De 180 Dias |FO 1191535 ;550 ;0 ; ;|FO 1191538 ;960 ;27;O ;Executado Em Menos De 180 Dias|FO 1191542 ;110 ;0 ; ;Ítem De Bloqueio |FO 1191542 ;550 ;0 ; ;Sem Ass. Do Pac.Na Solicitação|FO 1295845 ;960 ;34;V ;Sem Ass. Do Pac.Na Solicitação |FO 1295845 ;960 ;35;V ;Sem Ass. Do Pac.Na Solicitação|FO 1310369 ;110 ;0 ; ;Ítem De Bloqueio|FO 1310403 ;110 ;0 ; ;Executado Em Menos De 180 Dias |FO 1310403 ;550 ;0 ; ;Executado Em Menos De 180 Dias Preciso dividir isso em coluna!

Compartilhar este post


Link para o post
Compartilhar em outros sites

todos esses caracteres estão vindo de um RecordSet. vo postar o codigo: <% i = 0 DO WHILE NOT rsOracle2.EOF 'TRATA REF.CURSOR ================== itens_glosa = SPLIT(rsOracle2(0), "|") ponto_virgula = SPLIT(itens_glosa(1), ";") %> <td><div align="left" class="texto_form"><%=ponto_virgula(0)%></div></td> <td><div align="left" class="texto_form"><%=ponto_virgula(1)%></div></td> <td><div align="left" class="texto_form"><%=ponto_virgula(2)%></div></td> <td><div align="left" class="texto_form"><%=ponto_virgula(3)%></div></td> <td><div align="left" class="texto_form"><%=ponto_virgula(4)%></div></td> <td><div align="center" class="texto_form">NÃO</div></td> </tr> <% rsOracle2.MOVENEXT LOOP %>é isso ai! e na segunda volta do laço que ele da erro.Na primeira volto ele mostra aprimeira linha dividida depois na segunda ele da o erro de tar vazio!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que vem do GLOSA é isso:|FO 1074417 ;960 ;12;L ;Falta De Rx Finais |FO 1074417 ;960 ;23;L ;Ítem De Bloqueio |FO 1074417 ;970 ;11;D ;Falta De Rx Finais|FO 1074426 ;2060 ;15; ;|FO 1074435 ;110 ;0 ; ;Executado Em Menos De 180 Dias |FO 1074435 ;2030 ;28; ;Sem Visualização Do Serviço Executado|FO 1074438 ;510 ;0 ; ;Beneficiário Excluído/Sem Direito |FO 1074438 ;530 ;0 ; ;Ítem De Bloqueio |FO 1074438 ;740 ;55; ;Beneficiário Excluído/Sem Direito |FO 1074438 ;740 ;75; ;Beneficiário Excluído/Sem Direito |FO 1074438 ;740 ;85; ;Beneficiário Excluído/Sem Direito |FO 1074438 ;980 ;65;OD ;Beneficiário Excluído/Sem Direito |FO 1074438 ;980 ;84;OD ;Beneficiário Excluído/Sem Direito|FO 1074440 ;2010 ;45; ;Qualidade Do Tratamento|FO 1074442 ;960 ;13;V ;Sem Ass. Do Pac.Na Solicitação |FO 1074442 ;960 ;14;V ;Sem Ass. Do Pac.Na Solicitação |FO 1074442 ;960 ;15;V ;Sem Ass. Do Pac.Na Solicitação|FO 1074443 ;960 ;27;V ;Falta De Rx Iniciais E Finais |FO 1074443 ;960 ;47;O ;Falta De Rx Iniciais E Finais |FO 1074443 ;960 ;17;O ;Falta De Rx Iniciais E Finais |FO 1074443 ;2030 ;17; ;Falta De Rx Iniciais E Finais|FO 1191499 ;960 ;45;O ;Ítem De Bloqueio |FO 1191499 ;2010 ;45; ;Falta De Qualidade Dos Rx|FO 1191503 ;550 ;0 ; ;Executado Em Menos De 180 Dias|FO 1191504 ;550 ;0 ; ;|FO 1191508 ;960 ;35;V ;Falta De Qualidade Dos Rx |FO 1191508 ;970 ;11;D ;Falta De Rx Iniciais E Finais |FO 1191508 ;970 ;22;M ;Falta De Rx Iniciais E Finais|FO 1191514 ;111 ;0 ; ;|FO 1191516 ;960 ;14;O ;Sem Visualização Do Serviço Executado |FO 1191516 ;2020 ;14; ;Sem Visualização Do Serviço Executado|FO 1191519 ;5050 ;95; ;|FO 1191519 ;5050 ;94; ;|FO 1191528 ;980 ;25;D ;Preenchim.Irregular / Falta Preenchimento Serviços|FO 1191531 ;960 ;16;O ;Falta De Rx Inicial |FO 1191531 ;970 ;11;D ;Falta De Rx Inicial|FO 1191535 ;110 ;0 ; ;Executado Em Menos De 180 Dias |FO 1191535 ;550 ;0 ; ;|FO 1191538 ;960 ;27;O ;Executado Em Menos De 180 Dias|FO 1191542 ;110 ;0 ; ;Ítem De Bloqueio |FO 1191542 ;550 ;0 ; ;Sem Ass. Do Pac.Na Solicitação|FO 1295845 ;960 ;34;V ;Sem Ass. Do Pac.Na Solicitação |FO 1295845 ;960 ;35;V ;Sem Ass. Do Pac.Na Solicitação|FO 1310369 ;110 ;0 ; ;Ítem De Bloqueio|FO 1310403 ;110 ;0 ; ;Executado Em Menos De 180 Dias |FO 1310403 ;550 ;0 ; ;Executado Em Menos De 180 Dias Preciso dividir isso em coluna!

Este é o conteúdo de rsOracle2(0)? Com é a consulta que retorna rsOracle2(0)?Quantos registro estão no retorno de rsOracle2?Me pareec que na segunda rodada o rsOracle2(0) esta null.Jothaz

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso esse conteudo escrito acima é o q vem do rsOracle2.E acho estranho vim nulo. pq se tivesse apenas um registro o WHILE ia apresentar apenas um laço!Não sei pq esta descrevendo nulo no erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que vem do GLOSA é isso:|FO 1074417 ;960 ;12;L ;Falta De Rx Finais |FO 1074417 ;960 ;23;L ;Ítem De Bloqueio |FO 1074417 ;970 ;11;D ;Falta De Rx Finais|FO 1074426 ;2060 ;15; ;|FO 1074435 ;110 ;0 ; ;Executado Em Menos De 180 Dias |FO 1074435 ;2030 ;28; ;Sem Visualização Do Serviço Executado|FO 1074438 ;510 ;0 ; ;Beneficiário Excluído/Sem Direito |FO 1074438 ;530 ;0 ; ;Ítem De Bloqueio |FO 1074438 ;740 ;55; ;Beneficiário Excluído/Sem Direito |FO 1074438 ;740 ;75; ;Beneficiário Excluído/Sem Direito |FO 1074438 ;740 ;85; ;Beneficiário Excluído/Sem Direito |FO 1074438 ;980 ;65;OD ;Beneficiário Excluído/Sem Direito |FO 1074438 ;980 ;84;OD ;Beneficiário Excluído/Sem Direito|FO 1074440 ;2010 ;45; ;Qualidade Do Tratamento|FO 1074442 ;960 ;13;V ;Sem Ass. Do Pac.Na Solicitação |FO 1074442 ;960 ;14;V ;Sem Ass. Do Pac.Na Solicitação |FO 1074442 ;960 ;15;V ;Sem Ass. Do Pac.Na Solicitação|FO 1074443 ;960 ;27;V ;Falta De Rx Iniciais E Finais |FO 1074443 ;960 ;47;O ;Falta De Rx Iniciais E Finais |FO 1074443 ;960 ;17;O ;Falta De Rx Iniciais E Finais |FO 1074443 ;2030 ;17; ;Falta De Rx Iniciais E Finais|FO 1191499 ;960 ;45;O ;Ítem De Bloqueio |FO 1191499 ;2010 ;45; ;Falta De Qualidade Dos Rx|FO 1191503 ;550 ;0 ; ;Executado Em Menos De 180 Dias|FO 1191504 ;550 ;0 ; ;|FO 1191508 ;960 ;35;V ;Falta De Qualidade Dos Rx |FO 1191508 ;970 ;11;D ;Falta De Rx Iniciais E Finais |FO 1191508 ;970 ;22;M ;Falta De Rx Iniciais E Finais|FO 1191514 ;111 ;0 ; ;|FO 1191516 ;960 ;14;O ;Sem Visualização Do Serviço Executado |FO 1191516 ;2020 ;14; ;Sem Visualização Do Serviço Executado|FO 1191519 ;5050 ;95; ;|FO 1191519 ;5050 ;94; ;|FO 1191528 ;980 ;25;D ;Preenchim.Irregular / Falta Preenchimento Serviços|FO 1191531 ;960 ;16;O ;Falta De Rx Inicial |FO 1191531 ;970 ;11;D ;Falta De Rx Inicial|FO 1191535 ;110 ;0 ; ;Executado Em Menos De 180 Dias |FO 1191535 ;550 ;0 ; ;|FO 1191538 ;960 ;27;O ;Executado Em Menos De 180 Dias|FO 1191542 ;110 ;0 ; ;Ítem De Bloqueio |FO 1191542 ;550 ;0 ; ;Sem Ass. Do Pac.Na Solicitação|FO 1295845 ;960 ;34;V ;Sem Ass. Do Pac.Na Solicitação |FO 1295845 ;960 ;35;V ;Sem Ass. Do Pac.Na Solicitação|FO 1310369 ;110 ;0 ; ;Ítem De Bloqueio|FO 1310403 ;110 ;0 ; ;Executado Em Menos De 180 Dias |FO 1310403 ;550 ;0 ; ;Executado Em Menos De 180 Dias Preciso dividir isso em coluna!

Todo esse retorno acima é apenas UMA linha do rsOracle?ou cada |FO........ desse aí, é uma linha do RecordSet?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que vem do GLOSA é isso:|FO 1074417 ;960 ;12;L ;Falta De Rx Finais |FO 1074417 ;960 ;23;L ;Ítem De Bloqueio |FO 1074417 ;970 ;11;D ;Falta De Rx Finais|FO 1074426 ;2060 ;15; ;|FO 1074435 ;110 ;0 ; ;Executado Em Menos De 180 Dias |FO 1074435 ;2030 ;28; ;Sem Visualização Do Serviço Executado|FO 1074438 ;510 ;0 ; ;Beneficiário Excluído/Sem Direito |FO 1074438 ;530 ;0 ; ;Ítem De Bloqueio |FO 1074438 ;740 ;55; ;Beneficiário Excluído/Sem Direito |FO 1074438 ;740 ;75; ;Beneficiário Excluído/Sem Direito |FO 1074438 ;740 ;85; ;Beneficiário Excluído/Sem Direito |FO 1074438 ;980 ;65;OD ;Beneficiário Excluído/Sem Direito |FO 1074438 ;980 ;84;OD ;Beneficiário Excluído/Sem Direito|FO 1074440 ;2010 ;45; ;Qualidade Do Tratamento|FO 1074442 ;960 ;13;V ;Sem Ass. Do Pac.Na Solicitação |FO 1074442 ;960 ;14;V ;Sem Ass. Do Pac.Na Solicitação |FO 1074442 ;960 ;15;V ;Sem Ass. Do Pac.Na Solicitação|FO 1074443 ;960 ;27;V ;Falta De Rx Iniciais E Finais |FO 1074443 ;960 ;47;O ;Falta De Rx Iniciais E Finais |FO 1074443 ;960 ;17;O ;Falta De Rx Iniciais E Finais |FO 1074443 ;2030 ;17; ;Falta De Rx Iniciais E Finais|FO 1191499 ;960 ;45;O ;Ítem De Bloqueio |FO 1191499 ;2010 ;45; ;Falta De Qualidade Dos Rx|FO 1191503 ;550 ;0 ; ;Executado Em Menos De 180 Dias|FO 1191504 ;550 ;0 ; ;|FO 1191508 ;960 ;35;V ;Falta De Qualidade Dos Rx |FO 1191508 ;970 ;11;D ;Falta De Rx Iniciais E Finais |FO 1191508 ;970 ;22;M ;Falta De Rx Iniciais E Finais|FO 1191514 ;111 ;0 ; ;|FO 1191516 ;960 ;14;O ;Sem Visualização Do Serviço Executado |FO 1191516 ;2020 ;14; ;Sem Visualização Do Serviço Executado|FO 1191519 ;5050 ;95; ;|FO 1191519 ;5050 ;94; ;|FO 1191528 ;980 ;25;D ;Preenchim.Irregular / Falta Preenchimento Serviços|FO 1191531 ;960 ;16;O ;Falta De Rx Inicial |FO 1191531 ;970 ;11;D ;Falta De Rx Inicial|FO 1191535 ;110 ;0 ; ;Executado Em Menos De 180 Dias |FO 1191535 ;550 ;0 ; ;|FO 1191538 ;960 ;27;O ;Executado Em Menos De 180 Dias|FO 1191542 ;110 ;0 ; ;Ítem De Bloqueio |FO 1191542 ;550 ;0 ; ;Sem Ass. Do Pac.Na Solicitação|FO 1295845 ;960 ;34;V ;Sem Ass. Do Pac.Na Solicitação |FO 1295845 ;960 ;35;V ;Sem Ass. Do Pac.Na Solicitação|FO 1310369 ;110 ;0 ; ;Ítem De Bloqueio|FO 1310403 ;110 ;0 ; ;Executado Em Menos De 180 Dias |FO 1310403 ;550 ;0 ; ;Executado Em Menos De 180 Dias Preciso dividir isso em coluna!

Todo esse retorno acima é apenas UMA linha do rsOracle?ou cada |FO........ desse aí, é uma linha do RecordSet?
O questionamento do CassianoVix é pertinente.Quantos registros estão retornando no rsOracle?

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso! cada |FO é uma linha do recordset!Isso é um RefCursor trazido do Oracle!è por isso que divido o SPLIT com o caractere "|"

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso! cada |FO é uma linha do recordset!Isso é um RefCursor trazido do Oracle!è por isso que divido o SPLIT com o caractere "|"

Qual o código que está na linha que acusa erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

itens_glosa = SPLIT(rsOracle2(0), "|") essa linha!erro -> Invalid use of Null: 'SPLIT'

Estranho..Bom... antes de fazer esse split, dá um response.write e, rsOracle2(0) e response.end. Verifica o que vai aparecer e posta aqui..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aparece aprimeira linha que vem no recordset.Se eu tiro o Response.end ele me retorna todos esses registros que mostrei ai nos outros post.O estranho é que ele da esse erro sempre no segungo laço do recordset. é como se ele estivesse vindo vazio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aparece aprimeira linha que vem no recordset.Se eu tiro o Response.end ele me retorna todos esses registros que mostrei ai nos outros post.O estranho é que ele da esse erro sempre no segungo laço do recordset. é como se ele estivesse vindo vazio.

Coloca o response.end dentro de um IF de forma a executar o response.end apenas na segunda vez que passar por ali. Assim vai dar o response.write na segunda linha do recordset e a gente vai poder analisar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha só, depois de ler tudo isso que vocês escreveram eu fui analisar o meu sistema que também apresentava o mesmo erro.

 

Consegui resolver notando um pequeno detalhe.

 

A coluna da tabela onde estava dando split permitia "null" (vazio), uma delas estava sem nada, exatamente onde dava o erro.

Foi apenas preencher a coluna com alguma coisa e resolveu o assunto.

Talvez no seu caso seja o mesmo problema, o Split nao estava reconhecendo linhas onde a coluna do Split estava vazia.

Se realmente não tiver nada, tente colocar um espaço apenas.

 

 

Valeu,

avisa se der certo! http://forum.imasters.com.br/public/style_emoticons/default/natal_laugh.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.