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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Yandex [Bot]


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

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