Variable of Type "Object" is getting Null in script task

I have 3 components as below
1.   Execute Sql Task ---> It will fetch The data from Database using ConnectionType "OLEDB" ("Full Result Set" its returning) and Store it in the Variable as below,
      "ConfigDetails"   "Scope --> Package"    "Type -  Object".
2.  Script Task  (First) ---->   Here "ConfigDetails" Variable is part of "ReadOnlyVariables", So i am accessing this varaible and populating data from it in the Data Table object as below,
OleDbDataAdapter configAdapter = new OleDbDataAdapter();
DataTable dtConfigurationList = new DataTable();
object config = Dts.Variables["ConfigDetails"].Value;
configAdapter.Fill(dtConfigurationList, config);
  So here i am successfull in populating data in the data table .
3. Script Task (Second)--> Same thig i am doing in second script task also as "First"
Here "ConfigDetails" Variable is part of "ReadOnlyVariables", So i am accessing this varaible and populating data from it in the Data Table object as below,
OleDbDataAdapter configAdapter = new OleDbDataAdapter();
DataTable dtConfigurationList = new DataTable();
object config = Dts.Variables["ConfigDetails"].Value;
configAdapter.Fill(dtConfigurationList, config);
 So here it will execute successfully without any error. But no data is there in the data table .
If i skip first script task, second script task is able to populate the data. But i am not righting any code to nullify the object and its part of "Read Only Varaibles."
  So please help me what i am doing wrong.
            configAdapter.Fill(dtConfigurationList, config);

What do you pass to the config variable?
Arthur My Blog

Similar Messages

  • How can I assign a hard coded value to a variable of type OBJECT.

    Hi,
       I have to call the following method
                                      lc_action_execute->get_ref_object(
                                                            exporting
                                                                  io_appl_object = io_appl_object
                                                            importing
                                                                   ev_guid_ref    = lv_guid_ref.
    Now I have to hard code the io_appl_object variable (of type OBJECT) to test my application for the time being. How can I assign a value to the variable? Is there any way to do that?

    I wouldn't use WDR_CONTEXT_ATTR_VALUE_LISTGEN.  Use wdr_context_attr_value_list instead:
    data l_topics type zpm_main_topic_tbl.
      l_topics = wd_assist->read_all_topics( ).
      data lt_valueset type wdr_context_attr_value_list.
      field-symbols <wa_topic> like line of l_topics.
      field-symbols <wa_vs>  like line of lt_valueset.
      loop at l_topics assigning <wa_topic>.
        append initial line to lt_valueset assigning <wa_vs>.
        <wa_vs>-value = <wa_topic>-main_topic.
        <wa_vs>-text  = <wa_topic>-main_topic_desc.
      endloop.
      data lo_nd_meeting type ref to if_wd_context_node.
    * navigate from <CONTEXT> to <MEETING> via lead selection
      lo_nd_meeting = wd_context->get_child_node( name = wd_this->wdctx_meeting ).
      data lo_node_info type ref to if_wd_context_node_info.
      lo_node_info = lo_nd_meeting->get_node_info( ).
      lo_node_info->set_attribute_value_set(
         name = 'MAIN_TOPIC'
         value_set = lt_valueset ).

  • SSIS Programming- How to declare a variable of type Object?

    Hello, I have a very specific coding question. I am trying to create a pkg using SSIS Object model. I am trying to create a variable of type Object. But I could not find any reference in KB or forums on creating variable of this data type.
    Example:
    // Create the package.
    Application a = new Application();
    Package p = new Package();
    p.Name = "MyDataExtractPkg";
    //Add Variables to the pkg
    Variables pkgVars = p.Variables;
    Variable var8 = p.Variables.Add("varHour", false, "User", (System.Int16)0);
    Variable var9 = p.Variables.Add("varHourDiff", false, "User", 0);
    Variable var10 = p.Variables.Add("varIntervalWaitInMS", false, "User", 5000);
    Variable var11 = p.Variables.Add("varJobCnt", false, "User", 0);
    Variable var12 = p.Variables.Add("varjobID", false, "User", 0);
    Variable var13 = p.Variables.Add("varJobRS", false, "User", (System.Object)0);
    Variable var14 = p.Variables.Add("varProcessDate", false, "User", "abc");
    As you can see I was able to successfully variables of Type Int16, Int32(default) & String.
    But I need to create a variable of type Object for "varJobRS" and above code is generating int. Appreciate any direction or help on how to create Object variable type.
    Thanks,
    DW Guy

    I have been continuing with my work with intention to approch MS, but I came across the solution in one of the Blog site. The solution is :
    var13.Value =
    new
    Object();
    This converts the variable of type Object.
    The link that gave this soluion is:
    http://ssisbi.com/building-ssis-packages-programmatically-part-5/
    Thanks,
    DW Guy

  • Unable to add reference for Excel Object Library for use within Script Task

    I have a requirement to use a Script Tax that needs to reference the Excel Object Model. There are numerous articles on using this such as
    http://www.databasejournal.com/features/mssql/article.php/3921141/SSIS-Script-Task-and-Microsoft-Office-Automation.htm.
    Simply, I need to add a reference to the Microsoft Excel 12.0 Object Library.
    I have selected this from the Object List on the COM tab and when this adds the reference it states 'The System cannot find the reference specified', even though the referenced file for this Object is C:\Program Files(x86)\Microsoft Office\Office12\Excel.exe
    and this file location exists on my local machine ?

    Please search where "Microsoft.Office.Interop.Excel.dll" exist in your system and try adding the reference.
    If you don't find the dll there then there might be problem while installing.
    To install the PIAs by using the redistributable package
    http://www.microsoft.com/en-us/download/details.aspx?id=3508
    http://www.microsoft.com/en-us/download/details.aspx?id=18346
    Regards, RSingh

  • Sporadically getting error "string or binary data would be truncated" in SQL server 2008 while inserting in a Table Type object

    I am facing a strange SQL exception:-
    The code flow is like this:
    .Net 4.0 --> Entity Framework --> SQL 2008 ( StoredProc --> Function {Exception})
    In the SQL Table-Valued Function, I am selecting a column (nvarchar(50)) from an existing table and (after some filtration using inner joins and where clauses) inserting the values in a Table Type Object having a column (nvarchar(50))
    This flow was working fine in SQL 2008 but now all of sudden the Insert into @TableType is throwing  "string or binary data would be truncated"  exception. 
    Insert Into @ObjTableType
    Select * From dbo.Table
    The max length of data in the source column is 24 but even then the insert statement into nvarchar temp column is failing.
    Moreover, the same issue started coming up few weeks back and I was unable to find the root cause, but back then it started working properly after few hours
    (issue reported at 10 AM EST and was automatically resolved post 8 PM EST). No refresh activity was performed on the database.
    This time however the issue is still coming up (even after 2 days) but is not coming up in every scenario. The data set, for which the error is thrown, is valid and every value in the function is fetched from existing tables. 
    Due to its sporadic nature, I am unable to recreate it now :( , but still unable to determine why it started coming up or how can i prevent such things to happen again.
    It is difficult to even explain the weirdness of this bug but any help or guidance in finding the root cause will be very helpful.
    I also Tried by using nvarchar(max) in the table type object but it didn't work.
    Here is a code similar to the function which I am using:
    BEGIN
    TRAN
    DECLARE @PID
    int = 483
    DECLARE @retExcludables
    TABLE
        PID
    int NOT
    NULL,
        ENumber
    nvarchar(50)
    NOT NULL,
        CNumber
    nvarchar(50)
    NOT NULL,
        AId
    uniqueidentifier NOT
    NULL
    declare @PSCount int;
    select @PSCount =
    count('x')
    from tblProjSur ps
    where ps.PID
    = @PID;
    if (@PSCount = 0)
    begin
    return;
    end;
    declare @ExcludableTempValue table (
            PID
    int,
            ENumber
    nvarchar(max),
            CNumber
    nvarchar(max),
            AId
    uniqueidentifier,
            SIds
    int,
            SCSymb
    nvarchar(10),
            SurCSymb
    nvarchar(10)
    with SurCSymbs as (
    select ps.PID,
                   ps.SIds,              
                   csl.CSymb
    from tblProjSur ps
                right
    outer join tblProjSurCSymb pscs
    on pscs.tblProjSurId
    = ps.tblProjSurId
    inner join CSymbLookup csl
    on csl.CSymbId
    = pscs.CSymbId 
    where ps.PID
    = @PID
        AssignedValues
    as (
    select psr.PID,
                   psr.ENumber,
                   psr.CNumber,
                   psmd.MetaDataValue
    as ClaimSymbol,
                   psau.UserId
    as AId,
                   psus.SIds
    from PSRow psr
    inner join PSMetadata psmd
    on psmd.PSRowId
    = psr.SampleRowId
    inner join MetaDataLookup mdl
    on mdl.MetaDataId
    = psmd.MetaDataId
    inner join PSAUser psau
    on psau.PSRowId
    = psr.SampleRowId
                inner
    join PSUserSur psus
    on psus.SampleAssignedUserId
    = psau.ProjectSampleUserId
    where psr.PID
    = @PID
    and mdl.MetaDataCommonName
    = 'CorrectValue'
    and psus.SIds
    in (select
    distinct SIds from SurCSymbs)         
        FullDetails
    as (
    select asurv.PID,
    Convert(NVarchar(50),asurv.ENumber)
    as ENumber,
    Convert(NVarchar(50),asurv.CNumber)
    as CNumber,
                   asurv.AId,
                   asurv.SIds,
                   asurv.CSymb
    as SCSymb,
                   scs.CSymb
    as SurCSymb
    from AssignedValues asurv
    left outer
    join SurCSymbs scs
    on    scs.PID
    = asurv.PID
    and scs.SIds
    = asurv.SIds
    and scs.CSymb
    = asurv.CSymb
    --Error is thrown at this statement
    insert into @ExcludableTempValue
    select *
    from FullDetails;
    with SurHavingSym as (   
    select distinct est.PID,
                            est.ENumber,
                            est.CNumber,
                            est.AId
    from @ExcludableTempValue est
    where est.SurCSymb
    is not
    null
    delete @ExcludableTempValue
    from @ExcludableTempValue est
    inner join SurHavingSym shs
    on    shs.PID
    = est.PID
    and shs.ENumber
    = est.ENumber
    and shs.CNumber
    = est.CNumber
    and shs.AId
    = est.AId;
    insert @retExcludables(PID, ENumber, CNumber, AId)
    select distinct est.PID,
    Convert(nvarchar(50),est.ENumber)
    ENumber,
    Convert(nvarchar(50),est.CNumber)
    CNumber,
                            est.AId      
    from @ExcludableTempValue est 
    RETURN
    ROLLBACK
    TRAN
    I have tried by converting the columns and also validated the input data set for any white spaces or special characters.
    For the same input data, it was working fine till yesterday but suddenly it started throwing the exception.

    Remember, the CTE isn't executing the SQL exactly in the order you read it as a human (don't get too picky about that statement, it's at least partly true enough to say it's partly true), nor are the line numbers or error messages easy to read: a mismatch
    in any of the joins along the way leading up to your insert could be the cause too.  I would suggest posting the table definition/DDL for:
    - PSMetadata, in particular PSRowID, but just post it all
    - tblProjectSur, in particularcolumns CSymbID and TblProjSurSurID
    - cSymbLookup, in particular column CSymbID
    - PSRow, in particular columns SampleRowID, PID,
    - PSAuser and PSUserSur, in particualr all the USERID and RowID columns
    - SurCSymbs, in particular colum SIDs
    Also, a diagnostic query along these lines, repeat for each of your tables, each of the columns used in joins leading up to your insert:
    Select count(asurv.sid) as count all
    , count(case when asurv.sid between 0 and 9999999999 then 1 else null end) as ctIsaNumber
    from SurvCsymb
    The sporadic nature would imply that the optimizer usually chooses one path to the data, but sometimes others, and the fact that it occurs during the insert could be irrelevant, any of the preceding joins could be the cause, not the data targeted to be inserted.

  • Activating Object in IR - Getting Null Pointer Exception

    Hello,
    I'm having trouble activating object in my Intergration Repository.  When I activate any object I get a null pointer exception.  Below is the exception:
    #6 09:30:51 [AWT-EventQueue-0] ERROR com.sap.aii.utilxi.swing.toolkit.ExceptionDialog: Throwable
    Thrown:
    MESSAGE ID: com.sap.aii.ib.core.versioning.integration.VersionSetIntegrationException
    com.sap.aii.ib.core.clmgmt.ChangeListMgmtException: java.lang.NullPointerException
         at com.sap.aii.ib.core.clmgmt.ChangeListMgmtException.createFromException(ChangeListMgmtException.java:35)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmtImpl.submitChangeList(ChangeListMgmtImpl.java:227)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmt.submitChangeList(ChangeListMgmt.java:132)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmt.submitChangeList(ChangeListMgmt.java:124)
         at com.sap.aii.ib.sbeans.clmgmt.ChangeListMgmtBean.submitChangeList(ChangeListMgmtBean.java:92)
         at com.sap.aii.ib.sbeans.clmgmt.ChangeListMgmtRemoteObjectImpl10.submitChangeList(ChangeListMgmtRemoteObjectImpl10.java:435)
         at com.sap.aii.ib.sbeans.clmgmt.ChangeListMgmtRemoteObjectImpl10p4_Skel.dispatch(ChangeListMgmtRemoteObjectImpl10p4_Skel.java:343)
         at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:294)
         at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:183)
         at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:119)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)
         at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged1(Native Method)
         at java.security.AccessController.doPrivileged(AccessController.java)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java)
    Serialized server exceptions:
    MESSAGE ID: com.sap.aii.ib.core.versioning.integration.VersionSetIntegrationException (serialized)
    com.sap.aii.ib.core.versioning.integration.VersionSetIntegrationException: java.lang.NullPointerException
         at com.sap.aii.ib.core.versioning.integration.VersionSetIntegrationException.createFromException(VersionSetIntegrationException.java:35)
         at com.sap.aii.ib.server.versioning.integration.VersionSetIntegratorImpl.integrateOpenChangeList(VersionSetIntegratorImpl.java:101)
         at com.sap.aii.ib.server.versioning.integration.VersionSetIntegrator.integrateOpenChangeList(VersionSetIntegrator.java:33)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmtImpl.releaseChangeList(ChangeListMgmtImpl.java:777)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmtImpl.submitChangeList(ChangeListMgmtImpl.java:217)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmt.submitChangeList(ChangeListMgmt.java:132)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmt.submitChangeList(ChangeListMgmt.java:124)
         at com.sap.aii.ib.sbeans.clmgmt.ChangeListMgmtBean.submitChangeList(ChangeListMgmtBean.java:92)
         at com.sap.aii.ib.sbeans.clmgmt.ChangeListMgmtRemoteObjectImpl10.submitChangeList(ChangeListMgmtRemoteObjectImpl10.java:435)
         at com.sap.aii.ib.sbeans.clmgmt.ChangeListMgmtRemoteObjectImpl10p4_Skel.dispatch(ChangeListMgmtRemoteObjectImpl10p4_Skel.java:343)
         at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:294)
         at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:183)
         at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:119)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)
         at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged1(Native Method)
         at java.security.AccessController.doPrivileged(AccessController.java(Compiled Code))
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java(Compiled Code))
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java(Compiled Code))
    MESSAGE ID: java.lang.NullPointerException (serialized)
    java.lang.NullPointerException: java.lang.NullPointerException
         at com.tssap.dtr.pvc.basics.transaction.WriteSet.getObjects(WriteSet.java(Compiled Code))
         at com.tssap.dtr.pvc.basics.persistence.TransactionalComponent.rollback(TransactionalComponent.java:115)
         at com.tssap.dtr.pvc.basics.transaction.Transaction.rollback(Transaction.java(Compiled Code))
         at com.tssap.dtr.pvc.basics.transaction.Transaction.flushWriteSets(Transaction.java(Compiled Code))
         at com.tssap.dtr.pvc.versionmg.DefaultIntegrator.executeDBUpdates(DefaultIntegrator.java:370)
         at com.tssap.dtr.pvc.versionmg.DefaultIntegrator.integrate(DefaultIntegrator.java:325)
         at com.tssap.dtr.pvc.versionmg.VersionSet.integrate(VersionSet.java:180)
         at com.tssap.dtr.pvc.changemg.ChangeList.release(ChangeList.java:202)
         at com.sap.aii.ib.server.versioning.integration.VersionSetIntegratorImpl._integrateConditionally(VersionSetIntegratorImpl.java:173)
         at com.sap.aii.ib.server.versioning.integration.VersionSetIntegratorImpl.integrateOpenChangeList(VersionSetIntegratorImpl.java:84)
         at com.sap.aii.ib.server.versioning.integration.VersionSetIntegrator.integrateOpenChangeList(VersionSetIntegrator.java:33)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmtImpl.releaseChangeList(ChangeListMgmtImpl.java:777)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmtImpl.submitChangeList(ChangeListMgmtImpl.java:217)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmt.submitChangeList(ChangeListMgmt.java:132)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmt.submitChangeList(ChangeListMgmt.java:124)
         at com.sap.aii.ib.sbeans.clmgmt.ChangeListMgmtBean.submitChangeList(ChangeListMgmtBean.java:92)
         at com.sap.aii.ib.sbeans.clmgmt.ChangeListMgmtRemoteObjectImpl10.submitChangeList(ChangeListMgmtRemoteObjectImpl10.java:435)
         at com.sap.aii.ib.sbeans.clmgmt.ChangeListMgmtRemoteObjectImpl10p4_Skel.dispatch(ChangeListMgmtRemoteObjectImpl10p4_Skel.java:343)
         at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:294)
         at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:183)
         at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:119)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)
         at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged1(Native Method)
         at java.security.AccessController.doPrivileged(AccessController.java(Compiled Code))
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java(Compiled Code))
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java(Compiled Code))
    #5 09:30:35 [AWT-EventQueue-0] FINE AutoLog.created.com.sap.aii.utilxi.misc.api.BaseRuntimeException: com.sap.aii.utilxi.misc.api.BaseRuntimeException: Invalid key element attribute id "NAMESPACE". Valid values are: {SWC_VENDOR,SWC_NAME,SWC_VERSION,SWC_ELTYPEID}.
         at com.sap.aii.ib.bom.gen.XiTypeInformation.validateKeyElementAttributeId(XiTypeInformation.java:890)
         at com.sap.aii.ib.bom.gen.XiTypeInformation.getKeyElementIndex(XiTypeInformation.java:905)
         at com.sap.aii.ib.bom.gen.XiKey.getPosition(XiKey.java:169)
         at com.sap.aii.ib.bom.gen.XiKey.getKeyfield(XiKey.java:162)
         at com.sap.aii.ib.bom.gen.XiKey.getNamespace(XiKey.java:157)
         at com.sap.aii.ib.gui.operations.SubmitSubsetDialog.<init>(SubmitSubsetDialog.java:74)
         at com.sap.aii.ib.gui.operations.SubmitSubsetCommand.execute(SubmitSubsetCommand.java:104)
         at com.sap.aii.utilxi.swing.framework.ExecutionContext.execute(ExecutionContext.java:196)
         at com.sap.aii.utilxi.swing.framework.ExecutionContext.executeSafe(ExecutionContext.java:134)
         at com.sap.aii.utilxi.swing.framework.CommandAction.actionPerformed(CommandAction.java:69)
         at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
         at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Unknown Source)
         at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
         at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
         at javax.swing.AbstractButton.doClick(Unknown Source)
         at com.sap.plaf.frog.FrogMenuItemUI$MouseInputHandler.mouseReleased(FrogMenuItemUI.java:833)
         at java.awt.Component.processMouseEvent(Unknown Source)
         at java.awt.Component.processEvent(Unknown Source)
         at java.awt.Container.processEvent(Unknown Source)
         at java.awt.Component.dispatchEventImpl(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Window.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.EventQueue.dispatchEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.run(Unknown Source)
    #4 09:30:35 [AWT-EventQueue-0] DEBUG AutoLog.created.com.sap.aii.utilxi.misc.api.BaseRuntimeException: Invalid key element attribute id "NAMESPACE". Valid values are: {SWC_VENDOR,SWC_NAME,SWC_VERSION,SWC_ELTYPEID}.
    #3 09:29:40 [AWT-EventQueue-0] FINE AutoLog.created.com.sap.aii.ib.core.service.TypeNotRegisteredException: com.sap.aii.ib.core.service.TypeNotRegisteredException: Type "TypeConntestObj" is not registered in the service class Type Service - Type Information
         at com.sap.aii.ib.core.service.ServiceBase.getServiceImpl(ServiceBase.java:71)
         at com.sap.aii.ib.bom.gen.TypeServiceImpl.getTypeInformation(TypeServiceImpl.java:82)
         at com.sap.aii.ib.gui.xiitem.services.InternalXiItemService.getTypeInfo(InternalXiItemService.java:23)
         at com.sap.aii.ib.gui.xiitem.services.InternalXiItemService.createEmptyXiItem(InternalXiItemService.java:92)
         at com.sap.aii.ib.gui.xiitem.services.XiItemServiceProvider.createEmptyXiItem(XiItemServiceProvider.java:97)
         at com.sap.aii.ib.gui.xiitem.InternalXiItemServiceForNameNamespaceObjects.addType(InternalXiItemServiceForNameNamespaceObjects.java:68)
         at com.sap.aii.ib.gui.xiitem.InternalXiItemServiceForNameNamespaceObjects.<init>(InternalXiItemServiceForNameNamespaceObjects.java:55)
         at com.sap.aii.ib.gui.applcomp.StartupCodeEntry.guiStartup(StartupCodeEntry.java:151)
         at com.sap.aii.ib.gui.applcomp.StartupCodeEntry.startup(StartupCodeEntry.java:108)
         at com.sap.aii.ib.core.applcomp.IStartupCodeEntry.startupIfNotAlreadyDone(IStartupCodeEntry.java:33)
         at com.sap.aii.ibrep.gui.applcomp.StartupCodeEntry.startup(StartupCodeEntry.java:68)
         at com.sap.aii.ib.core.applcomp.IStartupCodeEntry.startupIfNotAlreadyDone(IStartupCodeEntry.java:33)
         at com.sap.aii.ib.core.applcomp.ExplicitApplicationComponentImpl.startup(ExplicitApplicationComponentImpl.java:116)
         at com.sap.aii.ib.core.applcomp.ExplicitApplicationComponents.startup(ExplicitApplicationComponents.java:383)
         at com.sap.aii.ib.core.applcomp.ApplicationComponent.startup(ApplicationComponent.java:208)
         at com.sap.aii.ib.gui.login.SplashLoginFrame$6.run(SplashLoginFrame.java:429)
         at java.awt.event.InvocationEvent.dispatch(Unknown Source)
         at java.awt.EventQueue.dispatchEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.run(Unknown Source)
    #2 09:29:40 [AWT-EventQueue-0] DEBUG AutoLog.created.com.sap.aii.ib.core.service.TypeNotRegisteredException: Type "TypeConntestObj" is not registered in the service class Type Service - Type Information
    #1 09:29:40 [AWT-EventQueue-0] FINE AutoLog.created.com.sap.aii.ib.core.service.TypeNotRegisteredException: com.sap.aii.ib.core.service.TypeNotRegisteredException: Type "versConflList" is not registered in the service class Type Service - Type Information
         at com.sap.aii.ib.core.service.ServiceBase.getServiceImpl(ServiceBase.java:71)
         at com.sap.aii.ib.bom.gen.TypeServiceImpl.getTypeInformation(TypeServiceImpl.java:82)
         at com.sap.aii.ib.gui.xiitem.services.InternalXiItemService.getTypeInfo(InternalXiItemService.java:23)
         at com.sap.aii.ib.gui.xiitem.services.InternalXiItemServiceBase.<init>(InternalXiItemServiceBase.java:44)
         at com.sap.aii.ib.gui.xiitem.CommonInternalXiItemService$ForVersionConflictList.<init>(CommonInternalXiItemService.java:326)
         at com.sap.aii.ib.gui.applcomp.StartupCodeEntry.guiStartup(StartupCodeEntry.java:147)
         at com.sap.aii.ib.gui.applcomp.StartupCodeEntry.startup(StartupCodeEntry.java:108)
         at com.sap.aii.ib.core.applcomp.IStartupCodeEntry.startupIfNotAlreadyDone(IStartupCodeEntry.java:33)
         at com.sap.aii.ibrep.gui.applcomp.StartupCodeEntry.startup(StartupCodeEntry.java:68)
         at com.sap.aii.ib.core.applcomp.IStartupCodeEntry.startupIfNotAlreadyDone(IStartupCodeEntry.java:33)
         at com.sap.aii.ib.core.applcomp.ExplicitApplicationComponentImpl.startup(ExplicitApplicationComponentImpl.java:116)
         at com.sap.aii.ib.core.applcomp.ExplicitApplicationComponents.startup(ExplicitApplicationComponents.java:383)
         at com.sap.aii.ib.core.applcomp.ApplicationComponent.startup(ApplicationComponent.java:208)
         at com.sap.aii.ib.gui.login.SplashLoginFrame$6.run(SplashLoginFrame.java:429)
         at java.awt.event.InvocationEvent.dispatch(Unknown Source)
         at java.awt.EventQueue.dispatchEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.run(Unknown Source)
    #0 09:29:40 [AWT-EventQueue-0] DEBUG AutoLog.created.com.sap.aii.ib.core.service.TypeNotRegisteredException: Type "versConflList" is not registered in the service class Type Service - Type Information
    Any assistance is appreciated.
    Thanks,
    Jeff

    Hi Jeff,
    Have you seen this SAP note: 859465 ?
    some of your error message look exactly like those mentioned in this note...
    at com.tssap.dtr.pvc.basics.transaction.WriteSet.getObjects(WriteSet.java(Compiled Code))
    at com.tssap.dtr.pvc.basics.persistence.TransactionalComponent.rollback(TransactionalComponent.java:115)
    at com.tssap.dtr.pvc.basics.transaction.Transaction.rollback(Transaction.java(Compiled Code))
    at com.tssap.dtr.pvc.basics.transaction.Transaction.flushWriteSets(Transaction.java(Compiled Code))
    <b>Remember to restart the server after the changes</b>
    Regards,
    michal
    Message was edited by: Michal Krawczyk

  • How to get values from a stored package variable of type record ?

    Sir,
    In my JClient form, I need to get values from a database stored package variable of type record. And the values are retained in the JClient form for the whole session. The values are copied only once when the form is started.
    What is the best way to do that ?
    Thanks
    Stephen

    Stephen,
    not sure what your model is, but if it is Business Components, I think I would expose the properties as a client method on the application module. This way all JClient panels and frames will have access to it. You could use a HashMap to store the data in teh app module.
    If JDBC supports the record type, then you should be able to call it via a prepared SQL statement. If not, you may consider writing a PLSQL accessor to your stored procedure that returns something that can be handled.
    Steve Muench provides the following examples on his blog page
    http://otn.oracle.com/products/jdev/tips/muench/stprocnondbblock/PassUserEnteredValuesToStoredProc.zip
    http://otn.oracle.com/products/jdev/tips/muench/multilevelstproc/MultilevelStoredProcExample.zip
    Frank

  • Mapping proc output to vars gets error extracting result into a variable of type (DBTYPE_UI2)

    Hi, we run std 2012.  I have a proc (sets nocount on) whose params r shown in the first block .   My execute ssis sql task mapping is shown in the block following that (same order as shown, the param sizes are all -1).  The variable
    characteristics and initial values are shown in the 3rd block.  The execute sql task command is
    exec usp_fileArrivalStatus ?,?,?,?,?,? output,? output,? output
    when I run the proc in ssms followed by a select on the output fields, I get stat 0, instance id -1 and file name empty string (aka tick tick aka '')
    The error is:
    [Execute SQL Task] Error: Executing the query "exec usp_fileArrivalStatus ?,?,?,?,?,? output,? ou..." failed with the following error:
    "An error occurred while extracting the result into a variable of type (DBTYPE_UI2)".
    Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
    Does anybody know what is wrong?
    CREATE PROCEDURE [dbo].[usp_fileArrivalStatus] @NewFilePattern varchar(500),
    @PkgName varchar (257),
    @appid int,
    @MsgHistCreateDate date,
    @messageFriendlyName varchar(500),
    @arrivalStatus int output,
    @instanceId bigint output,
    @fileName varchar(500) output
    VariableName Direction DataType ParamName
    User::TranFilePattern Input VARCHAR 0
    System::PackageName Input VARCHAR 1
    User::AppID Input SHORT 2
    User::todaysDate Input DATE 3
    User::TranFileArriveStatus OUTPUT SHORT 5
    User::TranFileInstanceId OUTPUT LARGE_INTEGER 6
    User::TranFileName OUTPUT VARCHAR 7
    User::TranFileFriendlyName Input VARCHAR 4
    User::TranFilePattern,string,tranfile05-Nov-2014
    User::fileDate,string,05-Nov-2014
    System::PackageName,
    User::AppID,int32,12
    User::todaysDate,DateTime, set by select getdate()
    User::TranFileArriveStatus,int32,0
    User::TranFileInstanceId,Int64,0
    User::TranFileName,string
    User::TranFileFriendlyName,string,Tran File

    I may have gotten past this.  The ui showed the first execution of that proc as the aborting component but when I looked at my error code (-1073548784), and component name in the
    message sent with notification email, I noticed the second component name.  It too executes that proc and still had ushort for appid in sql task mapping and long for instance id.  I changed these characteristics to match what I posted and got green
    on the seq container that runs both.
    I think I go thru this kind of adventure every time I try to map proc output to ssis vars.   

  • How to get the Benefits Rate multiplier value in HCM extract ? used Extract rule type Fastfomula, but returns null.

    how to get the Benefits Rate multiplier value in HCM extract ? used Extract rule type Fastfomula, but returns null.
    Formula:
    DEFAULT FOR BEN_ABR_NAME IS 'NA'
    DEFAULT FOR l_rate_multiplier IS 'X'
    L_BG_ID = GET_CONTEXT(BUSINESS_GROUP_ID, 1)
    L_EFF_DATE = GET_CONTEXT(EFFECTIVE_DATE, to_date('1951/01/01 00:00:00'))
    L_ABRT_ID = GET_CONTEXT(ACTY_BASE_RT_ID, 9999)
    CHANGE_CONTEXTS(EFFECTIVE_DATE = L_EFF_DATE, BUSINESS_GROUP_ID = L_BG_ID, ACTY_BASE_RT_ID = L_ABRT_ID )
    l_rate_multiplier = BEN_ABR_NAME
    RETURN l_rate_multiplier

    I used DBI - BEN_ABR_NAME.
    What is back end query ? can we use query to extract the value in Extracts ?

  • Good practice to initalize all instance variables with type String to emptr

    Is it a good practice to initalize all instance variables with
    type String to emptry string?
    #1 approach:
    public class A
    { private String name = "";
    private String address ="";
    //etc...
    rather than
    #2 approach:
    public class A
    { private String name;
    private String address;
    //etc...
    When I read Java books, the examples don't usually do #1 approach.
    The problem is if we don't initialize to empty string, when we call
    the getter method of that instance variable, it will return null.
    Please advise. Thanks!!

    Please advise. Thanks!!It depends on your coding style. If you can avoid lots of checks for null Strings in the rest of the code then why not initialize to "".
    You have the same situation when a method returns an array. If you under circumstances return a null array reference then you have to always check for this special case, but if you return a zero length array instead you have no special case. All loops will just run 0 iterations and everything will work fine.
    So in general I guess the return of zero objects instead of null references really boils down to whether it simplicates the rest of your code by removing lots of extra checks for the special null case. This usage is especially favourable in the zero length array case. See Effective Java by Bloch, item 27.

  • How can I get null values for the later weeks

    Hi All,
    When I execute this code I get the records till current week.
    How can I display the output so that I get null values for the later weeks. (with the help of v_numOfWeeks variable in the code)
    Thanks,
    Vikram
    DECLARE
       v_query VARCHAR2(4000);
       TYPE ref_cursor IS REF CURSOR;
       v_refcur ref_cursor;
       v_sum NUMBER;
       v_id NUMBER;
       v_name VARCHAR2(1000);
       v_weeknum NUMBER;
       v_pernum NUMBER;
       v_numOfWeeks NUMBER := 5;
    BEGIN
    v_query := ' SELECT SUM(product_bkg), postn_id, postn_tbl.postn_name, b.week_num, b.period_num
                              FROM ops_cv_extract b, (SELECT row_id, desc_text postn_name
                          FROM s_postn) postn_tbl
                          WHERE lvl_6_id = 5767
                          AND fiscal_year = 2008
                          AND b.week_num < 4
                          AND b.period_num = 3
                          AND b.postn_id = TO_NUMBER(postn_tbl.row_id)
                          GROUP BY postn_id, postn_tbl.postn_name, b.week_num, b.period_num
                          ORDER BY  postn_tbl.postn_name, b.week_num';
    OPEN v_refcur FOR v_query;
    LOOP
       FETCH v_refcur INTO v_sum, v_id, v_name, v_weeknum, v_pernum;
       EXIT WHEN v_refcur%notfound;
       dbms_output.put_line('P'|| v_pernum||'W'|| v_weeknum||' '||v_name||' '||v_sum);
    END LOOP;
    END;
    This is the output when I execute this code.
    P3W1 COMM CNTRL ISAM 213 26961.61
    P3W2 COMM CNTRL ISAM 213 12870.4
    P3W3 COMM CNTRL ISAM 213 245.88
    P3W1 COMM CNTRL ISAM 273 72831.2
    P3W2 COMM CNTRL ISAM 273 8739.38
    P3W3 COMM CNTRL ISAM 273 3764.92
    P3W1 COMM CNTRL TAM 213 49844
    P3W2 COMM CNTRL TAM 213 20515.17
    P3W3 COMM CNTRL TAM 213 16167.46
    P3W2 COMM CNTRL TAM 216 12561.4
    P3W3 COMM CNTRL TAM 216 2027.1
    P3W1 COMM CNTRL TAM 273 -3336.71
    P3W2 COMM CNTRL TAM 273 -1376.68
    P3W3 COMM CNTRL TAM 273 19707.42
    P3W1 Damon Walters -609.07
    P3W2 Damon Walters 30030.24
    P3W3 Damon Walters 37475.1
    This is the output I'd like to get
    P3W1 COMM CNTRL ISAM 213 26961.61
    P3W2 COMM CNTRL ISAM 213 12870.4
    P3W3 COMM CNTRL ISAM 213 245.88
    P3W4 COMM CNTRL ISAM 213
    P3W5 COMM CNTRL ISAM 213
    P3W1 COMM CNTRL ISAM 273 72831.2
    P3W2 COMM CNTRL ISAM 273 8739.38
    P3W3 COMM CNTRL ISAM 273 3764.92
    P3W4 COMM CNTRL ISAM 273
    P3W5 COMM CNTRL ISAM 273
    P3W1 COMM CNTRL TAM 213 49844
    P3W2 COMM CNTRL TAM 213 20515.17
    P3W3 COMM CNTRL TAM 213 16167.46
    P3W4 COMM CNTRL TAM 213
    P3W5 COMM CNTRL TAM 213
    P3W1 COMM CNTRL TAM 273 -3336.71
    P3W2 COMM CNTRL TAM 273 -1376.68
    P3W3 COMM CNTRL TAM 273 19707.42
    P3W4 COMM CNTRL TAM 273
    P3W5 COMM CNTRL TAM 273
    P3W1 Damon Walters -609.07
    P3W2 Damon Walters 30030.24
    P3W3 Damon Walters 37475.1
    P3W4 Damon Walters
    P3W5 Damon Walters Edited by: polasa on Oct 28, 2008 6:42 PM

    Sure, in a Single SQL ->
    satyaki>
    satyaki>select * from v$version;
    BANNER
    Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Prod
    PL/SQL Release 10.2.0.3.0 - Production
    CORE    10.2.0.3.0      Production
    TNS for 32-bit Windows: Version 10.2.0.3.0 - Production
    NLSRTL Version 10.2.0.3.0 - Production
    Elapsed: 00:00:00.01
    satyaki>
    satyaki>
    satyaki>-- Start Of Test Data --
    satyaki>with week_tab
      2  as
      3    (
      4      select 1 period_num, 1 week_num, 10 bkg1 from dual
      5      union all
      6      select 1, 2, 40 from dual
      7      union all
      8      select 1, 3, 30 from dual
      9      union all
    10      select 1, 2, 20 from dual
    11      union all
    12      select 1, 1, 10 from dual
    13      union all
    14      select 1, 1, 20 from dual
    15      union all
    16      select 1, 3, 10 from dual
    17      union all
    18      select 2, 1, 15 from dual
    19      union all
    20      select 2, 2, 20 from dual
    21      union all
    22      select 2, 3, 10 from dual
    23      union all
    24      select 2, 1, 15 from dual
    25      union all
    26      select 2, 2, 30 from dual
    27      union all
    28      select 2, 3, 20 from dual
    29    )
    30  -- End Of Test Data --
    31  select period_num,
    32         week_num,
    33         (
    34            select sum(week_tab.bkg1)
    35            from week_tab
    36            where period_num = m.period_num
    37            and   week_num   = m.week_num
    38            group by week_num, period_num
    39         ) sum_bkg1
    40  from (
    41        select dum.week_num,
    42              wk.period_num
    43        from (
    44                select 1 week_num from dual
    45                union all
    46                select 2 from dual
    47                union all
    48                select 3 from dual
    49                union all
    50                select 4 from dual
    51                union all
    52                select 5 from dual
    53              ) dum ,
    54              (
    55                select distinct period_num
    56                from week_tab
    57          ) wk
    58      ) m;
    PERIOD_NUM   WEEK_NUM   SUM_BKG1
             1          1         40
             1          2         60
             1          3         40
             1          4
             1          5
             2          1         30
             2          2         50
             2          3         30
             2          4
             2          5
    10 rows selected.
    Elapsed: 00:00:00.48
    satyaki>Regards.
    Satyaki De.

  • Bind Variable in SELECT statement and get the value  in PL/SQL block

    Hi All,
    I would like  pass bind variable in SELECT statement and get the value of the column in Dynamic SQL
    Please seee below
    I want to get the below value
    Expected result:
    select  distinct empno ,pr.dept   from emp pr, dept ps where   ps.dept like '%IT'  and pr.empno =100
    100, HR
    select  distinct ename ,pr.dept   from emp pr, dept ps where   ps.dept like '%IT'  and pr.empno =100
    TEST, HR
    select  distinct loc ,pr.dept   from emp pr, dept ps where   ps.dept like '%IT'  and pr.empno =100
    NYC, HR
    Using the below block I am getting column names only not the value of the column. I need to pass that value(TEST,NYC..) into l_col_val variable
    Please suggest
    ----- TABLE LIST
    CREATE TABLE EMP(
    EMPNO NUMBER,
    ENAME VARCHAR2(255),
    DEPT VARCHAR2(255),
    LOC    VARCHAR2(255)
    INSERT INTO EMP (EMPNO,ENAME,DEPT,LOC) VALUES (100,'TEST','HR','NYC');
    INSERT INTO EMP (EMPNO,ENAME,DEPT,LOC) VALUES (200,'TEST1','IT','NYC');
    INSERT INTO EMP (EMPNO,ENAME,DEPT,LOC) VALUES (300,'TEST2','MR','NYC');
    INSERT INTO EMP (EMPNO,ENAME,DEPT,LOC) VALUES (400,'TEST3','HR','DTR');
    INSERT INTO EMP (EMPNO,ENAME,DEPT,LOC) VALUES (500,'TEST4','HR','DAL');
    INSERT INTO EMP (EMPNO,ENAME,DEPT,LOC) VALUES (600,'TEST5','IT','ATL');
    INSERT INTO EMP (EMPNO,ENAME,DEPT,LOC) VALUES (700,'TEST6','IT','BOS');
    INSERT INTO EMP (EMPNO,ENAME,DEPT,LOC) VALUES (800,'TEST7','HR','NYC');
    COMMIT;
    CREATE TABLE COLUMNAMES(
    COLUMNAME VARCHAR2(255)
    INSERT INTO COLUMNAMES(COLUMNAME) VALUES ('EMPNO');
    INSERT INTO COLUMNAMES(COLUMNAME) VALUES ('ENAME');
    INSERT INTO COLUMNAMES(COLUMNAME) VALUES ('DEPT');
    INSERT INTO COLUMNAMES(COLUMNAME) VALUES ('LOC');
    COMMIT;
    CREATE TABLE DEPT(
    DEPT VARCHAR2(255),
    DNAME VARCHAR2(255)
    INSERT INTO DEPT(DEPT,DNAME) VALUES ('IT','INFORMATION TECH');
    INSERT INTO DEPT(DEPT,DNAME) VALUES ('HR','HUMAN RESOURCE');
    INSERT INTO DEPT(DEPT,DNAME) VALUES ('MR','MARKETING');
    INSERT INTO DEPT(DEPT,DNAME) VALUES ('IT','INFORMATION TECH');
    COMMIT;
    PL/SQL BLOCK
    DECLARE
      TYPE EMPCurTyp  IS REF CURSOR;
      v_EMP_cursor    EMPCurTyp;
      l_col_val           EMP.ENAME%type;
      l_ENAME_val       EMP.ENAME%type;
    l_col_ddl varchar2(4000);
    l_col_name varchar2(60);
    l_tab_name varchar2(60);
    l_empno number ;
    b_l_col_name VARCHAR2(255);
    b_l_empno NUMBER;
    begin
    for rec00 in (
    select EMPNO aa from  EMP
    loop
    l_empno := rec00.aa;
    for rec in (select COLUMNAME as column_name  from  columnames
    loop
    l_col_name := rec.column_name;
    begin
      l_col_val :=null;
       l_col_ddl := 'select  distinct :b_l_col_name ,pr.dept ' ||'  from emp pr, dept ps where   ps.dept like ''%IT'' '||' and pr.empno =:b_l_empno';
       dbms_output.put_line('DDL ...'||l_col_ddl);
       OPEN v_EMP_cursor FOR l_col_ddl USING l_col_name, l_empno;
    LOOP
        l_col_val :=null;
        FETCH v_EMP_cursor INTO l_col_val,l_ename_val;
        EXIT WHEN v_EMP_cursor%NOTFOUND;
          dbms_output.put_line('l_col_name='||l_col_name ||'  empno ='||l_empno);
       END LOOP;
    CLOSE v_EMP_cursor;
    END;
    END LOOP;
    END LOOP;
    END;

    user1758353 wrote:
    Thanks Billy, Would you be able to suggest any other faster method to load the data into table. Thanks,
    As Mark responded - it all depends on the actual data to load, structure and source/origin. On my busiest database, I am loading on average 30,000 rows every second from data in external files.
    However, the data structures are just that - structured. Logical.
    Having a data structure with 100's of fields (columns in a SQL table), raise all kinds of questions about how sane that structure is, and what impact it will have on a physical data model implementation.
    There is a gross misunderstanding by many when it comes to performance and scalability. The prime factor that determines performance is not how well you code, what tools/language you use, the h/w your c ode runs on, or anything like that. The prime factor that determines perform is the design of the data model - as it determines the complexity/ease to use the data model, and the amount of I/O (the slowest of all db operations) needed to effectively use the data model.

  • Weblogic JMS EJB : ThreadLocal access query : getting null in same thread

    We have two applications(one is jms and other is ejb) on single instance of weblogic managed server.
    On receving a new jms message the jms application call the ejb application by passing the new xml message.
    ejb application creates a threadlocal object and allocated transaction id to this transaction. I want to access this transactionid(present in threadlocal) in my jms application. But i am getting null.
    I believe i am in the same thread as i printing the thread number in the both the application log. I verified that same thread number was present for multiple messages
    in both logs [Except if one scenario of thread pooling is present that when jms calls ejb it frees the thread(23) and when ejb completes its job if gives back the thread(23) to jms...but it resets thread local]
    I need answer to following question
    1. Why is my transaction id null when i access through jms application.
    2. I believe i am in the same jvm instance.
    3. I believe i am in the same thread instance...( looking at logs except if someone can tell me i am not.....)
    4. Or if there is alternative solution to pick up threadlocal variable in my jms application.
    JMS application is new application trying to connect to existing ejb application which had the thread local design and we want to use that existing architecture before we decide to change. We need the transactionid for log corelation.

    I assume that either your JMS destination is backed by a database or your application is doing some database operations in the same transaction as the JMS send operation. I suspect that there is some kind of database maintenance process going on every night, which causes the database operations to be slow or not responding, which in turn causes the MDB transaction that the JMS send operation participates in to timeout.

  • OCCI BUG! Error reading Objects which contain NULLS

    The original problem was that I couldn't retrieve a SDO_GEOMERTY object from a table. Using OCCI and the OTT utility I always got assertions and exceptions.
    Various people have already reported this problem (e.g. Hu Cao, "HELP!! operating SDO_GEOMETRY with OCCI" ).
    After several hours of testing I found the real problem: When ever an object contain NULLS the problem appears.
    Eg. the "occiobj"-demo works fine with the original data. However, after setting one value in a publ_address object to NULL
    eg. UPDATE publisher_tab SET publisher_id=11, publisher_add=publ_address( NULL , 'NEW YORK') WHERE publisher_id=11;
    the demo program crashes!!!
    After discovering this, I generated a SDO_GEOMERTY object containing no NULLS and suddenly my program was able to retrieve the object.
    Consequently there is only one big problem remaining:
    A valid SDO_GEOMERTY object has to have NULLS in it!!!!
    Comments please
    Johannes
    (I'm working with Win2K and the Oracle 9i Client. The bug appears in conjunction with both Oracle 8.1.7 and Oracle 9i)

    I downloaded the Oracle 9i Release 2 (9.2.0.1) Client for Win and there I have less problems to get objects which contain NULLs.
    Now if a standard-typed member (of an objects) is NULL, OCCI recognizes this correctly and the program never crashed again.
    However, there is one BUG remaining. If an object-typed member is NULL the program still crashes.
    Eg. if the SDO_POINT member (type MDSYS.SDO_POINT_TYPE) of an MDSYS.SDO_GEOMETRY object is NULL,
    the program crashes in the
    void sdo_point::readSQL(oracle::occi::AnyData& streamOCCI_)
    function (which was generated by the OTT utility). It seems that in function
    void sdo_point::readSQL(void ctxOCCI_)
    the streamOCCI_.isNull() command doesn't recognize that the sdo_point object is NULL.
    (see source code below)
    WITH THIS BUG YOU CANNOT GET A MDSYS.SDO_GEOMETRY OBJECT WITH OCCI!!!
    Has anybody solved this problem? Is there a bug fix?
    Thanks in Advance
    Johannes
    void sdo_point::readSQL(void ctxOCCI_)
    sdo_point *objOCCI_ = new(ctxOCCI_) sdo_point(ctxOCCI_);
    oracle::occi::AnyData streamOCCI_(ctxOCCI_);
    try
    if (streamOCCI_.isNull()) // <-- doesn't recognize that the object in NULL
    objOCCI_->setNull();
    else
    objOCCI_->readSQL(streamOCCI_); // <-- consequently the actual readSQL is called, which crashes...
    catch (oracle::occi::SQLException& excep)
    delete objOCCI_;
    excep.setErrorCtx(ctxOCCI_);
    return (void *)NULL;
    return (void *)objOCCI_;
    void sdo_point::readSQL(oracle::occi::AnyData& streamOCCI_)
    X = streamOCCI_.getNumber();
    Y = streamOCCI_.getNumber();
    Z = streamOCCI_.getNumber();

  • Is there table type object in PL/SQL?

    Hi.
    What I'm trying to do is, according to the some conditions, aggregate data as an object type( I am not sure that there's a similar thing)
    There are 5-6 conditions. then at last join those table type object.
    FYI, Here is an example
    Company will give bonus to a person who meet these conditions
    1. Salary is less than 1000$ - salary table
    2. More than 5 persons in his family - staff table
    3. gross sale is over 10000$
    In PL/SQL Package, I'll get those data as an object type and join those object just like in-line query.
    select emp_no
    from sal_tbl , staff_tbl, sale_tbl
    where sal_tbl = staff_tbl
    and sal_tbl = sale_tbl
    In my opinion I can get employee list who get bonus. because they meet all conditions.
    Reason why bonus condition will be updated continuously. I want to make them easy to maintanence. what if I need to add new conditions. Just add a new procedure that calculate new result and pass as an table type object.
    select emp_no
    from sal_tbl , staff_tbl, sale_tbl, new_tbl*
    where sal_tbl = staff_tbl
    and sal_tbl = sale_tbl
    and sal_tbl = new_tbl*
    Is there any thing just like what I think?
    Thanks in advance
    Message was edited by: me
    allbory
    I have read Oracle user guide - Collection, Record, and Cursor. But I can't get anything that I want.
    Give me some clues

    > In PL/SQL Package, I'll get those data as an object type and join those object just like
    in-line query.
    Not the best of ideas. If I'm getting what you're saying, you want to use the following approach:
    SQL> create or replace type TStrings as table of varchar2(4000);
    2 /
    Type created.
    SQL>
    SQL>
    SQL> create or replace procedure BadIdea( collection TStrings ) is
    2 minVal string(4000);
    3 maxVal string(4000);
    4 begin
    5 -- in the procedure we now run SQLs against the collection
    6 select
    7 MIN( column_value ) into minVal
    8 from TABLE( collection );
    9
    10 select
    11 MAX( column_value ) into maxVal
    12 from TABLE( collection );
    13 end;
    14 /
    Procedure created.
    SQL> show errors
    No errors.
    SQL>
    SQL>
    SQL> -- and then we call this procedure to do our "SQL" processing for us
    SQL> declare
    2 list TStrings;
    3 begin
    4 select
    5 object_name bulk collect into list
    6 from user_objects;
    7
    8 BadIdea( list );
    9 end;
    10 /
    PL/SQL procedure successfully completed.A collection of objects resides in (non-sharable and expensive) PL/SQL memory. Running SQL, requires the PL/SQL engine copying the data to the SQL engine into a structure and format that the SQL engine will understand.
    This is slow. This is expensive. This does not scale.
    It makes little sense to copy data from the very fast and hot and good and scalable db buffer cache into an expensive memory structure in the PGA and then run SQLs against that.
    > Reason why bonus condition will be updated continuously. I want to make them easy
    to maintanence. what if I need to add new conditions. Just add a new procedure that
    calculate new result and pass as an table type object.
    The way I read your SQL, your new_tbl* requires dynamic SQL. Which means you also need to dynamically cater for the correct column names to join on, to filter on, and to select from.
    Also not the best of ideas. Dynamic SQL like that requires a lot of code to deal correctly with bind variables. Lot of exception handling as there can easily be run-time errors as the code itself that is executed in turn creates new dynamic code to execute.
    If this is to be truly dynamic, then one approach would be that each rule needs to be executable as a SQL or PL/SQL block. Each rule needs to have an input like an employee number. Each rule needs to returns a boolean like value, saying whether the rule has passed or failed.
    Only when all the rules have been passed, can the bonus be allocated.
    This will deal fine with the "dynamic rule" requirement. Performance wise and scalability wise.. it may not be the best of ideas. 10 dynamic and very slow and expensive rules, could very well be rewritten as a one very fast and very cheap static SQL statement.
    Anyway, the dynamic rule approach can look something like the following:
    SQL> create or replace type TBonusRule is object
    2 (
    3 result# char(1),
    4 member function Passed return boolean
    5 )
    6 not final;
    7 /
    Type created.
    SQL> show errors
    No errors.
    SQL>
    SQL>
    SQL> create or replace type body TBonusRule is
    2 member function Passed return boolean is
    3 begin
    4 return( UPPER(self.result#) = 'Y' );
    5 end;
    6 end;
    7 /
    Type body created.
    SQL> show errors
    No errors.
    SQL>
    SQL>
    SQL> create or replace type TBonusSQLRule under TBonusRule
    2 (
    3 constructor function TBonusSQLRule( empNo number, sqlStatement varchar2 ) return self as result
    4 ) final;
    5 /
    Type created.
    SQL> show errors
    No errors.
    SQL>
    SQL>
    SQL> create or replace type body TBonusSQLRule is
    2 constructor function TBonusSQLRule( empNo number, sqlStatement varchar2 ) return self as result is
    3 begin
    4 execute immediate sqlStatement
    5 into self.result#
    6 using IN empNo;
    7
    8 return;
    9 end;
    10
    11 end;
    12 /
    Type body created.
    SQL> show errors
    No errors.
    SQL>
    SQL> set serveroutput on
    SQL> declare
    2 rule1 TBonusSQLRule;
    3 rule2 TBonusSQLRule;
    4 empNo number;
    5 begin
    6 empNo := 7369; -- we process employee 7369
    7
    8 -- we apply bonus rule 1 that check if the employee is a clerk (of course,
    9 -- we could be reading these rules from a rules table - this example simply
    10 -- creates them dynamically)
    11 rule1 := new TBonusSQLRule( empNo, 'select ''Y'' from emp where empno = :0 and job=''CLERK''' );
    12
    13 if rule1.Passed then
    14 DBMS_OUTPUT.put_line( 'Rule 1. PASSED' );
    15 else
    16 DBMS_OUTPUT.put_line( 'Rule 1. FAILED' );
    17 end if;
    18
    19 -- rule 2 can for example check if the employee has been working for at least 5 years for the
    20 -- company
    21 rule2 := new TBonusSQLRule( empNo, 'select ''Y'' from emp where empno = :0 and (SYSDATE-hiredate)>5*365' );
    22
    23 if rule2.Passed then
    24 DBMS_OUTPUT.put_line( 'Rule 2. PASSED' );
    25 else
    26 DBMS_OUTPUT.put_line( 'Rule 2. FAILED' );
    27 end if;
    28
    29 end;
    30 /
    Rule 1. PASSED
    Rule 2. PASSED
    PL/SQL procedure successfully completed.
    SQL>
    PL/SQL rules can in a similar fashion be subclassed from the base/asbtract class. And rules can be persisted in a table too.
    But even though I did this example to illustrate just how flexible Oracle can be, I would personally think hard before using the above approach myself.
    Why?
    Because rules 1 and 2 resulted in two SQLs being fired. A single SQL could have done the job.
    2 SQLs were used for a single employee. I can use a single SQL to find ALL employees that matches the rule criteria.
    So... not very scalable and not very fast.

Maybe you are looking for

  • New Pro what to do with Powerbook

    First- How do you know which version of the powerbook you have? I think mine is Ti, but not 100% sure. Second- I got a new PRO- wow it's nice- it took awhile before I could muster up giving up the powerbook. So I think i'm going to gulp sell the old

  • SMTP: message submitted to categorizer

    Hi A few e-mails are recieved by the Exchange 2003 server but not delieverd to the recipent. When I track e-mails with Message tracking center Tool there are 3 lines in the dialog-box. These are: SMTP: Message Submitted to Advanced Cueuing SMTP: Star

  • Table which gives Cost Elements allocated to Activity Types

    Hii Experts, I need to know the table which gives the Activity types along with the respective GL/Cost Elements attached to them. Can anyone help me where to look at the table. I see i can get the Activity types with Cost Centers, Cost Centers with C

  • Will Setup Assistant allow me to choose a new user name or must I keep the user name on the source computer?

    The source computer is an early 2008 Macbook Pro running Mavericks. The new computer (it's in transit) is a 15" Macbook Pro w/ Retina Display, also running Mavericks. I want to copy all files, settings, apps etc from the old computer but I do not wan

  • Please help - I  needed to restore my computer - All iTunes songs gone

    My system recently was infected by a virus and I needed to restore my entire computer. I had about 250 songs in my iTunes library. I still have these songs in my ipod nano. I reinstalled iTunes, but of course, now it is empty. I don't want to sync my