Sie sind auf Seite 1von 3

*&---------------------------------------------------------------------*

*& Report ZPP00280 *


*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*

INCLUDE ZPP00280_TOP . " global Data

* INCLUDE ZPP00280_O01 . " PBO-Modules *


* INCLUDE ZPP00280_I01 . " PAI-Modules *
INCLUDE ZPP00280_SEL.
INCLUDE ZPP00280_F01 . " FORM-Routines *

* Eventos
AT SELECTION-SCREEN ON VALUE-REQUEST FOR pa_file.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
field_name = 'LOCAL'
IMPORTING
file_name = pa_file.

* Programa Principal.
END-OF-SELECTION.

PERFORM subir_fichero_local.

IF data_tab[] IS INITIAL.
MESSAGE s000(zpp01) WITH 'Fichero No contiene registros'(001).
EXIT.
ENDIF.

SORT data_tab BY WRKST.


DELETE ADJACENT DUPLICATES FROM data_tab.

REFRESH it_TWSPR.
LOOP AT data_tab.
CLEAR it_TWSPR.
it_TWSPR-MANDT = SY-MANDT.
it_TWSPR-WRKST = data_tab-WRKST.
APPEND it_TWSPR TO it_TWSPR.
ENDLOOP.

MODIFY TWSPR FROM TABLE it_TWSPR.


IF sy-subrc <> 0.
ROLLBACK WORK.
ELSE.
COMMIT WORK.
ENDIF.
*&---------------------------------------------------------------------*
*& Include ZPP00280_TOP Report ZPP*
*& *
*&---------------------------------------------------------------------*

REPORT ZPP00280 .

* Declaraciones Globales
* Tables
* Variables
DATA :
BEGIN OF data_tab OCCURS 0,
WRKST TYPE WRKST,
END OF data_tab,

BEGIN OF it_TWSPR OCCURS 0,


MANDT TYPE MANDT,
WRKST TYPE WRKST,
END OF it_TWSPR.

*&---------------------------------------------------------------------*
*& Include ZPP00280_SEL *
*&---------------------------------------------------------------------*

* Pantalla de Seleccion.
PARAMETERS :
pa_file LIKE rlgrap-filename " fichero local de subida
OBLIGATORY. " campo obligatorio
*&---------------------------------------------------------------------*
*& Include ZPP00280_F01 *
*&---------------------------------------------------------------------*
* Forms

FORM subir_fichero_local.
DATA: l_file TYPE string.

l_file = pa_file.

CALL FUNCTION 'GUI_UPLOAD'


EXPORTING
filename = l_file
* FILETYPE = 'ASC'
* HAS_FIELD_SEPARATOR =''
* HEADER_LENGTH =0
* READ_BY_LINE = 'X'
* DAT_MODE =''
* CODEPAGE =''
* IGNORE_CERR = ABAP_TRUE
* REPLACEMENT = '#'
* CHECK_BOM =''
* IMPORTING
* FILELENGTH =
* HEADER =
TABLES
data_tab = data_tab
EXCEPTIONS
file_open_error =1
file_read_error =2
no_batch =3
gui_refuse_filetransfer =4
invalid_type =5
no_authority =6
unknown_error =7
bad_data_format =8
header_not_allowed =9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

* eliminar registro de cabecera


* READ TABLE data_tab INDEX 1.
* IF sy-subrc = 0.
* DELETE data_tab INDEX 1.
* ENDIF.

ENDFORM. "subir_fichero_local

Das könnte Ihnen auch gefallen