Unable to execute Abap mapping

hi,
i have implemented an ABAp mapping but the problem is i get an error message in PI telling me that the class is not found but the class do exist i checked in SE24.
is there ayt explanation for this problem.
thank you in advance.

thanx ravit i put the class in PI and not ECC thank you now it s working, but i faced another problem, when  the first mapping generate an excpetion i can see in the error tag but when there are no exception i dont get the file, i m working on a IDOC to FILE
thanx

Similar Messages

  • How to execute an ABAP Mapping after a Java Mapping

    Hi, i have found a Bug in XI and SAP said to me that the only solution is to execute an ABAP mapping after my java mapping.
    I have an IDOC to FILE scenario
    Could anyone orient me on what do i have to configure, so after my java mapping i can execute an abap mapping ?.
    Do i have to use process integration?
    thanks
    Mariano.

    i have developed a Java mapping originally, but XI has a bug. When you do not write anything to the outputStream XI instead of writing an emtpy file writes a file containing one byte ( 0x00 ) and this is a problem.
    SAP said to me that they will not fix this issue so they recomend me to create an abap mapping after my java mapping that will send no information if it receives this byte (0x00) and if not it will write all the information as received.
    My doubt regarding putting several mappings in the interface mapping configuration is this...
    Actual configuration:
    SOURCE MSG A -> ORIGINAL MAPPING -> TARGET MSG B
    Proposed configuration
    SOURCE. MSG A -> ORIGINAL MAPPING -> TARGET MSG B
    SOURCE. MSG A -> PATCH MAPPING -> TARGET MSG B
    I dont understand what receives de "patch mapping" it receives the structure from TARGET MSG B?
    regards
    mariano

  • Unable to execute map in SQL

    Hi,
    I have a map which conditionally inserts data tables. The map works fine if I execute using from OWB UI. It inserts data as expected.
    The same map if executed from PL/SQL it doesn't execute.
    Status from PL/SQL...
    declare
    v varchar2(1000);
    begin
    map_abc.main(v,123);
    end;
    Audit run id = 270625
    Return result = OK
    Execution status = COMPLETE
    No. task errors = 0
    No. task warnings = 0
    No. errors = 0
    No. selected = 0
    No. inserted = 0
    No. updated = 0
    No. deleted = 0
    No. discarded= 0
    No. merged = 0
    No. corrected= 0
    select mr.execution_audit_id,
    mr.map_name "Map Name"
    , to_char(r.start_time,'DD-MON hh24:mi') "Exec Date"
    , to_char(trunc(r.elapse_time/60))
    || 'm '
    || to_char(r.elapse_time - 60 * trunc(r.elapse_time/60))
    || 's' "Exec Time"
    , nvl(r.number_records_merged,0)+nvl(r.number_records_inserted,0)+nvl(r.number_records_updated,0) "No Records"
    from all_rt_audit_map_runs mr
    , all_rt_audit_step_runs r
    , all_rt_audit_step_run_targets t
    where execution_audit_id = 270625
    and mr.map_run_id = r.map_run_id
    and mr.map_run_id = t.map_run_id
    and r.step_id = t.step_id
    and r.run_status = 'COMPLETE'
    order by r.start_time DESC;
    No Rows found
    ---- Status from OWB
    Returns Audit id 270634.
    Audit ID MapName Exec Date Time Rows
    270634     "MAP_ABC"     16-JUL 13:53     0m 0s     1
    270634     "MAP_ABC"     16-JUL 13:53     0m 0s     0
    270634     "MAP_ABC"     16-JUL 13:53     0m 0s     0
    270634     "MAP_ABC"     16-JUL 13:53     0m 0s     2
    Any Ideas/thoughts
    -DvvB
    Edited by: user512679 on Jul 17, 2009 9:56 AM

    It only happens when any previous execution of the map in SQL fails then all the subsequent map executions completes 'OK' without processing any rows and without logging any audit information.
    Execute the map in New SQL session to have successful execution.
    -DvvB

  • Unable to execute Map from Database link

    Hi
    Been trying to research this issue but have had no luck in finding an answer. Here is the situation:
    We have an apex application that resides on database "A"
    Our OWB Design Repository (11.1.0.7) and Runtime Environment both exist on database "B"
    Maps exists and execute under normal procedures as the "ETL" user on database "B", However we would like to allow the "APEX" user to execute a map from database "A" across a database link to a user that can execute the map without any issue.
    When we try to execute the map across the database link from toad or sqlplus we get no error returned, the procedure runs and kicks off a map execution (as seen in ALL_RT_AUDIT_EXECUTIONS) or from the control center executions. However the Map execution immediately fails with no explanation as to why??
    what makes even less sense is that the user on database "B" that the database link connects to.. can execute the same procedure all day long if logged directly into database "B".. but the moment you try to call it across the database link.. it errors with no message as to why.
    We are calling the "WB_WORKSPACE_MANAGEMENT.SET_WORKSPACE".. so that is not the issue.. I am assuming this is either a bug.. or we are missing an additional call/privilege. The user for the database link is a registered user in the workspace, obviously this works since the database link user can run the procedure if logged in locally to database "B"
    Any thoughts???

    Figured out our problem..
    Found RETURN_CODE column in ALL_RT_AUDIT_EXECUTIONS table.. point to -2064 which is an ora-2064
    NOTE 1026597.6 - CALLING REMOTE PACKAGE RECEIVES ORA-2064 explains that a commit is issued in a coordinated session from an RPC procedure call with OUT parameters or function call. Action: simplify remote update statement.
    The problem here is that "Commit Control" was set to Automatic for the mappings we were calling. Oracle does not like when a transaction is initiated on database "A" and has a commit issued on database "B" from the map.
    Makes sense.. we switched the commit control to "Manual" and are able to process correctly by issuing a commit from the session on database "A"
    Hope this helps anyone that runs into this issue themselves..

  • ABAP Mapping - How to test it

    Hi,
    I'm trying to test the SAP example found  in document "How to use Abap-Mapping in XI 3.0". This one is:
    class interface = Z_TEST_ABAP_MAPPING
    method = IF_MAPPING~EXECUTE
    But I cannot test it.
    1. In IR, when I uses the "Test" option inside my Interface Mapping, I have the following error message:
    "Unable to tes. You cannot execute program Z_TEST_ABAP_MAPPING in the test environnement".
    2. and when I uses transaction SXI_MAPPING_TEST, I have first this message: <i><SUCCESS>Services Processed Without Error</SUCCESS></i> But in the Trace folder, there is that:
      <?xml version="1.0" encoding="iso-8859-1" ?>
    - <Top>
      <First>BeginTrace</First>
      <Trace level="1" type="B">CL_MAPPING_XMS_PLSRV3-ENTER_PLSRV</Trace>
      <Trace level="2" type="T">......attachment XI_Context not found</Trace>
      <Trace level="1" type="T">No mapping configured</Trace>
      <Trace level="1" type="E">CL_MAPPING_XMS_PLSRV3-ENTER_PLSRV</Trace>
      </Top>
    Anybody can help me?
    Regards.
    Mickael.

    Hello,
    Have you create a scenario in Integration Directory ?
    Check in the Directory if in your interface determination you put correct information.
    The sender service : SENDER
    The sender interface : BookingOrders corresponding interface.
    The sender namespace : http://sap.com/test/ABAPMapping
    The receiver service : RECEIVER
    Under Configured Inbound Interfaces, you can find :
    The Inbound interface : MsgOut corresponding interface.
    Interface mapping : BookingOrders2MsgOut that use your ABAP Mapping.
    I am not sure the Receiver determination is necessary.
    Then if it's OK, check that you put exactly the same information in transaction SXI_MAPPING_TEST :
    Sender Service : SENDER
    Sender Interface Namespace : http://sap.com/test/ABAPMapping
    Sender Interface Name : BookingOrders corresponding interface.
    Receiver Service : RECEIVER
    Receiver Interface Namespace : namespace where you define your MsgOut Interface.
    Receiver Interface Name : MsgOut corresponding interface.
    Regards,
    Chris

  • Acces dynamic configuration variable (e.g. filename) in ABAP mapping class

    Hi experts
    I am searching for a possibility to acces a dynamic configuration variable (DCV) in an ABAP mapping class. Since I could not find a solution in SDN and other sources, I hope somebody in this forum can help me.
    What I already found is the following code which can be used to set a DCV, but what I would be interested in is how to read a DCV.
    Any help is appreciated.
    Markus
    METHOD if_mapping~execute.
    DATA l_record type mpp_dynamic.
    * copy payload
    result = source.
    * add an adapter specific attribute
    l_record-namespace = 'http://sap.com/xi/XI/System/File'.
    l_record-name = 'FileName'.
    l_record-value = 'test.xml'.
    dynamic_configuration->add_record( l_record ).
    ENDMETHOD.

    Hi Markus,
    you can find everything in my blogs
    /people/michal.krawczyk2/blog/2007/04/26/xipi-throwing-generic-exceptions-from-any-type-of-mapping
    Regards,
    michal

  • Unable to execute SDT request JAVA_EE during the JAVA---Input_adm_user_pwd

    Dear Friends
    I am stuck in CONFIGURATION PHASE of EHP5 Upgrade.
    The ABAP phase has been completed but stuck in the Java processing  INPUT_ADM_USER_PWD
    "unable to execute the SDT request Java_EE operation configure on
    hostname dbserver1 instance 02 Modules execution failed.
    Execution of the unit PREPARE failed. Connection to the Upgrade Tool was closed."
    TROUBLE TICKET LOG
    Trouble Ticket Report
    Installation of enhancement package 1 for SAP NetWeaver 7.0
    SID................: $(/J2EE/StandardSystem/SAPSystemName)
    Hostname...........: $(/J2EE/SAPGlobalHost)
    Install directory..: $(/J2EE/StandardSystem/SAPSIDDirectory)
    Upgrade directory..: $(/JUMP/DIR/MAIN)
    Database...........: $(/J2EE/DBSystem/DBInfoName)
    Operating System...: $(/J2EE/StandardSystem/ServiceInstance/BCCentralServicesInstanceHost/OpSysType)
    JDK version........: $(/SystemProperties/JavaVersion) $(/SystemProperties/JavaVendor)
    SAPJup version.....: $(/MAIN_VERSION)
    Source release.....: $(/ER_CODE)
    Target release.....: $(/J2EE/ShadowSystem/Version)
    Start release SP...: $(/J2EE/StandardSystem/SPLevel)
    Target release SP..: $(/J2EE/ShadowSystem/SPLevel)
    Current usages.....: $(/J2EE/StandardSystem/Usages/StrCurrentUsages)
    ABAP stack present.: $(/J2EE/StandardSystem/BCSystemPresent)
    The execution of  ended in error.
    Could not perform operation on secure store. See previous messages.
    Could not perform operation on secure store. See previous messages.
    Class com.sap.security.core.server.secstorefs.SecStoreFS method createStoreWithEncryption has thrown the exception com.sap.security.core.server.secstorefs.FileIOException
    com.sap.security.core.server.secstorefs.FileIOException: I/O error on file "e:\usr\sap\PRD\SYS\global\security\data\JUpgrade.key".
    java.io.FileNotFoundException: e:\usr\sap\PRD\SYS\global\security\data\JUpgrade.key (The system cannot find the path specified)
    More information can be found in the log file .
    Use the information provided to trouble-shoot the problem. There might be an OSS note providing a solution to this problem. Search for OSS notes with the following search terms:
    com.sap.sdt.util.secstore.SecureStoreException
    Could not perform operation on secure store. See previous messages.
    INPUT_ADM_USER_PWD
    INIT
    PREPARE
    NetWeaver Enhancement Package Installation
    SAPJup
    Java Enhancement Package Installation
    Regards
    Anwer Waseem
    Edited by: Anwer Waseem on Nov 9, 2011 11:48 PM

    TROUBLE TICKET LOG
    Trouble Ticket Report
    Installation of enhancement package 1 for SAP NetWeaver 7.0
    The execution of ended in error.
    Could not perform operation on secure store. See previous messages.
    Could not perform operation on secure store. See previous messages.
    Class com.sap.security.core.server.secstorefs.SecStoreFS method createStoreWithEncryption has thrown the exception com.sap.security.core.server.secstorefs.FileIOException
    com.sap.security.core.server.secstorefs.FileIOException: I/O error on file "e:\usr\sap\PRD\SYS\global\security\data\JUpgrade.key".
    java.io.FileNotFoundException: e:\usr\sap\PRD\SYS\global\security\data\JUpgrade.key (The system cannot find the path specified)*
    its locating on drive e:\ which is wrong directory, the global directory are avaiable on drive S:\; this is the reasons that processing are ending with error.
    Please advise how to resolve ASAP.
    More information can be found in the log file .
    Use the information provided to trouble-shoot the problem. There might be an OSS note providing a solution to this problem. Search for OSS notes with the following search terms:
    com.sap.sdt.util.secstore.SecureStoreException
    Could not perform operation on secure store. See previous messages.
    CHECK_PREPARE_UNIT
    Regards
    Anwer Waseem

  • ABAP Mapping for Error handling in Proxy to JDBC

    Hi All,
    I am working on a proxy to jdbc scenario in which we have to throw validation errors to NWPM(Net Weaver Process Monitor Tool)
    I am following the below steps,
    step 1 - In message mapping a UDF is created to catch errors and store them in a variable using  dynamic configuration
    step 2 - writing abap mapping for handling this thrown exception and im reading the dynamic configuration in the abap class and raising exception. The exception format expected is
    SAP:Error SOAP:mustUnderstand="" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="RCVR_DETERMINATION">NO_RECEIVER_CASE_ASYNC</SAP:Code>
      <SAP:P1>ZPI_THROW_EXCEPTION</SAP:P1>
      <SAP:P2>001</SAP:P2/>
      <SAP:P3>Mandatory field is missing[BUKRS] </SAP:P3>
       <SAP:AdditionalText />
      <SAP:Stack>No receiver could be determined</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    I have written the following ABAP code to achieve this:
    method IF_MAPPING~EXECUTE.
      DATA l_record type mpp_dynamic.
    DATA error type String.
    getting dynamic configuration value
    filled in by any previous mapping
    CALL METHOD DYNAMIC_CONFIGURATION->GET_RECORD
      EXPORTING
        NAMESPACE = 'http://sap.com/xi/XI/System/ERROR'
        NAME      = 'ERROR'
      RECEIVING
        RECORD    = l_record.
    error = l_record-value.
    *raising exception with our message
    RAISE EXCEPTION TYPE CX_MAPPING_FAULT
      EXPORTING
       TEXTID =
       PREVIOUS =
        ERROR_CODE = '001'
        ERROR_TEXT = error .
    RAISE EXCEPTION TYPE CX_MAPPING_FAULT
      EXPORTING
       TEXTID =
       PREVIOUS =
        ERROR_CODE = '003'
        ERROR_TEXT = error .
    endmethod.
    I am gettign the following message for our code:
    SAP:Error SOAP:mustUnderstand="" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="RCVR_DETERMINATION">NO_RECEIVER_CASE_ASYNC</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:Stack>No receiver could be determined</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Could you please help in finding the solution for getting currect error message from ABAP class?
    Edited by: SwethaC on Jan 21, 2011 8:18 AM

    The error is due to RFC Call fail from PI system to your ECC Application System.
    Check your RFC Destination for ECC System type 3 in PI System.
    When you are receiving data from ECC System using Proxies & again you are going to ECC System for Validation.
    Why you are not doing this validation on ECC System only in your proxy code ?
    In your proxy code, it will be much better for performance to check your data there on same system.

  • Abap Mapping: error in accessing to DynamicConfiguration.

    Hi All,
    I have been trying to put a value into Dynamic Configuration repository with the following abap code.
    DATA: l_record TYPE MPP_DYNAMIC.
    l_record-namespace = 'http://name1/ca/result1'.
    l_record-name = 'FileName'.
    l_record-value = '/mydir/dir1/File01.xml'.
    CALL METHOD dynamic_configuration->add_record
      EXPORTING
        record = l_record.
    I receive the following dump.
    Runtime Errors         OBJECTS_OBJREF_NOT_ASSIGNED_NO
    Except.                CX_SY_REF_IS_INITIAL
    Date and Time          25.03.2009 11:06:10
    Short text
         Access using a 'ZERO' object reference is not possible.
    What happened?
         Error in the ABAP application program.
         The current ABAP program "Z_XI_MAPPING_TEST_03==========CP" had to be
          interrupted because it contains
         a statement that cannot be executed.
    Error analysis
         An exception occurred that is explained in detail below.
         The exception, which is assigned to class 'CX_SY_REF_IS_INITIAL', was n
          caught in
         procedure "IF_MAPPING~EXECUTE" "(METHOD)", nor was it propagated by a R
          clause.
         Since the caller of the procedure could not have anticipated that the
         exception would occur, the current program is terminated.
         The reason for the exception is:
         An attempt was made to access a component with a 'ZERO' object
         reference (points to 'nothing').
         An object reference must point to an object (an instance of a class)
         before it can be used to access a component.
         Either the reference has not yet been set or it was set to 'ZERO' using
         a CLEAR statement.
    I am executing my test outside PI, by launching the report Z_MAPPING_TEST as explained in a blog.
    In java evironment it is necessary to create an istance of a object for saving the value of the variable 'FileName' inside the Dynamic Configuration repository.
    I do not know if it is necessary to create (before) an istance of the Dynamic Configuration in abap mapping or if the method add_record do this.
    The meaning of my test is to get the name file from the Dynamic Configuration repository set in a previous step in a flow where the abap mapping will be launched.
    Any suggestion will be well appreciated.
    Many thanks in advance for your kind cooperation.
    Regard,
        Giovanni

    Hi,
    in your ABAP mapping code, instead of l_record-namespace = 'http://name1/ca/result1' use below:
    l_record-namespace = 'http://sap.com/xi/XI/System'.
    Then re-run your scenario.
    Regards,
    Rajeev Gupta

  • Problem in ABAP mapping

    Hi ,
    I am working with a scenerio where i have 2 diff system to send the data depending upong the sending payload data.
    I am using ABAP mapping where i am able to send accros the data, below is my code
    METHOD IF_MAPPING~EXECUTE.
      BREAK-POINT.
      * initialize iXML
      TYPE-POOLS: IXML.
      CLASS CL_IXML DEFINITION LOAD.
      DATA: L_IXML TYPE REF TO IF_IXML.
    *creating the Interface by calling the create method in class C_IXML
      CALL METHOD CL_IXML=>CREATE
    EXPORTING
       TYPE   = 0
        RECEIVING
          RVAL   = L_IXML.
    create stream factory
      DATA: STREAMFACTORY TYPE REF TO IF_IXML_STREAM_FACTORY.
      CALL METHOD L_IXML->CREATE_STREAM_FACTORY
        RECEIVING
          RVAL = STREAMFACTORY.
    create input stream
      DATA: ISTREAM TYPE REF TO IF_IXML_ISTREAM.
      CALL METHOD STREAMFACTORY->CREATE_ISTREAM_XSTRING
        EXPORTING
          STRING = SOURCE
        RECEIVING
          RVAL   = ISTREAM.
    *This iXML factory can create an empty XML document object named IDOCUMENT.
    initialize input document
      DATA:  IDOCUMENT TYPE REF TO IF_IXML_DOCUMENT.
      CALL METHOD L_IXML->CREATE_DOCUMENT
        RECEIVING
          RVAL = IDOCUMENT.
    parse input document
      DATA: IPARSER TYPE REF TO IF_IXML_PARSER.
      CALL METHOD L_IXML->CREATE_PARSER
        EXPORTING
          DOCUMENT       = IDOCUMENT
          ISTREAM        = ISTREAM
          STREAM_FACTORY = STREAMFACTORY
        RECEIVING
          RVAL           = IPARSER.
      IPARSER->PARSE( ).
      DATA: EL_ELEMENT TYPE REF TO IF_IXML_ELEMENT,
            VALUE TYPE STRING.
      DATA: ROOT TYPE REF TO IF_IXML_ELEMENT.
    get message content of tag
      DATA: INCODE  TYPE REF TO IF_IXML_NODE_COLLECTION,
            INCODE1 TYPE REF TO IF_IXML_NODE_COLLECTION,
            INCODE2 TYPE REF TO IF_IXML_NODE_COLLECTION,
            INCODE0  TYPE REF TO IF_IXML_NODE_COLLECTION.
      CALL METHOD IDOCUMENT->GET_ELEMENTS_BY_TAG_NAME
        EXPORTING
         DEPTH     = 0
          NAME      = 'MANDT'
         NAMESPACE = 'urn:sap-com:document:sap:rfc:functions'
        RECEIVING
          RVAL      = INCODE0 .
      CALL METHOD IDOCUMENT->GET_ELEMENTS_BY_TAG_NAME
      EXPORTING
         DEPTH     = 0
        NAME      = 'EMPNO'
         NAMESPACE = 'urn:sap-com:document:sap:rfc:functions'
      RECEIVING
        RVAL      = INCODE.
      CALL METHOD IDOCUMENT->GET_ELEMENTS_BY_TAG_NAME
    EXPORTING
         DEPTH     = 0
    NAME      = 'EMPNAME'
         NAMESPACE = 'urn:sap-com:document:sap:rfc:functions'
    RECEIVING
    RVAL      = INCODE1.
      CALL METHOD IDOCUMENT->GET_ELEMENTS_BY_TAG_NAME
    EXPORTING
         DEPTH     = 0
    NAME      = 'DEPARTMENTNAME'
         NAMESPACE = 'urn:sap-com:document:sap:rfc:functions'
    RECEIVING
    RVAL      = INCODE2.
      DATA: URI TYPE STRING.
      URI = 'urn:sap-com:document:sap:rfc:functions'.
    * build up output document =============================================
    create output document
      DATA: ODOCUMENT TYPE REF TO IF_IXML_DOCUMENT.
      CALL METHOD L_IXML->CREATE_DOCUMENT
        RECEIVING
          RVAL = ODOCUMENT.
    DATA: RET_VALUE TYPE I.
    **At this point you can add the nodes (elements, attributes) into the document. First you have to declare the root element node.
      DATA: L_ELEMENT_ROOT TYPE REF TO IF_IXML_ELEMENT.
      DATA: NODE_LIST_COLLECTION TYPE REF TO IF_IXML_NODE_COLLECTION.
    add node to the output document
      DATA: OUTCODE0 TYPE REF TO IF_IXML_NODE.
      DATA: OUTCODE  TYPE REF TO IF_IXML_NODE.
      DATA: OUTCODE1 TYPE REF TO IF_IXML_NODE.
      DATA: OUTCODE2 TYPE REF TO IF_IXML_NODE.
      DATA: INDEX1 TYPE SY-INDEX.
      DATA: INDEX TYPE SY-INDEX.
      DATA IRC TYPE I.
      TYPES:  BEGIN OF TY_IMPORT,
               MANDT             TYPE MANDT,
               EMPNO             TYPE STRING,
               EMPNAME           TYPE STRING,
               DEPARTMENTNAME    TYPE STRING,
         END OF TY_IMPORT.
      DATA: IT_IMPORT TYPE STANDARD TABLE OF TY_IMPORT.
      DATA: WA_IMPORT TYPE                 TY_IMPORT.
      CALL METHOD IDOCUMENT->GET_ELEMENTS_BY_TAG_NAME
        EXPORTING
       DEPTH     = 0
          NAME      = 'MANDT'
       NAMESPACE = ''
        RECEIVING
          RVAL      =  NODE_LIST_COLLECTION.
      DATA: LENGTH TYPE I.
      CALL METHOD NODE_LIST_COLLECTION->GET_LENGTH
        RECEIVING
          RVAL = LENGTH.
      WHILE INDEX < LENGTH.
       CALL METHOD IDOCUMENT->FIND_FROM_NAME
         EXPORTING
           DEPTH     = index
           NAME      = 'EMPNO'
           NAMESPACE = ''
         RECEIVING
           RVAL      = EL_ELEMENT .
        CALL METHOD INCODE0->GET_ITEM
          EXPORTING
            INDEX = INDEX
          RECEIVING
            RVAL  = OUTCODE0.
       EL_ELEMENT = IDOCUMENT->FIND_FROM_NAME( 'MANDT' ).
        VALUE = OUTCODE0->GET_VALUE( ).
        WA_IMPORT-MANDT  = VALUE.
        CLEAR: VALUE.
        CALL METHOD INCODE->GET_ITEM
          EXPORTING
            INDEX = INDEX
          RECEIVING
            RVAL  = OUTCODE.
       EL_ELEMENT = IDOCUMENT->FIND_FROM_NAME( 'EMPNO' ).
        VALUE = OUTCODE->GET_VALUE( ).
        WA_IMPORT-EMPNO  = VALUE.
        CLEAR: VALUE.
        CALL METHOD INCODE1->GET_ITEM
          EXPORTING
            INDEX = INDEX
          RECEIVING
            RVAL  = OUTCODE1.
       EL_ELEMENT = IDOCUMENT->FIND_FROM_NAME( 'EMPNAME' ).
        VALUE = OUTCODE1->GET_VALUE( ).
        WA_IMPORT-EMPNAME  = VALUE.
        CLEAR: VALUE.
        CALL METHOD INCODE2->GET_ITEM
          EXPORTING
            INDEX = INDEX
          RECEIVING
            RVAL  = OUTCODE2.
       EL_ELEMENT = IDOCUMENT->FIND_FROM_NAME( 'DEPARTMENTNAME' ).
        VALUE = OUTCODE2->GET_VALUE( ).
        WA_IMPORT-DEPARTMENTNAME  = VALUE.
        CLEAR: VALUE.
        APPEND WA_IMPORT TO IT_IMPORT.
        CLEAR WA_IMPORT.
        ADD 1 TO INDEX.
      ENDWHILE.
      TYPES: BEGIN OF TY_DATA,
              DATA TYPE STRING,
                    END OF TY_DATA.
      DATA: IT_DATA TYPE STANDARD TABLE OF TY_DATA,
            WA_DATA TYPE TY_DATA.
      DATA: SSSS TYPE STRING.
      IF SOURCE IS NOT INITIAL.
        CALL FUNCTION 'ECATT_CONV_XSTRING_TO_STRING'
          EXPORTING
            IM_XSTRING  = SOURCE
            IM_ENCODING = 'UTF-8'
          IMPORTING
            EX_STRING   = SSSS.
      ENDIF.
    render document ======================================================
    create output stream
      DATA: XX TYPE STRING.
      DATA: XX_1 TYPE STRING.
      DATA: XX1 TYPE STRING.
      DATA: XX2 TYPE STRING.
      DATA: T1 TYPE STRING VALUE ''.
      DATA: T TYPE STRING VALUE '<DATA><MANDT>'.
      LOOP AT IT_IMPORT INTO WA_IMPORT.
       CLEAR: XX1.
       IF SY-TABIX = 1.
        IF WA_IMPORT-EMPNO = '000000000022'.
          CONCATENATE  T WA_IMPORT-MANDT '</MANDT>'
         '<EMPNO>' WA_IMPORT-EMPNO '</EMPNO>'
         '<EMPNAME>' WA_IMPORT-EMPNAME '</EMPNAME><DEPARTMENTNAME>'
         WA_IMPORT-DEPARTMENTNAME '</DEPARTMENTNAME></DATA>'
          INTO XX1   .
         IF SY-TABIX = 1.
         ELSE.
          CONCATENATE    XX1   XX_1 INTO XX_1.
         ENDIF.
        ELSE.
          CONCATENATE  T WA_IMPORT-MANDT '</MANDT>'
    '<EMPNO>' WA_IMPORT-EMPNO '</EMPNO>'
    '<EMPNAME>' WA_IMPORT-EMPNAME '</EMPNAME><DEPARTMENTNAME>'
    WA_IMPORT-DEPARTMENTNAME '</DEPARTMENTNAME></DATA>' INTO XX1   .
          CONCATENATE XX1 XX INTO XX.
         ENDIF.
        ENDIF.
        AT LAST.
          CONCATENATE '<?xml version="1.0" encoding="UTF-8"?><ns1:ZTEST1 xmlns:ns1="urn:sap-com:document:sap:rfc:functions">'
        XX_1 INTO XX_1.
          CONCATENATE  XX_1 '</ns1:ZTEST1>' INTO XX_1.
          CALL FUNCTION 'ECATT_CONV_STRING_TO_XSTRING'
    EXPORTING
      IM_STRING         = XX_1
    IM_ENCODING       = 'UTF-8'
    IMPORTING
    EX_XSTRING        = RESULT.
        EX_LEN            = .
          CONCATENATE '<?xml version="1.0" encoding="UTF-8"?><ns1:ZTEST1 xmlns:ns1="urn:sap-com:document:sap:rfc:functions">'
    XX        INTO XX.
          CONCATENATE XX '</ns1:ZTEST1>' INTO XX.
         CONCATENATE XX_1 XX INTO XX.
          CALL FUNCTION 'ECATT_CONV_STRING_TO_XSTRING'
            EXPORTING
              IM_STRING         = XX
             IM_ENCODING       = 'UTF-8'
           IMPORTING
             EX_XSTRING        = RESULT
        EX_LEN            =
        ENDAT.
      ENDLOOP.
    ENDMETHOD.
    here above result parameter will have the target data..But it sends the that same data to both the system , If i will be able to recursively call this method, then i be able to solve the prob easily as first time result will send one data to one system and next time to other system,

    Hi munish,
    I dont think there is any thing wrong with the ABAP code.
    Try testing your ABAP mapping using transaction code SXI_MAPPING_TEST in XI.
    Enter the Details asked and then enter TEst data in XML format.. 
    Also, you can make use of the Trace element to find out if there is any thing wrong with the code.
    Include the following Statements after every step in the ABAP code to ensure that the particular step is completed successfully.
    data : l_trace type string.
    concatenate l_trace '<Message you want to display>' into l_trace.
    trace->trace(level = '<level>'
    message =l_trace).  
    The trace is visible in SXMB_MONI (click on "Trace" in the left pane to view).
    using this you will get to know i the code is functioning as desired.
    Regards,
    Yashaswee.

  • Parser error in ABAP mapping

    Hi ,
      i am using the following ABAP mapping program
    method if_mapping~execute .
    data: t_edidc type table of edi_dc40,
    ls_edidc type edi_dc40,
    ls_edidc_h type edi_dc40,
    t_edidd type table of edi_dd40,
    ls_edidd_h type edi_dd40,
    ls_idx_xmb type idx_xmb,
    t_result type string,
    t_resultc type string,
    t_resultd type string.
    data: ls_idx1 type idxporsm59.
    data: t_segtyp type table of edilsegtyp,
    el_segtyp type edilsegtyp,
    el_released type segdefrel,
    el_error_text type string.
    =======================
    0. parse input document
    =======================
    initialize iXML
    type-pools: ixml.
    break-point.
    class cl_ixml definition load.
    create main factory
    data: ixmlfactory type ref to if_ixml.
    break-point.
    ixmlfactory = cl_ixml=>create( ).
    create stream factory
    data: streamfactory type ref to if_ixml_stream_factory.
    streamfactory = ixmlfactory->create_stream_factory( ).
    create input stream
    data: istream type ref to if_ixml_istream.
    istream = streamfactory->create_istream_xstring( source ).
    initialize input document
    data: idocument type ref to if_ixml_document.
    idocument = ixmlfactory->create_document( ).
    parse input document
    data: iparser type ref to if_ixml_parser.
    iparser = ixmlfactory->create_parser( stream_factory = streamfactory
    istream = istream
    document = idocument ).
    iparser->parse( ).
    =================================================
    1. get IDoc header data and connection parameters
    =================================================
    data: el_message_id type sxmsguid.
    el_message_id = param->get( if_mapping_param=>message_id ).
    data: el_element type ref to if_ixml_element.
    el_element = idocument->find_from_name( 'TABNAM' ).
    ls_edidc-tabnam = el_element->get_value( ).
    el_element = idocument->find_from_name( 'MANDT' ).
    ls_edidc-mandt = el_element->get_value( ).
    el_element = idocument->find_from_name( 'DOCNUM' ).
    ls_edidc-docnum = el_element->get_value( ).
    el_element = idocument->find_from_name( 'STATUS' ).
    ls_edidc-status = el_element->get_value( ).
    el_element = idocument->find_from_name( 'OUTMOD' ).
    ls_edidc-outmod = el_element->get_value( ).
    el_element = idocument->find_from_name( 'TEST' ).
    if not el_element is initial.
    ls_edidc-test = el_element->get_value( ).
    endif.
    el_element = idocument->find_from_name( 'IDOCTYP' ).
    ls_edidc-idoctyp = el_element->get_value( ).
    el_element = idocument->find_from_name( 'CIMTYP' ).
    if not el_element is initial.
    ls_edidc-cimtyp = el_element->get_value( ).
    endif.
    el_element = idocument->find_from_name( 'MESTYP' ).
    ls_edidc-mestyp = el_element->get_value( ).
    el_element = idocument->find_from_name( 'STDVRS' ).
    if not el_element is initial.
    ls_edidc-stdvrs = el_element->get_value( ).
    endif.
    el_element = idocument->find_from_name( 'STD' ).
    if not el_element is initial.
    ls_edidc-std = el_element->get_value( ).
    endif.
    el_element = idocument->find_from_name( 'STDMES' ).
    ls_edidc-stdmes = el_element->get_value( ).
    el_element = idocument->find_from_name( 'SNDPOR' ).
    ls_edidc-sndpor = el_element->get_value( ).
    el_element = idocument->find_from_name( 'SNDPRT' ).
    ls_edidc-sndprt = el_element->get_value( ).
    el_element = idocument->find_from_name( 'SNDPRN' ).
    ls_edidc-sndprn = el_element->get_value( ).
    el_element = idocument->find_from_name( 'RCVPOR' ).
    ls_edidc-rcvpor = el_element->get_value( ).
    el_element = idocument->find_from_name( 'RCVPRT' ).
    ls_edidc-rcvprt = el_element->get_value( ).
    el_element = idocument->find_from_name( 'RCVPRN' ).
    ls_edidc-rcvprn = el_element->get_value( ).
    el_element = idocument->find_from_name( 'CREDAT' ).
    ls_edidc-credat = el_element->get_value( ).
    el_element = idocument->find_from_name( 'CRETIM' ).
    ls_edidc-cretim = el_element->get_value( ).
    el_element = idocument->find_from_name( 'SERIAL' ).
    ls_edidc-serial = el_element->get_value( ).
    ls_edidc-direct = '2'.
    move-corresponding ls_edidc to ls_idx_xmb.
    Connection data to application system to get IDoc metadata
    select single * from idxporsm59 into ls_idx1
    where port = ls_edidc-sndpor
    and client = ls_edidc-mandt.
    ls_idx_xmb-port = ls_edidc-sndpor.
    ls_idx_xmb-rfcdest = 'NONE'. "not necessary
    Get DOCREL and SAPREL
    el_element = idocument->find_from_name( 'DOCREL' ).
    if not el_element is initial.
    ls_edidc-docrel = el_element->get_value( ).
    else.
    select segtyp into table t_segtyp from idxidocsyn
    where port = ls_edidc-sndpor
    and idoctyp = ls_edidc-idoctyp
    and cimtyp = ls_edidc-cimtyp.
    loop at t_segtyp into el_segtyp.
    select released into el_released from idxedisdef
    where port = ls_edidc-sndpor
    and segtyp = el_segtyp
    and actrelease = 'X'.
    endselect.
    if el_released gt ls_edidc-docrel.
    ls_edidc-docrel = el_released.
    endif.
    endloop.
    endif.
    ======================================
    2. convert XML to IDoc table structure
    ======================================
    break-point.
    call function 'IDX_XML_TO_IDOC'
    exporting
    xml_data = source
    guid = el_message_id
    edidc40 = ls_edidc
    idx_xmb = ls_idx_xmb
    typ_def = 'X'
    tables
    idoc_control_40 = t_edidc
    idoc_data_40 = t_edidd
    exceptions
    unknown_xml = 1
    customizing_error = 2
    no_data_found = 3
    syntax_error = 4
    others = 5.
    if sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    To keep the original DOCNUM uncomment the following 8 lines of coding
    Otherwise a new DOCNUM will be created
    LOOP AT t_edidc into ls_edidc_h.
    ls_edidc_h-DOCNUM = ls_edidc-DOCNUM.
    modify t_edidc from ls_edidc_h.
    ENDLOOP.
    LOOP AT t_edidd into ls_edidd_h.
    ls_edidd_h-DOCNUM = ls_edidc-DOCNUM.
    modify t_edidd from ls_edidd_h.
    ENDLOOP.
    =========================================
    3. convert IDoc table structure to string
    =========================================
    call function 'ZSOTR_SERV_TABLE_TO_STRING'
    EXPORTING
    FLAG_NO_LINE_BREAKS = ' '
    LINE_LENGTH = 0
    LANGU = SY-LANGU
    importing
    text = t_resultc
    tables
    text_tab = t_edidc.
    convert IDoc table structure to string
    call function 'ZSOTR_SERV_TABLE_TO_STRING'
    EXPORTING
    FLAG_NO_LINE_BREAKS = ' '
    LINE_LENGTH = 0
    LANGU = SY-LANGU
    importing
    text = t_resultd
    tables
    text_tab = t_edidd.
    concatenate t_resultc t_resultd into t_result.
    convert string to xstring
    call function 'SCMS_STRING_TO_XSTRING'
    exporting
    text = t_result
    MIMETYPE = ' '
    ENCODING =
    importing
    buffer = result.
    EXCEPTIONS
    FAILED = 1
    OTHERS = 2
    if sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    endmethod.
    <b> i am getting the following parse error in FM IDX_XML_TO_IDOC :
    " unexpected symbol; expected '<', '</', entity reference, character data, CDATA section, processing instruction or comment "
    can anybody help
    points will be given
    Regards</b>

    HI,
    is it possible that you have to use "-" instead of "=" in this [ixmlfactory = cl_ixml=>create( ).] line ?
    regards,
    gordon

  • ABAP Mapping: ostream with multiple sibling tags (ixml_document_fragment ?)

    Hallo,
    during ABAP Mapping I have the following problem:
    I want to return a message to XI Java stack in the following format:
    <?xml version="1.0"?><ns0:MT_FILE_PAXAR_INB xmlns:ns0="http://logimoda.com/ns_paxar">
    <Recordset>
    [... child tags which values are retrieved from fields of each record of an internal table]
    </Recordset>
    </ns0:MT_FILE_PAXAR_INB>
    I want n <Recordset>, one for each record of the internal table "t_etichette", which is populated by:
    CALL FUNCTION 'ZXI_ETICHETTE_COMPOSIZIONE_PEZ'
    Now, i'm not able to append n sibling <Recordset>, only one is appended to parent <ns0:MT_FILE_PAXAR_INB>.
    I guess the solution is ixml_document_fragment or using someway an iteration, but I don't know how...
    Any suggestion?
    Thanks all in advance:)
    PS below my current source code:
    METHOD if_mapping~execute .
    1.0 Def. Data Types - Start **********************************
      DATA:
            wa_t_richieste  TYPE          zppst_input_etichette_pezzo,
            t_richieste     TYPE TABLE OF zppst_input_etichette_pezzo,
            wa_t_etichette  TYPE          zppst_output_etichette_pezzo,
            t_etichette     TYPE TABLE OF zppst_output_etichette_pezzo,
            wa_t_logelab    TYPE          zppst_esito_etichette_pezzo,
            t_logelab       TYPE TABLE OF zppst_esito_etichette_pezzo.
    1.1 Def. Data Types - End   **********************************
    initialize iXML
      TYPE-POOLS: ixml.
      CLASS cl_ixml DEFINITION LOAD.
    create main factory
      DATA: ixmlfactory TYPE REF TO if_ixml.
      ixmlfactory = cl_ixml=>create( ).
    create stream factory
      DATA: streamfactory TYPE REF TO if_ixml_stream_factory.
      streamfactory = ixmlfactory->create_stream_factory( ).
    create input stream
      DATA: istream TYPE REF TO if_ixml_istream.
      istream = streamfactory->create_istream_xstring( source ).
      DATA: val_nodo  TYPE string,
            nome_nodo TYPE string,
            nome_el   TYPE string
      DATA: ta_data TYPE STANDARD TABLE OF ztabxml,
            wa_data TYPE ztabxml.
    parse input document =================================================
    initialize input document
      DATA: idocument TYPE REF TO if_ixml_document.
      idocument = ixmlfactory->create_document( ).
    parse input document
      DATA: iparser TYPE REF TO if_ixml_parser.
      iparser = ixmlfactory->create_parser( stream_factory = streamfactory
                                            istream = istream
                                            document = idocument ).
      iparser->parse( ).
      DATA: element  TYPE REF TO if_ixml_element.
      DATA: articolo TYPE REF TO if_ixml_element.
      DATA: collo    TYPE REF TO if_ixml_element.
      DATA: l_trace  TYPE string.
      DATA: child    TYPE REF TO if_ixml_node.
      DATA: nr_art   TYPE REF TO if_ixml_node_collection.
      DATA: dest    TYPE rfcdest,
            wa_cust TYPE zxi_cust,
            mandt   TYPE sy-mandt.
      SELECT SINGLE * FROM zxi_cust INTO wa_cust
             WHERE parname1 = 'RFC_DEST'
               AND parname2 = 'R/3'.
      dest  = wa_cust-parvalue1.
      mandt = dest+7(3).
    1.2 Mapping XML -> items      ************************************
      CLEAR    nome_nodo.
      CLEAR    child.
      CLEAR    ciclo.
      element = idocument->find_from_path_ns(
                                     path    =
    '/RIGA'
                                 default_uri = '' ).
      nome_el = element->get_name( ).
      ciclo = 'true'.
      WHILE ciclo = 'true'.
    Mandante
        MOVE mandt TO wa_t_richieste-mandt.
        IF nome_el = 'RIGA'.
          child = element->get_first_child( ).
          WHILE child IS BOUND.
            nome_nodo = child->get_name( ).
            val_nodo  = child->get_value( ).
            CASE nome_nodo.
              WHEN 'COD_MSGEXPORT'.
    Identificativo da Logimoda
                MOVE val_nodo TO wa_t_richieste-zcodeidoc.
              WHEN 'C0001'.
    Commessa
                MOVE val_nodo TO wa_t_richieste-j_3acomord.
            ENDCASE.
            child = child->get_next( ).
          ENDWHILE.
          APPEND wa_t_richieste TO t_richieste.
          CLEAR: wa_t_richieste.
          element ?= element->get_next( ).
          IF NOT element IS BOUND.
            EXIT.
          ENDIF.
          nome_el = element->get_name( ).
        ELSE.
          ciclo = 'false'.
        ENDIF.
      ENDWHILE.
    1.3 call RFC     ************************************************
      DATA: return TYPE sy-subrc.
      DATA: t_return TYPE TABLE OF bapiret2.
      DATA: st_return TYPE bapiret2.
      DATA: mess_exc TYPE string.
      DATA: t_error_text TYPE string.
      CLEAR: return.
      CLEAR: t_return.
      REFRESH: t_return.
      CALL FUNCTION 'ZXI_ETICHETTE_COMPOSIZIONE_PEZ'
        DESTINATION
        dest
       EXPORTING
    TO DO: Y or N ??
         fl_alv       = ' '
        TABLES
          t_richieste  = t_richieste
          t_etichette  = t_etichette
          t_logelab    = t_logelab
        EXCEPTIONS
          no_richieste = 1
          no_etichette = 2
          no_plant     = 3
          OTHERS       = 4.
      IF ( ( sy-subrc <> 0 )      AND
           ( dest <> 'MZ1CLNT400' )
        DATA subrc TYPE sy-subrc.
        CASE subrc.
          WHEN 1.
           LOOP AT t_logelab INTO st_logelab WHERE type EQ 'E'.
            CONCATENATE 'ABAP MAPPING ERROR: '
                         'NO_RICHIESTE'
                         INTO mess_exc.
            trace->trace( level = '1'
                          message = mess_exc ).
            RAISE EXCEPTION TYPE cx_mapping_fault
                  EXPORTING error_code = '90'
                            error_text = 'NO_RICHIESTE'.
           ENDLOOP.
          WHEN 2.
          WHEN 3.
          WHEN OTHERS.
        ENDCASE.
      ENDIF.
    1.4 build up output document *****************************************
      DATA: ret_value TYPE i.
      DATA: uri       TYPE string.
      uri = 'http://logimoda.com/ns_paxar'.
    create output document
      DATA: odocument TYPE REF TO if_ixml_document.
      odocument = ixmlfactory->create_document( ).
    Test - Start ***********
    DATA: root_ns TYPE REF TO if_ixml_namespace_decl.
    root_ns = odocument->create_namespace_decl(
          name   = 'ns0'
          prefix = 'ns0'
          uri    =  uri ).
    ret_value = odocument->set_namespace_prefix(
    prefix = 'ns0'
    ret_value = odocument->set_namespace_uri(
    uri = 'ns0'
    root = odocument->create_element_ns(
    name   = 'ns0'
    prefix = 'ns0'
    uri    = 'http://logimoda.com/ns_paxar'
    Test - End   ***********
    create root XML tag
      DATA: root TYPE REF TO if_ixml_element.
      root = odocument->create_simple_element_ns(
         name   = 'MT_FILE_PAXAR_INB'
         prefix = 'ns0'
         uri    = uri
        value = temp
         parent = odocument ).
      DATA: ns_xml_attr TYPE REF TO if_ixml_attribute.
      ns_xml_attr = odocument->create_attribute_ns(
      name   = 'ns0'
      prefix = 'xmlns'
      uri    = 'http://logimoda.com/ns_paxar'
      ret_value = ns_xml_attr->set_value( uri ).
      ret_value = root->set_attribute_node_ns(
       new_attr = ns_xml_attr
    create recordset tag (<= see ref. in FTP Comm. Channel)
      DATA: recordset TYPE REF TO if_ixml_element.
    recordset = odocument->create_simple_element(
        name = 'Recordset'
        value = temp
        parent = root ).
    Test - Start ***********
      DATA: doc_fragm TYPE REF TO if_ixml_document_fragment.
      doc_fragm = odocument->create_document_fragment( ).
    create recordset tag (<= see ref. in FTP Comm. Channel)
      recordset = odocument->create_simple_element(
         name = 'Recordset'
        value = temp
         parent = doc_fragm ).
      DATA: ref_child TYPE REF TO if_ixml_node.
      ret_value = root->insert_child(
      new_child = doc_fragm
      ref_child = ref_child
    DATA: recordset_array TYPE REF TO if_ixml_node_collection.
    recordset_array->append_item(recordset_el).
    Test - End   ***********
    XI Inbound Message: MT_FILE_PAXAR_INB
      DATA: zcodeidoc       TYPE REF TO if_ixml_element.
      DATA: j_3acomord      TYPE REF TO if_ixml_element.
      DATA: werks           TYPE REF TO if_ixml_element.
      DATA: trilog_yseason  TYPE REF TO if_ixml_element.
      DATA: temp TYPE string.
      LOOP AT t_etichette INTO wa_t_etichette.
    HERE IS THE PROBLEM, HOW TO DO IT ?
        ret_value = root->insert_child(
         new_child = recordset
         ref_child = recordset
        CLEAR temp.
        MOVE wa_t_etichette-zcodeidoc TO temp.
        zcodeidoc  = odocument->create_simple_element(
        name = 'ZCODEIDOC'
         value = temp
        parent = recordset ).
        CLEAR temp.
        MOVE wa_t_etichette-j_3acomord TO temp.
        j_3acomord  = odocument->create_simple_element(
           name = 'j_3acomord'
         value = temp
           parent = recordset ).
        CLEAR temp.
        MOVE wa_t_etichette-werks TO temp.
        werks  = odocument->create_simple_element(
         name = 'WERKS'
         value = temp
         parent = recordset ).
        CLEAR temp.
       MOVE wa_t_etichette-trilog_yseason TO temp.
        trilog_yseason  = odocument->create_simple_element(
           name = 'trilog_yseason'
         value = temp
           parent = recordset ).
        CLEAR wa_t_etichette.
      ENDLOOP.
    render document ======================================================
    create output stream
      DATA: ostream TYPE REF TO if_ixml_ostream.
      ostream = streamfactory->create_ostream_xstring( result ).
    create renderer
      DATA: renderer TYPE REF TO if_ixml_renderer.
      DATA irc TYPE i.
      renderer = ixmlfactory->create_renderer( ostream = ostream
      document = odocument ).
      irc = renderer->render( ).
    1.4 for debug ********************************************************
    Uploading Files and Manipulating their Content
    (SAP Library - Business Server Pages)
    http://help.sap.com/saphelp_nw2004s/helpdata/en/ba/78d3c747b24546ab1c1499a054d8a5/content.htm
      DATA: conv_out TYPE REF TO cl_abap_conv_out_ce.
      conv_out = cl_abap_conv_out_ce=>create(
               encoding = 'UTF-8'
               endian = 'L' ).
    conversion string => xstring *********************************
    conv->convert( EXPORTING data = out
                    IMPORTING buffer = result ).
    conversion xstring => string *********************************
      DATA: outxml TYPE string.
      DATA: conv_in   TYPE REF TO cl_abap_conv_in_ce.
      conv_in = cl_abap_conv_in_ce=>create( input = result ).
      conv_in->read( IMPORTING data = outxml ).
    store file txt on PC for test purpose - Start          ********
      DATA: dataset_str_xml  TYPE string,
            debug_allowed(1) TYPE c,
            l_xml_size       TYPE i.
        dataset_str_xml = '/usr/sap/XIT/ZXI_PARAX_TEST_XML.xml'.
        OPEN DATASET dataset_str_xml FOR OUTPUT
             IN TEXT MODE ENCODING DEFAULT.
        TRANSFER outxml TO dataset_str_xml.
        CLOSE DATASET dataset_str_xml.
    store file txt on PC for test purpose - End            ********
    ENDMETHOD.

    create recordset tag (<= see ref. in FTP Comm. Channel)
    recordset = odocument->create_simple_element(
    name = 'Recordset'
    value = temp
    parent = doc_fragm ).
    this object must be created inside your loop...

  • ABAP Mapping Vs Java Mapping.

    We are implementing a project on XI.
    We need to freeze on one mapping.
    I feel ABAP Mapping provides the following advantages:
    1.SXI_MAPPING_TEST is a very good transaction for debugging and testing mapping environment of XI.Iam not sure wether java mapping can be tested after deploying it on XI.
    2.ABAP Mapping is well integrated with the XI and also version control becomes very easy as it is provided by the SAP transport system.
    3.ABAP also provides user  rich/simple API's as java.
    4.Support of XI in ABAP would make sustanenace easy as it is going to be a more SAP product and ABAPers are more available in ERP background.
    Java punters,Please provide inputs.

    Hi,
    all of the step in the message flow after a message enter
    the IS will be done by the abbap stack e.g. Receiver
    determination, interface determination, ... The only one
    step that is executed in J2EE-Stack is the mapping.
    In the pipline the system jump from the abap stack to
    Java stack to execute the mapping if the mapping is done
    in Java (message mapping, java mapping, xslt,...).
    But if the the mapping is done by abap the the runtime
    has not to jump to the java stack to execute the mapping.
    Because there is no java code to execute. To clarif: if
    you have only abap-mapping the the compete process step
    do not include the jump to the j2ee-stack of XI. So in
    this case the abap mapping is more performant cause the
    runtime stay in the abap stack through the complete
    message processing.
    But if you have mix mapping e.g. first step abap and
    second step java then the j2ee-stack will be used as
    well.
    regards,
    Ly-Na Phu

  • ABAP mapping Vs Graphical mapping

    Hi
    I have an inbound scenario to R/3 where the purchase requisition has 300 line items. I was wondering if it is easier to do ABAP mapping for such scenarios instead of Graphical mapping as it would be better performace as ABAP mapping is executed on ABAP engine?
    I would appreciate valuable inputs.
    Thanks,
    Arjun.

    Hi Arjun
    As mentioned above in the comparison Blog between 2 mappings, i dont think it gives clear picture, if you have some specific work which getting Dynamic Configuration stuff for example, then you will have to Look for ABAP mapping Class, my thinking is that it depends completely on the requirment.
    For ABAP mapping you can go to
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/e3ead790-0201-0010-64bb-9e4d67a466b4
    Let me know if you want any further clarifications
    Piyush
    Pl:reward points if found helpful.

  • ABAP Mapping  and Message Mapping

    Hello
    I want to do the followig mapping
    File - > IDOC
    field1  ->field_idoc1
    field2  ->field_idoc2
    field3  ->field_idoc3
    field4  -> (based on an dictionary table in the R/3)
    For the first 3 fields I will use message-mapping.
    For field4 I heard about ABAP Mapping. Select with the value of field4 in an ABAP Table and response the new value to the mapping back.
    Would both mappings in one Interface-Mapping work?
    Regards
    Christoph

    Christoph, There was an article previously available in articles section, now i dont find the link.
    I have given a sample code below. You can find lot of sample JCO code provided along with the JCO library that can be downloaded from service.sap.com.
    JCO.Repository mRepository;
    JCO.Client mConnection = JCO.createClient(
                   sapClient,
                   userName,
                   password,
                   language,
                   hostName,
                   systemNumber );
    // connect to SAP
    mConnection.connect();
    // create repository
    mRepository = new JCO.Repository( "sample", mConnection );
    // Create function
    JCO.Function function = null;
    IFunctionTemplate ft = mRepository.getFunctionTemplate("Z_TEST");
    function = ft.getFunction();
    // Obtain parameter list for function
    JCO.ParameterList input = function.getImportParameterList();
    // Pass function parameters
    input.setValue( param1_value , "P_PARM1");
    input.setValue( param2_value , "P_PARM2");
    JCO.ParameterList tabInput = function.getTableParameterList();
    JCO.Table inputTable = tabInput.getTable("T_PARM3");
    inputTable.appendRow();
    inputTable.setValue("test" , "IDOC");
    mConnection.execute( function );
    String ret = function.getExportParameterList().getString( "P_GEN_NUM" );
    mConnection.disconnect();
    return ret ;
    Regds
    Saravana

Maybe you are looking for

  • Effects Don't work with Ray-Traced 3D?

    Hello, I'm working on a 3D logo for a company, and I'm trying to snaz what I have done with some effects, but the effects don't work. For example, I tried adding the CC Light Wipe Effect, but it will only show up when I switch back to the classic 3D

  • HP OfficeJet Pro K550 - IP Printing

    Primary issue: printer model does not show up on the "Print Using" list. Detail: I have downloaded from HP, and installed correctly, the driver for the K550. In fact, if I simply plug the printer in directly via USB, it shows up, with the right drive

  • Need help with this Spry "processTokens()" error

    I am using Dreamweaver CS4 Beta, and using the new Spry data set wizard to create a data connection using an HTML file that contains a table of simple data. Getting through the guided steps of creating the data set and the master/detail page is a pie

  • A016 is not updating in SAP

    Dear SAP Exprts, Please suggest me Table A016 is not updating, Is the reason of Client settings or any debug in SAP? Please request to ans my qtn. Regards TG

  • Put frame in the midde on the screen

    How do you make the frame appear at the midde of the screen?