Текущее время: Ср, июл 23 2025, 20:42

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Принцип работы READ DATASET.
СообщениеДобавлено: Пн, ноя 03 2008, 12:19 
Начинающий
Начинающий

Зарегистрирован:
Чт, окт 30 2008, 15:42
Сообщения: 8
Всем доброго дня! Помогите пожалуйста! у меня такого рода вопрос, вообще речь идет о программе загрузки плоских файлов в BW, наз-ся Z_DOWNLOAD_FILE, программа в целом работает хорошо, но дело в том что когда встречаются ошибочные файлы в формате .csv в форме Excel программу выкидывает в дамп, а надо сделать так чтобы не выкидывало а просто при поиске эти файлы перемещались к примеру в папку ERRORS. Ошибки встречаются такие (пробелы, запятые,русские буквы > мар22. типа этого.), самое интересное то что на пробелы, запятые особо не реагирует программа все равно их загружает но с ошибками, а вот на русские буквы реагирует сразу выплевывает в дамп. Может надо добавить какую-то опцию? Подскажите пожалуйста ! вот еще кусок программы который отвечает за проверку и чтение файла, программу выкидывает в месте где начинается:
READ DATASET .....


OPEN DATASET directory_oldfile FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
OPEN DATASET directory_file FOR INPUT IN TEXT MODE ENCODING DEFAULT.
CONCATENATE 'Обработка файла: - ' directory_file INTO file_text.
write file_text.
clear file_text.
do.
READ DATASET directory_file INTO file_text. "<ls_tmp_data>
IF sy-subrc = 0 and file_text ne SPACE.
llen = strlen( file_text ).
SUBTRACT 1 FROM llen.
if file_text+llen(1) cn cfield.
clear file_text+llen(1).
condense file_text.
endif.
if file_text+0(1) cn cfield.
clear file_text+0(1).
condense file_text.
endif.
TRANSFER file_text TO directory_oldfile. "LENGTH curpos. "directory_file.
ELSE.
EXIT.
ENDIF.
enddo.
CLOSE DATASET directory_oldfile.
CLOSE DATASET directory_file.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Принцип работы READ DATASET.
СообщениеДобавлено: Пн, ноя 03 2008, 14:27 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Жан написал(а):
Всем доброго дня! Помогите пожалуйста! у меня такого рода вопрос, вообще речь идет о программе загрузки плоских файлов в BW, наз-ся Z_DOWNLOAD_FILE, программа в целом работает хорошо, но дело в том что когда встречаются ошибочные файлы в формате .csv в форме Excel программу выкидывает в дамп, а надо сделать так чтобы не выкидывало а просто при поиске эти файлы перемещались к примеру в папку ERRORS. Ошибки встречаются такие (пробелы, запятые,русские буквы > мар22. типа этого.), самое интересное то что на пробелы, запятые особо не реагирует программа все равно их загружает но с ошибками, а вот на русские буквы реагирует сразу выплевывает в дамп. Может надо добавить какую-то опцию? Подскажите пожалуйста ! вот еще кусок программы который отвечает за проверку и чтение файла, программу выкидывает в месте где начинается:
READ DATASET .....


OPEN DATASET directory_oldfile FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
OPEN DATASET directory_file FOR INPUT IN TEXT MODE ENCODING DEFAULT.
CONCATENATE 'Обработка файла: - ' directory_file INTO file_text.
write file_text.
clear file_text.
do.
READ DATASET directory_file INTO file_text. "<ls_tmp_data>
IF sy-subrc = 0 and file_text ne SPACE.
llen = strlen( file_text ).
SUBTRACT 1 FROM llen.
if file_text+llen(1) cn cfield.
clear file_text+llen(1).
condense file_text.
endif.
if file_text+0(1) cn cfield.
clear file_text+0(1).
condense file_text.
endif.
TRANSFER file_text TO directory_oldfile. "LENGTH curpos. "directory_file.
ELSE.
EXIT.
ENDIF.
enddo.
CLOSE DATASET directory_oldfile.
CLOSE DATASET directory_file.

1 - используйте тег CODE для оформления фрагментов кода.
2 - читайте справку по коммандам - там, среди всего прочего, описаны возможные ошибочные ситуации и поведение, реакция системы на данные ошибки. Так что добавьте в Ваш отчёт обработку ошибок и будет счастье. Так же настоятельно рекомендую внимательно читать то что написано в дампе - зачастую там содержаться вполне полезные советы и рекомендации как данного дампа избежать.

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB