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.
A continuación se describe las opciones que se despliegan al usuario:
MENUCREDITO.scr
.MenuOperComercio.sh
.MenuActualizaProceso.sh
.REPORTES.scr
.USNOV.scr
.MenuImprimeComerio.sh
.MenuOperSocios.sh
.SFTP_PANAL.scr
.RESUMENES.scr
.Selec_COLA.sh
y Selec_YYYY.sh
), solicita información al usuario (como emisor y periodo), y realiza la impresión de resumenes.lpstat
), solicita al usuario el trabajo a cancelar, y cancela la impresión seleccionada.Convert_Da_Manual.sh
.Captura_MAEOPIN.sh
.MenuConciliaciones.sh
.exec PR_SCRIPT;
en Oracle.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.
MENUCREDITO.scr
Código:
#!/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 |
Código:
# 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 |
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:
#!/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 |
Código:
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 |
Código:
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 |
Código:
#!/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 |
Código:
#!/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 |
Código:
#!/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 |
Código:
#!/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 |
Código:
#!/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 |
Fecha:
Fecha modificación:
Versión: 1.0.0.0