Текущее время: Вс, июн 22 2025, 05:13

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Простые преобразования,Обработка пустых тегов
СообщениеДобавлено: Пн, окт 26 2015, 10:25 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, окт 23 2015, 14:48
Сообщения: 93
Согласен с вами-что странная постановка,сейчас пытаюсь добиться пересмотра..параллельно еще хочу задать один вопрос по трансформациям..у меня на выходе преобразования строка или string или же xstring с кодом xml,но мне нужно сделать потом из нее файл и файл не в виде строки<А в виде xml-формата т.е. горизонтально для каждого тега своя строка-ну вы понимаете..может продскажите что-то стандартное-что это делает..?!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Простые преобразования,Обработка пустых тегов
СообщениеДобавлено: Пн, окт 26 2015, 10:28 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, окт 23 2015, 14:48
Сообщения: 93
и уточните,пожалуйста, RTTI - это что..?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Простые преобразования ABAP -> XML, обработка пустых тегов
СообщениеДобавлено: Пн, окт 26 2015, 10:47 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
Цитата:
но мне нужно сделать потом из нее файл и файл не в виде строки<А в виде xml-формата т.е. горизонтально для каждого тега своя строка

Класс CL_XML_DOCUMENT ( на самом деле - наследники CL_XML_DOCUMENT_BASE)
Методы
RENDER_2_STRING
RENDER_2_XSTRING
RENDER_2_TABLE
с выставленным параметром PRETTY_PRINT = 'X'
Но может и не работать, судя по отклику тех, кто юзал
Цитата:
RTTI


RTTS-RTTI

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Простые преобразования ABAP -> XML, обработка пустых тегов
СообщениеДобавлено: Пн, окт 26 2015, 11:42 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, окт 23 2015, 14:48
Сообщения: 93
А,что-нибудь-что работает?)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Простые преобразования ABAP -> XML, обработка пустых тегов
СообщениеДобавлено: Пн, окт 26 2015, 14:31 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, окт 23 2015, 14:48
Сообщения: 93
Igor_Beruk написал(а):
А,что-нибудь-что работает?)


Возможно меня снова не совсем поняли..мне нужно следующее..например,есть такой ФМ как SDIXML_DOM_TO_SCREEN - он красиво выводит мне ,например:

<?xml version="1.0" encoding="utf-8" ?>
- <OBJECT>
- <BASE_INFO>
<BIC />
<DATE_FROM>0000-00-00</DATE_FROM>
<DATE_TO>0000-00-00</DATE_TO>
<BASE_DESC />
<COUNT>0</COUNT>
</BASE_INFO>
<CLIENTS />
<ACCOUNTS />
</OBJECT>

вот и мне нужно как-то это получить в таблицу,чтобы потом загнать в текстовый файл или может в стринге есть возможность как-то разделить,разбить<Чтобы потом после преобразования у меня появилась в файле не просто строчка <?xml version="1.0" encoding="utf-8" ?> <OBJECT> <BIC /> <DATE_FROM>0000-00-00</DATE_FROM> итд
-а столбик вида xml как я указал выше..

т.е. еще раз - у меня,если я делаю string - возвращается после трансформации <?xml version="1.0" encoding="utf-16"?>#<OBJECT><BASE_INFO><BIC/><DATE_FROM>0000-00-00</DATE_FROM><DATE_TO>0000-00-00</DATE_TO><BASE_DESC/><COUNT>0</COUNT></BASE_INFO><CLIENTS/><ACCOUNTS/></OBJECT>

а нужно мне это как-то засунуть в файл текстовый вот так:

<?xml version="1.0" encoding="utf-8" ?>
- <OBJECT>
- <BASE_INFO>
<BIC />
<DATE_FROM>0000-00-00</DATE_FROM>
<DATE_TO>0000-00-00</DATE_TO>
<BASE_DESC />
<COUNT>0</COUNT>
</BASE_INFO>
<CLIENTS />
<ACCOUNTS />
</OBJECT>

как мне посоветуете это реализовать..?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Простые преобразования ABAP -> XML, обработка пустых тегов
СообщениеДобавлено: Пн, окт 26 2015, 15:58 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
Цитата:
есть такой ФМ как SDIXML_DOM_TO_SCREEN - он красиво выводит

Ну вот и возьмите то, что у него внутри, и используйте у себя в программе. У меня получилось вот так
Code:

  go_ixml = cl_ixml=>create( ).

  go_document = go_ixml->create_document( ).

  CREATE OBJECT go_xml.
  go_streamfactory = go_ixml->create_stream_factory( ).

  go_ostream = go_streamfactory->create_ostream_xstring( gxml_xstr ).
  go_ostream->set_pretty_print( abap_true ).

  CALL TRANSFORMATION id
    SOURCE data = gvar
    OPTIONS initial_components = 'include'
    RESULT XML go_document.

  go_renderer = go_ixml->create_renderer( ostream  = go_ostream
                                          document = go_document ).
  go_renderer->set_normalizing( abap_true ).
  go_renderer->render( ).


После этого в gxml_xstr будет лежать hex-строка с переводом каретки для разбиения на строки. Заменить это на внутр. таблу - не проблема.

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Простые преобразования ABAP -> XML, обработка пустых тегов
СообщениеДобавлено: Пн, окт 26 2015, 16:52 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, окт 23 2015, 14:48
Сообщения: 93
Кодер написал(а):
Цитата:
есть такой ФМ как SDIXML_DOM_TO_SCREEN - он красиво выводит

Ну вот и возьмите то, что у него внутри, и используйте у себя в программе. У меня получилось вот так
Code:

  go_ixml = cl_ixml=>create( ).

  go_document = go_ixml->create_document( ).

  CREATE OBJECT go_xml.
  go_streamfactory = go_ixml->create_stream_factory( ).

  go_ostream = go_streamfactory->create_ostream_xstring( gxml_xstr ).
  go_ostream->set_pretty_print( abap_true ).

  CALL TRANSFORMATION id
    SOURCE data = gvar
    OPTIONS initial_components = 'include'
    RESULT XML go_document.

  go_renderer = go_ixml->create_renderer( ostream  = go_ostream
                                          document = go_document ).
  go_renderer->set_normalizing( abap_true ).
  go_renderer->render( ).


После этого в gxml_xstr будет лежать hex-строка с переводом каретки для разбиения на строки. Заменить это на внутр. таблу - не проблема.



Я уже боюсь сглазить-но вроде получилось..) Спасибо вам большое за помощь!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Простые преобразования ABAP -> XML, обработка пустых тегов
СообщениеДобавлено: Чт, окт 29 2015, 16:18 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, окт 23 2015, 14:48
Сообщения: 93
Решил все же уточнить как я сделал все,что мне нужно-мало ли кому-нибудь пригодится..

call transformation zpi_tr_archive_to_xml
source root = root
options initial_components = 'include'
result xml result.


call function 'SDIXML_XML_TO_DOM'
exporting
xml = result
* SIZE =
* IS_NORMALIZING = 'X'
importing
document = lo_dom
exceptions
invalid_input = 1
others = 2.
call function 'SDIXML_DOM_TO_XML'
exporting
document = lo_dom
pretty_print = 'X'
importing
size = size
xml_as_string = xml_as_string
exceptions
others = 01.

call function 'CRM_IC_XML_XSTRING2STRING'
exporting
* inxstring = result
inxstring = xml_as_string
importing
outstring = outstring.

append outstring to tab.

call function 'WS_DOWNLOAD'
exporting
filename = path
tables
data_tab = tab
exceptions
others = 1.

И в итоге я получил файл с форматом xml вида.


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

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


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

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


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

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