Abap XSLT Exception block messages in SMQ2

Hello Community,
I have a XSLT ABAP transformation calling some ABAP objects and it's working well. I just need to handle some applications exceptions.
I wrote an ABAP Class that raise an exception in this way:
RAISE EXCEPTION TYPE cx_mapping_fault
        EXPORTING
          error_text = l_error.
The problem is that the message appears canceled in SMQ2 and I need to show the error status in the Integration Engine
I have tried with the <xsl:message>:
<xsl:message terminate="yes">Error</xsl:message>
But it didn't work. Exception isn't thrown in the Integration Engine. The message status is processed successfully.
Your help would be appreciated.
Regards,
Yuván>

Hello VJ,
Thanks for your answer. I'm not using BPM in this scenario. I don't understand why messages that throw some exception in XSLT ABAP lock SMQ2. Because this doesn't happen when I use an ABAP-CLASS or message mapping as mapping programs. The lock is just using XSLT ABAP.
Is this normal...?....is there anyway to avoid the lock and change the status to error in the integration engine..?
Regards.
Yuvan,

Similar Messages

  • ABAP Proxy Exception / Fault Message

    Hi All,
    I have got a requirement to raise an exception from existing ABAP Proxy   depending on condition. XI consultant created  a fault messge type and attached to the inbound interface message type. I have regenerated the ABAP proxy but I cant find any thing in excpetion tab to raise exception.
    Please let me know the solution for this.
    reward points are available.
    -Venkat

    Hi Venkat,
    The following link will guide you ..
    http://help.sap.com/saphelp_nw04s/helpdata/en/c9/7a1041ebf0f06fe10000000a1550b0/frameset.htm
    I dont think we need to do any changes in Exchange Profile for proxy communication.
    Changing the RFC Destinations (in your R/3 system)- LCRSAPRFC & SAPSLDAPI should solve your problem.
    Regards,
    Sumit

  • Synchronous scenario(ABAP proxy to HTTP_AAE) getting error exception as "Message Expired Exception"

    Dear All,
    I have done all the configuration for ABAP proxy scenario using AAE/ICO as per the below "how to guide" using SOAP as sender adapter using xi protocol. My SAP PI is 7.4 dual stack system. here third party is not a webservice its HTTP based we server so no wsdl.
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/70066f78-7794-2c10-2e8c-cb967cef407b?overridelayout=t…
    However after running the scenario from ECC I am getting the exception as "Returning to application. Exception: com.sap.engine.interfaces.messaging.api.exception.MessageExpiredException: Message 53289257-97e0-06d0-e100-00000a70d384(OUTBOUND) expired.". I do not have any connection problem to third party(bank) URL. moreover I am able to get the response from bank using classical scenario s in PI, but the response message is not getting pushed to ECC, rather its reaming in PI SXMB_MONI with status "Log version".
    Thats the reason I am trying to do using ICO, but using ICO PI is not even sending the request out of PI to bank. Please see the below receiver communication channel message log.
    Thanks,
    Farhan

    Hi,
    As per the log, the message has started 23:18:02 and failed at 23.23:02 it took 5min time, if message is not process certain time this kind of errors comes up. Have you changed adapter type for existing SOAP communication channel or created new? provide complete log of the message from starting time to ending time if possible.

  • ABAP-XSLT mapping.

    Hi ALL,
              I am using i scinario in my project of type IDOC to PI to SOAP . In this one my mapping is of type ABAP-XSLT . the interface is runnign fine for all the idocs except one idoc. When that particula idoc comming from r/3 it is giving short dump and the message is staying at queue as scheduled. When i am trying to reprocess the message it is giving the same dump. In the ST22 t code it is saying the XSLT_RUNTIME_ERROR and the error is XSLT "xxxx"program was termintaed scince it encounterd a statement that could not be executed. I tried to monitor the trace for the both successful messages on the same inteface. But the both the traces are same it seems. what could be the reason how to eliminate.
    Regards,
    Rama

    Hi,
       I think there is an option to debug the XSLT programs that are generated using call transformation command:
    http://help.sap.com/saphelp_nw70/helpdata/en/07/88273c3f2b3c7ce10000000a11402f/content.htm
    Can you try debugging the XSLT program?
    Also check if there are any invalid characters like angled braces, ampersands etc in your IDOC data.
    It might sometimes create issues.
    Regards,
    Ravi kanth Talagana

  • CX_SY_CONVERSION_NO_DATE_TIME XSLT Exception

    Hi,
    we're running ECC6.0 and created a Web Service(WS) out of a SAP-Function Module(FM).
    When calling this WS from Excel-VBA (XP; WS-Toolkit) the following error pops up:
    CX_SY_CONVERSION_NO_DATE_TIME: XSLT Exception An Error occured while deserialization in ST-program /1BCDWB/WSSA..............
    The value 4/6/2009 is not a valid date regarding XML-format for ABAP.
    (this is my translation from original german error message, so english error message may differ a bit).
    For explanation:
    The FM/WS should give me a table with fields of type DATS and I think the single transformation cannot convert 20090604 to 2009-06-04 but only to 4/6/2009.
    Any ideas would be great....

    Thanks for your feedback, Ralph.
    But, let me tell you that I tried again using a test tool for WebServices (soapUI 3.0.1, free software) and I got surprised to see that everything worked OK!, without errors (I had to previously clear "?" symbols and others "rare" values that the tool filled in for some parameters, nothing important).
    All of the Date fields were transfered to the BAPI, according to xml format for dates: "YYYY-MM-DD".
    So, I was able to avoid this "issue" by now, but I'm not sure what will happen until the real legacy sistem starts its owns tests.
    I have to wait until that moment to be sure. But according to test tool soapUI, if you use that format, it should work (I'm using SAP ECC 6.0). Let's see what happens in the end.
    May be there is some configuration or setting issue in the external/legacy system that calls your WebService.
    Regards,
    JG.

  • Save all details error in Exception Block of BizTalk

    In orchestration A,I make a Exception Block ,created a System.Exception object and saved Exception Error in a string and checking it in admin console.
    In my orchestarion, I got amount value from a element Amount, used a custom xslt and in that custom xslt, I used a C# function for desired calculation for the value of amount.
    Now when,input string of amount is not in a correct format then a error is saved regarding mapping  as follows:
    Transformation failed for Map A.
    But the actual error is as follows:
    input string was not in a correct format.
    How can I get this error in  exception handler block?
    Prakash

    Hi Prakash,
    Like you have mentioned that you are using Custom XSLT, my advice will be that you can raise an exception from within an XSLT template, based on the value.
    <xsl:message terminate="yes">Custom error text</xsl:message>
    This will cause the XSLT engine to stop processing immediately, and raise an exception.   This exception, including the custom error text contained within the message segment,
    can be caught in the BizTalk Orchestration engine by explicitly catching an exception of type 
    Microsoft.XLANGS.BaseTypes.TransformationFailureException.
    Refer: Biz Talk : How To : Throw Custom Exception in Map
    For step-by-step explanation on this refer: Flowing clear error messages from transforms
    Rachit
    Please mark as answer or vote as helpful if my reply does

  • FileName in ABAP XSLT Mapping

    Dear SDN,
    In an integration scenario we are using sender File Adapter and a  ABAP XSLT Mapping.
    Is there any way to get the source FileName from such mapping.  Im trying to use the adapter-specific message attributes, but it doesn't work, and I didn´t find an example, probably I and doing somthing wrong.
    regards,
    GP

    Thank you for your help,
    I just try to access the adapter-specific attibutes using:
    <xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      xmlns:key="java:com.sap.aii.mapping.api.DynamicConfigurationKey">
    <xsl:variable name="filename"  select="key:create('http://sap.com/xi/XI/System/File', 'Directory')" />
    </xsl:stylesheet>
    but the following error raised:
    <SAP:Stack>Error while calling mapping program YXSLT_TEST (type Abap-XSLT, kernel error ID CX_XSLT_RUNTIME_ERROR) Call of unknown function</SAP:Stack>
    have you had this situation?

  • Call RFC  In ABAP XSLT

    Hello Experts,
          I have a requirement where in i need to call RFC(Which is created in R/3 system) In ABAP XSLT Mapping(defined iN xi system).
    Can some one help me to achieve this??
    **ITS URgent****
    Thanks and Regards,
    Prakash Babu.

    Hi James,
             Check here............
    /message/5182263#5182263 [original link is broken]
    RFC connections
    /message/5102602#5102602 [original link is broken]
    Regards,
    Vijay.

  • ABAP proxy exception to SOAP fault and vice versa not getting mapped

    Hi there,
    I have these scenario's: ABAP proxy to SOAP (AXIS framework) and the other way around, synchronous, using AAE.
    When declaring the Synchronous Service interfaces we also defined error message types in order to pass system and application exceptions back to the service consumers.
    The behavior we are observing is as follows;
    When an exception is generated on the ABAP proxy, the error message type is correct generated and filled with the corresponding values in the ABAP proxy runtime. However, when the response arrives at the service consumer, it only contains a SOAP fault filled with some kind of generic PI mapping exception information.
    1. Why is the original ABAP proxy exception not mapped/passed into the SOAP response?
    2. What can we do in order to change that situation?
    3. Does it has to do with the use of the AAE - Advanced Adapter Engine or the AXIS framework?
    PS: We have performed a test of the Operation Mapping - OM using the ABAP exception as input and it did work correctly, so the error structure seems to be Ok.
    Many thanks for your replies.
    Edited by: Roberto Viana on Jul 26, 2010 8:30 PM

    Problem was caused by some differences in namespaces between source and target.

  • CX_SY_CONVERSION_NO_DATE_TIME:XSLT exception when calling Web Service

    I have created a Web Service on our Sandbox SAP server and am attempting to call it from our DEV SAP Server.  The returning structure contains date fields that sometimes are null. A null date field in SAP is equal to 00000000.
    When I call the Web Service and the date values are null, I get the following exception:
    CX_SY_CONVERSION_NO_DATE_TIME:XSLT exception.An error occurred when deserializing in the simple transformation program /1SAI/TXS982F8A669D1A54B7AD0D.
    Value 0000-00-00 is not a valid date in accord with the XML format for ABAP
    I would not expect to see this type of error, sense the call is between two SAP systems. 
    Is there anyway to fix this without moving space to any null date field in the function module?
    That's kind of annoying to do sense I have so many date fields.
    Example:
    IF date1 IS INITIAL.
        MOVE space TO date1.
    ENDIF.
    IF date2 IS INITIAL.
        MOVE space TO date2.
    ENDIF.
    IF date3 IS INITIAL.
        MOVE space TO date3.
    ENDIF.
    IF date4 IS INITIAL.
        MOVE space TO date4.
    ENDIF.

    Hi All,
    I got a solution for this exception. Hope it will help to all facing this problem.
    I was using proxy created from SE80.
    In my proxy for exporting parameters of methods I have changed all date fields.
    Earlier it was having Techn. type under Attributes of fields : XSDDATE_D. I chnaged this to DATS.
    It worked fine.
    Manish

  • ABAP XSLT Extensions or XSLT (XI imported archive)?

    Hi all,
    I would like to know which is having better performance in a scenario with a significant number of messages.
    I know that ABAP XSLT Extensions is based in XSLT 1.0 and have some features of XSLT 2.0. So, for me it means some limitations and a disadvantage compared with all of XSLT 2.0 “standard” can offer.
    But, my question is related with performance and I just want to know which is faster.
    Thanks in advance,
    Cheers,
    Ricardo.

    Hi Ricardo,
    abap xslt has one great advantage
    abap stack does not have to communicate with
    java stack to perform the - so no RFC calls for mapping
    with many messages that might influence their flows
    but it wuold be best if you could just test it
    in YOUR environment (there are many test tools -
    like Loadrunner from Mercury) or you can write your own scripts
    and just test in your particular examle which one is better
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • Looking for example - abap xslt - that uses xslt document() function

    Hello,
    I'm looking for an example that shows the use of abap xslt with the xslt document() function.  Using the xslt document() function seems like a straightforward way to use xslt to create a result xml document by processing the content of two or more
    source documents.  For example, if source document A.xml and aux.xml are available in  memory as xstringand using stylesheet ztransformwhat would be the argument for the document() function to associate aux.xml.  Thanks for any insight.
    Regards,
    jb10809

    Hi,
    Sorry, perhaps I should have been clearer! The function that I picked just to test what you need to do just happened to return a string that contains SPAN tags with style attributes. The actual function code is:
    create or replace FUNCTION out_string_fn
       RETURN VARCHAR2
    IS
       CURSOR emp_cur
       IS
          SELECT ename
            FROM emp;
       v_string   VARCHAR2 (4000);
    BEGIN
       v_string := ' ';
       FOR c IN emp_cur
       LOOP
          v_string :=
                v_string
             || '&lt;SPAN style="font-weight:bold;color:green"&gt;'
             || c.ename
             || '&lt;/SPAN&gt;'
             || ', &lt;/br&gt;&lt;/br&gt;';
       END LOOP;
       RETURN v_string;
    END;And this returned a naff list in green (see [http://apex.oracle.com/pls/otn/f?p=55041:57] and click the Test button) - but it does show that you can style the validation error messages
    Andy

  • Ref cursor in exception block

    Hi all.. I have a stored procedure that needs to return a records to Crystal Report.
    I'm using an outpur parameter of type cursor.
    In the proc, I am selecting the data from a table based on the input criteria and inserting into a GTT table,
    if so, retrieve and store in the table and generate and throw output to CR.
    if it is not returning any data i should raise exception and throw the related message to CR.
    But in my proc even though it wont insert data into table b going inot next statements where it should not go.
    create or replace procedure a(a1 varchar2,ref_cur out pkg1.cru)
    as
    cnt number;
    begin
    insert into b
    (select * from a where a.col=a1);
    commit;
    open ref_cur for
    select a.col from a;
    EXCEPTION
    WHEN OTHERS THEN
    RAISE_APPLICATION_ERROR (-20001, SQLERRM);
    WHEN NO_DATA_FOUND THEN
         open ref_cur for
    select 'No Data Found' col from dual;
    end;
    1.please suggest wherer to raise exception when "select * from a where a.col=a1" doesn't return any value.
    2. Can ref cursor be used in exception block.
    if i use condition like
    after the insert statement
    select count(*) into cnt from b;
    if cnt=0 then
    raise NO_DATA_FOUND;
    EXCEPTION
    WHEN OTHERS THEN
    RAISE_APPLICATION_ERROR (-20001, SQLERRM);
    WHEN NO_DATA_FOUND THEN
         open ref_cur for
    select 'No Data Found' col from dual;
    please suggest any other way to handle
    Thanks in advance

    First and foremost some fundamental things:
    EXCEPTION
    WHEN OTHERS THEN
    RAISE_APPLICATION_ERROR (-20001, SQLERRM);
    WHEN NO_DATA_FOUND THEN
    open ref_cur for
    select 'No Data Found' col from dual;
    end;1. You can not declare WHEN OTHERS before any other EXCEPTION. You can not compile this. Here you have declared WHEN OTHERS first then NO_DATA_FOUND and it is erroneous.
    2. This is not the way you want to handle the WHEN OTHERS exception.
    WHEN OTHERS_
    http://tkyte.blogspot.com/2008/06/when-others-then-null-redux.html
    http://tkyte.blogspot.com/2007/03/dreaded-others-then-null-strikes-again.html
    http://download.oracle.com/docs/cd/E11882_01/appdev.112/e17126/toc.htm

  • RAISE_APPLICATION_ERROR works only in exception block

    Hi,
    I am facing a strange issue. My RAISE_APPLICATION_ERROR wroks only in EXCEPTION block and not in BEGIN block. Please have a look at below description
    I have a procedure that has IF Block as shown below.
    BEGIN
    IF TO_DATE('31-DEC-99', 'DD-MON-RR') > TO_DATE('11-MAR-12', 'DD-MON-RR') THEN
    RAISE_APPLICATION_ERROR(-20001, 'some message');
    END IF;
    END;
    -- RAISE_APPLICATION_ERROR is not working in the above code.
    BEGIN
    IF TO_DATE('31-DEC-99', 'DD-MON-RR') > TO_DATE('11-MAR-12', 'DD-MON-RR') THEN
    RAISE EX_ABC
    END IF;
    EXCEPTION
    WHEN EX_ABC THEN
    RAISE_APPLICATION_ERROR(-20001, 'some message');
    END;
    --Here the exception is raised and it works fine.
    BACKDROP:
    I have made a trigger that does date validations. It calls procedure for all the validations. And the above shown code is a part of the validations that the procedure does.
    Please help.
    Edited by: Ishan on Mar 14, 2012 1:28 PM
    Edited by: Ishan on Mar 14, 2012 1:31 PM

    Ishan wrote:
    I have myself checked and tested with all these conditions. Tried all to_date formats and dbms_output to be sure of the values but nothing seems to work.
    It works in a sample code. But when implemented in the procedure it is ignoring the RAISE_APPLICATION_ERROR.
    Condition is correct. Below is the logic because of which I can say it's correct
    If 1=1 then
    raise_application_error (-20001, 'ABC');
    end;
    this ignores the raise_application_error.
    However if I modify the code with exception block, WITHOUT CHANGING THE CONDITION, iti works fine
    if 1=1 then
    raise ex_ab
    exception
    raise_application_error (-20001, 'ABC');
    end;
    Now the exception is raised.
    NOTE: EVen if I am using 1=1 condition in my code, it is still ignoring the RAISE_APPLICATION error but it will raise the same in he exception block.
    Not sure how is this possible.Are you saying the below code is giveing different result in your db?
    BEGIN
    IF 1=1 THEN
    RAISE_APPLICATION_ERROR(-20001, 'some message');
    END IF;
    END;

  • Why is User defined exception block not reaching

    I want to catch exception if wrong column name is there in a select statement.
    In this example i am useing static query but in real time it will be a dynamic query and it may be possible that a particualre column has been deleted from that table so an error will be returned that we need to catch and display custom message to the user. But control is not going to exception block.
    type_id1 column is not there in table1
    what is that i am missing here?
    declare
    vcTypeID varchar2(10);
    invalid_COLUMNs EXCEPTION;
    pragma exception_init(invalid_COLUMNs,-06550);
    begin
    select to_char(type_id1) into vcTypeID from table1 WHERE ROWNUM=1;
    dbms_output.put_line(vcTypeID);
    exception
    when invalid_COLUMNs then
    dbms_output.put_line('def');
    when others then
    dbms_output.put_line('others');
    end;
    Edited by: user13065317 on Jun 1, 2012 12:47 AM

    Hi,
    Why are you trying to catch 6550? I'd rather try with 904 - invalid identifier
      1  DECLARE
      2  e EXCEPTION;
      3  PRAGMA EXCEPTION_INIT(e, -904);
      4  v VARCHAR2(128);
      5  BEGIN
      6   EXECUTE IMMEDIATE 'SELECT TO_CHAR(nonexisting) FROM dual' INTO v;
      7  EXCEPTION
      8   WHEN e THEN dbms_output.put_line('Invalid identifier');
      9* END;
    SQL> /
    Invalid identifier
    PL/SQL procedure successfully completed.
    SQL>Lukasz

Maybe you are looking for

  • Issue with container divs, and absolute/fixed positioning

    Hello everyone, I have an issue getting my divs to function properly. I have a container div and I want the table div to float inside (and move with page resize). Right now it doesnt move with the page (see photo). However, when I change the position

  • New Nokia PC Suite v. 6.86.9.3?

    Hi! just received an e-mail for a new version of Nokia PC Suite v. 6.86.9.3. Anyone here noted this? The previous version (from 9 April) was 6.86.9.0. Any changes? MJB

  • T-code for Report painter.

    Hi can anyone tell me, Is there any transaction code for report painter or it is an external tool.?? Thanks Utpal

  • Emca can't find emoms.properties

    Hi I'm tying to drop & recreate the EM console on an 11g db running on windows 2008 64bit. I set the environment variables & issue the command; emca -deconfig dbcontrol db -repos drop I get an error in the log saying; SEVERE: Can't find file emoms.pr

  • Bluetooth contact transfer for iPhone

    I have a great new phone called the iPhone yet it can not do the simple task of sending a contacts card via bluetooth to another phone. It is a task my very old Nokia 6600 could do. It is something the iPhone could do if it was programmed to do it. S