Non-Transacted Event Generator w/ MQ as Foreign Provider - EJB:010158

We have configured an event generator to listen to a WebSphere MQ queue. When an xml message that matches the schema is posted to the MQ queue the event generator pulls that message off and kicks off workflows. Although when that message does not match the schema the event generator tries to rollback the poison message. Here's the problem...
MQ clients on a different machine than the MQ server cannot use transactions, unless you purchase a product [extended transactional client] that costs as must as the MQ server itself. Although you can still access these queues without being part of a transaction.
The event generator expects to be part of a transaction by default. Although if a message comes in that isn't a poison message you will never throw any exceptions because the event generator will never try to roll that message back. When a poison message does come in you receive this error (over and over and over again) :
<Warning><EJB><BEA-010065><MessageDrivenBean threw an Exception in onMessage(). The exception was:
java.lang.IllegalStateException: [EJB:010158]Illegal attempt to call EJBContext.setRollbackOnly() from an EJB that was not participating in a transaction.
My question:
How do you tell the event generator to not be part of a transaction?
Or if it has to be part of a transaction then try to roll it back once, if rollback fails then scrap that message and go back to normal behavior?
Thanks for any help!!!

When I asked my 3 ibm contacts I received this response :
"WebSphere MQ Extended Transaction Client software has price consequence and costs as much as full blown WebSphere MQ Server"
So we are getting different information.
I also did many searches on mqseries.net for "extended transactional client" with these results related to cost :
1) The only way to do XA over a client connection is using the Extended Transactional Client - which is licensed at the same rate as a queue manager.
2) The extended transactional client (not free) is yet another option.
3) You can either pay for a license for the queue manager to be on the same machine, or you can pay for a license for the Extended Transactional Client to be on the machine with the Java application. Oddly enough, the cost for both of these is pretty much the same.
4) If you need distribituted transaction (XA) you have to install an MQ server or an Extended Transactional Client. But in this way you cannot decrease the cost factor
5) Can anyone tell me where I can download a beta version of the MQ Extended Transactional Client. I assume this client is free of charge same as MQ Client.
next post :
I don't know if there is a beta download available for this client. I do know that it isn't free of charge.

Similar Messages

  • JMS event generator only gets non-transactional queue msg

    Hi,
    I have created a JMS event generator to listen to a particular queue. It seems to work perfectly fine if, when posting a message to the queue that the JMS EG is listening to, the queue created is a non-transactional queue, i.e. queueConnection.createQueueSession(false, ...).
    However if I created a transactional queue to post message to the JMS EG, i.e. queueConnection.createQueueSession(true, ...), then the JMS EG can't seem to see the message. I checked in the WLI Admin console, JMS EG section, and there are no messages read by the particular JMS EG after I have posted the msg to the queue.
    My question is: is there a known limitation on the JMS EG that it can only read from a non-transactional JMS queue, or is this a bug? (I am using weblogic 8.1 sp2).
    Thanks
    Regards,
    xlfhk

    Hi,
    sorry, just discovered it's my mistake. Instead of using the transaction created when calling queueConnection.createQueueSession(true, ...), and committing that, I created a JTA transaction artificially wrapping the entire chunk of code.
    As a result, I ended up with a pair of transactions that are nested (I think ...), and the external transaction's commit was called when the nested JMS transaction hasn't been committed yet. As a result, no commit ever took place (I think again ...).
    I have now tried calling queueSession.commit() after sending the message. It seems to work fine. Thanks for the help.
    Regards,
    xlfhk.

  • [EJB:010112] - error with WLI8.1 Event Generator for foreign JMS/MQ provider

    I'm getting following error in weblogic server log when starting a JMS Event generator
    to a foreign JMS(MQ5.3) Queue.
    <May 4, 2004 4:44:35 PM PDT> <Warning> <EJB> <BEA-010096> <The Message-Driven
    EJ
    B: mqQueueEventGen is unable to connect to the JMS destination: WAL1021852D_Test
    JMSQueue. Connection failed after 2 attempts. The MDB will attempt to reconnect
    every 10 seconds. This log message will repeat every 600 seconds until the condi
    tion clears.>
    <May 4, 2004 4:44:35 PM PDT> <Warning> <EJB> <BEA-010061> <The Message-Driven
    EJ
    B: mqQueueEventGen is unable to connect to the JMS destination: WAL1021852D_Test
    JMSQueue. The Error was:
    [EJB:010112]The Message Driven Bean 'mqQueueEventGen' is transacted, but the pro
    vider defined in the EJB is not transacted. Provider should be transacted if onM
    essage method in MDB is transacted.>
    My WLI8.1.2 is patched with CR131686_812.zip to support event generator for foreign
    JMS destinations. The foreign JMS/MQ provider is configured properly. QueueSend/Receive
    were tested fine with JMS java code using local JNDI names of foreign JMS objects.
    So we know that foreign Queue is active and accessiable from webLogic.
    Anyone run into this? Solution?
    Thanks,
    Scott

    Hi Scott,
    I need a transaction from the MDB since I am not using an EJb to pursue the action.
    Hence I need to retain the <trans-attribute>Required</trans-attribute> at the
    MDB.
    Have any answers?
    Pradip
    "Scott Yen" <[email protected]> wrote:
    >
    It's resolved.
    The MDB automatically created by JMS Event Generator defaults to be deployed
    with
    “transacted”. That requires the foreign JMS provider to be “XA”.
    The deployment descriptor is created as <domain-directory>/WLIJmsEG_<event_gen_name>.jar
    e.g. C:\bea812\user_projects\domains\jmsInterop\WLIJmsEG_mqQueueEventGen.jar
    Since MQ in the localhost and remote SLUDV18 are not XA-enabled, we had
    to manually
    change the <container-transaction> section in ejb-jar.xml:
    From :
    <trans-attribute>Required</trans-attribute>
    To:
    <trans-attribute>NotSupported</trans-attribute>
    "Scott Yen" <[email protected]> wrote:
    I'm getting following error in weblogic server log when starting a JMS
    Event generator
    to a foreign JMS(MQ5.3) Queue.
    <May 4, 2004 4:44:35 PM PDT> <Warning> <EJB> <BEA-010096> <The Message-Driven
    EJ
    B: mqQueueEventGen is unable to connect to the JMS destination: WAL1021852D_Test
    JMSQueue. Connection failed after 2 attempts. The MDB will attempt to
    reconnect
    every 10 seconds. This log message will repeat every 600 seconds until
    the condi
    tion clears.>
    <May 4, 2004 4:44:35 PM PDT> <Warning> <EJB> <BEA-010061> <The Message-Driven
    EJ
    B: mqQueueEventGen is unable to connect to the JMS destination: WAL1021852D_Test
    JMSQueue. The Error was:
    [EJB:010112]The Message Driven Bean 'mqQueueEventGen' is transacted,
    but the pro
    vider defined in the EJB is not transacted. Provider should be transacted
    if onM
    essage method in MDB is transacted.>
    My WLI8.1.2 is patched with CR131686_812.zip to support event generator
    for foreign
    JMS destinations. The foreign JMS/MQ provider is configured properly.
    QueueSend/Receive
    were tested fine with JMS java code using local JNDI names of foreign
    JMS objects.
    So we know that foreign Queue is active and accessiable from webLogic.
    Anyone run into this? Solution?
    Thanks,
    Scott

  • Using a Foreign JMS Destination as a JMS Event Generator Subscription

    NOTE THIS IS BUMPED UP FROM ROBERT NORTON'S POST. I am having the same
    problem here. From the wliconsole, the only queues listed to have events
    generated from are local ones.
    Hello,
    I'm trying to create a workflow that is started by a JMS message queue
    event.
    I'm trying to use the WLIJMSEventGenTool in WebLogic 8.1 to listen to a
    queue
    on a remote WebLogic 8.1 installation, publish the incoming messages to
    a channel,
    then initiate a workflow by subscribing to that channel. Here's a copy
    of my configuration
    file for the tool:
    <message-broker-jms-event-generator-def
    source-jndi-name="SearchInputQueue"> <channel
    name="/srm/sInput/sInput" /> </message-broker-jms-event-generator-def >
    I tried to tackle this by configuring a foreign JMS Server, Connection
    Factory,
    and Destination using the Weblogic Admin Console. Below are the
    parameters I used
    to define the remote connection
    Foreign JMS Server:
    jndi initial context factory: weblogic.jndi.WLInitialContextFactory jndi
    connection
    url: //OPER1090:7001
    Foreign connection factory:
    local jndi name: FtsFactory remote jndi name:
    weblogic.jws.jms.QueueConnectionFactory
    (Are username and password required?)
    Foreign JMS Destination:
    local jndi name: SearchInputQueue remote jndi name:
    InternalSearchInputQueue
    After I try to deploy my generated JMS Event jar, I receive the
    following error:
    <Jun 6, 2003 10:31:50 AM EDT> <Warning> <EJB> <BEA-010061> <The
    Message-Driven
    E JB: SearchInputQueue-UnorderedMessageListener is unable to connect to
    the JMS
    de stination: SearchInputQueue. The Error was: [EJB:011010]The JMS
    destination
    with the JNDI name: SearchInputQueue could not b e found. Please ensure
    that the
    JNDI name in the weblogic-ejb-jar.xml is correct , and the JMS
    destination has
    been deployed.>
    I'm pretty sure the problem is simply that my syntax is off somewhere in
    my configuration.
    I found the existing BEA documentation to be a bit too generic,
    containing no
    specific examples of the proper syntax to use for this task. Can anyone
    offer
    any advice or better, a working example? Any BEA reps out there?

    NOTE THIS IS BUMPED UP FROM ROBERT NORTON'S POST. I am having the same
    problem here. From the wliconsole, the only queues listed to have events
    generated from are local ones.
    Hello,
    I'm trying to create a workflow that is started by a JMS message queue
    event.
    I'm trying to use the WLIJMSEventGenTool in WebLogic 8.1 to listen to a
    queue
    on a remote WebLogic 8.1 installation, publish the incoming messages to
    a channel,
    then initiate a workflow by subscribing to that channel. Here's a copy
    of my configuration
    file for the tool:
    <message-broker-jms-event-generator-def
    source-jndi-name="SearchInputQueue"> <channel
    name="/srm/sInput/sInput" /> </message-broker-jms-event-generator-def >
    I tried to tackle this by configuring a foreign JMS Server, Connection
    Factory,
    and Destination using the Weblogic Admin Console. Below are the
    parameters I used
    to define the remote connection
    Foreign JMS Server:
    jndi initial context factory: weblogic.jndi.WLInitialContextFactory jndi
    connection
    url: //OPER1090:7001
    Foreign connection factory:
    local jndi name: FtsFactory remote jndi name:
    weblogic.jws.jms.QueueConnectionFactory
    (Are username and password required?)
    Foreign JMS Destination:
    local jndi name: SearchInputQueue remote jndi name:
    InternalSearchInputQueue
    After I try to deploy my generated JMS Event jar, I receive the
    following error:
    <Jun 6, 2003 10:31:50 AM EDT> <Warning> <EJB> <BEA-010061> <The
    Message-Driven
    E JB: SearchInputQueue-UnorderedMessageListener is unable to connect to
    the JMS
    de stination: SearchInputQueue. The Error was: [EJB:011010]The JMS
    destination
    with the JNDI name: SearchInputQueue could not b e found. Please ensure
    that the
    JNDI name in the weblogic-ejb-jar.xml is correct , and the JMS
    destination has
    been deployed.>
    I'm pretty sure the problem is simply that my syntax is off somewhere in
    my configuration.
    I found the existing BEA documentation to be a bit too generic,
    containing no
    specific examples of the proper syntax to use for this task. Can anyone
    offer
    any advice or better, a working example? Any BEA reps out there?

  • WLI 10g3 JMS Event Generator for Foreign Queues

    Hi,
    Our requirement is to listen to messages on a remote destination on another weblogic instance (8.1).
    One option we are trying is create a foreign JMS Module on local server (10g3) to connect to the remote destination
    and use JMS Event Generator to poll for messages on the local Foreign JMS Module and fetch the message and publish this
    message into a message channel.
    This works fine when I have a local JMS Queue and JMS Event Generator tries to listen to it.
    But while trying to use JMS Event Generator against foreign JMS module we are getting stuck with error failed to establish JMS Session :
    <Jul 8, 2009 12:26:29 PM IST> <Warning> <EJB> <BEA-010096> <The Message-Driven EJB: foreignGenEventName is unable to connect to the JMS destination or bind to JCA resource adapter: test.mydestination. Connection failed after 64 attempts. The MDB will attempt to reconnect/rebind every 10 seconds. This log message will repeat every 600 seconds until the condition clears.>
    <Jul 8, 2009 12:26:29 PM IST> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB: foreignGenEventName is unable to connect to the JMS destination: test.mydestination. The Error was:
    weblogic.jms.common.JMSException: Error creating session
    Nested exception: weblogic.jms.common.JMSException: Error creating session
    Nested exception: weblogic.jms.common.JMSException: Error creating session
    Nested exception: weblogic.messaging.dispatcher.DispatcherException: could not find Server AdminServer
    Nested exception: javax.naming.NameNotFoundException: Unable to resolve 'weblogic.messaging.dispatcher.S:AdminServer'. Resolved 'weblogic.messaging.dispatcher'; remaining name 'S:AdminServer'>
    Any pointers to a possible issue will eb really helpful.
    Thanks,
    CA

    Varun,
    Thanks for your inputs. Regarding the possibility of misconfiguring the ForeignJMSServer , we are able to view the remote destinationname (also the jndi binding name) in the jndi tree of the local server console, which in my opinion translates to a valid configuration.
    Can anyone let me know if this issue is fixed in 10.3 as there is a CR raised in the 10.0 version as well for this?
    CR332983
    CR326377  It was not possible to deploy an MDB while connecting to a foreign JMS provider through WLS foreign server resources configured in a JMS module.
    Thanks,
    CA
    Edited by: user1549937 on Jul 9, 2009 4:26 AM

  • RDBMS Event Generator Issue - JDBC Result Set Already Closed

    All -
    I am having a problem with an RDBMS event generator that has been exposed by our Load Testing. It seems that after the database is under load I get the following exception trace:
    <Aug 7, 2007 4:33:06 PM EDT> <Info> <EJB> <BEA-010213> <Message-Driven EJB: PollerMDB_SessionRqt_1186515408009's transaction was rolledback. The transact ion details are: Xid=BEA1-7F8C65474500D80A5B94(218826722),Status=Rolled back. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException],numRepli esOwedMe=0,numRepliesOwedOthers=0,seconds since begin=0,seconds left=60,XAServerResourceInfo[JMS_Affinity_cgJMSStore_auto_1]=(ServerResourceInfo[JMS_Affi    nity_cgJMSStore_auto_1]=(state=rolledback,assigned=wli_int_1),xar=JMS_Affinity_cgJMSStore_auto_1,re-Registered = false),XAServerResourceInfo[ACS.Telcordi    a.XA.Pool]=(ServerResourceInfo[ACS.Telcordia.XA.Pool]=(state=rolledback,assigned=wli_int_1),xar=ACS.Telcordia.XA.Pool,re-Registered = false),XAServerReso urceInfo[JMS_Affinity_cgJMSStore_auto_2]=(ServerResourceInfo[JMS_Affinity_cgJMSStore_auto_2]=(state=rolledback,assigned=wli_int_2),xar=null,re-Registered = false),SCInfo[wli_int_domain+wli_int_2]=(state=rolledback),SCInfo[wli_int_domain+wli_int_1]=(state=rolledback),properties=({START_AND_END_THREAD_EQUAL    =false}),local properties=({weblogic.jdbc.jta.ACS.Telcordia.XA.Pool=weblogic.jdbc.wrapper.TxInfo@d0b2687}),OwnerTransactionManager=ServerTM[ServerCoordin    atorDescriptor=(CoordinatorURL=wli_int_1+128.241.233.85:8101+wli_int_domain+t3+, XAResources={weblogic.jdbc.wrapper.JTSXAResourceImpl, Affinity_cgPool, J    MS_Affinity_cgJMSStore_auto_1, ACSDispatcherCP_XA, ACS.Dispatcher.RDBMS.Pool, ACS.Telcordia.XA.Pool},NonXAResources={})],CoordinatorURL=wli_int_1+128.241 .233.85:8101+wli_int_domain+t3+).>
    <Aug 7, 2007 4:33:06 PM EDT> <Warning> <EJB> <BEA-010065> <MessageDrivenBean threw an Exception in onMessage(). The exception was:
    javax.ejb.EJBException: Error occurred while processing message received by this MDB. This MDB instance will be discarded after cleanup; nested exceptio n is: java.lang.Exception: Error occurred while preparing messages for Publication or while Publishing messages.
    javax.ejb.EJBException: Error occurred while processing message received by this MDB. This MDB instance will be discarded after cleanup; nested exception is: java.lang.Exception: Error occurred while preparing messages for Publication or while Publishing messages
    java.lang.Exception: Error occurred while preparing messages for Publication or while Publishing messages
    at com.bea.wli.mbconnector.rdbms.intrusive.RDBMSIntrusiveQryMDB.fetchUsingResultSet(RDBMSIntrusiveQryMDB.java:561)
    at com.bea.wli.mbconnector.rdbms.intrusive.RDBMSIntrusiveQryMDB.onMessage(RDBMSIntrusiveQryMDB.java:310)
    at weblogic.ejb20.internal.MDListener.execute(MDListener.java:400)
    at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:333)
    at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:298)
    at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2698)
    at weblogic.jms.client.JMSSession.execute(JMSSession.java:2523)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
    Caused by: java.sql.SQLException: Result set already closed
    at weblogic.jdbc.wrapper.ResultSet.checkResultSet(ResultSet.java:105)
    at weblogic.jdbc.wrapper.ResultSet.preInvocationHandler(ResultSet.java:67)
    at weblogic.jdbc.wrapper.ResultSet_oracle_jdbc_driver_OracleResultSetImpl.next()Z(Unknown Source)
    at com.bea.wli.mbconnector.rdbms.intrusive.RDBMSIntrusiveQryMDB.handleResultSet(RDBMSIntrusiveQryMDB.java:611)
    at com.bea.wli.mbconnector.rdbms.intrusive.RDBMSIntrusiveQryMDB.fetchUsingResultSet(RDBMSIntrusiveQryMDB.java:514)
    ... 8 more
    javax.ejb.EJBException: Error occurred while processing message received by this MDB. This MDB instance will be discarded after cleanup; nested exception is: java.lang.Exception: Error occurred while preparing messages for Publication or while Publishing messages
    at com.bea.wli.mbconnector.rdbms.intrusive.RDBMSIntrusiveQryMDB.onMessage(RDBMSIntrusiveQryMDB.java:346)
    at weblogic.ejb20.internal.MDListener.execute(MDListener.java:400)
    at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:333)
    at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:298)
    at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2698)
    at weblogic.jms.client.JMSSession.execute(JMSSession.java:2523)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
    >
    I have tried several things and had my team do research but we have not been able to find an answer to the problem.
    If anyone can offer any insight as to why we might be getting this error it would be greatly appreciated. Thanks!

    i also have same error during load testing, mainly this error
    "Unexpected exception while enlisting XAConnection java.sql.SQLException"
    i tried rerunning after increasing connection pool sizes, transaction timeout, but no luck, marginal improvement in performance though
    also tried changing the default tracking levl to none, but no luck.
    i am with 8.1SP5, how about you ?
    do share if you are able to bypass these errors
    cheers

  • Timer Event Generator.

    Hi there
    I'm running WL Platform 8.1 SP4. I am using the timer event generator to fire requests to a channel/process. The timer is simply used to start a given process, there is no notion of message sent to it.
    Issues
    1) When defining a channel,
    e.g
    <channel name ="XToY" messageType="xml"
    qualifiedMetadataType="eg:TimerEventGenerator" />
    It seems I must define messageType="xml", if i define it as 'none' then it does not appear in the channel list when defining the timer event generator, therefore i cannot bind to it. So if I leave the messageType as xml, it appears. For the configuration of the timer, the message element is optional. Problem is when the timer now fires it throws the following error:
    <08-May-2006 10:25:25 o'clock BST> <Error> <WLI-Core> <BEA-489030> <Error publishing Timer Event message for XToYTimerEG : com.bea.wli.mbconnector.MBConnMDBBase$MBConnectorException: Can't create proc
    ess variable: com.bea.wli.mbconnector.MBConnMDBBase$MBConnectorException: Can't read XML (no root element)>
    Any ideas?
    2) Can someone direct me to any wlst scripts that allow the creation of a timer event generator in a cluster? ?I cannot find anything on dev2dev ?
    TIA
    Arvinder

    Ok, you can basically leave the messageType as XML
    and for the Timer EG configuration, for the optional message you can add <dummy/> this will fire the request and start a workflow or whatever is bound to the channel.

  • What is business add-ins and business transaction events

    Dear All,
    Would you mind tell me what it sht business add-ins and business transaction events ?
    i still not understand about this after i read the training material
    Regards
    Luke

    Hi LukeWong ,
    BAdi:
    SAP Business Add-Ins (BAdIs) are one of the most important technologies used to adapt SAP software to specific requirements. BAdIs were introduced with Release 4.6 and replace function module exits. This technology is not limited to SAP applications. BAdI calls can be integrated in customer applications. These can then be enhanced by other customer applications. In the various SAP applications, BAdI calls are implemented at places where enhancements are appropriate.Business add-ins are enhancements to the standard version of the system. They can be inserted into the SAP System to accommodate user requirements too specific to be included in the standard delivery. Since specific industries often require special functions, SAP allows you to predefine these points in your software.
    As with customer exits, two different views are available:
    · In the definition view, an application programmer defines exit points in a source that allow specific industry sectors, partners, and customers to attach additional coding to standard SAP source code, without having to modify the original object.
    · In the implementation view, the users of Business Add-Ins can customize the logic they need or use a standard solution, if one is available.
    In contrast to customer exits, Business Add-Ins no longer assume a two-level infrastructure (SAP and customer solutions), but instead allow for a multi-level system landscape (SAP, country-specific versions, industry solutions, partner, customer, and so on). You can create definitions and implementations of Business Add-Ins at any level of the system landscape.SAP guarantees the upward compatibility of all Business Add-In interfaces. Release upgrades do not affect enhancement calls from within the standard software nor do they affect the validity of call interfaces. You do not have to register Business Add-Ins in SSCR.
    The Business Add-In enhancement technique differentiates between enhancements that can only be implemented once and enhancements that can be used actively by any number of customers at the same time. In addition, Business Add-Ins can be defined according to filter values. This allows you to differentiate between Add-In implementations using the filter Country or other criteria.
    The enhancement technique is set up in such a way that it is possible to define interfaces for ABAP soure code, screens, GUI interfaces, and tables. These allow customers to include their own enhancements in the standard. A single Business Add-In contains all of the interfaces necessary to implement a specific task.
    BADI is just an object-oriented version of user-exit. Instead of entering program code into some function module (as in customer-exit), you define some class which has to implement predefined methods and those methods are fired at predefined points just like an old user-exit. Some BADI can have multiple independent implementations which is much better for software deployment as several developers can implement the same BADI independently. BADI/UserExists are used to enhance R/3 For customer Needs.
    Actually there is no transaction to find when and where the BADI
    is called.
    1. You can see the BADI description to find why it is called.
    2. Once you implemented and activated the BADI, put some break points
    in the BADI and see "where else used" option to check in what all
    programs this BADI is called. In the ITS debug, when you are doing
    the operation what exactly the BADI description tells, it will take
    to the break points and you have to do manually debug the whole thing.
    I know its bit difficult to do manual debug the whole thing, it
    takes lot of time, but you have to be very patience when you are
    dealing with BADI's.
    Transaction SE18 is the BADI equivalent of transaction SMOD
    Transaction SE19 is the BADI equivalent of transaction CMOD .
    To find the BADI to be implemented and then implement this via SE19.
    These steps should enable you to find any BADI related to any transaction in a matter of minutes.
    Procedure 1:
    1) Go to the transaction SE37 to find your function module.
    2) Locate the function SXV_GET_CLIF_BY_NAME.
    3) Put a breakpoint there.
    4) Now open a new session.
    5) Go to your transaction. 6) At that time, it will stop this function.
    7) Double click on the function field EXIT_NAME.
    8) That will give you name of the BADI that is provided in your transaction.
    Business Add-Ins
    Procedure 2:
    1) Goto se24 (Display class cl_exithandler)
    2) Double click on the method GET_INSTANCE.
    3) Put a break point at Line no.25 (CASE sy-subrc).
    4) Now Execute SAP standard transaction
    5) Press the required button for which you need to write an exit logic, the execution will stop at the break point.
    6) Check the values of variable 'exit_name', it will give you the BADI name called at that time.
    7) This way you will find all the BADIs called on click of any button in any transaction
    Check this blogs 2 find a BADI:
    How To Define a New BAdI Within the Enhancement Framework (Some Basics About the BAdI,BAdI Commands in ABAP,
    When to Use a BAdI?)
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    How to implement a BAdI And How to Use a Filter
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
    Introducing Business Add-Ins
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f3202186-0601-0010-6591-b832b1a0d0de
    How to implement BAdi in Enhancement Framework
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d0456c54-0901-0010-f0b3-cd765fb99702
    Business Add-Ins
    http://help.sap.com/saphelp_47x200/helpdata/en/ee/a1d548892b11d295d60000e82de14a/frameset.htm
    BAdI: Customer-Defined Functions in the Formula Builder
    http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
    Difference Between BADI and User Exits
    http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
    To Use BADI - Business Add In you need to Understand ABAP OO Interface Concept
    http://www.sap-img.com/abap/business-add-in-you-need-to-understand-abap-oo-interface-concept.htm
    Business Transaction Events
    Business Transaction Events (Open FI) The Open FI enhancement technique was developed in the Financial Accounting component. Open FI is based upon the following principles: Application developers must define their interface in a function module, an assignment table is read in the accompanying (generated) code, and the customer modules assigned are called dynamically. This technique differentiates between enhancements that are only allowed to have one implementation and enhancements that can call multiple implementations in any sequence desired. Both industry-specific and country-specific enhancements may be defined.
    SAP business transaction events are one type of customer enhancements provided by SAP! We can access the business transaction events using FIBF.Next we have to find the process interface for duplicate invoice check!
    check this blog for details on SAP business transaction events
    Business Transaction Events
    http://fuller.mit.edu/user_exits/business_transaction_event.htm
    FI Enhancement Technique – How-To-Guide on the Usage of Business Transaction Events (BTE)
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/207835fb-0a01-0010-34b4-fef1240ba9b7
    Creation of Events via Business Transaction Events
    http://help.sap.com/saphelp_nw04/helpdata/en/3b/7f3e8be57c11d1951f0000e82dec10/content.htm
    In SAP R/3 you must activate the business transaction events (BTEs) for Availability Check Using SAP R/3. To set this indicator in SAP R/3:........
    http://help.sap.com/saphelp_crm40/helpdata/en/b6/de3efc6bbcdc4b948d466857a10323/content.htm
    cheers!
    gyanaraj
    ****Pls reward points if u find this helpful

  • Problems with body email using Email Event Generator

    Hi I need to start a workflow when an email is received by a email account. In
    order to do that, I built a Email Event Generator that uses the next channel:
    <?xml version="1.0"?>
    <channels xmlns="http://www.bea.com/wli/broker/channelfile"
              channelPrefix="/cgr"
              xmlns:eg="http://www.bea.com/wli/eventGenerator"
              xmlns:dp="http://www.bea.com/wli/control/dynamicProperties"
              xmlns:oagpo="http://www.openapplications.org/003_process_po_007">
         <channel name ="Rendicion" messageType="none">
              <channel name ="RendicionEmail" messageType="xml"
              qualifiedMessageType="oagpo:PROCESS_PO_007"
              qualifiedMetadataType="eg:EmailEventGenerator"/>
         </channel>
    </channels>
    I'm using "Suscribe to a Message Broker" oprtion to start my work flow. That option
    uses two input variables: com.bea.xml.XmlObject and com.bea.wli.eventGenerator.EmailEventGeneratorDocument.
    * @jpd:mb-static-subscription message-metadata="{x1}" message-body="{x0}"
    channel-name="/cgr/Rendicion/RendicionEmail"
    public void subscription(com.bea.xml.XmlObject x0, com.bea.wli.eventGenerator.EmailEventGeneratorDocument
    x1)
    //#START: CODE GENERATED - PROTECTED SECTION - you can safely add code
    above this comment in this method. #//
    // input transform
    // parameter assignment
    this.body = x0;
    this.emailXML = x1;
    //#END : CODE GENERATED - PROTECTED SECTION - you can safely add code
    below this comment in this method. #//
    That configuration only functions when the email has plain text body containing
    a xml structure. Other waise that error is showed by the server:
    <Oct 24, 2003 4:16:26 PM GMT-05:00> <Error> <WLI-Core> <BEA-530203> <Error while
    publishing message: com.bea.wli.mbconnector.
    MBConnMDBBase$MBConnectorException: Can't create process variable: com.bea.wli.mbconnector.MBConnMDBBase$MBConnectorException
    : Can't read XML (no root element)>
    <Oct 24, 2003 4:17:26 PM GMT-05:00> <Error> <WLW> <000000> <Error publishing email:
    com.bea.wli.mbconnector.MBConnMDBBase$MBC
    onnectorException: Can't create process variable: com.bea.xml.XmlException: error:
    Unexpected element: TAG_END>
    <Oct 24, 2003 4:17:26 PM GMT-05:00> <Error> <WLI-Core> <BEA-530203> <Error while
    publishing message: com.bea.wli.mbconnector.
    MBConnMDBBase$MBConnectorException: Can't create process variable: com.bea.xml.XmlException:
    error: Unexpected element: TAG_E
    ND>
    Is it a Bug?, or Is the configuration wrong?
    Thank you very much
    David

    I've got the same issue going on here... I also posted the problem to this newsgroup
    earlier today.... please check your log files or server output window to see if
    you're also getting the encoding error...
    "David Uribe" <[email protected]> wrote:
    >
    Hi I need to start a workflow when an email is received by a email account.
    In
    order to do that, I built a Email Event Generator that uses the next
    channel:
    <?xml version="1.0"?>
    <channels xmlns="http://www.bea.com/wli/broker/channelfile"
              channelPrefix="/cgr"
              xmlns:eg="http://www.bea.com/wli/eventGenerator"
              xmlns:dp="http://www.bea.com/wli/control/dynamicProperties"
              xmlns:oagpo="http://www.openapplications.org/003_process_po_007">
         <channel name ="Rendicion" messageType="none">
              <channel name ="RendicionEmail" messageType="xml"
              qualifiedMessageType="oagpo:PROCESS_PO_007"
              qualifiedMetadataType="eg:EmailEventGenerator"/>
         </channel>
    </channels>
    I'm using "Suscribe to a Message Broker" oprtion to start my work flow.
    That option
    uses two input variables: com.bea.xml.XmlObject and com.bea.wli.eventGenerator.EmailEventGeneratorDocument.
    * @jpd:mb-static-subscription message-metadata="{x1}" message-body="{x0}"
    channel-name="/cgr/Rendicion/RendicionEmail"
    public void subscription(com.bea.xml.XmlObject x0, com.bea.wli.eventGenerator.EmailEventGeneratorDocument
    x1)
    //#START: CODE GENERATED - PROTECTED SECTION - you can safely
    add code
    above this comment in this method. #//
    // input transform
    // parameter assignment
    this.body = x0;
    this.emailXML = x1;
    //#END : CODE GENERATED - PROTECTED SECTION - you can safely
    add code
    below this comment in this method. #//
    That configuration only functions when the email has plain text body
    containing
    a xml structure. Other waise that error is showed by the server:
    <Oct 24, 2003 4:16:26 PM GMT-05:00> <Error> <WLI-Core> <BEA-530203> <Error
    while
    publishing message: com.bea.wli.mbconnector.
    MBConnMDBBase$MBConnectorException: Can't create process variable: com.bea.wli.mbconnector.MBConnMDBBase$MBConnectorException
    : Can't read XML (no root element)>
    <Oct 24, 2003 4:17:26 PM GMT-05:00> <Error> <WLW> <000000> <Error publishing
    email:
    com.bea.wli.mbconnector.MBConnMDBBase$MBC
    onnectorException: Can't create process variable: com.bea.xml.XmlException:
    error:
    Unexpected element: TAG_END>
    <Oct 24, 2003 4:17:26 PM GMT-05:00> <Error> <WLI-Core> <BEA-530203> <Error
    while
    publishing message: com.bea.wli.mbconnector.
    MBConnMDBBase$MBConnectorException: Can't create process variable: com.bea.xml.XmlException:
    error: Unexpected element: TAG_E
    ND>
    Is it a Bug?, or Is the configuration wrong?
    Thank you very much
    David

  • Regd FIle Event Generator

    Hi,
    Am having a file event generator,and the presence one such file[string type] in the folder would trigger one of my JPD's. Now, I want to read the contents of the file as well, in addition to the complete file name..I guess this can be done by reading the meta data, but am having problems doing this..
    How do I read this metadata,to know the full file name the the file contents?
    Any help would be appreciated.
    Thanks In Advance,
    RB

    Hi,
    I did like this
    1. Created a channel where an set the qualifiedMetadataType="eg:FileEventGenerator"
    Ex.
    <channels xmlns="http://www.bea.com/wli/broker/channelfile"
              channelPrefix="/Bilprovningen"
    xmlns:eg="http://www.bea.com/wli/eventGenerator"
    xmlns:dp="http://www.bea.com/wli/control/dynamicProperties">
    <channel name ="FileHandling" messageType="none">
    <channel name ="MegadiscInvoiceFileChannel" messageType="xml" qualifiedMessageType="utskrift" qualifiedMetadataType="eg:FileEventGenerator"/>
    </channel>
    </channels>
    2. Create a process with a subscriptin like thist
    * @jpd:mb-static-subscription message-metadata="{x1}" channel-name="/Bilprovningen/FileHandling/MegadiscInvoiceFileChannel" message-body="{x0}"
    public void subscription(com.bea.xml.XmlObject x0, com.bea.wli.eventGenerator.FileEventGeneratorDocument x1) throws Exception
    //#START: CODE GENERATED - PROTECTED SECTION - you can safely add code above this comment in this method. #//
    // input transform
    // parameter assignment
    this.invoiceDocument = (noNamespace.UtskriftDocument) x0;
    this.fileEventGeneratorDocument = x1;
    //#END : CODE GENERATED - PROTECTED SECTION - you can safely add code below this comment in this method. #//
    3. You could then access the x1 I think to read the meta data.
    Regards
    /Johan

  • Using JMS Event Generator w/ remote WebLogic 8.1 queue

    Hello,
    I'm trying to create a workflow that is started by a JMS message queue event.
    I'm trying to use the WLIJMSEventGenTool in WebLogic 8.1 to listen to a queue
    on a remote WebLogic 8.1 installation, publish the incoming messages to a channel,
    then initiate a workflow by subscribing to that channel. Here's a copy of my configuration
    file for the tool:
    <message-broker-jms-event-generator-def source-jndi-name="SearchInputQueue"> <channel
    name="/srm/sInput/sInput" /> </message-broker-jms-event-generator-def >
    I tried to tackle this by configuring a foreign JMS Server, Connection Factory,
    and Destination using the Weblogic Admin Console. Below are the parameters I used
    to define the remote connection
    Foreign JMS Server:
    jndi initial context factory: weblogic.jndi.WLInitialContextFactory jndi connection
    url: //OPER1090:7001
    Foreign connection factory:
    local jndi name: FtsFactory remote jndi name: weblogic.jws.jms.QueueConnectionFactory
    (Are username and password required?)
    Foreign JMS Destination:
    local jndi name: SearchInputQueue remote jndi name: InternalSearchInputQueue
    After I try to deploy my generated JMS Event jar, I receive the following error:
    <Jun 6, 2003 10:31:50 AM EDT> <Warning> <EJB> <BEA-010061> <The Message-Driven
    E JB: SearchInputQueue-UnorderedMessageListener is unable to connect to the JMS
    de stination: SearchInputQueue. The Error was: [EJB:011010]The JMS destination
    with the JNDI name: SearchInputQueue could not b e found. Please ensure that the
    JNDI name in the weblogic-ejb-jar.xml is correct , and the JMS destination has
    been deployed.>
    I'm pretty sure the problem is simply that my syntax is off somewhere in my configuration.
    I found the existing BEA documentation to be a bit too generic, containing no
    specific examples of the proper syntax to use for this task. Can anyone offer
    any advice or better, a working example? Any BEA reps out there?

    Hello,
    I'm trying to create a workflow that is started by a JMS message queue event.
    I'm trying to use the WLIJMSEventGenTool in WebLogic 8.1 to listen to a queue
    on a remote WebLogic 8.1 installation, publish the incoming messages to a channel,
    then initiate a workflow by subscribing to that channel. Here's a copy of my configuration
    file for the tool:
    <message-broker-jms-event-generator-def source-jndi-name="SearchInputQueue"> <channel
    name="/srm/sInput/sInput" /> </message-broker-jms-event-generator-def >
    I tried to tackle this by configuring a foreign JMS Server, Connection Factory,
    and Destination using the Weblogic Admin Console. Below are the parameters I used
    to define the remote connection
    Foreign JMS Server:
    jndi initial context factory: weblogic.jndi.WLInitialContextFactory jndi connection
    url: //OPER1090:7001
    Foreign connection factory:
    local jndi name: FtsFactory remote jndi name: weblogic.jws.jms.QueueConnectionFactory
    (Are username and password required?)
    Foreign JMS Destination:
    local jndi name: SearchInputQueue remote jndi name: InternalSearchInputQueue
    After I try to deploy my generated JMS Event jar, I receive the following error:
    <Jun 6, 2003 10:31:50 AM EDT> <Warning> <EJB> <BEA-010061> <The Message-Driven
    E JB: SearchInputQueue-UnorderedMessageListener is unable to connect to the JMS
    de stination: SearchInputQueue. The Error was: [EJB:011010]The JMS destination
    with the JNDI name: SearchInputQueue could not b e found. Please ensure that the
    JNDI name in the weblogic-ejb-jar.xml is correct , and the JMS destination has
    been deployed.>
    I'm pretty sure the problem is simply that my syntax is off somewhere in my configuration.
    I found the existing BEA documentation to be a bit too generic, containing no
    specific examples of the proper syntax to use for this task. Can anyone offer
    any advice or better, a working example? Any BEA reps out there?

  • WLI MQ Event Generator Tuning

    Greetings:
    I have a MQ Event generator that subscribes to a qlocal and publishes messages onto a channel read by a business process.
    I need to process around 10 messages a second syncronously through this process (fifo), judging by the process instance monitoring I am able to process most transactions in <.1 seconds. However, it doesn't seem like the event generator is polling/publishing fast enough to fully utilize the efficiency of the process. I routinely have thousands of messages backing up on the queue awaiting processing. I have tried different configurable params on the event generator (500 messages every 10 seconds, 1 msg every 100 msecs etc) to no avail... i still only seem to be pulling one message in just under a second.
    I'm wondering where I can tune this piece of the application. All my threads seem pretty free etc...
    Any help would be greatly appreciated. Thanks!

    Suspending / resuming event generators is nothing else then undeploying /redeploying the component, which is building up the event generator (either a MDB or a servlet). That can be done via the JMX Api.
    If you are using Timer events , you have to do that inside a workflow. A cron job calling a script could do that less resource intensive (or use whatever scheduling system which is available like Control-M ...)
    Be also aware that WLI timers are JMS based, so an event is only guaranteed to be raised not before the scheduled time, but maybe not exactly at the scheduled time.
    -Kai

  • BTE : Business Transaction Event

    What is the procedure to impliment this concept , please anyone tell me this step by step in detail by taking any example.
    Point will be rewarded for helpfull ans.
    regards
    Sonal

    hello once again ...
    http://help.sap.com/saphelp_erp2005/helpdata/en/3b/7f3e8be57c11d1951f0000e82dec10/frameset.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/ad/fc5a4064b4ef6fe10000000a1550b0/frameset.htm
    Example
    http://fuller.mit.edu/user_exits/business_transaction_event.htm
    Example Business Scenario for Business Transaction Events
    Company A would like to copy the group key field from the vendor master into the allocation field on all the line items within a vendor invoice and payments, including the vendor lines. This requirement assumes only one vendor is posted to in a document.
    To accomplish this requirement, Company A will use the Business Transaction Event 1130, Post Document: SAP Internal Field Substitution.
    1. IMG Menu Path: Financial Accounting Financial Accounting Global Settings Use Business Transaction Events Environment Infosystem (Processes).
    2. Find the correct Business Event. You are updating a field, so you select the Processes Info System instead of the Publish and Subscribe Info System.
    3. Execute the search with the defaults.
    4. Find the correct interface for updating a document: Post Document: SAP- Internal Field Substitution
    5. Put your cursor on the event and click on the Sample Function Module button.
    6. You are now in transaction SE37 – Function Builder. This is the function module (sample_process_00001130) you will need to copy into a "Z" name function module for your coding
    7. Click on the Copy button.
    8. Enter the "Z" function module name in the To Function Module field
    9. Enter a Function Group. If you need to create a "Z" function group, go to transaction code SE37 and follow menu path: Go to Function Groups Create Group. A function group is a logical grouping of function modules, and the ABAP code is generated for function groups. You will be prompted for a development class and transport when creating the function group.
    10. In Function Builder (transaction SE37), enter the new "Z" function module. Click on the Change button.
    11. The system will default into the source code screen where you may enter your ABAP code.
    12. Notice the tables available for the code. Additional tables may be declared if necessary.
    13. Enter the following source code
    tables: lfa1.
    data: z_groupkey like lfa1-konzs.
    z_groupkey = ' '.
    loop at t_bseg.
    check for vendor lines. If one is found, read the vendor master and
    retrieve the group key field.
    if t_bseg-koart eq 'K'.
    select single konzs from lfa1 into z_groupkey
    where lifnr = t_bseg-lifnr.
    endif.
    Move the group key field into all line items allocation field.
    loop at t_bsegsub.
    t_bsegsub-zuonr = z_groupkey.
    modify t_bsegsub index sy-tabix.
    endloop. "t_bsegsub
    endloop. "t_bseg
    14. Save the function module.
    15. Back out to the main Function Builder screen by clicking on the green arrow button.
    16. Activate the function module by clicking on the Activate button
    17. Assign the function module to the event in the IMG: Financial Accounting Financial Accounting Global Settings Business Transaction Events Settings Process Function Modules of an SAP Appl.
    18. Hit enter past the warning messages that this is SAP data.
    19. Click on the New Entries button.
    20. Enter the process for your interface. In your example it is 00001130.
    21. Enter the country the interface is valid for. If it is valid for all countries, leave this field blank.
    22. Enter the application the interface should be called for. If it should be called for all applications, leave this field blank. Please note that not all integrated transactions are programmed to go through these interfaces! You will need to test to find out!
    23. Enter the new "Z" function module
    24. Save the settings. At this point you will be prompted for a CTS number for the configuration change.
    25. The Business Transaction Event is complete! You are ready for testing.
    <b>sonal  assiegn point   in privious  question also...</b>

  • Business Transaction event keys.

    Hi,
    Other than GBB, what are all the other business event keys ( eg. PRD, KON ) for which account modifier is possible. and what is the functionality behind this.
    Regards,
    RitiG

    Hi Ritigo
    Offsetting entry for stock posting (GBB)
    Offsetting entries for stock postings are used in Inventory Management. They are dependent on the account grouping to which each movement type is assigned. The following account groupings are defined in the standard system:
    AUA: for order settlement
    AUF: for goods receipts for orders (without account assignment)
    and for order settlement if AUA is not maintained
    AUI: Subsequent adjustment of actual price from cost center directly
    to material (with account assignment)
    BSA: for initial entry of stock balances
    INV: for expenditure/income from inventory differences
    VAX: for goods issues for sales orders without
    account assignment object (the account is not a cost element)
    VAY: for goods issues for sales orders with
    account assignment object (account is a cost element)
    VBO: for consumption from stock of material provided to vendor
    VBR: for internal goods issues (for example, for cost center)
    VKA: for sales order account assignment
    (for example, for individual purchase order)
    VKP: for project account assignment (for example, for individual PO)
    VNG: for scrapping/destruction
    VQP: for sample withdrawals without account assignment
    VQY: for sample withdrawals with account assignment
    ZOB: for goods receipts without purchase orders (mvt type 501)
    ZOF: for goods receipts without production orders
    (mvt types 521 and 531)
    You can also define your own account groupings. If you intend to post goods issues for cost centers (mvt type 201) and goods issues for orders (mvt type 261) to separate consumption accounts, you can assign the account grouping ZZZ to movement type 201 and account grouping YYY to movement type 261.
    Other than GBB there many other transaction event keys:
    you can go to Tcode OBYC and see there...for eg.purpose i'll tell u the imp. one
    Agency business: income (AG1)
    This transaction can be used in agency business for income deriving from commission (e.g. del credere commission). The account key is used in the calculation schemas for agency business to determine the associated revenue accounts.
    Agency business: turnover (AG2)
    This transaction can be used in agency business if turnover (business volume) postings are activated in Customizing for the payment types. The account key is specified in Customizing for the billing type.
    Agency business: expense (AG3)
    This transaction can be used in agency business for commission expenses. The account key is used in the calculation schemas for agency business to determine the associated expense accounts.
    Expense/revenue from consumption of consignment material (AKO)
    This transaction is used in Inventory Management in the case of withdrawals from consignment stock or when consignment stock is transferred to own stock if the material is subject to standard price control and the consignment price differs from the standard price.
    Expenditure/income from transfer posting (AUM)
    This transaction is used for transfer postings from one material to another if the complete value of the issuing material cannot be posted to the value of the receiving material. This applies both to materials with standard price control and to materials with moving average price control. Price differences can arise for materials with moving average price if stock levels are negative and the stock value becomes unrealistic as a result of the posting. Transaction AUM can be used irrespective of whether the transfer posting involves a transfer between plants. The expenditure/income is added to the receiving material.
    Supplementary entry for stock (BSD)
    This account is posted when closing entries are made for a cumulation run. This account is a supplementary account to the stock account; that is, the stock account is added to it to determine the stock value that was calculated via the cumulation. In the process, the various valuation areas (for example, commercial, tax), that are used in the balance sheet are taxed separately.
    Change in stock (BSV)
    Changes in stocks are posted in Inventory Management at the time goods receipts are recorded or subsequent adjustments made with regard to subcontract orders.
    If the account assigned here is defined as a cost element, you must specify a preliminary account assignment for the account in the table of automatic account assignment specification (Customizing for Controlling) in order to be able to post goods receipts against subcontract orders. In the standard system, cost center SC-1 is defined for this purpose.
    Stock posting (BSX)
    This transaction is used for all postings to stock accounts. Such postings are effected, for example:
    In inventory management in the case of goods receipts to own stock and goods issues from own stock
    In invoice verification, if price differences occur in connection with incoming invoices for materials valuated at moving average price and there is adequate stock coverage
    In order settlement, if the order is assigned to a material with moving average price and the actual costs at the time of settlement vary from the actual costs at the time of goods receipt
    Because this transaction is dependent on the valuation class, it is possible to manage materials with different valuation classes in separate stock accounts.
    Price differences (PRD)
    Price differences arise for materials valuated at standard price in the case of all movements and invoices with a value that differs from the standard price. Examples: goods receipts against purchase orders (if the PO price differs from the standard pricedardpreis), goods issues in respect of which an external amount is entered, invoices (if the invoice price differs from the PO price and the standard price).
    Price differences can also arise in the case of materials with moving average price if there is not enough stock to cover the invoiced quantity. In the case of goods movements in the negative range, the moving average price is not changed. Instead, any price differences arising are posted to a price difference account.
    Depending on the settings for the posting rules for transaction/event key PRD, it is possible to work with or without account modification. If you use account modification, the following modifications are available in the standard system:
    None for goods and invoice receipts against purchase orders
    PRF for goods receipts against production orders and
    order settlement
    PRA for goods issues and other movements
    PRU for transfer postings (price differences in the case
    of external amounts)
    Revenue/expense from revaluation (UMB)
    This transaction/event key is used both in Inventory Management and in Invoice Verification if the standard price of a material has been changed and a movement or an invoice is posted to the previous period (at the previous price).
    Expenditure/income from revaluation (UMD)
    This account is the offsetting account for the BSD account. It is posted during the closing entries for the cumulation run of the material ledger and has to be defined for the same valuation areas.
    Price differences (PRD)
    Price differences arise for materials valuated at standard price in the case of all movements and invoices with a value that differs from the standard price. Examples: goods receipts against purchase orders (if the PO price differs from the standard pricedardpreis), goods issues in respect of which an external amount is entered, invoices (if the invoice price differs from the PO price and the standard price).
    Price differences can also arise in the case of materials with moving average price if there is not enough stock to cover the invoiced quantity. In the case of goods movements in the negative range, the moving average price is not changed. Instead, any price differences arising are posted to a price difference account.
    Depending on the settings for the posting rules for transaction/event key PRD, it is possible to work with or without account modification. If you use account modification, the following modifications are available in the standard system:
    None for goods and invoice receipts against purchase orders
    PRF for goods receipts against production orders and
    order settlement
    PRA for goods issues and other movements
    PRU for transfer postings (price differences in the case
    of external amounts)
    Regards
    Yogesh

  • Transaction/ event type WA

    Hi gurús,
                    I am doing a customizing of a Z movement type. This movement is associated to WA transaction/event type . In FI, this movement generates a WA document type (goods issue).
    It is possible to assign a new transaction/event type to the new movement? Where is the customizing path? It is possible to associate a new fi document type to the new movement type?
    Regards
    Enzo

    The recommended technique of creating a movement type is by copying an existing one. This is because  a lot of programs that are associated with the existing one will get copied.
    You can create the Z movement type by copying one that has a similar functionality as the one you require.
    Regards,
    Aroop

Maybe you are looking for

  • Cannot resize CS2 objects, please help!

    Hello, I'm new to this forum, hopefully someone here can help me.  I have worked with every other version of Photoshop and have never had this issue.  I just installed (and updated) Photoshop CS2 for Windows.  When I attempt to do a simple resize of

  • Recording Video via firewire + camera

    I do not get the same options in my menu as my mac. It does not offer video recording even if I plug a camera that is recognized by windows. I read everything carefully and I did not see this apparent difference so I must be doing something wrong her

  • Dashboard Prompt - Integer field (material number) - remove commas

    Hi all, We have a problem with one number field that added as a prompt in the dashboard. This is an integer field contains Material numbers shows commas and we need to remove commas. Problem is we cannot cast it because we need to keep it as ineteger

  • Form Personalization Execute SQL Update

    I have a requirement where based on changes in one form (say based on table1), I want to run sql "to update" records in another table (table2). Basically sync table 2 when record status changes in table 1. I want to do it with form personalization (w

  • I can't restore from icloud

    i want to restore my iphone4 (5.0.0) from icloud , but after upgrade to 5.0.1 there was no optoins for "restore from icloud", what is wrong is this?  i have no backup on my computer, it is win7. thanks very much.