Текущее время: Сб, июл 26 2025, 03:35

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 21 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Последняя строка в файле
СообщениеДобавлено: Чт, окт 09 2008, 15:17 
Специалист
Специалист

Зарегистрирован:
Вт, авг 09 2005, 15:51
Сообщения: 149
Кто может подсказать, как отловить последнюю строку при чтении файла, если оно идёт с начала? примерно так

Code:
do.
open dataset at position pos for update.
read dataset.
...
transfer to dataset.
close dataset.
add 1 to pos.
if ???.
exit.
endif.
enddo.


А то всё осложняется еще и тем, что в BWшных инфопакетах даже точку прерывания не поставишь.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 09 2008, 15:31 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
sy-subrc <> 0

_________________
Я слышу и забываю,
Я вижу и помню долго,
Я делаю и — понимаю.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 09 2008, 15:32 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, авг 28 2006, 11:24
Сообщения: 292
Пол: Мужской
READ DATASET

sy-subrc = 4
Meaning:
Data was read and the end of the file was reached or there was an attempt to read after the end of the file.

Подойдет?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 09 2008, 15:59 
Специалист
Специалист

Зарегистрирован:
Вт, авг 09 2005, 15:51
Сообщения: 149
Пробовал. Почему-то не ловит. Там в файле 46000 строчек, поставил даже счётчик их через progress_indicator, в настоящий момент он бодро отсчитывает третью сотню тысяч...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 09 2008, 16:14 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
В каком месте Вы поставили проверку ?

_________________
Я слышу и забываю,
Я вижу и помню долго,
Я делаю и — понимаю.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Последняя строка в файле
СообщениеДобавлено: Чт, окт 09 2008, 19:02 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, авг 28 2006, 11:24
Сообщения: 292
Пол: Мужской
Snus написал(а):

Code:
do.
open dataset at position pos for update.
read dataset.
...
transfer to dataset.
close dataset.
add 1 to pos.
if ???.
exit.
endif.
enddo.




Во-первых: зачем вы для каждого чтения открываете и закрываете файл? Не проще ли открыть - прочитать все что нужно - закрыть
Во вторых: у вас переменная "pos" имеет смысл "номер строки", а выражение "open dataset at position pos" откроет файл на указанной позиции, а не на указанной строке.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 09 2008, 19:09 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
Вам важно именно в процессе чтения ее отловить? А то может просто прочитать в internal table и потом считать последнюю строку? :?

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 10 2008, 09:44 
Специалист
Специалист

Зарегистрирован:
Вт, авг 09 2005, 15:51
Сообщения: 149
Мне нужно кодировку внутри файла поменять... Так что наверное да, именно в процессе чтения.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 10 2008, 18:37 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
Snus написал(а):
Мне нужно кодировку внутри файла поменять...


Хм... А как вы это собираетесь реализовать в последней строке? :?

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 14 2008, 09:58 
Специалист
Специалист

Зарегистрирован:
Вт, авг 09 2005, 15:51
Сообщения: 149
Jelena написала:
Snus написал(а):
Мне нужно кодировку внутри файла поменять...


Хм... А как вы это собираетесь реализовать в последней строке? :?


на последней строке мне нужно остановиться, а менять буду построчно. Впрочем, если есть еще какой-нибудь способ смены кодировки в файле, я буду за него очень благодарен.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 14 2008, 10:06 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
Я правильно понимаю, что проверка у Вас стоит после
Code:
add 1 to pos
?

Так тут sy-subrc будет 0, чего тут проверять-то ?

_________________
Я слышу и забываю,
Я вижу и помню долго,
Я делаю и — понимаю.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 14 2008, 11:52 
Специалист
Специалист

Зарегистрирован:
Вт, авг 09 2005, 15:51
Сообщения: 149
Окончание файла отловилось, всем спасибо. Теперь такой вопрос. После чтения указатель смещается на следующую строку, так? Тогда куда будет вставляться измененная строка, вместо следующей что ли?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 14 2008, 12:42 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Snus написал(а):
Окончание файла отловилось, всем спасибо. Теперь такой вопрос. После чтения указатель смещается на следующую строку, так? Тогда куда будет вставляться измененная строка, вместо следующей что ли?
А что в этом странного? Вообще из исходной задачи наиболее безопасно это прочитать файл во вн.таблицу, перекодировать и записать обратно в файл. Или другой классический вариант - читается оригинальный файл, пишется в другой с временным названием. После чего оригинальный удаляется, а новый переименовывается.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 14 2008, 13:59 
Специалист
Специалист

Зарегистрирован:
Вт, авг 09 2005, 15:51
Сообщения: 149
Боюсь, во внутреннюю таблицу файл считать не получится. В ТЗ специально указано, что этот код будет копипастом распространяться в целую кучу инфо-пакетов, а потому не должен никак зависеть от структуры таблицы. Поэтому расскажите, пожалуйста, как можно переименовать файл из программы. Как создавать и удалять вроде нашёл, open и delete dataset соответственно.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 14 2008, 14:35 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
Snus написал(а):
а потому не должен никак зависеть от структуры таблицы.

А структура всегда одна - строковая таблица.
Code:
upload_tab type TABLE OF string

_________________
Я слышу и забываю,
Я вижу и помню долго,
Я делаю и — понимаю.


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

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


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

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


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

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