CX_SY_NO_HANDLER triggered when call FM in Transformation Routine in BI

Hi,
Currently we are encountering an error whereby the Exception 'CX_SY_NO_HANDLER' will be triggered whenever we call a Function Module inside a Transformation Routine in BI.
Previously, this FM was a Custom FM, but even after changing to a standard FM this error still happens.
The process does not even enter into the FM, but immediately jumps to a 'Try - Catch' block of standard SAP, with the message "an exception (CX_SY_NO_HANDLER) occured".
Hence, we need to confirm:
does SAP/BI allow calling an FM inside a Transformation Routine?
if yes to above, how do we avoid encountering this error when calling a FM inside a Transformation Routine.
Your help is very much appreciated.
Thanks you.

Yes, you can call a FM from function module.
Make sure your import and export parameters are of same type as defined in FM when passing values to FM from transformation.
For example:
in function module
xyz type i.
transformation
abc type char.
CALL FUNCTION 'dsjfh'
EXPORT
xyz = abc.
Regards,
San!

Similar Messages

  • Workflow not triggered when called within a Dynamic Trigger of HRMS

    Hello,
    Requeirment :Whenever any data is updated withing the People workbench of HRMS, a notification should be sent with the following message:
    Employee Number <Empno> has modified emailid from <old> to <new>.
    To achieve the same a dynamic trigger has been written on per_all_people_f table
    invoking a procedure with the below script:
    if(nvl(P_old_MS_Value,' ')<>nvl(P_New_MS_Value,' ')) then
         insert into log_self values(P_old_MS_Value,P_new_MS_Value,l_itemkey,p_employeename);
         wf_engine.CreateProcess ( itemtype => 'HRSSA',
    itemkey => l_itemkey,
    process => 'IRHR_SELFSERVICE_CHANGE_PRC');
    insert into log_not values('After Create Process');
         wf_engine.SetItemAttrText ( itemtype => 'HRSSA',
         itemkey => l_itemkey,
         aname => 'CURRENT_PERSON_DISPLAY_NAME',
    avalue => p_employeename);
    insert into log_not values('After CURRENT_PERSON_DISPLAY_NAME');
    wf_engine.SetItemAttrText ( itemtype => 'HRSSA',
         itemkey => l_itemkey,
         aname => 'IRHR_OLD_VALUE',
    avalue => P_Old_MS_Value);
    insert into log_not values('After IRHR_OLD_VALUE');
    wf_engine.SetItemAttrText ( itemtype => 'HRSSA',
         itemkey => l_itemkey,
         aname => 'IRHR_NEW_VALUE',
    avalue => P_New_MS_Value);
    insert into log_not values('After IRHR_NEW_VALUE');
    wf_engine.SetItemAttrText ( itemtype => 'HRSSA',
         itemkey => l_itemkey,
         aname => 'IRHR_ATTRIBUTE_THAT_CHANGED',
    avalue => 'Marital Status');
    insert into log_not values('After IRHR_ATTRIBUTE_THAT_CHANGED');
         wf_engine.SetItemAttrNumber ( itemtype => 'HRSSA',
         itemkey => l_itemkey,
         aname => 'FORWARD_TO_PERSON_ID',
         avalue => 572366);
         insert into log_not values('After FORWARD_TO_PERSON_ID');
         -- set the current forward to person username attribute
         wf_engine.SetItemAttrText ( itemtype => 'HRSSA',
         itemkey => l_itemkey,
         aname => 'FORWARD_TO_USERNAME',
         avalue => 'CHRISTOPHERHARRIS');
         insert into log_not values('After FORWARD_TO_USERNAME');
         -- set the current forward to display name attribute
         wf_engine.SetItemAttrText ( itemtype => 'HRSSA',
         itemkey => l_itemkey,
         aname => 'FORWARD_TO_DISPLAY_NAME',
    avalue => 'Harris, Christopher');
    insert into log_not values('After FORWARD_TO_DISPLAY_NAME');
         --insert into log_self values('Before Start Process'); 
    --commit;                                  
         wf_engine.startprocess(itemtype=> 'HRSSA', itemkey => l_itemkey);
         insert into log_not values('After startprocess');
    However we find the workflow process not getting triggered. The same however happens when the script is executed sepreately and a commit is given after the Start process. Is there a way i can invoke in dynamic trigger as the dynamic trigger prohibits use of Commit.?
    Pls help ASAP.
    Thanks & Regards,
    Gayatri Jayaraman

    Hi,
    The Object key which you passing to trigger is not correct. Give the full key preceded with Zero.
    Regards,
    Surjith

  • Calling a function module from within a transformation routine

    I created a routine within a transformation and experience the following weird behavior now:
    When I call a function module within that routine, the load fails with the following error message:
    Exceptions in Substep: Rules
    When I click on the button next to this text, it point me to my function module call.
    What I do not understand is, that the following two scenarios work fine:
    - Having the same function call (with fake values) in a plain ABAP program works beautilfully
    - If I copy the content of my function module directly into my transformation routine, everything works fine as well
    I am now wondering whether the routine does not "see" the function module I am calling. The module resides in a different package. Is that a problem? Do I have to include something first?
    Here is the code that calls my FM (
    CALL FUNCTION 'Z_CA_CONVERT_US_COST'
         EXPORTING
            PSOURCEVAL                      = SOURCE_FIELDS-/BIC/USFRZMFC
            PSOURCEUOM                      = SOURCE_FIELDS-BASE_UOM
            PUSITM                          = SOURCE_FIELDS-/BIC/USITM
            PTARGETUOM                      = PRODUCTION_UOM
         IMPORTING
            PTARGETVAL                = RESULT
         EXCEPTIONS
           CONVERSION_NOT_MAINTAINED = 1
           PARTNO_NOT_FOUND          = 2
           OTHERS                    = 3.
    Thanks a lot for your help. Points will be assigned.
    Dennis

    Good catch, BI Learner. This was exactly it: when assigning the values from SOURCEFIELDS directly to the import/export parameters, you have to make sure that the types are EXACTLY the same, otherwise it will not work (the routine stops with an error when calling the FM, but there is no dump).
    Therefore, to solve my problem, I created the declarations precisely as expected by the FM and assigned the values to these fields:
    DATA:
          SOURCEVAL TYPE  /BIC/OIINVQTY,
          SOURCEUOM TYPE  /BIC/OIUSUOM,
          USITM TYPE  /BIC/OIUSITM,
          TARGETUOM TYPE  /BIC/OIUSUOM,
          CONVERTED_COST TYPE  /BIC/OIINVQTY.
    DATA PRODUCTION_UOM TYPE /BIC/OIUSUOM.
    " get the Production UOM
        SELECT SINGLE I~/BIC/USPRDUOM
          FROM /BIC/PUSITM AS I
          INTO PRODUCTION_UOM
          WHERE I~/BIC/USITM = SOURCE_FIELDS-/BIC/USITM AND I~OBJVERS = 'A'.
        IF ( SY-SUBRC = 4 ). " no records found
          "RAISE PARTNO_NOT_FOUND.
          RAISE EXCEPTION TYPE CX_RSROUT_SKIP_RECORD.
        ENDIF.
    " load the parameters
        SOURCEVAL = SOURCE_FIELDS-/BIC/USFRZMFC.
        SOURCEUOM = SOURCE_FIELDS-BASE_UOM.
        USITM = SOURCE_FIELDS-/BIC/USITM.
    " then you can call the FM
        CALL FUNCTION 'Z_CA_CONVERT_US_COST'
          EXPORTING
            PSOURCEVAL                = SOURCEVAL
            PSOURCEUOM                = SOURCEUOM
            PUSITM                    = USITM
            PTARGETUOM                = PRODUCTION_UOM
          IMPORTING
            PTARGETVAL                = CONVERTED_COST
          EXCEPTIONS
            CONVERSION_NOT_MAINTAINED = 1
            PARTNO_NOT_FOUND          = 2
            OTHERS                    = 3.
    " ... [do the rest]
    Thanks for your help,
    Dennis

  • Problem to call a easy function in a transformation routine

    Hi,
    I wanted to convert a string ("12") to an integer (12) in my transformation routine.
    Here the code:
    DATA: vaca_number TYPE i.
        CALL FUNCTION u2019conversion_exit_alpha_outputu2019
          EXPORTING
            input  = source_fields-vaca
          IMPORTING
            output = vaca_number.
        IF source_fields-smocker CS 'Y'.
          result = vaca_number * 120.
        ELSEIF source_fields-smocker CS 'N'.
          result = vaca_number * 240.
        ELSE.
          monitor_rec-msgid = 'ZMESSAGE'.
          monitor_rec-msgty = 'E'.
          monitor_rec-msgno = '001'.
          monitor_rec-msgv1 = 'ERROR SMOCKER UNKNOWN FOR PPS'.
          monitor_rec-msgv2 = source_fields-smocker.
          APPEND monitor_rec TO monitor.
          RAISE EXCEPTION TYPE cx_rsrout_abort.
        ENDIF.
    When i check, i have the following error:
    E:"RS_C_ICON_VERSION-" expected, not "#CONVERSION_"
    Have you an idea ?
    Thanks for your help.
    Rodolphe.

    That's one problem.  But if you look at the interface for the FM, it requires a character value.  The following, using an integer, will dump.  Try it and see.  The only way to make it work is to define i_2 as a character, not integer.
    PROGRAM zz_temp.
    DATA:
      c_1  TYPE c VALUE '1',
      i_2  TYPE i.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
      EXPORTING
        input  = c_1
      IMPORTING
        output = i_2.

  • How can I call a Method in a Transformation Routine

    Hello Experts,
    How can I call a Method in a Transformation Routine ??
    THNXX

    Hi,
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/6090a621-c170-2910-c1ab-d9203321ee19?quicklink=index&overridelayout=true
    It will be help full .
    Regards,

  • Print program is not getting triggered when saving the application

    Hi all,
    My requirement is when i save the invoice using VF01 the print program should get triggered.
    The print program is not getting triggered when saving the application even when i have configured the outtype and have attached the print program.
    The setting "send immediately (when saving application)" is also checked.
    I need to configure it for VF01 transaction.
    The error message displayed was " please maintain output device in master data".
    Regards,
    Umesh

    Hi Umesh
    Please check if you have missed any of the following:
    1. Defining Access Sequence(can use existing).
    2. Defining Output Condition Type(can use existing). - Assigning the Driver Program and Form in processing routine.
    3. Output Determination Procedure
    4. Assign Output Procedure to Billing Types
    Kind Regards
    Eswar

  • Error "Job already started" when calling a adobe form in Z function module

    Hi All,
    I have a error when calling a adobe form in a custom function module.
    I am using FP_FUNCTION_MODULE_NAME to get the adobe form function module and then i am using FP_JOB_OPEN function module to control the printing parameters such as no print preview or no dialog ..etc.. I dont have any exceptions during the call of FP_JOB_OPEN function module ..
    Later I am calling my function module which was generated for the adobe form and i am getting the error called " JOB ALREADY STARTED".
    I tried executing the same function module in se37 and the PDF form output was generated, and also by commenting FP_JOB_OPEN function module the PDF form output was generated.
    But i need the FP_JOB_OPEN function module to control the output based on the output type which triggers the form output such as the medium from nast record which says print or email or fax.. etc
    Please let me know how to handling this error.

    Just as a followup note. If you are testing a function module from SE37 and the test button you will get a value in SY-CPROG. You must override this value for everything to work.
    If you override the value of SY-CPROG with the main program that will be calling the function module you have no problem.
    John W.

  • Error message when calling a Business Connector RFC destination from SRM

    Hello all,
    We are facing one problem with data Purchase Order transmission between SRM 5.0 (SRM_SERVER 5.5, extended classic scenario) and Business Connector 4.7.
    We made needed customizing in order to have "XML / XI" output medium available in tab 'Company Data' in "Manage Business Partners" web transaction (by updating BBP_USE_AI table in SM30 transaction).
    Then, we implemented BAdI definition BBP_EBPXML_OUT_BADI with method PURCHASEORDER in order to change XI system type to Business Connector.
    In this way, PO transfer data between SRM and BC is done using BC Module Function BAPI_POEC_XML_SEND (TCP/IP RFC connection was defined for Purchase Order in BBPC_RFCDEST table).
    Nevertheless, even if method BBP_PO_SEND_XML is correctly triggered when PO is created with a vendor with XML output medium, we have in the document output log ("Process Purchase Order" web transaction) an error message:
    ' Error (Unknown Partner and Message Type. Routing Rule created. Sender: SMR Receiver:) when calling RFC destination BC '
    where SRM is the SRM log. sys. and BC the Business Connector log. sys.
    Our EAI team is working on it, but if you have any idea, your are welcome !
    Thank you in advance.
    Regards.
    Laurent

    Hello Christian,
    Thank you for your help. However, we abandoned this solution between SRM and Business Connector.
    So, we followed instructions indicated in OSS note 883693 - "ECS: PO output determination in R/3".
    Nevertheless, in order to restrict this behaviour for specific vendors and purchasing organizations, we added some filters.
    It is working fine.
    However, when the PO is modified in SRM, then order again, PO is modified in R/3 (by the RFC user from SRM) more than once.
    As a consequence, we have as much messages as modifications of the order in R/3 (due to multiple RFC access with the SRM RFC user).
    Does anybody have an idea to have only one R/3 output message when the PO is modified in SRM ?
    One solution could be to check in the NAST table if the time creation of the last output message is lower than, for example, one minute.
    If it is the case, we do not allow R/3 ouput message.
    Any suggestions is welcome.
    Regards.
    Laurent.

  • Table Declaration in Transformation Routine

    Hi all,
    I have declared a table in transformation routine as follows :
    DATA : BEGIN OF VACATIONS OCCURS 0,
           DATE TYPE D,
           END OF VACATIONS.
    System is giving following error on this :
    ' E:Tables with headers are no longer supported in the OO context.'
    What should I do now?
    Regards,
    Aisha Ishrat
    ICI Pakistan Ltd.

    Hi Al,
       Let me explain here ... because you are doing what is being told to do without actually understanding your purpose. Let me take a scenario. You want to read a database table for sales orders populate it into the internal table. Then you wnat to loop at the internal table you populated and print the output. For this what you need is an internal table where your data will be stored - simply put its a 2 dimentional array. so your data once put into the internal table would look like:
    Sales_Order  Sold_To_Party
    1                        1
    2                        3
    3                        5
    4                        1
    Now what you do is read it - which means you are going to read one line at a time, which means a structure not an internal table, which was the purpose of the header line. but since header lines are not supported you need a different work area (structure). So that when you read the first line your structure contains as follows:
    1                       1
    When you read the second line your structure or work area contains the second line:
    2                        3
    so on.....
    From the explaination above you must be clear that you need an internal table to store data temporarily and a structure to manipulate a single record. Now the cod would look like:
    DATA: it_vbak type table of VBAK.
    DATA: wa_vbak type vbak.
    Notice above that one is using a "table" while declaring and the other is not.
    Select * from VBAK into table it_vbak.
    loop at it_vbak into wa_vbak.
    note above that you are looping at the internal table and populating one record
    into the work area.
       write:/ wa_vbak-vbeln.
    endloop.
    Hope this helps. Ask if you have any more concerns.
    Best regards,
    Kazmi

  • Retreiving old version of a change in transformation routine

    Hello Experts,
    I had made a change in a transformation routine 2 months ago.
    Due to some reasons, i want to revert the change i did in the routine.
    When i try to get the last version of the generated program, i cannot find any old version.
    Is it possible to get an old version of such a generated program?
    Thanks,
    Nitish.

    If you don't transported to target clients.. you can compare and make the adjustments in dev
    or
    SE03 - Search for Objects in Requests/Tasks - enter TRFN  - Transformation ID - select Modifiable plus released and execute .. you will see the request numbers .. expand them and try to identify the req which was transported/modified 2months ago .. and copy object type ROUT and GOTO SE16 - enter Rouitne ID  in RSAABAP and exe...
    This way you can find

  • How to know infopackage request ID in transformation routine ?

    Hi All,
    I'm looking for the ABAP code to know the infopackage request ID in transformation start or end routine
    I can see this ID when I clic on "manage" on a PSA (looks like for instance REQU_D706H24SFFUIGNKMQMPPAIJLM)
    I need it in transformation routine
    Thanks for your help
    Sebastien Lepeltier

    Sorry Sat but again with the code :
    field-symbols: <l_requnr> type any.
    data: l_requnr_fieldnm type string value 'l_requnr'.
    assign (l_requnr_fieldnm) to <l_requnr>.
    I have this error message in debug mode : Field symbol <L_REQUNR> is not yet assigned
    Thanks Joe for the answer but in
    IMPORTING
    request TYPE rsrequest
    datapackid TYPE rsdatapid
    request and datapackid are filled with information of the current DTP not infopackage source
    Sebastien

  • Test for Permitted Characters in Transformation Routine

    Hello,
    Background: There is a data quality issue when loading 3rd party data to BW, which cannot be solved at source. Therefore, initial transformation rules when loading to data warehouse level DSO, should identify and deal with error values.
    Possible Solution: Test validity of value within transformation routine via a custom function module.
    Execution: Function module would require to check lowercase character handling of target InfoObject (RSDCHABAS-LOWERCASE) and scan source value against permitted character set (RSKC).
    Questions: How can the permitted list of characters be returned within transformation routine? Is there an available delivered function module to handle accessing permitted character set?
    I would appreciate any answers to the above questions or alternative suggestions to the above strategy.
    Thanks -
    Brendan.

    There is a function module "RSKC_ALLOWED_CHAR_GET". Use SE37 to check it out.

  • REGEX statement not working in transformation routine?

    hi,
    I need to include the REGEX ABAP key word in transformation routine for one of the fields--
    FIND all OCCURRENCEs OF REGEX
    But when i include this statement it says:
    E: statement "REGEX" is not defined.check your spelling--
    but same statement when i copy in SE38 ABAP editor it works very fine--
    May i know what is the reason?
    i had tried with all possible single quotes before posting here

    Is that the entire statement?  It looks like it is interpeting REGEX as a variable.  It should look something like this:
    FIND all OCCURRENCEs OF REGEX '(\b\S+\b)(-?)' IN g_result

  • Use subflow or redirect step when calling another script

    I have a main AA script and it calls another script when caller press option 6.  When a caller presss 6 it is only transferring the call to the sub script.  it does not return any values to the main script.
    In this situation, is it better to use subflow or redirect step.  i am think redirect step but just want to check with the user community.
    thanks in advance.

    Either will work. Here are a few thoughts to consider in no particular order:
    Subflows count toward the originally triggered scripts' maximum step count. If you have a lot of steps, this may result in an exception. Redirecting the call restarts this counter since the newly triggered script will have its own counter.
    NOTE: You might think that this is exactly why the Trigger Application step in Synchronous mode was created for. Alas, there is a bug which renders this useless in 7.0(1): CSCtd72562
    Redirecting the call will result in the user hearing ringback. This would occur because of the recommended two-second delay step following the Accept step of a step to prevent a race condition. I find this to be irritating enough to shy away from it mid-way through an IVR if possible.
    Subflows are more difficult to debug. You need to have sufficient code embedded in them such that you can trigger and reactively debug them.
    Be sure that the redirect destination of an actual CCX Trigger (CTI Route Point). Do not set it to a value in UCM that is translated or forwarded back to CCX. This results in a race condition which CCX does not handle well.
    If you were asking me as an individual my answer would be this: Is the code small enough and not reused elsewhere? If yes, then put it in the first script and avoid this topic all together. If it's reused in a bunch of places from multiple scripts and does not represent a large quantity of steps: use a subflow. Otherwise use Trigger Application if you're on a new enough version or Call Redirect if you're not.

  • Core Dump when calling DriverManager.getConnection

    I'm very confused and hope someone can help me out with this.
    I'm trying to make a connection to a MS SQL Server 7 and am getting a core dump when getConnection is called. No exception is thrown, just a core dump and locked session. If I run the class from it's main there is absolutly no problem, but when I do a new on the class and call it's member to establish the connection: core dump. The environment is the same in both cases. The calling class did does use a mySql connection, but I tried closing it and setting it to null with the same problem. I'm not sure if the getConnection is stepping on a socket or what it's trying to violate in memory causing the dump. This is running on a SCO Openserver 5.0.5 box (green threads). Why it runs stand-alone and not when called from another class has got me tangled... Thread problem? I've tried several SQL drivers, they all do the same thing.
    Anyway, here's a snippet from the java class:
    try
    {Class.forName(myForName);
    // core dump, next line
    Connection myConn = DriverManager.getConnection(myUrl, myUser, myPass);
    // never get's here
    Statement myStmt = myConn.createStatement();
    catch (Exception e) // modified for this post
    {system.out.println(e.toString());
    Here's the dump printed to the monitor (2>&1)
    SIGSEGV 11* segmentation violation
    si_signo [11]: SIGSEGV 11* segmentation violation
    si_errno [0]: Error 0
    si_code [1]: SEGV_MAPERR [addr: 0x8]
         stackpointer=81adc820
    Full thread dump Classic VM (SCO-JDK-1.2.2-001:2000-Feb-17-03:54, green threads):
    "Thread-0" (TID:0x8074f3c8, sys_thread_t:0x83ae258, state:R) prio=5
         at com.inet.tds.TdsDriver.run(Unknown Source)
         at java.lang.Thread.run(Thread.java, Compiled Code)
    "process reaper" (TID:0x807431d0, sys_thread_t:0x82cd980, state:CW) prio=5
         at java.lang.Object.wait(Native Method)
         at java.lang.UNIXProcess.run(Native Method)
         at java.lang.Thread.run(Thread.java, Compiled Code)
    "Finalizer" (TID:0x8071f320, sys_thread_t:0x808e478, state:CW) prio=8
         at java.lang.Object.wait(Native Method)
         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java, Compiled Code)
         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java, Compiled Code)
         at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:174)
    "Reference Handler" (TID:0x8071f3b0, sys_thread_t:0x808a2d8, state:CW) prio=10
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java, Compiled Code)
         at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:114)
    "Signal dispatcher" (TID:0x8071f3e0, sys_thread_t:0x80845a8, state:CW) prio=5
    "main" (TID:0x8071f1e0, sys_thread_t:0x804c2d8, state:R) prio=5
         at java.lang.Thread.sleep(Native Method)
         at com.inet.tds.TdsDriver.connect(Unknown Source)
         at java.sql.DriverManager.getConnection(DriverManager.java, Compiled Code)
         at java.sql.DriverManager.getConnection(DriverManager.java, Compiled Code)
         at SLSCorpRpt.printSchedule(SLSCorpRpt.java, Compiled Code)
         at SLSSchedule.runSchedule(SLSSchedule.java, Compiled Code)
         at SLSTextMain.<init>(SLSTextMain.java, Compiled Code)
         at SLSTextMain.main(SLSTextMain.java, Compiled Code)
    Monitor Cache Dump:
    java.lang.Object@807431A8/807C6140: <unowned>
         Waiting to be notified:
         "process reaper" (0x82cd980)
    java.lang.Class@80736EF8/807970A8: owner "main" (0x804c2d8) 2 entries
    <unknown key> (0x80737c21): owner "Thread-0" (0x83ae258) 1 entry
    java.lang.ref.ReferenceQueue$Lock@8071F338/80754D60: <unowned>
         Waiting to be notified:
         "Finalizer" (0x808e478)
    java.lang.ref.Reference$Lock@8071F3C0/80754890: <unowned>
         Waiting to be notified:
         "Reference Handler" (0x808a2d8)
    Registered Monitor Dump:
    PCMap lock: <unowned>
    utf8 hash table: <unowned>
    JNI pinning lock: <unowned>
    JNI global reference lock: <unowned>
    BinClass lock: owner "Thread-0" (0x83ae258) 1 entry
    Class linking lock: <unowned>
    System class loader lock: <unowned>
    Code rewrite lock: <unowned>
    Heap lock: <unowned>
    Monitor cache lock: owner "Thread-0" (0x83ae258) 1 entry
    Monitor IO lock: <unowned>
    User signal monitor: <unowned>
         Waiting to be notified:
         "Signal dispatcher" (0x80845a8)
    Child death monitor: <unowned>
    I/O monitor: <unowned>
    Alarm monitor: <unowned>
         Waiting to be notified:
         <unknown thread> (0x804be18)
    Thread queue lock: owner "Thread-0" (0x83ae258) 1 entry
    Monitor registry: owner "Thread-0" (0x83ae258) 1 entry
    SIGABRT 6* abort (generated by abort(3) routine)
         stackpointer=81adc820
    Full thread dump Classic VM (SCO-JDK-1.2.2-001:2000-Feb-17-03:54, green threads):
    "Thread-0" (TID:0x8074f3c8, sys_thread_t:0x83ae258, state:R) prio=5
         at com.inet.tds.TdsDriver.run(Unknown Source)
         at java.lang.Thread.run(Thread.java, Compiled Code)
    "process reaper" (TID:0x807431d0, sys_thread_t:0x82cd980, state:CW) prio=5
         at java.lang.Object.wait(Native Method)
         at java.lang.UNIXProcess.run(Native Method)
         at java.lang.Thread.run(Thread.java, Compiled Code)
    "Finalizer" (TID:0x8071f320, sys_thread_t:0x808e478, state:CW) prio=8
         at java.lang.Object.wait(Native Method)
         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java, Compiled Code)
         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java, Compiled Code)
         at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:174)
    "Reference Handler" (TID:0x8071f3b0, sys_thread_t:0x808a2d8, state:CW) prio=10
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java, Compiled Code)
         at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:114)
    "Signal dispatcher" (TID:0x8071f3e0, sys_thread_t:0x80845a8, state:CW) prio=5
    "main" (TID:0x8071f1e0, sys_thread_t:0x804c2d8, state:R) prio=5
         at java.lang.Thread.sleep(Native Method)
         at com.inet.tds.TdsDriver.connect(Unknown Source)
         at java.sql.DriverManager.getConnection(DriverManager.java, Compiled Code)
         at java.sql.DriverManager.getConnection(DriverManager.java, Compiled Code)
         at SLSCorpRpt.printSchedule(SLSCorpRpt.java, Compiled Code)
         at SLSSchedule.runSchedule(SLSSchedule.java, Compiled Code)
         at SLSTextMain.<init>(SLSTextMain.java, Compiled Code)
         at SLSTextMain.main(SLSTextMain.java, Compiled Code)
    Monitor Cache Dump:
    java.lang.Object@807431A8/807C6140: <unowned>
         Waiting to be notified:
         "process reaper" (0x82cd980)
    java.lang.Class@80736EF8/807970A8: owner "main" (0x804c2d8) 2 entries
    <unknown key> (0x80737c21): owner "Thread-0" (0x83ae258) 1 entry
    java.lang.ref.ReferenceQueue$Lock@8071F338/80754D60: <unowned>
         Waiting to be notified:
         "Finalizer" (0x808e478)
    java.lang.ref.Reference$Lock@8071F3C0/80754890: <unowned>
         Waiting to be notified:
         "Reference Handler" (0x808a2d8)
    Registered Monitor Dump:
    PCMap lock: <unowned>
    utf8 hash table: <unowned>
    JNI pinning lock: <unowned>
    JNI global reference lock: <unowned>
    BinClass lock: owner "Thread-0" (0x83ae258) 1 entry
    Class linking lock: <unowned>
    System class loader lock: <unowned>
    Code rewrite lock: <unowned>
    Heap lock: <unowned>
    Monitor cache lock: owner "Thread-0" (0x83ae258) 1 entry
    Monitor IO lock: <unowned>
    User signal monitor: <unowned>
         Waiting to be notified:
         "Signal dispatcher" (0x80845a8)
    Child death monitor: <unowned>
    I/O monitor: <unowned>
    Alarm monitor: <unowned>
         Waiting to be notified:
         <unknown thread> (0x804be18)
    Thread queue lock: owner "Thread-0" (0x83ae258) 1 entry
    Monitor registry: owner "Thread-0" (0x83ae258) 1 entry

    I have a similar problem with establishing a connection through JNI. Have you resolved your problem?
    Here's mine.
    In java, I have a class that provides an interface to a mysql database. The java programs that call this interface work fine.
    When I try to call the java interface from C++ through JNI, I get the following output -- some debug statements sprinkled through also. I am assuming that the JVM is missing something at runtime that is there in my JRE. The classpaths match , etc. Exception handling in java and in JNI code are not providing any more detail.. Thanks for comments!!
    Created jvm
    Got KBModel and String classes
    KBModel.java:stest()
    KBModel.java:init(String)
    KBModel.java:init(String) - got Properties file
    Got DBDRIVER class: org.gjt.mm.mysql.Driver
    Object = class org.gjt.mm.mysql.Driver
    init(): DBURLSTRING = jdbc:mysql://sturgeon.xxx.com:3306/<valid db name>
    init(): DBUSER = <valid user>
    init(): DBPASSWORD =<valid password>
    KBModel.java:init(Properties) - Attempting connection
    init(): Drivers available:
    com.mysql.jdbc.Driver
    Driver accepts this URL
    An unexpected exception has been detected in native code outside the VM.
    Unexpected Signal : 11 occurred at PC=0x4053ea09
    Function name=(N/A)
    Library=/lib/i686/libc.so.6
    NOTE: We are unable to locate the function name symbol for the error
    just occurred. Please refer to release documentation for possible
    reason and solutions.
    Dynamic libraries:
    08048000-0804a000 r-xp 00000000 03:02 279279 /home/kathy/cm/src/Onto/Tools/Annotator/src/test/invokeKB
    0804a000-0804b000 rw-p 00001000 03:02 279279 /home/kathy/cm/src/Onto/Tools/Annotator/src/test/invokeKB
    40000000-40016000 r-xp 00000000 03:02 2093075 /lib/ld-2.2.4.so
    40016000-40017000 rw-p 00015000 03:02 2093075 /lib/ld-2.2.4.so
    40017000-40020000 r-xp 00000000 03:02 1309343 /usr/java/jdk1.3.1_03/jre/lib/i386/native_threads/libhpi.so
    40020000-40021000 rw-p 00008000 03:02 1309343 /usr/java/jdk1.3.1_03/jre/lib/i386/native_threads/libhpi.so
    40031000-40032000 r--p 00000000 03:02 768548 /usr/lib/locale/en_US/LC_IDENTIFICATION
    40033000-40085000 r-xp 00000000 03:02 328384 /usr/lib/libodbc.so.1.0.0
    40085000-40088000 rw-p 00051000 03:02 328384 /usr/lib/libodbc.so.1.0.0
    40088000-400c1000 r-xp 00000000 03:02 327275 /usr/lib/libstdc++-3-libc6.2-2-2.10.0.so
    400c1000-400c8000 rw-p 00038000 03:02 327275 /usr/lib/libstdc++-3-libc6.2-2-2.10.0.so
    400ca000-400eb000 r-xp 00000000 03:02 246620 /usr/java/jdk1.3.1_03/jre/lib/i386/libjava.so
    400eb000-400ed000 rw-p 00020000 03:02 246620 /usr/java/jdk1.3.1_03/jre/lib/i386/libjava.so
    400ee000-400ff000 r-xp 00000000 03:02 246629 /usr/java/jdk1.3.1_03/jre/lib/i386/libverify.so
    400ff000-40101000 rw-p 00010000 03:02 246629 /usr/java/jdk1.3.1_03/jre/lib/i386/libverify.so
    40101000-402f1000 r-xp 00000000 03:02 1701922 /usr/java/jdk1.3.1_03/jre/lib/i386/client/libjvm.so
    402f1000-403f1000 rw-p 001ef000 03:02 1701922 /usr/java/jdk1.3.1_03/jre/lib/i386/client/libjvm.so
    40408000-4053c000 r-xp 00000000 03:02 2093084 /lib/libc-2.2.4.so
    4053c000-40542000 rw-p 00133000 03:02 2093084 /lib/libc-2.2.4.so
    40547000-4054a000 r-xp 00000000 03:02 2093088 /lib/libdl-2.2.4.so
    4054a000-4054b000 rw-p 00002000 03:02 2093088 /lib/libdl-2.2.4.so
    4054b000-40558000 r-xp 00000000 03:02 343415 /lib/i686/libpthread-0.9.so
    40558000-40560000 rw-p 0000c000 03:02 343415 /lib/i686/libpthread-0.9.so
    40560000-40582000 r-xp 00000000 03:02 343413 /lib/i686/libm-2.2.4.so
    40582000-40583000 rw-p 00021000 03:02 343413 /lib/i686/libm-2.2.4.so
    40583000-40596000 r-xp 00000000 03:02 2093093 /lib/libnsl-2.2.4.so
    40596000-40597000 rw-p 00012000 03:02 2093093 /lib/libnsl-2.2.4.so
    40599000-405cd000 r-xp 00000000 03:02 328243 /usr/lib/libstdc++-2-libc6.1-1-2.9.0.so
    405cd000-405d9000 rw-p 00033000 03:02 328243 /usr/lib/libstdc++-2-libc6.1-1-2.9.0.so
    405dc000-405f0000 r-xp 00000000 03:02 246630 /usr/java/jdk1.3.1_03/jre/lib/i386/libzip.so
    405f0000-405f3000 rw-p 00013000 03:02 246630 /usr/java/jdk1.3.1_03/jre/lib/i386/libzip.so
    405f3000-41327000 r--s 00000000 03:02 1717328 /usr/java/jdk1.3.1_03/jre/lib/rt.jar
    41354000-4164b000 r--s 00000000 03:02 1717321 /usr/java/jdk1.3.1_03/jre/lib/i18n.jar
    4164b000-41661000 r--s 00000000 03:02 1717329 /usr/java/jdk1.3.1_03/jre/lib/sunrsasign.jar
    43709000-4370a000 r--p 00000000 03:02 408823 /usr/lib/locale/en_US/LC_MEASUREMENT
    4370a000-4370b000 r--p 00000000 03:02 2158478 /usr/lib/locale/en_US/LC_TELEPHONE
    4370b000-4370c000 r--p 00000000 03:02 2158480 /usr/lib/locale/en_US/LC_ADDRESS
    4370c000-4370d000 r--p 00000000 03:02 2158479 /usr/lib/locale/en_US/LC_NAME
    4370d000-4370e000 r--p 00000000 03:02 1864168 /usr/lib/locale/en_US/LC_PAPER
    4370e000-4370f000 r--p 00000000 03:02 2174846 /usr/lib/locale/en_US/LC_MESSAGES/SYS_LC_MESSAGES
    4370f000-43710000 r--p 00000000 03:02 408822 /usr/lib/locale/en_US/LC_MONETARY
    49d5f000-49d8a000 r--p 00000000 03:02 572342 /usr/lib/locale/en_US/LC_CTYPE
    49d8a000-49d90000 r--p 00000000 03:02 866674 /usr/lib/locale/en_US/LC_COLLATE
    49d90000-49d91000 r--p 00000000 03:02 768549 /usr/lib/locale/en_US/LC_TIME
    49d91000-49d92000 r--p 00000000 03:02 572338 /usr/lib/locale/en_US/LC_NUMERIC
    49d93000-49d9c000 r-xp 00000000 03:02 246627 /usr/java/jdk1.3.1_03/jre/lib/i386/libnet.so
    49d9c000-49d9d000 rw-p 00008000 03:02 246627 /usr/java/jdk1.3.1_03/jre/lib/i386/libnet.so
    49d9d000-49da7000 r-xp 00000000 03:02 2093117 /lib/libnss_nisplus-2.2.4.so
    49da7000-49da8000 rw-p 00009000 03:02 2093117 /lib/libnss_nisplus-2.2.4.so
    49da8000-49dab000 r-xp 00000000 03:02 2093106 /lib/libnss_dns-2.2.4.so
    49dab000-49dac000 rw-p 00002000 03:02 2093106 /lib/libnss_dns-2.2.4.so
    49dad000-49db7000 r-xp 00000000 03:02 2093109 /lib/libnss_files-2.2.4.so
    49db7000-49db8000 rw-p 00009000 03:02 2093109 /lib/libnss_files-2.2.4.so
    4a624000-4a67a000 r--s 00000000 03:02 540401 /usr/java/jdk1.3.1_03/jre/lib/ext/log4j-1.2.6.jar
    4a695000-4a6a3000 r-xp 00000000 03:02 2093122 /lib/libresolv-2.2.4.so
    4a6a3000-4a6a5000 rw-p 0000d000 03:02 2093122 /lib/libresolv-2.2.4.so
    Local Time = Thu Feb 13 13:35:05 2003
    Elapsed Time = 1
    # The exception above was detected in native code outside the VM
    # Java VM: Java HotSpot(TM) Client VM (1.3.1_03-b03 mixed mode)
    # An error report file has been saved as hs_err_pid9210.log.
    # Please refer to the file for further information.
    #

Maybe you are looking for