PDA

Ver la Versión Completa : anadir condiciones a un programa


infinit_nicko
18/06/08, 19:31:06
Este programa , lo que hace ahorita es borrar los datos de una tabla y bajarlos a un archivo de texto , le quiero agregar las siguentes condiciones :

Condiciones

1. que el programa tambien de un reporte de los datos los cuales se podrian borrar sin la necesidad de borrarlos, que no solo borre.

2. que pueda escoger de que datos de las tablas quiero que se borren


3. si dice que si delete, si la respuesta es de si para borrar, preguntar cuales registros se quieren borrar e imprimir los que se borrarian
pantalla y dar el numero de registros que se borraran

4. que pueda escoger un rango de fechas, de que fecha a que fecha se quieren borrar los registros (con bandera de si
se quiere borrar o no)




prograba abajo ::)





*******************************************
* Description :
*
*
************************************************************************
REPORT ZSRS_RT_DOWNLOAD_PAYS
* NO STANDARD PAGE HEADING LINE-SIZE 255 MESSAGE-ID xxx
.
data begin of ti_zrtusthpm01 occurs 0.
include structure zrtusthpm01.
data end of ti_zrtusthpm01.


*include structure tabla1.
*include structure tabla2.



data begin of ti_zrtustppm01 occurs 0.
include structure zrtustppm01.
data end of ti_zrtustppm01.



*queries
select * from zrtusthpm01
into table ti_zrtusthpm01.

select * from zrtustppm01
into table ti_zrtustppm01.



CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
* BIN_FILESIZE =
filename = 'C:\users\arturo\desktop\downloadpays.txt'
* filename = C:\Users\Arturo\Desktop\downloadpays.txt
FILETYPE = 'ASC'
* APPEND = ' '
* WRITE_FIELD_SEPARATOR = ' '
* HEADER = '00'
* TRUNC_TRAILING_BLANKS = ' '
* WRITE_LF = 'X'
* COL_SELECT = ' '
* COL_SELECT_MASK = ' '
* DAT_MODE = ' '
* CONFIRM_OVERWRITE = ' '
* NO_AUTH_CHECK = ' '
* CODEPAGE = ' '
* IGNORE_CERR = ABAP_TRUE
* REPLACEMENT = '#'
* WRITE_BOM = ' '
* TRUNC_TRAILING_BLANKS_EOL = 'X'
* WK1_N_FORMAT = ' '
* WK1_N_SIZE = ' '
* WK1_T_FORMAT = ' '
* WK1_T_SIZE = ' '
* WRITE_LF_AFTER_LAST_LINE = ABAP_TRUE
* SHOW_TRANSFER_STATUS = ABAP_TRUE
* IMPORTING
* FILELENGTH =
tables
data_tab = ti_zrtusthpm01
* FIELDNAMES =
* EXCEPTIONS
* FILE_WRITE_ERROR = 1
* NO_BATCH = 2
* GUI_REFUSE_FILETRANSFER = 3
* INVALID_TYPE = 4
* NO_AUTHORITY = 5
* UNKNOWN_ERROR = 6
* HEADER_NOT_ALLOWED = 7
* SEPARATOR_NOT_ALLOWED = 8
* FILESIZE_NOT_ALLOWED = 9
* HEADER_TOO_LONG = 10
* DP_ERROR_CREATE = 11
* DP_ERROR_SEND = 12
* DP_ERROR_WRITE = 13
* UNKNOWN_DP_ERROR = 14
* ACCESS_DENIED = 15
* DP_OUT_OF_MEMORY = 16
* DISK_FULL = 17
* DP_TIMEOUT = 18
* FILE_NOT_FOUND = 19
* DATAPROVIDER_EXCEPTION = 20
* CONTROL_FLUSH_ERROR = 21
* OTHERS = 22
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.


CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
* BIN_FILESIZE =
filename = 'c:\users\arturo\desktop\downloadpays.txt'
FILETYPE = 'ASC'
* APPEND = ' '
* WRITE_FIELD_SEPARATOR = ' '
* HEADER = '00'
* TRUNC_TRAILING_BLANKS = ' '
* WRITE_LF = 'X'
* COL_SELECT = ' '
* COL_SELECT_MASK = ' '
* DAT_MODE = ' '
* CONFIRM_OVERWRITE = ' '
* NO_AUTH_CHECK = ' '
* CODEPAGE = ' '
* IGNORE_CERR = ABAP_TRUE
* REPLACEMENT = '#'
* WRITE_BOM = ' '
* TRUNC_TRAILING_BLANKS_EOL = 'X'
* WK1_N_FORMAT = ' '
* WK1_N_SIZE = ' '
* WK1_T_FORMAT = ' '
* WK1_T_SIZE = ' '
* WRITE_LF_AFTER_LAST_LINE = ABAP_TRUE
* SHOW_TRANSFER_STATUS = ABAP_TRUE
* IMPORTING
* FILELENGTH =
tables
data_tab = ti_zrtustppm01
* FIELDNAMES =
* EXCEPTIONS
* FILE_WRITE_ERROR = 1
* NO_BATCH = 2
* GUI_REFUSE_FILETRANSFER = 3
* INVALID_TYPE = 4
* NO_AUTHORITY = 5
* UNKNOWN_ERROR = 6
* HEADER_NOT_ALLOWED = 7
* SEPARATOR_NOT_ALLOWED = 8
* FILESIZE_NOT_ALLOWED = 9
* HEADER_TOO_LONG = 10
* DP_ERROR_CREATE = 11
* DP_ERROR_SEND = 12
* DP_ERROR_WRITE = 13
* UNKNOWN_DP_ERROR = 14
* ACCESS_DENIED = 15
* DP_OUT_OF_MEMORY = 16
* DISK_FULL = 17
* DP_TIMEOUT = 18
* FILE_NOT_FOUND = 19
* DATAPROVIDER_EXCEPTION = 20
* CONTROL_FLUSH_ERROR = 21
* OTHERS = 22
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.


ENDIF.





*mensaje de warning
DATA: RES(1).

CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
TITLEBAR = 'Payments'
TEXT_QUESTION = '¿Do you really want to delete the all the data?'
TEXT_BUTTON_1 = 'Yes'
TEXT_BUTTON_2 = 'No'
IMPORTING
ANSWER = RES.
*se borra la tabla

IF RES EQ '1'.
* DELETE ZRTUSTPPM01 from ti_ZRTUSTPPM01.
* DELETE ZRTUSTHPM01 from ti_ZRTUSTHPM01.

ENDIF.


************************************************************************************

DavidXD_XD
01/07/08, 18:26:14
Hola, no se si resolviste el problema, pero no es logico borrar un registro y despues mostrar en un reporte el que borraste, ya que todos los datos son jalados desde tablas, lo que podrias hacer es crearte una tabla que cumpla el papel de historial, asi podrias controlar mejor lo que borras y lo que modificas, en caso de modificar y mostrar un log de modificacion las puedes asociar a la CDHDR y la CDPOS, pero ese seria otro tema :p