Добрый день, уважаемые!
Нужен пинок в правильном направлении.
есть в абапе такой кусок кода:
Code:
DATA l_asdate TYPE char10.
DATA asdate TYPE dats VALUE '20160101'.
DATA xmlstr TYPE string.
WRITE asdate TO l_asdate DD/MM/YYYY.
CALL TRANSFORMATION z_test_excel_xml
SOURCE asdate = l_asdate
RESULT XML xmlstr.
Есть программа трансформации z_test_excel_xml:
Code:
<?sap.transform simple?>
<tt:transform xmlns:tt="http://www.sap.com/transformation-templates" xmlns:ddic="http://www.sap.com/abapxml/types/dictionary" xmlns:def="http://www.sap.com/abapxml/types/defined">
<tt:root name="ASDATE" type="C"/>
<tt:template>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html=
"http://www.w3.org/TR/REC-html40">
<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
...
</DocumentProperties>
<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
...
</ExcelWorkbook>
<Worksheet ss:Name="Sheet1">
<Cell>
<Data ss:Type="String">
<tt:value ref=".ASDATE"/>
</Data>
</Cell>
</Worksheet>
</Workbook>
</tt:template>
</tt:transform>
Потом идет сохранение на компе с расширением XLS.
Вопрос в следующем, почему ексель в таком файле заменяет цифры на звездочки, а точки не трогает? Пробовал рут определять как С и в ячейке тип прописывал С, но, в таком случае, ексель ругается на то, что тип С(в ячейке) задан неверно.
Может есть специальный тип даты/времени, куда надо передавать определенного типа переменные с абапа? С XML преобразованием имею дело впервые.
UPD: замена идет не в екселе, а на этапе преобразования, как я понял.