{ ------------------------------------------------------------------ PROGRAMA : TEPRMT001 OBJETIVO : Capturar, Modificar registros de la Tabla de Comisiones. PROGRAMADOR : Luis Miguel Soto Fuertes FECHA REALIZACION : Febrero , 2026. ------------------------------------------------------------------ } GLOBALS "ccprgb000.4gl" DEFINE ctb9 RECORD id INT , comisiones DECIMAL(12,2), us_crea CHAR(50), fech_crea DATE, us_mod CHAR(50), fech_mod DATE END RECORD,adm CHAR(1) MAIN DEFER INTERRUPT CALL arg_val(1) RETURNING usuarios CALL arg_val(2) RETURNING clave CALL startlog("ccprmt017.txt") CONNECT TO "smarmotech" USER usuarios USING clave CALL ccprmt017() END MAIN {FUNCTION ccprmt017() CLEAR SCREEN OPTIONS FORM LINE 9, ERROR LINE 23, MESSAGE LINE 24, COMMENT LINE 21 OPEN FORM ccfmmt017 FROM "cprmt017" DISPLAY FORM ccfmmt017 MENU "OPCIONES" ON ACTION adicionar CLEAR FORM CALL ccad017() ON ACTION salir EXIT MENU END MENU END FUNCTION } FUNCTION ccprmt017() CLEAR SCREEN OPTIONS FORM LINE 9, ERROR LINE 23, MESSAGE LINE 24, COMMENT LINE 21 OPEN FORM ccfmmt017 FROM "ccfmmt017" DISPLAY FORM ccfmmt017 INITIALIZE ctb9.* TO NULL INPUT BY NAME ctb9.comisiones BEFORE INPUT LET adm ='N' SELECT a.id,a.comisiones,a.us_crea,a.fech_crea,a.us_mod,a.fech_mod INTO ctb9.id,ctb9.comisiones,ctb9.us_crea,ctb9.fech_crea,ctb9.us_mod,ctb9.fech_mod FROM cctb00009 a DISPLAY BY NAME ctb9.* IF ctb9.id IS NOT NULL THEN LET adm='S' END IF IF adm='N' THEN SELECT max(a.id) INTO ctb9.id FROM cctb00009 a if ctb9.id IS NULL THEN LET ctb9.id=0 END IF LET ctb9.id=ctb9.id+1 DISPLAY BY NAME ctb9.* END IF # ON ACTION guardar AFTER INPUT IF ctb9.comisiones IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD comisiones END IF BEGIN WORK DISPLAY "comision", ctb9.comisiones IF adm='S' THEN UPDATE cctb00009 SET (comisiones,us_mod,fech_mod) =(ctb9.comisiones,usuarios,getdate()) ELSE INSERT INTO cctb00009 (id,comisiones,us_crea,fech_crea) VALUES(ctb9.id,ctb9.comisiones,usuarios,getdate()) END IF IF status<0 THEN ROLLBACK WORK CALL fgl_winmessage("error","NO SE PUDO INSERTAR LA DATA LA DATA","STOP") ELSE COMMIT WORK CALL fgl_winmessage("ERROR","ACTUALIZACION EXITOSA","") END IF ON ACTION CANCEL LET int_flag = FALSE CLEAR FORM RETURN END INPUT END FUNCTION