#1
|
|||
|
|||
Como se usa el RollBack?
Duda tengo la siguiente rutina que principalmente hace 3 pasos descritos en los comentarios de la rutina, mi pregunta es como se hace el rollback en ABAP porque nunca lo he manejado al actualizar mis tablas Z en las lineas del MODIFY-DELETE y el bloqueo a transaccion FBL1N???? Si alguno de los 3 pasos no llegó a terminarlo ó algún error entonces que no haga nada y lo deje como estaba. De caso contrario hace toda la rutina. No sé como hacer esto me dijeron que con rollback de casualidad alguien sabe??
Las tablas Z son: zfactor_docDesp zfactoraje y el bloqueo lo hago en la rutina: f_bloqueo_fbl1n. Gracias y espero alguien me pueda ayudar. *&---------------------------------------------------------------------* *& Form F_ALTA_TABLAZ *&---------------------------------------------------------------------* * PASO1.- Confirma Despublicación de Documentos, * PASO2.- Desbloquea Documentos al llamar la transacción FBL1N * PASO3.- Borra Documentos de la tabla ZFACTORAJE *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM F_ALTA_TABLAZ CHANGING lv_exit TYPE char1. DATA: lv_index LIKE sy-tabix. IF NOT i_alv[] IS INITIAL. PASO1. * Actualiza Fecha de Confirmación de los Documentos a Despublicar. LOOP AT i_alv. lv_index = sy-tabix. i_alv-dc_doc = c_x. i_alv-dc_date = sy-datum. i_alv-dc_time = sy-uzeit. i_alv-dc_ernam = sy-uname. i_alv-d_updat = i_alv-dc_date. i_alv-d_uptim = i_alv-dc_time. i_alv-d_upnam = i_alv-dc_ernam. MODIFY i_alv INDEX lv_index. ENDLOOP. MODIFY zfactor_docDesp FROM TABLE i_alv. COMMIT WORK. MESSAGE TEXT-012 TYPE 'I'. PASO2. * Desbloquea Documentos. PERFORM f_bloqueo_fbl1n. "Desbloqueo FBL1N MESSAGE TEXT-014 TYPE 'I'. PASO3. * Elimina Documentos Enviados a Xignux * que son los documentos despublicados que se acaban de confirmar. REFRESH i_zfactor. CLEAR i_zfactor. SELECT * FROM zfactoraje INTO TABLE i_zfactor WHERE lifnr = i_alv-lifnr AND bukrs = i_alv-bukrs AND belnr = i_alv-belnr AND gjahr = i_alv-gjahr AND envio = c_x AND nob = SPACE AND ro = SPACE. IF sy-subrc = c_zeros. DELETE zfactoraje FROM TABLE i_zfactor. COMMIT WORK. MESSAGE TEXT-013 TYPE 'I'. ENDIF. ENDIF. ENDFORM. " f_alta_tablaz
__________________
Saludos Alabado Seas Yhavé. -Hay Un Mundo Mejor Cuando Aprendes a AMAR Úlima edición por Eduesqueda fecha: 11/04/12 a las 22:06:51. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|