XSD Data Type to ABAP Proxy Tech. Type
I am working with an ABAP development team who is creating PROXYs from the Service Interfaces I have setup in the ESR (PI 7.11). I have been asked to set the type of a numeric field by the ABAP developer as this:
"Yeah we can convert from string to currency but sap internally stores currency with 3 decimals so we may got to do some multiplications and divisions based on how many decimals sender passes. If you could create a numeric with 3 decimals that is ideal."
The XSD type as xsd:decimal, but in the proxy it seems to create Tech. Type = STRING.
I can apply formatting rules in the message mapping, but developer is convinced that the Service Interface can have the correct ABAP Tech. Type. I do not find any messages in this forum, so not sure what to do.
Thank you for your time.
Internal ABAP types like packed or float cannot be created by ABAP proxy.
I recommend to use String for any type. Inside XML you will have a String representation anyway, but you will encounter less issues in converting from XML to ABAP internal types.
I work a lot with currency fields, it is no problem at all. Inside ABAP you mave currency field to string field, the decimals are correct.
If course, in mapping you have to create a decimal field, but this would not be any change, if you had a decimal type in ABAP.
Similar Messages
-
Issue with xsd Data type mapping for collection of user defined data type
Hi,
I am facing a issue with wsdl for xsd mapping for collection of user defined data type.
Here is the code snippet.
sample.java
@WebMethod
public QueryPageOutput AccountQue(QueryPageInput qpInput)
public class QueryPageInput implements Serializable, Cloneable
protected Account_IO fMessage = null;
public class QueryPageOutput implements Serializable, Cloneable
protected Account_IO fMessage = null;
public class Account_IO implements Serializable, Cloneable {
protected ArrayList <AccountIC> fintObjInst = null;
public ArrayList<AccountIC>getfintObjInst()
return (ArrayList<AccountIC>)fintObjInst.clone();
public void setfintObjInst(AccountIC val)
fintObjInst = new ArrayList<AccountIC>();
fintObjInst.add(val);
Public class AccountIC
protected String Name;
protected String Desc;
public String getName()
return Name;
public void setName(String name)
Name = name;
For the sample.java code, the wsdl generated is as below:
<?xml version="1.0" encoding="UTF-8" ?>
<wsdl:definitions
name="SimpleService"
targetNamespace="http://example.org"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://example.org"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
>
<wsdl:types>
<xs:schema version="1.0" targetNamespace="http://examples.org" xmlns:ns1="http://example.org/types"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import namespace="http://example.org/types"/>
<xs:element name="AccountWSService" type="ns1:accountEMRIO"/>
</xs:schema>
<xs:schema version="1.0" targetNamespace="http://example.org/types" xmlns:ns1="http://examples.org"
xmlns:tns="http://example.org/types" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import namespace="http://examples.org"/>
<xs:complexType name="queryPageOutput">
<xs:sequence>
<xs:element name="fSiebelMessage" type="tns:accountEMRIO" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="accountEMRIO">
<xs:sequence>
<xs:element name="fIntObjectFormat" type="xs:string" minOccurs="0"/>
<xs:element name="fMessageType" type="xs:string" minOccurs="0"/>
<xs:element name="fMessageId" type="xs:string" minOccurs="0"/>
<xs:element name="fIntObjectName" type="xs:string" minOccurs="0"/>
<xs:element name="fOutputIntObjectName" type="xs:string" minOccurs="0"/>
<xs:element name="fintObjInst" type="xs:anyType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="queryPageInput">
<xs:sequence>
<xs:element name="fPageSize" type="xs:string" minOccurs="0"/>
<xs:element name="fSiebelMessage" type="tns:accountEMRIO" minOccurs="0"/>
<xs:element name="fStartRowNum" type="xs:string" minOccurs="0"/>
<xs:element name="fViewMode" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://example.org"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://example.org" xmlns:ns1="http://example.org/types">
<import namespace="http://example.org/types"/>
<xsd:complexType name="AccountQue">
<xsd:sequence>
<xsd:element name="arg0" type="ns1:queryPageInput"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="AccountQue" type="tns:AccountQue"/>
<xsd:complexType name="AccountQueResponse">
<xsd:sequence>
<xsd:element name="return" type="ns1:queryPageOutput"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="AccountQueResponse" type="tns:AccountQueResponse"/>
</schema>
</wsdl:types>
<wsdl:message name="AccountQueInput">
<wsdl:part name="parameters" element="tns:AccountQue"/>
</wsdl:message>
<wsdl:message name="AccountQueOutput">
<wsdl:part name="parameters" element="tns:AccountQueResponse"/>
</wsdl:message>
<wsdl:portType name="SimpleService">
<wsdl:operation name="AccountQue">
<wsdl:input message="tns:AccountQueInput" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"
ns1:Action=""/>
<wsdl:output message="tns:AccountQueOutput" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"
ns1:Action=""/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="SimpleServiceSoapHttp" type="tns:SimpleService">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="AccountQue">
<soap:operation soapAction=""/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="SimpleService">
<wsdl:port name="SimpleServicePort" binding="tns:SimpleServiceSoapHttp">
<soap:address location="http://localhost:7101/WS-Project1-context-root/SimpleServicePort"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
In the above wsdl the collection of fintObjInst if of type xs:anytype. From the wsdl, I do not see the xsd mapping for AccountIC which includes Name and Desc. Due to which, when invoking the web service from a different client like c#(by creating proxy business service), I am unable to set the parameters for AccountIC. I am using JAX-WS stack and WLS 10.3. I have already looked at blog http://weblogs.java.net/blog/kohlert/archive/2006/10/jaxws_and_type.html but unable to solve this issue. However, at run time using a tool like SoapUI, when this wsdl is imported, I am able to see all the params related to AccountIC class.
Can some one help me with this.
Thanks,
Sudha.Did you try adding the the XmlSeeAlso annotation to the webservice
@XmlSeeAlso({<package.name>.AccountIC.class})
This will add the schema for the data type (AccountIC) to the WSDL.
Hope this helps.
-Ajay -
Can I use Non-standard XSD Data Types in my XSD; if so how?
Please help if you can, this is a complex question, so bear with me.
Also note that I am in Livecycle 8.2 ES (not ES2 or higher).
I am working on creating XSD schemas to map to form objects.
I have created one master schema document that is wired into multiple forms, and I have one separate schema for reusable form objects, that I refer to as a "common node".
All of my individual form schemas are brought together in this one Master Schema via the use of include statements.
EXAMPLE: This is like my Master Schema
<?xml version="1.0" encoding="UTF-8"?>
<!--W3C Schema written by Benjamin P. Lyons - Twin Technologies July 2010-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" >
<xs:include schemaLocation="./commonElementsNode.xsd" />
<xs:include schemaLocation="./form1111.xsd" />
<xs:include schemaLocation="./form2222.xsd" />
<xs:include schemaLocation="./form3333.xsd" />
<xs:element name="form">
<xs:complexType>
<xs:sequence>
<xs:element ref="commonElementsNode" />
<xs:element ref="form1111" />
<xs:element ref="form2222" />
<xs:element ref="form3333" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
This works fine.
I can load this up in Designer in the Data View and everything appears in the Data View hierarchy correctly, with "form" as the top node.
And as long as I use standard "xs:" data types - everything works great. So if I go into LiveCycle Designer and I go to File --> Form Properties --> Preview --> Generate Preview Data and generate dummy XML data - it respects my XSD conventions.
Now here is where the problem arises:
In these schemas, I need to define the data types.
The client I am working for needs me to use their data types.
These data types are not standard xs: data types, like "xs:string" or "xs:date".
Rather, the data types are ones that have been defined in other schemas and reserved to a namespace.
For instance, rather than use xs:date I need to use something like: "myns:DateType"
This "myns:DateType" is defined as:
<xs:complexType name="DateType">
<xs:simpleContent>
<xs:extension base="xs:date">
<xs:attribute name="format" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation xml:lang="en">
<mydoc:Name>Date Format Text</mydoc:Name>
<mydoc:Definition>The format of the date content</mydoc:Definition>
<mydoc:PrimitiveType>string</mydoc:PrimitiveType>
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
Note that I have redacted this data type slightly and changed the namespace to protect the anonymity of my client, but we can assume that their data type is valid and currently in use with other systems.
It conforms to W3 standards.
Note also how this type is an enumeration of the base type "xs:date".
This is defined in a schema called something like "MyCoreTypes.xsd"
There is a namespace reservation in this file that looks something like this:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"
xmlns:myns="http://clinetname.com/schemas/mycoretypes" >
So there is a name space reservation there.
In my aforementioned "Master Schema" file, I have an include statement that looks like this:
<xs:include namespace="http://clinetname.com/schemas/mycoretypes" schemaLocation="./MyCoreTypes.xsd" />
(let's assume that the schema is in the same folder, as the Master Schema, so we can use the "./" relative path.)
Now the problems is that in all my forms, where I have a myns:DateType (e.g.: in form1111, a "Date of Birth" element that looks like this: <xs:element name="OwnerBirthDt" type="myns:DateType"/> ) the XSD is not respected when the XML dummy data is generated in LiveCycle Designer implying that the XSD's data types are not being recognized properly.
Has anyone had this problem before?
Is there a solution?
Is it even possible to use these kind of include or import references in LiveCycle to define a data type other that the standard "xs:" data types?
Please let me know - it would be greatly appreciated.
I am more than willing to clarify the question further if others are willing to help.
Thanks -
Ben Lyonsprf.kishorekumar wrote:
i came here with a hope that I would definitely get some help.
pls.. some one reply1) You got some help. No where do I see thanks or acknowledgment for the information given.
2) Please remember that people on the forum help others voluntarily, it's not their job.
3) Google can often help you here if the forum can't. Using Google I found this interesting link:
http://today.java.net/pub/a/today/2004/05/24/html-pt1.html
It discusses the Swing HTML EditorKit as well as some other free HTML renderers.
Edited by: petes1234 on Oct 24, 2007 7:29 PM -
Read data from Inbound ABAP proxy.Experts.
Hi
Hi Experts,
I want to read data from a inbound proxy.
Data is inside a deep structure as input.
Inside that 6 fields are there , out of those 6 i am able to read data from 5 fildes which are of type string 1 field QUANT is there which is of "Proxy Table Type (generated)" having data type as string.
Now whenever i tried to assign this to any field or variable of type string or char it gives error as "can not be converted to type of" that quant field.
Please help thanks in advance. -
Hi
I am sending a data from R/3 to XI using abap proxy. Here if the data packets are waiting in the queue for some time
am getting an error " Time Limit Exceeded" and user is cancelling the job for processing in R/3
pls advice me how do i find the queue name and solve this issue.
Thanks
GaneshHi,
These HTTP calls can sometimes be disrupted by timeout errors:
- ICM_HTTP_TIMEOUT
- ICM_HTTP_CONNECTION_FAILED.
How you can try to deal with those errors:
1. you can try increasing the HTTP_TIMEOUT of the Integration Engine:
a) go to TCODE - SXMB_ADM
b) Integration Engine Configuration
c) Change specific configuration
d) Increase the HTTP_TIMEOUT parameter value - this value depends on your specific needs.
/people/michal.krawczyk2/blog/2006/06/08/xi-timeouts-timeouts-timeouts
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/70ada5ef-0201-0010-1f8b-c935e444b0ad
Regards,
Nithiyanandam -
Data passed from ABAP proxy not reaching PI...
Hi,
My scenario is
ECC ABAP Proxy --> PI --> legacy
In dev box, it is working fine, when data is sent from ECC dev, it reaches PI dev.
But when data is sent from ECC quality, data is not reaching PI quality.
This set up has already been in production and working fine.
I have done some minor mapping changes only in ESR and moved to PI quality. Nothing changed in the Integration builder side.
But a client copy was done from ECC prod to ECC quality (not PI systems). Will this have any impact on proxy ?
What can I check to make sure everything is in place ?
Pl advise.
thnksHi,
In SLDAPICUST the SLD server host and port will be maintained. The ECC will use this to connec to SLD at runtime and get the business sytem details. This can be checked via transaction SLDCHECK.
Also what the transaction SPROXY says in the ECC system. Is it connecting your PI system and loading the ESR information?
There are a few more configuration that needs to be checked in ECC system for proxy communication, I think this blog can help you.
/people/vijaya.kumari2/blog/2006/01/26/how-do-you-activate-abap-proxies
regards,
francis -
Problem with numeric types in Abap Proxy
Hello,
We are having problems with some abap proxy calls. When a numeric type is filled with 0 the node it´s automatically removed and no value it's recived in XI. The only way I have found to avoid this problem it's to define the field with type string or change the cardinality to 1..1 instead of 0..1. It's there any way to maintain the type and the cardinality?? Maybe with a pattern??
Regards,
Alberto Pla.Hi Alberto
I had this problem, and I decided to use xsd:string instead of xsd:integer. This will solve the issue.
Anyway.. check this note:
[Note 1242795 - Mapping of XSD default values by ABAP Proxy Generation|https://service.sap.com/sap/support/notes/1242795]
Regards
Francesco -
Issue is De-serializing nested date type using Axiss 1.4
We are using Axis 1.4 and face issue during deserialization in handling date types. The scenario is explained below. I couldn’t find enough information on net on below and hence asking question to the apache team. Please note when we switch to Axis 2, issue is not seen. Upgrading may not be a simple option for us as of now, and hence I was evaluating possible workarounds or solution if any.
The XSD contains type “DateofBirthType” which is of type xsd:date
Child XSDs contains element “DateofBirth” of type “DateOfBirthType”
When Java client invokes the web service, IllegalArgumentException is seen while de-serializing this “DateOfBirthType” element. If we remove “DateOfBirthType” and map it directly to xsd:date type all works fine.
We have generated the stub using Axis 1.4 and trying to access the RetrieveIndividualCustInformation operation through stub, but getting the (IllegalArgumentException) while axis tries to deserialize the response for all the fields having data types as date which is indirectly mapped (nested mapping) as shown below.
e.g. IndividualInfo-----DateOfBirth(Type—DateOfbirth ---Which is of Type Date)-_you will face illegal argument exception.
So, when we changed the type to simple date (not nested),then it worked fine. So it confirms that this problem is only for type date which is clearly seen in Axis 1.4 client.
Please let me know if anyone faces similar/same issue or even know any such issue already persists and there are no possible workarounds and/or fixes for this. In that case we can put up case to migrate to Axis2.
Please reply ASAP.Hi, Shank,
My guess is that you want:
, dense_rank () over (order by tmstp desc) AS rn RANK means you'll skip numbers when there's a tie. For example, if 3 rows all have the exact same latest tmstp, all 3 rows would be assigned number 1, RANK would assign 4 to the next row, but DENSE_RANK assigns 2.
"PARTITION BY x" means that you want a separate series of numbers (starting with 1) for every value of x. If you want just one series of numbers for the whole result set, then don't use a PARTITION BY clause at all. (PARTITION BY is never required.)
Maybe you wnat to PARTITON BY cd. I can't tell without some sample data, and an explanation of why you want the given results from that data.
You certainly don't want to PARTITION BY the same expression that you ORDER BY; that just means all rows tie for #1.
I hope this answers your question.
If not, post a little sample data (CREATE TABLE and INSERT statements, relevant columns only) for all tables involved, and also post the results you want from that data.
Explain, using specific examples, how you get those results from that data.
Simplify the problem as much as possible.
Always say which version of Oracle you're using.
See the forum FAQ {message:id=9360002}
Edited by: Frank Kulash on Aug 1, 2012 1:20 PM -
SAP ABAP Proxy - recursive data structure problem
Hi,
For our customer we try to bind SAP with GW Calendar using GW Web Services. We tried to generate ABAP Proxy from groupwise.wsdl file but there are problems: GW uses recursive data structures what ABAP Proxy can not use. Is there any simple solution to this problem?
Best regards
PawelAt least I don't have a clue about ABAP Proxy.
You are pretty much on your own unless someone
else has tried it.
Preston
>>> On Tuesday, August 03, 2010 at 8:26 AM,
pawelnowicki<[email protected]> wrote:
> Hi,
>
> For our customer we try to bind SAP with GW Calendar using GW Web
> Services. We tried to generate ABAP Proxy from groupwise.wsdl file but
> there are problems: GW uses recursive data structures what ABAP Proxy
> can not use. Is there any simple solution to this problem?
>
> Best regards
> Pawel -
we are creating CC and asssigning adapter type as XI in case of inbound ABAP proxies,but not doing the same in case of OUTBOUND side why ?
Hi
follow these links
You can start with these....
Activating ABAP proxies:
/people/vijaya.kumari2/blog/2006/01/26/how-do-you-activate-abap-proxies
ABAP Proxies in XI (Client Proxy)
/people/ravikumar.allampallam/blog/2005/03/14/abap-proxies-in-xiclient-proxy
/people/siva.maranani/blog/2005/04/03/abap-server-proxies
XSD Data Types vs. ABAP Data Types -- Quick Reference Part I
XSD Data Types vs. ABAP Data Types - Quick Reference Part II
Client Proxy - /people/ravikumar.allampallam/blog/2005/03/14/abap-proxies-in-xiclient-proxy
Server Proxy - /people/siva.maranani/blog/2005/04/03/abap-server-proxies
/people/vijaya.kumari2/blog/2006/01/26/how-do-you-activate-abap-proxies - Activate Proxy
/people/siva.maranani/blog/2005/04/03/abap-server-proxies - ABAP Server Proxy
/people/ravikumar.allampallam/blog/2005/03/14/abap-proxies-in-xiclient-proxy - ABAP Client Proxy
/people/thomas.jung3/blog/2004/11/17/bsp-a-developers-journal-part-xiv--consuming-webservices-with-abap
/people/prateek.shah/blog/2005/06/14/file-to-r3-via-abap-proxy - ABAP Proxy
http://help.sap.com/saphelp_nw2004s/helpdata/en/48/d5a1fe5f317a4e8e35801ed2c88246/frameset.htm
http://help.sap.com/saphelp_nw04s/helpdata/en/ba/f21a403233dd5fe10000000a155106/frameset.htm
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/41e08c90-0201-0010-9197-d8774336ea78
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f0ae9874-109c-2910-f48a-e91f0cdd1c81
/people/sravya.talanki2/blog/2006/07/28/smarter-approach-for-coding-abap-proxies
Client Proxy
ABAP Proxy Runtime
http://help.sap.com/saphelp_nw04/helpdata/en/02/265c3cf311070ae10000000a114084/frameset.htm
ABAP CLIENT PROXY
/people/ravikumar.allampallam/blog/2005/03/14/abap-proxies-in-xiclient-proxy
ABAP SERVER PROXY
/people/siva.maranani/blog/2005/04/03/abap-server-proxies
Check out the following thread:
Re: Concepts and examples for Proxy, Abap Client Proxy and Abap server Proxy
this thread on the Sggestions and Comments forum would certainly interest you,
Moderators~ take Notice.
Regards
sandeep Sharma
If helpful Kindly reward points -
Hi,
I want to send data using an ABAP proxy from SAP ECC to PI.
The location where I call the method is in MV50AFZ1 Form uxerexit_delete_document
In my opinion it is not wise to execute a commit work statement in this location. The proxy however needs a commit work to send the data.
I also tried using a CALL FUNCTION ... IN UPDATE TASK. This also doesn't trigger the proxy to send the data.
(and it is not allowed te execute a commit in update task .. .because it's already a "commit".
Is there a way to get this thing working in this way? Or do you always have to program a separate program for sending the data with a proxy??
Thanks
RonHi Ron,
Try submitting a report as a background job from the user exit...and inside this report you can write the code to call the proxy + commit.
*Submit report as job(i.e. in background)
data: jobname like tbtcjob-jobname value
' TRANSFER TRANSLATION'.
data: jobcount like tbtcjob-jobcount,
host like msxxlist-host.
data: begin of starttime.
include structure tbtcstrt.
data: end of starttime.
data: starttimeimmediate like btch0000-char1.
Job open
call function 'JOB_OPEN'
exporting
delanfrep = ' '
jobgroup = ' '
jobname = jobname
sdlstrtdt = sy-datum
sdlstrttm = sy-uzeit
importing
jobcount = jobcount
exceptions
cant_create_job = 01
invalid_job_data = 02
jobname_missing = 03.
if sy-subrc ne 0.
"error processing
endif.
Insert process into job
SUBMIT zreport and return
with p_param1 = 'value'
with p_param2 = 'value'
user sy-uname
via job jobname
number jobcount.
if sy-subrc > 0.
"error processing
endif.
Close job
starttime-sdlstrtdt = sy-datum + 1.
starttime-sdlstrttm = '220000'.
call function 'JOB_CLOSE'
exporting
event_id = starttime-eventid
event_param = starttime-eventparm
event_periodic = starttime-periodic
jobcount = jobcount
jobname = jobname
laststrtdt = starttime-laststrtdt
laststrttm = starttime-laststrttm
prddays = 1
prdhours = 0
prdmins = 0
prdmonths = 0
prdweeks = 0
sdlstrtdt = starttime-sdlstrtdt
sdlstrttm = starttime-sdlstrttm
strtimmed = starttimeimmediate
targetsystem = host
exceptions
cant_start_immediate = 01
invalid_startdate = 02
jobname_missing = 03
job_close_failed = 04
job_nosteps = 05
job_notex = 06
lock_failed = 07
others = 99.
if sy-subrc eq 0.
"error processing
endif. -
How The ABAP Proxy method gets triggered
Hi All,
I have created a ABAP Proxy for inbound interface.For this interface the data is coming from XI system.So i am writing the logic to read the XI data into an internal table and am populating the same data into a BAPI.
So my question is,once the XI system sends the data, Will this ABAP Proxy Method automatically gets trigger or Do we need to make any settings?
Please Help me As early as possible.
Thanks in advance
Regards
Srinivas KodukulaHi srinivas,
Refer the below points for the configuration needed at R/3 side:
1. Create a HTTP connection in the business system using transaction SM59
2. Configuration Business system as local Integration Engine in SXMB_ADM
3. Connection between Business System and System Landscape Directory. For this check the RFC destinations LCRSAPRFC and SAPSLDAPI
4. Maintaining the SAP J2EE Connection Parameters for LCRSAPRFC and SAPSLDAPI in SAP J2EE engine
5. Maintain SLD access details in Transaction SLDAPICUST
Regards,
Kiran Bobbala -
ABAP Data type to XI data type mapping
Hi,
I am creating a message type in XI corresponding to a ABAP structure. There are couple of data types on the ABAP side (for example: RAW, QUAN, CURR CUKY, UNIT, NUMC etc) which i have no idea on what it should be mapped to on the XI side(xsd:string, xsd:token, xsd:int etc).
Is there is any document on mapping from ABAP data type to XML data type ? if yes please send it across.([email protected])
if no doc available, if some body could let me know what these ABAP data type would map on the XI side it would great.
Best Regards,
KiranHi Kiran,
just some more background information to the data types CURR, CUKY, QUAN, UNIT:
1) Each field of data type CURR must be assigned to a field of data type CUKY (the financial amount must be assigned to a currency) and each field of data type QUAN must be assigned to a field of data type UNIT (each quantity must have a dimension). If you want to know this assignment for your specific ABAP structure, you can find it using transaction SE11 with your ABAP structure and go to the tab <i>Currency/Quantity fields</i>. Here you find the information under <i>Reference table</i> and <i>Ref. field</i>.
2) The default number of decimals for a field of data type CURR is 2, but this can be overwritten by the assigned CUKY field. You can check the actual number of decimals for a specific currency with transaction OY04. Here are all currency list that do <b>not</b> have 2 decimals.
3) The default number of decimals for a field of data type QUAN is 3, but this can be overwritten by the assigned UNIT field. You can check the actual number of decimals for a specific unit with transaction CUNI. Click on <i>Units of measurement</i> (pick the correct dimension first), double click on your unit and you find the info in the field <i>Decimal places</i>.
4) Depending on the data you receive your conversions can get quite tricky. Lets take as an example a field of type CURR. If you find the value 1000 in there, this would convert to 10.00 USD if the assigned CUKY field contains the value USD (US dollar). But the same value ca represent 1000 JPY (Japanese Yen) if the assigned CUKY field contains the value JPY. What i try to say is that the value in the field of type CURR alone does not give you the actual amount, you have to know the value of the CUKY field as well. Similar for QUAN and UNIT.
Regards,
Claus -
Cannot Activate data type in ABAP Database Inconsistent
Hi,
can you please help me on this? We could not activate the data type abap proxy in SPROXY.
Here is the error:
Database inconsistent: TABL XYZ not found.
The object is inactive. Is there a way to delete the object in the backend?
Or do you know other way to solve this?I already recreated the object in ESR, but we are still getting the error in SPROXY whether you regenerate, delete or activate proxy. If I checked the proxy name, it is in a form of a structure and is activated but the data type in SPROXY is still in inactive mode.
I could not remember how this error came up but it seems dependent objects for the data type are not generated properly that's why the error is TABL object is not found.
Do you have other way on how to delete the inactive proxy in ABAP? -
IDOC - XI - IDOC scenario. I can't import XSD to Data Type
Helo!
I have some problem with creating data tape. I have to create data type similar to IDOC structure which i imported from SAP system. Similar becouse in this DT I need to add some more elements. Becouse the IDOC structure is large I wont to import IDOC structure to this DT automaticly. I try to eksport XSD structure of my IDOC and then import to data type but i can read the monit:
The tag <element> is not allowed at <<xsd:schema><xsd:element><xsd:element>>.
I'm beginer in XSD so I don't now how to change this file.
Can somebody help me on that or explain whot I can do to make this DT.
Thanks for answer!Hi,
U can import the IDoc XSD to External defination and use it in your Message Mapping and Interfacing Mapping.
There is no need to create a data type of message type for IDoc.
External Defination
<b>External Definition</b> enables you to import a local WSDL, XSD, or DTD file to the Integration Repository and specify which parts of the schema to be used as a description for a message.
U can use this ED as
1.Inbound/Outbound in the Message Interface.
2.Source/Target structure for the Message Mapping.
In a scenario If there is a necessitity for changing the Occurance of some segment of the IDOC steps u perform is.
1.Import the IDoc to XI.
2.Export the IDoc(i.e XSD format) and save it to the local machine.
3.Make changes to the IDoc structure by modifying the XSD file in the local machine.
4.Save it as an XSD file Itself.
5.Import the XSD file in the IR under the External Defination.
6.Use this XSD in your Message Interface/Mapping which is same as IDoc structure but with some changes that u have made.
Go Thru this Blog <a href="/people/michal.krawczyk2/blog/2005/12/04/xi-idoc-bundling--the-trick-with-the-occurance-change Bundling - Trick without BPM</a> BY Michal Krawczyk where the Occurance of the IDoc is changed to 1...Unbounded from 1...999999999 by using the XSD.
Regards
Santhosh
<a href="Remember to set the thread to solved when you have received a solution to set the thread to solved when you have received a solution</a>
Use a Good Subject Line, One Question Per Posting - Award Points
Maybe you are looking for
-
I am making a movie from still pictures. I used no theme and then started adding pictues. When I played it back, all was well. Then I added a few more pictures and some sound. When I play iot back it plays just so far and then the sound continues, bu
-
I use CS4 to edit images in iPhoto. When I move the image from iPhoto to the burn folder it is no longer sharp.
-
Complete iPhoto library not displayed by Apple TV
I have the 2nd generation Apple TV with home sharing active with MacbookPro 15" with all the latest iLife '11 software. One issue is that events from one iPhoto library are displayed in a different order on Apple TV than on iPhoto. No big problem, bu
-
Hello All, Is there limitation with central SLD over Local SLD?. To deploy Webdynpro applications (Mobile) please let me know if there are any limitations Thanks
-
IPhone 5 camera has some minor, yet annoying issues. Help!
Well, to get to the point my back camera has spots on it.. Whenever I try to take a picture there is a violet, purple, dash on it followed by some gray, shadowy circles. I tried to clean the lens and I blew on it a couple of times but it just doesn't