User Defined Transaction in Logical Data Service

Hi
I have few physical data services created from database store procedures. I've corresponding logical services for each of the physical data services.
Now I've created a logical data service that calls 2 store procedures & trying to update this 2 store procs in a single transaction.
Also I dont have a read operation in my logical data services. In this case both store proc. should take part in a single transaction & should commit or rollback as per success/failure.
I tried testing this scenario & it fails. ALDSP was able to update first store proc. but there was an error in second store proc. so it should have rollback the entire transaction.
Is there any way that we can have user defined transaction in logical data service?
My Scenario:
InsertData(RequestA,RequestB) as response
res1 := call First Store Proc (RequestA) ;
res2 := call Second Store Proc (RequestB);
response := res1 + res2
So my question was is it possible to define user transaction before making calls & have commit/rollback define around it.
Apprecaite for your help!
Thanks
Pash

I have assumed that you realize you need XA drivers for this. What is the exception you see? Something about "mixed outcome"?
But in the case of store procedure, we cant drag & drop physical ds into logical ds. Why?Since your stored procedure updates, it should be defined in the physical ds as a "procedure" not a "function" - it sounds like it is. (procedure means it will update, function means it will not - not that it is a "stored procedure"). Because it updates it cannot be called by an xquery function because xquery is by definition read-only. It can only be called directly from the client, or from another procedure (which is XQSE, not Xquery). If you created a logical ds with a "procedure" - you could drop your procedure into that.
created a new library procedure in which i am calling 2 physical ds assuming it will be executed in a single transaction. But it does not. Please verify.
But it does not. Please verify.I won't verify it because it is not correct. It should be treated as though it is one transaction. And barring the bugs with JNDI/data source names and multi-data sources, I do not know how how it would not be. So either there is a misunderstanding or a new bug.
Either way you need to open a case with customer support to resolve this. When you open your case, the more information you provide them with (i.e the smallest possible dataspace that will reproduce the problem along with DML to create the stored procedures and the tables that they use, and also any/all exceptions/stack traces and server logs).
- Mike
ps. there are no means to explicitly create a transaction in ODSI.

Similar Messages

  • Newbie question about Logical Data services

    Lets say we want to create a Logical Data Service that will retrieve data from several web-services and aggregate the results. When a client requests data from the logical data service, a number of webservices will get invoked. Response time of these webservices can be different. We do not want to keep the client app waiting for long.. so is it possible to define a cut-off time in data service after which client gets results obtained till that point? Alternatively, does ALDSP provide support for clients that could poll a data-service to check for results of a previously submitted query?
    Will appreciate your help in understanding capabilities of ALDSP and approach taken by you in similar situations.

    to define a cut-off time in data service after which client gets results obtained till that point?See the fn-bea:timeout() function in the ALDSP documentation. It will do exactly what you want for web-services. Note that adding the function to a query will of course alter the query plan - which will have little/no effect for web-services - but for database access, may prevent some optimizations.
    In DSP 3.0, you will be able to use the hasNext()/next() form of the mediator api and the client will only block while the first and subsequent items are being retrieved.
    If you want to call DSP asynchronously - I believe ALSB allows you to create an asynchronous proxy service (JMS, for instance)

  • Using a schema from a different Logical Data Service

    Is it possible to use a schema from a different Logical Data Service in a new Logical Data Service? I want to maintain just one version of the schema.

    when I try and associate a schema type the 'Select Schema Type' dialog appears. On there the scope is set to project. Next to it is 'All projects', is there a way I can get that ungreyed?I don't think so. I assume that is a remnant from ALDSP 2.x when we had the notion of an ALDSP application that contained multiple ALDSP projects and there was visibility across projects (actually just folders) in the same application.
    can I use a schema associated with another dataspace projectNo. The contents of a dataspace are not accessible from outside the the dataspace other than what is provided by the APIs. And although the schemas could be accessed via catalogservices, this isn't a standard protocol (like http://) and therefore schema processors wont' be able to use them.
    You could host your schemas in a web-application and expose them via http. Create a Dynamic Web Project and put your schemas where the content gets served from (i.e. alongside index.html), and then they would be accessible via http://<yourserver>:<port>/yourWebApp/yourSchema.xsd. All the schemaLocation in the imports would need to be relative. It would probably be easier to create your schema-hosting application first, then build your dataservices.

  • Error while executing logical data service:XP0006

    Hi,
    <br><br>
    I have one physical dataservice which is caps.ds based on oracle database. I created one method in caps.ds by name gatCap(String param). basically this method will fetch the data from the database based on input parameter. This method is working fine in physical data service.<br>. Now I created one logical dataservice named as Test.ds from this physical dataservice. I added one method getCaps(string param) method in Test.ds. Noe if i try to test this method in workshop I am getting the following error.<br><br>.System error
    weblogic.xml.query.exceptions.XQueryTypeException: ld:NewDSProj/Test.ds, line 26, column 5: {err}XP0006: "element {ld:NewDSProj/Caps}Caps { {http://www.w3.org/2001/XMLSchema}anyType }": bad value for type element {ld:NewDSProj/Test}Test { {http://www.w3.org/2001/XMLSchema}anyType }*<br><br>
    Even in Query Plan also it is showing TypeError in red color.
    <br><br>
    I am attaching the capa.ds, Test.ds and required .xsd file and server log file for your reference.
    <br>Any suggestiins please...
    <br><br>
    Regards,
    Suresh Varma.

    Hi<br>I changed the return type in Test.ds to caps.xsd. It is working fine. Thank you.<br><br>
    Now I have the following data services.<br>
    1.MRM_RESPONSE.ds--which is created from java method.This java method will read the data from xml.<br>
    2.Caps.ds--which is created for Oracle data base.<br>
    Now I created one logical data service named as Test.ds with function newFunction(String param).My intention is i want consolidated output from both physical data services based on join condition. I have the state field in both physical data services. So the output of newFunction() in Test.ds should be combination of caps and MRM_RESPONSE.<br> In Query plan for newFunction() I am not getting any error. But if I try to test I am getting the following error.<br>System error
    weblogic.xml.query.exceptions.XQueryTypeException: {bea-err}TYPE003 [{bea-err}TYPE003a]: Runtime Type Mismatch: got an xdt:untypedAtomic value<br>.
    I am attaching latest code and server log file for your reference. In the attached zip file NewSchemas is the schemain schemas project.JavaClient contains java method.
    <br>
    Thanks& Regards,
    Suresh Varma.

  • Problems with logical data service

    This is related to thread 837141 (Problems creating physical data service to relational table)
    I have been able to create the logical data service that uses the physical service (mentioned above).
    However when I try to create a library function to update (shown below)
    declare function lper:update($new as element(per:Persistance2)) as xs:boolean {*
    * let $changed :=*
    * for $n in $new*
    * let $old := lper:read($new/Project, $ew/Property)*
    * return*
    * fn-bea:replace-value(fn-bea:changed-element($old), "Value", $n/Value)*
    _let $return := {color:#ff0000}pper:update{color}($changed)_*
    * return fn:true()*
    WorkSpace Studio gives the following error (for the line underlined above, and the function in red)
    *{bea-err}FUNC002: Illegal use of side-effect procedure {ld:Physical/Persistance2}update with arity 1. Side-effect procedures cannot be invoked from a side-effect free context*
    Any idea why?

    functions, by definition, do not have side-effects. So calling something that had a side-effect (procedure) is not allowed.
    You need to create a library procedure.
    Your
    declare function lper:update($new as element(per:Persistance2)) as xs:boolean {*
    needs to be
    declare procedure lper:update($new as element(per:Persistance2)) as xs:boolean {*
    - mike
    Edited by: mikereiche on Dec 12, 2008 5:10 PM

  • Java user-defined transaction management not working correctly???

    Hi everyone,
    I have encountered a problem when using Java user-defined transaction management in my session bean. It threw an exception but I could not work out what that means. Could anyone comment on this? Thanks.
    This BrokerBean is a stateless session calling other entities bean to perform some simple operations. There are 2 Cloudscape databases in use. Invoices (EB) use InvoiceDB and all the other EBs use StockDB.
    If I comment out the user-defined transaction management code, then everything works fine. Or if I comment out the Invoices EB code, it is fine as well. It seemed to me that there is something wrong in transaction management when dealing with distributed databases.
    --------------- source code ----------------------
    public void CreateInvoices(int sub_accno) {
    try {
    utx = context.getUserTransaction();
    utx.begin();
    SubAcc subAcc = subAccHome.findByPrimaryKey(new SubAccPK(sub_accno));
    String sub_name = subAcc.getSubName();
    String sub_address = subAcc.getSubAddress();
    Collection c = stockTransHome.findBySubAccno(sub_accno);
    Iterator i = c.iterator();
    ArrayList a = new ArrayList();
    while (i.hasNext()) {
    StockTrans stockTrans = (StockTrans)i.next();
    int trans_id = stockTrans.getTransID();
    String tran_type = stockTrans.getTranType();
    int stock_id = stockTrans.getStockID();
    float price = stockTrans.getPrice();
    Invoices invoices = invoicesHome.create(sub_accno, sub_name, sub_address, trans_id, stock_id, tran_type, price);
    stockTrans = stockTransHome.findByPrimaryKey(new StockTransPK(trans_id));
    stockTrans.remove();
    utx.commit();
    utx = null;
    } catch (Exception e) {
    if (utx != null) {
    try {
    utx.rollback();
    utx = null;
    catch (Exception ex) {}
    // e.printStackTrace();
    throw new EJBException("BrokerBean.CreateInvoices(): " + e.getMessage());
    --------------- exception ----------------------
    Initiating login ...
    Enter Username:
    Enter Password:
    Binding name:`java:comp/env/ejb/BrokerSB`
    EJB test succeed
    Test BuyStock!
    Test BuyStock!
    Test BuyStock!
    Test BuyStock!
    Test SellStock!
    Test SellStock!
    Caught an exception.
    java.rmi.ServerException: RemoteException occurred in server thread; nested exce
    ption is:
    java.rmi.RemoteException: BrokerBean.CreateInvoices(): CORBA TRANSACTION
    _ROLLEDBACK 9998 Maybe; nested exception is:
    org.omg.CORBA.TRANSACTION_ROLLEDBACK: vmcid: 0x2000 minor code: 1806
    completed: Maybe
    at com.sun.corba.ee.internal.iiop.ShutdownUtilDelegate.mapSystemExceptio
    n(ShutdownUtilDelegate.java:64)
    at javax.rmi.CORBA.Util.mapSystemException(Util.java:65)
    at BrokerStub.CreateInvoices(Unknown Source)
    at Client.main(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
    java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at com.sun.enterprise.util.Utility.invokeApplicationMain(Utility.java:22
    9)
    at com.sun.enterprise.appclient.Main.main(Main.java:155)
    Caused by: java.rmi.RemoteException: BrokerBean.CreateInvoices(): CORBA TRANSACT
    ION_ROLLEDBACK 9998 Maybe; nested exception is:
    org.omg.CORBA.TRANSACTION_ROLLEDBACK: vmcid: 0x2000 minor code: 1806
    completed: Maybe
    at com.sun.enterprise.iiop.POAProtocolMgr.mapException(POAProtocolMgr.ja
    va:389)
    at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:43
    1)
    at BrokerBean_EJBObjectImpl.CreateInvoices(BrokerBean_EJBObjectImpl.java
    :265)
    at BrokerBeanEJBObjectImpl_Tie._invoke(Unknown Source)
    at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatchToServant(Ge
    nericPOAServerSC.java:520)
    at com.sun.corba.ee.internal.POA.GenericPOAServerSC.internalDispatch(Gen
    ericPOAServerSC.java:210)
    at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatch(GenericPOAS
    erverSC.java:112)
    at com.sun.corba.ee.internal.iiop.ORB.process(ORB.java:255)
    at com.sun.corba.ee.internal.iiop.RequestProcessor.process(RequestProces
    sor.java:84)
    at com.sun.corba.ee.internal.orbutil.ThreadPool$PooledThread.run(ThreadP
    ool.java:99)

    Three things:
    first, maybe you should think of putting ut.begin() just before the invoicesHome.create() method and ut.commit() just after the stockTrans.remove() method.It wont solve the current problem but will help in performance once the problem is solved.
    second, your utx.commit() is outside the try block. how come the code is compiling then??
    third, try doing a SOP call before and after invoicesHome.create() method and see where the problem actually lies.
    let us know...
    Hi SteveW2,
    Thanks for being so helpful. Here are my replies:
    Can I just ask why you're not using containermanaged
    transactions?The reason why I didn't use container managed
    transactions is because I don't really know how to do
    that. I am more familiar with this user-defined
    transaction handling.
    I have attempted to implement the same method in an
    entity bean and just let the container manage the
    rollback itself. The same exception was thrown when
    running the client.
    Also, the transaction behaviour is likely to relateto
    the app server youre using - which is it?What do you mean by the app server? I am using J2EE
    1.3.1 if that is what you meant.
    Finally, if your code has a problem rolling back,and
    throws an exception, you discard your exception
    thereby losing useful information.I have tried to print the exception stack as well, but
    it is the same as just printing the general
    exception.
    This problem is very strange cause if I comment out
    the transaction management thing, then everything
    works fine. Or if I am only working with 1 single
    database, with this user-defined transaction handling,
    everything works fine as well.
    Here is the error log from J2EE server if you are
    interested.
    ------------ error log ---------------
    javax.ejb.TransactionRolledbackLocalException:
    Exception thrown from bean; nested exception is:
    javax.ejb.EJBException: ejbCreate: Connection
    previously closed, open another Connection
    javax.ejb.EJBException: ejbCreate: Connection
    previously closed, open another Connection
         at InvoicesBean.ejbCreate(Unknown Source)
    at
    InvoicesBean_RemoteHomeImpl.create(InvoicesBean_Remote
    omeImpl.java:31)
         at InvoicesHomeStub.create(Unknown Source)
         at BrokerBean.CreateInvoices(Unknown Source)
    at
    BrokerBean_EJBObjectImpl.CreateInvoices(BrokerBean_EJB
    bjectImpl.java:261)
    at BrokerBeanEJBObjectImpl_Tie._invoke(Unknown
    Source)
    at
    com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispa
    chToServant(GenericPOAServerSC.java:520)
    at
    com.sun.corba.ee.internal.POA.GenericPOAServerSC.inter
    alDispatch(GenericPOAServerSC.java:210)
    at
    com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispa
    ch(GenericPOAServerSC.java:112)
    at
    com.sun.corba.ee.internal.iiop.ORB.process(ORB.java:25
    at
    com.sun.corba.ee.internal.iiop.RequestProcessor.proces
    (RequestProcessor.java:84)
    at
    com.sun.corba.ee.internal.orbutil.ThreadPool$PooledThr
    ad.run(ThreadPool.java:99)
    javax.ejb.TransactionRolledbackLocalException:
    Exception thrown from bean; nested exception is:
    javax.ejb.EJBException: ejbCreate: Connection
    previously closed, open another Connection
    at
    com.sun.ejb.containers.BaseContainer.checkExceptionCli
    ntTx(BaseContainer.java:1434)
    at
    com.sun.ejb.containers.BaseContainer.postInvokeTx(Base
    ontainer.java:1294)
    at
    com.sun.ejb.containers.BaseContainer.postInvoke(BaseCo
    tainer.java:403)
    at
    InvoicesBean_RemoteHomeImpl.create(InvoicesBean_Remote
    omeImpl.java:37)
         at InvoicesHomeStub.create(Unknown Source)
         at BrokerBean.CreateInvoices(Unknown Source)
    at
    BrokerBean_EJBObjectImpl.CreateInvoices(BrokerBean_EJB
    bjectImpl.java:261)
    at BrokerBeanEJBObjectImpl_Tie._invoke(Unknown
    Source)
    at
    com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispa
    chToServant(GenericPOAServerSC.java:520)
    at
    com.sun.corba.ee.internal.POA.GenericPOAServerSC.inter
    alDispatch(GenericPOAServerSC.java:210)
    at
    com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispa
    ch(GenericPOAServerSC.java:112)
    at
    com.sun.corba.ee.internal.iiop.ORB.process(ORB.java:25
    at
    com.sun.corba.ee.internal.iiop.RequestProcessor.proces
    (RequestProcessor.java:84)
    at
    com.sun.corba.ee.internal.orbutil.ThreadPool$PooledThr
    ad.run(ThreadPool.java:99)
    What is "connection previously closed, open another
    connection"? This might be the cause of the
    exception.
    I'll keep trying till I solve the problem.
    Thanks,
    Sasuke

  • How can an user defined Transaction type in Inventory be configured in IB?

    Need to know how to make an user defined transaction to update the status in IB automatically. i.e. suppose there is an user defined transaction "XYZ". I need to update the instance stause of an item to "CANCELLED" once that transaction happens on the item.
    Edited by: user13340970 on Aug 13, 2010 7:14 AM

    Hi Atheek,
    I was looking at doing the transform manually, but my challenge is how to parse the inbound String into XML Elements with their properties. For example:
    Example Message:
    <abd:TypedDocument>
    <abd:someElement>
    <abd:aString><jkl:embeddedMessage jkl:attributeABc="Hello There"><jkl:someOtherElement>OSB Rules!<jkl:someOtherElement><jkl:aNumber>123456</jkl:aNumber></jkl:embeddedMessage>
    </abd:aString>
    </abd:someElement>
    </abd:TypedDocument>
    If I get the value of the embedded XML as a string, how can I parse our or address the various elements and attributes in the embedded XML? I was hoping to use:
    $aString cast as jkl:embeddedMessage
    But on OSB10g this fails. Is there another way with XQuery or XSL to convert an embedded XML that comes in as a string, into a complex User-Defined type?
    Thanks,
    David.

  • Logical Data Service

    Hi all,
    I´m trying to create a phsysical data service that uses two physical data services (one Store procuredure and one table).
    I what two create a join clause between my strore procedure and my table, but i got this error message:
    +"cannot create relationship from/to any Data service other than entity data service.+
    +One or both of the data services chosen are not and entity Data SErvice"+
    What I need to do is:
    I have A AND B values as input to my logical data service.
    I need to use A and B value to get another value C in my physical data service( type: Relational Table).
    C will be physical data service (type Store Procedure) input data. The return of this procedure will be mapped in (XSD) file that represents my entity.
    Does anybody can help me?

    If I understand correctly, your need to satisfy conditions on parameters A and B with your table, so you can extract C as a result from the table and use it as a parameter in your stored procedure to return the result of the stored procedure.
    In XQuery this kind of join looks loosely like this:
    for $t in ns1:TABLE()
    where $t/column1 eq $A
    where $t/column2 eq $B
    return
    for $s in ns2:STOREDPROC($t/C)
    return
    &lt;myresulttype&gt;
    &lt;field1&gt;{fn:data($s/column1)}&lt;/field1&gt;
    &lt;/myresulttype&gt;
    The error message you have indicates that you are trying to create a relationship function. While it is possible to express joins through relationships, you can also do joins using the Query Map editor.
    The chapter "[Create Your First Data Services|http://download.oracle.com/docs/cd/E13162_01/odsi/docs10gr3/datasrvc/Create%20Your%20First%20Data%20Services.html#CreateYourFirstDataServices-CreatingaLogicalDataService]" describes how to create a join graphically using the Query Map. The only difference in your case is that you would map your join line (Explained in "Setting up a Join Condition" in the docs) would be mapped to the parameter of the stored procedure.
    Edited by: alexkotopoulis on Jan 16, 2009 1:56 PM
    Edited by: alexkotopoulis on Jan 16, 2009 1:57 PM

  • ALDSP , Logical Data service to PhysicalData service mapping

    Hi ,
    Need help to find out the way how to find the mapping between the Logical Dataservice to physical service using config file .
    I have requirement like depend on the Region ( Parameter) need to connect to the database . How do we achive this using an xml file ( means dynamic which out a code change ) .
    for ex:
    Think we have 3 regions names ( DAO ,APJ ,CCC). I have created 3 Physical data services for each region (which will point to 3 diff databases).
    then In the logical service I have logic like this
    If( region =='DAO')
    call the DAO Physical Srvice
    If(region == 'APJ')
    call the APJ Physical Srvice
    If(region == 'CC')
    call the CCC Physical Srvice
    So if I have to point the region 'DAO' to the APJ physical service then it required a code change . how we can avoid this hard coded mapping . Is there any way to define the region and the physical service mapping in the xml file so that if any change is required it will be a change in xml file itself with out a code change .
    Please help me . This is little bit urgent .
    Thanks in advance .
    Thanks & Regards
    Sarath

    It seems that if you are adding more regions and physical data services you will need to modify your dataspace anyway to add the new physical data services.
    Please post your ODSI/ALDSP questions on the ODSI forum - Data Service Integrator

  • UDF(user defined function) for standard date transformate function,

    Hi All,
    Hope you are doing good !!!
    I have a requirement where i need to write an UDF(user defined function). Please help me in writing the code for below logic-
    I am getting my Input as 111213 where 11 denotes HH 12 denotes mm 13 denotes ss. I need ti insert : between hh:mm:ss
    Please help me achieving a code for below logic
    I have used standard date transformate function, there i am getting spaces as separator in my input resulting an errors i am sending without spaces.
    Regards,
    Vijay Kumar.

    Hello,
    I am getting my Input as 111213 where 11 denotes HH 12 denotes mm 13 denotes ss. I need ti insert : between hh:mm:ss
    Please help me achieving a code for below logic
    I have used standard date transformate function, there i am getting spaces as separator in my input resulting an errors i am sending without spaces.
    What do you mean by spaces? Can you try the mapping below?
    inputDate -> replaceString -> dateTrans(inputDateFormat: HHmmss outputDateFormat: HH:mm:ss) -> target
    Constant: -> /
    Constant:-> /
    Hope this helps,
    Mark

  • User defined step for polling data

    Hi,
    I'm creating a User Defined VI to be called from SignalExpress, that needs to poll a serial device for data.
    The serial device makes new data availiable in a register-array at a rate of 10Hz, and uses an additional register as a "message ID" to indicate when new data is availiable.
    This means that my VI needs to poll this MessageID, and when it increments, I can read the register array into a waveform and return it to SignalExpress.
    Now, what is the best/correct way of writing this VI in regard to the polling wait time?
    I see two options here for the case when my VI is called and it detects that no new message is availiable:
    It immediately returns to SignalExpress ("non blocking").
    In this case, should I return an empty waveform or the previous waveform?
    (I do not want duplicated data logged in SignalExpress)
    It blocks the SignalExpress loop where the user defined step is placed, by waiting in my VI until a new message arrives, and then returns this new data in a waveform.
    My user defined step is placed in a separate loop in signal express so the blocking in case 2 should not affect other DAQ loops in my SignalExpress project, right?
    /LeifS

    I don't think it is directly possible for changing this at the front end level.
    You might need to make changes in some SE24 Classes

  • How to Call Smartform from User defined Transaction

    Hi All,
    my requirement is users enters the  data in the module pool program and clicks on the save and generate smartform button and the data is updates the database tables and  updated data should be printed on smartform
    Can anyone Please tell me How to link Smart Program with module pool program.
    Regards,
    Prasad.

    In smartforms , right click any window and create->flow logic->program lines, then the screen for program logic appears. In the left most corner there a icon named statement struct.
    Click the statement struct icon, it will show the screen for pattern, there give the function module name that you want to include in smartforms
    case okcode.
    when 'SAVE'.
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING FORMNAME = P_FORM "Your form name
    variant = ' '
    direct_call = ' '
    IMPORTING FM_NAME = FM_NAME
    EXCEPTIONS NO_FORM = 1
    NO_FUNCTION_MODULE = 2
    OTHERS = 3.
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    EXIT.
    ENDIF.
    calling the generated function module
    CALL FUNCTION FM_NAME
    EXPORTING
    ARCHIVE_INDEX =
    ARCHIVE_INDEX_TAB =
    ARCHIVE_PARAMETERS =
    CONTROL_PARAMETERS = CPARAM
    OUTPUT_OPTIONS = OUTOP
    USER_SETTINGS = SPACE
    MAIL_APPL_OBJ =
    MAIL_RECIPIENT =
    MAIL_SENDER =
    IMPORTING
    JOB_OUTPUT_INFO = TAB_OTF_DATA
    DOCUMENT_OUTPUT_INFO =
    JOB_OUTPUT_OPTIONS =
    EXCEPTIONS
    FORMATTING_ERROR = 1
    INTERNAL_ERROR = 2
    SEND_ERROR = 3
    USER_CANCELED = 4
    OTHERS = 5
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    endcase.
    endform.
    endcase.

  • Enabling ITS to a User Defined Transaction

    Hello,
    <i>I have Module pool program which generates user id and Password in SAP. But the requirement is that it should be ITS enabled. ( The users should be able to view it in the Interner Explorer instead of SAP )</i>I heard that we have a feature in SAP called ITS where we can do this.
    Can anyone help me out on this?

    I want to be able to send a message from CRM_DNO_MONITOR - transaction monitor to a user to track progress. For this I use webgui service under SICF/SE80 published with the required transaction and other parameters. This worked fine in Solamn 3.2 when we had external ITS. The user gets this URL
    [http://<server>:10080/scripts/wgate/webgui/!?logical_system=<ls>&object_type=BUS2000116&object_key=46137291ADC6E14193D98A890D51D080&client=<clnt>&~language=<lang>"] which then fires up the transaction monitor in the browser and goes directly to the message in question.
    Now after the upgrade to Solman 640 which uses internal/integrated ITS the service does not work. In SICF the port is now 8000 and the alias scripts/wgate does not exist! However when you send the message to users they still get the above URL. When you test the service in SE80 or SICF it comes up with the new internal URL [http://<server>:8000/sap/bc/gui/sap/its/webgui/!logical_system=<ls>&object_type=BUS2000116&object_key=46137291ADC6E14193D98A890D51D080&client=<clnt>&~language=<lang>"] which is correct behaviour.
    The problem is therefore how do I get rid of the [...<old port>/scripts/wgate/...] string? So that when the user clicks the link sent to them they go straight to transactino monitor and they dont have to tweak the URL to remove the rogue string

  • User Exit transaction FB05 with data of documents that are to be cleared.

    Hi,
    Is there any user exit or badi in transaction FB05, where the data of documents that are to be cleared and the data of payment document are available?
    I need that in the F110 transaction, the field SGTXT of the payment document is filled with the field XBLNR of documents to compensate.
    Thanks in advance.
    Regards,
    Ana Lucas

    Hi,
    The field XBLNR of the clearing document isn't the same of cleared document.
    In the substitution we don't have available the data of cleared document,  but only the data of clearing document.
    Regards
    Ana Lucas

  • User-defined fields in customer data (ME22N / ME23N)

    I created a few new fields on the EKPO_CI-structure and I added them to the screen 0111 ... I also use the relevant user-exits to add the values to the screenfields (PBO) and to read the values (PAI) ...
    The only problem I have now is that I don't know how I can make sure that the fields remain grey if the PO is in display-mode ... I know I can use the "loop at screen"-logic to change the "input"-value if I am looping at the correct field ... But I have to check if I am working in displey or change mode and that is something I don't know how tot do this ?
    Can somebody help me with this ??
    Thanks in advance !
    Greetz,
    Kurt.

    Hi,
    In the exit EXIT_SAPMM06E_016 there is a parameter called I_AKTYP. in the include ZXM06U41 store that value in a variable V_AKTYP in the top include ZXM06TOP.
    In the PBO of the screen 0111 check if the value of variable is 'A' which means display..Then disable the fields for input..
    THanks,
    Naren

Maybe you are looking for

  • Creative Cloud desktop failed to update.(Error code: 1)

    Hello, I'm running a MacBook Pro Retina with Yosemite 10.10.2.  I tried to update Creative Cloud Desktop manager and then tried to cancel it (it was killing my bandwidth while I was trying to work).  It disappeared from the bar at the top of the OSx

  • Just trying to better understand...

    I manually back-up my iPad mini to my iTunes just so that I am able to physically and manually regulate what is on my iPad. I have selected three out of the seven of my movies to be on my iPad but I saw that there were all my movies on iPad but the o

  • Apple script for contacts?

    iPhone does not search anything besides first name, last name & company in contacts. Since I dont always remember people's name, I want to search for them using job title or even text in their notes. Is there any solution I can search completely in c

  • Need help regarding converting text to Lines and Arcs.

    In my program i have text.Lets say the text is JAVA. Now i need to group that text(JAVA) in the form of line and arcs. Its like organizing lines and arcs and make it looks like a text(JAVA). Can we have such a possibilities to do that? Please help re

  • Slow Swipe experience for Horizontal Scrollbar, in iphone & ipad

    Hi All, I put images in a DIV and enabled the Horizontal Scrollbar. The swipe action is too slow/short in iphone and ipad. I was expecting the device to translate scrollbar into a natural swipe behavior. By natural swipe behavior I mean the same sort