El usuario se conecta por ssh, mediante un cliente de ssh (Putty), al servidor de producción donde están los scripts y programas cobol. Mediante el logueo, por una configuración del servidor, se ejecuta el archivo "LoginOper.sh" que es un script de shell que presenta un menú al usuario para realizar varias tareas relacionadas con la operación de cupones, cierres, pagos, autorizaciones, de comercios, la administración de impresiones, entre otros. Lo que se resume en 17 opciones presentadas al usuario.
Opciones desplegadas al usuario
A continuación se describe las opciones que se despliegan al usuario:
TARJETA DE CREDITO: Ejecuta el script MENUCREDITO.scr.
Query de Control - Comercios: Ejecuta el script MenuOperComercio.sh.
Actualizaciones para el proceso diario: Ejecuta el script MenuActualizaProceso.sh.
Reportes de la Diaria: Ejecuta el script REPORTES.scr.
Reportes de Novedades de Usuarios: Ejecuta el script USNOV.scr.
Impresion Informes de Comercios: Ejecuta el script MenuImprimeComerio.sh.
Querys de Socios: Ejecuta el script MenuOperSocios.sh.
Deposito de archivos SFTP PANAL: Ejecuta el script SFTP_PANAL.scr.
Generacion de Resumenes (Usuarios): Cambia al directorio de impresiones y ejecuta RESUMENES.scr.
Impresion de Resumenes (Usuarios): Ejecuta una serie de scripts (Selec_COLA.sh y Selec_YYYY.sh), solicita información al usuario (como emisor y periodo), y realiza la impresión de resumenes.
Cancelacion de spool de $USER: Muestra las impresiones disponibles (lpstat), solicita al usuario el trabajo a cancelar, y cancela la impresión seleccionada.
Consulta de pagina de Resumenes: Ejecuta un comando SQL para obtener y mostrar información sobre una cuenta específica.
Conversion Debitos Automaticos Manuales: Ejecuta el script Convert_Da_Manual.sh.
Captura de MAEOPIN de intercambio: Ejecuta el script Captura_MAEOPIN.sh.
Conciliacion de Operaciones Locales y Extranjeras: Ejecuta el script MenuConciliaciones.sh.
Backups: Actualmente muestra el mensaje "NO DISPONIBLE AUN".
Especiales: Ejecuta un proceso especial definido por el comando exec PR_SCRIPT; en Oracle.
Detalle de los procesos ejecutados por opciones del menú principal
TARJETA DE CRÉDITO
Archivos ejecutados:
MENUCREDITO.scr
menu.scr
menues.PARAGUAY
COVALCUP.scr
CTARLIMPIAR.scr
CTVERFTP.scr
FILTRAR_PAGO_0.scr
GENERA_AJUSTES_PC.scr
GENERA_OT_EMBOZADO.scr
GENSCRIPT.scr
PROMO_CUPONES.scr
Descripción:
La opción "TARJETA DE CREDITO" en el script LoginOper.sh se encarga de varios procesos relacionados con las operaciones de tarjetas de crédito. A continuación, se describen las subopciones y los subprocesos ejecutados por cada una.
SubOpciones y SubProcesos Ejecutados.
Menú Principal de Tarjeta de Crédito.
Script Ejecutado: MENUCREDITO.scr
Descripción: Este script maneja procesos relacionados con el módulo de Tarjeta de Crédito.
Código:
Resumen del archivo MENUCREDITO.scrExpand source
#!/bin/ksh
set +o noclobber
# Script que tiene por objeto la generacion de procesos para el módulo de Tarjeta de credito.
# Autor: H.Perez
# Fecha: Junio 6 del 2000
[ "$DEBUG" ] && set -x
SCRIPTNAME=MENUCREDITO
[ "$DIRLOGS" ] && SCRIPTLOG=$DIRLOGS/$SCRIPTNAME.log
SCRIPTLOG=${SCRIPTLOG:-$RAIZ/lib/datos/logs/$SCRIPTNAME.log}
umask '002'
echo "--> Inicia $SCRIPTNAME `date`" | tee -a $SCRIPTLOG
# Cargando profile del grupo de desarrollo
# menus.scr -f $RAIZ/lib/scripts/menues.PARAGUAY -s 'TARJETA DE CREDITO' -m ' ' -l $SCRIPTLOG
echo "--> Fin $SCRIPTNAME `date`" | tee -a $SCRIPTLOG
SubMenú y SubProcesos Ejecutados:
Archivo de Menús: 'menues.PARAGUAY'
Descripción: Define los menús y los procesos que se ejecutan para el módulo de Tarjeta de Crédito.
Código:
Resumen del archivo menues.PARAGUAYExpand source
# Menú de Tarjeta de Crédito
TARJETA DE CREDITO:Procesos Diarios: Menú de Reportes Diarios:MENU:Menú de Reportes Diarios
# Cargas Diarias
TARJETA DE CREDITO:Menú de Carga de datos: Carga de Autorizaciones:SCRIPT:GENSCRIPT.scr -s COCARAUT -p COPRG901
TARJETA DE CREDITO:Menú de Carga de datos: Carga de Debitos Automaticos:SCRIPT:GENSCRIPT.scr -s COCARGDEBAUT -p CTMENU01 -o COPRG065 ONLINE COPRG065
TARJETA DE CREDITO:Menú de Carga de datos: Carga de Pagos:SCRIPT:GENSCRIPT.scr -s CTCARPAG -p CTCMD051
TARJETA DE CREDITO:Menú de Carga de datos: Carga de Ajustes:SCRIPT:GENSCRIPT.scr -s CTCARAJU -p CTCMD061O
TARJETA DE CREDITO:Menú de Carga de datos: Carga de Novedades:SCRIPT:GENSCRIPT.scr -s CTCARNOV -p CTCMD076
TARJETA DE CREDITO:Menú de Carga de datos: Carga de Ajustes a Socios por Contracargos:SCRIPT:GENSCRIPT.scr -s COCONTRA -p CTMENU01 -o COPRG045 ONLIN COPRG045
TARJETA DE CREDITO:Menú de Carga de datos: Limpiar Datos de Carga :SCRIPT:CTCARLIMPIAR.scr
TARJETA DE CREDITO:Menú de Carga de datos: Verificar Datos Generacion VisualBasic:SCRIPT:CTVERFTP.scr
TARJETA DE CREDITO:Menú de Carga de datos: Procesar Promocion de Cupones :SCRIPT:PROMO_CUPONES.scr
TARJETA DE CREDITO:Menú de Carga de datos: Generar Orden de Embozado:SCRIPT:GENERA_OT_EMBOZADO.scr
TARJETA DE CREDITO:Menú de Carga de datos: Proceso de Ajustes Automaticos al Pago Minimo:SCRIPT:GENERA_AJUSTES_PM.scr
TARJETA DE CREDITO:Menú de Carga de datos: Proceso de Filtro de Pagos en Cero :SCRIPT:FILTRA_PAGO_0.scr
# Validaciones
TARJETA DE CREDITO:Menú de Validación: Validación de Cupones :SCRIPT:COVALCUP.scr
Subprocesos Detallados:
'GENSCRIPT.scr': Este script es una plantilla genérica para la ejecución de programas y scripts según parámetros que se le pasen.
Código:
Resumen del archivo GENSCRIPT.scrExpand source
#!/bin/ksh
# Script generico de ejecucion de programas y scripts
# Los parametros son muy simples:
# Sintaxis
# GENSCRIPT.scr -s SCRIPTNAME -p PGMNAME [-l SCRIPTLOG ]
set +o noclobber
Ayuda() {
echo "Sintaxis: GENSCRIPT.scr -s SCRIPT -p PROGRAMA [-a ARGUMENTO][ -l LOG ][-w SWITCH][ -o OTRO-PGM ][ ARGUMENTO]"
exit 1
}
[ "$DEBUG" ] && set -x
[ $# -lt 2 ] && Ayuda
while getopts "w:s:p:l:o:a:h" OPCION
do
case $OPCION in
s) SCRIPTNAME=$OPTARG;;
p) PGMNAME=$OPTARG;;
a) LINEA_ARG=$OPTARG;;
l) SCRIPTLOG=$OPTARG;;
o) OTROPGM=$OPTARG;;
w) typeset -x COBSW=$OPTARG;;
h) Ayuda;;
esac
done
shift `expr $OPTIND - 1`
if [ ! "$SCRIPTLOG" ]
then
NAME=${SCRIPTNAME:-"GENSCRIPT"}
[ "$DIRLOGS" ] && SCRIPTLOG=$DIRLOGS/$NAME.log
SCRIPTLOG=${SCRIPTLOG:-$RAIZD/logs/$NAME.log}
fi
[ ! "$SCRIPTNAME" ] && {
echo "===> ERROR. No se especifico nombre de SCRIPT" | tee -a $SCRIPTLOG
exit 1
}
[ ! "$PGMNAME" ] && {
echo "===> ERROR. No se especifico nombre de PROGRAMA" | tee -a $SCRIPTLOG
exit 2
}
[ "$OTROPGM" ] && OTROPGM="-o $OTROPGM"
[ ! "$LINEA_ARG" ] && LINEA_ARG=$@
[ "$LINEA_ARG" ] && export LINEA_ARG
echo "--> Inicia $SCRIPTNAME `date`" | tee -a $SCRIPTLOG
[ "$COBSW" ] && {
echo " SWITCH especificado --> [$COBSW] " >> $SCRIPTLOG
}
echo " GENSCRIPT: Argumento --> $LINEA_ARG" >>$SCRIPTLOG
echo " GENSCRIPT:Argumentos sobrantes: $@" >>$SCRIPTLOG
rtsora.sc -p $PGMNAME -s $SCRIPTNAME -l $SCRIPTLOG $OTROPGM
STATUS=$?
if [ $STATUS -ne 0 ]
then
echo "---> Ejecucion de programa $PGMNAME con error. Status: $STATUS" | tee -a $SCRIPTLOG
echo " Pulse [ENTER] para continuar"
read PAUSA
exit $STATUS
fi
echo "--> $SCRIPTNAME `date`" | tee -a $SCRIPTLOG
'CTARLIMPIAR.scr': Este script se encarga de limpiar y respaldar ciertos archivos en un directorio específico.
Código:
Resumen del archivo CTCARLIMPIAR.scrExpand source
NAME="CTCARLIMPIAR"
SCRIPTLOG=$DIRLOGS/${NAME}.log
DIRCARGA=$RAIZD/cargas
HORA=$(date +%y%m%d%H%M)
echo "--> Inicia CTACARLIMPIAR $(date) - $USER" | tee -a $SCRIPTLOG
cd $DIRCARGA
echo " Directorio de trabajo: `pwd`" | tee -a $SCRIPTLOG
if [ -f respaldo ]
then
mv respaldo respaldo_arch
mkdir respaldo
chmod 775 respaldo
echo " respaldo creado por unica vez." | tee -a $SCRIPTLOG
else
if [ -d respaldo ]
then
continue
else
mkdir respaldo
chmod 775 respaldo
echo " respaldo creado por unica vez." | tee -a $SCRIPTLOG
fi
fi
for ARCH_PROC in CABALCB3 pagosemin cabalcb5c maeopin.txt
do
if [ -a $ARCH_PROC ]
then
cp -p $ARCH_PROC ${DIRCARGA}/respaldo/${ARCH_PROC}_${HORA}
> $ARCH_PROC
echo " Inicializacion ok: $ARCH_PROC" | tee -a $SCRIPTLOG
fi
done
echo "--> Fin normal CTACARLIMPIAR $(date)" | tee -a $SCRIPTLOG
'CTVERFTP.scr': Este Script se encarga de verificar los datos de ciertos archivos generados antes de continuar con el proceamiento
Código:
Resumen del archivo CTVERFTP.srcExpand source
NAME="CTCARLIMPIAR"
SCRIPTLOG=$DIRLOGS/${NAME}.log
DIRCARGA=$RAIZD/cargas
HORA=$(date +%y%m%d%H%M)
echo "--> Inicia ${NAME} $(date) - $USER" | tee -a $SCRIPTLOG
cd $DIRCARGA
echo " Directorio de trabajo: `pwd`" | tee -a $SCRIPTLOG
echo
ls -lth pagosemin CABALCB3 cabalcb5c | tee -a $SCRIPTLOG
error="0"
for ARCH in pagosemin CABALCB3 cabalcb5c
do
case $ARCH in
pagosemin) PROCESO=Pagos;;
CABALCB3) PROCESO=Novedades;;
cabalcb5c) PROCESO=Ajustes;;
esac
SIZE=$(du -h $ARCH | awk '{ print $1 }')
if [ $SIZE = "0" ]
then
echo "\n *** Archivo de $PROCESO = $ARCH no tiene datos ***\n Verifique generacion antes de continuar " | tee -a $SCRIPTLOG
error="1"
else
echo
echo "Archivo de $PROCESO = $ARCH ok."
fi
done
echo
if [ $error = "1" ]
then
echo "\n**********************************************\n*** NO SE PUEDEN PROCESAR LAS CARGAS. ***\n*** AVISE A SISTEMAS ANTES DE CONTINUAR! ***\n********************************************** " | tee -a $SCRIPTLOG
else
echo "--> Fin normal CTACARLIMPIAR $(date)" | tee -a $SCRIPTLOG
fi
echo | tee -a $SCRIPTLOG
'FILTRA_PAGO_0.scr': Este script se encarga de filtrar los pagos con importe 0 desde la BBDD utilizando SQLPLUS
Código:
Resumen del archivo FILTRA_PAGO_0.scrExpand source
#!/bin/bash
# Script para ejecutar el filtro de los pagos con importe 0
# desde el sqlplus
# Amalia Rodriguez. mar sep 12 17:34:31 PYST 2017
. funciones_py.scr
SCRIPTNAME=FILTRA_PAGOS
[ "$DIRLOGS" ] && SCRIPTLOG=$DIRLOGS/$SCRIPTNAME.log
SCRIPTLOG=${SCRIPTLOG:-$RAIZ/datos/logs/$SCRIPTNAME.log}
echo "--> Inicia $SCRIPTNAME `date` - $USER " | tee -a $SCRIPTLOG
clear
echo -n "
USUARIO NO INGRESADO POR PROGRAMA
INGRESE USUARIO: $USER_BAPY
PASSWORD : "
VerPasswdOracle
if [ $PASE_OK = "0" ]
then
W_USUARIO=$USER
echo
echo Inicio del proceso - $(date)
sqlplus -S -L ${USER_BAPY}/${PASE_BAPY}@${ORACLE_SID} &> $HOME/$SCRIPTNAME.sqllog <<!
exec CEIBO_UTILES.PR_CEIBO_LOG('PAGO_IMPORTE_CERO','FILTRO_PAGOS','INICIO DE PROCESO filtro_pago_importe_cero',SYSDATE,'$USER');
exec CREDITOPY.SP_FILTRO_PAGO_IMPORTE_CERO@OLPY;
commit;
exit
!
chmod +x $HOME/ejecuta_$SCRIPTNAME.sh
$HOME/ejecuta_$SCRIPTNAME.sh | tee -a $SCRIPTLOG | cat
ret_cod=$(grep -c ORA- $HOME/$SCRIPTNAME.sqllog )
if [ $ret_cod -ne 0 ]
then
echo | tee -a $SCRIPTLOG | cat
echo "ERROR(ES) AL FILTRAR PAGOS CERO: " | tee -a $SCRIPTLOG | cat
grep ORA- $HOME/$SCRIPTNAME.sqllog | tee -a $SCRIPTLOG | cat
echo "*** AVISE A SISTEMAS ANTES DE CONTINUAR CON EL PROCESO ***" | tee -a $SCRIPTLOG | cat
date | tee -a $SCRIPTLOG | cat
else
echo "Fin filtro de pagos - $(date) - $USER " | tee -a $SCRIPTLOG | cat
fi
rm -f $HOME/ejecuta_$SCRIPTNAME.sh
fi
rm -f $HOME/$SCRIPTNAME.sqllog
echo "--> $SCRIPTNAME `date`" | tee -a $SCRIPTLOG
'GENERA_AJUSTES_PM.scr': Este escript se encarga de generar ajustes al pago mínimo desde la BBDD usando sqlplus.
Código:
Resumen del archivo 'GENERA_AJUSTES_PM.scr'Expand source
#!/bin/bash
# Script para ejecutar la generacion de ajustes al pago minimo
# desde el sqlplus
# Amalia Rodriguez. jue sep 7 17:14:19 PYST 2017
. funciones_py.scr
SCRIPTNAME=GENERA_AJUSTES_PM
[ "$DIRLOGS" ] && SCRIPTLOG=$DIRLOGS/$SCRIPTNAME.log
SCRIPTLOG=${SCRIPTLOG:-$RAIZ/datos/logs/$SCRIPTNAME.log}
echo "--> Inicia $SCRIPTNAME `date`" | tee -a $SCRIPTLOG
clear
echo -n "
USUARIO NO INGRESADO POR PROGRAMA
INGRESE USUARIO: $USER_BAPY
PASSWORD : "
VerPasswdOracle
if [ $PASE_OK = "0" ]
then
W_USUARIO=$USER
echo
echo Inicio del proceso - $(date)
sqlplus -S -L ${USER_BAPY}/${PASE_BAPY}@${ORACLE_SID} &> $HOME/$SCRIPTNAME.sqllog <<!
exec CREDITOPY.CEIBO_EMISORES.PR_PROCESAR_AAPM_II();
exec pkg_ceibo_fix.sp_fix_alta_mov_ajustes_dupli@olpy;
commit;
exit
!
chmod +x $HOME/ejecuta_$SCRIPTNAME.sh
$HOME/ejecuta_$SCRIPTNAME.sh | tee -a $SCRIPTLOG | cat
ret_cod=$(grep -c ORA- $HOME/$SCRIPTNAME.sqllog )
if [ $ret_cod -ne 0 ]
then
echo | tee -a $SCRIPTLOG | cat
echo "ERROR(ES) AL GENERAR AJUSTES AL PM: " | tee -a $SCRIPTLOG | cat
grep ORA- $HOME/$SCRIPTNAME.sqllog | tee -a $SCRIPTLOG | cat
echo "*** AVISE A SISTEMAS ANTES DE CONTINUAR CON EL PROCESO ***" | tee -a $SCRIPTLOG | cat
date | tee -a $SCRIPTLOG | cat
else
echo "Fin generacion de ajustes - $(date)" | tee -a $SCRIPTLOG | cat
fi
rm -f $HOME/ejecuta_$SCRIPTNAME.sh
fi
rm -f $HOME/$SCRIPTNAME.sqllog
echo "--> $SCRIPTNAME `date`" | tee -a $SCRIPTLOG
'GENERA_OT_EMBOZADO.scr': Este script se encarga de generar órdenes de embozado desde la BBDD usando sqlplus
Código:
Resumen del archivo GENERA_OT_EMBOZADO.scrExpand source
#!/bin/bash
# Script para ejecutar la generacion de ordenes de embozado
# desde el sqlplus
# Amalia Rodriguez. Mon Oct 29 17:27:39 PYST 2012
. funciones_py.scr
SCRIPTNAME=GENERA_OT
[ "$DIRLOGS" ] && SCRIPTLOG=$DIRLOGS/$SCRIPTNAME.log
SCRIPTLOG=${SCRIPTLOG:-$RAIZ/datos/logs/$SCRIPTNAME.log}
echo "--> Inicia $SCRIPTNAME `date` - $USER " | tee -a $SCRIPTLOG
clear
echo -n "
USUARIO NO INGRESADO POR PROGRAMA
INGRESE USUARIO: $USER_BAPY
PASSWORD : "
VerPasswdOracle
if [ $PASE_OK = "0" ]
then
W_USUARIO=$USER
echo
echo Inicio del proceso - $(date)
sqlplus -S -L ${USER_BAPY}/${PASE_BAPY}@${ORACLE_SID} &> $HOME/$SCRIPTNAME.sqllog <<!
alter session set NLS_LANGUAGE = 'SPANISH';
prompt Procesando cierre embozado...;
exec creditopy.PR_GENERA_OT(805,0,'$W_USUARIO',0);
exit
!
sqlplus -S -L ${USER_BAPY}/${PASE_BAPY}@${ORACLE_SID} <<!
set linesize 120;
set head off;
select 'Fecha: ' || a.fecha_orden || ' Procesador: ' || a.procesador || ' Nro Orden: ' || lpad(a.nro_orden,6) ||
' Cnt.Tarjetas: ' || lpad(a.cant_tarjetas,6) || ' - Generado por: ' || a.usuario
from ot_ordenes a where a.fecha_registro > trunc(sysdate) and upper(a.usuario) = upper('$W_USUARIO') order by a.nro_orden;
exit
!
chmod +x $HOME/ejecuta_$SCRIPTNAME.sh
$HOME/ejecuta_$SCRIPTNAME.sh | tee -a $SCRIPTLOG | cat
ret_cod=$(grep -c ORA- $HOME/$SCRIPTNAME.sqllog )
if [ $ret_cod -ne 0 ]
then
echo | tee -a $SCRIPTLOG | cat
echo "ERROR(ES) AL CERRAR ORDEN:" | tee -a $SCRIPTLOG | cat
grep ORA- $HOME/$SCRIPTNAME.sqllog | tee -a $SCRIPTLOG | cat
echo "*** NO SE PUEDEN EMBOZAR TARJETAS - AVISE A SISTEMAS ***" | tee -a $SCRIPTLOG | cat
date | tee -a $SCRIPTLOG | cat
else
echo "Fin proceso de generacion de orden - $(date)" | tee -a $SCRIPTLOG | cat
fi
rm -f $HOME/ejecuta_$SCRIPTNAME.sh
fi
rm -f $HOME/$SCRIPTNAME.sqllog
echo "--> $SCRIPTNAME `date`" | tee -a $SCRIPTLOG
'PROMO_CUPONES.scr': Este Script se encarga de ejecutar la promoción de cupones desde la BBDD usando sqlplus.
Código:
Resumen del archivo PROMO_CUPONES.scrExpand source
#!/bin/bash
# Script para ejecutar la promocion de cupones
# desde el sqlplus
# Amalia Rodriguez. Wed Dec 9 15:46:17 PYST 2009
. funciones_py.scr
SCRIPTNAME=PROMO_CUPONES
[ "$DIRLOGS" ] && SCRIPTLOG=$DIRLOGS/$SCRIPTNAME.log
SCRIPTLOG=${SCRIPTLOG:-$RAIZ/datos/logs/$SCRIPTNAME.log}
echo "--> Inicia $SCRIPTNAME `date`" | tee -a $SCRIPTLOG
clear
echo -n "
USUARIO NO INGRESADO POR PROGRAMA
INGRESE USUARIO: $USER_BAPY
PASSWORD : "
VerPasswdOracle
if [ $PASE_OK = "0" ]
then
W_USUARIO=$USER
echo
echo Inicio del proceso - $(date)
sqlplus -S -L ${USER_BAPY}/${PASE_BAPY}@${ORACLE_SID} &> $HOME/$SCRIPTNAME.sqllog <<!
prompt Generando promocion de cupones...;
exec creditopy.PR_PROMO_PROCESAR('$W_USUARIO',805,to_date('01/01/1900','dd/mm/yyyy'),0,0);
exit
!
sqlplus -S -L ${USER_BAPY}/${PASE_BAPY}@${ORACLE_SID} <<!
set head off;
select 'Proceso: '||nombre_proceso, 'Cnt.Cup: '||ent1 from creditopy.control_datos
where fecha_proceso = trunc(sysdate) and nombre_proceso like 'PROMO%';
exit
!
sqlplus -S -L ${USER_BAPY}/${PASE_BAPY}@${ORACLE_SID} <<!
set echo off;
prompt Aplicando cotizacion a autorizaciones...;
exec creditopy.PR_BUG_COTIZACIONES;
commit;
prompt Generando creditos por intereses con tasa 0...;
exec creditopy.PR_DEVOLVER_INTERES(null);
commit;
prompt Generando cargos por cobranza...;
exec creditopy.PROCESAR_CARGOS.PR_GENERAR_COMISION(805,0,null,'$W_USUARIO');
commit;
exit
!
chmod +x $HOME/ejecuta_$SCRIPTNAME.sh
$HOME/ejecuta_$SCRIPTNAME.sh | tee -a $SCRIPTLOG | cat
ret_cod=$(grep -c ORA- $HOME/$SCRIPTNAME.sqllog )
if [ $ret_cod -ne 0 ]
then
echo | tee -a $SCRIPTLOG | cat
echo "ERROR(ES) AL PROCESAR PROMOCION:" | tee -a $SCRIPTLOG | cat
grep ORA- $HOME/$SCRIPTNAME.sqllog | tee -a $SCRIPTLOG | cat
echo "*** NO PROCESAR LA DIARIA - AVISE A SISTEMAS ***" | tee -a $SCRIPTLOG | cat
date | tee -a $SCRIPTLOG | cat
else
echo "Fin proceso de promocion de cupones - $(date)" | tee -a $SCRIPTLOG | cat
fi
rm -f $HOME/ejecuta_$SCRIPTNAME.sh
fi
rm -f $HOME/$SCRIPTNAME.sqllog
echo "--> $SCRIPTNAME `date`" | tee -a $SCRIPTLOG
'COVALCUP.scr': Este script se encarga del proceso de validación de cupones.
Código:
Resumen del archivo COVALCUP.scrExpand source
#!/bin/ksh
set +o noclobber
# Script que tiene por objeto la validacion de cupones - prg025
# H.Perez - Junio 6 del 2000
SCRIPTNAME=COVALCUP
[ "$DIRLOGS" ] && SCRIPTLOG=$DIRLOGS/$SCRIPTNAME.log
SCRIPTLOG=${SCRIPTLOG:-$RAIZ/lib/datos/logs/$SCRIPTNAME.log}
umask '002'
echo "--> Inicia $SCRIPTNAME `date`" | tee -a $SCRIPTLOG
while getopts w:h: OPCION
do
case $OPCION in
w) COBS
W=$OPTARG;;
h) Ayuda;;
esac
done
shift `expr $OPTIND - 1`
PGMNAME=COPRG025
echo "Programado COPRG025 $COBSW" | tee -a $SCRIPTLOG
sqlplus creditopy/${PASE_BAPY}@${ORACLE_SID} <<!
prompt Ejecutando prg025....;
exec PR_CUENTAS_RECALCULO;
exit;
!
if [ $STATUS -ne 0 ]
then
echo "---> Ejecucion de programa $PGMNAME con error. Status: $STATUS" | tee -a $SCRIPTLOG
exit $STATUS
fi
echo "--> $SCRIPTNAME `date`" | tee -a $SCRIPTLOG
Query de Control - Comercios
Actualizaciones para el proceso diario
Reportes de la Diaria
Reportes de Novedades de Usuarios
Impresion Informes de Comercios
Querys de Socios
Archivos ejecutados:
MenuOperSocios.sh
ConsultaSeguridad.scr
PR_NotifCTADisponibleMayorLimite.sh
PR_Recalculo.sh
PR_Recalculo_PostFact.sh
Time_Out_Autoriz.sh
UPD_FECHAS_PAGOS.sh
Upd_TIPNOV2.sh
Venc_Tarjetas.sh
Descripción:
El menú "Querys de Socios" en el script MenuOperSocios.sh proporciona varias opciones para realizar operaciones y controles relacionados con los socios. A continuación, se describen las opciones del menú y los subprocesos ejecutados por cada una.
SubOpciones y SubProcesos Ejecutados.
Actualización de Novedades de Dirección
Script Ejecutado: Upd_TIPNOV2.sh
Descripción: Este Script ejecuta procedimientos almacenados para actualizar direcciones y límites de crédito.
Descripción: Este script controla la generación de plásticos para una fecha específica.
Código: Actualmente está comentado la ejecución de este script.
Control de Inserción de Pines Faltantes.
Script Ejecutado: Upd_Imp_Pines.sh
Descripción: Este script controla la generación de pines para una fecha específica.
Código: Actualmente está comentado la ejecución de este script.
Actualización de Pagos con Fecha Mayor Hoy
Script Ejecutado: UPD_FECHAS_PAGOS.scr
Descripción: Este script actualiza las fechas de pagos procesados que tienen una fecha mayor a la actual.
Código:
Resumen del archivo UPD_FECHAS_PAGOS.scrExpand source
#!/bin/bash
# Script para ejecutar la actualizacion de fechas de pagos procesados por archivo con fecha mayor a hoy
# desde el sqlplus
# Amalia Rodriguez. Wed Jan 2 13:51:23 PYST 2013
. funciones_py.scr
SCRIPTNAME=UPD_FECHAS_PAGOS
[ "$DIRLOGS" ] && SCRIPTLOG=$DIRLOGS/$SCRIPTNAME.log
SCRIPTLOG=${SCRIPTLOG:-$RAIZ/datos/logs/$SCRIPTNAME.log}
echo "--> Inicia $SCRIPTNAME `date` - $USER " | tee -a $SCRIPTLOG
clear
echo -n "
USUARIO NO INGRESADO POR PROGRAMA
INGRESE USUARIO: $USER_BAPY
PASSWORD : "
VerPasswdOracle
if [ $PASE_OK = "0" ]
then
W_USUARIO=$USER
echo
echo Inicio del proceso - $(date)
sqlplus -S -L ${USER_BAPY}/${PASE_BAPY}@${ORACLE_SID} &> $HOME/$SCRIPTNAME.sqllog <<!
alter session set NLS_LANGUAGE = 'SPANISH';
prompt Actualizando fecha de pagos...;
UPDATE LOG_TRANSACC_CR@OLPY A SET A.FECHA=TO_DATE(TO_CHAR(A.FECHA,'DDMM')||(TO_CHAR(SYSDATE,'YYYY') - 1),'DDMMYYYY')
WHERE A.PLAN=6 AND TRUNC(A.FECHA)>TRUNC(SYSDATE);
commit;
exit
!
chmod +x $HOME/ejecuta_$SCRIPTNAME.sh
$HOME/ejecuta_$SCRIPTNAME.sh | tee -a $SCRIPTLOG | cat
ret_cod=$(grep -c ORA- $HOME/$SCRIPTNAME.sqllog )
if [ $ret_cod -ne 0 ]
then
echo | tee -a $SCRIPTLOG | cat
echo "ERROR(ES) AL ACTUALIZAR PAGOS:" | tee -a $SCRIPTLOG | cat
grep ORA- $HOME/$SCRIPTNAME.sqllog | tee -a $SCRIPTLOG | cat
echo "*** AVISE A SISTEMAS ***" | tee -a $SCRIPTLOG | cat
date | tee -a $SCRIPTLOG | cat
else
echo "Fin proceso de actualizacion de pagos. - $(date)" | tee -a $SCRIPTLOG | cat
fi
rm -f $HOME/ejecuta_$SCRIPTNAME.sh
fi
rm -f $HOME/$SCRIPTNAME.sqllog
echo "--> $SCRIPTNAME `date`" | tee -a $SCRIPTLOG
Procesos Diarios: Vencer Autorizaciones y Recalcular Disponible
Descripción: 'Time_out_Autoriz.sh' Ejecuta el procedimiento de tiempo de espera de autorizaciones. 'PR_Recalculo.sh' Ejecuta el procedimiento de recalculo de cuentas.
Código:
Resumen del archivo Time_Out_Autoriz.shExpand source
# ejecucion del pr_time_out_autoriz
W_PID=$$
echo "Ejecucion time-out de Autorizaciones - $(date)"
echo "Ejecucion time-out de Autorizaciones - $(date)" >> $DIRLOGS/time_out_autoriz.log
echo "
sqlplus creditopy/${PASE_BAPY}@${ORACLE_SID} <<!
set time on;
prompt exec PROCESO_CUPONES.pr_time_out_autoriz;
exec PROCESO_CUPONES.pr_time_out_autoriz(lpad('$USER',8));
exit;
!" > $HOME/ejecuta.sh_$USER$W_PID
chmod -f +x $HOME/ejecuta.sh_$USER$W_PID
$HOME/ejecuta.sh_$USER$W_PID | tee -a $DIRLOGS/time_out_autoriz.log | cat
echo "time-out de Autorizaciones finalizado - $(date)"
echo "time-out de Autorizaciones finalizado - $(date)" >> $DIRLOGS/time_out_autoriz.log
rm $HOME/ejecuta.sh_$USER$W_PID
Código:
Resumen del archivo PR_Recalculo.shExpand source
# ejecucion del PR_Recalculo.sh
# Mon Aug 31 16:50:33 PYT 2015 - ARodrigu
W_PID=$$
echo "-----------------------------------------------" >> $DIRLOGS/PR_CUENTAS_RECALCULO.log
echo "Ejecucion PR_Recalculo.sh - $(date)" | tee -a $DIRLOGS/PR_CUENTAS_RECALCULO.log | cat
echo "
sqlplus creditopy/${PASE_BAPY}@${ORACLE_SID} <<!
set time on;
prompt exec PR_CUENTAS_RECALCULO;
exec PR_CUENTAS_RECALCULO(0,CEIBO_SOCIOS.CC_PROC_DISPONIBLE);
commit;
exit;
!" > $HOME/ejecuta.sh_$USER$W_PID
chmod -f +x $HOME/ejecuta.sh_$USER$W_PID
$HOME/ejecuta.sh_$USER$W_PID | tee -a $DIRLOGS/PR_CUENTAS_RECALCULO.log | cat
echo "PR_Recalculo.sh finalizado - $(date)" | tee -a $DIRLOGS/PR_CUENTAS_RECALCULO.log | cat
rm $HOME/ejecuta.sh_$USER$W_PID
Notificación de Cuentas con Disponible Mayor al Límite
Script: PR_NotifCTADisponibleMayorLimite.sh
Descripción: Este script ejecuta el procedimiento de notificación de cuentas con disponible mayor a su límite.
Código:
Resumen del archivo PR_NotifCTADisponibleMayorLimite.shExpand source
# ejecucion del pr_time_out_autoriz
W_PID=$$
echo "Ejecucion de Notificaciones de Cuentas con Disponible mayor a su Limite - $(date)"
echo "Ejecucion de Notificaciones de Cuentas con Disponible mayor a su Limite - $(date)" >> $DIRLOGS/pr_notif_cta_disponible_limite.log
echo "
sqlplus creditopy/${PASE_BAPY}@${ORACLE_SID} <<!
set time on;
prompt exec creditopy.pkg_notificaciones_proceso.sp_disponible_mayor_limite_cta;
exec creditopy.pkg_notificaciones_proceso.sp_disponible_mayor_limite_cta;
exit;
!" > $HOME/ejecuta.sh_$USER$W_PID
chmod -f +x $HOME/ejecuta.sh_$USER$W_PID
$HOME/ejecuta.sh_$USER$W_PID | tee -a $DIRLOGS/pr_notif_cta_disponible_limite.log | cat
echo "Notificaciones de Cuentas con Disponible mayor a su Limite finalizado - $(date)"
echo "Notificaciones de Cuentas con Disponible mayor a su Limite finalizado - $(date)" >> $DIRLOGS/pr_notif_cta_disponible_limite.log
rm $HOME/ejecuta.sh_$USER$W_PID
Procesos Mensuales: Vencimiento de Tarjetas
Script Ejecutado: Venc_Tarjetas.sh
Descripción: Este script ejecuta el procedimiento de vencimiento de tarjetas.
Código:
Resumen del archivo Venc_Tarjetas.shExpand source
# ejecucion del pr_venc_tarjetas
W_PID=$$
echo "Ejecucion vencimiento de tarjetas: $1 - $(date)" >> $DIRLOGS/vencimiento_tarjetas.log
echo "
sqlplus creditopy/${PASE_BAPY}@${ORACLE_SID} <<!
prompt exec pr_venc_tarjetas;
exec pr_venc_tarjetas(to_date('$1','ddmmyyyy'),lpad('$USER',8));
select 'Cant. tarjetas vencidas: '||cant||' - Fecha de ejecucion: '||l.fecha_proceso mensaje
from log_vto_tarjetas l where fecha_vto = to_date('$1','ddmmyyyy');
exit
!" > $HOME/ejecuta.sh_$USER$W_PID
chmod -f +x $HOME/ejecuta.sh_$USER$W_PID
$HOME/ejecuta.sh_$USER$W_PID | tee -a $DIRLOGS/vencimiento_tarjetas.log | cat
rm $HOME/ejecuta.sh_$USER$W_PID
echo "Vencimiento de tarjetas finalizado - $(date) " >> $DIRLOGS/vencimiento_tarjetas.log
Procesos Post-Facturación: Recalculo de Disponibles
Script Ejecutado: PR_Recalculo_PostFact.sh
Descripción: Este script ejecuta el procedimiento de recalculo de cuentas post-facturación.
Código:
Resumen del archivo PR_Recalculo_PostFact.shExpand source
# ejecucion del PR_Recalculo_PostFact.sh
# Mon Aug 31 16:50:33 PYT 2015 - ARodrigu
W_PID=$$
echo "-----------------------------------------------" >> $DIRLOGS/PR_CUENTAS_RECALCULO.log
echo "Ejecucion PR_Recalculo_PostFact.sh - $(date)" | tee -a $DIRLOGS/PR_CUENTAS_RECALCULO.log | cat
echo "
sqlplus creditopy/${PASE_BAPY}@${ORACLE_SID} <<!
set time on;
prompt exec PR_CUENTAS_RECALCULO;
exec PR_CUENTAS_RECALCULO(1,CEIBO_SOCIOS.CC_PROC_DISPONIBLE);
commit;
exit;
!" > $HOME/ejecuta.sh_$USER$W_PID
chmod -f +x $HOME/ejecuta.sh_$USER$W_PID
$HOME/ejecuta.sh_$USER$W_PID | tee -a $DIRLOGS/PR_CUENTAS_RECALCULO.log | cat
echo "PR_Recalculo_PostFact.sh finalizado - $(date)" | tee -a $DIRLOGS/PR_CUENTAS_RECALCULO.log | cat
rm $HOME/ejecuta.sh_$USER$W_PID
Consulta Seguridad:
Script Ejecutado: ConsultaSeguridad.scr
Descripción: Este script consulta el código de seguridad de una tarjeta en la BBDD, verificando primero si el usuario que ejecuta el script está autorizado.
Código:
Resumen del archivo ConsultaSeguridad.scrExpand source
#!/bin/bash
# Script para consultar codigo de seguridad
# desde el sqlplus
# Amalia Rodriguez. lun ene 13 13:06:05 PYST 2020
. funciones_py.scr
SCRIPTNAME=CONSULTA_SEG
[ "$DIRLOGS" ] && SCRIPTLOG=$DIRLOGS/$SCRIPTNAME.log
SCRIPTLOG=${SCRIPTLOG:-$RAIZ/datos/logs/$SCRIPTNAME.log}
echo "--> Inicia $SCRIPTNAME `date` - $USER " | tee -a $SCRIPTLOG
# verifico si el operador es un operador autorizado
case $USER in
mfischer|lacosta|rcenturion|jportillo|rbenegas|aestigarribia|forrego|otatton)
# se habilita la consulta
clear
echo -n "
USUARIO NO INGRESADO POR PROGRAMA
INGRESE USUARIO: $USER_BAPY
PASSWORD : "
VerPasswdOracle
if [ $PASE_OK = "0" ]
then
W_USUARIO=$USER
echo
echo -n "Ingrese Tarjeta: "
read TARJETA
echo
sqlplus -S -L ${USER_BAPY}/${PASE_BAPY}@${ORACLE_SID} <<!
set echo off;
set head off;
select F_CONSULTA_SEG(trim('$TARJETA'),'$USER') detalle from dual;
exit
!
chmod +x $HOME/ejecuta_$SCRIPTNAME.sh
$HOME/ejecuta_$SCRIPTNAME.sh
ret_cod=$(grep -c ORA- $HOME/$SCRIPTNAME.sqllog )
if [ $ret_cod -ne 0 ]
then
echo | tee -a $SCRIPTLOG | cat
echo "ERROR(ES) AL CONSULTAR: " | tee -a $SCRIPTLOG | cat
grep ORA- $HOME/$SCRIPTNAME.sqllog | tee -a $SCRIPTLOG | cat
date | tee -a $SCRIPTLOG | cat
else
echo "Fin consulta - $(date) - $USER " | tee -a $SCRIPTLOG | cat
fi
rm -f $HOME/ejecuta_$SCRIPTNAME.sh
fi
rm -f $HOME/$SCRIPTNAME.sqllog
;;
# fin de la consulta
*) echo
echo "$USER no habilitado." | tee -a $SCRIPTLOG | cat
echo
;;
esac
echo "--> $SCRIPTNAME `date`" | tee -a $SCRIPTLOG