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

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


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

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


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

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