Enhancing Access Class Query Function

Hi Experts,
I'm customising The PCUI application COMM_BUPAR. I've gone as far as copying this to a custom view as well as addding enhancement fields on the search search.
Now I'd like to extend the functionality of the QUERY method in the class CL_BSP_BP_ACCMOD to cater for this new field. What's the best way of going about this without modifying the standard class method?
Thanks,
Nhlanhla

Hello,
Redifining method is ABAP OO concept.  Final result you will have only one method.
When you create Z class with standard as parent class your Z class will inherit the parents QUERY method but as you want to change the logic of the inherited mehod you use some thing called redefinition.
You will have button on the toolbar of methods tab in se24.
Hope this helps you.
Raj

Similar Messages

  • Having trouble accessing class get function

    Hi;
    I am writing a flash AIR application.
    I have a document class attached to a FLA to put elements on the stage, It Then instantiates and puts myClass1 an the stage. MyClass1 puts more elements on the stage, and sets the value of a variable _myValue. MyClass1 also has a public getter function which returns _myValue.
    The document class then instantiates MyClass2, which is passed a reference to MyClass1. MyClass2 needs to access _myValue in MyClass1.
    The following code structure throws an error. While not the exact code, the code below should show haw it was implemented. I have condensed the code to make it understandable.
    If you want to see the whole code I'll try.
    DocumentClass.as
    package ui {
              import flash.display.Sprite;
              public class DocumentClass extends Sprite {
                        public function DocumentClass() {
                                  var  myClass1:MyClass1 = new MyClass1();
                                  addChild(myClass1);
                                  var myClass2:MyClass2 = new MyClass2(myClass1);
                                  addChild(myClass2);
    MyClass1.as
    package ui {
              import flash.display.sprite;
              public class MyClass1 extends Sprite {
                        private var _myValue:int;
                        public function MyClass1() {
                                  //some code to add stuff to the stage.............................
                                  _myValue = 10;
                        public function get myValue():int {
                                  return _myValue;
    MyClass2.as
    package ui {
              import flash.display.Sprite;
              public class MyClass2 extends Sprite {
                        public function MyClass2(referenceMyClass1:Sprite) {
                                  var ref:Sprite = referenceMyClass1;
                                  var myValue:int = ref.myValue();
    This gives me an error
    MyClass2.as, Line 39 1061: Call to a possibly undefined method myValue through a reference with static type flash.display:Sprite.

    Thanks for your responce. That was one of the problems.
    As it turns out another problem was:
    public function MyClass2(referenceMyClass1:Sprite)
    should have bee
    public function MyClass2(referenceMyClass1:MyClass1)

  • Calling oracle function from Access passthrough query does not return list

    Thanks to the help I received in an earlier post I've created an oracle 10g function that returns a list after executing the sql it contains. It works in oracle, using sql developer.
    I need to have the list that it returns show up in MS Access via a passthrough query. It's not working so far. The connection string etc is ok, I'm able to use passthrough queries to run sql strings successfully. But when I try to call the function via the Access passthrough query at first nothing seems to happen (ie no list appears) and if I try to run it again, there is a odbc error 'call in progress. Current operation canceled'. There are only the three records in the table. I'm missing something, can anyone spot it?
    The passthrough query looks like this
    select * from fn_testvalues from dual
    Again that runs in oracle.
    To create the testing table and 2 functions see below.
    CREATE TABLE t_values (MyValue varchar2(10));
    Table created
    INSERT INTO t_values (
    SELECT 'Merced' c1 FROM dual UNION ALL
    SELECT 'Pixie' FROM dual UNION ALL
    SELECT '452' FROM dual);
    3 rows inserted
    CREATE OR REPLACE FUNCTION fn_isnum(p_val VARCHAR2) RETURN NUMBER IS
    n_val NUMBER;
    BEGIN
    n_val := to_number(p_val);
    RETURN 1;
    EXCEPTION
    WHEN OTHERS THEN
    RETURN 0;
    END;
    Function created
    testing the table:
    SELECT val, fn_isnum(MyValue ) isnum
    FROM t_values;
    VAL ISNUM
    Merced 0
    Pixie 0
    452 1
    Now the function that is called in the passthrough query:
    create or replace function fn_testvalues
    return sys_refcursor is
    rc sys_refcursor;
    begin
    open rc for
    Select t_values.*, fn_isnum(MyValue) IsNum from t_values;
    return(rc);
    end fn_testvalues;

    lecaro wrote:
    OK. But obviously there is some oracle object that one can call via an Access pass-through query which returns rows?Just to clarify. You could fetch data in Access from an Oracle function that returns a ref cursor using VBA editor. To use a pass-through query Oracle function should be a table function or pipelined table function:
    CREATE OR REPLACE
      TYPE testvalues_obj_type
        AS OBJECT(
                  val varchar2(10),
                  isnum number
    CREATE OR REPLACE
      TYPE testvalues_tbl_type
        AS TABLE OF testvalues_obj_type
    CREATE OR REPLACE
      FUNCTION fn_testvalues
        RETURN testvalues_tbl_type
        PIPELINED
        IS
            CURSOR testvalues_cur
              IS
                SELECT  testvalues_obj_type(MyValue,fn_isnum(MyValue)) testvalues_obj
                  FROM  t_values;
        BEGIN
            FOR v_rec IN testvalues_cur LOOP
              PIPE ROW(v_rec.testvalues_obj);
            END LOOP;
            RETURN;
    END;
    /To test it in Oracle:
    SELECT  *
      FROM  TABLE(fn_testvalues)
    VAL             ISNUM
    Merced              0
    Pixie               0
    452                 1
    SQL> Now in Access pass-trough query window enter:
    SELECT  *
      FROM  TABLE(fn_testvalues);SY.

  • ABAP class or function for retrieving BEx query properties at runtime

    Hello Experts,
    I'm working on BADI RSR_OLAP_BADI and for a special calculation I need to know which characteristics are in the drill-down of the BEX query, sol later on I can aggregate some key figures using only these characteristics.
    Problem is that structure C_s_DATA in method COMPUTE contains all fields of the query (filters, free chars, chars in the rows, etc) and I need to now which characteristics are currently being showing in the Bex analyzer.
    So is there an ABAP class or function module I can use to find out this kind of information at run time?
    Any suggestion?
    Thank you

    Tank you for the feedback,
    I tried to use the class you provided, but I'm stuck now in how to get from within my class that implements RSR_OLAP_BADI interface, a handle, reference, o whatever represent my runtime query (not the query at design time) . As the class you provide must be instantiated before I can use
    In pseudo code could be something like this
    DATA my_query type query_ref.
    my_query = get_rt_query().
    my_query->get_state()
    regards

  • Implicit enhancement to a standard function module.

    Hi everybody.
    I used an Implicit Enhancement to a Standard function module Customized_Message, at the starting of function module.
    Code:
    ENHANCEMENT 1  ZFK01_ENHANCEMENT4.    "active version
    If sy-tcode = 'FK01' and sy-CPROG = 'SAPMF02K' AND I_MSGNR = '230' AND i_arbgb = 'F2' AND I_DTYPE = 'I'.
      EXIT.
    ENDIF.
    ENDENHANCEMENT.
    The above is working fine, to the condition what i had given above code.
    But my question is, can i use a implicit enchancement to a Standard function module(Customized_message).

    Yes, but you should also be aware that 'F2' is a configurable message class in the IMG.  You should attempt to solve your issue in that manner first.

  • XSLT Enhancement with Java, Tokenize Functionality

    I tried the following requirement using EXSLT with no luck. Is there any other alternative to tokenize in XSLT 1.0.
    The syntax i have here is  
    <xsl:for-each select="tokenize($this/Field1,',')">
           <xsl:variable name="f1v" select="."/>
         <xsl:for-each select="tokenize($this/Field2,'\|')">
              <xsl:variable name="f2v" select="."/>
              <xsl:for-each select="tokenize($this/Field3,'\|')">
                        <xsl:variable name="f3v" select="."/>
    There are multiple for-each based on tokens
    I am leaning towards to Enhancing XSLT with Java Function. As i have less experience with Java, can anybody help me with the code that can be used by XSLT for Tokenize functionality.
    I have written something like following. I still have errors to fix. But i am not sure about having resultSet or return at the end, to make sure all the tokens were sent to XSLT.
    public class MyStringToken
         public static void main(String [] args)
              String str = "sssd;wwer;ssswwwwdwwwwwwwwwww;wwwwe";
              String delimiter = ";";
              MyStringToken my = new MyStringToken();
              my.getTokens(str,delimiter);
         public void getTokens(String str,String delimiter)
              StringTokenizer st = new StringTokenizer(str,delimiter);
              while(st.hasMoreElements())
                   try
                        String delString = new String(st.nextElement().toString());
                        return (delString);
                   catch(Exception e)
                        e.printStackTrace();
    Any help is appreciated

    Hi,
    I have been searching about, and I have found the next example that maybe can help you, It's a template to tokenize in XSLT 1.0 from the web [http://stackoverflow.com/questions/1018974/tokenizing-and-sorting-with-xslt-1-0]
    <xsl:template name="tokenize">
      <xsl:param name="string" />
      <xsl:param name="delimiter" select="' '" />
      <xsl:choose>
        <xsl:when test="$delimiter and contains($string, $delimiter)">
          <token>
            <xsl:value-of select="substring-before($string, $delimiter)" />
          </token>
          <xsl:text> </xsl:text>
          <xsl:call-template name="tokenize">
            <xsl:with-param name="string"
                            select="substring-after($string, $delimiter)" />
            <xsl:with-param name="delimiter" select="$delimiter" />
          </xsl:call-template>
        </xsl:when>
        <xsl:otherwise>
          <token><xsl:value-of select="$string" /></token>
          <xsl:text> </xsl:text>
        </xsl:otherwise>
      </xsl:choose>
    </xsl:template>
    Also I have found the next example of use tokenize in EXSLT from [http://exslt.org/str/functions/tokenize/index.html] It can be that inI your tests you are not using "str:tokenize", no?
    <xsl:template match="a">
       <xsl:apply-templates />
    </xsl:template>
    <xsl:template match="*">
       <xsl:value-of select="." />
          <xsl:value-of select="str:tokenize(string(.), ' ')" />
       <xsl:value-of select="str:tokenize(string(.), '')" />
       <xsl:for-each select="str:tokenize(string(.), ' ')">
          <xsl:value-of select="." />
       </xsl:for-each>
       <xsl:apply-templates select="*" />
    </xsl:template>
    I hope that helps you.
    Best.
    Jorge

  • XI--- R/3 scenario: directly access and query a Y-table in R/3

    Hi forum,
    I need to make a XI--->R/3 scenario, i want to access and query a table in R/3 (a Y transparent table),
    i have been suggested to use a Sysnchronous call to BAPI/Function module, but i want to know whether there's a way i can access/query a Y-Table in the R/3 directly without using a function module in it,

    hi sudeep,
    to access a table in r/3 u can either go for an rfc or a server proxy.
    >>whether there's a way i can access/query a Y-Table in the R/3 directly without using a function module in it,
    do u mean querying the database directly? u "can" ofcourse do it  but <b>shud never</b> access r/3 database directly.
    [reward if helpful]
    regards,
    latika.

  • Error in adding attachment to the workitem. load:class Query.class not foun

    Hi,
    We are using WebGui to access the Business Workplace(SBWP transaction) through Portal. For any work item, when i try to import a file from the local PC, i get a screen with the header -"Enter Some FIle attributes". Text displayed in the screen is "Please wait. You will be forwarded automatically. This page had to be included for techincal reasons". And i am struck in that screen. I believe a java popup winddow should come up at this point to select the PC File but it never happened. The screen also has a status message "
    Loading Java applet failed. Applet Query.class not inited ".
    WHen i look at the java console, i find the following error trace. Please let me know if anybody experienced this problem before and how to fix it. Thanks for the help.
    Trace ---
    load: class Query.class not found.
    java.lang.ClassNotFoundException: Query.class
         at sun.applet.AppletClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at sun.applet.AppletClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at sun.applet.AppletClassLoader.loadCode(Unknown Source)
         at sun.applet.AppletPanel.createApplet(Unknown Source)
         at sun.plugin.AppletViewer.createApplet(Unknown Source)
         at sun.applet.AppletPanel.runLoader(Unknown Source)
         at sun.applet.AppletPanel.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Caused by: java.io.IOException: open HTTP connection failed.
         at sun.applet.AppletClassLoader.getBytes(Unknown Source)
         at sun.applet.AppletClassLoader.access$100(Unknown Source)
         at sun.applet.AppletClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         ... 10 more
    Regards
    hari

    Hi all,
    I have encountered same problem in ITS 6.20.
    Query.class is packed in ws.jar which is stored at C:\Inetpub\wwwroot\<SID>\sap\its\mimes\webgui\99\applets and C:\Inetpub\wwwroot\<SID>\sap\its\mimes\webgui\2002\applets in ITS server.
    I increased the trace level to 3 in the Java console to inevestigate the problem further.
    == Java console (Trace level 3 ) ===
    network: cache entry not found URL: https://hostname.domain.co.jp:443/sap/its/mimes/webgui/2002/applets/ws.jar、version: null
    network: Connect to https://hostname.domain.co.jp:443/sap/its/mimes/webgui/2002/applets/ws.jar (Proxy=DIRECT)
    network: Connect to http://hostname.domain.co.jp:443/  (Proxy=DIRECT)
    java.net.ConnectException: Connection refused: connect
    load: class Query.class not found.
    java.lang.ClassNotFoundException: Query.class
    ==========================
    Then I found out that when system tried to load class Qery.class the connection to ITS was refused becase the incorrect protocol ( https ) was chosen.  In my case, SSL was not setup, therefore protocol must be http.
    I activated http by changing the configuration file for WGate in C:\Program Files\SAP\ITS\6.20\config\ ItsRegistryWGATE.xml
    After that, I restarted the WGate by accessing to http://hoostname.domain.co.jp:port/scripts/wgate/wgate-restart to activate the configuration.
    And also I restarted the AGate by restarting the Windows Service "SAP ITS Manager - <SID>".
    Anyway, the html (BHTML) file that displays the message below is stored at C:\Program Files\SAP\ITS\620\templates\system\dm\itsdoc.html
    "Please Wait. You will be forwarded automatically"
    "This page has been loaded due to technical Reasons"
    Best regards,
    Akira

  • Urgent: how to really seperate business logic class from data access class

    Hello,
    I've this problem here on my hand and i really need help urgently. so please allow me to thank anyone who replies to this thread =)
    Before i go any futhur, let me present a scenario. this will help make my question clearer.
    "A user choose to view his account information"
    here, i've attempted to do the following. i've tried to seperate my application into 3 layers, the GUI layer, the business logic layer, and the data access layer.
    classically, the GUI layer only knows which object it should invoke, for example in the case above, the GUI would instantiate an Account object and prob the displayAcctInfo method of the Account object.
    here is how my Account class looks like:
    public class Account
    private acctNo;
    private userid;
    private password;
    private Customer acctOwner;
    the way this class is being modelled is that there is a handle to a customer object.
    that being the case, when i want to retrieve back account information, how do i go about retrieveing the information on the customer? should my data access class have knowledge on how the customer is being programmed? ie setName, getName, setAge, getAge all these methods etc? if not, how do i restore the state of the Customer object nested inside?
    is there a better way to archieve the solution to my problem above? i would appriciate it for any help rendered =)
    Yours sincerely,
    Javier

    public class AccountThat looks like a business layer object to me.
    In a large application the GUI probably shouldn't ever touch business objects. It makes requests to the business layer for specific information. For example you might have a class called CustomerAccountSummary - the data for that might come entirely from the Account object or it might come from Account and Customer.
    When the GUI requests information it receives it as a 'primitive' - which is a class that has no behaviour (methods), just data. This keeps the interface between the GUI and business layer simple and makes it easier to maintain.
    When using a primitive there are four operations: query, create, update and delete.
    For a query the gui sets only the attributes in the primitive that will be specifically queried for (or a specialized primitive can be created for this.) The result of a query is either a single primitive or a collection of primitives. Each primitive will have all the attributes defined.
    For a create all of the attributes are set. The gui calls a method and passes the primtive.
    For an update, usually all fields are defined although this can vary. The gui calls a method and passes the primitive.
    For a delete, only the 'key' fields are set (more can be but they are not used.) The gui calls a method and passes the primitive.
    Also keep in mind that a clean seperation is always an idealization. For example verify that duplicate records are not created is a business logic requirement (the database doesn't care.) However, it is much easier and more efficient to handle that rule in the database rather than in the business layer.

  • How to create a model access class ???

    HI,
          Can somebody tell me how to create a Model Access Class. In the Application Set, i can find the Model Access folder, but it has a list of application sets which is already created and the system asks to select a Application set. I need to create a new application set. Please help.
    Regards,
    Shiny

    Hi Shiny,
    I would suggest you not to create a new application set.
    If you are enhancing a standard PCUI application, i would suggest you to create new model access classes and assign them to the same application set which is assigned with the standard model access class for that application.
    Creating a model access class can be done through the transaction SE24(like any other Z-class).
    Go to transaction CRMC_BLUEPRINT_C and you could assign this newly created Model access class to the standard application set. This can be done under Application Element->Application Set->MOdel Access Class.
    If you still feel the need to create a new application set altogether, it can be done from Trx CRMC_BLUEPRINT_C->Layout of PCUI-> Application Element->Application set.
    I hope it helps.
    Cheers,
    Gyan.

  • Error Accessing an Oracle Function

    Hi There,
    I am trying to access an oracle function and getting an
    error.
    CREATE OR REPLACE FUNCTION simple RETURN VARCHAR2 IS
    BEGIN
    RETURN 'Simple Function';
    END simple;
    <cfstoredproc procedure="simple" datasource="MySource"
    returnCode ="no">
    <CFPROCRESULT name="simple_function">
    </cfstoredproc>
    Error:
    Error Executing Database Query. [Macromedia][SequeLink JDBC
    Driver][ODBC Socket][Oracle][ODBC]Syntax error or access violation.
    I do have access to this function. I tried it from SQL Plus
    and it works fine.
    any help in this will be highly appreciated.
    Regards,

    As per Adam Cameron advice, I changed my SQL function:
    CREATE OR REPLACE FUNCTION simple RETURN VARCHAR2 IS
    a varchar2(10) := '';
    BEGIN
    select 'Simple' into a from dual;
    Return a;
    END simple;
    As per paross1 advice, I changed my code to:
    <cfstoredproc procedure="simple" datasource="MySource"
    returnCode ="yes">
    <CFPROCRESULT name="simple_function">
    </cfstoredproc>
    I am still getting the following error:
    Error Executing Database Query. [Macromedia][SequeLink JDBC
    Driver][ODBC Socket][Oracle][ODBC]Syntax error or access violation.
    The error occurred on line 53.
    Any advice will be highly appreciated.

  • How do I access classes and methods defined in a wsdl file

    I have been provided a wsdl file I need to find out how do I access classes and methods defined in a wsdl file directly instead of doing a wsdl2java...

    Several comments :
    1- is there any reason to have blank chars inserted after the path ? Seems that you already have a problem there. If possible, try to solve the problem at the source
    2- the end of line char is usually CR (Carriage Return, aka ASCII char 13 = $0D = Control-D). But LF (Line Feed = 10 = $0A = control-A) is also used (platform dependent). In LV, you can use the "Concatenate strings" function to add/insert control chars (found in the String Control Palette). However, this will not solve your problem of unwanted added blank chars at the end of your string.
    3- you can use the Trim white space.vi (in the "Additionnal string functions" sub-palette) to remove ALL the spaces in your string
    4- you can build your own "end space remover" function. :
    reverse the string, wire to a "Match pattern" function, use " +" (space + "+") to search for any number of spaces, reverse again the "after substring".
    5- there is no point 5 :-)
    You may find interesting description of ASCII chars here
    Chilly Charly    (aka CC)
             E-List Master - Kudos glutton - Press the yellow button on the left...        

  • How to create a profile to control the access to Query Designer 2004s

    Hi all,
    I saw the note Note 962530 - NW04s: How to restrict access to Query
    Designer 2004s , where in alternative solution there is the approach on
    how to create a database table and modify the function module to control the access.
    However, we need to a security profile check that can prevent or allow
    who can access 04s tools. Because this is easy to maintain and we don't need to modify the database table time to time.
    Please update if it is feasible to have a check within the profile
    of the users to acces 04s query desinger. This way we can control
    effectively who can access new tools.
    Thanks,
    Dicky

    I can suggest that as this is a Security you might wanna ask the Person who is handling Security in your office.
    He can add different Roles which can then control their acess.
    For e.g. if you want that your user should be able to run Specific Queries a,b,c,d created by you.
    I will suggest interact with SEcurity Personal and ask him to create a Role X.
    You can then publish  your queries in Role X.
    So your users will have acess and security for X and they will then run the queries from them.
    Likewise, different other options are also there.
    If your queries are on Planning cube then things like giving them acess to Tools should take place similarly in different fashion.
    Your user can also use Query desinger and can opne queries from Roles .
    Hope this helps.

  • I have just sought  to update my lightroom and am now unable to access the develop function and get a note stating that I have reduced functionality what it this about and how do I get my product back

    I have just sought  to update my lightroom and am now unable to access the develop function and get a note stating that I have reduced functionality what it this about and how do I get my product back

    Hi there
    I have version 5.7 and every time I opened it I was told that updates are available and to click on the icon to access these.  Instead it just took me to the
    adobe page with nowhere visible to update.  I then  sought to download lightroom cc and this is when I could not access the 'develop' section due to reduced
    functionality  It was apparent that my photos had been put in cc but no way to access them unless I wanted to subscribe. 
    I have since remedied the problem as  my original lightroom 5.7 icon is still available on the desktop and have gone back to that.  I do feel that this is a bit
    of a rip off and an unnecessary waste of my time though.
    Thank you for your prompt reply by the way.
    Carlo
    Message Received: May 04 2015, 04:52 PM
    From: "dj_paige" <[email protected]>
    To: "Carlo Bragagnolo" <[email protected]>
    Cc:
    Subject:  I have just sought  to update my lightroom and am now unable to access the develop function and get a note stating that I have
    reduced functionality what it this about and how do I get my product back
    dj_paige  created the discussion
    "I have just sought  to update my lightroom and am now unable to access the develop function and get a note stating that I have reduced functionality what it
    this about and how do I get my product back"
    To view the discussion, visit: https://forums.adobe.com/message/7510559#7510559
    >

  • HT5055 Just updated to lion and my cctv access has stopped functioning all I get is a white screen in the middle of the control panel where the camera shots should be.  I think it is caused by JAVA but am confused as when i view on snow leopard it works 

    Just updated to lion and my cctv access has stopped functioning all I get is a white screen in the middle of the control panel where the camera shots should be.  I think it is caused by JAVA but am confused as when i view on snow leopard it works  can you help

    Open "Java Preferences" either from spotlight or your utilities folder...it's probably going to say you need to install a java runtime. Then just click install!

Maybe you are looking for

  • Hey,, I have a problem with my I'd I can' remember my security question

    I need your feedback ASAP please

  • Don't use GET PERNR error

    Hello Experts, I'm trying to write a code using GET PERNR statement for every first time but keeps getting the error when try to execute my code. Here is the error (Do not use the GET PERNR event). Can somebody please help me rectify this error. For

  • Constant freezing and no response from computer upon plugging in

    I have had my ipod photo since this past christmas and aside from initially being able to put my library on it, it has never worked since. I can play music when it isn't connected to the computer, but whenever I plug it in to charge it freezes upon b

  • Adobe CS5 Release Date & Win 7 CS4 Compatibility

    Hey, Does anyone know when Adobe CS5 will be released and whther it will have any big changes than CS4 as I am eager to hit the checkout button to buy CS4 Design Premium Student Edition. Also, before I buy is there any compatibility issues with Windo

  • How to summarize ?

    Hi all, i have to develop a oracle sql-statement (no pl/sql) based on 1 table and a conditional sum. I have tried different case statements with group by, but i'm still not able to solve the problem. Any help appreciated. The Columns: id, value, flag