SAPфорум.RU
https://sapboard.ru/forum/

Как осуществляется выгрузка из SAP в XML?
https://sapboard.ru/forum/viewtopic.php?f=13&t=30624
Страница 1 из 2

Автор:  east [ Чт, окт 25 2007, 10:17 ]
Заголовок сообщения:  Как осуществляется выгрузка из SAP в XML?

Добрый день!

Поделитесь, пожалуйста, информацией(если есть, то документацией) по выгрузке из SAP в XML формат. Знаний мало, буду рад любому ответу. :oops: Спасибо.

Автор:  sibrin [ Чт, окт 25 2007, 10:42 ]
Заголовок сообщения: 

Что именно интересует: выгрузка в файл или формирование XML?

Автор:  east [ Чт, окт 25 2007, 11:38 ]
Заголовок сообщения: 

Интересует все. И выгрузка и формирование. Все, что можно прочесть по данной теме, все, что расскажет о методах решения поставленной задачи и их применении от начала до конца.

"Постановка задачи звучит так: организовать выгрузку данных из SAP в XML формат, формат. :oops:

Автор:  msv [ Чт, окт 25 2007, 12:47 ]
Заголовок сообщения: 

Немного пространственная постановка.. Выгрузка чего, откуда?
Для начала нужно понять что из себя представляет сам xml. Инет полон материалами на эту тему: http://ru.wikipedia.org/wiki/XML http://help-xml.org.ua/.
Если Вам еще нужно будет и отображать выгруженную информацию в каком либо виде типа отчета, то необходимо создать шаблон.
А выгружать собственно просто:

Code:
* определение переменных
TYPES: BEGIN OF t_xml,
         data(300),
       END OF t_xml.

DATA: t_xml       TYPE STANDARD TABLE OF t_xml WITH HEADER LINE,
  xsl(255)   TYPE c          DEFAULT 'C:\tmp\tmp.xsl' LOWER CASE, " файл шаблона
      f_xml_s      TYPE string,
      f_xml_c(255) TYPE c.

...
    f_xml_c = xsl.
    REPLACE '.xsl' IN f_xml_c WITH '.xml'.
    f_xml_s = f_xml_c.
    CLEAR: t_xml, t_xml[].
    WRITE '<?xml version="1.0" encoding="windows-1251"?>'
      TO t_xml-data.
    APPEND t_xml.
    WRITE '<?xml-stylesheet type="text/xsl" href="Boln_alf.xsl"?>'
      TO t_xml-data.
    APPEND t_xml.
    WRITE '<body>' TO t_xml-data.
    APPEND t_xml.
    CONCATENATE  '<data>' тут_какая_либо_наша_переменная  '</data>' INTO t_xml-data.
    APPEND t_xml.
    WRITE '</body>' TO t_xml-data.
    APPEND t_xml.
...
* выгрузка файла
    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
        filename                        = f_xml_s
*       CODEPAGE                        = ' '
      TABLES
         data_tab                        = t_xml
         EXCEPTIONS
        file_write_error                = 1
        no_batch                        = 2
        gui_refuse_filetransfer         = 3
        invalid_type                    = 4
        no_authority                    = 5
        unknown_error                   = 6
        header_not_allowed              = 7
        separator_not_allowed           = 8
        filesize_not_allowed            = 9
        header_too_long                 = 10
        dp_error_create                 = 11
        dp_error_send                   = 12
        dp_error_write                  = 13
        unknown_dp_error                = 14
        access_denied                   = 15
        dp_out_of_memory                = 16
        disk_full                       = 17
        dp_timeout                      = 18
        file_not_found                  = 19
        dataprovider_exception          = 20
        control_flush_error             = 21
        OTHERS                          = 22
                .

    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ELSE.
      DATA: retcode TYPE i.
      CALL FUNCTION 'GUI_RUN'
        EXPORTING
          command          = f_xml_c
*       PARAMETER        =
*       CD               =
        IMPORTING
          returncode       = retcode.
    ENDIF.


Примерно так.
Удачи ;)

Автор:  sibrin [ Чт, окт 25 2007, 13:09 ]
Заголовок сообщения: 

Кроме write и concatenate есть прогрессивные методы созданния xml:
1) класс cl_ixml
2) CALL TRANSFORMATION id ...

Автор:  east [ Чт, окт 25 2007, 15:13 ]
Заголовок сообщения: 

А где найти можно документацию по "прогрессивным методам"? :oops: Может кто-нибудь располагет материалами, которые можно прочесть? :oops:

Выгружать нужно конкретные данные из таблиц SAP: matnr, meins, altme, ean и т.д.

Автор:  Silf [ Пт, окт 26 2007, 13:32 ]
Заголовок сообщения: 

Думаю, что данная ссылка Вам поможет -
https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/2657

Автор:  Bully [ Пт, окт 26 2007, 15:12 ]
Заголовок сообщения: 

Курс BIT140 - XML in SAP Solutions
И курсы по XI

Автор:  east [ Сб, окт 27 2007, 18:38 ]
Заголовок сообщения: 

Спасибо. К сожалению, сейчас не могу посмотреть есть ли у меня эти курсы... но думаю, что найду.

Автор:  east [ Пн, окт 29 2007, 09:57 ]
Заголовок сообщения: 

Ни курса bit140, ни курсов начинающихся с XI я у себя не нашел.. может кто поделится? :oops:

Автор:  sibrin [ Пн, окт 29 2007, 10:24 ]
Заголовок сообщения: 

east написал:
Ни курса bit140, ни курсов начинающихся с XI я у себя не нашел.. может кто поделится? :oops:

Не понимаю, зачем Вас послали на XI.

Скачайте книжку Next Generation ABAP Development
Зайдите на help.sap.com.
Нажмите F1 в ABAP-редакторе на call transformation.
Откройте в se80 класс cl_ixml, нажмите кнопку where used.

Автор:  Bully [ Пн, окт 29 2007, 11:27 ]
Заголовок сообщения: 

sibrin написал:
Не понимаю, зачем Вас послали на XI.


Не все же абапом голимым делать :)
Может что и стандартными стредствами получится. Поэтому и послал.

Автор:  sibrin [ Пн, окт 29 2007, 13:01 ]
Заголовок сообщения: 

Bully написал(а):
Может что и стандартными стредствами получится. Поэтому и послал.

По-моему, CALL TRANSFORMATION id — это как раз стандартное средство, позволяющее создавать XML без ABAP'а.

Автор:  Nikolas [ Пн, окт 29 2007, 14:24 ]
Заголовок сообщения: 

Могу выслать доку по работе с XML в SAP . Давай МЫЛ.

Автор:  Bully [ Пн, окт 29 2007, 14:24 ]
Заголовок сообщения: 

sibrin написал:
Bully написал(а):
Может что и стандартными стредствами получится. Поэтому и послал.

По-моему, CALL TRANSFORMATION id — это как раз стандартное средство, позволяющее создавать XML без ABAP'а.

... но без ABAPA результат куда?

Не о том речь. речь о том, что какие-то процессы выгрузки уже готовы. Надо лишь посмотреть какие :)

Понимаю, что написать свое бывает быстрее, но не всегда правильнее.

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/