ayuda con el proyecto de alarma

hello, I am making a house alarm, you know the typical ones with an LCD, a keyboard, I added the rtc module to show the time on the screen after a certain time of inactivity, I have no problem, the problem is that I want that the user can set the time as we do on cell phones.
after trying a bit I got this:

#include <LiquidCrystal_I2C.h> 
#include<Wire.h>
#include <Keypad.h>
#include <RTClib.h>

const byte FILAS = 4;     // define numero de filas
const byte COLUMNAS = 4;    // define numero de columnas
char keys[FILAS][COLUMNAS] = {    // define la distribucion de teclas
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

byte pinesFilas[FILAS] = {5,4,3,2};   
byte pinesColumnas[COLUMNAS] = {9,8,7,6};

Keypad teclado = Keypad(makeKeymap(keys), pinesFilas, pinesColumnas, FILAS, COLUMNAS);   
RTC_DS3231 rtc; 
LiquidCrystal_I2C lcd(0x3f,16,2);

int POSICION_COLUMNA = 6;
int POSICION_FILA = 0;
int CONTINUIDAD = 0;
char TECLA;
char ATRAS = '*';
char UP = 'A';
char DOWN = 'B';
char ENTER = '#';

int YEAR;
int MONT;
int DAY;
int HOUR;
int MINUT;
int SRCOND;


void setup() {
  lcd.init();
  lcd.backlight();
  lcd.begin(16, 2);
  if (! rtc.begin()) {
    Serial.println("Modulo RTC no encontrado !");
 }    
 rtc.adjust(DateTime(__DATE__, __TIME__));
}

 
void loop() {
  
  DateTime fecha = rtc.now(); 
  lcd.cursor();
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("fecha 30/09/2020");           
  lcd.setCursor(0,1);
  lcd.print("hora 20:00:00");
  lcd.setCursor(POSICION_COLUMNA,POSICION_FILA);
  while (true){
  
     if (CONTINUIDAD == 0){
      TECLA = teclado.getKey(); 
    }
    
    if (TECLA){
      if (TECLA == DOWN){
        if (POSICION_FILA == 0){
          if (POSICION_COLUMNA == 6){
            CONTINUIDAD = 0;
          }
          else if (POSICION_COLUMNA == 9){
            POSICION_COLUMNA--;
            POSICION_COLUMNA--;
            lcd.setCursor(POSICION_COLUMNA,POSICION_FILA);
            CONTINUIDAD = 0;
          }
          else if (POSICION_COLUMNA == 11){
            POSICION_COLUMNA--;
            POSICION_COLUMNA--;
            lcd.setCursor(POSICION_COLUMNA,POSICION_FILA);
            CONTINUIDAD = 0;
          }
          else{
          POSICION_COLUMNA --;
          lcd.setCursor(POSICION_COLUMNA,POSICION_FILA);
          CONTINUIDAD = 0;
          }
        }
        else{
          if (POSICION_COLUMNA == 5){
            POSICION_FILA = 0;
            POSICION_COLUMNA = 14;
            lcd.setCursor(POSICION_COLUMNA,POSICION_FILA);
            CONTINUIDAD = 0;
          }
          else if (POSICION_COLUMNA == 8){
            POSICION_COLUMNA--;
            POSICION_COLUMNA--;
            lcd.setCursor(POSICION_COLUMNA,POSICION_FILA);
            CONTINUIDAD = 0;
          }
          else if (POSICION_COLUMNA == 11){
            POSICION_COLUMNA--;
            POSICION_COLUMNA--;
            lcd.setCursor(POSICION_COLUMNA,POSICION_FILA);
            CONTINUIDAD = 0;
          }
          else{
            POSICION_COLUMNA --;             
            lcd.setCursor(POSICION_COLUMNA,POSICION_FILA);
            CONTINUIDAD = 0;
          }
        }
      }
      
      else if (TECLA == UP){
                  
        if (POSICION_FILA == 0){
          if (POSICION_COLUMNA == 7){
            POSICION_COLUMNA++;
            POSICION_COLUMNA++;
            lcd.setCursor(POSICION_COLUMNA,POSICION_FILA);
            CONTINUIDAD = 0;
          }
          else if (POSICION_COLUMNA == 9){
            POSICION_COLUMNA++;
            POSICION_COLUMNA++;
            lcd.setCursor(POSICION_COLUMNA,POSICION_FILA);
            CONTINUIDAD = 0;
          }
          else if (POSICION_COLUMNA == 14){
            POSICION_FILA = 1;
            POSICION_COLUMNA = 5;
            lcd.setCursor(POSICION_COLUMNA,POSICION_FILA);
            CONTINUIDAD = 0;
          }
          else{
              POSICION_COLUMNA ++;
              lcd.setCursor(POSICION_COLUMNA,POSICION_FILA);
              CONTINUIDAD = 0;
            }
        }
        else{
          if (POSICION_COLUMNA == 6){
            POSICION_COLUMNA++;
            POSICION_COLUMNA++;
            lcd.setCursor(POSICION_COLUMNA,POSICION_FILA);
            CONTINUIDAD = 0;
          }
          else if (POSICION_COLUMNA == 9){
            POSICION_COLUMNA++;
            POSICION_COLUMNA++;
            lcd.setCursor(POSICION_COLUMNA,POSICION_FILA);
            CONTINUIDAD = 0;
          }
          else if (POSICION_COLUMNA == 12){
            CONTINUIDAD = 0;
          }
          else{
            POSICION_COLUMNA ++;
            lcd.setCursor(POSICION_COLUMNA,POSICION_FILA);             
            CONTINUIDAD = 0;
          }
        }
      }
      
      else{
        lcd.print(TECLA);
        POSICION_COLUMNA++;
        lcd.setCursor(POSICION_COLUMNA,POSICION_FILA);
        CONTINUIDAD = 0;
        
        if (POSICION_FILA == 0){
          if (POSICION_COLUMNA == 8){
            POSICION_COLUMNA++;
            lcd.setCursor(POSICION_COLUMNA,POSICION_FILA);
            CONTINUIDAD = 0;
          }
          else if (POSICION_COLUMNA == 10){
            POSICION_COLUMNA++;
            lcd.setCursor(POSICION_COLUMNA,POSICION_FILA);
            CONTINUIDAD = 0;
          }
          else if (POSICION_COLUMNA == 15){
            POSICION_FILA = 1;
            POSICION_COLUMNA = 5;
            lcd.setCursor(POSICION_COLUMNA,POSICION_FILA);
            CONTINUIDAD = 0;
          }
        }
        else{
          if (POSICION_COLUMNA == 7){
            POSICION_COLUMNA++;
            lcd.setCursor(POSICION_COLUMNA,POSICION_FILA);
            CONTINUIDAD = 0;
          }
          else if (POSICION_COLUMNA == 10){
            POSICION_COLUMNA++;
            lcd.setCursor(POSICION_COLUMNA,POSICION_FILA);
            CONTINUIDAD = 0;
          }
          else if (POSICION_COLUMNA == 12){
            lcd.clear();
            lcd.print("datos guardados");
            delay(1800);
            CONTINUIDAD = 0;
            break;
          }
        }
      }
    }
    else{
      while (true ){
        TECLA = teclado.getKey();
        DateTime fecha = rtc.now();
        if (fecha.second()%2 == 0){
          lcd.noCursor();
          TECLA = teclado.getKey();

        }
        else {
          lcd.cursor();
          TECLA = teclado.getKey();
                
        }
        if (TECLA){
          lcd.cursor();
          CONTINUIDAD = 1;
          break;
        }
      }
    }
  }
}

I’m not sure if it’s the best way to do it, the way it’s done I’ve thought of using
rtc.adjust (DateTime (YEAR, MONTH, DAY, HOUR, MINUTE, SECOND));
to set the time but I don’t know how to make the variables take the value that corresponds to them, I could put a conditional for each column and row position but the code would be too long and it is already too long, please if someone has an idea of how to do it I would appreciate it very much
If someone is interested in the rest of the alarm code, I can show it if necessary.

It would be less confusing if you change the Title to English. If you modify your Original Post you can edit the Title.

...R