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

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


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

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


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

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