A função TO_YMINTERVAL acrescenta anos e meses a uma data, o primeiro parâmetro são os anos e o segundo parâmetro os meses.
Neste exemplo, vamos acrescentar 5 anos e 3 meses a data 21/02/2004
SELECT TO_DATE('21-FEB-2004', 'DD-MON-YYYY') + TO_YMINTERVAL('5-3') FROM DUAL;
21-MAY-09
quarta-feira, 9 de setembro de 2015
sexta-feira, 6 de fevereiro de 2015
PL/SQL - Exemplo de utilização de Bulk Collect
declare
type table_employee is table of employee%rowtype index by binary_integer;
cursor c_employee is
select *
from employee
order by last_name;
v_table_employee table_employee;
begin
open c_employee;
fetch c_employee bulk collect into v_table_employee;
close c_employee;
for x in v_table_employee.first..v_table_employee.last loop
dbms_output.put_line(v_table_employee(x).last_name||' '||v_table_employee(x).job_id||' '||v_table_employee(x).salary) ;
end loop;
end;
type table_employee is table of employee%rowtype index by binary_integer;
cursor c_employee is
select *
from employee
order by last_name;
v_table_employee table_employee;
begin
open c_employee;
fetch c_employee bulk collect into v_table_employee;
close c_employee;
for x in v_table_employee.first..v_table_employee.last loop
dbms_output.put_line(v_table_employee(x).last_name||' '||v_table_employee(x).job_id||' '||v_table_employee(x).salary) ;
end loop;
end;
sexta-feira, 30 de janeiro de 2015
JavaScript - Abrir Link em Nova Janela
Código para abrir uma página em outra janela através de um botão ou clicando em um link.
<html>
<head>
<title>Editor HTML Online</title>
</head>
<body hola-ext-player="1">
<div style="text-align: left;">
<input name="marcio" type="button" onclick="mostra()"/>
</div>
<a href="javascript:abrir('http://www.globo.com');">Clique Aqui</a>
</body>
<script language="JavaScript">
function mostra() {
var vURL = "http://www.uol.com.br";
abrir(vURL);
}
function abrir(vURL) {
var width = 700;
var height = 400;
var top = (screen.height - height) / 2;
var left = (screen.width - width) / 2;
window.open(vURL,"janela", "width="+width+", height="+height+", top="+top+", left="+left+", scrollbars=yes, status=no, toolbar=no, location=no, directories=no, menubar=no, resizable=yes, fullscreen=no");
}
</script>
</html>
<html>
<head>
<title>Editor HTML Online</title>
</head>
<body hola-ext-player="1">
<div style="text-align: left;">
<input name="marcio" type="button" onclick="mostra()"/>
</div>
<a href="javascript:abrir('http://www.globo.com');">Clique Aqui</a>
</body>
<script language="JavaScript">
function mostra() {
var vURL = "http://www.uol.com.br";
abrir(vURL);
}
function abrir(vURL) {
var width = 700;
var height = 400;
var top = (screen.height - height) / 2;
var left = (screen.width - width) / 2;
window.open(vURL,"janela", "width="+width+", height="+height+", top="+top+", left="+left+", scrollbars=yes, status=no, toolbar=no, location=no, directories=no, menubar=no, resizable=yes, fullscreen=no");
}
</script>
</html>
quarta-feira, 28 de janeiro de 2015
JavaScript - Validação de Código de Barras
/*Exemplo de uma tela com um campo para inserção de código de barras e funções javaScript para validação do mesmo*/
<html>
<head>
<title>Validar um Código de Barras</title>
</head>
<body>
<form name="frmTeste" action="" method="post" onsubmit="return retornaTexto()">
<table id="tbl_parcelas"" name="tbl_parcelas"" width="100%" class="TelaNew">
<td align="left">
<input id="p_nr_cod_barras" type="text" name="p_nr_cod_barras" value="" size="55" maxlength="54" class="Textbox" style="width:367px;" onClick="mascaraCodigoBoleto(this, this.value);" onkeypress="return event.keyCode != 13;" onkeyup="mascaraCodigoBoleto(this, this.value);">
</td>
<tr>
<td height="30" id="spanMSGCodigoBarras" align="center" colspan="5"></td>
</tr>
</table>
</form>
</body>
<script type="text/javascript" src="/jscripts/prototype.js"></script>
<script type="text/javascript">
/****************************************************************************/
function mascaraCodigoBoleto(campo, valor){
//alert("Entrou");
//if(document.getElementById("p_nr_cod_barras:ckbLeitorOptico").checked == 0) {
converteBoletoMascara(campo);
validarBlocos(valor);
//confirmaValidacaoBoleto();
//}
//else{
// validarBoletoLido(valor);
//}
}
/****************************************************************************/
function converteBoletoMascara(campo, valor){
var valorConvertido = "";
if(valor != null && valor != "") {
valorConvertido = valor;
}
else if (campo != null) {
valorConvertido = campo.value;
}
valorConvertido=valorConvertido.replace(/\D/g,"");
valorConvertido=valorConvertido.replace(/^(\d{5})(\d)/,"$1.$2");
valorConvertido=valorConvertido.replace(/^(\d{5})\.(\d{5})(\d)/,"$1.$2 $3");
valorConvertido=valorConvertido.replace(/^(\d{5})\.(\d{5})\ (\d{5})(\d)/,"$1.$2 $3.$4");
valorConvertido=valorConvertido.replace(/^(\d{5})\.(\d{5})\ (\d{5})\.(\d{6})(\d)/,"$1.$2 $3.$4 $5");
valorConvertido=valorConvertido.replace(/^(\d{5})\.(\d{5})\ (\d{5})\.(\d{6})\ (\d{5})(\d)/,"$1.$2 $3.$4 $5.$6");
valorConvertido=valorConvertido.replace(/^(\d{5})\.(\d{5})\ (\d{5})\.(\d{6})\ (\d{5})\.(\d{6})(\d)/,"$1.$2 $3.$4 $5.$6 $7");
valorConvertido=valorConvertido.replace(/^(\d{5})\.(\d{5})\ (\d{5})\.(\d{6})\ (\d{5})\.(\d{6})\ (\d{1})(\d)/,"$1.$2 $3.$4 $5.$6 $7 $8");
if(valor != null && valor != "" && valorConvertido != null && valorConvertido != "undefined") {
return valorConvertido;
}
else if (campo != null && valorConvertido != null && valorConvertido != "undefined") {
campo.value = valorConvertido;
}
}
/****************************************************************************/
function validarBlocos(campo){
if(campo.length >= 11){
if (!ValidarBlocoBoleto(campo.substring(0, 11))){
document.getElementById("spanMSGCodigoBarras").innerHTML = "Confira a digitação do 1º campo";
return;
}
else{
document.getElementById("spanMSGCodigoBarras").innerHTML = "";
}
}
if(campo.length >= 24){
if (!ValidarBlocoBoleto(campo.substring(12, 24))){
document.getElementById("spanMSGCodigoBarras").innerHTML = "Confira a digitação do 2º campo";
return;
}
else {
document.getElementById("spanMSGCodigoBarras").innerHTML = "";
}
}
if(campo.length >= 37){
if (!ValidarBlocoBoleto(campo.substring(25, 37))){
document.getElementById("spanMSGCodigoBarras").innerHTML = "Confira a digitação 3º campo";
return;
}
else{
document.getElementById("spanMSGCodigoBarras").innerHTML = "";
}
}
if(campo.length == 43){
if (campo.substring(40, 43)=="000"){
campo=campo+"00000000000";
document.getElementById("p_nr_cod_barras").value=campo;
}
}
if(campo.length == 54) {
if(!validarModuloOnzeBoleto(campo.replace(/\D/g,""))) {
document.getElementById("spanMSGCodigoBarras").innerHTML = "Código de barras inválido";
}
}
}
/****************************************************************************/
function ValidarBlocoBoleto(bloco) {
if (validarModuloDezBoleto(bloco.replace(/\D/g,"")) == false)
return false;
else
return true;
}
/****************************************************************************/
function validarModuloDezBoleto(bloco) {
var NumeroCaracteres;
var digito = 0;
var num = 0;
var nSoma = 0;
var resultado = 0;
// var strIPTE = parseInt(bloco, 10);
NumeroCaracteres = parseInt((bloco.length - 1), 10);
digito = parseInt(bloco.charAt(bloco.length - 1), 10);
if (NumeroCaracteres % 2) {
for (var i = 0; i < NumeroCaracteres; (i = i + 2)) {
num = (parseInt(bloco.charAt(i), 10));
num = (num * 2);
if (num < 10) {
nSoma = nSoma + num;
} else {
nSoma = (num % 10) + 1 + nSoma;
}
}
for (var x = 1; x < NumeroCaracteres; (x = x + 2)) {
nSoma = (nSoma + parseInt(bloco.charAt(x), 10));
}
} else {
for (var i = 1; i < NumeroCaracteres; (i = i + 2)) {
num = (parseInt(bloco.charAt(i), 10));
num = (num * 2);
if (num < 10)
nSoma = (nSoma + num);
else {
nSoma = (num % 10) + 1 + nSoma;
}
}
for (var x = 0; x < NumeroCaracteres; (x = x + 2)) {
nSoma = (nSoma + parseInt(bloco.charAt(x), 10));
}
}
resultado = (10 - ((parseInt(nSoma, 10) % 10)));
if (resultado == 10) {
resultado = 0;
}
if (resultado == digito) {
return true;
} else {
return false;
}
}
/****************************************************************************/
function confirmaValidacaoBoleto(){
document.getElementById("p_nr_cod_barras").value=document.getElementById("spanMSGCodigoBarras").innerHTML;
}
/****************************************************************************/
function validarModuloOnzeBoleto(linhadigitavel) {
var barra = linhadigitavel;
var i;
for (i = 0; i < barra.length; i++)
{
barra = barra.replace(" ", "");
barra = barra.replace(".", "");
barra = barra.replace("-", "");
}
var j = 0;
var i = 0;
var r = 0;
var nDigitoVerificadorGeral = barra.substring(32, 33);
var strIPTE1 = barra.substring(0, 5);
var strIPTE2 = barra.substring(5, 10);
var strIPTE3 = barra.substring(10, 15);
var strIPTE4 = barra.substring(15, 21);
var strIPTE5 = barra.substring(21, 26);
var strIPTE6 = barra.substring(26, 32);
var strIPTE8 = barra.substring(33, 47);
var strCdBarra = "";
var nSoma = 0;
strIPTETemp1 = strIPTE1.substring(0, 4);
strIPTETemp2 = strIPTE2.substring(0, 4);
strIPTETemp3 = strIPTE3 + strIPTE4.substring(0, 5);
strIPTETemp4 = strIPTE5 + strIPTE6.substring(0, 5);
strIPTETemp5 = strIPTE8 + strIPTE1.substring(4, 5);
strCdBarra = strIPTETemp1 + strIPTETemp5 + strIPTETemp2 + strIPTETemp3 + strIPTETemp4;
j = 2;
for (i = strCdBarra.length - 1; i > -1; (i--)) {
nSoma = nSoma + (parseInt(strCdBarra.charAt(i)) * j);
if (++j == 10)
j = 2;
}
r = (nSoma % 11);
if (r <= 1)
nDigitoCalculado = 1;
else
nDigitoCalculado = (11 - r);
if (nDigitoVerificadorGeral != nDigitoCalculado)
{
if (Trim(strIPTE8) == "") {
if(nDigitoVerificadorGeral != "0")
return true;
else
return false;
}
else
return false;
}
else
return true;
}
</script>
</html>
<html>
<head>
<title>Validar um Código de Barras</title>
</head>
<body>
<form name="frmTeste" action="" method="post" onsubmit="return retornaTexto()">
<table id="tbl_parcelas"" name="tbl_parcelas"" width="100%" class="TelaNew">
<td align="left">
<input id="p_nr_cod_barras" type="text" name="p_nr_cod_barras" value="" size="55" maxlength="54" class="Textbox" style="width:367px;" onClick="mascaraCodigoBoleto(this, this.value);" onkeypress="return event.keyCode != 13;" onkeyup="mascaraCodigoBoleto(this, this.value);">
</td>
<tr>
<td height="30" id="spanMSGCodigoBarras" align="center" colspan="5"></td>
</tr>
</table>
</form>
</body>
<script type="text/javascript" src="/jscripts/prototype.js"></script>
<script type="text/javascript">
/****************************************************************************/
function mascaraCodigoBoleto(campo, valor){
//alert("Entrou");
//if(document.getElementById("p_nr_cod_barras:ckbLeitorOptico").checked == 0) {
converteBoletoMascara(campo);
validarBlocos(valor);
//confirmaValidacaoBoleto();
//}
//else{
// validarBoletoLido(valor);
//}
}
/****************************************************************************/
function converteBoletoMascara(campo, valor){
var valorConvertido = "";
if(valor != null && valor != "") {
valorConvertido = valor;
}
else if (campo != null) {
valorConvertido = campo.value;
}
valorConvertido=valorConvertido.replace(/\D/g,"");
valorConvertido=valorConvertido.replace(/^(\d{5})(\d)/,"$1.$2");
valorConvertido=valorConvertido.replace(/^(\d{5})\.(\d{5})(\d)/,"$1.$2 $3");
valorConvertido=valorConvertido.replace(/^(\d{5})\.(\d{5})\ (\d{5})(\d)/,"$1.$2 $3.$4");
valorConvertido=valorConvertido.replace(/^(\d{5})\.(\d{5})\ (\d{5})\.(\d{6})(\d)/,"$1.$2 $3.$4 $5");
valorConvertido=valorConvertido.replace(/^(\d{5})\.(\d{5})\ (\d{5})\.(\d{6})\ (\d{5})(\d)/,"$1.$2 $3.$4 $5.$6");
valorConvertido=valorConvertido.replace(/^(\d{5})\.(\d{5})\ (\d{5})\.(\d{6})\ (\d{5})\.(\d{6})(\d)/,"$1.$2 $3.$4 $5.$6 $7");
valorConvertido=valorConvertido.replace(/^(\d{5})\.(\d{5})\ (\d{5})\.(\d{6})\ (\d{5})\.(\d{6})\ (\d{1})(\d)/,"$1.$2 $3.$4 $5.$6 $7 $8");
if(valor != null && valor != "" && valorConvertido != null && valorConvertido != "undefined") {
return valorConvertido;
}
else if (campo != null && valorConvertido != null && valorConvertido != "undefined") {
campo.value = valorConvertido;
}
}
/****************************************************************************/
function validarBlocos(campo){
if(campo.length >= 11){
if (!ValidarBlocoBoleto(campo.substring(0, 11))){
document.getElementById("spanMSGCodigoBarras").innerHTML = "Confira a digitação do 1º campo";
return;
}
else{
document.getElementById("spanMSGCodigoBarras").innerHTML = "";
}
}
if(campo.length >= 24){
if (!ValidarBlocoBoleto(campo.substring(12, 24))){
document.getElementById("spanMSGCodigoBarras").innerHTML = "Confira a digitação do 2º campo";
return;
}
else {
document.getElementById("spanMSGCodigoBarras").innerHTML = "";
}
}
if(campo.length >= 37){
if (!ValidarBlocoBoleto(campo.substring(25, 37))){
document.getElementById("spanMSGCodigoBarras").innerHTML = "Confira a digitação 3º campo";
return;
}
else{
document.getElementById("spanMSGCodigoBarras").innerHTML = "";
}
}
if(campo.length == 43){
if (campo.substring(40, 43)=="000"){
campo=campo+"00000000000";
document.getElementById("p_nr_cod_barras").value=campo;
}
}
if(campo.length == 54) {
if(!validarModuloOnzeBoleto(campo.replace(/\D/g,""))) {
document.getElementById("spanMSGCodigoBarras").innerHTML = "Código de barras inválido";
}
}
}
/****************************************************************************/
function ValidarBlocoBoleto(bloco) {
if (validarModuloDezBoleto(bloco.replace(/\D/g,"")) == false)
return false;
else
return true;
}
/****************************************************************************/
function validarModuloDezBoleto(bloco) {
var NumeroCaracteres;
var digito = 0;
var num = 0;
var nSoma = 0;
var resultado = 0;
// var strIPTE = parseInt(bloco, 10);
NumeroCaracteres = parseInt((bloco.length - 1), 10);
digito = parseInt(bloco.charAt(bloco.length - 1), 10);
if (NumeroCaracteres % 2) {
for (var i = 0; i < NumeroCaracteres; (i = i + 2)) {
num = (parseInt(bloco.charAt(i), 10));
num = (num * 2);
if (num < 10) {
nSoma = nSoma + num;
} else {
nSoma = (num % 10) + 1 + nSoma;
}
}
for (var x = 1; x < NumeroCaracteres; (x = x + 2)) {
nSoma = (nSoma + parseInt(bloco.charAt(x), 10));
}
} else {
for (var i = 1; i < NumeroCaracteres; (i = i + 2)) {
num = (parseInt(bloco.charAt(i), 10));
num = (num * 2);
if (num < 10)
nSoma = (nSoma + num);
else {
nSoma = (num % 10) + 1 + nSoma;
}
}
for (var x = 0; x < NumeroCaracteres; (x = x + 2)) {
nSoma = (nSoma + parseInt(bloco.charAt(x), 10));
}
}
resultado = (10 - ((parseInt(nSoma, 10) % 10)));
if (resultado == 10) {
resultado = 0;
}
if (resultado == digito) {
return true;
} else {
return false;
}
}
/****************************************************************************/
function confirmaValidacaoBoleto(){
document.getElementById("p_nr_cod_barras").value=document.getElementById("spanMSGCodigoBarras").innerHTML;
}
/****************************************************************************/
function validarModuloOnzeBoleto(linhadigitavel) {
var barra = linhadigitavel;
var i;
for (i = 0; i < barra.length; i++)
{
barra = barra.replace(" ", "");
barra = barra.replace(".", "");
barra = barra.replace("-", "");
}
var j = 0;
var i = 0;
var r = 0;
var nDigitoVerificadorGeral = barra.substring(32, 33);
var strIPTE1 = barra.substring(0, 5);
var strIPTE2 = barra.substring(5, 10);
var strIPTE3 = barra.substring(10, 15);
var strIPTE4 = barra.substring(15, 21);
var strIPTE5 = barra.substring(21, 26);
var strIPTE6 = barra.substring(26, 32);
var strIPTE8 = barra.substring(33, 47);
var strCdBarra = "";
var nSoma = 0;
strIPTETemp1 = strIPTE1.substring(0, 4);
strIPTETemp2 = strIPTE2.substring(0, 4);
strIPTETemp3 = strIPTE3 + strIPTE4.substring(0, 5);
strIPTETemp4 = strIPTE5 + strIPTE6.substring(0, 5);
strIPTETemp5 = strIPTE8 + strIPTE1.substring(4, 5);
strCdBarra = strIPTETemp1 + strIPTETemp5 + strIPTETemp2 + strIPTETemp3 + strIPTETemp4;
j = 2;
for (i = strCdBarra.length - 1; i > -1; (i--)) {
nSoma = nSoma + (parseInt(strCdBarra.charAt(i)) * j);
if (++j == 10)
j = 2;
}
r = (nSoma % 11);
if (r <= 1)
nDigitoCalculado = 1;
else
nDigitoCalculado = (11 - r);
if (nDigitoVerificadorGeral != nDigitoCalculado)
{
if (Trim(strIPTE8) == "") {
if(nDigitoVerificadorGeral != "0")
return true;
else
return false;
}
else
return false;
}
else
return true;
}
</script>
</html>
Assinar:
Postagens (Atom)