Using Thread in Helper Class Used By MDB

Using Thread in Helper Class Used By MDB
I am writting one Message driven bean (MDB) which will be deployed on
weblogic 6.1.
In MDB.onMessage I create instance of helper class.
call it's method HelperClass.doSomething(s1,s2)
in doSomething I start new thread
checks if thread is alive
when thread is dead return flag
run method of helper class does following
1. opens socket connection to some server
2. writes some data to it
3. read some data from it
4. depending on response set flag
I want to know whether this approach is corect.
Specially when weblogic recommends not to use threads (or be extreamly
careful about thread handling) .
Following is code..
MessageDrivenBeanClass{
     puboic void onMessage(Message msg){
          String s1 = "s1";
          String s2 = "s2";
          HelperClass helper = new HelperClass();
          boolean flg = helper.doSomething(s1,s2);
HelperClass implements Runnable {
     String s1;
     String s2;
     boolean flg = false;
     public void HelperClass(){}
     public boolean doSomething(String s1, String s2){
          this.s1 = s1;
          this.s2 = s2;
          Thread t1 = new Thread(this);
          t1.start();
          while(true)
          if(!t1.isAlive())
               break;
          return flg;
     public void run(){
          // do actual processing
          if(something)
               flg = true;
          else
               flg = false;

What is the purpose of creating an extra thread in this scenario (if your
code is going to wait until thread terminates anyway) ?
Also, creating new threads can be expensive, so it is always better to use
thread pool and not to create new thread every time.
And,
Thread t1 = new Thread(this);
t1.start();
while(true)
if(!t1.isAlive())
break;
is going to waste ALOT of CPU time. t1.join() will work much better.
sk <[email protected]> wrote:
Using Thread in Helper Class Used By MDB
I am writting one Message driven bean (MDB) which will be deployed on
weblogic 6.1.
In MDB.onMessage I create instance of helper class.
call it's method HelperClass.doSomething(s1,s2)
in doSomething I start new thread
checks if thread is alive
when thread is dead return flag
run method of helper class does following
1. opens socket connection to some server
2. writes some data to it
3. read some data from it
4. depending on response set flag
I want to know whether this approach is corect.
Specially when weblogic recommends not to use threads (or be extreamly
careful about thread handling) .
Following is code..
MessageDrivenBeanClass{
     puboic void onMessage(Message msg){
          String s1 = "s1";
          String s2 = "s2";
          HelperClass helper = new HelperClass();
          boolean flg = helper.doSomething(s1,s2);
HelperClass implements Runnable {
     String s1;
     String s2;
     boolean flg = false;
     public void HelperClass(){}
     public boolean doSomething(String s1, String s2){
          this.s1 = s1;
          this.s2 = s2;
          Thread t1 = new Thread(this);
          t1.start();
          while(true)
          if(!t1.isAlive())
               break;
          return flg;
     public void run(){
          // do actual processing
          if(something)
               flg = true;
          else
               flg = false;

Similar Messages

  • Code Sample: Easy RFC Lookup From XSLT Mappings Using a Java Helper Class

    Hi everyone,
    This is just a shameless plug for my article: <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/05a3d62e-0a01-0010-14bc-adc8efd4ee14">Easy RFC Lookup From XSLT Mappings Using a Java Helper Class</a>. I hope you're interested in reading it, and I welcome your comments in this thread.
    Kind regards,
    Thorsten

    Hi Stefan. Thanks for your post. I have already done that. It still does not work. As a base for my java helper class I have usesd Thorstens code.
    The problem is quite confusing. I will try to ouline both issues here.
    First of all, when try to test from within the Operation Mapping, I always get a java error saying it cannot find the communication channel (it is there and working because I have tested it with the RFCLookup in graphical mapping). I have found a way to work around this, and that is to uncheck the "Use SAP XMLToolkit" checkbox --> switch to test tab, enter my ReceiverService in the parameter tab (header parameter) --> switch back to Definition tab, check the "Use SAP XMLToolkit" checkbox --> switch to Test tab and run the test. Then the XSLT and call to java helper class will work. Of course this is not really something you want to do all the time. Maybe there is a bug.
    Secondly, it never works when I try to do it "live". I am using a file adapter to pick up one file, convert it and a file adapter to drop the converted file. I get the following error code in SXMB_MONI.
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <!--  Request Message Mapping   -->
    <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>Application</SAP:Category>
      <SAP:Code area="MAPPING">TRANSFORMER_CONF_EX</SAP:Code>
      <SAP:P1>ATJ_Accounting2XML_Accounting.xsl</SAP:P1>
      <SAP:P2>http://rd.accounting.logica.com</SAP:P2>
      <SAP:P3>fd552c30-bad9-11dd-9761-c21dac1b818c</SAP:P3>
      <SAP:P4>-1</SAP:P4>
      <SAP:AdditionalText />
      <SAP:Stack>TransformerConfigurationException triggered while loading XSLT mapping ATJ_Accounting2XML_Accounting.xsl; http://rd.accounting.logica.comfd552c30-bad9-11dd-9761-c21dac1b818c-1</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Using an XSLT without a call to a java helper class, works just fine.
    I am totally at a loss here. Any more input would be much appreciated.
    /Patrik

  • Thread safe logging class, using final and static

    Hi,
    I'm looking through a logging class (which writes entries to a text file and so on) written by someone else, and I'm trying to determine whether it's thread-safe...
    Essentially the class looks like this:
    public final class Logger {
    private static FileOutputStream fout;
    private static PrinterWriter pout;
    private static final long MaxLength = 100000;
    static {
    /* basically checks size of logfile, if bigger than 100k, then copy it as bak, and start again */
    public void write(String msg) {
    /* write entry into log file */
    public void writeWithTimeStamp(string msg) {
    /* write entry with time stamp into log file */
    Now, I could be wrong, but I don't think that the class is thread-safe is it? in order to be thread-safe, I would have to use synchronized before write() and writeWithTimeStamp(), right?
    My confusion arises from the use of the keyword "final" at the top of the class. This class isn't being inherited (or rather, there's no reason for the class not to be inheritable)... so what is it's purpose, if there is one?!
    And my other question concerns the static block. But I need to describe the current setup first: The Logger class is being use by a file server. File server basically sits there, accepts socket connections from the outside, and takes text files and output them into a local directory. When a new socket connection is created, a new thread is created. As it stands right now, each thread instantiates its own Logger object which seems weird! Bringing me to my question which was, if each thread instantiates its own Logger object, the static block is only ran ONCE, regardless of how many threads (and therefore Logger objects) are created, right??
    And wouldn't it be a better idea to simply create only ONE Logger object and pass it by reference to all newly created threads as they are needed so that all threads access the same and only Logger object? (and therefore utilize sychronization)
    Thanks!

    In JDK 1.4, there are already classes written that do all of that work. Check out the docs for the java.util.logging package. Specifically, check out FileHandler (which can rotate log files if they are greater than a specified size) and LogRecord (which is a standardized way to store logging entries). I believe the class is threadsafe, it doesn't say it isn't. Try it and see. If not, you can easily make a threadsafe wrapper for it (or any class for that matter).
    The online documentation is at:
    http://java.sun.com/j2se/1.4/docs/api/index.html
    If you are curious, the simplest way to make any class threadsafe, if you don't want to or are not able to modify the class code itself is to define another class that calls methods of the original class, but that is synchronized.
    Example:
        // NonThreadSafe.java
        public class NonThreadSafe {
            public NonThreadSafe (String s) {
                // Constructor
            public void SomeMethod (int param) {
                // Do some important stuff here...
            public int AnotherMethod (boolean param) {
                // Do some more important stuff here...
        // ThreadSafeWrapper.java
        public class ThreadSafeWrapper {
            protected NonThreadSafe nts;
            public ThreadSafeWrapper (String s) {
                nts = new NonThreadSafe(s);
            public synchronized void SomeMethod (int param) {
                nts.SomeMethod(param);
            public synchronized int AnotherMethod (boolean param) {
                return nts.AnotherMethod(param);
            public NonThreadSafe GetNonThreadSafe () {
                return nts;
        };Unfortunately, ThreadSafeWrapper isn't derived from NonThreadSafe, so you are somewhat limited in what you can do with it compared to what you could do with NonThreadSafe. AFAIK, you can't override unsynchronized methods with synchronized ones.
    Another thing you could do is just write a method that writes to your logging class, and synchronize just that method. For example:
        // ThreadSafeLogger.java
        public class ThreadSafeLogger {
            public static synchronized void LogMessage (MyLogger log, String msg) {
                log.writeString(msg);
        // In another thread, far, far away:
            ThreadSafeLogger.LogMessage(theLog, "Blah");
            ...Hope that helps.
    Jason Cipriani
    [email protected]
    [email protected]

  • I need a clarification : Can I use EJBs instead of helper classes for better performance and less network traffic?

    My application was designed based on MVC Architecture. But I made some changes to HMV base on my requirements. Servlet invoke helper classes, helper class uses EJBs to communicate with the database. Jsps also uses EJBs to backtrack the results.
    I have two EJBs(Stateless), one Servlet, nearly 70 helperclasses, and nearly 800 jsps. Servlet acts as Controler and all database transactions done through EJBs only. Helper classes are having business logic. Based on the request relevant helper classed is invoked by the Servlet, and all database transactions are done through EJBs. Session scope is 'Page' only.
    Now I am planning to use EJBs(for business logic) instead on Helper Classes. But before going to do that I need some clarification regarding Network traffic and for better usage of Container resources.
    Please suggest me which method (is Helper classes or Using EJBs) is perferable
    1) to get better performance and.
    2) for less network traffic
    3) for better container resource utilization
    I thought if I use EJBs, then the network traffic will increase. Because every time it make a remote call to EJBs.
    Please give detailed explanation.
    thank you,
    sudheer

    <i>Please suggest me which method (is Helper classes or Using EJBs) is perferable :
    1) to get better performance</i>
    EJB's have quite a lot of overhead associated with them to support transactions and remoteability. A non-EJB helper class will almost always outperform an EJB. Often considerably. If you plan on making your 70 helper classes EJB's you should expect to see a dramatic decrease in maximum throughput.
    <i>2) for less network traffic</i>
    There should be no difference. Both architectures will probably make the exact same JDBC calls from the RDBMS's perspective. And since the EJB's and JSP's are co-located there won't be any other additional overhead there either. (You are co-locating your JSP's and EJB's, aren't you?)
    <i>3) for better container resource utilization</i>
    Again, the EJB version will consume a lot more container resources.

  • Attachments help - C# using Obect API

    I'm in my first attempt at integrating GW functionality into a C# application. I am not an expert C# programmer either. Thus far I've been successful at getting logged into GW, creating a new mail message and sending it successfully. However adding code to attach a file to my message returns an exception from the GroupwareTypeLibrary with the unhelpful error message "Unknown Error". Below is my code. If I comment out the line:
    objMessage.Attachments.Add("c:\reg.log",1,"reg.log ");
    the program runs successfully, happily sending my mail to the recipent mailbox. I know the c:\reg.log file exists and I have permissions to it.
    Any advice as to what I'm doing wrong would be of tremendous help, as I've already search and cruised all the forums on GW API I can find to no avail. Running GW 7.03 I think on client and server side.
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.IO;
    using GroupwareTypeLibrary;
    namespace GWEmailTest
    class Program
    public static void Main()
    GroupwareTypeLibrary.Application objApplication = new GroupwareTypeLibrary.Application();
    GroupwareTypeLibrary.Account objAccount;
    GroupwareTypeLibrary.Messages objMessages;
    GroupwareTypeLibrary.Message objMessage;
    GroupwareTypeLibrary.Folder objMailBox;
    GroupwareTypeLibrary.Recipients objRecipients;
    GroupwareTypeLibrary.Recipient objRecipient;
    objAccount = objApplication.Login("dpuls", "", "password", "", "");
    objMailBox = objAccount.MailBox;
    objMessages = objMailBox.Messages;
    objMessage = objMessages.Add("GroupwareTypeLibrary.Message",4," ");
    objRecipients = objMessage.Recipients;
    objRecipient = objRecipients.Add("dpuls","","");
    objMessage.Subject.PlainText = "Here's the message from C#!.";
    objMessage.BodyText.PlainText = "Here's the report you wanted.";
    objMessage.Attachments.Add("c:\reg.log",1,"reg.log ");
    objMessage.Send();

    Markus,
    Thanks so much for your quick reply. I appreciate your willingness to help me overcome my ignorance. Here's what I found:
    objMessage = objMessages.Add("GW.MESSAGE.MAIL", 4);
    results in a C# compiler error "no overload method for 'add' requires '2' arguments". This tells me the third paramater is required for the GroupwareTypeLibary COM object, so I added the third null parameter back in, eliminating the compiler error. Then I still got the same "unknown error" exception back from the COM library as before.
    So I went back to my shotgun approach of trying variations on parameter passing (instance variables instead of literals, etc). I noticed at one point when I tried another test file that I got a compiler error on a string literal of the path\filename "c:\csharptest.txt". Aha, says I ......
    To make a long story short, by happenstance, my "c:\reg.log" parameter gets read in C# as containing an escape sequence reference, i.e. "\r" and when I changed to another test file it read "c:\csharptest.txt" as an INVALID escape sequence "\c". The fix then was to correct the problem of the reading of escape sequences in my string literal by changing my line of code to :
    objMessage.Attachments.Add(@"c:\reg.log","1","");
    Problem solved! Thanks again for your help.
    dennis puls
    Originally Posted by Markus Colorado
    I suppose the way you're adding a draft message to the collection is false.
    >> objMessages = objMailBox.Messages;
    >> objMessage = objMessages.Add("GroupwareTypeLibrary.Message",4," ");
    The function "Add()" takes only 2 parameters, 'ClassName' + 'ObjType'.
    'ClassName' stands for the sort/subtype of message you'd like to create.
    'ObjType' stands for 'draft' or 'personal'
    Try the following:
    objMessages = objMailBox.Messages;
    objMessage = objMessages.Add("GW.MESSAGE.MAIL", 4);
    The rest should be fine; the code for adding the attachment seems OK.
    Markus
    "dpuls" <[email protected]> schrieb im Newsbeitrag
    news:[email protected]...
    >
    > I'm in my first attempt at integrating GW functionality into a C#
    > application. I am not an expert C# programmer either. Thus far I've
    > been successful at getting logged into GW, creating a new mail message
    > and sending it successfully. However adding code to attach a file to my
    > message returns an exception from the GroupwareTypeLibrary with the
    > unhelpful error message "Unknown Error". Below is my code. If I
    > comment out the line:
    > objMessage.Attachments.Add("c:\reg.log",1,"reg.log ");
    >
    > the program runs successfully, happily sending my mail to the recipent
    > mailbox. I know the c:\reg.log file exists and I have permissions to
    > it.
    >
    > Any advice as to what I'm doing wrong would be of tremendous help, as
    > I've already search and cruised all the forums on GW API I can find to
    > no avail. Running GW 7.03 I think on client and server side.
    >
    > ****************************
    > using System;
    > using System.Collections.Generic;
    > using System.Text;
    > using System.IO;
    > using GroupwareTypeLibrary;
    >
    > namespace GWEmailTest
    > {
    > class Program
    > {
    > public static void Main()
    > {
    > GroupwareTypeLibrary.Application objApplication = new
    > GroupwareTypeLibrary.Application();
    > GroupwareTypeLibrary.Account objAccount;
    > GroupwareTypeLibrary.Messages objMessages;
    > GroupwareTypeLibrary.Message objMessage;
    > GroupwareTypeLibrary.Folder objMailBox;
    > GroupwareTypeLibrary.Recipients objRecipients;
    > GroupwareTypeLibrary.Recipient objRecipient;
    >
    > objAccount = objApplication.Login("dpuls", "", "password", "",
    > "");
    > objMailBox = objAccount.MailBox;
    > objMessages = objMailBox.Messages;
    > objMessage = objMessages.Add("GroupwareTypeLibrary.Message",4," ");
    > objRecipients = objMessage.Recipients;
    > objRecipient = objRecipients.Add("dpuls","","");
    > objMessage.Subject.PlainText = "Here's the message from C#!.";
    > objMessage.BodyText.PlainText = "Here's the report you wanted.";
    > objMessage.Attachments.Add("c:\reg.log",1,"reg.log ");
    > objMessage.Send();
    > }
    > }
    > }
    > ****************************
    >
    >
    > --
    > dpuls
    > ------------------------------------------------------------------------
    > dpuls's Profile: NOVELL FORUMS - View Profile: dpuls
    > View this thread: Attachments help - C# using Obect API - NOVELL FORUMS
    >

  • How to construct table in jsp for the resultset from helper class

    Hi Dudes!!!
    Want to construct table in jsp for the resultset, but the resultset are retrieved at the helper class.I constructed Table in Helper class Using StringBuffer and return it as string from the helper class.Is their any other feasible and efficient way to construct table in Jsp for the resultset from Helper class.Solution will be highly appreciated.Thanx in Advance.

    no, we can't.
    Certainly noone can with such vague specifications even if they had the intent to do so.
    "the computer", which computer?
    "attach to our current page", what is meant by that?
    And noone should ever help you if you're planning to breach security anywhere.

  • Problem in generating Helper class

    Hi All,
    I have generated Helper classes using rmic -iiop tool of JDK 1.4. But the Helper class which is generating doesnot contain any bind method. So in my application, when i am trying to bind CORBA ORB with this helper class bind method, it is giving compilation error.
    When i was using Borland Server i was able to generate Helper class with bind method also using java2iiop and now i am not using Borland as we are migrating to JBoss. So i am using rmic -iiop tool.
    Can anybody suggest me what should i do for this.

    I don't think many of us could help you with such a limited description. Try to be more descriptive, and please include relevant source code if possible.

  • How to stop a class which don't use thread is running

    i have a class call my.class, in my application, i use a button "start button" to run this class by call: my.main(new String[0])
    now I want to use another button call "stop button" to stop my.class.
    If in my.class I don't use thread, have any way to stop it
    please help me, it verry importand for me
    Any help will hightly wellcomed

    I take it that TimTheEnchanters reply to this question was scrubbed by your browser?
    http://forum.java.sun.com/thread.jspa?threadID=579074&tstart=30

  • XSLT Mapping : RFC Lookup using java helper class

    Hi All,
    I am doing RFC Lookup in xslt mapping using java helper class. I have found blog for the same (http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/05a3d62e-0a01-0010-14bc-adc8efd4ee14) However this blog is very advanced.
    Can anybody help me with step by step approach for the same?
    My basic questions are not answered in the blog as:
    1) where to add the jar file of the java class used in xslt mapping.
    I have added zip file of XSLT mapping in imported archived and using that in mapping.
    Thanks in advace.
    Regards,
    Rohan

    Hi,
    Can u please have look at this in detail , u can easily point out yourself the problem...
    http://help.sap.com/saphelp_nw04/helpdata/en/55/7ef3003fc411d6b1f700508b5d5211/content.htm
    Please observe the line,
    xmlns:javamap="java:com.company.group.MappingClass
    in XSLT mapping..
    The packagename of class and class name and XSLT namespace should be matching...
    Babu
    Edited by: hlbabu123 on Sep 29, 2010 6:04 PM

  • Add helper class public parts as used DC in EJB DC

    Hi Experts,
    I have created a JAVA DC project containing the helper classes.
    For this helper classes i have created a Jar file.
    I have also created two public parts
    1) with an option Can be packaged into other build results (e.g. SDAs)
    2) with an option Provides an API for developing/compiling other DCs
    Now i want to use these public parts in my EJB DC.
    I have added the API public part in my EJB DC as build time design time and run time.
    Now when i am getting java.lang.NoClassDefFoundError: for the class defined in JAVA DC helper class.
    Can you help me in resolving this?
    Regards,
    Ashish Shah

    Hi
    I have done following things:
    1) I have a java DC containing helper classes and an EJB DC referring to it.
    2) Now to access this EJB DC, I have created a java command bean DC.
    3) And I am using this command bean Java dc in my WebDynpro application.
    4)  Now for deploying the helper class, I have created a library project.
    5)  To this library project I have added the SDA and API public part of helper class as used dc.
    6)  I have added this java library file as used DC in WebDynpro DC and in EJB DC.
    7)  I have added the library reference to the WebDynpro DC for J2ee server component library DC  As pg.comaptsc~dc_aptjl
    8)  When i checked in Visual admin i could see the Assembly (SDA) helper class jar file.
    In my helper class files, I am getting this warning.
    Checking package reservation
    Warning: Package pg.com.apt.help.cls is not reserved for DC : apt/sc/dc_apthc.
    Now in my webdynpro DC when I refer to the helper class through the EJB, I get this error.
    java.lang.NoClassDefFoundError: pg/com/apt/help/cls/TargetMarket at pg.com.atos.WebModuleProject.FetchSDCDataBean.SearchGTINTMDataEJB(FetchSDCDataBean.java:133) at pg.com.atos.WebModuleProject.FetchSDCDataObjectImpl0.SearchGTINTMDataEJB(FetchSDCDataObjectImpl0.java:119) ... 35 more ; nested exception is: java.lang.NoClassDefFoundError: pg/com/apt/help/cls/TargetMarket
    Can you please guide on what I am missing.
    Thanks in advance.
    Regards,
    Ashish Shah
    Edited by: ashish shah on Dec 18, 2007 3:23 PM

  • Why use helper classes?

    I am confused about the purpose of helper classes when using EJB's. Is the idea simply to make the code more maintainable? To separate data access code from the business logic? To aid the reuse of code? Why should I choose to use a helper class rather than creating a new EJB to do the job?
    I have been unable to find any comprehensive articles, and am a bit confused!
    Thanks in advance.

    - split out code into distinct functional models
    - split out code that can be reused effectively elsewhere
    - wrap objects that need to be passed to other modules as a whole
    - performance (EJBs are slow compared to standard beans)
    - keep code shorter (per file/method) so it's easier to read and maintain
    etc. etc.

  • Is there any practical reason to use DB helper class?

    Is there any practical reason to use database helper class ( e.g. database.bookDB in Duke's bookstore)in servlet design? What if I setup a DB connection for every servlet?

    to ken_robinson
    I am currently setup DataSurece in servlet init().Usually (I know WebLogic is this way), if you configure the DataSource through the app server's configuration app, it is available to all applications.
    The most efficient way to look up the DataSource in a particular app is have a ServletContextListener lookup the DataSource from JNDI and set it in the Context as an Attribute. Each servlet would then, in it's init() method, get the DataSource from the ServletContext (faster than using JNDI for each Servlet. The ServletContextListener requires the container you are running in support the 2.3 spec. If it does not, simply use a startup servlet (servlet that is loaded when the app is loaded) and do the same thing.

  • Alv field with f4 help without using class

    Hi,
    Can any one give me a program of "Alv field with f4 help without using class".
    Thanking you in advance.

    hi
    <b>Linking F4 Help to Fields</b>
    For the last section, we will deal with linking F4 help to fields. It is easy. As usual, define, implement and register the event “onf4” at proper places in your code. For F4 help, you must register the fields whose F4 request will trigger the “onf4” event. For this you must prepare a table of type “LVC_T_F4” and register this table using the method “register_f4_for_fields”. While preparing table you must include a line for each field which will trigger F4 event. For each field in the structure;
    &#1048766; Pass the fieldname to ‘FIELDNAME’
    &#1048766; Set ‘REGISTER’ to make the field registered,
    &#1048766; Set ‘GETBEFORE’ to provide field content transport before F4 in editable mode
    &#1048766; Set ‘CHNGEAFTER’ to make the data changed after F4 in editable mode.
    DATA: lt_f4 TYPE lvc_t_f4 WITH HEADER LINE .
    lt_f4-fieldname = 'PRICE'.
    lt_f4-register = 'X' .
    lt_f4-getbefore = 'X' .
    APPEND lt_f4 .
    CALL METHOD gr_alvgrid->register_f4_for_fields
    EXPORTING
    it_f4 = lt_f4[] .
    Preparing table for the fields to be registered to trigger F4 event
    METHOD handle_on_f4 .
    PERFORM f4_help USING e_fieldname es_row_no .
    er_event_data->m_event_handled = 'X' .
    ENDMETHOD .
    A sample “onf4” method implementation
    Again, we set the attribute “er_event_data->m_event_handled” to prevent further processing of standard F4 help.
    regards
    Ravish
    <b>
    reward if useful</b>

  • Is there any advantage to use database helper class

    Is there any advantage to use database helper class ( e.g. database.bookDB in Duke's bookstore)in servlet design? What if I setup a DB connection for every servlet?

    If there is not much relation between servlets.For example one servlet working on authentication againist user name/password in database another one work on searching book by keywords?
    and if we want to have servlets written by difference programmers?

  • MIGO: Searching batches via classes using search help MCH1 (incl. SH MCH1C)

    Hello everyone,
    I have a strange issue in MIGO on our Development server, and was wondering if anyone else had ever encountered similar problems.
    In MIGO, when we choose "Goods issue", and "Other", we enter the material number, plant and storage location. After pressing ENTER, the "Batch" tab appears allowing us to enter the batch. Now, searching for the batch creates a problem, and here is the process:
    1. Press F4 on the "Batch" field - this envokes the Search help procedure.
    2. Enter the class and the class type on the next screen and press ENTER. A subscreen appears with the class characteristics.
    3. Without filling out any of the characteristics, press "Find in initial class" button.
    In the bottom part of the screen, the system creates a split to display the results in a form of ALV list, BUT no results are ever displayed.
    Here is another piece of information which might be useful. The version of the DEV installation is ECC 6.0, and the patch level for Logistics and Accounting is SAPKH60009. The patch level of the corresponding IDES system is SAPKH60006, and in the IDES system we have no problems with this search through MIGO.
    This tells me that there might be a problem caused by the upgrade - but that's not sure, and that's why I ask if anyone else had run into such an issue.
    I am an ABAPer, so I approached this problem first by comparing the search helps of the two versions. The collective SHelp is MCH1, but searching batches via classes uses the elementary SHelp MCH1C. I found some differences in the elementary SHelps' function exits, these are included in the SAP note 1020405, and have no effect on the functionality. I even tried "downgrading", and using the search help from IDES, but still got no results. I decided that this was not causing the problem.
    Can anybody suggest what might be the cause of the problem? Our MM people tell me there is no customizing for this process, and that it worked on IDES from the very beginning without any problems.
    Thanks in advance!
    Srdj

Maybe you are looking for