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

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


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

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


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

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