Simple Module Pool

posted under by Antonio Lopez
* Este module pool pretende introducirnos al mundo
* de la programacion, no es nada elaborado pero
* contiene las sentencias basicas SELECT, INSERT,
* DELETE para una tabla de nombre ZRF_T0024, cuyos
* campos son: ZRF_T0024-ID_CODIGO,
* ZRF_T0024-DESCRIPCION ZRF_T0024-DIAS. Necesitaremos
* crear una screen, con tres input/output fields de
* nombre igual que la tabla:
* ZRF_T0024-ID_CODIGO, ZRF_T0024-DESCRIPCION ZRF_T0024-DIAS.
* Este es el codigo.



*&--------------------------------------*
*& Include ZRF_602TOP *
*&--------------------------------------*
PROGRAM ZRF_0602.
TABLES:
ZRF_T0024. "CODIGOS DE MTTO


*&--------------------------------------*
*& screen *
*&--------------------------------------*
PROCESS BEFORE OUTPUT.
MODULE PBO.
*
PROCESS AFTER INPUT.
FIELD ZRF_T0024-ID_CODIGO MODULE DESPLIEGA_CODIGOS_MTTO.
MODULE PAI.



*&-------------------------------------*
*& Module PAI INPUT *
*&-------------------------------------*
module PAI input.

CASE SY-UCOMM.
WHEN 'ADD'.
PERFORM NUEVO_602.
WHEN 'DELT'.
PERFORM BORRAR_602.
WHEN 'CLEAN'.
PERFORM LIMPIAR_602.
WHEN 'SAVE'.
PERFORM GUARDAR_602.
WHEN 'EXIT' OR 'BACK' OR 'CANC'.
PERFORM exit_program.
ENDCASE.

endmodule. " PAI INPUT

*&-----------------------------------------*
*& Module PBO OUTPUT *
*&-----------------------------------------*
module PBO output.
SET PF-STATUS 'ZRF_602GUI'.
SET TITLEBAR 'MAINTITLE'.
endmodule. " PBO OUTPUT

*--------------------------------------*
* INCLUDE ZRF_602F01 *
*--------------------------------------*
*&----------------------*
*& Form NUEVO_602
*&----------------------*
form NUEVO_602.
DATA: TEMPO LIKE ZRF_T0024-ID_CODIGO.
SELECT MAX( ID_CODIGO ) FROM ZRF_T0024 INTO TEMPO.
ZRF_T0024-ID_CODIGO = TEMPO + 1.
endform. " NUEVO_602
*&------------------------*
*& Form BORRAR_602
*&------------------------*
form BORRAR_602.
DATA L_RESP.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
TITLEBAR = 'Eliminacion de registros!!!'
DIAGNOSE_OBJECT = ' '
text_question = '¿Desea eliminar el registro actual?'
TEXT_BUTTON_1 = 'si'(001)
ICON_BUTTON_1 = ' '
TEXT_BUTTON_2 = 'no'(002)
ICON_BUTTON_2 = ' '
IMPORTING
ANSWER = L_RESP.
IF L_RESP <> 'A'.
IF L_RESP = 1. "Sí
DELETE FROM ZRF_T0024 WHERE ID_CODIGO = ZRF_T0024-ID_CODIGO.
PERFORM LIMPIAR_602.
ENDIF.
ENDIF.
endform. " BORRAR_602
*&-------------------------*
*& Form LIMPIAR_602
*&-------------------------*
form LIMPIAR_602.
ZRF_T0024-ID_CODIGO = ''.
ZRF_T0024-DESCRIPCION = ''.
ZRF_T0024-DIAS = ''.
endform. " LIMPIAR_602
*&---------------------------*
*& Form GUARDAR_602
*&---------------------------*
form GUARDAR_602.
INSERT INTO ZRF_T0024 VALUES ZRF_T0024.
PERFORM LIMPIAR_602.

2 comentarios

Make A Comment
Google
 
top