Actualizar registros
Publicado por Andro33 (2 intervenciones) el 10/06/2008 18:46:41
El problema consiste en:
ingrese datos en un registro de una tabla. (en un programa de solicitudes), el programa debe dar la opcion de editar esos datos anteriormente ingresados, accesandolos por el numero de solicitud, efectivamente traigo los datos de esa solicitud, y los habilito de nuevo con un UPDATE, pero al momento de asignar de nuevo los nuevos valores, PROGRESS ignora el ASSIGN que hag para forzar esa actualizacion. que puedo hacer?
aca anexo el pedazo de codigo, gracias:
FIND tw_scso_mstr WHERE tw_scso_nro = wcSol AND tw_scso_enrt = NO AND tw_scso_dominio = "QAD". /*busca solicitud ingresada por usuario no enrutada*/
/*envia las variables de encabezado con valores que tenia segun en find*/
ASSIGN
wfFsol = tw_scso_fsol
wfFreq = tw_scso_freq
wcCc = tw_scso_cc
wcAl = tw_scso_al
wcDesc = tw_scso_desc.*/
/*wlEnruta = tw_scso_enrt.*/
twetiq2: /*esta etiqueta para q siempre evalue en el frame "encabezado" en caso de ingresos erroneos*/
do on error undo, leave:
/* UPDATE tw_scso_fsol tw_scso_freq tw_scso_cc tw_scso_al tw_scso_desc WITH FRAME b. */
UPDATE wfFsol wfFreq wcCc wcAl wcDesc WITH FRAME b. /* ingreso de datos encabezado en el frame b*/
/*validaciones pertinentes antes de continuar editando la solicitud "encabezado" */
IF tw_scso_fsol <> wfFsol THEN DO:
IF wfFsol < TODAY THEN
/*MESSAGE "Fecha Solicitud debe ser mayor o igual a hoy".*/
MESSAGE "Fecha debe ser mayor o igual a hoy" VIEW-AS ALERT-BOX INFO.
UNDO twetiq2, RETRY.
END.
IF tw_scso_freq <> wfFreq THEN DO:
IF wfFreq < TODAY THEN
/*MESSAGE "Fecha Requerido debe ser mayor o igual a hoy".*/
MESSAGE "Fecha debe ser mayor o igual a hoy" VIEW-AS ALERT-BOX INFO.
UNDO twetiq2, RETRY.
END.
FIND cc_mstr WHERE cc_ctr = wcCC AND cc_domain = "QAD" NO-LOCK NO-ERROR.
IF NOT AVAILABLE cc_mstr THEN DO:
/*MESSAGE "Centro de costos no registrado".*/
MESSAGE "no existe CC en la mstr qad" VIEW-AS ALERT-BOX INFO.
UNDO twetiq2, RETRY.
END.
FIND si_mstr WHERE si_site = wcAl AND si_domain = "QAD" NO-LOCK NO-ERROR. /*busqueda del costo unitario del articulo*/
IF NOT AVAILABLE si_mstr THEN DO:
/*MESSAGE "Almacen no registrado".*/
MESSAGE "no esta el almacen en la mstr qad" VIEW-AS ALERT-BOX INFO.
UNDO twetiq2, RETRY.
END.
END. /* do on error */
ASSIGN
tw_scso_fsol = wfFsol
tw_scso_freq = wfFreq
tw_scso_cc = wcCc
tw_scso_al = wcAl
tw_scso_desc = wcDesc.
END. /* fin del else do*/
ingrese datos en un registro de una tabla. (en un programa de solicitudes), el programa debe dar la opcion de editar esos datos anteriormente ingresados, accesandolos por el numero de solicitud, efectivamente traigo los datos de esa solicitud, y los habilito de nuevo con un UPDATE, pero al momento de asignar de nuevo los nuevos valores, PROGRESS ignora el ASSIGN que hag para forzar esa actualizacion. que puedo hacer?
aca anexo el pedazo de codigo, gracias:
FIND tw_scso_mstr WHERE tw_scso_nro = wcSol AND tw_scso_enrt = NO AND tw_scso_dominio = "QAD". /*busca solicitud ingresada por usuario no enrutada*/
/*envia las variables de encabezado con valores que tenia segun en find*/
ASSIGN
wfFsol = tw_scso_fsol
wfFreq = tw_scso_freq
wcCc = tw_scso_cc
wcAl = tw_scso_al
wcDesc = tw_scso_desc.*/
/*wlEnruta = tw_scso_enrt.*/
twetiq2: /*esta etiqueta para q siempre evalue en el frame "encabezado" en caso de ingresos erroneos*/
do on error undo, leave:
/* UPDATE tw_scso_fsol tw_scso_freq tw_scso_cc tw_scso_al tw_scso_desc WITH FRAME b. */
UPDATE wfFsol wfFreq wcCc wcAl wcDesc WITH FRAME b. /* ingreso de datos encabezado en el frame b*/
/*validaciones pertinentes antes de continuar editando la solicitud "encabezado" */
IF tw_scso_fsol <> wfFsol THEN DO:
IF wfFsol < TODAY THEN
/*MESSAGE "Fecha Solicitud debe ser mayor o igual a hoy".*/
MESSAGE "Fecha debe ser mayor o igual a hoy" VIEW-AS ALERT-BOX INFO.
UNDO twetiq2, RETRY.
END.
IF tw_scso_freq <> wfFreq THEN DO:
IF wfFreq < TODAY THEN
/*MESSAGE "Fecha Requerido debe ser mayor o igual a hoy".*/
MESSAGE "Fecha debe ser mayor o igual a hoy" VIEW-AS ALERT-BOX INFO.
UNDO twetiq2, RETRY.
END.
FIND cc_mstr WHERE cc_ctr = wcCC AND cc_domain = "QAD" NO-LOCK NO-ERROR.
IF NOT AVAILABLE cc_mstr THEN DO:
/*MESSAGE "Centro de costos no registrado".*/
MESSAGE "no existe CC en la mstr qad" VIEW-AS ALERT-BOX INFO.
UNDO twetiq2, RETRY.
END.
FIND si_mstr WHERE si_site = wcAl AND si_domain = "QAD" NO-LOCK NO-ERROR. /*busqueda del costo unitario del articulo*/
IF NOT AVAILABLE si_mstr THEN DO:
/*MESSAGE "Almacen no registrado".*/
MESSAGE "no esta el almacen en la mstr qad" VIEW-AS ALERT-BOX INFO.
UNDO twetiq2, RETRY.
END.
END. /* do on error */
ASSIGN
tw_scso_fsol = wfFsol
tw_scso_freq = wfFreq
tw_scso_cc = wcCc
tw_scso_al = wcAl
tw_scso_desc = wcDesc.
END. /* fin del else do*/
Valora esta pregunta
0