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,
Kiran

Hi 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

Similar Messages

  • SPNEGO in portal with abap data source + mapping on login & alias id

    Hello
    I successfully set up the new spnego autentification (with AD)  on our EP7 portal.
    Spnego module is configured with Mapping mod u201Cprincipal onlyu201D with source  u201Clogin idu201D.
    SSO is working perfectly for all users with the same u2018sap loginu2019 as the AD login.  ( they can use portal to connect on all sap ECC6 server true iview without login& password )
    But for user with login name different between AD and SAP , this doesnu2019t work. They have to enter their sap login & password on the portal. So spnego is not working for them.
    Such user have different login name between AD et SAP because abap system limit user length to 12 caracters.   So I could not change abap username. 
    And I could not change their AD login name. ( too much impact).
    Exemple :
    p.nametoolong  = 13  character  on  AD but too long for abap
    p.name = 6 ok for abap but different from AD login name.
    So if I could not change login id I have to work on user mapping.
    The Portal UME use our abab CUA as datasource. So I could not set up user mapping inside the u201Cuser management u201C
    A solution could be that Spnego mapping use as source  the u201Calias idu201D and not the u201Clogin idu201D.
    So I have to set all the u201Calias idu201D. I can do a script for copying in su01 all u201Clogin idu201D to u201Calias idu201D and then edit the u201Calias idu201D of user with a different AD login. ( by the way do you know a tx for that ? )
    But this is a little dirtyu2026 is there a simple way to do that ?
    it would be perfect if i could do mapping on user id or on alias id if it set. So that i should only manage the alias id user with a AD name different... is that possible ?
    thank you  !
    cdlt
    GSV
    Edited by: Patrick FABRIES on Oct 4, 2011 12:08 PM
    Edited by: Patrick FABRIES on Oct 4, 2011 12:11 PM

    Hi Patrick,
    Even if you perform this operation, the situation will worsen overtime.
    By the way, if you still want to do it, this is pretty simple: call 'BAPI_USER_CHANGE' with the username and pass:
    ALIAS = <new alias>
    ALIASX = 'X'
    Isn't there another attribute that you could use as a pivot: e-mail, maybe?
    Best regards,
    Guillaume

  • Non-build-in-data type mapping error

    Hi,
    I started a new web service design using a pre-defined Schema. I created a schema project and use XML bean as my web service method parameter.
    It works fine in workshop test IDE. But when I deployed it and tried to generate client jar, it gave me Failed to do type mapping error.
    What steps I should do to fix this non-build-in data type problem?
    thanks
    May

    Hi,
    I started a new web service design using a pre-defined Schema. I created a schema project and use XML bean as my web service method parameter.
    It works fine in workshop test IDE. But when I deployed it and tried to generate client jar, it gave me Failed to do type mapping error.
    What steps I should do to fix this non-build-in data type problem?
    thanks
    May

  • Data type mapping

    Hi,
    Where can I map the java datatype to its equivalent DB datatype. I think for Oracle, MS SQL server,Sysbase there is default type mapping.

    Jagan wrote:
    Great Joe,
    Thanks for ur immediate response.:-)
    I have few issues here :
    1.) Tell me whether i can use Postgres with weblogic6.1 and above versions.Weblogic supports any JDBC driver to any DBMS, as long as the JDBC driver
    implements the standard JDBC spec, and is threadsafe.
    2.)Can i create tables using weblogic and Postgres?if yes,how?Surely, via the SQL commands Postgres understands, and JDBC:
    statement.executeUpdate("create table myTable(myInt int, myName varchar(30), ...)");
    3.)If no support is provided,please tell whether weblogic support only the four
    Databases mentioned in the doc,explain clearly.BEA is totally devoted to the J2EE standards. We must support any driver and
    DBMS that also meets the J2EE spec.
    4.)Is there no way i can specify datatype mapping using the weblogic API also?
    Application servers like JBoss provide us with a xml where we specify the datatype
    mappings for each database,is there something like that for weblogic?no.
    Else provide me with a solution.I'm not sure what your exact desire is. For a given DBMS there are a unique
    set of column types. There is some overlap across DBMSes, and there is
    usually some types that are unique to the DBMS, and some that are generic
    in purpose, such as date-time values, that is implemented differently in each
    DBMS.
    For each DBMS there is one or more JDBC drivers. Each driver will convert
    a given DBMS column type to any logically convertable JDBC type. Ie:
    an integer column in the DBMS can be asked for via getString(), and the
    driver will convert the value 123 to "123". Drivers will also decide what
    JDBC type to create from a given DBMS column. If a column value is
    asked for via getObject(), the driver will make what it thinks is the best
    Java type to represent the column. There is a JDBC spec for this, but many
    drivers diverge from the spec.
    What do you need, and how can we help?
    Once again thanks for ur response,expecting the same again.Sure.
    Joe Weinstein
    Thanks & Regds,
    --Jagan.
    Joseph Weinstein <[email protected]> wrote:
    Hi. No, we don't have a Postgres-Oracle,Oracle-postgres conversion
    chart. Sorry.
    Joe
    Jagan wrote:
    Joseph Weinstein <[email protected]> wrote:
    Jagan wrote:
    Hi,
    Where can I map the java datatype to its equivalent DB datatype.
    I
    think for Oracle, MS SQL server,Sysbase there is default type mapping.
    You will have to check the driver documentation for each DBMS driver
    you use. There are too many deviations from the
    JDBC spec to rely on it. For instance if you create an Oracle tablewith
    an int column, if you do a getObject() to fetch
    it's value, the Oracle driver will provide a BigDecimal object.
    Joe
    Hi Joe,
    I think there is a big misunderstanding after seeing your reply.
    What i meant was :
    I am actually porting an application to weblogic6.1 and Postgre databasewhich
    deployed and executed succesfully using weblogic6.1 and Oracle.
    Here i face the problem of Datatype mapping for Postgres.
    What i wanted is,is there a file or xml in weblogic where i can specifythe datatype
    mapping for each database?
    If yes,where and how do i do that,explain me with a sample plaese.
    Please do not be specific to any database,because i am porting thesame application
    to many databases,so please answer me in
    generic.
    Thanks in Advance,
    --Jagan.

  • Simple Transformation to deserialize an XML file into ABAP data structures?

    I'm attempting to write my first simple transformation to deserialize
    an XML file into ABAP data structures and I have a few questions.
    My simple transformation contains code like the following
    <tt:transform xmlns:tt="http://www.sap.com/transformation-templates"
                  xmlns:pp="http://www.sap.com/abapxml/types/defined" >
    <tt:type name="REPORT" line-type="?">
      <tt:node name="COMPANY_ID" type="C" length="10" />
      <tt:node name="JOB_ID" type="C" length="20" />
      <tt:node name="TYPE_CSV" type="C" length="1" />
      <tt:node name="TYPE_XLS" type="C" length="1" />
      <tt:node name="TYPE_PDF" type="C" length="1" />
      <tt:node name="IS_NEW" type="C" length="1" />
    </tt:type>
    <tt:root name="ROOT2" type="pp:REPORT" />
        <QueryResponse>
        <tt:loop ref="ROOT2" name="line">
          <QueryResponseRow>
            <CompanyID>
              <tt:value ref="$line.COMPANY_ID" />
            </CompanyID>
            <JobID>
              <tt:value ref="$line.JOB_ID" />
            </JobID>
            <ExportTypes>
              <tt:loop>
                <ExportType>
                   I don't know what to do here (see item 3, below)
                </ExportType>
              </tt:loop>
            </ExportTypes>
            <IsNew>
              <tt:value ref="$line.IS_NEW"
              map="val(' ') = xml('false'), val('X') = xml('true')" />
            </IsNew>
          </QueryResponseRow>
          </tt:loop>
        </QueryResponse>
        </tt:loop>
    1. In a DTD, an element can be designated as occurring zero or one
    time, zero or more times, or one or more times. How do I write the
    simple transformation to accommodate these possibilities?
    2. In trying to accommodate the "zero or more times" case, I am trying
    to use the <tt:loop> instruction. It occurs several layers deep in the
    XML hierarchy, but at the top level of the ABAP table. The internal
    table has a structure defined in the ABAP program, not in the data
    dictionary. In the simple transformation, I used <tt:type> and
    <tt:node> to define the structure of the internal table and then
    tried to use <tt:loop ref="ROOT2" name="line"> around the subtree that
    can occur zero or more times. But every variation I try seems to get
    different errors. Can anyone supply a working example of this?
    3. Among the fields in the internal table, I've defined three
    one-character fields named TYPE_CSV, TYPE_XLS, and TYPE_PDF. In the
    XML file, I expect zero to three elements of the form
    <ExportType exporttype='csv' />
    <ExportType exporttype='xls' />
    <ExportType exporttype='pdf' />
    I want to set field TYPE_CSV = 'X' if I find an ExportType element
    with its exporttype attribute set to 'csv'. I want to set field
    TYPE_XLS = 'X' if I find an ExportType element with its exporttype
    attribute set to 'xls'. I want to set field TYPE_PDF = 'X' if I find
    an ExportType element with its exporttype attribute set to 'pdf'. How
    can I do that?
    4. For an element that has a value like
    <ErrorCode>123</ErrorCode>
    in the simple transformation, the sequence
    <ErrorCode>  <tt:value ref="ROOT1.CODE" />  </ErrorCode>
    seems to work just fine.
    I have other situations where the XML reads
    <IsNew value='true' />
    I wanted to write
    <IsNew>
            <tt:value ref="$line.IS_NEW"
            map="val(' ') = xml('false'), val('X') = xml('true')" />
           </IsNew>
    but I'm afraid that the <tt:value> fails to deal with the fact that in
    the XML file the value is being passed as the value of an attribute
    (named "value"), rather than the value of the element itself. How do
    you handle this?

    Try this code below:
    data  l_xml_table2  type table of xml_line with header line.
    W_filename - This is a Path.
      if w_filename(02) = '
        open dataset w_filename for output in binary mode.
        if sy-subrc = 0.
          l_xml_table2[] = l_xml_table[].
          loop at l_xml_table2.
            transfer l_xml_table2 to w_filename.
          endloop.
        endif.
        close dataset w_filename.
      else.
        call method cl_gui_frontend_services=>gui_download
          exporting
            bin_filesize = l_xml_size
            filename     = w_filename
            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.

  • Type-mapping not working correctly, get "Unable to find a javaType for the xmlType" WARNING

    I'm manually creating a web-services.xml file, and using the autogen ant task to
    generate the codec XML/Java classes. The XML definition is provided by SAP.
    The ant build.xml file:
    <project name="buildWebservice" default="stubgen">
    <target name="stubgen">
    <clientgen ear="C:\projects\RMIS\ifrrequests\RMIS.ear"
    packageName="com.aa.rmis.webservice.client"
    clientJar="C:\projects\RMIS\ifrrequests\rmisws-client.jar"
    autotype="False" />
    </target>
    <target name="all" depends="stubgen"/>
    </project>
    The problem is seen below in the output from Ant. Note the WARNINIG. The problem
    is that the xml type cannot be mapped to the Java type.
    C:\projects\RMIS\ifrrequests>ant -buildfile clientbuild.xml
    Buildfile: clientbuild.xml
    stubgen:
    [clientgen] Generating client jar for RMIS.ear ...
    [clientgen] WARNINIG: Unable to find a javaType for the xmlType:['urn:sap-com:do
    cument:sap:business']:PaymentRequest.Create. Make sure that you have registered
    this xml type in the type mapping
    [clientgen] Using SOAPElement instead
    [clientgen] Compiling 4 source files to C:\DOCUME~1\944377\LOCALS~1\Temp\rmisws-
    client.jar-836624340
    [clientgen] Building jar: C:\projects\RMIS\ifrrequests\rmisws-client.jar
    BUILD SUCCESSFUL
    Total time: 17 seconds
    The Java source that has the implementation of the service methods is simply:
    package com.aa.rmis.webservice;
    import com.aa.rmis.ifr.request.*;
    public class TestService
    public TestService()
    public int serviceRequest(PaymentRequestCreate request)
    System.out.println("Received serviceRequest message");
    return 0;
    public void testStringRequest(String request)
    The web-service.xml file is attached, which contains the schema for the SAP PaymentRequest.Create
    object definition.
    Another problem I have, which is probably related, is that the service method
    that has a complex data type (non-built in data type) is not being deployed into
    the WebLogic server. But the other service method that simply takes a String
    parameter is.
    The steps I took are:
    1. Get XML from SAP Interface Repository (IFR) for PaymentRequest
    2. Use ant task autogen to generate the request codec classes
    3. Create the web-services.xml file by inserting the schema definition and the
    mapping file created by the autogen task, and defining the operations
    4. Build web-services.war file that contains all autogen compiled class files,
    the web-services.xml file, and the service implementation class
    5. Build the ear file that holds the web service files
    6. Use the clientgen ant task to generate (included above) to generate the client
    jar file that should contain the proxy for both of the service methods
    Environment:
    * WebLogic 7.02
    * JDK 1.3.1_06
    * JBuilder 9 Enterprise
    * Ant 1.4
    Possible causes:
    * Namespace not being used correctly
    * copied verbatim the mapping xml file generated by autogen into the web-services.xml
    file
    * xml-schema part of web-services.xml might not be set correctly
    * operation definition might not be using the correct namespace
    * Classpath used for ant might not be right
    * Doubt this is the problem, but I'm out of other ideas
    * Set by using the setWLEnv.cmd file provided by WebLogic
    * Tried adding the generated classes directory for my project to the classpath,
    but did not work
    I've been referencing the Programming WebLogic Web Services document throughout
    this entire process. I must be missing something.
    Can anybody from BEA help me out with this problem?
    Thanks in advance.
    [web-services.xml]

    Hi JD,
    I spent a few cycles looking over your web-services.xml file, however I
    don't have any suggestions other that one that looks like you have
    already tried, at the top, in the <schema...>
    targetNamespace="urn:sap-com:document:sap:business"
    Making edits to these generated files can be tricky and my only
    suggestion is to create a small reproducer to run by our outstanding
    support team.
    A quick look at our problem database shows one issue (CR095109) related
    to a similar problem at deploy time that was fixed with 7.0SP3. Again,
    the support folks will be able to help focus in on the issue.
    Regards,
    Bruce
    JD wrote:
    >
    The first posting contains the wrong web-services.xml file. Please refer to this
    one instead.
    "JD" <[email protected]> wrote:
    I'm manually creating a web-services.xml file, and using the autogen
    ant task to
    generate the codec XML/Java classes. The XML definition is provided
    by SAP.
    The ant build.xml file:
    <project name="buildWebservice" default="stubgen">
    <target name="stubgen">
    <clientgen ear="C:\projects\RMIS\ifrrequests\RMIS.ear"
    packageName="com.aa.rmis.webservice.client"
    clientJar="C:\projects\RMIS\ifrrequests\rmisws-client.jar"
    autotype="False" />
    </target>
    <target name="all" depends="stubgen"/>
    </project>
    The problem is seen below in the output from Ant. Note the WARNINIG.
    The problem
    is that the xml type cannot be mapped to the Java type.
    C:\projects\RMIS\ifrrequests>ant -buildfile clientbuild.xml
    Buildfile: clientbuild.xml
    stubgen:
    [clientgen] Generating client jar for RMIS.ear ...
    [clientgen] WARNINIG: Unable to find a javaType for the xmlType:['urn:sap-com:do
    cument:sap:business']:PaymentRequest.Create. Make sure that you have
    registered
    this xml type in the type mapping
    [clientgen] Using SOAPElement instead
    [clientgen] Compiling 4 source files to C:\DOCUME~1\944377\LOCALS~1\Temp\rmisws-
    client.jar-836624340
    [clientgen] Building jar: C:\projects\RMIS\ifrrequests\rmisws-client.jar
    BUILD SUCCESSFUL
    Total time: 17 seconds
    The Java source that has the implementation of the service methods is
    simply:
    package com.aa.rmis.webservice;
    import com.aa.rmis.ifr.request.*;
    public class TestService
    public TestService()
    public int serviceRequest(PaymentRequestCreate request)
    System.out.println("Received serviceRequest message");
    return 0;
    public void testStringRequest(String request)
    The web-service.xml file is attached, which contains the schema for the
    SAP PaymentRequest.Create
    object definition.
    Another problem I have, which is probably related, is that the service
    method
    that has a complex data type (non-built in data type) is not being deployed
    into
    the WebLogic server. But the other service method that simply takes
    a String
    parameter is.
    The steps I took are:
    1. Get XML from SAP Interface Repository (IFR) for PaymentRequest
    2. Use ant task autogen to generate the request codec classes
    3. Create the web-services.xml file by inserting the schema definition
    and the
    mapping file created by the autogen task, and defining the operations
    4. Build web-services.war file that contains all autogen compiled class
    files,
    the web-services.xml file, and the service implementation class
    5. Build the ear file that holds the web service files
    6. Use the clientgen ant task to generate (included above) to generate
    the client
    jar file that should contain the proxy for both of the service methods
    Environment:
    * WebLogic 7.02
    * JDK 1.3.1_06
    * JBuilder 9 Enterprise
    * Ant 1.4
    Possible causes:
    * Namespace not being used correctly
    * copied verbatim the mapping xml file generated by autogen into
    the web-services.xml
    file
    * xml-schema part of web-services.xml might not be set correctly
    * operation definition might not be using the correct namespace
    * Classpath used for ant might not be right
    * Doubt this is the problem, but I'm out of other ideas
    * Set by using the setWLEnv.cmd file provided by WebLogic
    * Tried adding the generated classes directory for my project to
    the classpath,
    but did not work
    I've been referencing the Programming WebLogic Web Services document
    throughout
    this entire process. I must be missing something.
    Can anybody from BEA help me out with this problem?
    Thanks in advance.
    Name: web-services.xml
    web-services.xml Type: ACT Project (text/xml)
    Encoding: base64

  • Email Alert for Process Chain for ABAP Process Type

    Hi BW Experts,
                             I created a process chain based on ABAP Process Type ( for Broadcasting rsrd_broadcast_starter). I want to add alert message for each ABAP process if it is failed. But I cant see any option showing Successfull or Error or Always when I select create message option on the process type. How ever I can see for other process chain which is loading data (Process Type is Info Package ) from SAP into BW.
                             Please some one tell me why it is not showing alert message for ABAP Process Type.
    Thanks
    Ganesh Reddy.
    Edited by: Ganesh Reddy on Jul 13, 2009 10:16 PM

    I dont have the exact answer for your question, But as a work around i can suggest you that.
    If these ABAP programs are included in a chain and this local chain is a part of meta chain then you can create a message on the local chain.By right clicking on the local chain >Create Message>Success
                                                                                    --->Failure
    >Always
    Hope this resolves the problem tempervorly.I will get back to you once i have
    Or the permanent solution is
    Its big and also easy method to perform, by this you will be able to get all the options for a ABAP Program also.If you have any questions please let me know.
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/business-intelligence/a-c/creating%20an%20abap%20process%20type%20for%20process%20chains%20in%20bi.pdf

  • ABAP Data to XML file

    Hi,
    I have read this weblog
    /people/patrick.baer/blog/2005/02/24/abap-serialization--part-i-quick-n-easy and tried to serialize ABAP data into XML format.
    In fact, I have copied the exact code from this weblog, but somehow this file is not visible in my pc.
    DATA example_data TYPE spfli.
    select single * from spfli into example_data.
    DATA xml_utils TYPE REF TO if_ixml.
    xml_utils = cl_ixml=>create( ).
    DATA xml_stream_factory TYPE REF TO if_ixml_stream_factory.
    xml_stream_factory = xml_utils->create_stream_factory( ).
    DATA xml_output_stream TYPE REF TO if_ixml_ostream.
    xml_output_stream = xml_stream_factory->create_ostream_uri( system_id =
    'file://c:test.xml' ).
    try.
    CALL TRANSFORMATION id
    SOURCE data_node = example_data
    RESULT XML xml_output_stream.
    catch cx_sy_conversion_base64 CX_SY_CONV_ILLEGAL_DATE_TIME.
    write 'there is an exception'.
    endtry.
    This part of the code, I have also changed to :
    xml_stream_factory->create_ostream_uri( system_id =
    'file://test.xml' ).
    and still the file is not visible.
    I presume three reasons:
    a) Looking in the wrong place
    b) Some configuration, I am not doing properly
    c) Something else has to be done, to write a file to system
    Any help on this regard, is highly appreciated.
    Next issue being, how robust is the approach of serializing ABAP data into XML format, so that a third party system can pick up this data and do a comparison ?
    Some parameters that I am looking for in this regards are:
    a) Error Validation (can XML data be incorrectly written into a file/while transmitting this data some errors can creep in. If so, how do I rectify it. As far as I know, this data can only be written to Presentation Server or using FTP ,transported to required destination. Is there any other approach ? )
    b) Security
    Would be great if you could drop some hints for the above procedure.
    Regards,
    Subramanian V.

    I think you are perhaps overestimating the capabilities of the osteam object.  If you want to write the XML to a file the easiest thing to do is render it an ostream_itable (internal ABAP table).  Then you can download it your PC with the GUI_DOWNLOAD function:
    parameter: ifile type file_table-filename obligatory
               default 'c:issue.xml'.
    ****Temp File name for function module call.
    data: ifilename type string.
      move ifile to ifilename.
      create object issue
         exporting
           id     = id
           create_mode = abap_false.
      data: g_ixml type ref to if_ixml,
             g_stream_factory type ref to if_ixml_stream_factory,
             xslt_err type ref to cx_xslt_exception,
             g_encoding type ref to if_ixml_encoding,
             ostream type ref to if_ixml_ostream.
      constants:  line_length type i value 4096.
      types:      line_t(line_length) type x,
                  table_t type standard table of line_t.
      data: restab type table_t.
      constants:
    * encoding for download of XML files
        encoding     type string value 'utf-8'.
      data: ressize type i.
      try.
          g_ixml = cl_ixml=>create( ).
          g_stream_factory = g_ixml->create_stream_factory( ).
          g_encoding = g_ixml->create_encoding( character_set = encoding
            byte_order = 0 ).
          refresh restab.
          ostream =
            g_stream_factory->create_ostream_itable( table = restab ).
          ostream->set_encoding( encoding = g_encoding ).
          call transformation id_indent
            source     asap_issue = issue
            result xml restab
            options
            data_refs = 'embedded'.
          ressize = ostream->get_num_written_raw( ).
        catch cx_xslt_exception into xslt_err.
          data: s type string.
          s = xslt_err->get_text( ).
      endtry.
      call function 'GUI_DOWNLOAD'
        exporting
          bin_filesize = ressize
          filename     = ifilename
          filetype     = 'BIN'
        tables
          data_tab     = restab
        exceptions
          others       = 1.
      call method cl_gui_frontend_services=>execute
         exporting
           document               = ifilename
    *    APPLICATION            =
    *    PARAMETER              =
    *    DEFAULT_DIRECTORY      =
    *    MAXIMIZED              =
    *    MINIMIZED              =
    *    SYNCHRONOUS            =
        exceptions
          cntl_error             = 1
          error_no_gui           = 2
          bad_parameter          = 3
          file_not_found         = 4
          path_not_found         = 5
          file_extension_unknown = 6
          error_execute_failed   = 7
          others                 = 8.
    As far as a different system, once you have the data serialized into a string or internal table you have lots of possibilites.  If the other system is an SAP system you could send the data via RFC.  You could always write the XML string to the server file system (via open dataset, transfer to dataset).  You can then FTP the file (using built in SAP FTP functionality) just about anywhere.
    What are you looking for as far as robust and secure.  The XML serializer is built in the ABAP Kernel and quite robust.  As far as secure- the data isn't secure at all.  The data is written into a simple string (if written into the file system or your pc - it is a text or binary file that can easily be read by just about anything).  Serializing to XML in and of itself isn't going to provide any security.

  • OracleCustomTypeMappingAttribute Issue in Custom type mapping(Urgent Help)

    I am figuring "OracleCustomTypeMappingAttribute" attribute in web.conifg.
    I am getting Error when i am trying execute the code.please find the error messsage in below
    "Custom type mapping for 'QR.iPromansys.Common.UDT.TAB_MC_REGION' is not specified or is invalid."
    This is my configuation of webconfig:-
    <oracle.dataaccess.client>
    <settings>
    <add name="REGION" value="udtMapping factoryName='QR.iPromansys.Common.UDT.TAB_MC_REGIONFactory,
    QR.iPromansys.Common.UDT, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
    typeName='TAB_MC_REGION' schemaName='IPROM' dataSource='QAPRISM' "/>
    </settings>
    </oracle.dataaccess.client>
    provide what i missed in in configure or anything else i have to do more in coding side.
    Class Information (Struture) Start
    public class TAB_MC_REGION : INullable, IOracleCustomType, IXmlSerializable
    private bool m_IsNull;
    private RegionInfo[] m_RegionInfo;
    public TAB_MC_REGION()
    // TODO : Add code to initialise the object
    public TAB_MC_REGION(string str)
    // TODO : Add code to initialise the object based on the given string
    public TAB_MC_REGION(RegionInfo[] obj)
    this.m_RegionInfo = obj;
    public virtual bool IsNull
    get
    return this.m_IsNull;
    public static TAB_MC_REGION Null
    get
    TAB_MC_REGION obj = new TAB_MC_REGION();
    obj.m_IsNull = true;
    return obj;
    [OracleArrayMappingAttribute()]
    public virtual RegionInfo[] Value
    get
    return this.m_RegionInfo;
    set
    this.m_RegionInfo = value;
    public virtual void FromCustomObject(Oracle.DataAccess.Client.OracleConnection con, System.IntPtr pUdt)
    OracleUdt.SetValue(con, pUdt, 0, this.m_RegionInfo);
    public virtual void ToCustomObject(Oracle.DataAccess.Client.OracleConnection con, System.IntPtr pUdt)
    this.m_RegionInfo = ((RegionInfo[])(OracleUdt.GetValue(con, pUdt, 0)));
    public virtual void ReadXml(System.Xml.XmlReader reader)
    // TODO : Read Serialized Xml Data
    public virtual void WriteXml(System.Xml.XmlWriter writer)
    // TODO : Serialize object to xml data
    public virtual XmlSchema GetSchema()
    // TODO : Implement GetSchema
    return null;
    public override string ToString()
    // TODO : Return a string that represents the current object
    return "";
    public static TAB_MC_REGION Parse(string str)
    // TODO : Add code needed to parse the string and get the object represented by the string
    return new TAB_MC_REGION();
    // Factory to create an object for the above class
    //[OracleCustomTypeMappingAttribute("IPROM.TAB_MC_REGION")]
    public class TAB_MC_REGIONFactory : IOracleCustomTypeFactory, IOracleArrayTypeFactory
    public virtual IOracleCustomType CreateObject()
    TAB_MC_REGION obj = new TAB_MC_REGION();
    return obj;
    public virtual System.Array CreateArray(int length)
    RegionInfo[] collElem = new RegionInfo[length];
    return collElem;
    public virtual System.Array CreateStatusArray(int length)
    return null;
    End
    Main Class Code(Execution Part) Start
    I am using "Microsoft.Practices.EnterpriseLibrary.Data.Database"
    List<RegionInfo> mealRegionList = new List<RegionInfo>();
    TAB_MC_REGION mealregionTableObject = new TAB_MC_REGION(mealRegionList.ToArray());
    Database database = DatabaseFactory.CreateDatabase();
    using (DbCommand command = database.GetStoredProcCommand("mealplanning_services.SAVE_MC_REGION"))
    database.AddOracleInParameter(command, string.Empty, OracleDbType.Object, "TAB_MC_REGION", mealregionTableObject);
    database.AddOracleOutParameter(command, "@po_result_code", OracleDbType.Decimal, 50);
    database.ExecuteNonQuery(command);
    End
    email address:- [email protected]
    please fill free to contact.

    Issue Resolved. For less than 50 records, client side filtering takes over. In that case the search help exit will not come into picture. Issue resolved by avoiding client side rendering.
    callcontrol-maxexceed = 'X'.
    Thanks,
    Pris.

  • FAQ's, intros and memorable discussions in the ABAP Data Dictionary Forum

    Welcome to the SDN ABAP Data Dictionary Forum!
    In addition to release dependent information avalaible by:
    - pressing the F1 key on an ABAP statement,
    - or searching for them in transaction ABAPDOCU,
    - using the [SDN ABAP Development Forum Search|https://www.sdn.sap.com/irj/sdn/directforumsearch?threadid=&q=&objid=c42&daterange=all&numresults=15&rankby=10001],
    - the information accessible via the [SDN ABAP Main Wiki|https://wiki.sdn.sap.com/wiki/display/ABAP],
    - the [SAP Service Marketplace|http://service.sap.com] and see [SAP Note 192194|https://service.sap.com/sap/support/notes/192194] for search tips,
    - the 3 part [How to write guru ABAP code series|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f2dac69e-0e01-0010-e2b6-81c1e8e5ce50] ... (use the search to easily find the other 2 documents...)
    ... this "sticky post" lists some threads from the ABAP forums as:
    - An introduction for new members / visitors on topics discussed in threads,
    - An introduction to how the forums are used and the quality expected,
    - A collection of some threads which provided usefull answers to questions which are frequently asked, and,
    - A collection of some memorable threads if you feel like reading some ABAP related material.
    The listed threads will be enhanced from time to time. Please feel welcome to post to [this thread|Suggestions thread for ABAP FAQ sticky; to suggest any additional inclusions.
    Note: When asking a question in the forum, please also provide sufficient information such that the question can be answered usefully, do not repeat interview-type questions, and once closed please indicate which solution was usefull - to help others who search for it.
    ABAP Dictionary
    Modifying SAP Tables directly => Direct SAP table changes, internal only warnings, and other DDIC risks....
    RTTS dynamic DB table reference, how? => Dynamically assigning a DB table reference.
    retreive  data from table pool and table cluster => What works and what not to access table clusters and pools.
    Must i_structure_name for LVC_FIELDCATALOG_MERGE be pre-defined in dict? => Convert SLIS to LVC, or convert DDIC standards.

    Welcome to the SDN ABAP Data Dictionary Forum!
    In addition to release dependent information avalaible by:
    - pressing the F1 key on an ABAP statement,
    - or searching for them in transaction ABAPDOCU,
    - using the [SDN ABAP Development Forum Search|https://www.sdn.sap.com/irj/sdn/directforumsearch?threadid=&q=&objid=c42&daterange=all&numresults=15&rankby=10001],
    - the information accessible via the [SDN ABAP Main Wiki|https://wiki.sdn.sap.com/wiki/display/ABAP],
    - the [SAP Service Marketplace|http://service.sap.com] and see [SAP Note 192194|https://service.sap.com/sap/support/notes/192194] for search tips,
    - the 3 part [How to write guru ABAP code series|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f2dac69e-0e01-0010-e2b6-81c1e8e5ce50] ... (use the search to easily find the other 2 documents...)
    ... this "sticky post" lists some threads from the ABAP forums as:
    - An introduction for new members / visitors on topics discussed in threads,
    - An introduction to how the forums are used and the quality expected,
    - A collection of some threads which provided usefull answers to questions which are frequently asked, and,
    - A collection of some memorable threads if you feel like reading some ABAP related material.
    The listed threads will be enhanced from time to time. Please feel welcome to post to [this thread|Suggestions thread for ABAP FAQ sticky; to suggest any additional inclusions.
    Note: When asking a question in the forum, please also provide sufficient information such that the question can be answered usefully, do not repeat interview-type questions, and once closed please indicate which solution was usefull - to help others who search for it.
    ABAP Dictionary
    Modifying SAP Tables directly => Direct SAP table changes, internal only warnings, and other DDIC risks....
    RTTS dynamic DB table reference, how? => Dynamically assigning a DB table reference.
    retreive  data from table pool and table cluster => What works and what not to access table clusters and pools.
    Must i_structure_name for LVC_FIELDCATALOG_MERGE be pre-defined in dict? => Convert SLIS to LVC, or convert DDIC standards.

  • ABAP Dictionory type FLTP is nt allowed for  screen Painter!!

    Hello All,
    ABAP Dictionary type FLTP is nt allowed for  screen Painter!!  am getting this error message if am giving some input.
    Thanks
    santu
    Edited by: santu4u on Oct 23, 2009 1:48 PM

    Hi
    Instead of FLTP use Quantity or Currency or Packed Decimals type fields for the Screen Elements.
    While you save the data into the database if the database field is of type FLTP the values entered would be automatically converted into FLTP type. We need not take care of this.
    ---?? What do you mean by IDES version --->
    You mean in SE11 or SE16, Wherever it may be you can not use FLTP type on Screen Fields.
    This is Standard SAP Procedure, As mentioned Above you can use Packed Decimals or Currency or Quantity Fields
    Cheers
    Ram
    Edited by: Ramchander Krishnamraju on Oct 23, 2009 2:10 PM
    Edited by: Ramchander Krishnamraju on Oct 23, 2009 2:13 PM

  • Error in CLR: InvalidOperationException - The current type is an interface and cannot be constructed. Are you missing a type mapping?

    Hi, I'm trying to execute a .NET assembly's method from SQL Server 2012 Express, but I'm stuck with this error calling the sp:
    Microsoft.Practices.ServiceLocation.ActivationException: Activation error occured while trying to get instance of type ISymmetricCryptoProvider, key "TripleDESCryptoServiceProvider" ---> Microsoft.Practices.Unity.ResolutionFailedException:
    Resolution of the dependency failed, type = "Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.ISymmetricCryptoProvider", name = "TripleDESCryptoServiceProvider".
    Exception occurred while: while resolving.
    Exception is: InvalidOperationException - The current type, Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.ISymmetricCryptoProvider, is an interface and cannot be constructed. Are you missing a type mapping?
    At the time of the exception, the container was:
      Resolving Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.ISymmetricCryptoProvider,TripleDESCryptoServiceProvider
     ---> System.InvalidOperationException: The current type, Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.ISymmetricCryptoProvider, is an interface and cannot be constructed. Are you missing a type mapping?
    System.InvalidOperationException:
       en Microsoft.Practices.ObjectBuilder2.DynamicMethodConstructorStrategy.ThrowForAttemptingToConstructInterface(IBuilderContext context)
       en BuildUp_Microsoft.Practices.EnterpriseLibrary.Security
    Microsoft.Practices.ServiceLocation.ActivationException:
       en Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance(Type serviceType, String key)
       en Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance[TService](String key)
       en Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.Cryptographer.GetSymmetricCryptoProvider(String symmetricInstance)
       en Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.Cryptographer.DecryptSymmetric(String symmetricInstance, String ciphertextBase64)
       en ...
    Is there any limitation by design for Interface instantiation from CLR database?
    Any help I will appreciate, thanks a million!!

    Bob, thanks for your response.. Yes, the code works fine outside of SQLCLR. This is the class I'm trying to instantiate, I'm using it to envolve Cryptographer, an Enterprise Library 5.0 class actually, so I have no control to test it without referring the
    interface.
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Microsoft.Practices.EnterpriseLibrary.Security.Cryptography;
    using System.Security.Cryptography;
    using Microsoft.SqlServer.Server;
    using System.Data.SqlTypes;
    namespace Cars.UtileriasGlobales.Helpers
        /// <summary>
        /// Clase que permite encriptar y desencriptar cadenas de textos utilizando
        /// TripleDESCryptoServiceProvider de Enterprise Library 5.0
        /// </summary>
        public static class Cryptography
            #region Metodos
            [SqlProcedure]
            public static void DesencriptarSQLServer(SqlString cadena, out SqlString cadenaDesencriptada)
                cadenaDesencriptada = !String.IsNullOrEmpty(cadena.ToString()) ? Cryptographer.DecryptSymmetric("TripleDESCryptoServiceProvider", cadena.ToString().Replace(" ", "+"))
    : String.Empty;
            #endregion
    I have collected all the dependent assemblies in one directory 'C:\migrate', so the create assembly finish ok. This is the script to create the assembly I'm using:
    sp_configure 'clr enable', 1
    GO
    RECONFIGURE
    GO
    ALTER DATABASE cars SET TRUSTWORTHY ON
    GO
    CREATE ASSEMBLY CryptographyEntLib5
    AUTHORIZATION dbo
    FROM 'C:\migrate\Cars.UtileriasGlobales.dll'
    WITH PERMISSION_SET = UNSAFE
    GO
    CREATE PROCEDURE usp_Desencriptar
    @cadena nvarchar(200),
    @cadenaDesencriptada nvarchar(MAX) OUTPUT
    AS EXTERNAL NAME CryptographyEntLib5.[Cars.UtileriasGlobales.Helpers.Cryptography].DesencriptarSQLServer
    GO
    DECLARE @msg nvarchar(MAX)
    EXEC usp_Desencriptar 'Kittu And Tannu',@msg output
    PRINT @msg

  • DS 4.2 get ECC CDHDR deltas in ABAP data flow using last run log table

    I have a DS 4.2 batch job where I'm trying to get ECC CDHDR deltas inside an ABAP data flow.  My SQL Server log table has an ECC CDHDR last_run_date_time (e.g. '6/6/2014 10:10:00') where I select it at the start of the DS 4.2 batch job run and then update it to the last run date/time at the end of the DS 4.2 batch job run.
    The problem is that CDHDR has the date (UDATE) and time (UTIME) in separate fields and inside an ABAP data flow there are limited DS functions.  For example, outside of the ABAP data flow I could use the DS function concat_date_time for UDATE and UTIME so that I could have a where clause of 'concat
    _date_time(UDATE, UTIME) > last_run_date_time and concat_date_time(UDATE, UTIME) <= current_run_date_time'.  However, inside the ABAP data flow the DS function concat_date_time is not available.  Is there some way to concatenate UDATE + UTIME inside an ABAP data flow?
    Any help is appreciated.
    Thanks,
    Brad

    Michael,
    I'm trying to concatenate date and time and here's my ABAP data flow where clause:
    CDHDR.OBJECTCLAS in ('DEBI', 'KRED', 'MATERIAL')
    and ((CDHDR.UDATE || ' ' || CDHDR.UTIME) > $CDHDR_Last_Run_Date_Time)
    and ((CDHDR.UDATE || ' ' || CDHDR.UTIME) <= $Run_Date_Time)
    Here are DS print statements showing my global variable values:
    $Run_Date_Time is 2014.06.09 14:14:35
    $CDHDR_Last_Run_Date_Time is 1900.01.01 00:00:01
    The issue is I just created a CDHDR record with a UDATE of '06/09/2014' and UTIME of '10:48:27' and it's not being pulled in the ABAP data flow.  Here's selected contents of the generated ABAP file (*.aba):
    PARAMETER $PARAM1 TYPE D.
    PARAMETER $PARAM2 TYPE D.
    concatenate CDHDR-UDATE ' ' into ALTMP1.
    concatenate ALTMP1 CDHDR-UTIME into ALTMP2.
    concatenate CDHDR-UDATE ' ' into ALTMP3.
    concatenate ALTMP3 CDHDR-UTIME into ALTMP4.
    IF ( ( ALTMP4 <= $PARAM2 )
    AND ( ALTMP2 > $PARAM1 ) ).
    So $PARAM1 corresponds to $CDHDR_Last_Run_Date_Time ('1900.01.01 00:00:01') and $PARAM2 corresponds to $Run_Date_Time ('2014.06.09 14:14:35').  But from my understanding ABAP data type D is for date only (YYYYMMDD) and doesn't include time, so is my time somehow being defaulted to '00:00:00' when it gets to DS?  I ask this as a CDHDR record I created on 6/6 wasn't pulled during my 6/6 testing but this 6/6 CDHDR record was pulled today.
    I can get  last_run_date_time and current_run_date_time into separate date and time fields but I'm not sure how to build the where clause using separate date and time fields.  Do you have any recommendations or is there a better way for me to pull CDHDR deltas in an ABAP data flow using something different than a last run log table?
    Thanks,
    Brad

  • Type Mapping in Web Dynpro

    Hi there,
    rather a Web Dynpro newbie, I have scanned the documentation and forum threads to find whether there is something like a type mapping mechanism (say, your web service automatically creates Calendar attributes from xsd:dateTime elements, and you want to display them as dates in your view), but it seems there isn't.
    I have to do such type conversions by myself (by providing additional value attributes to my context node and populate them after executing the service call), right? Or did I overlook something?
    Regards
    Nils

    Hi Nils,
    define calculated context attributes of type readOnly=false for this purpose. In the generated getter and setter methods you can implement your own format (getter) and parse (setter) logic (or type mapping like you call it).
    Excerpt from the Web Dynpro Help:
    <i>Application-specific validations: You can use the setter and getter methods that are generated for writable calculated context attributes to format as well as parse and validate data application-specific. You can check the user input in the mutator method and save it in a separate, non-calculated context attribute. An error message is displayed if this is not successful. If you want to display the input value in the case of errors as well, then first you have to save the incorrect value in an additional usual context attribute, from which the access method of the calculated attribute is then supplied.</i>
    Also read thread Re: Problem with time input field about problems with time input fields.
    Regards, Bertram

  • ADF Business Component Type MAP Oracls vs Java

    what the advantages and disadvantages from each one map type
    thank in advance

    Take a look at this link in developer's guide:
    http://docs.oracle.com/cd/E16162_01/web.1112/e16182/bcintro.htm#sm0062
    The Java Extended for Oracle type map and the Oracle Domains type map handle numeric data differently. When you create a new application the default type map Java Extended for Oracle maps numeric data to the java.math.BigDecimal >class, which inherits from java.math.Number. The java.math.BigDecimal default matches the way the Fusion web application view layer, consisting of ADF Faces components, preserves alignment of numeric data (such as numeric values >displayed by ADF Faces input fields in a web page). Whereas the Oracle Domains type map, which maps numeric data to the oracle.jbo.domain.Number class, may not display the data with the alignment expected by certain ADF Faces >components. Aside from this alignment issue, the Oracle Domains type map remains a valid choice and applications without ADF Faces components will function without issue.Thanks,
    Navaneeth

Maybe you are looking for

  • Migrating Mail from 10.4.11 to 10.5.8 - Upgrade first?

    I am switching to a new 2.66 GHz iMac with 10.5.8. I have had very limited success moving my Mail via Firewire. Old Mail version is 2.1.3 (753.1). New version is 3.6 (936). I have been able to copy the vCards from my Address Book, but no mailboxes or

  • Adding The Rows in Report!

    Hi All, I have one issue that , i have a editable report and problem here is when i press ADD ROW button the new row is getting added up at the top but i need this row to be added in the bottom, can any body please help me to sort this Problem Thanks

  • Video Only in Safe mode.

    MSI K8n NEO4F (ver 1) bios 7125ncg ENERMAX Whisper EG465P-VE FMA(24) nVidia 7600GS 256MB OCZ EB DDR PC-4000 /500MHz Win XP Pro w/SP2 AMD 3700+ (939) The video will work, correctly, in safe mode only. Using latest nVidia drivers. Boots fine till we hi

  • Why are links opening slowly on my MacBookPro

    I use a MacBook Pro 17" Early 2011. Safari 8.0 (10600.1.25.1) I have had several different difficulties since upgrading to Yosemite. Processor: 2.2 GHZ Intel Core l7, Memory: 10GB 1333 MHz DDR3, (recently removed one of the 2GB modules and replaced i

  • Lumia 1520 proximity sensor

    After update to 1028.3562.1402.0001 last week, proximity sensor stoped working properly. It works OK right after I restart the phone, but sometimes after half an hour or sometimes after half a day it stops working - screen stays on during a call and