Amigos estou com um problema, seguinte. tenho uma consulta no PL/SQL que me retorna uma lista de candidatos inscritos. ótimo, nesta lista tenho um checkbox no final de cada inscrito, o meu problema é, quando eu setar os checkbox e não necessáriamente todos ele vai ter que gravar no banco para aquele inscrito foi selecionado.
E agora como faço isso, utilizando array ? e se sim como fazer-lo pois nunca trabalhei com array no PL.
obrigado !
Utilizando ARRAY no PLSQL
-
- Rank: Estagiário Pleno
- Mensagens: 6
- Registrado em: Sex, 12 Dez 2008 12:33 pm
- Localização: Curitiba
- Contato:
Ricardo A. Silveira
Redes de Computadores
Pós Banco de Dados
Redes de Computadores
Pós Banco de Dados
-
- Rank: Analista Júnior
- Mensagens: 88
- Registrado em: Sex, 18 Ago 2006 11:13 am
- Localização: São Paulo - SP
Bertosro
MSN / TALK - roberto.fernandes@gmail.com
MSN / TALK - roberto.fernandes@gmail.com
checkbox no PL/sql??? NOu esta usanado o forms?? não entendi.
-
- Rank: Analista Júnior
- Mensagens: 88
- Registrado em: Sex, 18 Ago 2006 11:13 am
- Localização: São Paulo - SP
Bertosro
MSN / TALK - roberto.fernandes@gmail.com
MSN / TALK - roberto.fernandes@gmail.com
DECLARE
TYPE vetor IS TABLE OF VARCHAR (65)
INDEX BY BINARY_INTEGER;
vt vetor;
t VARCHAR (10);
FUNCTION teste (sc1 VARCHAR2)
RETURN CHAR
IS
n NUMBER;
BEGIN
DBMS_OUTPUT.put_line (sc1);
RETURN n; -- Retorna string binária representando a string fornecida
END;
BEGIN
vt (0) := 'parametro';
DBMS_OUTPUT.put_line (vt (0));
t := teste ('parametro');
END;

-
- Rank: Estagiário Pleno
- Mensagens: 6
- Registrado em: Sex, 12 Dez 2008 12:33 pm
- Localização: Curitiba
- Contato:
Ricardo A. Silveira
Redes de Computadores
Pós Banco de Dados
Redes de Computadores
Pós Banco de Dados
É que utilizamos no PL/SQL tags de formulários
não sei se você conhece, é pouco difuncido! é FORM dentro do PL.
htp.p('<input name..>');
-
- Rank: Estagiário Pleno
- Mensagens: 6
- Registrado em: Sex, 12 Dez 2008 12:33 pm
- Localização: Curitiba
- Contato:
Ricardo A. Silveira
Redes de Computadores
Pós Banco de Dados
Redes de Computadores
Pós Banco de Dados
Segue um exemplo da package que estou com problema
create or replace package body mpclassificarcandidatopg as
/*procedure:inicio
descricao:procedure que inicializa a estrutura utilizada na tela (TabPanels)*/
procedure inicio as
begin
mpSpry.pccabtela(p_titulovc => 'Classificação do Candidato Inscrito',
p_subtitulovc => 'Classificar',
p_scriptTela => 'mpclassificarcandidatopg.pcscript',
p_linkajuda => 'siavi:perfil_uorg',
p_spryTabbed => true,
p_spryTextfield => true, -- usa Spry Textfield validation
p_spryselect => true,
p_codsistema => 2,
p_spryTextArea => true,
p_calendarControl => true,
p_spryRadio => true,
p_filterListJs => true,
p_spryCheckbox => true);
-- p_onload => 'document.getElementById(''TabbedPanels1'').style.visibility =''hidden'';');-- para ocultar o TabbedPanel
mpSpry.pcTabPanels(
mpSpry.array_clob('Classificar'),
mpSpry.array_clob(fcPanelIncluirInsc));
htp.p('<br>');
mpSpry.pcRodTela;
exception
when others then
mpspry.pcErro;
end inicio;
/*procedure:pcscript
descricao:procedure com as funções em javascript*/
procedure pcScript
is
begin
htp.p('
function classificar(progcodnr,cursoanonr,nivelcursocodnr,curscodnr)
{
reqAjaxPostSincrono("mpclassificarcandidatopg.fcPanelIncluirInsc","p_progcodnr="+progcodnr+"&p_cursoanonr="+cursoanonr+"&p_nivelcursocodnr="+nivelcursocodnr+"&p_curscodnr="+curscodnr,"div_classifica");
}
');
htp.p('
function alterarInsc(progcodnr,curscodnr,cursoanonr,insccpfvc)
{
reqAjaxPostSincrono("mpclassificarcandidatopg.pcTelaAlterarInsc","p_progcodnr="+progcodnr+"&p_curscodnr="+curscodnr+"&p_cursoanonr="+cursoanonr+"&p_insccpfvc="+insccpfvc,"div_alterainsc");
}
');
htp.p('
function excluirInsc(progcodnr,curscodnr,cursoanonr,insccpfvc)
{
confirmaexclusao = false;
confirmaexclusao = confirm("Confirma exclusão do candidato?");
if (confirmaexclusao == true)
{
document.location = "mpclassificarcandidatopg.pcExcluirInsc?p_progcodnr="+progcodnr+"&p_curscodnr="+curscodnr+"&p_cursoanonr="+cursoanonr+"&p_insccpfvc="+insccpfvc;
}
}
');
htp.p('
function ajaxAno(progcodnr){
// atualiza ano do curso
url = ''mpclassificarcandidatopg.pcAjaxAno'';
param = ''p_progcodnr='' + progcodnr;
div = ''div_ajaxano'';
reqAjaxPost(url, param, div);
//limpando conteu da div ''div_ajaxnivel''
document.getElementById(''div_ajaxnivel'').innerHTML='' '';
}
');
htp.p('
function ajaxNivel(progcodnr,cursoanonr){
// atualiza nivel do curso
url = ''mpclassificarcandidatopg.pcAjaxNivel'';
param = ''p_progcodnr='' + progcodnr +''&p_cursoanonr=''+ cursoanonr;
div = ''div_ajaxnivel'';
reqAjaxPost(url, param, div);
}
');
htp.p('
function ajaxCurso(progcodnr,cursoanonr,nivelcursocodnr){
// atualiza nivel do curso
url = ''mpclassificarcandidatopg.pcAjaxCurso'';
param = ''p_progcodnr='' + progcodnr +''&p_cursoanonr=''+ cursoanonr+''&p_nivelcursocodnr=''+ nivelcursocodnr;
div = ''div_ajaxcurso'';
reqAjaxPost(url, param, div);
}
');
/*htp.p('
function ajaxArea(progcodnr,cursoanonr,nivelcursocodnr,curscodnr){
// atualiza área de concentração
url = ''mpclassificarcandidatopg.pcAjaxArea'';
param = ''p_progcodnr='' + progcodnr +''&p_cursoanonr=''+ cursoanonr+''&p_nivelcursocodnr=''+ nivelcursocodnr+''&p_curscodnr=''+ curscodnr;
div = ''div_ajaxarea'';
reqAjaxPost(url, param, div);
}
');
htp.p('
function ajaxLinha(progcodnr,cursoanonr,nivelcursocodnr,curscodnr,areacodnr){
// atualiza linha de pesquisa
url = ''mpclassificarcandidatopg.pcAjaxLinha'';
param = ''p_progcodnr='' + progcodnr +''&p_cursoanonr=''+ cursoanonr+''&p_nivelcursocodnr=''+ nivelcursocodnr+''&p_curscodnr=''+ curscodnr+''&p_areacodnr=''+ areacodnr;
div = ''div_ajaxlinha'';
reqAjaxPost(url, param, div);
}
');*/
htp.p('
function fcvinculo(inscprofvincempvc) {
// debugger;
if (inscprofvincempvc != "2")
{
document.filtro.p_inscprofempvc.disabled=false;
document.filtro.p_inscprofendvc.disabled=false;
document.filtro.p_inscprofbairrovc.disabled=false;
document.filtro.p_inscprofcidadevc.disabled=false;
document.filtro.p_inscprofufvc.disabled=false;
document.filtro.p_inscprofcepvc.disabled=false;
}
else
{
document.filtro.p_inscprofempvc.disabled=true;
document.getElementById("p_inscprofendvc").disabled=true;
document.filtro.p_inscprofbairrovc.disabled=true;
document.filtro.p_inscprofcidadevc.disabled=true;
document.filtro.p_inscprofufvc.disabled=true;
document.filtro.p_inscprofcepvc.disabled=true;
}
}
');
htp.p('
function fcoutrosmeios(inscprogoutmeiosvc) {
if (inscprogoutmeiosvc != "4")
document.filtro.p_inscprogoutmeiosvc.disabled=true;
else
document.filtro.p_inscprogoutmeiosvc.disabled=false;
}
');
end;
/*procedure:fcPanelIncluirInsc
descricao:Aba do TabPanel com a finalidade de incluir a inscrição do candidato*/
function fcPanelIncluirInsc return clob
is
v_texto clob; -- texto de retorno
v_progcodnr inscricaopg.progcodnr%type;
v_cursoanonr inscricaopg.cursoanonr%type;
v_nivelcursocodnr nivelcursopg.nivelcursocodnr%type;
v_curscodnr inscricaopg.curscodnr%type;
begin
v_texto :='
<form name="filtro" action="mpclassificarcandidatopg.pcTelacandidatoclassificado" method="get">
<table border="1" align="center" class="tabela">
<tr>
<th colspan="5"><div align="center">Curso</div></th>
</tr>';
-- Campo programa
v_texto := v_texto ||'
<tr>
<td>Programa</td>
<td colspan="4" align="left">';
v_texto := v_texto || mpSpry.fcSelectQuery(
p_nome => 'p_progcodnr',
p_query => 'select distinct prog.progsiglavc,prog.progcodnr from turmapg turma,programapg prog
where to_char(sysdate,''YYYY/MM/DD'') between to_char(turma.turmapginsciniciodt,''YYYY/MM/DD'')
and to_char(turma.turmapginscfinaldt,''YYYY/MM/DD'')
and turma.progcodnr=prog.progcodnr
order by prog.progsiglavc',
p_descricao_inicial => 'Selecione',
p_tamanho => 250,
p_obrigatorio => true,
p_onchange => 'if(this.selectedIndex!=0)
ajaxAno(this.value);
else
document.getElementById(''div_ajaxano'').innerHTML='' '';
document.getElementById(''div_ajaxnivel'').innerHTML='' '';
document.getElementById(''div_ajaxcurso'').innerHTML='' '';');
v_texto := v_texto ||'
<tr>
<td>Ano</td>
<td>
<div id="div_ajaxano"></div>';
v_texto := v_texto ||'
<tr>
<td>Nível do Curso</td>
<td>
<div id="div_ajaxnivel"></div>';
v_texto := v_texto ||'
<tr>
<td>Curso</td>
<td>
<div id="div_ajaxcurso"></div></tr></table>';
v_texto := v_texto ||'
<table border="1" align="center" class="tabela" width="80%">';
v_texto := v_texto ||'
</div></td></tr></table><br><center><div align="center" id="div_classifica"></div>';
v_texto := v_texto ||
mpspry.fcButtonSubmit(p_descricao => 'Continuar');
v_texto := v_texto ||'
</center></form>';
/* v_botaoalt := mpspry.fcButton(p_descricao => 'Alterar',
p_tipoUrl => 1,
p_url => 'classificar('||v_progcodnr||','||v_cursoanonr||','||v_nivelcursocodnr||','||v_curscodnr||');');*/
return v_texto;
exception
when others then
mpspry.pcErro;
end;
procedure pcTelacandidatoclassificado
--return clob
(
p_progcodnr alunocursopg.progcodnr%type,
p_cursoanonr alunocursopg.cursoanonr%type,
p_nivelcursocodnr alunocursopg.nivelcursocodnr%type,
p_curscodnr alunocursopg.curscodnr%type
)
is
v_texto clob; -- texto de retorno
type type_cursor is ref cursor; -- tipo cursor
vcur_candidatoclassificado type_cursor; -- cursor para obter dados das áreas de concentração
v_botaoalt varchar2(5000); -- código html do botão a ser apresentado junto a área de concentração
v_botaoexc varchar2(5000); -- código html do botão a ser apresentado junto a área de concentração
v_progcodnr alunocursopg.progcodnr%type;
v_cursoanonr alunocursopg.cursoanonr%type;
v_nivelcursocodnr alunocursopg.nivelcursocodnr%type;
v_curscodnr alunocursopg.curscodnr%type;
v_inscnomevc inscricaopg.inscnomevc%type;
v_prognomevc programapg.prognomevc%type;
v_cursnomevc curso.cursnomevc%type;
contador number;
begin
mpspry.pcCabTela(p_titulovc => 'Lista de Candidatos Inscritos',
p_codsistema => 2,
p_scriptTela => 'mpclassificarcandidatopg.pcscript');
open vcur_candidatoclassificado for
SELECT insc.inscnomevc, prog.progsiglavc, curso.cursnomevc, insc.cursoanonr
FROM inscricaopg insc, programapg prog, curso
WHERE insc.progcodnr=p_progcodnr
AND insc.cursoanonr=p_cursoanonr
AND insc.nivelcursocodnr=p_nivelcursocodnr
AND insc.curscodnr=p_curscodnr
AND insc.inscclassificadonr=0
AND prog.progcodnr=insc.progcodnr
AND curso.curscodnr=insc.curscodnr;
htp.p('<form name="teste" action="mpclassificarcandidatopg.pcTelacandidatoclassificado" method="get">
<input type="hidden" name="p_progcodnr" value="'||p_progcodnr||'">
<input type="hidden" name="p_cursoanonr" value="'||p_cursoanonr||'">
<input type="hidden" name="p_nivelcursocodnr" value="'||p_nivelcursocodnr||'">
<input type="hidden" name="p_curscodnr" value="'||p_curscodnr||'">
<table border="1" align="center" class="tabela">
<tr>
<th width="380"><div align="center">Nome do candidato</div></th>
<th><div align="center">Programa</div></th>
<th><div align="center">Curso</div></th>
<th><div align="center">Ano</div></th>
<th><div align="center">Classificar</div></th>
</tr>');
loop
fetch vcur_candidatoclassificado into v_inscnomevc, v_prognomevc, v_cursnomevc, v_cursoanonr;
exit when vcur_candidatoclassificado%notfound;
htp.p('
<tr>
<td><div align="left">'||v_inscnomevc||'</div></td>
<td><div align="left">'||v_prognomevc||'</div></td>
<td><div align="left">'||v_cursnomevc||'</div></td>
<td><div align="center">'||v_cursoanonr||'</div></td>
<td><div align="center">'||mpSpry.fcRadio(p_nome => 'p_classificar',
p_descricao => mpSpry.array_clob('SIM','não'),
p_valor => mpSpry.array_clob('1','0'),
p_dica => mpSpry.array_clob('Classifica o candidato','Desclassifica o candidato')) ||'
</div></td>
</tr>');
end loop;
/*<td><div align="center">'||mpSpry.fcCheckBox(
p_nome =>'classificar',
p_valor => '1',
p_dica =>'Selecione para classificar o candidato')||' </div></td>*/
htp.p('</table>');
htp.p('<tr><td align="center">'||
mpspry.fcButtonSubmit(p_descricao => 'Salvar')||'
</center></td></tr></form>');
--return v_texto;
exception
when others then
mpspry.pcErro;
end;
/*procedure:pcIncluirTurma
descricao:gravar a inclusão da área de concentração*/
procedure pcIncluirInsc
(
p_progcodnr inscricaopg.progcodnr%type,
p_cursoanonr inscricaopg.cursoanonr%type,
p_nivelcursocodnr inscricaopg.nivelcursocodnr%type,
p_curscodnr inscricaopg.curscodnr%type,
p_areacodnr inscricaopg.areacodnr%type,
p_linhacodnr inscricaopg.linhacodnr%type,
p_inscnomevc inscricaopg.inscnomevc%type,
p_inscdtnascimentodt inscricaopg.inscdtnascimentodt%type,
p_insccpfvc inscricaopg.insccpfvc%type,
p_inscrgnr inscricaopg.inscrgnr%type,
p_inscufrgvc inscricaopg.inscufrgvc%type,
p_inscrgdt inscricaopg.inscrgdt%type,
p_insctiteleitornr inscricaopg.insctiteleitornr%type,
p_insctitzonanr inscricaopg.insctitzonanr%type,
p_insctitsecaonr inscricaopg.insctitsecaonr%type,
p_insccertmilvc inscricaopg.insccertmilvc%type default null,
p_insccertmilorgaovc inscricaopg.insccertmilorgaovc%type default null,
p_inscestadocivilnr inscricaopg.inscestadocivilnr%type,
p_inscsexoch inscricaopg.inscsexoch%type,
p_inscpaivc inscricaopg.inscpaivc%type default null,
p_inscmaevc inscricaopg.inscmaevc%type default null,
p_inscresendvc inscricaopg.inscresendvc%type default null,
p_inscresbairrovc inscricaopg.inscresbairrovc%type,
p_inscrescidadevc inscricaopg.inscrescidadevc%type,
p_inscresufvc inscricaopg.inscresufvc%type,
p_inscrescepvc inscricaopg.inscrescepvc%type,
p_inscrestelvc inscricaopg.inscrestelvc%type,
p_inscemailvc inscricaopg.inscemailvc%type,
p_inscformcursovc inscricaopg.inscformcursovc%type,
p_inscformenfasevc inscricaopg.inscformenfasevc%type,
p_inscformdatagraudt inscricaopg.inscformdatagraudt%type,
p_inscforminstituicaovc inscricaopg.inscforminstituicaovc%type,
p_inscespcursovc inscricaopg.inscespcursovc%type,
p_inscespinstituicaovc inscricaopg.inscespinstituicaovc%type,
p_insclingest1vc inscricaopg.insclingest1vc%type default null,
p_insclingestnivel1nr inscricaopg.insclingestnivel1nr%type default null,
p_insclingest2vc inscricaopg.insclingest2vc%type default null,
p_insclingestnivel2nr inscricaopg.insclingestnivel2nr%type default null,
p_insclingest3vc inscricaopg.insclingest3vc%type default null,
p_insclingestnivel3nr inscricaopg.insclingestnivel3nr%type default null,
p_insclingest4vc inscricaopg.insclingest4vc%type default null,
p_insclingestnivel4nr inscricaopg.insclingestnivel4nr%type default null,
p_inscprofvincempnr inscricaopg.inscprofvincempnr%type,
p_inscprofempvc inscricaopg.inscprofempvc%type default null,
p_inscprofendvc inscricaopg.inscprofendvc%type default null,
p_inscprofbairrovc inscricaopg.inscprofbairrovc%type default null,
p_inscprofcidadevc inscricaopg.inscprofcidadevc%type default null,
p_inscprofufvc inscricaopg.inscprofufvc%type default null,
p_inscprofcepvc inscricaopg.inscprofcepvc%type default null,
p_inscvinccursonr inscricaopg.inscvinccursonr%type,
p_inscdediccursonr inscricaopg.inscdediccursonr%type,
p_inscprogcustnr inscricaopg.inscprogcustnr%type,
p_inscprogoutmeiosvc inscricaopg.inscprogoutmeiosvc%type default null,
p_inscorientadorvc inscricaopg.inscorientadorvc%type default null,
p_insccoorientadorvc inscricaopg.insccoorientadorvc%type default null
) is
v_inscdatainscdt inscricaopg.inscdatainscdt%type;
begin
v_inscdatainscdt:=to_date(to_char(sysdate,'dd/mm/yyyy hh24:mi:ss'),'dd/mm/yyyy hh24:mi:ss');
/*insert into inscricaopg
(cursoanonr, codinscpgnr, inscnomevc, inscrgnr, inscufrgvc, insccpfvc, linhacodnr, inscdtnascimentodt, inscsexoch, inscrgdt, inscpaivc, inscestadocivilnr, areacodnr, inscmaevc, inscresendvc, insctitsecaonr, inscresbairrovc, insctitzonanr, inscrescidadevc, inscresufvc, inscrescepvc, inscrestelvc, inscemailvc, insctiteleitornr, insccertmilvc, insccertmilorgaovc, inscforminstituicaovc, inscformcursovc, inscformenfasevc, inscprofvincempnr, inscorientadorvc, inscformdatagraudt, insccoorientadorvc, inscprogcustnr, inscespinstituicaovc, inscdediccursonr, inscdatainscdt, curscodnr, progcodnr, inscespcursovc, insclingest1vc, insclingest2vc, insclingest3vc, insclingest4vc, insclingestnivel1nr, insclingestnivel2nr, insclingestnivel3nr, insclingestnivel4nr, inscprofempvc, inscprofendvc, inscprofcidadevc, inscprofufvc, inscprofbairrovc, inscvinccursonr, inscprogoutmeiosvc, nivelcursocodnr, inscprofcepvc)
values
(p_cursoanonr, sqmpclassificarcandidatopg.Nextval, upper(p_inscnomevc), p_inscrgnr, p_inscufrgvc, p_insccpfvc, p_linhacodnr, p_inscdtnascimentodt, p_inscsexoch, p_inscrgdt, upper(p_inscpaivc), p_inscestadocivilnr, p_areacodnr, upper(p_inscmaevc), upper(p_inscresendvc), p_insctitsecaonr, upper(p_inscresbairrovc), p_insctitzonanr, upper(p_inscrescidadevc), p_inscresufvc, p_inscrescepvc, p_inscrestelvc, p_inscemailvc, p_insctiteleitornr, p_insccertmilvc, p_insccertmilorgaovc, upper(p_inscforminstituicaovc), upper(p_inscformcursovc), upper(p_inscformenfasevc), p_inscprofvincempnr, upper(p_inscorientadorvc), p_inscformdatagraudt, upper(p_insccoorientadorvc), p_inscprogcustnr, upper(p_inscespinstituicaovc), p_inscdediccursonr, v_inscdatainscdt, p_curscodnr, p_progcodnr, upper(p_inscespcursovc), upper(p_insclingest1vc), upper(p_insclingest2vc), upper(p_insclingest3vc), upper(p_insclingest4vc), p_insclingestnivel1nr, p_insclingestnivel2nr, p_insclingestnivel3nr, p_insclingestnivel4nr, upper(p_inscprofempvc), upper(p_inscprofendvc), upper(p_inscprofcidadevc), p_inscprofufvc, upper(p_inscprofbairrovc), p_inscvinccursonr, upper(p_inscprogoutmeiosvc), p_nivelcursocodnr, p_inscprofcepvc);*/
commit;
mpspry.pcRedirect(p_mensagem => 'O registro foi incluído com sucesso!',
p_url => 'mpclassificarcandidatopg.inicio');
exception
when dup_val_on_index then
mpSpry.pcTelaErro('Candidato já cadastrado!!!');
when others then
mpspry.pcErro;
htp.p(DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
end;
/*procedure:pcExcluirInsc
descricao:gravar a exclusão da inscrição do candidato*/
procedure pcExcluirInsc
(
p_progcodnr inscricaopg.progcodnr%type,
p_curscodnr inscricaopg.curscodnr%type,
p_cursoanonr inscricaopg.cursoanonr%type,
p_insccpfvc inscricaopg.insccpfvc%type
) is
begin
delete
from inscricaopg
where progcodnr=p_progcodnr
and curscodnr=p_curscodnr
and cursoanonr=p_cursoanonr
and insccpfvc=p_insccpfvc;
commit;
htp.p('<meta http-equiv="refresh" content="0;url=mpclassificarcandidatopg.inicio">');
exception
when others then
if (sqlcode = -2292) then
mpSpry.pcTelaErro('Inscrição do candidato não poderá ser excluída pois está vinculada a outro processo!!!');
rollback;
else
mputil2.pcexception;
rollback;
end if;
end;
procedure pcAjaxAno
(
p_progcodnr turmapg.progcodnr%type default null
) is
begin
htp.p(mpSpry.fcSelectQuery(
p_nome => 'p_cursoanonr',
p_query => 'select distinct turma.cursoanonr,turma.cursoanonr
from turmapg turma,programapg prog
where turma.progcodnr='||p_progcodnr||'
and to_char(sysdate,''YYYY/MM/DD'') between to_char(turma.turmapginsciniciodt,''YYYY/MM/DD'')
and to_char(turma.turmapginscfinaldt,''YYYY/MM/DD'')
and turma.progcodnr=prog.progcodnr
order by turma.cursoanonr',
p_tamanho => 250,
p_descricao_inicial => 'Selecione',
p_obrigatorio => true,
p_onchange => 'if(this.selectedIndex!=0)
ajaxNivel(document.getElementById(''p_progcodnr'').value,this.value);
else
document.getElementById(''div_ajaxnivel'').innerHTML='' '';
document.getElementById(''div_ajaxcurso'').innerHTML='' '';'));
exception
when others then
mpspry.pcErro;
end pcAjaxAno;
procedure pcAjaxNivel
(
p_progcodnr turmapg.progcodnr%type default null,
p_cursoanonr turmapg.cursoanonr%type default null
) is
begin
htp.p(mpSpry.fcSelectQuery(
p_nome => 'p_nivelcursocodnr',
p_query => 'select nivel.nivelcursodescrvc,nivel.nivelcursocodnr
from turmapg turma,nivelcursopg nivel
where turma.progcodnr='||p_progcodnr||' and turma.cursoanonr='||p_cursoanonr||'
and to_char(sysdate,''YYYY/MM/DD'') between to_char(turma.turmapginsciniciodt,''YYYY/MM/DD'')
and to_char(turma.turmapginscfinaldt,''YYYY/MM/DD'')
and turma.nivelcursocodnr=nivel.nivelcursocodnr
order by nivel.nivelcursodescrvc',
p_tamanho => 250,
p_descricao_inicial => 'Selecione',
p_obrigatorio => true,
p_onchange => 'if(this.selectedIndex!=0)
ajaxCurso(document.getElementById(''p_progcodnr'').value,document.getElementById(''p_cursoanonr'').value,this.value);
else
document.getElementById(''div_ajaxcurso'').innerHTML='' '';
document.getElementById(''div_ajaxarea'').innerHTML='' '';
document.getElementById(''div_ajaxlinha'').innerHTML='' '';'));
exception
when others then
mpspry.pcErro;
end pcAjaxNivel;
procedure pcAjaxCurso
(
p_progcodnr turmapg.progcodnr%type default null,
p_cursoanonr turmapg.cursoanonr%type default null,
p_nivelcursocodnr turmapg.nivelcursocodnr%type default null
) is
begin
htp.p(mpSpry.fcSelectQuery(
p_nome => 'p_curscodnr',
p_query => 'select curso.cursnomevc,turma.curscodnr
from turmapg turma,curso curso
where turma.progcodnr='||p_progcodnr||' and turma.cursoanonr='||p_cursoanonr||' and turma.nivelcursocodnr='||p_nivelcursocodnr||'
and to_char(sysdate,''YYYY/MM/DD'') between to_char(turma.turmapginsciniciodt,''YYYY/MM/DD'')
and to_char(turma.turmapginscfinaldt,''YYYY/MM/DD'')
and turma.curscodnr=curso.curscodnr
order by curso.cursnomevc',
p_tamanho => 250,
p_descricao_inicial => 'Selecione',
p_obrigatorio => true,
p_onchange => 'if(this.selectedIndex!=0)
ajaxArea(document.getElementById(''p_progcodnr'').value,document.getElementById(''p_cursoanonr'').value,document.getElementById(''p_nivelcursocodnr'').value,this.value);
else
document.getElementById(''div_ajaxarea'').innerHTML='' '';
document.getElementById(''div_ajaxlinha'').innerHTML='' '';'));
exception
when others then
mpspry.pcErro;
end pcAjaxCurso;
/*procedure:authorize
descricao:função utilizada para autorizar o acesso ao usuário*/
function authorize return boolean is
begin
return fc_chavepkg; -- validação do usuário
-- return true; -- acesso total
end authorize;
end mpclassificarcandidatopg;
-
- Rank: Estagiário Pleno
- Mensagens: 6
- Registrado em: Sex, 12 Dez 2008 12:33 pm
- Localização: Curitiba
- Contato:
Ricardo A. Silveira
Redes de Computadores
Pós Banco de Dados
Redes de Computadores
Pós Banco de Dados
quando eu dou o submit ele manda o valor 1 para gravar no banco, mais o problema é que se tiver mais de uma linha ai dá erro ! acredito que tenha que usar um array no PL !
-
- Rank: Estagiário Sênior
- Mensagens: 9
- Registrado em: Ter, 02 Dez 2008 10:43 am
- Localização: Sorocaba-SP
Aproveitanto o tópico existente...
Gostaria de saber como faço para passar como parametros de execução da minha PKG, uma matriz bi-dimensional.
Tomem como exemplo, um pedido e seus itens.
A PKG deve receber todas as informações (Detalhe e Itens do Pedido) do VB e passa-las de uma vez só para a PKG.
A parte do Detalhe do Pedido é como tirar doce de criança.
Agora, quanto aos itens do pedido do pedido estou apanhando.
Poderiam me ajudar?
Agradeço desde já.
Forte abraço
Gostaria de saber como faço para passar como parametros de execução da minha PKG, uma matriz bi-dimensional.
Tomem como exemplo, um pedido e seus itens.
A PKG deve receber todas as informações (Detalhe e Itens do Pedido) do VB e passa-las de uma vez só para a PKG.
A parte do Detalhe do Pedido é como tirar doce de criança.
Agora, quanto aos itens do pedido do pedido estou apanhando.
Poderiam me ajudar?
Agradeço desde já.
Forte abraço
-
- Rank: Estagiário Pleno
- Mensagens: 6
- Registrado em: Sex, 12 Dez 2008 12:33 pm
- Localização: Curitiba
- Contato:
Ricardo A. Silveira
Redes de Computadores
Pós Banco de Dados
Redes de Computadores
Pós Banco de Dados
Desculpe colega, mais não vou poder ajudar pois esse é o meu problema e não consegui resolver ainda !
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Brothers,
OS Itens, não seria o caso de criar uma PL/SQL Table e passar tudo de uma vez?
Ou, será que entendi errado?
Se for passar por PL/SQL Table (Type), temos vários exemplos aqui.
qualquer coisa, só mandar.
OS Itens, não seria o caso de criar uma PL/SQL Table e passar tudo de uma vez?
Ou, será que entendi errado?
Se for passar por PL/SQL Table (Type), temos vários exemplos aqui.
qualquer coisa, só mandar.
-
- Rank: Estagiário Pleno
- Mensagens: 6
- Registrado em: Sex, 12 Dez 2008 12:33 pm
- Localização: Curitiba
- Contato:
Ricardo A. Silveira
Redes de Computadores
Pós Banco de Dados
Redes de Computadores
Pós Banco de Dados
Você está falando em %rowtype ???? aquele vetor implicito no PL/SQL do oracle ?
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Não não brother,
Estou falando de RECORD e de uma TABLE desse RECORD.
Dessa forma, você passa o RECORD e, dentro da tua procedure, depois, lê ele num loop, no caso, os itens.
Vou ver se tenho algum exemplo aqui e te mando.
Estou falando de RECORD e de uma TABLE desse RECORD.
Dessa forma, você passa o RECORD e, dentro da tua procedure, depois, lê ele num loop, no caso, os itens.
Vou ver se tenho algum exemplo aqui e te mando.
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante