miércoles, 2 de noviembre de 2011

Cargar archivo UNIX

*Los archivos de unix tienen diferente separador de lineas, si cargas un archivo por *medio de GUI_UPLOAD o alguna funcion parecida al cargarla te pondra todo el texto en *una sola linea, para evitar esto podemos pasar el archivo cargado al servidor y luego *leerlo desde ahi.

REPORT ZEX_READFILE_FROMDIR LINE-SIZE 1000
.


Data: d_filename like IBIPPARMS-PATH,
d_file type string.

data : begin of itab occurs 0,
values(10000),
end of itab.

* The following function module calls the File/Path Selector Dialog Box

CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
IMPORTING
FILE_NAME = d_filename.

d_file = d_filename.

* The following function module uploads the file into the internal table

CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = d_file
FILETYPE = 'BIN'
HAS_FIELD_SEPARATOR = ' '
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
* IMPORTING
* FILELENGTH =
* HEADER =
TABLES
DATA_TAB = itab
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.

ENDIF.

* Output the internal Table


DATA P_PATH(128) value
'C:\'.

DATA: LINEA(1000),
CNETWR(20).
OPEN DATASET P_PATH FOR OUTPUT IN TEXT MODE.
loop at itab.
TRANSFER itab-values TO P_PATH.
ENDLOOP.
CLOSE DATASET P_PATH.

OPEN DATASET P_PATH FOR INPUT IN TEXT MODE.
loop at itab.
TRANSFER itab-values TO P_PATH.
ENDLOOP.
CLOSE DATASET P_PATH.

clear itab.
refresh itab.

open dataset P_PATH for input in text mode.
if sy-subrc is initial.
do.
read dataset P_PATH into itab.
if not sy-subrc is initial.
exit.
endif.
append itab.
enddo.
endif.
close dataset P_PATH.



loop at itab.
Write:/ ITAB.
endloop.
data text(100).
text =
'Este archivo se crea cada que se ejecuta el Programa'.
append itab.


OPEN DATASET P_PATH FOR OUTPUT IN TEXT MODE.
TRANSFER text TO P_PATH.
CLOSE DATASET P_PATH.

2 comentarios:

Anónimo dijo...

Битторрент трекер KINORELIZ.NET предоставляет возможность абсолютно бесплатно скачать бесплатно торрент фильмы, музыку, игры, книги, программы, документацию. Быстрый торрент трекер - отличный вариант ускорить просмотр фильмов или прослушивание музыки.

KINORELIZ NET: [url=http://kinoreliz.net]торрент скачать[/url]

Anónimo dijo...

Если вы задаетесь вопросом, как зарегистрировать фирму, не владея необходимой правовой подготовкой, то правильнее обратиться в ООО "Регистратор". Ведь для самостоятельного сбора всех надлежащих документов необходимо время и знания, так как любая ошибка может обойтись слишком дорого. Высококвалифицированные специалисты ООО "Регистратор" возьмутся качественно оформить компанию.

Как зарегистрировать фирму и оформить ООО - [url=http://www.registratorfirm.ru/howtoregfirm/]как оформить ооо[/url]