Текущее время: Сб, июл 05 2025, 00:17

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


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


ВНИМАНИЕ!

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



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

Зарегистрирован:
Чт, июл 21 2005, 18:34
Сообщения: 18
Откуда: Москва
Подскажите новичку в абапе.

есть задача:
Загрузить с локального компьютера файл(выписка) в SAP и переконвертить его в формат Multicash.

Файл выписки обычный .txt , что-то типа :
......
ДатаНачала=25.05.2005
ДатаКонца=25.05.2005
РасчСчет=40702810921000002490
СекцияРасчСчет
ДатаНачала=25.05.2005
ДатаКонца=25.05.2005
РасчСчет=40702810921000002490
.................

Вопросы:
1) загрузку файла, как я понял, осуществлять с помощью GUI_UPLOAD
Где можно найти подробное описание этого метода?

2)Как наиболее грамотно парсить такой файл ?

Сорри, если этот вопрос обсуждался, я не нашел. В таком случае дайте ссылку


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 22 2005, 08:14 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = path1
IMPORTING
FILELENGTH = flen
TABLES
DATA_TAB = str
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
OTHERS = 17
path1 - путь к файлу
в flen вернётся его размер
в str[] его содержимое построчно
парсить
SEARCH str-line FOR '"="'.
i = SY-FDPOS.
в i будет номер позиции

_________________
полный SAPец


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 22 2005, 08:27 
Директор
Директор

Зарегистрирован:
Чт, май 12 2005, 11:10
Сообщения: 1038
Пол: Мужской
slash написал(а):
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = path1
IMPORTING
FILELENGTH = flen
TABLES
DATA_TAB = str
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
OTHERS = 17
path1 - путь к файлу
в flen вернётся его размер
в str[] его содержимое построчно
парсить
SEARCH str-line FOR '"="'.
i = SY-FDPOS.
в i будет номер позиции



я бы предложил SPLIT ...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: GUI_DOWNLOAD и парсинг файла
СообщениеДобавлено: Пт, июл 22 2005, 08:59 
Специалист
Специалист

Зарегистрирован:
Ср, сен 08 2004, 16:04
Сообщения: 112
Откуда: Ukraine
Пол: Мужской
Makc написал(а):
1) загрузку файла, как я понял, осуществлять с помощью GUI_UPLOAD
Где можно найти подробное описание этого метода?

Если есть доступ к SAP, то заходишь в se84, находишь функциональный модуль(ФМ) и жмешь кнопку "Журнал использования". Далее смотришь, что он там нашел.
Это не что иное, что как живые примеры. :)

Makc написал(а):
2)Как наиболее грамотно парсить такой файл ?


Я разбивал по строкам и разделял полученные строки по символу "="


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 22 2005, 09:37 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Чт, июл 21 2005, 18:34
Сообщения: 18
Откуда: Москва
Еще маленкий вопрос по кодировке

Как у GUI_UPLOAD указать кодировку.
Так как если ее не указывать, а потом вывести str на экран, то будет следующие:
.....
##########=25.05.2005
############=25.05.2005
######=40702810921000002490
#########=847700.83
.....


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 22 2005, 09:39 
Гость
параметр codepage (1503 или 1504)


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 22 2005, 10:10 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Чт, июл 21 2005, 18:34
Сообщения: 18
Откуда: Москва
Большое всем спасибо.
все работает.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 26 2005, 11:07 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
Egal написал:
slash написал(а):
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = path1
IMPORTING
FILELENGTH = flen
TABLES
DATA_TAB = str
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
OTHERS = 17
path1 - путь к файлу
в flen вернётся его размер
в str[] его содержимое построчно
парсить
SEARCH str-line FOR '"="'.
i = SY-FDPOS.
в i будет номер позиции



я бы предложил SPLIT ...

вопрос про split
загружаю tsv файл через GUI_UPLOAD в таблицу с одним полем С(300)
в лупе делаю SPLIT utab-str
AT '#'
INTO ..
# - дефолтоввый разделитель поля
но ничего не разбивается,
где ошибка?

_________________
полный SAPец


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 26 2005, 11:37 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
добавил HAS_FIELD_SEPARATOR = ';'
и SPLIT utab-str
AT ';'
всё заработало, файл стал CSV

_________________
полный SAPец


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, ноя 14 2005, 17:24 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
и снова аплоад..
загружаю xml
все табуляторы которыми выделятся вложенные теги конвертяться в #
как лечить?

_________________
полный SAPец


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

Зарегистрирован:
Пт, окт 07 2005, 13:38
Сообщения: 79
Откуда: ECC 6.0
Пол: Мужской
slash написал(а):
и снова аплоад..
загружаю xml
все табуляторы которыми выделятся вложенные теги конвертяться в #
как лечить?


Если тебе табуляторы вообще не нужны, можно юзать аргумент replacement ФМ gui_upload, он задает символ которым замещаются символы вне заданной кодировки и символы типа таба при чтении, по дефолту он как раз '#'
Code:
  CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
*     .......
      replacement            = space
*     .......


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 15 2005, 09:24 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
xrondead написал:
slash написал(а):
и снова аплоад..
загружаю xml
все табуляторы которыми выделятся вложенные теги конвертяться в #
как лечить?


Если тебе табуляторы вообще не нужны, можно юзать аргумент replacement ФМ gui_upload, он задает символ которым замещаются символы вне заданной кодировки и символы типа таба при чтении, по дефолту он как раз '#'
Code:
  CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
*     .......
      replacement            = space
*     .......

уже пробовал. не помогает

_________________
полный SAPец


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 15 2005, 09:38 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
Можно попробовать поменять вручную. Выяснить, что это за симовол, привести строки к типу X, заменить на нужный символ и привести обратно к типу C.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 15 2005, 13:32 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 13:16
Сообщения: 1790
slash написал(а):
и снова аплоад..
загружаю xml
все табуляторы которыми выделятся вложенные теги конвертяться в #
как лечить?

Они не конвертятся в #.
Так отображаются "непечатаемые" символы.
Если речь идет о XML, попробуй использовать библиотеку IXML.
Она тебе и проверит корректность XML и "уберет" табуляции :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 15 2005, 13:40 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
Bully написал(а):
slash написал(а):
и снова аплоад..
загружаю xml
все табуляторы которыми выделятся вложенные теги конвертяться в #
как лечить?

Они не конвертятся в #.
Так отображаются "непечатаемые" символы.
Если речь идет о XML, попробуй использовать библиотеку IXML.
Она тебе и проверит корректность XML и "уберет" табуляции :)

да именно отображаются, фигня в том что replacement не работает
про ixml знаю, туда всё и ведёт=(

_________________
полный SAPец


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

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


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

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


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

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