Текущее время: Пн, июн 23 2025, 14:36

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: itab -> XML
СообщениеДобавлено: Чт, июн 09 2005, 14:25 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
есть табличка itab:
DATA: BEGIN OF itab,
wo02(10),
wo03(4),
........
END OF itab.

требуется получить её представление в xml

делаю
Code:
      CALL TRANSFORMATION ('ZXSLT')
        SOURCE ROOT = itab
        RESULT XML line
        .

где xslt либо
Code:
<xsl:transform version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:sapxsl="http://www.sap.com/sapxsl"
>

<xsl:strip-space elements="*"/>
<xsl:template match="/">
<Root>
    <xsl:for-each select="//item">
        <order>
            <WO02>
                <xsl:value-of select="WO02"/>
            </WO02>
            <WO03>
                <xsl:value-of select="WO03"/>
            </WO03>
        </order>
    </xsl:for-each>
</Root>
</xsl:template>
</xsl:transform>

которая должна формировать XML, но выводит файл только с заголовком, либо
Code:
<tt:transform xmlns:tt="http://www.sap.com/transformation-templates">

  <tt:root name="ROOT"/>

  <tt:template>
    <tab1>
      <tt:loop ref=".ROOT" name="line">
        <wo02>
          <tt:value ref="$line.wo02" />
        </wo02>
        <tab2>
            <wo03>
              <tt:value ref="$line.wo03"/>
            </wo03>
        </tab2>
      </tt:loop>
    </tab1>
  </tt:template>

</tt:transform>



, которая в asXML, но падает в дамп CX_XSLT_RUNTIME_ERROR..
В чём подвох?

_________________
полный SAPец


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июн 10 2005, 10:20 
Гость
А ты не пробовал применять класс CL_XML_DOCUMENT?


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

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
Удав написал(а):
А ты не пробовал применять класс CL_XML_DOCUMENT?
робовал, там надо струткра документа создавать меьодами обьекта, что гораздо менее удобно, чем написать XSLT, и CALL TRASNFORMATION ...
вся проблемы написать XSLT
сейчас имеется..
Code:
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:strip-space elements="*" />
<xsl:template match="/"> 
    <Root>     
        <xsl:for-each select="*">       
            <Row>           
                <WO02>             
                    <xsl:value-of select="WO02"/>           
                </WO02>           
                <WO03>             
                    <xsl:value-of select="WO03"/>           
                </WO03>       
           </Row>     
       </xsl:for-each>
    </Root> 
</xsl:template>
</xsl:transform>


но <xsl:value-of select="WO02"/>
и <xsl:value-of select="WO03"/>
выдают пустые значения (wo02, wo03 - имена полей таблицы),
плюс <xsl:for-each select="*"> прохоит только один раз, хотя в таблице больше одной строки..

_________________
полный SAPец


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июн 10 2005, 11:27 
Гость
Зачем?
Там же есть методы SET_AS_TABLE и GET_AS_TABLE...


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июн 10 2005, 11:34 
Гость
Удав написал(а):
Зачем?
Там же есть методы SET_AS_TABLE и GET_AS_TABLE...

И еще: Сергей Королев в теме http://sapboard.ru/forum/viewtopic.php?t=4736&start=0 привел пример с xml-данными


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

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
дело в том, что мне нужен не просто одноуровневое представление itab в xml, это, кстати легко делается с помощью
Code:
     
CALL TRANSFORMATION ('ID')
        SOURCE ROOT = itab[]
        RESULT XML xml_out.
        .

а точно структурированный документ,
но если потом сделать
Code:
      CALL TRANSFORMATION ('ZZMyXSLT')
        SOURCE XML = xml_out
        RESULT XML = xml_out2
        .
то получиться
UNCAUGHT_EXCEPTION
CX_XSLT_RUNTIME_ERROR

_________________
полный SAPец


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

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
Честно сказать, совсем не силен в XSLT, но в САПе вроде ведь есть отладчик XSLT? Вот здесь прочитал.

_________________
С уважением, Сергей Королев


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

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
Сергей Королев написал:
Честно сказать, совсем не силен в XSLT, но в САПе вроде ведь есть отладчик XSLT? Вот здесь прочитал.

отладчик то есть,и XSLT срабатывает, только дамп всё равно вываливается,
на sdn прочитал что много всего с XML исправили в базисе 6.40, а у нас 6.20, как и где его справлять не ясно...

_________________
полный SAPец


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

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


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

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


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

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