"Calling functions that are in a class based DLL (MFC extention DLL)"

"Calling functions that are in a class based DLL (MFC extention DLL)"
"Calling functions that are in a class based DLL (MFC extention DLL)
I have a DLL written in VC++ using MFC exteintion DLL.
The functions are used to extract information from a hardware card.
eg.:
class AFX_EXT_CLASS WSDevice : public cAsyncSocket
This is a class in a DLL. There are a number of functions in this DLL that we need to call from Labview 5.0
How do we call these functions?
Normally (in VC++ /C++) we ceate a instance of this class like WSDeviceObj and use the function call :
WSDeviceObj.fucntion name
Kindly Help.
Satish Narayana"

You can create a wrapper dll from which you can call your dlls functions.
Guidelines on how to create a dll that can communicate with LabVIEW are provided in the document "Using External Code in LabVIEW", which should be included with LabVIEW. You can download the document also from www.ni.com at:
http://digital.ni.com/manuals.nsf/web_productcurre​nt/4F1447F7CD83D6D88625690D00637CED?OpenDocument
Regards;
Vargas
www.vartortech.com

Similar Messages

  • Call function in main timeline from class file

    Hi all, How can a function in main timeline be called from class file?

    Hi all, How can a function in main timeline be called from class file?
    You can, but you really shouldn't.
    Classes shouldn't "talk" to the outside directly.
    Use Event dispatching to get things done.
    "root" (i just threw up by just typing that word) should be avoided at all cost, especially in AS3.

  • Question regarding editing functions that are no longer showing up in photoshop

    Hi!
    I purchased editing functions from a company that allows me to use them within my PhotoShop Elements 10 software. I have been using these functions for quite some time & when I opened my PhotoShop Elements software this morning, all of my editing functions were gone.
    The functions are still listed in my folders under my C drive.
    Any ideas as to how to get them back into my PhotoShop Elements 10 so that I can use them?
    Thanks so much!

    Are you sure you're in full edit? Go up to the Edit tab at the upper right of the PSE screen and click where it says Full, to make sure. If that's not the problem, what is missing?

  • How to get reults in the calling program that are returned by an API consol

    Hi,
    I am using a SPARQL query in a java program that is using a external API. The results are returned on console. I need to get results into some variables in my program so that I can use those further. There are 2 types of results returned; say one is name & other address. How can I do this.

    thanX a lot.
    Actually the method that is called to pass the query object in this statement:
    AGSparqlSelect.doSparqlSelect(sq);is
       public static void doSparqlSelect(SPARQLQuery sq) throws AllegroGraphException {
              if (sq.isIncludeInferred()) {
                   System.out.println("\nQuery (with RDFS++ inference):");
              } else {
                   System.out.println("\nQuery:");               
              System.out.println("  " + sq.getQuery());
              ValueSetIterator it = sq.select();/*@return; run SPARQL query, return an array
                                                      of result sets.  Each result set is an array of values.*/
              AGUtils.showResults(it);     
         }and this method actually returns the results on console which I need to get in some variables.
         public static void showResults(ValueSetIterator it) throws AllegroGraphException {
              String[] var = it.getNames();
             System.out.println("Number of solutions: " + it.getCount());
             for (int i=0; it.hasNext(); i++) {
                   ValueObject[] objects = it.next();
                   System.out.println("Solution " + (i+1) + ":");
                   for (int j = 0; j < objects.length; j++) {
                        ValueObject term = objects[j];
                        System.out.println("  " + var[j] + " = " + printValueObject(term));
         }So do you have any idea now how can this be done....?

  • Does labview support dll which has sub functions that are static functions?

    Dear all,
    I wrote and compiled a C function into dll to be called by labview. The function calls a sub function. It works fine if it is a normal sub function. However I see that if I declare the sub function to be static, labview will crash. So is it that labview does not support static function in dll?
    Best,
    Miao

    A static function simply means that it is local to the C module that defines it and can't be seen from other C modules in a library. It should not change anything else about how it works.
    So in conclusion it should not make a difference in if it crashes or not but only create possible problems in linking the library. It seems extremely likely that you have another problem in your library that gets somehow triggered more easily when you compile your code with the static functions, but it should not have to do anything directly with the fact that you have static functions in itself.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • How to call functions that return package local types?

    Hi everyone, I have a Pl/Sql function in a package that returns a package-local type.
    I would like to call this function from Java, but I don't know what to pass to "statement.registerOutParameter()"
    (it gives this error:
    Unable to resolve type: "XDRIVE_B2B.TEST1.MYTYPE)
    Here's the simple version with one package:
    package TESTPKG IS
    TYPE MYTYPE IS VARRAY(1) OF INTEGER;
    FUNCTION FCT2 RETURN MYTYPE;
    end;
    package body testpkg IS
    FUNCTION FCT2 RETURN MYTYPE IS
    BEGIN
    RETURN mytype(55);
    END;
    end;
    and here's the java code:
    void javatest(OracleConnection conn)
    throws SQLException
    String sql = "{ call ? = testpkg.fct2() }";
    OracleCallableStatement st =
    (OracleCallableStatement) conn.prepareCall(sql);
    st.registerOutParameter(1, OracleTypes.ARRAY, "MYUSERNAME.TESTPKG.MYTYPE");
    st.execute();
    and as I said above, the java code fails with:
    java.sql.SQLException: Fail to construct descriptor: Unable to resolve type: "MYUSERNAME.TEST1.MYTYPE"
    I can't really have this type live outside of a package because in the real case, it's not a VARRAY(1) of integer, it's a VARRAY(1) of MYTABLE%ROWTYPE, which only seems to compile inside a package.
    thanks for any opinions,
    george moudry
    null

    JDBC, JPublisher, and SQLJ do not support PL/SQL-only types. This includes PL/SQL index tables and record types.

  • Serializing Vectors that are in other classes

    If I have...
    public MyPanel extends Jpanel implements serializable
    private vector d;
    public MyPanel()
    d=new Vector();
    public void paint comp(gra g)//etc
    Part f=(part)d.get(i);//etc
    d.draw(g)
    and i OutputStream.write(MyPanel); and InputStream.read(MYpanel) is the vector serialized as well?(Yes the objects "(Part)"within the vector are/is serializable) because when i do:
    MyPanel g=(MyPanel)in.readObject();
    and then MyFrame.setMyPanel(g);
    the vector becomes empty!! and the parts in the vector can no longer be drawn;
    help?
    dev

    I am not sure what the problem is, but,
    - The vector class is Serializable (it isn't the spelling (capital 's') is it??).
    OR
    - Should it be JPanel g=(MyPanel)in.readObject();
    OR
    - How do you actually get the vector as there is no accessor method and the vector is private? Could it be you are just not getting the vector because of this.
    Please ignore this if I am talking rubbish (it is late).

  • BAPi/call function that calculates the pricing condition in CRM order

    Hello Experts,
        Can anybody suggest me which BAPI to be used in order to recalculate the pricing condition that is already maintained in the CRM order.
    I'm trying to upload .txt file which contains basic price value ( condition type ZPR0 ) to update in the order. This new value should over write the existing one in the CRM order & recaluclate the tax & other condition types in the pricing procedure. Can anybody suggest me how to go abt.
    Regards
    Devika.S
    Edited by: Devika.S on Apr 7, 2009 7:07 AM

    Hi Devika,
    Can you have a look at these two BAPIs as listed below to see if any of them fits your requirement?
    BAPI_BUPA_FRG0030_ADD - Add pricing data
    BAPI_BUPA_FRG0030_CHANGE - Changing pricing data
    Hope this helps,
    Cheers,
    Sougata.

  • ## Is it possible for JDBC to invoke functions that are declred by PL/SQL?#

    The computation logic has to do with quie a ferw tables.
    And it is too complex to directly write SQL statements,
    also it will be too bad in efficiency if read all the data from tables into the memory and then to compute.
    It will be disirable to create functions by PL/SQL, and then to invoke the functions from JDBC.
    How to do it? Any one give me an example?
    Many thanks in advance.
    Sincerely,
    Dong Wenyu

    Hi,
    You could invoke PL/SQL stored procedures from JDBC using the CallableStatement. For more information refer to the Accessing PL/SQL Stored Procedures sample on OTN.
    Hope this helps.
    Sujatha.

  • How to call c functions that expects c structs from java program?

    i need to call from my java program to c functions that get
    c structs as a parameters in their prototype.
    as you probablly know java is not working with structs (classes only), so my question is how can i do it , i mean call the c functions that gets structs as parameters form java????

    i believe your c function can accept a jobject and then inside your c function you have to translate that jobject into a c struct by using the jni methods.
    the only reason your c function cant accept structs from java is because java does not have such structures. your c function can accept any data type that has been defined and a jobject has been defined.
    if you have no control over the c functions that are being called, you need to write a wrapper function for those c function. the wrapper functions do the translation from jobject to a struct...then call the c other c functions.

  • Working with class based exception and dynamic method calls

    Hi Gurus,
    we just changed out ERP from EHP6 to EHP7.
    Since we did so we are facing an issue with an Z-Report we are using quite often.
    This reports looks up Workitems and executes the according methods so that we can go into debugging if we were facing any problems or errors.
    since the EHP Upgrade this statement has problems:
      data:        lt_parmbind   type abap_parmbind_tab,         lt_excpbind   type abap_excpbind_tab,         lo_runtime    type ref to object.     call method lo_runtime->(iv_cls_method)       parameter-table       lt_parmbind       exception-table       lt_excpbind.this CALL METHOD Statement has Problem with the Exception Table. We are quite often getting DYN_CALL_METH_EXCP_NOT_FOUND short dumps with Exception "CX_SY_DYN_CALL_EXCP_NOT_FOUND".
    The system has problems handling the content of lt_excpbind. if i clear this table the CALL METHOD statement works fine.
    AS an example we are trying to call /IDXGC/CL_PD_PROCESS_STEPS-->CREATE_DATA. This method has 2 exceptions
    /IDXGC/CX_PROCESS_ERROR
    Process Layer Exception
    CX_BO_TEMPORARY
    Temporary Business Exception
    The Content of LT_EXCPBIND is
    INDEX
    NAME
    VALUE
    2
    /IDXGC/CX_PROCESS_ERROR
    1
    2
    CX_BO_TEMPORARY
    2
    From my point of view the Problem ist, that they are marked as "class based". I think so because if you looked up the SAP Help for the EXCEPTION-TABLE Statement it is written that is statement only works for none-classbased exception.
    I think that restriction is quiet clear. But what i am wondering about is.. that restriction also exists for EHP6. And in EHP6 it work. Does anyone know why? Or how i can change me CALL METHOD Statement that i will work again?
    Best Regards
    Udo

    Class-based exceptions must be caught using try/catch statement.
    Calling dynamically a method catchable exceptions are:
    CX_SY_DYN_CALL_EXCP_NOT_FOUND
    CX_SY_DYN_CALL_ILLEGAL_CLASS 
    CX_SY_DYN_CALL_ILLEGAL_METHOD
    CX_SY_DYN_CALL_PARAM_MISSING 
    CX_SY_DYN_CALL_PARAM_NOT_FOUND 
    CX_SY_REF_IS_INITIAL
    Anyway catching cx_root (as shown by Matthias) will catch everything is catchable.

  • Calling Function across Classes

    How do I call a function across classes?
    I have a primary class ("ChordLib.as") that contains a function that manages options for TileList component, that includes prescribing a custom Cell Rendering class, "MyRenderer".  I want to be able to call a function in the primary "ChordLib.as" class from the "MyRenderer.as" class.  Here is the function in "ChordLib" that refers to the "MyRenderer" class. Perhaps there is a way here to pass reference of the primary class into "MyRenderer"?
    // SET CHORD LIST  //////////////////////////////////////////
    public function setChordList(song:int):void {
    var dpChords:DataProvider = new DataProvider();
    var i:uint;
    // determine chord set
    if (song == -1) {
         activeChords = allChords;
    } else {
         activeChords = songChordSets[song];
    // fill dataProvider
    for(i=0; i<activeChords.length; i++) {
         var tt = activeChords[i];
         dpChords.addItem({ label:tt, source:ChordBar, data:i, scaleContent:true }); 
    chordList.dataProvider = dpChords;
    chordList.columnWidth     = 70;
    chordList.rowHeight     = 30;
    chordList.direction = ScrollBarDirection.VERTICAL;
    chordList.setStyle("contentPadding", 5);
    chordList.setRendererStyle("imagePadding", 0);
    chordList.scrollPolicy  = ScrollPolicy.ON;
    // set style for labels
    chordList.setRendererStyle("textFormat", textFormat1);
    // set the background skin
    chordList.setStyle("skin", lightBackground);
    //set the cell renderer
    chordList.setStyle("cellRenderer", MyRenderer);
    This last line ("chordList.setStyle("cellRenderer", MyRenderer);") refers to this custom class, that includes some event listeners:
    package {
       import fl.controls.listClasses.ICellRenderer;
       import fl.controls.listClasses.ImageCell;
       import flash.events.*;
       public class MyRenderer extends ImageCell implements ICellRenderer {
          public function MyRenderer() {
                this.buttonMode    = true;
              // set state skins to same skin so background is static
              setStyle("upSkin", lightBackground);
              setStyle("downSkin", lightBackground);
              setStyle("overSkin", lightBackground);
              setStyle("selectedUpSkin", lightBackground);
              setStyle("selectedDownSkin", lightBackground);
              setStyle("selectedOverSkin", lightBackground);
              // turn off text background by setting to 0
              setStyle("textOverlayAlpha", 0);
              setStyle("textPadding", 7);
                // event listeners
                this.addEventListener(MouseEvent.CLICK, clickHandler);
                this.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
                this.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
           // EVENTS
           private function clickHandler(event:MouseEvent):void {
           private function mouseOverHandler(event:MouseEvent):void {
           private function mouseOutHandler(event:MouseEvent):void {
    I want to insert calls to functions that are in the primary class (that contains the first function listed here), "ChordLib.as".
    How do I do this?

    In order for ClassA to call a function of another ClassB (or instance of it) it needs to be aware of two facts: 1) That ClassB does exist and 2) that ClassB has a particular function.
    Another approach could be establishing communication between classes via events.
    From you explanation it is not clear what you want to accomplish. Do you need to call a function on Class itself or an instance of this Class?
    If former - you need to create a static function and just call it:
    inside ClassB:
    public static function classBFunction()
    ClassA can call it:
    ClassB.classBFunction()
    If you need to call the function on an instance - you, naturally, need to instantiate the class and only then call the function.
    Say you have function inside ClassB
    public function classBAnotherFunction() - note that there is no word static
    There is another fork here: either you instantiate the ClassB inside ClassA or you pass a reference of the instance of ClassB into ClassA

  • Memory leak in JCO when calling an ABAP-function that returns larg tables

    Hello everybody,
    I think discovered a memory leak in JCO when the calling functionions that have exporting tables with large datasets. For example the ABAP-function RFC_READ_TABLE, which in this example I use to retrieve data from a table called "RSZELTTXT", which contains ~ 120000 datasets. RFC_READ_TABLE exports the data as table "DATA".
    Here a simple JUnit test:
    http://pastebin.ca/1420451
    When running it with Sun Java 1.6 with standard heap size of 64mb I get a heapsize OutOfMemory error:
    http://pastebin.ca/1420472
    Looking at the heap dump (which I unfortunately cannot post here, because of it' size), I can see that I've 65000 char[512] array objects in my heap, which don't get cleaned up. I think, each char[512] array stands for one dataset in the exporting table "DATA", since the table contains 120000 datasets, the heap is full after the first 65000 datasets are parsed. Apparently, JCO tries to read all datasets in memory instead of justing reading the dataset to which the pointer (JCoTable.setRow(i)) currently points to and releasing it from memory after the pointer moves forward ...
    Did anybody else experience this?
    Is SAP going to remove to issue in upcoming versions of JCO?
    regards Samir

    Hi,
       Check Below links
    1) How To Analyze Performance Problems JCO
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/3fbea790-0201-0010-6481-8370ebc3c17d
    2) How to Avoid Memory Leaks 
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c3e598fe-0601-0010-e990-b8622840c8c2
    Salil...
    Edited by: salil chavan on Jun 2, 2009 5:21 AM

  • CALL FUNCTIONS

    HI ALL
    WHERE CAN I FIND ALL THE FUNCTION MODULES USED IN ABAP AND I ALSO NEED EXPLANATIONS ....CAN ANYONE HELP
    WITH REGARDS
    VIJAY

    Hi,
    You can use the table TFDIR  to see all the fun modules in ABAP.
    see the doc  and links for further details
    Function Modules;
    Check this matter.
    Function Modules are Glopbal ABAP programs created by SAP for reusable purpose.they have IMPORT,EXPORT and TABLE parameters, and EXCEPTIONS to through when error occurs.
    You can create them from TCode SE37.
    Go through the following doc:
    Function modules are cross-program, reusable procedures that are organized into function groups, and whose functions are implemented between the statements FUNCTION and ENDFUNCTION. Function modules and their interfaces are created in the Function Builder.
    Function Module Interfaces
    The parameter interface of a function module is defined in the Function Builder. It includes the definition of interface parameters and the specification of exceptions that can be triggered by a function module. The Function Builder automatically generates comment lines below the FUNCTION statement in the source code of the function module, which represent the interface of the function module with the following syntax:
    Syntax
    ... [IMPORTING parameters]
    [EXPORTING parameters]
    [CHANGING parameters]
    [TABLES table_parameters]
    [{RAISING|EXCEPTIONS} exc1 exc2 ...]
    The syntax and semantics of IMPORTING, EXPORTING, CHANGING, RAISING, and EXCEPTIONS mainly correspond to the definition of method interfaces with [CLASS-]METHODS. The additional option of defining table parameters using TABLES is obsolete.
    Interface parameters
    The interface parameters are defined on the relevant tab pages in the Function Builder.
    IMPORTING parameters are input parameters. When the function module is called, a suitable actual parameter must be specified for every non-optional input parameter. The content of the actual parameter is passed to the input parameter when the call is made. The content of an input parameter for which 'pass by reference' is defined cannot be changed in the function module.
    EXPORTING parameters are output parameters. When the function module is called, a suitable actual parameter can be specified for every output parameter. The content of an output parameter that is defined for 'pass by value' is transferred to the actual parameter if the function module is completed without errors. An output parameter that is defined for pass by reference is not initialized when the function module is called.
    CHANGING parameters are input and output parameters. When the function module is called, a suitable actual parameter must be specified for every non-optional input or output parameter. When the function module is called, the content of the actual parameter is passed to the input/output parameter, and when the function module is completed, the content of the input/output parameter is passed to the actual parameter.
    TABLES parameters are table parameters. Table parameters are obsolete CHANGING parameters that are typed as standard tables with a header line. If an internal table without a header line or a table body is passed as an actual parameter to a formal parameter of this type, an empty local header line is generated in the function module. If an internal table with a header line is used as an actual parameter, both the table body and the header line are passed to the function module. Pass by value is not possible in formal parameters defined using TABLES. Formal parameters defined with TABLES can be replaced by formal parameters defined with CHANGING. A local work area can be created for the internal table in the function module by using the addition LIKE LINE OF itab of the DATA statement.
    Exceptions
    The exception of a function module are defined on the Exceptions tab page in the Function Builder. Here you can select exception classes to define whether class-based exceptions are declared or non-class-based exception are defined. Class-based exceptions are represented in the above syntax by RAISING, and non-class-based exceptions are represented by EXCEPTIONS.
    The addition RAISING is used to declare class-based exceptions that can be propagated from the function module to the caller. Exceptions in the categories CX_STATIC_CHECK and CX_DYNAMIC_CHECK must be explicitly declared, otherwise a propagation can lead to an interface violation. A violation of the interface leads to the treatable exception CX_SY_NO_HANDLER. Exceptions of the category CX_NO_CHECK are implicitly always declared. The declaration of exceptions of the category CX_STATIC_CHECK is statically checked in the syntax check. For exceptions of the category CX_DYNAMIC_CHECK, the check is not performed until runtime. In a function module in which class-based exceptions are declared with the RAISING addition, the statement CATCH SYSTEM-EXCEPTIONS cannot be used. Instead, the relevant treatable exceptions should be handled in a TRY control structure.
    The addition EXCEPTIONS is used to define a list of non-class-based exceptions that can be triggered in the function module using the statements RAISE or MESSAGE RAISING. Exceptions defined in this way - as with formal parameters - are bound to the function module and cannot be propagated. If an exception of this type is triggered in a function module, and no return value has been assigned to it with the homonymous addition EXCEPTIONS of the CALL FUNCTION statement when the call was made, this leads to a runtime error.
    Note
    For new developments after release 6.10, SAP recommends that you work with class-based exceptions that are independent of the function module.
    RFC is a technology which is used to access a functions (Modules) from
    the remote systems.
    If a function module is set as remote enabled which can be access from
    the remote system via RFC.Eg: U can access the Remote enabled function modules in ur VB,Webdynpro,Java,Visual composer program.
    A function module can be set as remote enabled by SE37->Go to ur FM->click the option Button "remote enabled".
    But Normal function modules can not accessd from the remote system.
    Good Example for RFC enabled function module is : BAPI(Business Application Programming Interface)
    Note: All BAPIs are Remote enabled but not all remote enabled function modules are BAPI.
    CALLING A FUNCTION MODULE:
    1)In U ABAP Editor --> Click "Patter" ---> Selection Option Button "Call Function"
    --> Write the Corresponding FM name --> Hit Enter
    2)The appropriate import ,export Parameters will be displayed in ur editor
    3)Pass the Values Here.
    Also check these links.
    Check this link:
    http://help.sap.com/saphelp_erp2004/helpdata/en/9f/db988735c111d1829f0000e829fbfe/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/ef/d94b78ebf811d295b100a0c94260a5/frameset.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/43/41341147041806e10000000a1553f6/frameset.htm
    Check this link:
    http://help.sap.com/saphelp_erp2004/helpdata/en/9f/db988735c111d1829f0000e829fbfe/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/ef/d94b78ebf811d295b100a0c94260a5/frameset.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/43/41341147041806e10000000a1553f6/frameset.htm
    See the following links:
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/26/64f623fa8911d386e70000e82011b8/content.htm
    reward if useful
    regards,
    Anji

  • ABAP OO Exception Class based processing

    Hi there,
    Note: In going forward with SAP WAS 6.20, one can handle exceptions using exception-class based handling using RAISE EXCEPTION TYPE abc and then CATCHing it in TRY/ ENDTRY block. Standard method like GET_TEXT can be used to get the text of the exception raised.
    Question: If I know the EXCEPTION CLASS and Exception ID of my exception class, is it possible to get the exception text directly from the repository without creating the exception class object?
    E.g. Exception class is CX_MY_SECRET_ID
    and Exception IDs for this class are
    ID_NOT_FOUND,
    ID_EXPIRED,
    ID_IS_FOR_SPECIAL_ACCESS
    E.g. last two exception IDs are my warning conditions, and if such conditions are encountered, all I want to do is collect the warning messages. Whereas first exception ID condition (i.e. ID_NOT_FOUND) is an error for me, in which I have pass the exception back to the calling program. E.g. the source code is like this:
    PERFORM.......
    If ID is not found
       RAISE EXCEPTION TYPE ZCX_MY_SECRET_ID
               EXPORTING TEXT_ID = 'ID_NOT_FOUND'.
    else if ID has expired
       ...... then do I have to first raise the exception like raised above and CATCH it before I can get its text? or can I get the exception text directly without raising the exception first (as I know i have to retrieve the text of ZCX_MY_SECRET_ID exception class for Exception ID ID_EXPIRED)?
    In other words, if a certain condition is warning for my program, can I get the condition for that exception (from exception class based on exception class name and exception ID), or do I have to RAISE it first explicitely and then CATCH it immediately and execute GET_TEXT to get its text?
    Thanks very much!

    Hello Chetan,
    in basic the raise exception type xxx creates an exception object and aborts normal execution continuing in the enclosing try block.
    The Abap runtime contains some optimizations regarding the try block has an 'into xxx' clause. But as long you use the same exception you cant take benefit from this.
    As far I understand your problem you have two different kind of severities. So I would use 2 differnt exception classes (maybe derived from a common parent type, or one from the other).
    So both the code which throws the exception and the one which catches it are aware of the different semantic.
    Kind Regards
    Klaus

Maybe you are looking for