How to Raise a Exception in constructor ..

Hi all...
Can any one tell how to raise a Exception in Constructor ...
u can Post codings if u have ....
Thanking you ...

Hello Jayakumar
Here is a sample report showing how to use exception classes:
*& Report  ZUS_SDN_EXCP_IN_CONSTRUCTOR
REPORT  zus_sdn_excp_in_constructor.
*       CLASS zcl_myclass DEFINITION
CLASS zcl_myclass DEFINITION.
  PUBLIC SECTION.
    METHODS:
      constructor
        IMPORTING
          value(id_dump)  TYPE boolean
        " EXCEPTIONS  " do not use exceptions !!!
        RAISING
          cx_bapi_error.
ENDCLASS.                    "zcl_myclass DEFINITION
*       CLASS zcl_myclass IMPLEMENTATION
CLASS zcl_myclass IMPLEMENTATION.
  METHOD constructor.
    IF ( id_dump = 'X' ).
      RAISE EXCEPTION TYPE cx_bapi_error
        EXPORTING
          textid = cx_bapi_error=>cx_bo_error
          class_name = 'ZCL_MYCLASS'.
    ENDIF.
  ENDMETHOD.                    "constructor
ENDCLASS.                    "zcl_myclass IMPLEMENTATION
DATA:
  gd_text     TYPE string,
  go_myclass  TYPE REF TO zcl_myclass,
  go_error    TYPE REF TO cx_root.
START-OF-SELECTION.
  TRY.
      CREATE OBJECT go_myclass
                EXPORTING
                  id_dump = 'X'.
    CATCH cx_bapi_error INTO go_error.
      gd_text = go_error->get_text( ).
      MESSAGE gd_text TYPE 'I'.
  ENDTRY.
END-OF-SELECTION.
Regards
  Uwe

Similar Messages

  • How to raise the exception in function module

    Dear abaper's.
                   I am creating a Function module .In that in' EXCEPTION' Tab i am giving
    3 exception .1.NO_DATA_FOUND 2.NO_PRINTER_FOUND 3.SMARTFORM_INTERFACE_NOT_FOUND.
    In my coding if this condtion matches i want to raise this exception.how can i do this in my coding .can any one suggest me..
    advance thanks,
    Warm regards,
    Veera

    Hi,
    if that condition is not satisfied,and u didn't handle that exception while calling function module then in the runtime error u will get the text as the description of the exception in function module definition.
    rgds,
    bharat.

  • How to raise a exception if the incoming value for a source field is empty

    Dear all,
    I have a scenario where the source and target structures are as follows :
    The output for the above transformation logic is
    The occurrence for field id in source and target is 1:1   Even if i don't provide the input value for id field,
    system is not throwing any runtime exception.But if the field tag id is missing in incoming payload, then
    system throws exception.
    1) *** How can i raise a exception it the value for field id is empty
    2) As the target structure occurrence for field id is 1:1  why system doesn't throw exception for null value
    Regards
    Koti Reddy

    1) *** How can i raise a exception it the value for field id is empty
    You need to impliment the check  to throw the error
    2) As the target structure occurrence for field id is 1:1  why system doesn't throw exception for null value
    You are sending a blank value " " and the same is being passed. if you remove the tag from source xml it'll throw the error
    Message was edited by: Hareesh Gampa

  • EXIT_SAPLCORF_008 - how to raise the exception "PREDEC_NOT_CONFIRMED "

    Hi,
    I am using the user exit " EXIT_SAPLCORF_008 "  to the check the previous activity is confimed or not.
    so i want to raise the exception "PREDEC_NOT_CONFIRMED " , Because this exit comes under function module  "CO_RU_CHECK_OPERATION ".
    I am not able to raise the Exception . Plz guide me how to go ahead.
    Exception List - CO_RU_CHECK_OPERATION
    CONFIRMATION_NOT_ALLOWED     Confirmation not allowed
    NEW_STATUS_NOT_POSSIBLE     Confirmation not possible because of status management
    OPERATION_NOT_FOUND     Operation not found
    OPERATION_NOT_SELECTABLE     Operation cannot be selected because of parameter setting
    ORDER_DATA_MISSING     Order data was not yet supplied
    PREDEC_NOT_CONFIRMED     Predecessor of operation not confirmed
    PRT_LOCKED     Production resource/tool is frozen.
    Regards,
    Rani

    Hi,
    I am using the user exit " EXIT_SAPLCORF_008 "  to the check the previous activity is confimed or not.
    so i want to raise the exception "PREDEC_NOT_CONFIRMED " , Because this exit comes under function module  "CO_RU_CHECK_OPERATION ".
    I am not able to raise the Exception . Plz guide me how to go ahead.
    Exception List - CO_RU_CHECK_OPERATION
    CONFIRMATION_NOT_ALLOWED     Confirmation not allowed
    NEW_STATUS_NOT_POSSIBLE     Confirmation not possible because of status management
    OPERATION_NOT_FOUND     Operation not found
    OPERATION_NOT_SELECTABLE     Operation cannot be selected because of parameter setting
    ORDER_DATA_MISSING     Order data was not yet supplied
    PREDEC_NOT_CONFIRMED     Predecessor of operation not confirmed
    PRT_LOCKED     Production resource/tool is frozen.
    Regards,
    Rani

  • How to raise the exception

    how to rise exception when the cursor returns no data,suppose
    begin
    for rec in (select * from scott.emp e
    where exists ( select 1 from scott.emp where e.deptno=30 ))
    loop
    dbms_output.put_line(rec.ename);
    end loop;
    exception
    when no_data_found then
    dbms_output.put_line('no such employee');
    end;now when other deptno(which is not there in table) given ,the exception should be raised.
    how to do this

    Hi,
    What about this?
    DECLARE
       v_numrecords NUMBER;
       no_matching_emp EXCEPTION;
    BEGIN
       SELECT COUNT(*) INTO v_numrecords FROM scott.emp e WHERE e.deptno = 30;
       IF v_numrecords = 0 THEN
          RAISE no_matching_emp;
       END IF;
       -- Here comes your loop
       FOR rec IN (SELECT * FROM scott.emp e WHERE e.deptno = 30) LOOP
          dbms_output.put_line(rec.ename);
       END LOOP;
    EXCEPTION
       WHEN no_matching_emp THEN
          dbms_output.put_line('no such employee');
    END;Regards,
    Edited by: Walter Fernández on Mar 3, 2009 11:29 AM - Adding loop...

  • How to raise an exception in the badi

    Hi friends..I've got the badi to be used for my object.Badi workorder_confirm
    requirement is " if data is entered in one field leaving a field emprty,it should give an error message saying "Field is mandatory". I can make use of ERROR_WITH_MESSAGE exception for the message to be generated..
    but dont know the syntax of it..please provide me with the statement how the message needs to be raised

    Looking at the BAdI Documentation it says this:
    Note that in the methods, no system messages may be sent. The only      
    exceptions are the AT_SAVE and AT_CANCEL_CHECK methods. Within these    
    methods, a system message may be issued, but only if you trigger the    
    exception ERROR_WITH_MESSAGE (for AT_SAVE method) or NOT_ALLOWED (for   
    AT_CANCEL_CHECK method) at the same time.                                                                               
    Note also, that within the methods the "commit work" instruction may not
    be carried out because this would lead to incorrect data in the         
    database.                                                               
    So the only thing you can do is use:
    RAISE ERROR_WITH_MESSAGE.

  • How to raise exception in bor method without showing runtime error

    I want to raise custom exception in the bor method like below. However, it will show runtime error when executing codes below. Any knows how to raise custom exception in the bor method without runtime error?
    raise 9021.

    Hi Nick
    You need to define the exception 9021 for the method and then you use the macro EXIT_RETURN as below
    exit_return 9021 sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    Regards
    Ravi

  • Raising cx_rsrout_abort exception in Start Routine of Transformations

    Hello Abap OO Gurus:
    This is likely a very simple question but I'm brand new to Abap OO and despite reading and searching, I cannot convert some old abap code used in the start routine of business content in BW to be used in the Transformation start routine in SAP BI.
    My Start Routine inside a BI 7.0 transformation rule has a method declared like this:
    <b>METHODS
    start_routine
    IMPORTING
    request type rsrequest
    datapackid type rsdatapid
    EXPORTING
    monitor type rstr_ty_t_monitors
    CHANGING
    SOURCE_PACKAGE type tyt_SC_1
    RAISING
    cx_rsrout_abort.</b>
    The Exception "cx_rsrout_abort" has replaced what used to be a simple ABORT data field. The <u>old code I want to replace was just "abort = 1'.</u>
    But now it seems like I have to use TRY... ENDTRY statement to raise Exception "cx_rsrout_abort". I am inside the abap code of the Method "start routine"
    METHOD start_routine.
    *=== Segments ===
    Could some kind soul educate me as to how to raise the Exception "cx_rsrout_abort" inside the Method start routine?
    thanks in advance, David

    Tx HDev:
    we are almost there...  I have that PDF but never got thru to the rest of the Appendix B as my project is just too crazy...
    When try what Appenix B suggest..
    <u>"raise exception type CX_RSROUT_SKIP_RECORD."</u>
    I get the following Warning msg which makes sense...
    <b>"W:The exception CX_RSROUT_SKIP_RECORD is neither caught nor is it
    declared in the RAISING clause of "START_ROUTINE".</b>
    The METHOD statement in the start routine never declares another exception other than cx_rsrout_abort as seen below:
        METHODS
          start_routine
            IMPORTING
              request                  type rsrequest
              datapackid               type rsdatapid
            EXPORTING
              monitor                  type rstr_ty_t_monitors
            CHANGING
              SOURCE_PACKAGE              type tyt_SC_1
            RAISING
              cx_rsrout_abort.
    Maybe NW2004s has a bug here... I'm hoping that a SAP Developer reads this posting and can enlighten us all... otherwise I'll have to post a OSS msg
    So the mystery is still how to do
    "raise exception type CX_RSROUT_ABORT" and make this equal to ABORT = 1
    which makes the start routine skip a record
    tx again,  David

  • How to handle message "Exception condition "CNHT_ERROR_PARAMETER" raised"?

    Hi,
        Whenever I try to open Web Dynpro Comp./Intf->Views using transaction SE80, I am getting a short dump showing message "Exception condition 'CNHT_ERROR_PARAMETER' raised'. In the analysis, I have found that A RAISE statement in the program "CL_GUI_HTML_VIEWER============CP" raised the exception condition "CNHT_ERROR_PARAMETER". Since the exception was not intercepted by a superior program, processing was terminated. Can anyone help to get rid of this problem?
    Thanks & Regards.
    Deepjyoti

    hi,
    Looks like, ITS services are not fully active or not compeltely published.
    Check whether webgui services are active in SICF.(test service).
    Also, check all the ICM parameters.
    Regards
    Srinivas

  • How to log the exception using Log action in Oracle Service Bus

    Hi,
    Whenever an exception is raised how to log the exception using Log action in oracle service bus.After logging where I have to find the logged message.

    It would be in the log file for the managed server which ran the request. If you are logging the message at a lower level than your app server, however, you won't see it. You should be logging the exception at Error level.

  • How can we handle Exception Branch in BPM effectively

    Hi,
    I want to capture errors occurred in PM during runtime by using special "Exception Branch".
    For example If i define exception branch for one black then any step within that block thrown error then automatically it calls that corresponding exception branch within that block. Now i want to identify which step within that block has thrown error and what is the error.How can i achieve this?
    Thanks and Regards,
    Sudhakara

    Hi Sudhakara,
    Generally we use control step to raise an exception, Please go through this link for better understanding:
    http://help.sap.com/saphelp_nw04/helpdata/en/bb/e1283f2bbad036e10000000a114084/content.htm
    Also,
    Exception Handling:
    http://help.sap.com/saphelp_nw04/helpdata/en/33/4a773f12f14a18e10000000a114084/content.htm
    I hope it helps,
    Thanks & Regards,
    Varun Joshi

  • How to write the exceptions in function module

    dear all,
         how to write the exceptions in function modules with example.
    thanq
    jyothi

    Hi,
    Raising Exceptions
    There are two ABAP statements for raising exceptions. They can only be used in function modules:
    RAISE except.
    und
    MESSAGE.....RAISING except.
    The effect of these statements depends on whether the calling program handles the exception or not. The calling program handles an exception If the name of the except exception or OTHERS is specified after the EXCEPTION option of the CALL FUNCTION statement.
    If the calling program does not handle the exception
    · The RAISEstatement terminates the program and switches to debugging mode.
    · The MESSAGE..... RAISING statement displays the specified message. Processing is continued in relation to the message type.
    If the calling program handles the exception, both statements return control to the program. No values are transferred. The MESSAGE..... RAISING statement does not display a message. Instead, it fills the system fields sy-msgid, sy-msgty, sy-msgno , and SY-MSGV1 to SY-MSGV4.
    Source Code of READ_SPFLI_INTO_TABLE
    The entire source code of READ_SPFLI_INTO_TABLE looks like this:
    FUNCTION read_spfli_into_table.
    ""Local Interface:
    *" IMPORTING
    *" VALUE(ID) LIKE SPFLI-CARRID DEFAULT 'LH '
    *" EXPORTING
    *" VALUE(ITAB) TYPE SPFLI_TAB
    *" EXCEPTIONS
    *" NOT_FOUND
    SELECT * FROM spfli INTO TABLE itab WHERE carrid = id.
    IF sy-subrc NE 0.
    MESSAGE e007(at) RAISING not_found.
    ENDIF.
    ENDFUNCTION.
    The function module reads all of the data from the database table SPFLI where the key field CARRID is equal to the import parameter ID and places the entries that it finds into the internal table spfli_tab. If it cannot find any entries, the exception NOT_FOUND is triggered with MESSAGE ... RAISING. Otherwise, the table is passed to the caller as an exporting parameter.
    Calling READ_SPFLI_INTO_TABLE
    The following program calls the function module READ_SPFLI_INTO_TABLE:
    REPORT demo_mod_tech_fb_read_spfli.
    PARAMETERS carrier TYPE s_carr_id.
    DATA: jtab TYPE spfli_tab,
    wa LIKE LINE OF jtab.
    CALL FUNCTION 'READ_SPFLI_INTO_TABLE'
    EXPORTING
    id = carrier
    IMPORTING
    itab = jtab
    EXCEPTIONS
    not_found = 1
    OTHERS = 2.
    CASE sy-subrc.
    WHEN 1.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno.
    WHEN 2.
    MESSAGE e702(at).
    ENDCASE.
    LOOP AT jtab INTO wa.
    WRITE: / wa-carrid, wa-connid, wa-cityfrom, wa-cityto.
    ENDLOOP.
    The actual parameters carrier and jtab have the same data types as their corresponding interface parameters in the function module. The exception NOT_FOUND is handled in the program. It displays the same message that the function module would have displayed had it handled the error.
    Or
    just have to decide what exceptions u want and under what conditions.
    then declarethese exeptions under the exceptions tab.
    in the source code of ur function module.
    if
    like this u can code .
    now when u call the function module in tme mainprogram.
    if some error occurs and u have declared a exception for this then it will set sy-subrc = value u give inthe call of this fm.
    in the fm u can program these sy-subrc values and trigger the code for ur exception.
    Please reward if useful
    Regards,
    Ravi
    Edited by: Ravikanth Alapati on Mar 27, 2008 9:36 AM

  • BPM: How to Raise Alert and Restart together ?

    The requirement is like this.My Integration Process receives a message, performs a 1:N split and undergoes further processing using Transformation steps. I want to ensure the following in case any one of the Transfofrmation fails(Because of some coding error in the step):
    1. Raise an Alert
    2. Should be able to restart the Process again from the
       failed step once the Transformation code is fixed.
    3. To raise an Alert for any file adapter level errors, 
       and to restart the processing of the message once the
       file adpter error is resolved
    I have tried the following approaches, but it does not help me achieve all of the above condition.
    I have put the Transformation step in a Block and introduced an exception branch with one control step which raises an Alert.
    Issue: This will raise an alert when the step fails, but it ends the BPM with a Processed status and hence I will not be able to restart the BPM.
    So I put another Control step immediately following the Alert step which raises an exception. However I have not handled this exception. Hence when a step fails, I am able to raise an alert as well as the BPM gets errored out.
    Issue : However, now when I restart the process in swf_xi_swpr, The process restarts with the Control step which was used to throw exception. It does not restart with the Failed mapping step.
    To raise Alerts for Adpter level errors which might occur before the message comes to BPM, I have defined alert category and rule in runtime workbench. However, the Alerts are not triggered when the file adapter fails.
    Please share any ideas on how to achieve all the 3
    requirements together.
    Thanks in advance.

    Hi Joachim!
    I was facing a very similar problem in my BPM modelling.
    Is there really no other chance than to loop (and maybe wait some time) over the critical (e.g. networking down, ...) parts of the BPM to have some active notification via alerts AND a possibility for retry?
    In my opinion this would a very inflexible way of doing error-handling stuff - if so - is it about to change in the upcoming releases?
    Currently I guess I can have:
    a) either ALERTING (by catching exception and raise alert)
    OR
    b) convenient retry mechansisms via "SWF_XI_SWPR" (by not catching exceptions at all and let the relevant block become "errorenous") ...
    Any other suggestions ...?
    Many Thanks,
    Andy

  • How to raise error in Essbase UDF.

    Hi all.
    I have an udf:
    pulbic statuc void publish(String arg) throws RTimeException {
    throws new RTimeException ("error");
    and RTimeException defiend as:
    class RTimeException extends Exception
    RTimeException()
    RTimeException(String msg)
    super(msg);
    When i call the UDF from a business rule, it completes without any error.
    How to raise error to force the business rule to fail?
    Oleg.

    UP!

  • Re: FRM-40735: WHEN-NEW-FORM-INSTANCE trigger raised unhandled exception OR

    hi all
    i am facing a problem.i hav a master detail form. my 'select into' has to fectch more than one record in detail which is tabular.
    it giving error(FRM-40735:WHEN-MOUSE-CLICK TRIGGER raised unhandled exception ORA-01422).
    so i had written cursor to fetch records.
    DECLARE
    CURSOR Fetch_Rec IS
    select bill_id,mat_id,mat_code,send_qty,rec_qty,ast_no,serial_no,transact_note
    from ship_dtl;
    BEGIN
         GO_BLOCK('ship_dtl');
    FOR Get_Rec IN (select bill_id,mat_id,mat_code,send_qty,rec_qty,ast_no,serial_no,transact_note
    from ship_dtl where rec_qty=null AND rec_qty != send_qty AND BILL_ID=:SHIP_MSTR.BILL_ID) LOOP
    :ship_dtl.bill_id:=get_rec.bill_id;
    :ship_dtl.mat_id:=get_rec.mat_id;
    :ship_dtl.mat_code:=get_rec.mat_code;
    :ship_dtl.send_qty:=get_rec.send_qty;
    :ship_dtl.rec_qty:=get_rec.rec_qty;
    :ship_dtl.ast_no:=get_rec.ast_no;
    :ship_dtl.serial_no:=get_rec.serial_no;
    :ship_dtl.transact_note:=get_rec.transact_note;
    NEXT_RECORD;
    END LOOP;
    FIRST_RECORD;
    END;
    it is not retriving any records.please help.i also put ship_mstr.bill_id in properties of ship_dtl.bill_id(copy value)
    so please guide me how to handle it.
    thanks in advance

    911229 wrote:
    hi all
    i am facing a problem.i hav a master detail form. my 'select into' has to fectch more than one record in detail which is tabular.
    it giving error(FRM-40735:WHEN-MOUSE-CLICK TRIGGER raised unhandled exception ORA-01422).
    so i had written cursor to fetch records.where you use the cursor ?
    it is not retriving any records.please help.i also put ship_mstr.bill_id in properties of ship_dtl.bill_id(copy value)Which one is not retrieving any record ? first one or second one... and
    check the sql separately first..
    select bill_id,mat_id,mat_code,send_qty,rec_qty,ast_no,serial_no,transact_note
    from ship_dtl
    where rec_qty is null
    AND rec_qty != send_qty
    AND BILL_ID=:SHIP_MSTR.BILL_ID  ---How you pass the value here ? do you give input or any other way ?Hamid

Maybe you are looking for