Solicitud de especificación de la lógica de decisión.


Importar Archivos de Conciliación

Para ejecutar el proceso de conciliación, la aplicación necesita nutrirse de datos. Estos datos se importan a través de archivos o por procesos automáticos. El proceso de import automático está parametrizado que se ejecute todos los días a las 04:00am. Por recomendación de nuestro DBA, para no cargar las BBDD durante los procesos de la diaria. Desde la Aplicación, el usuario puede ejecutar los imports manualmente también.


Una vez cargado todos esos archivos, el usuario puede seguir con el proceso de conciliación.



Proceso de Conciliación


El proceso de Conciliación está dividido en 12 Procesos y cada uno de estos procesos contienen otros subprocesos. A continuación se describirán los procesos ejecutados.

1- Manejo de Reversos:

      En este subproceso, se recorren todas las transacciones del sicoop donde el idSesion contenga el string "REVERSA". Dependiendo si el estado de la transacción en el Sicoop es 'ACEP', entonces marca el ESTADO_CONCI = 'REVERSA_ACEP' cualquier estado distinto, marca como 'REVERSA_RECH'.

      Este proceso lo que permite es no controlar 2 veces la misma transacción de reverso, puesto que se controlan en procesos posteriores, cuando se concilia la transacción original.

2-  Proceso de Conciliación Sicoop - Ceibo.

      2.1- Entran las transacciones del Sicoop que cumplen estos requisitos:

     En este subproceso, se recorren todas las transacciones del Sicoop que cumplan los requisitos mencionados anteriormente y se divide la búsqueda entre transacciones con estado 'ACEP' en el Sicoop y estados distintos a 'ACEP'.

        Transacciones Aceptadas en el Sicoop:

             Para cada transacción, se divide la búsqueda por los datos del origen y destino de la transacción.

Para el origen:

       Busca entre las transacciones importadas de Ceibo cruzando el idTxOriginante por el nroBoleta siempre y cuando el tipo de movimiento en ceibo sea 'DB'.

  • Si encuentra, marca como &ExisteOrigen = true
    • Revisa la columna RESULTADO y DESC_RECHAZO que deben estar 'A' y 'Transacción OK' en ceibo
      • Si está con el estado que corresponde:
        • Revisa si el estado en Ceibo es 'Cuponado':
          • Si está cuponado, entonces &CuponadoOrigen = true, &EstadoOrigen = 'TRX VALIDA ORIGEN - Estado ACEP en el Sicoop, y Existe en Ceibo, estado valido y Cuponado.'
          • Si no está cuponado, entonces &CuponadoOrigen = false, &EstadoOrigen = 'TRX NO VALIDA ORIGEN - Estado ACEP en el Sicoop, y Existe en Ceibo, estado valido pero no cuponado.'
      • Si no está con el estado que corresponde, &ExisteOrigen = false, &CuponadoOrigen = false, &EstadoOrigen = 'TRX NO VALIDA ORIGEN - Estado ACEP en el Sicoop, y Existe en Ceibo pero con estado no valido.'
  • Si no encuentra queda &ExisteOrigen = false, &EstadoOrigen = 'TRX NO VALIDA ORIGEN - Estado ACEP en el Sicoop, y NO Existe en Ceibo'

       Si el participante destino es alguno de estos participantes: (4003, 4004, 4005, 4006). Vuelve a validar la transacción con los datos de Bepsa, por lo tanto. Busca en la tabla del MDW (LOG_TRANSACCION) cruzando la columna ID_OPERACION_ORIGINANTE = idTxOriginante del Sicoop, recuperando el ID_OPERACION_PARTICIPANTE. y vuelve a hacer el mismo control anterior donde cruza contra el nroBoleta.

  • Si encuentra, marca como &ExisteOrigen = true
    • Revisa la columna RESULTADO y DESC_RECHAZO que deben estar 'A' y 'Transacción OK' en ceibo
      • Si está con el estado que corresponde:
        • Revisa si el estado en Ceibo es 'Cuponado':
          • Si está cuponado, entonces &CuponadoOrigen = true, &EstadoOrigen = 'TRX VALIDA ORIGEN - Estado ACEP en el Sicoop, y Existe en Ceibo, estado valido y Cuponado (con el Id de Bepsa).'
          • Si no está cuponado, entonces &CuponadoOrigen = false, &EstadoOrigen = 'TRX NO VALIDA ORIGEN - Estado ACEP en el Sicoop, y Existe en Ceibo, estado valido pero no cuponado (con el Id de Bepsa).'
      • Si no está con el estado que corresponde, &ExisteOrigen = false, &CuponadoOrigen = false, &EstadoOrigen = 'TRX NO VALIDA ORIGEN - Estado ACEP en el Sicoop, y Existe en Ceibo pero con estado no valido (con el Id de Bepsa).'
  • Si no encuentra queda &ExisteOrigen = false, &EstadoOrigen = 'TRX NO VALIDA ORIGEN - Estado ACEP en el Sicoop, y NO Existe en Ceibo (con el Id de Bepsa).'


Para el destino:

       Controla que el tipo de Operación no sea una Compra o Adelanto de efectivo (TipoTrx= 'COMP', 'AVAN')

  • Si no es, entonces busca entre las transacciones importadas de ceibo cruzando el idTxDestinatario por el nroBoleta y teniendo en cuenta que el tipo de movimiento en ceibo sea 'CR' y la Glosa sea 'PAGO'.
    • Si encuentra, marca como &ExisteDestino = true
      • Revisa la columna RESULTADO y DESC_RECHAZO que deben estar 'A' y 'Transacción OK' en ceibo
        • Si está con el estado que corresponde:
          • Revisa si el estado en Ceibo es 'Cuponado':
            • Si está cuponado, entonces &CuponadoDestino = true, &EstadoDestino = 'TRX VALIDA DESTINO - Estado Aceptado en el Sicoop, existe en Ceibo, tiene un estado valido y está Cuponado'
            • Si no está cuponado, entonces &CuponadoDestino = false, &EstadoDestino = 'TRX NO VALIDA DESTINO - Estado Aceptado en el Sicoop, existe en Ceibo, tiene un estado valido y NO está Cuponado'
        • Si no está con el estado que corresponde, &ExisteDestino= true, &CuponadoDestino = false, &EstadoDestino = 'TRX NO VALIDA DESTINO - Estado Aceptado en el Sicoop, existe en Ceibo pero con estado no valido'
    • Si no encuentra queda &ExisteDestino= false, &EstadoDestino = 'TRX NO VALIDA DESTINO - Estado ACEP en el Sicoop, y NO Existe en Ceibo'
    • Si el resultado de la primera búsqueda es &CuponadoDestino = false entonces busca entre las transacciones de Ceibo importadas como Pagos. Cruzando el idTxDestinatario por NroTicket teniendo en cuenta el tipo Operacion = 'CR'
      • Si existe, entonces &ExisteDestino = true
        • Revisa el estado del cupón. Si está cuponado entonces &CuponadoDestino = true, &EstadoDestino = 'TRX VALIDA DESTINO - Estado Aceptado en el Sicoop, y Existe en Ceibo Pagos y está Cuponado'
        • Si no está cuponado &CuponadoDestino = false, &EstadoDestino = 'TRX NO VALIDA DESTINO - Estado Aceptado en el Sicoop, y Existe en Ceibo Pagos y no está Cuponado'
      • Si no existe, entonces &ExisteDestino = false, 'TRX NO VALIDA DESTINO - Estado Aceptado en el Sicoop, y No Existe en Ceibo Pagos'
  • Si el tipo de Operación es una compra o Adelanto, entonces primeramente busca entre las transacciones importadas de ceibo cruzando el idTxDestinatario por el nroBoleta y teniendo en cuenta que el tipo de movimiento en ceibo sea 'CR' y la Glosa sea 'COMPRA'.
    • Si encuentra, marca como &ExisteDestino = true
      • Revisa la columna RESULTADO y DESC_RECHAZO que deben estar 'A' y 'Transacción OK' en ceibo
        • Si está con el estado que corresponde:
          • Revisa si el estado en Ceibo es 'Cuponado':
            • Si está cuponado, entonces &CuponadoDestino = true, &EstadoDestino = 'TRX VALIDA DESTINO - Estado Aceptado en el Sicoop, existe en Ceibo, tiene un estado valido y está procesado la compra'
            • Si no está cuponado, entonces &CuponadoDestino = false, &EstadoDestino = 'TRX NO VALIDA DESTINO - Estado Aceptado en el Sicoop, existe en Ceibo, tiene un estado valido y NO está procesado la compra'
        • Si no está con el estado que corresponde, &ExisteDestino= true, &CuponadoDestino = false, &EstadoDestino = 'TRX NO VALIDA DESTINO - Estado Aceptado en el Sicoop, existe en Ceibo pero con estado no valido'
    • Si no encuentra queda &ExisteDestino= false, &CuponadoDestino = false, &EstadoDestino = 'TRX NO VALIDA DESTINO - Estado Aceptado en el Sicoop, y no existe en Ceibo''
    • Si el participante destino de la transacción es uno de estos participantes (4003, 4004, 4005, 4006). Vuelve a validar la transacción con los datos de Bepsa, por lo tanto. Busca en la tabla del MDW (LOG_TRANSACCION) cruzando la columna ID_OPERACION_ORIGINANTE = idTxDestinatario del Sicoop, recuperando el ID_OPERACION_PARTICIPANTE. y vuelve a hacer el mismo control anterior donde cruza contra el nroBoleta y teniendo en cuenta que el tipo de movimiento en ceibo sea 'CR' y la Glosa sea 'COMPRA'.
      • Si encuentra, marca como &ExisteDestino = true
        • Revisa la columna RESULTADO y DESC_RECHAZO que deben estar 'A' y 'Transacción OK' en ceibo
          • Si está con el estado que corresponde:
            • Revisa si el estado en Ceibo es 'Cuponado':
              • Si está cuponado, entonces &CuponadoDestino = true, &EstadoDestino = 'TRX VALIDA DESTINO - Estado Aceptado en el Sicoop, existe en Ceibo, tiene un estado valido y está Cuponado (con el Id de Bepsa).'
              • Si no está cuponado, entonces &CuponadoDestino = false, &EstadoDestino = 'TRX NO VALIDA DESTINO - Estado Aceptado en el Sicoop, existe en Ceibo, tiene un estado valido y NO está Cuponado (con el Id de Bepsa).'
          • Si no está con el estado que corresponde, &ExisteDestino= true, &CuponadoDestino = false, &EstadoDestino = 'TRX NO VALIDA DESTINO - Estado Aceptado en el Sicoop, existe en Ceibo pero con estado no valido (con el Id de Bepsa).'
      • Si no encuentra queda &ExisteDestino= false, &CuponadoDestino = false, &EstadoDestino = "TRX NO VALIDA DESTINO - Estado Aceptado en el Sicoop, no existe en Ceibo (con el Id de Bepsa)"