Subject: Bex to trigger XI interface

Good day mates....
I was asked by my customer to trigger a Bex ->XI -> file scenario.
Is this scenario feasible?
lets say once a day the event happens....
what are the connectivity options available for this scenario. Can I get a WSDL file from the BEx in order to activate it as a web service?
To me it sounds like the wrong methodology...
Appreciate your remarks.
Tomer.

Well, i just gave an idea..not sure if it will actually work! As you said, you will have to check up with BW experts if you can get WSDL format data...besides, BEX uses queries to get the required data from BW databases and i think its also capable of posting data into excel workbooks(not very sure tho')..
if yuo do get some info about all this...do let us know how XI becomes a part of all this
-Sushumna

Similar Messages

  • Bex to trigger XI interface

    Good day mates....
    I was asked by my customer to trigger a Bex ->XI -> file scenario.
    Is this scenario feasible?
    lets say once a day the event happens....
    what are the connectivity options availabe for this scenario.
    To me it sounds like the wrong methodology...
    Appriciate your remarks.
    N.G

    Well, i just gave an idea..not sure if it will actually work! As you said, you will have to check up with BW experts if you can get WSDL format data...besides, BEX uses queries to get the required data from BW databases and i think its also capable of posting data into excel workbooks(not very sure tho')..
    if yuo do get some info about all this...do let us know how XI becomes a part of all this
    -Sushumna

  • Bex report to report interface dynamically based on Value in the query

    Hi,
    Is it possible to change the destination of the report to report interface dynamically based on the data of the bex query?
    For example my query has the below data
    Plant | KPI | Quantity
    P1 | A | 20.00
    P2 | B | 25.00
    When the user selects KPI A I want to navigate to Query 1, and when KPI B is selected to Query 2. Query 1 and Query 2 have completely different layouts, Instead of create to two destinations is it possible to pick one based on the KPI selected.
    Is this possible in Bex report to report interface or any other way.
    Please suggest
    Thanks in advance.

    Hi
    we have RRI in sap bw. ( TCODE RSBBS.)
    Below article will enlighten you about this topic .
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/607e63d5-b56f-2c10-718f-8e33a08baa89?quicklink=index&overridelayout=true
    hope this helps

  • How to trigger an interface from a database(COBOL) in online mode?

    Hi everybody,
    Can you please tell me how to trigger an interface from a database(COBOL) in online mode?
    thanks a lot,
    Ramya Shenoy

    If you can make a HTTP call from you DB platform -
    HTTP -> BPM (Receive -> Send Step (execute an SP or your select statement here in the JDBC receiver channel) -> send (to target) )-> end.
    VJ

  • How to trigger the interface in target system to load the data automaticall

    Hi Friends,
    This is proxy to file interface. My requirement is to “trigger” the interface in target system to load the data automatically. For ex: if you are sending a customer data file "/exe_test/custd.dat” then the trigger file should be created as “/exe_test/custd.trg”. How do we actually create this trigger file?
    Thanks in advance,
    Prathibha.

    Hi Prathibha,
    File (Trigger) -> BP
    BP <-> ABAP server proxy (synchronous)
    BP -> File
    is one and the standard alternative. Just make your interface synchronous, add a msg type for the request (i think you need only one field), take the existing for the response. Regenerate your proxy.
    Alternative 2 would be:
    File (Trigger) -> ABAP server proxy (asynchronous)
    ABAP server proxy calling a ABAP client proxy
    ABAP client proxy -> File (asynchronous)
    You avoid using BPM, what can be an advantage of huge traffic (performance). This solution has a worse value for the future, because a person, who did not developed the process wouldnt see that the both messages belong together.
    Regards,
    Udo

  • Trigger Second Interface for the same Creation event

    Hello all,
    I have to send my every created equipment to two different systems.
    I created Custom function Modules which create individual Idocs.
    I called these function modules in Methods and we created two custom Tasks to trigger workflow creation event.
    Problem is system is not accepting the second event triggering. It is showing
    'Feed back After error'
    'Deactivating' --- In Event Trace, and it is deactivating the second link in SWETYPV and first event is working fine.
    First Event was developed long back and we did for second event now.
    Did i miss something for my new Tasks?
    If i change the setting of Event delivery to '(always) Using Queue ' for second event in SWETYPV,
    It is not showing error but event trace is showing that second event is in Queue?
    How to process this Event?
    Thanks,
    Krishna.

    Hello,
    It was Checked already..
    still not working..
    Event Trace error was giving this error also..
    'Event EQUI CREATED for task TS90100007 not defined as start/end event'.
    Regards,
    Krishna.
    Edited by: Krishna on Sep 11, 2009 3:32 PM

  • Is it possible to trigger an interface automatically based on an event?

    Hi,
       What are the settings needed to make sure that an outbound interface will be triggered automatically whenver an event occurs?
    In my case, whenever an invoice gets fully paid, an outbound interface should be triggered automatically.
    Is it possible to configure this Triggering Mechanism? If so, someone please provide me all the steps needed to set up this Triggering Mechanism...or please let me know if this Triggering Mechanism is not possible to set up in SAP...
    Please do help...Thanks...
    Uma.

    Hi Uma,
    For the event part :
    In transaction SM36, you can schedule a job to start after a specified event. This could be a specific event that you have created.
    About the trigerring:
    If you have an exit of some sort attached to the invoice processing, you will only have to call FM 'BP_EVENT_RAISE' with the event you have created.
    Best regards,
    Guillaume

  • Tcl script help -- include interface description in status message

    Hi there,
    I'm trying to create a script that will email me when an interface goes down, and include the interface description in the email.  I've found a script that successfully emails me when the status changes, and I found another script that will parse for the interface description, but I can't seem to get them to work together.  I've mashed them up together into the below script:
    # EEM policy that will monitor SYSLOG for Interface status changes.
    # If UPDOWN message is detected, send an email with interface information.
    ### The following EEM environment variables are used:
    ### _email_server
    ### - A Simple Mail Transfer Protocol (SMTP)
    ### mail server used to send e-mail.
    ### Example: _email_server mailserver.example.com
    # Register for a Syslog event. Event Detector: Syslog
    # Match pattern for Interface Status change
    ::cisco::eem::event_register_syslog pattern "%LINK-3-UPDOWN"
    # NAMESPACE IMPORT
    namespace import ::cisco::eem::*
    namespace import ::cisco::lib::*
    # Set array for event_reqinfo
    # Array is populated with additional event information
    array set Syslog_info [event_reqinfo]
    set msg $Syslog_info(msg)
    # Set routername variable for use later
    set routername [info hostname]
    # Parse output for interface name
    if { ! [regexp {: ([^:]+)$} $msg -> info] } {
        action_syslog msg "Failed to parse syslog message"
    regexp {Line protocol on Interface ([a-zA-Z0-9]+)} $info -> interface 
    # ------------------- cli open -------------------
    if [catch {cli_open} result] {
    error $result $errorInfo
    } else {
    array set cli $result
    # Go into Enable mode
    if [catch {cli_exec $cli(fd) "enable"} result] {
    error $result $errorInfo
    #Find interface description
    if [catch {cli_exec $cli(fd) "show interface $interface | inc Description" } description] {
            error $description $errorInfo
    #--------------------- cli close ------------------------
    cli_close $cli(fd) $cli(tty_id)
    set time_now [clock seconds]
    set time_now [clock format $time_now -format "%T %Z %a %b %d %Y"]
    # EMAIL MESSAGE
    # This manually creates a text message with specific format to be used by the
    # smtp_send_email command later to send an email alert.
    # Ensure the following are configured:
    # ip domain-name <domain.com>
    # If a hostname is used for mailservername, ensure the following are configured:
    # ip name-server <dns-server>
    # ip domain-lookup
    # NOTE: Change environment variable _email_server to your SMTP server
    # The email below references the following variables:
    # $routername: hostname of device
    # $time_now: time when specific Syslog message was detected
    # $msg: Syslog message received
    set email_message "Mailservername: $_email_server
    From: [email protected]
    To: $_email_to
    Cc:
    Subject: EEM: Critical interface status change on $routername
    This email is generated by EEM.
    $time_now
    $msg
    $description
    # Send email message
    if {[catch {smtp_send_email $email_message} result]} {
    set result "Email send failed"
    } else {
    set result "Email Sent"
    # Debug message to check email transmission status
    action_syslog msg "$result"
    When I trigger an interface UPDOWN message, I'm getting the following error on the command line:
    Oct 17 23:56:19.355 HKT: %HA_EM-6-LOG: CriticalLinkStatus.tcl: can't read "interface": no such variable
    Oct 17 23:56:19.355 HKT: %HA_EM-6-LOG: CriticalLinkStatus.tcl:     while executing
    Oct 17 23:56:19.355 HKT: %HA_EM-6-LOG: CriticalLinkStatus.tcl: "cli_exec $cli(fd) "show interface $interface | inc Description" "
    Oct 17 23:56:19.355 HKT: %HA_EM-6-LOG: CriticalLinkStatus.tcl:     invoked from within
    Oct 17 23:56:19.355 HKT: %HA_EM-6-LOG: CriticalLinkStatus.tcl: "$slave eval $Contents"
    Oct 17 23:56:19.355 HKT: %HA_EM-6-LOG: CriticalLinkStatus.tcl:     (procedure "eval_script" line 7)
    Oct 17 23:56:19.355 HKT: %HA_EM-6-LOG: CriticalLinkStatus.tcl:     invoked from within
    Oct 17 23:56:19.355 HKT: %HA_EM-6-LOG: CriticalLinkStatus.tcl: "eval_script slave $scriptname"
    Oct 17 23:56:19.359 HKT: %HA_EM-6-LOG: CriticalLinkStatus.tcl:     invoked from within
    Oct 17 23:56:19.359 HKT: %HA_EM-6-LOG: CriticalLinkStatus.tcl: "if {$security_level == 1} {       #untrusted script
    Oct 17 23:56:19.359 HKT: %HA_EM-6-LOG: CriticalLinkStatus.tcl:      interp create -safe slave
    Oct 17 23:56:19.359 HKT: %HA_EM-6-LOG: CriticalLinkStatus.tcl:      interp share {} stdin slave
    Oct 17 23:56:19.359 HKT: %HA_EM-6-LOG: CriticalLinkStatus.tcl:      interp share {} stdout slave
    Oct 17 23:56:19.359 HKT: %HA_EM-6-LOG: CriticalLinkStatus.tcl: ..."
    Oct 17 23:56:19.359 HKT: %HA_EM-6-LOG: CriticalLinkStatus.tcl:     (file "tmpsys:/lib/tcl/base.tcl" line 50)
    Oct 17 23:56:19.359 HKT: %HA_EM-6-LOG: CriticalLinkStatus.tcl: Tcl policy execute failed: can't read "interface": no such variable
    Can anyone help me figure out where I'm going wrong? 
    Thanks in advance,
    Brandon

    Hi Dan,
    Thanks for the reply.   I've made the changes you suggested but I'm still getting the error:
    Oct 18 21:41:50.446 HKT: %HA_EM-6-LOG: CriticalLinkStatus.tcl: can't read "interface": no such variable
    Oct 18 21:41:50.446 HKT: %HA_EM-6-LOG: CriticalLinkStatus.tcl:     while executing
    Oct 18 21:41:50.446 HKT: %HA_EM-6-LOG: CriticalLinkStatus.tcl: "cli_exec $cli(fd) "show int $interface | inc Description""
    Is there any additional debugging I could place in my script?  Normally I would try and print the variables after each line to see what's being populated, but I'm not sure how I can test that from within EEM.
    --Brandon

  • How to trigger error message in PCUI when a BADI is called in SAP Backend

    Hi,
    I am currently coding some validations in the implementation of BADI, CRM_CUSTOMER_I_BADI.
    I know that PCUI will trigger the interface methods, CRM_CUSTOMER_I_CHECK and CRM_CUSTOMER_I_MERGE.
    So is there any way I can deliver status or warning or error message to the users in PCUI, by coding in the above 2 methods?? If yes, how do I do it or if anyone has any sample codes, I will appreciate it very much.
    Thanks.

    Hi,
    i think you should post a link to this question in the  <a href="https://forums.sdn.sap.com/forum.jspa?forumID=126">CRM Development Forum</a> here in SDN.
    Regards
    Gregor

  • Trigger when generating/updating a PP resource(work center) in SAP ECC 6.0

    Hello, SDN members.
    The thing is: I want to mapp when a resource (transaction CRC1 ou CR01) is generated to trigger an interface other Non-SAP System.
    I am used to use EXITs or BaDIs to mapp changes when it is about process orders, MRP, etc.
    I have been looking around in SAP ECC 6.0 without success.
    Does anyone could give me a clue of how can I mapp that? It applies also to updating a Resource (transaction CRC2 or CR02).

    My question is that why step 4) doesn't work normally ?

  • ORA-04092: cannot COMMIT in a trigger - Please advise on solution

    Hi guys,
    I know this error has been explained in the forum before and I understand where the error comes from, but I need expert's opinion to make the trigger works.
    Here is the actual situation:
    Table A has a trigger on after insert, and BASED ON THE LAST ROW inserted (only this data is subject to the trigger's actions) does the following:
    1. MERGE the data (last row from the source table=A) with the data from the table destination=B. This data is specific to an employee;
    2. Open a cursor that goes through all the ancestors of the employee (I have an employees hierarchy) and MERGE the same data (but for ancestors) with the table destination;
    To be more specific :
    EmpID LOB Day Status
    12 1007 29 Solved
    EmpID has ancestors 24 and 95. Therefore in the destination table I will have to do:
    1. Merge data for EmpID 12;
    2. Merge data for EmpID 24, 95:
    EmpID LOB Day Status
    24 1007 29 Just S (this is the status for ancestors)
    95 1007 29 Just S
    Steps 1 and 2 are inside a PL/SQL procedure that works fine by itself, but not within the trigger (since there are many transactions on the destination table). These 2 steps are required because for EmpID 12 I set a status and for the ancestors I set up a different status (this was the only way I could think of).
    Can someone give me a hint how should I handle this situation ?
    Thank you,
    John

    Try this
    create or replace procedure SEQ
    is
    pragma AUTONOMOUS_TRANSACTION;
    BEGIN
    EXECUTE IMMEDIATE 'create sequence ' || V_PROD ||
    ' minvalue 1 maxvalue 999999 start with 1';
    END;
    CREATE OR REPLACE TRIGGER TRG_GEN_SEQUENCES
    BEFORE INSERT on MASTER_TABLE
    FOR EACH ROW
    DECLARE
    V_PROD VARCHAR2(5);
    N_ID NUMBER := 0;
    CT NUMBER := 0;
    ERR_MSG VARCHAR2(2000);
    BEGIN
    -- Retrieve the ID e of the last inserted row which is 100 by default
    -- set the default client_id value with nextvalue of sequence prod_IDS
    IF :NEW.ID = 100 THEN
    V_PROD := :NEW.PROD;
    SELECT PROD_IDS.NEXTVAL INTO N_ID FROM DUAL;
    :NEW.ID := N_ID;
    END IF;
    BEGIN
    SELECT COUNT(*)
    INTO CT
    FROM USER_SEQUENCES US
    WHERE UPPER(US.SEQUENCE_NAME) = UPPER(V_PROD);
    IF CT = 0 THEN
    -- create the sequence with name of V_PROD if doesn't exist
    INSERT INTO CDR_SQL_ERR
    (DB_OBJ, ERR_MSG, PROC_DATE)
    VALUES
    ('TRG_GEN_SEQUENCES',
    V_PROD || ' sequence will be created ', SYSDATE);
    --EXECUTE IMMEDIATE 'create sequence ' || V_PROD ||
    ---' minvalue 1 maxvalue 999999 start with 1';
    begin
    SEQ;
    end;
    ELSE
    INSERT INTO CDR_SQL_ERR
    (DB_OBJ, ERR_MSG, PROC_DATE)
    VALUES
    ('TRG_GEN_SEQUENCES',
    V_PROD || ' sequence alreday exist',
    SYSDATE);
    END IF;
    EXCEPTION
    WHEN OTHERS THEN
    ERR_MSG := TO_CHAR(SQLERRM) || ' ';
    INSERT INTO SQL_ERR
    (DB_OBJ, ERR_MSG, PROC_DATE)
    VALUES
    ('TRG_GEN_SEQUENCES', ERR_MSG || SEQ_DDL, SYSDATE);
    END;
    EXCEPTION
    WHEN OTHERS THEN
    NULL;
    ERR_MSG := TO_CHAR(SQLERRM) || ' ';
    INSERT INTO SQL_ERR
    (DB_OBJ, ERR_MSG, PROC_DATE)
    VALUES
    ('TRG_GEN_SEQUENCES', ERR_MSG || SEQ_DDL, SYSDATE);
    COMMIT;
    END;

  • Dynamic interface determination based on file content

    Dear all,
    I am trying for a while to solve my issue, but wasn't able to find the answer. Maybe you could point me in the right direction whether using standard or BPM...
    I've got one file with multiple entries. Dependend on a field value, I would like to call the right interface and Idoc.
    Sample message:
    <customers>
         <customer>
              <name>ABC</name>
              <city>XYZ</city>
              <trigger>A</trigger>
         </customer>
         <customer>
              <name>DEF</name>
              <city>QRT</city>
              <trigger>A</trigger>
         </customer>
         <customer>
              <name>GHI</name>
              <city>JKL</city>
              <trigger>B</trigger>
         </customer>
         <customer>
              <name>MKN</name>
              <city>TZG</city>
              <trigger>A</trigger>
         </customer>
    </customers>
    Dependend on the content of field "trigger" I would like to send the message to the correct interface (Idoc). I was able to trigger the interface selection in my interface determination based on a condition. So I am looking for field trigger and if = A -> Interface A is called and if = B -> interface B is called. However, it seems it is only checking for the first entry of my payload and then sending all customers to the same interface, no matter what I've got in the trigger field. What I would need is a message split and then only posting the correct rows to the selected interface.
    Any ideas would be highly appreciated.
    Thanks a lot,
    Jens

    Hi Jens,
    I can think of two options:
    1) The logical expression (condition) in the Interface Determination can hold a XPath expression. In your case, it could be complex, as one single XPath has to loop at all the line times for an occurrance.
    Some XPath help is available at: http://www.w3schools.com/xpath/xpath_functions.asp#sequence
    /people/shabarish.vijayakumar/blog/2006/06/07/customise-your-xpath-expressions-in-receiver-determination
    The objective will be to remove the contexts on the trigger node to get a sequence consisting only of the trigger values, and then performing an 'index-of' function on value 'A'. If the result is a null value, then that trigger does not exist and the interface determination will not pass for 'A'. Similar condition can be used for other values of trigger.
    2) Create a separate receiver system / service for each interface A, B etc. Then you can use the enhanced Receiver Determination feature in the IR itself if you are on SP16. Check this:
    /people/venkataramanan.parameswaran/blog/2006/03/17/illustration-of-enhanced-receiver-determination--sp16
    Good luck,
    Bhanu

  • Interface not getting passed to NW BPM.

    Dear All,
    Greetings of the day.
    We have an SAP to Webservice async scenario, through the NW BPM.
    We are facing an issue in sending the trigger message (interface to BPM is XI 3.0 compatible) from SAP to the NW BPM. We are getting the following error.
    Message could not be processed.Reason: com.sap.aii.proxy.xiruntime.core.ESPXISystemFaultException: Error encountered during processing of XI request message in inbound ESP; Hint: com.sap.engine.interfaces.webservices.runtime.RuntimeProcessException: Technical difficulties were experienced during process execution.
    We are getting this the error when I am testing the functionality through WSNavigator or SOAP UI. (In actual scenario ABAP proxy will send the message to NW BPM).
    I have tried testing the BPM from the Netweaver Admin and process is going into BPM. I can see the Interface which will be triggered first in the BPM, in the message monitoring.
    Request your expertise in overcoming the error for triggering the BPM.
    Thank you,
    Best Regards,
    Ajay

    Hi Frank,
    Here is the Trace:
    P.S: I have just replace the interface/product names with *
    process()
    [EXCEPTION]
    com.sap.engine.interfaces.webservices.runtime.RuntimeProcessException: Technical difficulties were experienced during process execution.
    at com.sap.glx.adapter.app.ucon.UnifiedConnectivityAdapter.invokeProvisionedMethod(UnifiedConnectivityAdapter.java:1010)
    at com.sap.glx.adapter.app.ucon.wsprov.GalaxyImplementationContainer.invokeMethod(GalaxyImplementationContainer.java:109)
    at com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.process0(RuntimeProcessingEnvironment.java:710)
    at com.sap.engine.services.webservices.espbase.server.runtime.OnewaySyncProcessor.process(OnewaySyncProcessor.java:24)
    at com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.preProcess(RuntimeProcessingEnvironment.java:659)
    at com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.process(RuntimeProcessingEnvironment.java:322)
    at com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.process(RuntimeProcessingEnvironment.java:245)
    at com.sap.engine.services.webservices.espbase.xi.impl.ESPXIMessageProcessorImpl.process(ESPXIMessageProcessorImpl.java:38)
    at com.sap.aii.proxy.xiruntime.core.esp.ESP_XI_MessageAdapter.invokeXI2ESPProcessor(ESP_XI_MessageAdapter.java:430)
    at com.sap.aii.proxy.xiruntime.sbeans.esp.xiproxies.AsyncInvokeWSInterfaceIn_PortTypeImpl.asyncInvokeWSInterfaceIn(AsyncInvokeWSInterfaceIn_PortTypeImpl.java:24)
    at com.sap.aii.proxy.xiruntime.sbeans.esp.xiproxies.AsyncInvokeWSInterfaceIn_PortTypeBean$1.operate(AsyncInvokeWSInterfaceIn_PortTypeBean.java:76)
    at com.sap.aii.proxy.xiruntime.core.esp.ThrottlerImpl.execute(ThrottlerImpl.java:30)
    at com.sap.aii.proxy.xiruntime.sbeans.esp.xiproxies.AsyncInvokeWSInterfaceIn_PortTypeBean.invokeMethod(AsyncInvokeWSInterfaceIn_PortTypeBean.java:82)
    at sun.reflect.GeneratedMethodAccessor1285.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:47)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:50)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatefulTransactionAssociation.invoke(Interceptors_StatefulTransactionAssociation.java:45)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:191)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatefulSessionInstanceGetter.invoke(Interceptors_StatefulSessionInstanceGetter.java:37)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:37)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:21)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:25)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:17)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:138)
    at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164)
    at com.sun.proxy.$Proxy3334.invokeMethod(Unknown Source)
    at com.sap.aii.proxy.xiruntime.core.XmlProxyJ2EE.parallelWSCall(XmlProxyJ2EE.java:649)
    at com.sap.aii.proxy.xiruntime.core.XmlProxyJ2EE.call(XmlProxyJ2EE.java:147)
    at com.sap.aii.proxy.xiruntime.core.XmlProxy$ProxyBeanCaller.call(XmlProxy.java:206)
    at com.sap.aii.proxy.xiruntime.core.XmlProxy.processRequest(XmlProxy.java:181)
    at com.sap.aii.proxy.xiruntime.core.XmlInbound.processRequestMessage(XmlInbound.java:115)
    at com.sap.aii.proxy.xiruntime.core.XmlInbound.processMessage(XmlInbound.java:78)
    at com.sap.aii.proxy.xiruntime.sbeans.JPRBean.onMessage(JPRBean.java:156)
    at sun.reflect.GeneratedMethodAccessor1281.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:47)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:50)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatefulTransactionAssociation.invoke(Interceptors_StatefulTransactionAssociation.java:45)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:191)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatefulSessionInstanceGetter.invoke(Interceptors_StatefulSessionInstanceGetter.java:37)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:37)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:21)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:25)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:17)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:138)
    at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164)
    at com.sun.proxy.$Proxy3350.onMessage(Unknown Source)
    at com.sap.engine.messaging.impl.spi.ServicesImpl.deliver(ServicesImpl.java:362)
    at com.sap.aii.adapter.xi.ms.XIEventHandler.onDeliver(XIEventHandler.java:1098)
    at com.sap.engine.messaging.impl.core.queue.consumer.ReceiveConsumer.processMessage(ReceiveConsumer.java:282)
    at com.sap.engine.messaging.impl.core.queue.consumer.ReceiveConsumer.onMessage(ReceiveConsumer.java:76)
    at com.sap.engine.messaging.impl.core.queue.Queue.run(Queue.java:1031)
    at com.sap.engine.messaging.runtime.MSWorkWrapper.run(MSWorkWrapper.java:58)
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:185)
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:302)
    Caused by: com.sap.glx.core.kernel.api.TransitionRollbackException: Exception during prepare, rolling back
    at com.sap.glx.core.kernel.mmtx.AbstractTransactionBase.rollback(AbstractTransactionBase.java:701)
    at com.sap.glx.core.kernel.mmtx.AbstractTransaction.do_prepare(AbstractTransaction.java:196)
    at com.sap.glx.core.kernel.mmtx.AbstractTransaction.commit(AbstractTransaction.java:77)
    at com.sap.glx.adapter.app.ucon.UnifiedConnectivityAdapter.invokeProvisionedMethod(UnifiedConnectivityAdapter.java:976)
    ... 77 more
    Caused by: com.sap.glx.core.kernel.api.CancelTransitionException: java.lang.IllegalArgumentException: Generator skipped on service '************_0/pr/pm/Trigger_Message' operation '**************_Async_In'
    at com.sap.glx.core.internaladapter.ExceptionAdapter.raiseException(ExceptionAdapter.java:702)
    at com.sap.glx.core.internaladapter.ExceptionAdapter.raiseException(ExceptionAdapter.java:672)
    at com.sap.glx.core.internaladapter.Transformer$ExceptionProvider.createTransitionException(Transformer.java:625)
    at com.sap.glx.core.internaladapter.Transformer$TransformerTemplateAccessor$GeneratorTemplate$GeneratorInvocationHandler.invoke(Transformer.java:2992)
    at com.sap.glx.core.internaladapter.Transformer$TransformerInvocationHandler.invoke(Transformer.java:3605)
    at com.sap.glx.core.dock.impl.DockObjectImpl.invokeMethod(DockObjectImpl.java:657)
    at com.sap.glx.core.kernel.trigger.config.Script$MethodInvocation.execute(Script.java:248)
    at com.sap.glx.core.kernel.trigger.config.Script.execute(Script.java:798)
    at com.sap.glx.core.kernel.execution.transition.ScriptTransition.execute(ScriptTransition.java:78)
    at com.sap.glx.core.kernel.execution.transition.Transition.commence(Transition.java:196)
    at com.sap.glx.core.kernel.mmtx.PrimaryTransaction.inPrepare(PrimaryTransaction.java:162)
    at com.sap.glx.core.kernel.mmtx.AbstractTransaction.do_prepare(AbstractTransaction.java:194)
    ... 79 more
    Caused by: java.lang.IllegalArgumentException: Generator skipped on service '***************_0/pr/pm/Trigger_Message' operation '*************_Async_In'
    at com.sap.glx.core.internaladapter.Transformer$TransformerTemplateAccessor$GeneratorTemplate$GeneratorInvocationHandler.generate(Transformer.java:2971)
    at com.sap.glx.core.internaladapter.Transformer$TransformerTemplateAccessor$GeneratorTemplate$GeneratorInvocationHandler.invoke(Transformer.java:2986)
    ... 87 more

  • How to trigger XI scenario from a SQLServer Database?

    We plan to realize the following scenario -> Database(Receiver System) - XI - RFC/BAPI (Sender system)
    What's the best practice/technique to invoke the 'pull' from the SQLserver database ?
    The requirement is to realize this as 'on-demand' initiate i.e. trigger the interface from Receiver system only when it needs the data from R/3
    Thanks in advance.
    Mustafa

    JDBC adapter works with pooling intervals.
    It will pool from time to time (configurable) for changes in some DB, and when that DB is changed, then it will send the new entries to XI and trigger the relevant scenario.
    For your case, I'm not sure which would be the best approach.
    Maybe you could populate some dummy table with a "request data" entry whenever you need it.
    Then, when XI sees this new request entry, it will trigger an interface. There, you could either call a BPM, lookup data in RFC and call another interface back to DB, or you could try async/sync bridge without BPM, using module adapters, as explained in this thread: File - RFC - File without a BPM - Possible from SP 19.
    Not too pretty, but might work.
    Regards,
    Henrique.

  • What is the best way to schedule a job for PI interface?

    Hi,
    I have this PI scenario to implement.
    Every day, something (?) needs to trigger PI to call RFC function, get the data and insert it to database.
    What is the best practice to schedule such a job in PI?
    I want to know best practice to trigger PI interface and how to schedule it.
    Also, do I have to use BPM for this?
    Thanks for your help.
    -Won
    Edited by: WON HWANG on Sep 10, 2010 11:21 PM

    Hi Won,
    it depends a bit on the scenario that needs to be implemented. I will try to go point by point and give you the options
    1. You will need to send a message to PI
         - This can be from PI or from ECC. I suggest you use an ABAP proxy client.
         - You will need to write an ABAP program that sends this message (calling the proxy client).
         - You can schedule this program in a job (SM37).
         - If users want control over the job, better schedule it in ECC; if only you or an administrator will control the job, you can do it in PI
         - I would use a generic format which you can reuse to trigger other interfaces: From- and To-date, Context, Action, User
         - You can have conditions in the Receiver Determination and Interface Determination to route the message to the correct interface, based on the Context and Action for example.
         - From- and To-date can be used to make selections in any RFC or table query.
    2. You will need a BPM process in PI
         - Step 1: Receive the trigger
         - Step 2: Call the RFC
         - Step 3: Send to database
    this is because the RFC call is synchronous, and you cannot route the response to another receiver than the sender of the RFC call. Another options is writing a wrapper in ECC around the RFC function, and at the end implement another PI ABAP proxy client that will be routed to your database interface.
    Hope this helps.
    kr
    Peter Glas

Maybe you are looking for

  • Submit MC.9 does not retrieve data in background processing.

    Hi, Im submitting transaction MC.9 in one of my programs. The submit statement seems to retrieve data when the program is run in the foreground, but when the program is scheduled to run in the background the submit statement does not retrieve data. k

  • Ora-01990 error in opening the password file

    Hi, I created a password file by using orapwd utility. Then later on I modified the remote_login_passwordfile in the spfile by giving the command: sql> alter system set remote_login_passwordfile=exclusive scope=spfile. Then it is altered. Later on I

  • Read Header Text  From VF03 Transaction

    Hi Frds,               I want to Read Header Text  From VF03 Transaction Read Transport Number and Transport Date From Vf03 Transaction. Guide Me Briefly How to pass the varaibles to the function Module Regards, Kabil

  • IV Mode in PO

    Hello, we are using AFS solution and when we create the PO the items are at size level, but for some PO type we have written a user exit during the save of PO to change the IV mode from size level to item level. now when i go to MIRO and select the P

  • Text not showing up on various phones

    On the mobile site im working on the phone and fax in the footer is not showing up on iphones but its showing up on the androids. How do I fix this issue so it works for the iphones?