Simple Transformation for XML created by Excel
Hello,
Excel can produce XML files quite easily in this documented format:
http://msdn.microsoft.com/en-us/library/aa140062(office.10).aspx
(in excel: file --> save as and choose XML)
Does someone has an idea of how I can read this XML using a Simple Transformation in ABAP?
Example: if this is an excel sheet with 3 columns and 3 lines
¦----
¦
¦ PERNR ¦ BEGDA ¦ ANZHL ¦
¦----
¦
¦ 12346 ¦ 20.02.2009 ¦15 ¦
¦----
¦
¦ 2356 ¦ 25.02.2009 ¦12 ¦
¦----
¦
this is the XML
The goal would be to transform this XML into an internal table. Any idea is appreciated.
Koen Van Loocke
Hi Keon,
Please find the below link
[Help|http://help.sap.com/abapdocu/en/ABAPCALL_TRANSFORMATION.htm]
[Help|http://help.sap.com/abapdocu/en/ABENABAP_ST.htm]
Please find the code below
[Code|https://www.sdn.sap.com/irj/scn/wiki?path=/display/abap/exportingdatatoExcel-XMLtotherescue]
Thanks
Kalyan
Similar Messages
-
Creating Simple transformation for an XML data having deep structure
Hi
I have the following XML structure..
<REQUESTS>
<REQUESTNAME>REQ123</REQUESTNAME>
<REQUESTID>1234</REQUESTID>
<CITY>NEWYORK</CITY>
<ZIPCODE>123456</ZIPCODE>
<COMPETENCIES>
<LANGUAGES>
<COMPETENCY>
<SKILL>SAP</SKILL>
<PROFICIENCY>TEST</PROFICIENCY>
<SKILL>JAVA</SKILL>
<PROFICIENCY>TEST123</PROFICIENCY>
(here we may have any number of records for SKILL&PROFICIENCY...)*
</COMPETENCIES>
</LANGUAGES>
</COMPETENCY>
</REQUESTS>
My requirement is to read the above data from an URL and push it into an internal table.
For this I'm trying to use Simple transformations but I'm facing difficulty in doing this.
Can you pl. guide me how to create the transformation and the corresponding code for this.
Best Regards
AnilHi
Here is the actual XML structure..
- <REQUEST>
<COUNTRY />
<ADDRESS />
<CITY />
<ASSIGNTYPE>IP</ASSIGNTYPE>
<CHARGETYPE>CH</CHARGETYPE>
<REMOTEALLOWED>Y</REMOTEALLOWED>
<SALESRATE>EUR</SALESRATE>
<SECURITY>NO</SECURITY>
<TRAVELEXP>Y</TRAVELEXP>
<MAXDAILYRATE />
<CREDENTIALS />
<EXPENDDATE />
<NEWENDDATE />
<NEWEXPENDDATE />
<REPLYBEFORE>2010-11-30</REPLYBEFORE>
<STARTDATE>2010-01-01</STARTDATE>
<ENDDATE>2010-12-31</ENDDATE>
<GCMTYPE>PM</GCMTYPE>
<GCMLEVELFROM>02</GCMLEVELFROM>
<GCMLEVELTO>08</GCMLEVELTO>
<LOCATION>FR43</LOCATION>
<MOBILITY>04</MOBILITY>
<ZIPCODE />
- <COMPETENCIES>
- <LANGUAGES>
- <COMPETENCY>
<SKILL>01106034</SKILL>
<PROFICIENCY>005103</PROFICIENCY>
</COMPETENCY>
</LANGUAGES>
- <ACTIVITIES>
- <COMPETENCY>
<SKILL>01105500</SKILL>
<PROFICIENCY>004507</PROFICIENCY>
</COMPETENCY>
</ACTIVITIES>
- <BUSINESS>
- <COMPETENCY>
<SKILL>01105729</SKILL>
<PROFICIENCY>004605</PROFICIENCY>
</COMPETENCY>
</BUSINESS>
- <INDUSTRIES>
- <COMPETENCY>
<SKILL>01105491</SKILL>
<PROFICIENCY>004901</PROFICIENCY>
</COMPETENCY>
</INDUSTRIES>
- <METHODS>
- <COMPETENCY>
<SKILL>01105591</SKILL>
<PROFICIENCY>004805</PROFICIENCY>
</COMPETENCY>
</METHODS>
- <OFFERINGS>
- <COMPETENCY>
<SKILL>01105840</SKILL>
<PROFICIENCY>005002</PROFICIENCY>
</COMPETENCY>
</OFFERINGS>
- <PRODUCTS>
- <COMPETENCY>
<SKILL>01107304</SKILL>
<PROFICIENCY>004703</PROFICIENCY>
</COMPETENCY>
</PRODUCTS>
</COMPETENCIES>
<CANDIDATES />
</REQUEST>
Here..... <SKILL></SKILL> <PROFICIENCY></PROFICIENCY> can be more than 1 entry...
For this I have created a simple transformation like below..
I have used the tcode 'XSLT_TOOL '..
In SE11 I have created a Table type 'ZCOMPETENCIES' which is having a line type 'ZLANGS'.
ZLANGS is a structure which has another structure called 'ZCOMPETENCY' and this 'ZCOMPETENCY' is having fields
SKILL & PROFICIENCY.
I have used the wizard button which u can find 'XSLT_TOOL '.. and provided the table type ZCOMPETENCIES' and it has automatically created the following transformation...
<?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="ROOT" type="?"/>
<tt:root name="COMPETENCIES" type="ddic:ZCOMPETENCIES"/>
<tt:template>
<COMPETENCIES>
<tt:loop ref=".COMPETENCIES">
<ZLANGS>
<COMPETENCY>
<SKILL tt:value-ref="COMPETENCY.SKILL"/>
<PROF tt:value-ref="COMPETENCY.PROF"/>
</COMPETENCY>
</ZLANGS>
</tt:loop>
</COMPETENCIES>
</tt:template>
</tt:transform>
I have written following code to get the data
CALL METHOD cl_gui_frontend_services=>gui_upload
EXPORTING
filename = gs_file
CHANGING
data_tab = gt_itab
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
not_supported_by_gui = 17
error_no_gui = 18
OTHERS = 19.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
GET REFERENCE OF gt_person INTO gs_result_xml-value.
gs_result_xml-name = 'COMPETENCIES'.
APPEND gs_result_xml TO gt_result_xml.
TRY.
CALL TRANSFORMATION ZTEST_TRAN
SOURCE XML gt_itab
RESULT (gt_result_xml).
CATCH cx_root INTO gs_rif_ex.
gs_var_text = gs_rif_ex->get_text( ).
MESSAGE gs_var_text TYPE 'E'.
ENDTRY.
Please let me know if you need any further details..
Best Regards
Anil -
BI Admin Tool and XSLT transformation for XML data source - How it works ?
Hello,
There is a possibility to import data from XML data source using BI Admin Tool.
In the import window we can point XSLT file. What is the purpose of that XSLT field?
Why I am asking ?
I thought it is smth like XSLT processor, but simply it doesnt work.
What I did:
- I pointed XML data source file
- I pointed XSLT transformation file
- Click OK, and still get the message that the XML file structure is not supported
After that I transformed that XML file with some desktop XSLT processor using the same XSLT file, and I tried to connect that file directly using BI Admin tool.Then it works. So it means that the transformation is ok.
So basically one question comes to my mind in that situation:
What is the purpose of XSLT field in BI Admin Tool when it comes to XML data source ?
(it doesnt look like XSLT processor)
Greetings
/MichalHi Mariano
Why you need to use XSLT for transforming XML file into ABAP table
Code is a part of some ABAP report. Looks like it is reading a file from file system and updating table after transformation
If you have requirement like you need to read XML file and then insert the data into a SAP table
You can use
File to RFC
File to Proxy scenario using SAP PI.
Please provide more inputs on requirement to help
Thanks
Gaurav -
Predefined transformations for drop/create index?
Hi,
I want to add pre/postmap transformations for dropping/recreating indexes in the target table, for performance reasons.
I can't find any predefined transformations for this (such as WB_DISABLE/ENABLE_ALL_CONSTRAINTS for constraints). It seems I have to program this myself (dynamic PL/SQL for reuse with other tables seems the logical choice), but it seems such a dumb oversight - has Oracle really not supplied predefined transformations for this? It must be an extremely common need in ETL?
Regards,
Kai Quale
University of OsloOn further thought, one needs more information than the table name to (re)create an index. (That's actually one of my pet peeves against Oracle - that you can't enable/disable indexes in the same way as constraints.)
Offhand, the only solution I see is to store index metainformation in a separate table, write custom procedures for disabling FKs/dropping indexes and enabling FKs/creating indexes, using the metatable.
It is a pretty common task in data warehousing - disable FK/drop index => run mapping => enable FK/create index. How do people do this in OWB?
Regards,
Kai -
XSLT transformation for XML to ABAP internal table
Hi, can anyone please tell me how it should be the xslt tranformation to conver this xml
<Embargos_ARBA_DOC>
<ns:Embargos_ARBA_MT
xmlns:ns="un:swissmedical:sap:proxy:embargos_arba:file">
<Embargos_ARBA_MT>
<FECHA>20081101</FECHA>
<CUIT>50000002124</CUIT>
<MONTO>0000013794090</MONTO>
<RAZON_SOCIAL>RAUL ARMANDO CUNQUEIRO S.A.C.I.</RAZON_SOCIAL>
</Embargos_ARBA_MT>
<Embargos_ARBA_MT>
<FECHA>20081101</FECHA>
<CUIT>55000001456</CUIT>
<MONTO>0000001144410</MONTO>
<RAZON_SOCIAL>PARODI ESTEBAN ARMANDO</RAZON_SOCIAL>
</Embargos_ARBA_MT>
</ns:Embargos_ARBA_MT>
</Embargos_ARBA_DOC>
to this abap Table....
DATA: BEGIN OF i_embargos_arba_doc occurs 0,
fecha TYPE d,
cuit TYPE char11,
monto TYPE char13,
razon_social(120),
END OF i_embargos_arba_mt.
so i can transform it with this sentence
CALL TRANSFORMATION ('embargos_transformation')
SOURCE XML source
RESULT Embargos_ARBA_DOC = embargos.
pls i need help because i am unable to create this xslt transformation...
I will give the highest rewards points to the one who can help me.
thanks!
marianoHi Mariano
Why you need to use XSLT for transforming XML file into ABAP table
Code is a part of some ABAP report. Looks like it is reading a file from file system and updating table after transformation
If you have requirement like you need to read XML file and then insert the data into a SAP table
You can use
File to RFC
File to Proxy scenario using SAP PI.
Please provide more inputs on requirement to help
Thanks
Gaurav -
Using Simple Transformation for content extraction
Hello,
Does someone know a solution for a simple and fast transformation to extract (text) content from an arbitary xml document. Only the text-values between two xml elements are needed to perform a search.
The corresponding behavior in XSL looks as follows (but lasts too long):
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sap="http://www.sap.com/sapxsl" version="1.0">
<xsl:output method="text"/>
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="text()">
<xsl:value-of select="."/>
<xsl:text> </xsl:text><!-- just for separation -->
</xsl:template>
</xsl:transform>
The result could be a table with "strings" in each row or a concatenated string.
If someone can provide an ABAP regular expression (or a function module) fullfilling the same task I would be happy to.
Many thanks and regards
ChristianHi Keon,
Please find the below link
[Help|http://help.sap.com/abapdocu/en/ABAPCALL_TRANSFORMATION.htm]
[Help|http://help.sap.com/abapdocu/en/ABENABAP_ST.htm]
Please find the code below
[Code|https://www.sdn.sap.com/irj/scn/wiki?path=/display/abap/exportingdatatoExcel-XMLtotherescue]
Thanks
Kalyan -
Simple Transformation when XML sometimes appears without data
Hi to all
I am doing a ST to read XML file, and update this info in SAP.
All is right, but happens some structures are sometimes without data, and this situation is normal in the business process.
Example with Data:
Example without DATA
Exists, any form of the ST don´t throw error for this situation ? Have I to use some tag in particular?
Thank you very much for the help
regards
DarioThanks Brad
Please, can you give me an example?
Thank you very much
regards
Dario -
Physical path for XML created of program RTXDART_PT
Hi guys,
where does the program RTXDART_PT save its XML file? What is the physical path location?
Thank you!Specify the full path in file name box when executing it, example:
/usr/sap/AAA/SYS/global/DART/PT.xml
Much better than searching for the files......
Good luck with DART files -
Simple Transformation from Adobe Form XML document to Dictionary structures
I have an XML document that I am receiving via email (the XML document is generated from an Adobe Interactive form). I would like to write a simple transformation that will map that XML document to a structure and internal table in my ABAP program. I am new to Simple Transformations and I am having trouble working out how to write a simple transformation for this type of XML document. I would prefer to write a custom transformation rather than using the identity transformation (ID). I would appreciate any help you can provide.
Please refer to the below for an example of the XML file.
This maps directly to 2 dictionary structures that exist within our system containing all of the same components. PIM_REQUEST_HDR has a corresponding SAP dictionary structure Y_REQUEST_HDR and PIM_REQUEST_ITEMS has a corresponding SAP dictionary structure Y_REQUEST_ITEMS.
Can anyone help with some instructions or examples of how to create the simple transformation?
Thanks for your help! We are using ECC 6.0
Sample XML to be transformed:
<?xml version="1.0" encoding="UTF-8" ?>
<data>
<SFPSY>
<DATE>2007-07-03</DATE>
<TIME>07:25:21</TIME>
<USERNAME>TLCITY</USERNAME>
<SUBRC>0</SUBRC>
</SFPSY>
<PIM_REQUEST_HDR>
<MANDT />
<REQ_NUM />
<REQ_DESC>blah blah blah</REQ_DESC>
<PROC_AREA>CTC</PROC_AREA>
<REQUESTED>2007-07-03</REQUESTED>
<REQUIRED>2007-07-03</REQUIRED>
<REQUESTOR>TLCITY</REQUESTOR>
<MOD_TYPE>SAP Note manual changes</MOD_TYPE>
<SAPNOTE_NUM>59549656</SAPNOTE_NUM>
<SAPMSG_NUM>0000000000</SAPMSG_NUM>
<TECH_SCRIPT />
<REASON />
<DEV_ENV>ECC6</DEV_ENV>
<INSTALL_NO>2861655161</INSTALL_NO>
<BASIS_REL>700</BASIS_REL>
<REG_STATUS />
<REJ_REASON />
<APP_DATE />
<REJ_DATE />
<APPROVER />
<REGISTRATOR />
<REG_DATE />
</PIM_REQUEST_HDR>
<PIM_REQUEST_ITEMS>
<DATA>
<MANDT />
<REQ_NUM />
<PGMID>R3TR</PGMID>
<OBJECT>PROG</OBJECT>
<OBJ_NAME>RSDIJOIJSDOIF</OBJ_NAME>
<ACCESSKEY />
</DATA>
<DATA>
<MANDT />
<REQ_NUM />
<PGMID>R3TR</PGMID>
<OBJECT>PROG</OBJECT>
<OBJ_NAME>RRRSDIJOIJS03</OBJ_NAME>
<ACCESSKEY />
</DATA>
</PIM_REQUEST_ITEMS>
</data>I have solved this one with the help of another collegue.
To simplify, we changed the XML to be as follows:
[code]
<?xml version="1.0" encoding="UTF-8" ?>
<data>
<PIM_REQUEST>
<REQ_HDR>
<MANDT />
<REQ_NUM />
<REQ_DESC>Key required for pricing routines</REQ_DESC>
<PROC_AREA>SD</PROC_AREA>
<REQUESTED>2007-07-30</REQUESTED>
<REQUIRED>2007-08-02</REQUIRED>
<REQUESTOR>TLCITY</REQUESTOR>
<MOD_TYPE>SAP Note: Manual Changes</MOD_TYPE>
<SAPNOTE_NUM>0000000000</SAPNOTE_NUM>
<SAPMSG_NUM>0000000000</SAPMSG_NUM>
<TECH_SCRIPT>TS-2498 Pricing Routines</TECH_SCRIPT>
<REASON>New pricing routines required</REASON>
<DEV_ENV>ECC6</DEV_ENV>
<INSTALL_NO>029</INSTALL_NO>
<BASIS_REL>700</BASIS_REL>
<REG_STATUS />
<REJ_REASON />
<APP_DATE />
<REJ_DATE />
<APPROVER />
<REGISTRATOR />
<REG_DATE />
</REQ_HDR>
<KEY_DETAILS>
<DATA>
<MANDT />
<REQ_NUM />
<PGMID>R3TR</PGMID>
<OBJECT>PROG</OBJECT>
<OBJ_NAME>RVGHT902</OBJ_NAME>
<ACCESSKEY />
</DATA>
<DATA>
<MANDT />
<REQ_NUM />
<PGMID>R3TR</PGMID>
<OBJECT>PROG</OBJECT>
<OBJ_NAME>RVGHT901</OBJ_NAME>
<ACCESSKEY />
</DATA>
</KEY_DETAILS>
</PIM_REQUEST>
</data>
[/code]
This maps directly to 1 dictionary structure that exists within our system containing all of the same components. PIM_REQUEST has a corresponding SAP dictionary structure Y_REQUEST_HDR which is a deep structure and has within it a structure REQ_HDR and a table KEY_DETAILS.
The corresponding simple transformation we have then used is as follws:
[code]
<?sap.transform simple?>
<tt:transform xmlns:tt="http://www.sap.com/transformation-templates">
<tt:root name="root"/>
<tt:template>
<data>
<PIM_REQUEST>
<tt:copy ref="root"/>
</PIM_REQUEST>
</data>
</tt:template>
</tt:transform>
[/code]
Alternatively the following 2 options also work:
Option 2:
[code]
<?sap.transform simple?>
<tt:transform xmlns:tt="http://www.sap.com/transformation-templates">
<tt:root name="root"/>
<tt:template>
<data>
<PIM_REQUEST>
<REQ_HDR>
<tt:copy ref="root.REQ_HDR"/>
</REQ_HDR>
<KEY_DETAILS>
<tt:loop name="KEY_DETAILS" ref="root.KEY_DETAILS">
<DATA>
<tt:copy ref="$KEY_DETAILS"/>
</DATA>
</tt:loop>
</KEY_DETAILS>
</PIM_REQUEST>
</data>
</tt:template>
</tt:transform>
[/code]
Option 3:
[code]
<?sap.transform simple?>
<tt:transform xmlns:tt="http://www.sap.com/transformation-templates">
<tt:root name="root"/>
<tt:template>
<data>
<PIM_REQUEST>
<REQ_HDR>
<MANDT tt:value-ref="root.REQ_HDR.MANDT"/>
<REQ_NUM tt:value-ref="root.REQ_HDR.REQ_NUM"/>
<REQ_DESC tt:value-ref="root.REQ_HDR.REQ_DESC"/>
<PROC_AREA tt:value-ref="root.REQ_HDR.PROC_AREA"/>
<REQUESTED tt:value-ref="root.REQ_HDR.REQUESTED"/>
<REQUIRED tt:value-ref="root.REQ_HDR.REQUIRED"/>
<REQUESTOR tt:value-ref="root.REQ_HDR.REQUESTOR"/>
<MOD_TYPE tt:value-ref="root.REQ_HDR.MOD_TYPE"/>
<SAPNOTE_NUM tt:value-ref="root.REQ_HDR.SAPNOTE_NUM"/>
<SAPMSG_NUM tt:value-ref="root.REQ_HDR.SAPMSG_NUM"/>
<TECH_SCRIPT tt:value-ref="root.REQ_HDR.TECH_SCRIPT"/>
<REASON tt:value-ref="root.REQ_HDR.REASON"/>
<DEV_ENV tt:value-ref="root.REQ_HDR.DEV_ENV"/>
<INSTALL_NO tt:value-ref="root.REQ_HDR.INSTALL_NO"/>
<BASIS_REL tt:value-ref="root.REQ_HDR.BASIS_REL"/>
<REG_STATUS tt:value-ref="root.REQ_HDR.REG_STATUS"/>
<REJ_REASON tt:value-ref="root.REQ_HDR.REJ_REASON"/>
<APP_DATE tt:value-ref="root.REQ_HDR.APP_DATE"/>
<REJ_DATE tt:value-ref="root.REQ_HDR.REJ_DATE"/>
<APPROVER tt:value-ref="root.REQ_HDR.APPROVER"/>
<REGISTRATOR tt:value-ref="root.REQ_HDR.REGISTRATOR"/>
<REG_DATE tt:value-ref="root.REQ_HDR.REG_DATE"/>
</REQ_HDR>
<KEY_DETAILS>
<tt:loop ref="root.KEY_DETAILS" name="KEY_DETAILS">
<DATA>
<MANDT tt:value-ref="$KEY_DETAILS.MANDT"/>
<REQ_NUM tt:value-ref="$KEY_DETAILS.REQ_NUM"/>
<PGMID tt:value-ref="$KEY_DETAILS.PGMID"/>
<OBJECT tt:value-ref="$KEY_DETAILS.OBJECT"/>
<OBJ_NAME tt:value-ref="$KEY_DETAILS.OBJ_NAME"/>
<ACCESSKEY tt:value-ref="$KEY_DETAILS.ACCESSKEY"/>
</DATA>
</tt:loop>
</KEY_DETAILS>
</PIM_REQUEST>
</data>
</tt:template>
</tt:transform>
[/code] -
Simple Transformation XML to ABAP - error CX_ST_MATCH_ELEMENT
Hi all,
I have a problem with a transformation from xml to abap. My XML file (taken from a pdf file) is
<?xml version="1.0" encoding="iso-8859-1" ?>
- <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
- <asx:values>
<NETWORK>E60000000000</NETWORK>
<OPERAZIONE>0010</OPERAZIONE>
- <TABELLA>
- <ROW xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/" xfa:dataNode="dataGroup">
<MANDT>300</MANDT>
<NETWORK>E60000000000</NETWORK>
<OPERAZIONE>0010</OPERAZIONE>
<ID_ACT>1</ID_ACT>
<DESC_ACT>ATTIVITÀ1</DESC_ACT>
<LONG_TXT></LONG_TXT>
<MAKE_BUY></MAKE_BUY>
<WP></WP>
<EVENTO_TECH></EVENTO_TECH>
<TIPO_LEGAME></TIPO_LEGAME>
<CONSEGNA></CONSEGNA>
</ROW>
- <ROW xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/" xfa:dataNode="dataGroup">
<MANDT>300</MANDT>
<NETWORK>E60000000000</NETWORK>
<OPERAZIONE>0010</OPERAZIONE>
<ID_ACT>2</ID_ACT>
<DESC_ACT>ATTIVITÀ2</DESC_ACT>
<LONG_TXT>ATTIVITÀ2 ATTIVITÀ2 ATTIVITÀ2 ATTIVITÀ2 ATTIVITÀ2 ATTIVITÀ2 ATTIVITÀ2 ATTIVITÀ2 ATTIVITÀ2 ATTIVITÀ2 ATTIVITÀ2</LONG_TXT>
<MAKE_BUY>M</MAKE_BUY>
<WP></WP>
<EVENTO_TECH></EVENTO_TECH>
<TIPO_LEGAME></TIPO_LEGAME>
<CONSEGNA></CONSEGNA>
</ROW>
</TABELLA>
</asx:values>
</asx:abap>
my transformation is
<?sap.transform simple?>
<tt:transform xmlns:tt="http://www.sap.com/transformation-templates">
<tt:root name="ROOT"></tt:root>
<tt:root name="NETWORK"></tt:root>
<tt:root name="OPERAZIONE"></tt:root>
<tt:template>
<abap>
<values>
<network>
<tt:value ref="NETWORK"></tt:value>
</network>
<operazione>
<tt:value ref="OPERAZIONE"></tt:value>
</operazione>
<tabella>
<tt:loop ref=".ROOT" name="line">
<mandt>
<tt:value ref="$line.mandt"></tt:value>
</mandt>
<network>
<tt:value ref="$line.network"></tt:value>
</network>
<OPERAZIONE>
<tt:value ref="$line.OPERAZIONE"></tt:value>
</OPERAZIONE>
<ID_ACT>
<tt:value ref="$line.ID_ACT"></tt:value>
</ID_ACT>
<DESC_ACT>
<tt:value ref="$line.DESC_ACT"></tt:value>
</DESC_ACT>
<LONG_TXT>
<tt:value ref="$line.LONG_TXT"></tt:value>
</LONG_TXT>
<MAKE_BUY>
<tt:value ref="$line.MAKE_BUY"></tt:value>
</MAKE_BUY>
<WP>
<tt:value ref="$line.WP"></tt:value>
</WP>
<EVENTO_TECH>
<tt:value ref="$line.EVENTO_TECH"></tt:value>
</EVENTO_TECH>
<TIPO_LEGAME>
<tt:value ref="$line.TIPO_LEGAME"></tt:value>
</TIPO_LEGAME>
<CONSEGNA>
<tt:value ref="$line.CONSEGNA"></tt:value>
</CONSEGNA>
</tt:loop>
</tabella>
</values>
</abap>
</tt:template>
</tt:transform>
when I execute my code
the system dump with this error
ST_MATCH_FAIL
excep. CX_ST_MATCH_ELEMENT
TRY.
CALL TRANSFORMATION ('ZT_NETWORK')
SOURCE XML lv_xml_data_string
RESULT network = l_network
operazione = l_operazione
root = it_data_tmp.
CATCH cx_sy_conversion_data_loss .
CATCH cx_xslt_exception INTO xslt_error.
xslt_message = xslt_error->get_text( ).
WRITE:/ xslt_message .
ENDTRY.
Any help?
thanks
enzoEnzo Porcasi wrote:
> I have a problem with a transformation from xml to abap. My XML file (taken from a pdf file) is
>
<?xml version="1.0" encoding="iso-8859-1" ?>
> <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
> <asx:values>
Your XML is strange, it looks like a mix of pdf form content (xfa) and identity transformation (asx).
Could you explain more ?
Anyway, I tried to find out the errors (not only cx_st_match_element, that was just a catch missing), it works with the following program. Here are the main issues I have found :
- always catch exception class cx_st_error when you use simple transformations (it contains cx_st_match_element and all other simple transformation exceptions)
- xml "asx:abap" and "asx:values" in your input XML are useless, they are only used by identity transformation ("ID"); you may keep them if you want, but I advise you to see why they are in the xml !
- Use same case in your tags (if xml contains in the transformation so that it corresponds to the input XML
- I renamed all abap names with prefix ABAP_ so that to clearly differentiate xml tags and abap field names (so that it is more easy to understand, for every sdn reader; I hope it will help as I didn't find many threads in the forum).
Simple transformation :
<?sap.transform simple?>
<tt:transform xmlns:tt="http://www.sap.com/transformation-templates">
<tt:root name="ABAP_NETWORK"></tt:root>
<tt:root name="ABAP_OPERAZIONE"></tt:root>
<tt:root name="ABAP_TABELLA"></tt:root>
<tt:template>
<ROOT>
<NETWORK>
<tt:value ref=".ABAP_NETWORK"></tt:value>
</NETWORK>
<OPERAZIONE>
<tt:value ref=".ABAP_OPERAZIONE"></tt:value>
</OPERAZIONE>
<TABELLA>
<tt:loop ref=".ABAP_TABELLA" name="line">
<ROW>
<MANDT>
<tt:value ref="$line.ABAP_MANDT"></tt:value>
</MANDT>
<NETWORK>
<tt:value ref="$line.ABAP_NETWORK"></tt:value>
</NETWORK>
<OPERAZIONE>
<tt:value ref="$line.ABAP_OPERAZIONE"></tt:value>
</OPERAZIONE>
<ID_ACT>
<tt:value ref="$line.ABAP_ID_ACT"></tt:value>
</ID_ACT>
<DESC_ACT>
<tt:value ref="$line.ABAP_DESC_ACT"></tt:value>
</DESC_ACT>
<LONG_TXT>
<tt:value ref="$line.ABAP_LONG_TXT"></tt:value>
</LONG_TXT>
<MAKE_BUY>
<tt:value ref="$line.ABAP_MAKE_BUY"></tt:value>
</MAKE_BUY>
<WP>
<tt:value ref="$line.ABAP_WP"></tt:value>
</WP>
<EVENTO_TECH>
<tt:value ref="$line.ABAP_EVENTO_TECH"></tt:value>
</EVENTO_TECH>
<TIPO_LEGAME>
<tt:value ref="$line.ABAP_TIPO_LEGAME"></tt:value>
</TIPO_LEGAME>
<CONSEGNA>
<tt:value ref="$line.ABAP_CONSEGNA"></tt:value>
</CONSEGNA>
</ROW>
</tt:loop>
</TABELLA>
</ROOT>
</tt:template>
</tt:transform>
Program and XML included :
REPORT zsro2.
DATA l_network TYPE string.
DATA l_operazione TYPE string.
DATA : BEGIN OF lt_data_tmp OCCURS 0,
abap_mandt TYPE string,
abap_network TYPE string,
abap_operazione TYPE string,
abap_id_act TYPE string,
abap_desc_act TYPE string,
abap_long_txt TYPE string,
abap_make_buy TYPE string,
abap_wp TYPE string,
abap_evento_tech TYPE string,
abap_tipo_legame TYPE string,
abap_consegna TYPE string,
END OF lt_data_tmp.
DATA xslt_error TYPE REF TO cx_xslt_exception.
DATA lo_st_error TYPE REF TO cx_st_error.
DATA lv_xml_data_string TYPE string.
DATA xslt_message TYPE string.
DEFINE conc.
concatenate lv_xml_data_string &1 into lv_xml_data_string.
END-OF-DEFINITION.
*conc '<?xml version="1.0" encoding="iso-8859-1" ?>'.
*conc '<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">'.
*conc ' <asx:values>'.
conc ' <ROOT>'.
conc ' <NETWORK>E60000000000</NETWORK> '.
conc ' <OPERAZIONE>0010</OPERAZIONE> '.
conc ' <TABELLA>'.
conc ' <ROW xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/" xfa:dataNode="dataGroup">'.
conc ' <MANDT>300</MANDT> '.
conc ' <NETWORK>E60000000000</NETWORK> '.
conc ' <OPERAZIONE>0010</OPERAZIONE> '.
conc ' <ID_ACT>1</ID_ACT> '.
conc ' <DESC_ACT>ATTIVITÀ1</DESC_ACT> '.
conc ' <LONG_TXT></LONG_TXT> '.
conc ' <MAKE_BUY></MAKE_BUY> '.
conc ' <WP></WP> '.
conc ' <EVENTO_TECH></EVENTO_TECH> '.
conc ' <TIPO_LEGAME></TIPO_LEGAME> '.
conc ' <CONSEGNA></CONSEGNA> '.
conc ' </ROW>'.
conc ' <ROW xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/" xfa:dataNode="dataGroup">'.
conc ' <MANDT>300</MANDT> '.
conc ' <NETWORK>E60000000000</NETWORK> '.
conc ' <OPERAZIONE>0010</OPERAZIONE> '.
conc ' <ID_ACT>2</ID_ACT> '.
conc ' <DESC_ACT>ATTIVITÀ2</DESC_ACT> '.
conc ' <LONG_TXT>ATTIVITÀ2 ATTIVITÀ2 ATTIVITÀ2 ATTIVITÀ2 ATTIVITÀ2 ATTIVITÀ2 ATTIVITÀ2 ATTIVITÀ2 ATTIVITÀ2 ATTIVITÀ2 ATTIVITÀ2</LONG_TXT> '.
conc ' <MAKE_BUY>M</MAKE_BUY> '.
conc ' <WP></WP> '.
conc ' <EVENTO_TECH></EVENTO_TECH> '.
conc ' <TIPO_LEGAME></TIPO_LEGAME> '.
conc ' <CONSEGNA></CONSEGNA> '.
conc ' </ROW>'.
conc ' </TABELLA>'.
conc ' </ROOT>'.
*conc ' </asx:values>'.
*conc '</asx:abap>'.
DATA lv_xml_data_string_2 TYPE string.
TRY.
CALL TRANSFORMATION zsro
SOURCE
XML lv_xml_data_string
RESULT
abap_network = l_network
abap_operazione = l_operazione
abap_tabella = lt_data_tmp[].
CATCH cx_sy_conversion_data_loss .
CATCH cx_st_error INTO lo_st_error.
xslt_message = lo_st_error->get_text( ).
WRITE:/ xslt_message .
CATCH cx_xslt_exception INTO xslt_error.
xslt_message = xslt_error->get_text( ).
WRITE:/ xslt_message .
ENDTRY.
BREAK-POINT. -
Simple Transformation and RSS feed
OK, I decided to clean up an old program and try it with a Simple Transformation. I created the Simple Transformation and when I "execute" and give it the location of a local copy of the RSS file it returns.
XSLT Tester
Runtime Errors
Reason : No valid XSLT program supplied
So is this a problem with the ST or is the preview system perhaps missing something? If it's the ST I'll post it otherwise where should I be looking?I'm going to take a guess, but I'm thinking that the test/debug tool doesn't actually support Simple Transformations, just XSLTs. I couldn't find documentation to support this, but when I looked at the coding of the test/debug application I find that it doesn't use the CALL TRANSFORMATION command - instead it uses the class CL_XSLT_PROCESSOR so that it can trap extra information. In the notes of the program it even states that this is not the correct usage in normal programs and the class is only used here for extra debug information. This class appears to be structured to only support full XSLT and not Simple Transformations.
Although it is pretty easy just to code up your own little test. The key is to include the extra exception handling to get the source position in the ST where the error occurred (very helpful when debugging).
catch cx_st_error into st_err.
s = st_err->get_text( ).
st_err->get_st_source_position(
importing
prog_name = prog_name
line = line ). -
SetIgnoringElementContentWhitespace() for XML-Schema ?
Hi,
I've got a (maybe simple) question for xml-freaks...
In the future I wanna work with xml-files. So, I've to use SAX and/or DOM.
I've heard the method setIgnoringElementContentWhitespace() of the class DocumentBuilderFactory requieres the DTD.
Do you know, if I also can use XML-Schema in order to use setIgnoringElementContentWhitespace() - or does this method really only supports DTD?
Then maybe do you know a similar method like setIgnoringElementContentWhitespace(), which supports XML-Schema?
Bye
ChrisSeems to me that trying it out would be the easiest way to find out.
If you don't have a setup where you can try it out, then you don't need to know the answer yet. -
Create xml tag dynamically within simple transformation
Hi all together,
I'm faceing the following problem:
There is a internal table provided, consisting of name/value-pairs. Something like
ls_struc-name = 'NAME1'.
ls_struc-value = 'XYZ'.
append ls_struc to lt_struc
ls_struc-name = 'CITY1'.
ls_struc-value = 'Munich'.
append ls_struc to lt_struc
and so on.
I have to create this XML (with simple transformation):
<NAME1>XYZ</NAME1>
<CITY1>Munich</CITY1>
Everythings works fine so far (tables, values etc.), but I have problems with creating the XML-Tag, e.g <NAME1> from "$line.name" within the transformation. I don't have any information about the data structure (therefore "call transaction id" does not work).
Any hint is useful!!!
Best regards,
ThomasExaple program for creating XML file from abap
REPORT z_xit_xml_dom_create.
TYPE-POOLS: ixml.
TYPES: BEGIN OF xml_line,
data(256) TYPE x,
END OF xml_line.
DATA: l_ixml TYPE REF TO if_ixml,
l_streamfactory TYPE REF TO if_ixml_stream_factory,
l_ostream TYPE REF TO if_ixml_ostream,
l_renderer TYPE REF TO if_ixml_renderer,
l_document TYPE REF TO if_ixml_document.
DATA: l_element_flights TYPE REF TO if_ixml_element,
l_element_airline TYPE REF TO if_ixml_element,
l_element_flight TYPE REF TO if_ixml_element,
l_element_from TYPE REF TO if_ixml_element,
l_element_to TYPE REF TO if_ixml_element,
l_element_dummy TYPE REF TO if_ixml_element,
l_value TYPE string.
DATA: l_xml_table TYPE TABLE OF xml_line,
l_xml_size TYPE i,
l_rc TYPE i.
DATA: lt_spfli TYPE TABLE OF spfli.
DATA: l_spfli TYPE spfli.
START-OF-SELECTION.
* Fill the internal table
SELECT * FROM spfli INTO TABLE lt_spfli.
* Sort internal table
SORT lt_spfli BY carrid.
* Start filling xml dom object from internal table
LOOP AT lt_spfli INTO l_spfli.
AT FIRST.
* Creating a ixml factory
l_ixml = cl_ixml=>create( ).
* Creating the dom object model
l_document = l_ixml->create_document( ).
* Fill root node with value flights
l_element_flights = l_document->create_simple_element(
name = 'flights'
parent = l_document ).
ENDAT.
AT NEW carrid.
* Create element 'airline' as child of 'flights'
l_element_airline = l_document->create_simple_element(
name = 'airline'
parent = l_element_flights ).
* Create attribute 'code' of node 'airline'
l_value = l_spfli-carrid.
l_rc = l_element_airline->set_attribute( name = 'code' value = l_value ).
* Create attribute 'name' of node 'airline'
SELECT SINGLE carrname FROM scarr INTO l_value WHERE carrid EQ l_spfli-carrid.
l_rc = l_element_airline->set_attribute( name = 'name' value = l_value ).
ENDAT.
AT NEW connid.
* Create element 'flight' as child of 'airline'
l_element_flight = l_document->create_simple_element(
name = 'flight'
parent = l_element_airline ).
* Create attribute 'number' of node 'flight'
l_value = l_spfli-connid.
l_rc = l_element_flight->set_attribute( name = 'number' value = l_value ).
ENDAT.
* Create element 'from' as child of 'flight'
CONCATENATE l_spfli-cityfrom ',' l_spfli-countryfr INTO l_value.
l_element_from = l_document->create_simple_element(
name = 'from'
value = l_value
parent = l_element_flight ).
* Create attribute 'airport' of node 'from'
l_value = l_spfli-airpfrom.
l_rc = l_element_from->set_attribute( name = 'airport' value = l_value ).
* Create element 'to' as child of 'flight'
CONCATENATE l_spfli-cityto ',' l_spfli-countryto INTO l_value.
l_element_to = l_document->create_simple_element(
name = 'to'
value = l_value
parent = l_element_flight ).
* Create attribute 'airport' of node 'from'
l_value = l_spfli-airpto.
l_rc = l_element_to->set_attribute( name = 'airport' value = l_value ).
* Create element 'departure' as child of 'flight'
l_value = l_spfli-deptime.
l_element_dummy = l_document->create_simple_element(
name = 'departure'
value = l_value
parent = l_element_flight ).
* Create element 'arrival' as child of 'flight'
l_value = l_spfli-arrtime.
l_element_dummy = l_document->create_simple_element(
name = 'arrival'
value = l_value
parent = l_element_flight ).
* Create element 'type' as child of 'flight'
CASE l_spfli-fltype.
WHEN 'X'.
l_value = 'Charter'.
WHEN OTHERS.
l_value = 'Scheduled'.
ENDCASE.
l_element_dummy = l_document->create_simple_element(
name = 'type'
value = l_value
parent = l_element_flight ).
ENDLOOP.
IF sy-subrc NE 0.
MESSAGE 'No data into db table ''spfli'', please run program ''SAPBC_DATA_GENERATOR'' with transaction ''SA38''' TYPE 'E'.
ENDIF.
* Creating a stream factory
l_streamfactory = l_ixml->create_stream_factory( ).
* Connect internal XML table to stream factory
l_ostream = l_streamfactory->create_ostream_itable( table = l_xml_table ).
* Rendering the document
l_renderer = l_ixml->create_renderer( ostream = l_ostream
document = l_document ).
l_rc = l_renderer->render( ).
* Saving the XML document
l_xml_size = l_ostream->get_num_written_raw( ).
CALL METHOD cl_gui_frontend_services=>gui_download
EXPORTING
bin_filesize = l_xml_size
filename = 'c:\temp\flights.xml'
filetype = 'BIN'
CHANGING
data_tab = l_xml_table
EXCEPTIONS
OTHERS = 24.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF. -
Simple Transformation - ABAP 2 XML
Dear all,
Finally I was able to transform an internal table to xml using ST. The question is: Can I create different structured XML-files using the same (structured) internal table. Or is there some kind of a 1:1 relationship (between an ITAB structure + XML structure)?
1) Data declaration
TYPES: BEGIN OF ty_curr,
tcurr TYPE tcurr_curr,
gdatu TYPE gdatu_inv,
ukurs TYPE ukurs_curr.
TYPES: END OF ty_curr.
DATA: gt_tcurr TYPE TABLE OF ty_curr.
2) Data selection
Select * into corresponding fields of table gt_tcurr from tcurr where...
3) Transformation ABAP 2 XML
CALL TRANSFORMATION z_tcurr
SOURCE root = gt_tcurr
RESULT XML g_xml_string.
<?sap.transform simple?>
<tt:transform xmlns:tt="http://www.sap.com/transformation-templates">
<tt:root name="ROOT"/>
<tt:template>
<tt:serialize>
<rates>
<tt:loop name="line" ref=".ROOT">
<currency>
<tt:value ref="$line.tcurr"/>
</currency>
<date>
<tt:value ref="$line.gdatu"/>
</date>
<rate>
<tt:value ref="$line.ukurs"/>
</rate>
</tt:loop>
</rates>
</tt:serialize>
</tt:template>
</tt:transform>
Result (XML)
<?xml version="1.0" encoding="utf-8" ?>
- <rates>
<currency>USD</currency>
<date>01.01.2010</date>
<rate>-1.1868</rate>
<currency>EUR</currency>
<date>01.01.2010</date>
<rate>-1.1791</rate>
<currency>USD</currency>
<date>02.01.2010</date>
<rate>-1.1864</rate>
<currency>EUR</currency>
<date>02.01.2010</date>
<rate>-1.1864</rate>
</rates>:
so far so good... BUT; if I want to get another XML structure
Example 1) -> sorted by currency
<?xml version="1.0" encoding="utf-8" ?>
- <rates>
<currency>USD
<date>01.01.2010</date>
<rate>-1.1868</rate>
<date>02.01.2010</date>
<rate>-1.1868</rate>
</currency>
<currency>EUR
<date>01.01.2010</date>
<rate>-1.1868</rate>
<date>02.01.2010</date>
<rate>-1.1868</rate>
</currency>
</rates>
Example 2) -> sored by date
<?xml version="1.0" encoding="utf-8" ?>
- <rates>
<date>01.01.2010</date>
<currency>USD</currency>
<rate>-1.1868</rate>
<currency>EUR</currency>
<rate>-1.1868</rate>
<date>02.01.2010</date>
<currency>USD</currency>
<rate>-1.1868</rate>
<currency>EUR</currency>
<rate>-1.1868</rate>
</rates>
How can I achieve output example 1+2 using the same internal table as a source? Is this possible? I guess this can be solved within the transformation, right? Any help appreciated.
Best regards
BennoThanks for all answers so far. Changing the sequence is not a "problem". What I want to achieve is to change hierarchy of the xml. I'll try to explain again with a simple example:
ITAB (structure):
name; birthday; ***; first name
ITAB (content):
Smith; 01.01.1970; M; Paul
Smith; 01.01.1970; F; Stefanie
Smith; 01.02.1980; F; Barbara
White; 01.02.1980; M; Steve
I want to pass the itab exactly the way it is (ok, sorting is allowed). Question: Can I achieve the following XML's using ST? I guess/hope this can be solved with variables/groups/condition statements within the transformation coding?
Example xml- 1) Sorted/Grouped by Name/***
<person>
<name>Smith
<***>M
<birthday>01.01.1970</birthday><first name>Paul</first name>
</***>
<***>F
<birthday>01.01.1970</birthday><first name>Stefanie</first name>
<birthday>01.02.1980</birthday><first name>Barbara</first name>
</***>
</name>
<name>White
<***>M
<birthday>01.02.1980</birthday><first name>Steve</first name>
</***>
</name>
</person>
Exampe xml-2 ) Sorted/Grouped by Birthday (Names only)
<person>
<birthday>01.01.1970
<first name>Paul</first name>
<first name>Stefanie</first name>
</birthday>
<birthday>01.02.1980
<first name>Barbara</first name>
<first name>Steve</first name>
</birthday>
</person> -
ABAP transformation to XML for sap chart engine with internal table
Hello.
I am new to the SAP chart engine, XML and transformations so please be patient with me from an ABAP-program I am trying to call a Z-transformation and attach an internal table with two columns. In the ST program I want to loop through the table and for each row insert the two values from the table in the XML.
In an ABAP-program I have an internal table containing datacoordinates for a scattered chart.
The table looks like this:
DATA: BEGIN OF coordinate,
x_value TYPE f,
y_value TYPE f,
END OF coordinate,
polygon_data LIKE STANDARD TABLE OF coordinate with header line.
As a prototype I just add a few coordinates like this:
polygon_data-x_value = '700'.
polygon_data-y_value = '8'.
APPEND polygon_data.
polygon_data-x_value = '1400'.
polygon_data-y_value = '3'.
APPEND polygon_data.
polygon_data-x_value = '1400'.
polygon_data-y_value = '10'.
APPEND polygon_data.
polygon_data-x_value = '700'.
polygon_data-y_value = '10'.
APPEND polygon_data.
polygon_data-x_value = '700'.
polygon_data-y_value = '3'.
APPEND polygon_data.
I have created a Z-transformation and I call it like this (I also have a separate transformation for all the customizing generated with SAP chart designer but that one works fine):
DATA: data_xml TYPE xstring.
CALL TRANSFORMATION ztest_ce_tables2xml
SOURCE polygon_data = polygon_data
RESULT XML data_xml.
Since I am trying to create a scattered chart I need to insert an X and Y value for each coordinate.In the manual SAP Chart engine - XML format description it looks like this:
<ChartData>
<Series>
<Point>
<Value type="x">1</Value>
<Value type="y">1</Value>
</Point>
<Point>
<Value type="x">2</Value>
<Value type="y">2</Value>
</Point>
My ST-program that I cannot get to work looks like below. How can I loop through my internal table and get the X and thy Y value for each row in my internal table?
BR Tommy (Sweden)
<?sap.transform simple?>
<tt:transform xmlns:tt="http://www.sap.com/transformation-templates">
<tt:root name="POLYGON_DATA"/>
<tt:template>
<ChartData>
<Series>
<tt:loop ref=".POLYGON_DATA">
<Point>
<Value type="x"><tt:copy ref=".POLYGON_DATA.X_VALUE"/></Value>
<Value type="y"><tt:copy ref=".POLYGON_DATA.Y_VALUE"/></Value>
</Point>
</tt:loop>
</Series>
</ChartData>
</tt:template>
</tt:transform>Hello again.
I found the solution and would like to share it with the forum, maybe it could help someone.
My first error was in the call transformation statement:
CALL TRANSFORMATION ztest_ce_tables2xml
SOURCE polygon_data = polygon_data [] <----
Do not forget these
RESULT XML data_xml.
I also had an error in the ST program, it should look like this:
<?sap.transform simple?>
<tt:transform xmlns:tt="http://www.sap.com/transformation-templates">
<tt:root name="POLYGON_DATA"/>
<tt:template>
<ChartData>
<Series>
<tt:loop ref=".POLYGON_DATA">
<Point>
<Value type="x"><tt:value ref="$ref.X_VALUE"/></Value>
<Value type="y"><tt:value ref="$ref.Y_VALUE"/></Value>
</Point>
</tt:loop>
</Series>
</ChartData>
</tt:template>
</tt:transform>
Maybe you are looking for
-
Unable to STARTUP after SHUTDOWN
HELP !! My main experience is with M/S SQL Server. I am taking an Oracle class and am having a really weird problem. If I log into SQL Plus with SYSDBA privileges and initiate a SHUTDOWN IMMEDIATE, it shuts down successfully, but I am never able to s
-
Adding Field in Form not Displaying Data
I recently added a field to a table in our database and then added it to a form. For some reason, it is not showing in Oracle Forms (10g) when I bring it up. I have several other fields from the same table that show fine. I verified that I was lookin
-
Splitting Midi To different tracks
Hey, Is there anyway to split a midi part to separate channels. Let me explain - Say you have you sequence a kick snare and hihat on one midi part. Then is there an option to split each part to there own channel (so the kick will be on one track and
-
Date Function to get Previous week
Is there a date function to get Let us say today is 23rd of Jun 2009 I want a date function to get previous Thursday 18 Jun 2009 and another function which get 7 days before which is Friday 12 Jun 2009. FYI: For the current week, I was able to use: s
-
Error Message in Print Queue (HP 5440, Windows 7)
Anytime I try to print any document, it delays for about a minute than it says Error - Printing. There's no specific error ever mentioned. It happens regarless of the type of document I'm printing. The test print has the same result. I'm running