How to display Error Message in APEX from Database Stored Procedure

Hello,
Using APEX version 3.2
DB version 9.2.0.8.0
Internet Explorer version 6
I have an After Submit Page Process that calls a stored procedure. In the exception section I'm using dbms_output.putline to display an error message, but the error message is not displayed in APEX. How can I have the error message generated from the stored procedure display in APEX?
Thanks so much.

Hi Apex_Noob,
I created On Load - Before Header process that uses apex_application.g_notification := :P3_ROLE;I'm sorry but I'm not sure what you mean by "instead of using dbms_output.putline use :P1_ITEM"
I have the following code in my stored procedure
EXCEPTION
     WHEN OTHERS THEN
     dbms_output.put_line('Role does not exist');Thanks.

Similar Messages

  • How to send error message to forms from Database Trigger

    Hi, Please help me to send error message to forms from Database Trigger?
    RgDs,
    Madesh.R.M

    You are correct, the On-Error trigger is a Forms trigger. However, if your Form is going to display the error generated by the database stored procedure or trigger - you might not see the database error in your Form unless you check the DBMS_ERROR_CODE in the On-Error trigger and manually display the Error Code and associated Text. I've see this happen with a co-worker. The Form she was working on was based on a table with an Before-Insert trigger. Because she was not explicitely handling the error from the Before-Insert trigger in the Forms On-Error trigger, her Form appeared to halt for no reason at all. Once she added code to the On-Error trigger in the Form to handle the DBMS_ERROR_CODE, she discovered the trigger was producing an error and was able to show the error to the user in the On-Error trigger.
    I understand the desire to keep as much as possbile in the database, but with that comes some extra coding in your Forms to handle this. This extra coding could easily be placed in a Forms Library, attached to a Form and called in the On-Error trigger. Your code could look like this:
    DECLARE
       /*This example assumes you have an Alert defined
          in your Form called: 'ERROR' */  
       al_id    ALERT;
       al_text  VARCHAR2(200);  /* Max text of a Forms Alert message*/
       al_btn   NUMBER;
    BEGIN
    IF DBMS_ERROR_CODE != 0 THEN
       /* Error code is ORA-00000 Normal Successful completion
           So only handle non-zero errors  */
       al_text := DBMS_ERROR_CODE||':'||DBMS_ERROR_TEXT;
       al_id := Find_Alert('ERROR');
       set_alert_property(al_id, alert_message_text, al_text);
       al_btn := show_alert(al_id);
    END IF;
    END;Your original question was "How to send error message to forms from Database Trigger?" The answer is you don't because Forms already gets the database error code and database message through the Forms DBMS_ERROR_CODE and DBMS_ERROR_TEXT functions. Look these up in the Forms help and it should clear things up for you.
    Craig...
    Edited by: CraigB on Jun 14, 2010 4:49 PM
    Edited by: CraigB on Jun 14, 2010 4:49 PM
    Edited by: CraigB on Jun 14, 2010 4:50 PM
    Edited by: CraigB on Jun 14, 2010 4:51 PM
    Edited by: CraigB on Jun 14, 2010 4:51 PM

  • How to display error messages and output from Matlab (which Matlab would typically send to its command window but no longer does when called by Labview) into Labview or allow it to be dumped into Matlab Command Window?

    Using Labview 6i and Matlab 6.1. I want to be able to see Matlab warnings and error messages either in the Matlab Command Window or in Labview itself. Currently Matlab is called by Labview (which is working). However I would like to debug and/or modify my Matlab script file to better understand how the two programs are interfacing. It is difficult since no data or messages can be displayed currently to the Matlab command window. I would like to change that if it is possible - Labview is suppressing that from happening. If not possible to send these
    messages to Matlab Command Window can I make it at least possible to see Matlab's actual warnings and/or error messages in Labview?

    I don't think you can debug your Matlab script from labVIEW. The following webpage talks about this:
    http://digital.ni.com/public.nsf/3efedde4322fef198​62567740067f3cc/19106e318c476e608625670b005bd288?O​penDocument
    My suggestion would be to write a script in Matlab and thoroughly test it before calling the script from a Matlab script node in LabVIEW.
    Chris_Mitchell
    Product Development Engineer
    Certified LabVIEW Architect

  • How to display error message in Shopping Cart?

    How to display error message in Shopping Cart and stop the shopping cart for further processing? I try MESSAGE w001(zshop) or MESSAGE e001(zshop). But it is causing run-time error.

    Hi Paul,
    In the DOC_CHECK or DOC_SAVE BADI, you have a global internal table named et_messages. The structure of this table is 'bbp_smessages_badi'. You can append your error message here by inputting the message type, ID and number. The message type is either 'E' for error or 'W' for warning and the number would depend on your message class(ID). You will be able to see the error message on top of the screen, can be a red or yellow highlight depending on your appended message. I don't think creating the error message via the MESSAGE syntax will be successful, maybe this is why you are getting a runtime error.
    Regards,
    Noel

  • How to display error message ??

    Hi,
    I have a BDC program to upload data from an excel sheet. I could see that some records of data fail to pass and hence after my bdc run i would like to display error message for the failed records as follows:
    costcenter:
    cost element:
    fiscal year:
    etc etc
    is it possible ?? how to do that ? please explain in detail.
    for ur reference my program is pasted below.
    thanks
    *& Report  ZBDC_BUDGET_UPLOAD
    REPORT  ZBDC_BUDGET_UPLOAD.
    types: begin of tdata,
             rec(150) type c,
           end of tdata,
           begin of tmtgp,
             costcent LIKE CCSS-KOSTL,
             costelem LIKE CCSS-KSTAR,
             fisyear LIKE CCSS-GJAHR,
             jan(10),
             feb(10),
             mar(10),
             apr(10),
             may(10),
             jun(10),
             jul(10),
             aug(10),
             sep(10),
             oct(10),
             nov(10),
             dec(10),
           end of tmtgp.
    data: idata type table of tdata with header line.
    data: imtgp type table of tmtgp with header line.
    Data : fieldval(10) type c.
    selection-screen begin of block b1 with frame title text-001.
    parameters: p_file type localfile default 'C:\budget_data_csv.csv'.
    selection-screen end of block b1.
    include zbdcrecx1.
    at selection-screen on value-request for p_file.
    call function 'KD_GET_FILENAME_ON_F4'
            exporting            static    = 'X'
            changing            file_name = p_file.
    start-of-selection.
    perform upload_data.
    loop at imtgp.
    Write imtgp-fisyear to fieldval.
    perform open_group.
    perform bdc_dynpro      using 'SAPLKPP0' '1000'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'KPP0B-VALUE(04)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'KPP0B-VALUE(04)'
                                  fieldval.
    Write imtgp-costcent to fieldval.
    perform bdc_dynpro      using 'SAPLKPP0' '1000'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'KPP0B-VALUE(06)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'KPP0B-VALUE(06)'
                                  fieldval.
    perform bdc_dynpro      using 'SAPLKPP0' '1000'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'KPP0B-VALUE(09)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    Write imtgp-costelem to fieldval.
    perform bdc_field       using 'KPP0B-VALUE(09)'
                                  fieldval.
    perform bdc_dynpro      using 'SAPLKPP0' '1000'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'KPP0B-VALUE(04)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=CSPB'.
    perform bdc_dynpro      using 'SAPLKPP2' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'Z-BDC03(01)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    Write imtgp-jan to fieldval.
    perform bdc_field       using 'Z-BDC03(01)'
                                  fieldval.
    perform bdc_dynpro      using 'SAPLKPP2' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'Z-BDC03(02)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    Write imtgp-feb to fieldval.
    perform bdc_field       using 'Z-BDC03(02)'
                                  fieldval.
    perform bdc_dynpro      using 'SAPLKPP2' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'Z-BDC03(03)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    Write imtgp-mar to fieldval.
    perform bdc_field       using 'Z-BDC03(03)'
                                  fieldval.
    perform bdc_dynpro      using 'SAPLKPP2' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'Z-BDC03(04)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    Write imtgp-apr to fieldval.
    perform bdc_field       using 'Z-BDC03(04)'
                                  fieldval.
    perform bdc_dynpro      using 'SAPLKPP2' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'Z-BDC03(05)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    Write imtgp-may to fieldval.
    perform bdc_field       using 'Z-BDC03(05)'
                                  fieldval.
    perform bdc_dynpro      using 'SAPLKPP2' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'Z-BDC03(06)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    Write imtgp-jun to fieldval.
    perform bdc_field       using 'Z-BDC03(06)'
                                  fieldval.
    perform bdc_dynpro      using 'SAPLKPP2' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'Z-BDC03(07)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    Write imtgp-jul to fieldval.
    perform bdc_field       using 'Z-BDC03(07)'
                                  fieldval.
    perform bdc_dynpro      using 'SAPLKPP2' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'Z-BDC03(08)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    Write imtgp-aug to fieldval.
    perform bdc_field       using 'Z-BDC03(08)'
                                  fieldval.
    perform bdc_dynpro      using 'SAPLKPP2' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'Z-BDC03(09)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    Write imtgp-sep to fieldval.
    perform bdc_field       using 'Z-BDC03(09)'
                                  fieldval.
    perform bdc_dynpro      using 'SAPLKPP2' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'Z-BDC03(10)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    Write imtgp-oct to fieldval.
    perform bdc_field       using 'Z-BDC03(10)'
                                  fieldval.
    perform bdc_dynpro      using 'SAPLKPP2' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'Z-BDC03(11)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    Write imtgp-nov to fieldval.
    perform bdc_field       using 'Z-BDC03(11)'
                                  fieldval.
    perform bdc_dynpro      using 'SAPLKPP2' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'Z-BDC03(12)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    Write imtgp-dec to fieldval.
    perform bdc_field       using 'Z-BDC03(12)'
                                  fieldval.
    perform bdc_dynpro      using 'SAPLKPP2' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'Z-BDC03(12)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=CBUC'.
    perform bdc_transaction using 'KP06'.
    perform close_group.
    endloop.
    form upload_data.
    data: filename type string.
    clear idata.
    refresh idata.
    filename = p_file.
    call function 'GUI_UPLOAD'
        exporting            filename        = filename
        filetype        = 'ASC'
        tables            data_tab        = idata
        exceptions            file_open_error = 1
        file_read_error = 2
        no_authority    = 6
        others          = 17.
        check sy-subrc = 0.
        loop at idata.
        clear imtgp.
        split idata at ',' into imtgp-costcent imtgp-costelem imtgp-fisyear
    imtgp-jan imtgp-feb imtgp-mar imtgp-apr imtgp-may imtgp-jun imtgp-jul
    imtgp-aug imtgp-sep imtgp-oct imtgp-nov imtgp-dec.
        append imtgp.
        endloop.
    endform.

    check the below code,.,
    DATA : t_bdcmsgcoll TYPE STANDARD TABLE OF bdcmsgcoll WITH HEADER LINE.
      CALL TRANSACTION '<DELIVERYTRANSACTION>' USING t_bdctab
                              mode 'N'
                              MESSAGES INTO t_bdcmsgcoll.
      DESCRIBE TABLE t_bdcmsgcoll LINES g_lines.
      READ TABLE t_bdcmsgcoll INDEX g_lines.
      IF t_bdcmsgcoll-msgtyp = 'S' AND
         t_bdcmsgcoll-msgid = <Msg id> AND
         t_bdcmsgcoll-msgnr = <Msg number>.
    * Trap your Call Transaction messages
        t_success-deliverynumber = t_bdcmsgcoll-msgv1.
    * You can format the message returned by call transaction using function 'FORMAT_MESSAGE' which will return g_mesg
        t_success-message = g_mesg.
        APPEND t_success.
        CLEAR  t_success.
      ELSE.
    * If there an Error-Do this..
        READ TABLE t_bdcmsgcoll WITH KEY msgtyp = 'E'.
        IF sy-subrc = 0.
    * Format your message using FORMAT_MESSAGE "FM
         CLEAR g_mesg.
         t_error-msg   = g_mesg_incl.
         APPEND t_error.
         CLEAR  t_error.
       ENDIF.
    ENDIF.
    * Clear for next run
      CLEAR: t_bdcmsgcoll,
             t_bdctab.
      REFRESH: t_bdcmsgcoll[],
               t_bdctab[].

  • How to display error message in Billing Output Type (VF03).

    Hi,
    could anyone suggest how do i display error message via billing (VF03) output type?

    i want to display an error message from my sapscript program.
    *determine discount
    it_zmas-discount = it_zmas-gross_value - zkwert.
    MODIFY it_zmas.
    ELSE.
    MESSAGE ID 'Z0' TYPE 'S' NUMBER '999' WITH 'Please maintain cust pricing grp 34 for ' wa_zmas-matnr.
    p_proc_screen = 'X'.
    ENDIF.
    when user enter billing doc no in vf03, user will click 'issue output type' and select their output type to be printed out.
    if there's an error in the print program, it should promt out an error message and do not allowed user to print preview and print the form out.
    what i had did previously, i prompt the error message and disable the print preview button. i think its not a good solution and i am not sure how to stop the form from not printing it out.
    i was wondering is there any user exit of the output type, vofm (which i had this solutions from my previous question, but unsure how to use it) or any other solutions.
    please help.

  • How to display error message in case of function module ?

    In the report i was using  " message-id "   to display error message....
    how to use in function module ?

    Hi,
    Messages in Function Modules and Methods
    Messages have two different functions in function modules and methods:
    Normal Messages
    If you use messages in function modules and methods without the RAISING addition in the MESSAGE statement, and the caller does not catch the message, the message is handled
    normally according to the context in which it is called within the function module or method.
    Triggering Exceptions with Messages
    If you use messages in function modules and methods with the addition
    ... RAISING <exc>
    the way in which the message is handled depends on whether the calling program handles the exception <exc> or not.
      If the calling program does not handle the exception, the message is displayed and handled according to the context in which it occurs in the function module or method from which it
    was called.
      If the calling program handles the exception, the message is not displayed. Instead, the procedure is interrupted in accordance with the message type, and processing returns to the calling program. The contents of the message are placed in the system fields SY-MSGID, SY-MSGTY, SY-MSGNO, and SY-MSGV1 to SY-MSGV4.
    Catching Message in the Calling Program
    You can catch messages from function modules that are not sent using the RAISING addition in the MESSAGE statement by including the implicit exception ERROR_MESSAGE in the
    EXCEPTIONS list of the CALL FUNCTION statement. The following conditions apply:
      Type S, I, and W messages are ignored (but logged during background processing)
      Type E and A messages trigger the exception ERROR_MESSAGE
      Type X messages trigger the usual runtime error and short dump.
    Catching messages is not currently supported for methods.
    Regards,
    Bhaskar

  • How to display error message raised by stored procedure in ADF Faces ?

    Hi all,
    From my jspx page, I call a stored procedure wrapped by a custom service method in apps module.
    Based on certain condition in the stored procedure, e.g : NO DATA FOUND EXCEPTION, I raised a custom error from the stored procedure :
    RAISE_APPLICATION_ERROR(-20001, 'ERROR : No Data Tobe Processed !') ;
    The question is : How to display that error nicely in the jspx page ?
    Below is my backing beans code to call the stored procedure :
    public String okButton1_action() {
    try {
    SalesAM service =
    (SalesAM)JSFUtils.resolveExpression("#{data.SalesAMDataControl.dataProvider}");
    createdInvoices = service.processInvoice(
         soFr.getValue().toString().toUpperCase(),
         soTo.getValue().toString().toUpperCase(), .....     
    currDateTime, "O") ;
    } catch (JboException e) {
    System.out.println("There is error raised by stored proc..!");
    System.out.println(e.toString());
    Thank you for your help,
    xtanto

    You can add a message to the page in the following way:
    FacesMessage mess = new FacesMessage(FacesMessage.SEVERITY_ERROR, "title", e.getMessage());
    FacesContext.getCurrentInstance().addMessage(null, mess);

  • How To Display Error Message In Self Service Page

    Dear All,
    I am using 11.5.10 Oracle HRMS self Service ,,,
    How can I display error message on the top of the self service page if some action happen ?
    Best Regards

    Time entry rules maybe?

  • How to display error message in abap

    How to dispaly error message in report?
    i have to check the range bewteen two days and if it is not in range have to display error message only once.
    next time if i press the execute button report will get executed without showing the warning message.
    i am calculating the days between two dates, i am displaying the error message but if i press the execute button i will not allow me to execute the report.it again shows me the error message.i have to skip this in 2nd time.
    can any one  suggest what to do with this?

    hello suman,
    i am using select-option in my report. And i have to check the difference between two dates in select option input box( low-value and high-value). if it is greater then suppose 10 then i have to display warning message at once and then if click on execute button , the report should get executed without showing any warning messages in report.
    here i am attaching my source code.please take a close look and tell me where should i have to make change.
    SELECT-OPTIONS :s_bedat FOR ekko-bedat.
    AT SELECTION-SCREEN ON s_bedat.
      IF NOT s_bedat IS INITIAL.
        PERFORM bedat_validate.                       " Perform for Purchasing Document Date Validation
      ENDIF.
    FORM bedat_validate .                        " Form for Purchasing Document Date Validation
      DATA  : diffr TYPE i.
      CALL FUNCTION 'DAYS_BETWEEN_TWO_DATES'
        EXPORTING
          i_datum_bis                   = s_bedat-high
          i_datum_von                   = s_bedat-low
      I_KZ_EXCL_VON                 = '0'
      I_KZ_INCL_BIS                 = '0'
      I_KZ_ULT_BIS                  = ' '
      I_KZ_ULT_VON                  = ' '
      I_STGMETH                     = '0'
      I_SZBMETH                     = '1'
       IMPORTING
         e_tage                        =  diffr
    EXCEPTIONS
      DAYS_METHOD_NOT_DEFINED       = 1
      OTHERS                        = 2
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ELSE.
        IF diffr GT 31.
          MESSAGE s009(zerrormsg) WITH text-000 DISPLAY LIKE 'W'.
          LEAVE TO LIST-PROCESSING.
        ENDIF.
      ENDIF.
    ENDFORM.                    " BEDAT_VALIDATE

  • How to get an updatable ADODB Recordset from a Stored Procedure?

    In VB6 I have this code to get a disconnected ADODB Recordset from a Oracle 9i database (the Oracle Client is 10g):
    Dim conSQL As ADODB.Connection
    Dim comSQL As ADODB.Command
    Dim recSQL As ADODB.Recordset
    Set conSQL = New ADODB.Connection
    With conSQL
    .ConnectionString = "Provider=OraOLEDB.Oracle;Password=<pwd>;Persist Security Info=True;User ID=<uid>;Data Source=<dsn>"
    .CursorLocation = adUseClientBatch
    .Open
    End With
    Set comSQL = New ADODB.Command
    With comSQL
    .ActiveConnection = conSQL
    .CommandType = adCmdStoredProc
    .CommandText = "P_PARAM.GETALLPARAM"
    .Properties("PLSQLRSet").Value = True
    End With
    Set recSQL = New ADODB.Recordset
    With recSQL
    Set .Source = comSQL
    .CursorLocation = adUseClient
    .CursorType = adOpenStatic
    .LockType = adLockBatchOptimistic
    .Open
    .ActiveConnection = Nothing
    End With
    The PL/SQL Procedure is returning a REF CURSOR like this:
    PROCEDURE GetAllParam(op_PARAMRecCur IN OUT P_PARAM.PARAMRecCur)
    IS
    BEGIN
    OPEN op_PARAMRecCur FOR
    SELECT *
    FROM PARAM
    ORDER BY ANNPARAM DESC;
    END GetAllParam;
    When I try to update some values in the ADODB Recordset (still disconnected), I get the following error:
    Err.Description: Multiple-step operation generated errors. Check each status value.
    Err.Number: -2147217887 (80040E21)
    Err.Source: Microsoft Cursor Engine
    The following properties on the Command object doesn't change anything:
    .Properties("IRowsetChange") = True
    .Properties("Updatability") = 7
    How can I get an updatable ADODB Recordset from a Stored Procedure?

    4 years later...
    I was having then same problem.
    Finally, I've found how to "touch" the requierd bits.
    Obviously, it's hardcore, but since some stupid at microsoft cannot understand the use of a disconnected recordset in the real world, there is no other choice.
    Reference: http://download.microsoft.com/downlo...MS-ADTG%5D.pdf
    http://msdn.microsoft.com/en-us/library/cc221950.aspx
    http://www.xtremevbtalk.com/showthread.php?t=165799
    Solution (VB6):
    <pre>
    Dim Rst As Recordset
    Rst.Open "select 1 as C1, '5CHARS' as C5, sysdate as C6, NVL(null,15) as C7, null as C8 from DUAL", yourconnection, adOpenKeyset, adLockBatchOptimistic
    Set Rst.ActiveConnection = Nothing
    Dim S As New ADODB.Stream
    Rst.Save S, adPersistADTG
    Rst.Close
    Set Rst = Nothing
    With S
    'Debug.Print .Size
    Dim Bytes() As Byte
    Dim WordVal As Integer
    Dim LongVal As Long
    Bytes = .Read(2)
    If Bytes(0) <> 1 Then Err.Raise 5, , "ADTG byte 0, se esperaba: 1 (header)"
    .Position = 2 + Bytes(1)
    Bytes = .Read(3)
    If Bytes(0) <> 2 Then Err.Raise 5, , "ADTG byte 9, se esperaba: 2 (handler)"
    LongVal = Bytes(1) + Bytes(2) * 256 ' handler size
    .Position = .Position + LongVal
    Bytes = .Read(3)
    If Bytes(0) <> 3 Then Err.Raise 5, , "ADTG, se esperaba: 3 (result descriptor)"
    LongVal = Bytes(1) + Bytes(2) * 256 ' result descriptor size
    .Position = .Position + LongVal
    Bytes = .Read(3)
    If Bytes(0) <> 16 Then Err.Raise 5, , "ADTG, se esperaba: 16 (adtgRecordSetContext)"
    LongVal = Bytes(1) + Bytes(2) * 256 ' token size
    .Position = .Position + LongVal
    Bytes = .Read(3)
    If Bytes(0) <> 5 Then Err.Raise 5, , "ADTG, se esperaba: 5 (adtgTableDescriptor)"
    LongVal = Bytes(1) + Bytes(2) * 256 ' token size
    .Position = .Position + LongVal
    Bytes = .Read(1)
    If Bytes(0) <> 6 Then Err.Raise 5, , "ADTG, se esperaba: 6 (adtgTokenColumnDescriptor)"
    Do ' For each Field
    Bytes = .Read(2)
    LongVal = Bytes(0) + Bytes(1) * 256 ' token size
    Dim NextTokenPos As Long
    NextTokenPos = .Position + LongVal
    Dim PresenceMap As Long
    Bytes = .Read(3)
    PresenceMap = Val("&H" & Right$("0" & Hex$(Bytes(0)), 2) & Right$("0" & Hex$(Bytes(1)), 2) & Right$("0" & Hex$(Bytes(2)), 2))
    Bytes = .Read(2) 'ColumnOrdinal
    'WordVal = Val("&H" & Right$("0" & Hex$(Bytes(0)), 2) & Right$("0" & Hex$(bytes(1)), 2))
    'Aca pueden venir: friendly_columnname, basetable_ordinal,basetab_column_ordinal,basetab_colname
    If PresenceMap And &H800000 Then 'friendly_columnname
    Bytes = .Read(2) 'Size
    LongVal = Bytes(0) + Bytes(1) * 256 ' Size
    .Position = .Position + LongVal * 2 '*2 debido a UNICODE
    End If
    If PresenceMap And &H400000 Then 'basetable_ordinal
    .Position = .Position + 2 ' 2 bytes
    End If
    If PresenceMap And &H200000 Then 'basetab_column_ordinal
    .Position = .Position + 2 ' 2 bytes
    End If
    If PresenceMap And &H100000 Then 'basetab_colname
    Bytes = .Read(2) 'Size
    LongVal = Bytes(0) + Bytes(1) * 256 ' Size
    .Position = .Position + LongVal * 2 '*2 debido a UNICODE
    End If
    Bytes = .Read(2) 'adtgColumnDBType
    'WordVal = Val("&H" & Right$("0" & Hex$(Bytes(0)), 2) & Right$("0" & Hex$(bytes(1)), 2))
    Bytes = .Read(4) 'adtgColumnMaxLength
    'LongVal = Val("&H" & Right$("0" & Hex$(Bytes(3)), 2) & Right$("0" & Hex$(Bytes(2)), 2) & Right$("0" & Hex$(Bytes(1)), 2) & Right$("0" & Hex$(Bytes(0)), 2))
    Bytes = .Read(4) 'Precision
    'LongVal = Val("&H" & Right$("0" & Hex$(Bytes(3)), 2) & Right$("0" & Hex$(Bytes(2)), 2) & Right$("0" & Hex$(Bytes(1)), 2) & Right$("0" & Hex$(Bytes(0)), 2))
    Bytes = .Read(4) 'Scale
    'LongVal = Val("&H" & Right$("0" & Hex$(Bytes(3)), 2) & Right$("0" & Hex$(Bytes(2)), 2) & Right$("0" & Hex$(Bytes(1)), 2) & Right$("0" & Hex$(Bytes(0)), 2))
    Dim ColumnFlags() As Byte, NewFlag0 As Byte
    ColumnFlags = .Read(1) 'DBCOLUMNFLAGS, First Byte only (DBCOLUMNFLAGS=4 bytes total)
    NewFlag0 = ColumnFlags(0)
    If (NewFlag0 And &H4) = 0 Then 'DBCOLUMNFLAGS_WRITE (bit 2) esta OFF
    'Lo pongo en ON, ya que quiero escribir esta columna LOCALMENTE en el rst DESCONECTADO
    NewFlag0 = (NewFlag0 Or &H4)
    End If
    If (NewFlag0 And &H8) <> 0 Then 'DBCOLUMNFLAGS_WRITEUNKNOWN (bit 3) esta ON
    'Lo pongo en OFF, ya que no me importa si NO sabes si se puede updatear no, yo lo se, no te preocupes
    'ya que quiero escribir esta columna LOCALMENTE en el rst DESCONECTADO
    NewFlag0 = (NewFlag0 And Not &H8)
    End If
    If (NewFlag0 And &H20) <> 0 Then 'DBCOLUMNFLAGS_ISNULLABLE (bit 5) esta OFF
    'Lo pongo en ON, ya que siendo un RST DESCONECTADO, si le quiero poner NULL, le pongo y listo
    NewFlag0 = (NewFlag0 Or &H20)
    End If
    If NewFlag0 <> ColumnFlags(0) Then
    ColumnFlags(0) = NewFlag0
    .Position = .Position - 1
    .Write ColumnFlags
    End If
    .Position = NextTokenPos
    Bytes = .Read(1)
    Loop While Bytes(0) = 6
    'Reconstruyo el Rst desde el stream
    S.Position = 0
    Set Rst = New Recordset
    Rst.Open S
    End With
    'TEST IT
    On Error Resume Next
    Rst!C1 = 15
    Rst!C5 = "MUCHOS CHARS"
    Rst!C7 = 23423
    If Err.Number = 0 Then
    MsgBox "OK"
    Else
    MsgBox Err.Description
    End If
    </pre>

  • How to call EJB deployed on OC4J from java stored procedure?

    Hello,
    I'd like to call EJB from java stored procedure. My example works fine from command line, but the problem seems to be with deployment of this code into database. Especialy I'm wondering how to reference jars like oc4jclient.jar, ejb.jar, ... from java stored procedure.
    Is there some example how to do that ?
    Can You help me please ?
    Many thanks,
    Radim Kolek,
    Eurotel Prague.

    Hi,
    You may want to check up this thread
    Calling JBoss EJBs from Java stored procedure
    Hope this helps,
    Sujatha.
    OTN Group.

  • How to get an UPDATABLE REF CURSOR from the STORED PROCEDURE

    using C# with
    ORACLE OLE DB version: 9.0.0.1
    ADO version: 2.7
    I returns a REF CURSOR from a stored procedure seems like:
    type TCursor is ref cursor;
    procedure test_out_cursor(p_Dummy in varchar, p_Cur out TCursor) is
    begin
         open p_Cur for select * from DUAL;
    end;
    I create an ADO Command object and set
    cmd.Properties["IRowsetChange"].Value = true;
    cmd.Properties["Updatability"].Value = 7;
    cmd.Properties["PLSQLRSet"].Value = 1;
    cmd.CommandText = "{CALL OXSYS.TEST.TEST_OUT_CURSOR(?)}";
    and I use a Recordset object to open it:
    rs.Open(cmd, Missing.Value,
    ADODB.CursorTypeEnum.adOpenStatic,
    ADODB.LockTypeEnum.adLockBatchOptimistic,
    (int) ADODB.CommandTypeEnum.adCmdText +
    (int) ADODB.ExecuteOptionEnum.adOptionUnspecified);
    The rs can be opened but can NOT be updated!
    I saved the recordset into a XML file and there's no
    rs:baseschema/rs:basetable/rs:basecolumn
    attributes for "s:AttributeType" element.
    Any one have idea about this?
    thanks very much

    It is not possible through ADO/OLEDB.
    Try ODP.NET currently in Beta, it is possible to update DataSet created with refcursors. You need to specify your custom SQL or SP to send update/insert/delete.
    As I remember there is a sample with ODP.NET Beta 1 just doing this.

  • How to display Error message in USEREXIT_NUMBER_RANGE ?

    Hi All,
    - We are using subroutine USEREXIT_NUMBER_RANGE in include RV60AFZZ to override the existing number range.
    - For this, we have created a maintenance view, where number ranges are stored w.r.t Sales Org and Billing document type.
    - If a number range is not found in this maintenance view, we display an error message "Number range not found"
    If we create billing document from transaction everything works fine.
    But, what we want to know is:-
    How do we give error message if Billing documents are being created in Batch Input job ?
    OR
    How to add message to log of batch input job?
    Regards,
    Ashish

    Thanks Gary, for the reply.
    But, we dont want the batch job to stop, we want it to continue with the next record.
    In that case we believe writing the error to an application log would be better, isnt it ?
    Also, how is it possible to just return an error code to the batch program (without writing an application log) from where the current user exit was called ?
    Regards,
    Ashish

  • Display error message in forms from function "verify_function"

    Hi,
    We have a number of users with our own created profile attached to them.
    We have enabled the 'PASSWORD_VERIFY_FUNCTION' for our own profile.
    Function "verify_function" is used to validate a user's password.
    In "verify_function" we have used "raise_application_error" message in case password validation fails.
    Example:
    raise_application_error(-20001,'Password must be minimum 8 characters in length and maximum 30 characters long');Question) "raise_application_error" displays the error message only in SQL Plus prompt. How do I display the same message from Oracle forms?.
    I have used DBMS_ERROR_TEXT & DBMS_ERROR_CODE in ON-ERROR trigger. This is not displaying the error message in forms in case validation failed in "verify_function". Oracle simply clears the username/password field with a new window. We want to display the error message that occured in "verify_function".
    Thanks

    use the following code in validating the item, e.g when-button-pressed
    begin
    verify_function;
    exception
    when others then
    message(sqlerrm);
    raise form_trigger_failure;
    end ;
    OR
    instead of writing a procedure rewrite it as a function to return 1 if password is correct or 0 if password is wrong
    Regards
    Jihad

Maybe you are looking for

  • Adding Background to PDF: Using a source file in Saved Settings Adobe Acrobat 9 Pro...

    I frequently need to print purchase orders and use another PDF file as the background. There is an option to save a setting in the "Add Background" option, but when this is used neither the background nor the positioning is adjusted. Any help or tips

  • Exporting Photos

    Is it possible to export photos from my ipad to a USB stick or memory card. I do have the adapters for transferring photos. I have been able import but don't see how to export

  • MacBook pro 13" /15" SSD type

    Hello, is here anybody in the forum who received their MBP´11 with an SSD? Maybe you can post the vendor and the type please? Maybe it´s an SandForce based SSD type ... Many thanks. Cheers tappi

  • Texts of Code Infoobject

    Hi gurus, I´m using BW integrated with CRM. I have activated the datasource 0CRM_SALES_ACT_1 from Business Content and it´s working well. Now, I need to load the text of the infoObeject 0CRM_RSN_CO (Long description:"Activity Reason (Code)"; Short de

  • FirePartialAction event parameter

    Hi, I'm a newbie, Thanks for your patience ... I have a custom create rec page, there is an Item (SupplierCode) poplist with a firePartialAction, event name is "hoho", parameters I have defined "parm1" with value ${oa.CreateDetailVO1.SupplierCode} In