SET TERM ^;

ALTER PROCEDURE "UPDATE_OPERACJA23_IDENTZLECENIA" 
(
  IDOPERACJA23 INTEGER,
  R_IDENTYFIKATORZLECENIA VARCHAR(100) CHARACTER SET WIN1250
)
AS
DECLARE VARIABLE P_DATAOD TIMESTAMP;
BEGIN
      IF (CHAR_LENGTH(:R_IDENTYFIKATORZLECENIA) > 0) THEN
      BEGIN
        SELECT P_DATAOD FROM OPERACJA23 WHERE IDOPERACJA23=:IDOPERACJA23 INTO :P_DATAOD; 
        /*24 miesiace od pierwszego dnia biezacego miesiaca*/
        IF (:P_DATAOD >= DATEADD(-24 MONTH TO CAST(EXTRACT(YEAR FROM CURRENT_DATE)||'-'||EXTRACT(MONTH FROM CURRENT_DATE)||'-01' AS DATE))) THEN
        BEGIN
           UPDATE OPERACJA23 SET R_IDENTYFIKATORZLECENIA=:R_IDENTYFIKATORZLECENIA,AUTO_ODP=CURRENT_TIMESTAMP + (5.00000000/1440) WHERE IDOPERACJA23=:IDOPERACJA23;  
        END
        ELSE
        BEGIN
           UPDATE OPERACJA23 SET R_IDENTYFIKATORZLECENIA=:R_IDENTYFIKATORZLECENIA,AUTO_ODP=CURRENT_TIMESTAMP + 1 + (60.00000000/1440) WHERE IDOPERACJA23=:IDOPERACJA23;  
        END		
      END
      ELSE
      BEGIN   
        UPDATE OPERACJA23 SET R_IDENTYFIKATORZLECENIA=:R_IDENTYFIKATORZLECENIA WHERE IDOPERACJA23=:IDOPERACJA23;
      END
      EXIT;
   END^

COMMIT WORK^

ALTER PROCEDURE "UPDATE_OPERACJA37_IDENTZLECENIA" 
(
  IDOPERACJA37 INTEGER,
  R_IDENTYFIKATORZLECENIA VARCHAR(100) CHARACTER SET WIN1250
)
AS
DECLARE VARIABLE P_DATAOD TIMESTAMP;
BEGIN
      IF (CHAR_LENGTH(:R_IDENTYFIKATORZLECENIA) > 0) THEN
      BEGIN
        SELECT P_DATAWERYFIKACJI FROM OPERACJA37 WHERE IDOPERACJA37=:IDOPERACJA37 INTO :P_DATAOD;
        /*24 miesiace od pierwszego dnia biezacego miesiaca*/
        IF (:P_DATAOD >= DATEADD(-24 MONTH TO CAST(EXTRACT(YEAR FROM CURRENT_DATE)||'-'||EXTRACT(MONTH FROM CURRENT_DATE)||'-01' AS DATE))) THEN
        BEGIN
           UPDATE OPERACJA37 SET R_IDENTYFIKATORZLECENIA=:R_IDENTYFIKATORZLECENIA,AUTO_ODP=CURRENT_TIMESTAMP + (5.00000000/1440) WHERE IDOPERACJA37=:IDOPERACJA37;  
        END
        ELSE
        BEGIN
           UPDATE OPERACJA37 SET R_IDENTYFIKATORZLECENIA=:R_IDENTYFIKATORZLECENIA,AUTO_ODP=CURRENT_TIMESTAMP + 1 + (60.00000000/1440) WHERE IDOPERACJA37=:IDOPERACJA37;  
        END
      END
      ELSE
      BEGIN   
        UPDATE OPERACJA37 SET R_IDENTYFIKATORZLECENIA=:R_IDENTYFIKATORZLECENIA WHERE IDOPERACJA37=:IDOPERACJA37;
      END
      EXIT;
   END^

COMMIT WORK^

ALTER PROCEDURE "UPDATE_OPERACJA39_IDENTZLECENIA" 
(
  IDOPERACJA39 INTEGER,
  R_IDENTYFIKATORZLECENIA VARCHAR(100) CHARACTER SET WIN1250
)
AS
DECLARE VARIABLE P_DATAOD TIMESTAMP;
BEGIN
      IF (CHAR_LENGTH(:R_IDENTYFIKATORZLECENIA) > 0) THEN
      BEGIN
        SELECT P_DATAOD FROM OPERACJA39 WHERE IDOPERACJA39=:IDOPERACJA39 INTO :P_DATAOD;
        /*24 miesiace od pierwszego dnia biezacego miesiaca*/
        IF (:P_DATAOD >= DATEADD(-24 MONTH TO CAST(EXTRACT(YEAR FROM CURRENT_DATE)||'-'||EXTRACT(MONTH FROM CURRENT_DATE)||'-01' AS DATE))) THEN
        BEGIN
           UPDATE OPERACJA39 SET R_IDENTYFIKATORZLECENIA=:R_IDENTYFIKATORZLECENIA,AUTO_ODP=CURRENT_TIMESTAMP + (5.00000000/1440) WHERE IDOPERACJA39=:IDOPERACJA39;  
        END
        ELSE
        BEGIN
           UPDATE OPERACJA39 SET R_IDENTYFIKATORZLECENIA=:R_IDENTYFIKATORZLECENIA,AUTO_ODP=CURRENT_TIMESTAMP + 1 + (60.00000000/1440) WHERE IDOPERACJA39=:IDOPERACJA39;  
        END
      END
      ELSE
      BEGIN
        UPDATE OPERACJA39 SET R_IDENTYFIKATORZLECENIA=:R_IDENTYFIKATORZLECENIA WHERE IDOPERACJA39=:IDOPERACJA39;
      END
      EXIT;
   END^

COMMIT WORK^

SET TERM ;^