Association rules - Memory problem?

I am running the associtaion rules program in Java and I get
the following error. Any idea what causes this error?
Thank u
K
arBuildTask_jdm is started, please wait. arBuildTask_jdm is failed.
Failure Description: ORA-40101: Data Mining System Error ORA-40101: Data Mining System Error ORA-40101: Data Mining System Error ODM_ASSOCIATION_MODEL-BUILD--20010
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 105
ORA-06512: at "DMSYS.ODM_ASSOCIATION_RULE_MODEL", line 144
ORA-06512: at "DMSYS.ODM_ASSOCIATION_RULE_MODEL", line 1397
ORA-00600: internal error code, arguments: [15593], [kxhfFind: no partition with a full slot], [], [], [], [], [], []
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 105
ORA-06512: at "DMSYS.ODM_ASSOCIATION_RULE_MODEL", line 144
ORA-06512: at "DMSYS.ODM_ASSOCIATION_RULE_MODEL", line 1397
ORA-06512: at "DMSYS.DBMS_DATA_MINING", line 312
ORA-06512: at "DMSYS.DBMS_JDM_INTERNAL", line 157
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
ORA-06512: at "DMSYS.DBMS_JDM_INTERNAL", line 179
ORA-06512: at line 1
--

This is a known bug that has been fixed in the upcoming database release (11g).

Similar Messages

  • Association rules - memory issue

    Hi everyone,
    I'm testing oracle data mining to generate a high number of association rules, starting from a table containing around 100 columns and 1800 lines. I transformed the table in a view as shown with the market basket demo, but I'm still having a memory error each time I'm trying to launch the data mining process.
    I've tried with a table containing less columns and lines, and it worked fine.
    Is there a way to set ODM to allow it to process this big table and generate millions of association rules without having some memory errors ?
    Is it possible to find how exactly the apriori algorithm works, I mean to find if the sql process is only working with the RAM and writes in the database in the end, or if it commits into the database during the process (before exploding memory).
    Merry christmas by the way !!!!!

    Hi,
    thanks again for your reply. I tried the tweak with the shared_pool_size, and I'm still having some memory issues.
    Do you know how the model is build, and how it works technically ?
    I can see that itemsets and rules are created when you build the model. Is it stored in a procedure (which applies the apriori algorithm), computes the model and then stores the rules generated into the database during commit ?
    In this case all the process (model building) is stored in RAM, am I right ?
    And that's why the process crash when there are too much data processed. Is it possible to avoid this, I mean commit the rules even during the process to free some RAM space in order to continue the rule generation ?

  • Finding association rule (creating problem)

    sir i m working on xquery for finding assocation rule using xquery i complete the conding for how i write xquery for that. but now i found a problem that they give me error that _"Unexpected token "declare function" beyond end of query_" i send me coding part for u plz help me out for how i do.........i m using oxygen xml developer for running the xquery my simple query running proper but we use more than one function in recursive manner they create problem give error Unexpected token "declare function" beyond end of query.
    (: You can activate the content completion by pressing the Ctrl+Space keys. :)
    xquery version "1.0";
    (: Namespace for the <oXygen/> custom functions and variables :)
    declare namespace oxy="http://www.oxygenxml.com/xquery/functions";
    declare namespace global="http://www.oxygenxml.com/xquery/functions";
    (: The URI of the document that is to be queried :)
    declare variable $oxy:document-uri as xs:string := "transaction.xml";
    declare variable $oxy:document-to-query as xs:string := "transaction.xml";
    declare variable $local:document-to-query as xs:string := "transaction.xml";
    declare variable $oxy:document as document-node() := doc($oxy:document-uri);
    let $src := doc("transaction.xml")//items
    let $minsup:=2
    let $total:=count($src)*1.00
    let $c:=distinct-values($src/*)
    let $l:=(for $itemset in $c
    let $items:=(for $item in $src/*
    where $itemset=$item
    return $item)
    let $sup:=(count($items)+1)
    where $sup>=$minsup
    return <largeItemset>
    <items> {$items} </items>
    <support> {$sup} </support>
    </largeItemset>)
    let $L:=$l
    return <largeItemsets>{oxyl:FP-growth($l,$L,$minsup,$total,$src)}
    </largeItemsets>
    _/////that part is fine but we we use next fp-growth function they give same error
    plz sir help me for solving this////*
    declare function oxy:FP-growth(element $l, element $L, element $minsup, element $total, element $src)
    returns element {
    let $f-item:= first item in $L
    let $l-item:= last item in $L
    let $T:=oxy:getl-itemsets($src, $total, $minsup)
    return <items>
    {oxy:join ($l-item, $T)}
    </items>
    let $l:=$l-items
    let $L:=oxy:remove($l)
    for f-item in $L
    where $f-item != $l-item
    return oxy:FP-growth($l, $L, $minsup, $total, $src)
    declare function oxy:getl-itemsets(element $src, element $total, element $minsup)
    returns element {
    let $l:=(for $itemset in $src
    where $itemset=$l-item
    return $itemset)
    let $sup:=(count($l)+1
    where $sup>=$minsup
    return <largeItemset>
    <items> {$item} </items>
    <support> {$sup} </support>
    </largeItemset>
    declare function oxy:join(element $X, element $Y) returns element {
    let $items := (for $item in $Y
    where every $i in $X satisfies
    $i != $item
    return $item)
    return $X union $items
    declare function oxy:removeDuplicate(element $C) returns element
    for $itemset1 in $C
    let $items1 := $itemset1/*
    let $items :=(for $itemset2 in $C
    let $items2 := $itemset2/*
    where $itemset2>>$itemset1 and
    count($items1) =
    count(commonIts($items1, $items2))
    return $items2)
    where count($items) = 0
    return $itemset1
    input file for this xquery is:=
    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/css" href="personal-schema.css"?>
    <transactions>
    <transaction id="1">
    <items>
    <title>The Green Mile</title>
    <author>Stephen King</author>
    <item>a</item>
    <item>d</item>
    <item>e</item>
    </items>
    </transaction>
    <transaction id="2">
    <items>
    <title>The Green Mile</title>
    <author>J. D. Salinger</author>
    <item>b</item>
    <item>c</item>
    <item>d</item>
    </items>
    </transaction>
    <transaction id="3">
    <items>
    <title>The Green Mile</title>
    <author>Issac Asimov</author>
    <item>a</item>
    <item>c</item>
    <item>e</item>
    </items>
    </transaction>
    <transaction id="4">
    <items>
    <title>The Green Mile</title>
    <author>Isaac Asimov</author>
    <item>b</item>
    <item>c</item>
    <item>d</item>
    </items>
    </transaction>
    <transaction id="5">
    <items>
    <title>The Green Mile</title>
    <author>Oscar Wilde</author>
    <item>a</item>
    <item>b</item>
    </items>
    </transaction>
    </transactions>
    Edited by: 920412 on Mar 12, 2012 11:26 PM
    Edited by: 920412 on Mar 14, 2012 10:57 PM
    Edited by: 920412 on Mar 14, 2012 11:17 PM

    thank u sir my code is running
    but there is one problem the result he regerate is not correct sir
    i send the complete information to u my input file my project code my output file and my actual output that i need ......plz sir chek it where is he logical mistak in code i completely chek lots of time i m not able to find where is the logical mistak plz sir help me
    input file "transactions.xml"
    <?xml version="1.0" standalone="yes"?>
    <transactions>
    <transaction id="1">
    <items>
    <item>a</item>
    <item>d</item>
    <item>e</item>
    </items>
    </transaction>
    <transaction id="2">
    <items>
    <item>b</item>
    <item>c</item>
    <item>d</item>
    </items>
    </transaction>
    <transaction id="3">
    <items>
    <item>a</item>
    <item>c</item>
    <item>e</item>
    </items>
    </transaction>
    <transaction id="4">
    <items>
    <item>b</item>
    <item>c</item>
    <item>d</item>
    </items>
    </transaction>
    <transaction id="5">
    <items>
    <item>a</item>
    <item>b</item>
    </items>
    </transaction>
    </transactions>
    coding :=
    xquery version "1.0";
    declare namespace local = "http://www.w3.org/2003/11/xpath-local-functions";
    declare function local:join($X as element()*, $Y as element()*) as element()* {
    let $items := (for $item in $Y
    where every $i in $X satisfies
    $i != $item
    return $item)
    return $X union $items
    declare function local:commonIts($X as element()*, $Y as element()*) as element()* {
    for $item in $X
    where some $i in $Y satisfies $i = $item
    return $item
    declare function local:removeIts($X as element()*, $Y as element()*) as element()* {
    for $item in $X
    where every $i in $Y satisfies $i != $item
    return $item
    declare function local:candidateGen($l as element()*) as element()* {
    for $freqSet1 in $l
    let $items1 := $freqSet1//items/*
    for $freqSet2 in $l
    let $items2 := $freqSet2//items/*
    where $freqSet2 >> $freqSet1 and
    count($items1)+1 = count($items1 union $items2)
    and local:prune(local:join($items1,$items2), $l)
    return
    <items>{local:join($items1,$items2)}</items>
    declare function local:prune($X as element()*, $Y as element()*) as xs:boolean
    every $item in $X satisfies
    some $items in $Y//items satisfies
    count(local:commonIts(local:removeIts($X,$item),$items/*))
    = count($X) - 1
    declare function local:removeDuplicate($C as element()*) as element()*
    for $itemset1 in $C
    let $items1 := $itemset1/*
    let $items :=(for $itemset2 in $C
    let $items2 := $itemset2/*
    where $itemset2>>$itemset1 and
    count($items1) =
    count(local:commonIts($items1, $items2))
    return $items2)
    where count($items) = 0
    return $itemset1
    declare function local:getLargeItemsets($C as element()*, $minsup as xs:decimal, $total as xs:decimal, $src as element()*) as element()*
    for $items in $C
    let $trans := (for $tran in $src
    where every $item1 in $items/* satisfies
    some $item2 in $tran/*
    satisfies $item1 = $item2
    return $tran)
    let $sup := (count($trans) * 1.00) div $total
    where $sup >= $minsup
    return <largeItemset> {$items}
    <support> {$sup} </support>
    </largeItemset>
    declare function local:fp-growth($l as element()*, $L as element()*, $minsup as xs:decimal, $total as xs:decimal, $src as element()*) as element()*
    let $C := local:removeDuplicate(local:candidateGen($l))
    let $l := local:getLargeItemsets($C, $minsup, $total, $src)
    let $L := $l union $L
    return if (empty($l)) then
    $L
    else
    local:fp-growth($l, $L, $minsup, $total, $src)
    let $src := doc("transactions.xml")//items
    let $minsup := 0.5
    let $total := count($src) * 1.00
    let $C := distinct-values($src/*)
    let $l :=(for $itemset in $C
    let $items := (for $item in $src/*
    where $itemset = $item
    return $item)
    let $sup := (count($items) * 1.00) div $total
    where $sup >= $minsup
    return <largeItemset>
    <items> {$itemset} </items>
    <support> {$sup} </support>
    </largeItemset>)
    let $L := $l
    return <largeItemsets> { local:fp-growth($l, $L,$minsup, $total, $src) }
    </largeItemsets>
    output that is get for running the query:=
    <?xml version="1.0" encoding="UTF-8"?>
    <largeItemsets>
    <largeItemset>
    <items>a</items>
    <support>0.6</support>
    </largeItemset>
    <largeItemset>
    <items>d</items>
    <support>0.6</support>
    </largeItemset>
    <largeItemset>
    <items>b</items>
    <support>0.6</support>
    </largeItemset>
    <largeItemset>
    <items>c</items>
    <support>0.6</support>
    </largeItemset>
    </largeItemsets>
    but sir i want my output like that:=
    <?xml version="1.0" standalone="yes"?>
    <largeItemsets>
    <largeItemset>
    <Items>
    <item>a</item>
    </Items>
    <support>0.6</support>
    </largeItemset>
    <largeItemset>
    <Items>
    <item>d</item>
    </Items>
    <support>0.6</support>
    </largeItemset>
    <largeItemset>
    <Items>
    <item>b</item>
    </Items>
    <support>0.6</support>
    </largeItemset>
    <largeItemset>
    <Items>
    <item>c</item>
    </Items>
    <support>0.6</support>
    </largeItemset>
    <largeItemset>
    <Items>
    <item>d</item>
    <item>b</item>
    </Items>
    <support>0.4</support>
    </largeItemset>
    <largeItemset>
    <Items>
    <item>b</item>
    <item>c</item>
    </Items>
    <support>0.4</support>
    </largeItemset>
    <largeItemset>
    <Items>
    <item>d</item>
    <item>c</item>
    <item>b</item>
    </Items>
    <support>0.4</support>
    </largeItemset>
    </largeItemsets>
    sir i want that out which i shown last help me sir how i sort out this problem
    thank i advance

  • Association Rules problem

    Hello,
    I have a problem with making association rules in Oracle 10g ODM. The problem is as follows:
    I have my test dataset for testing assoc. rules. I used that dataset before for testing assoc. rules models with Oracle 9i ODM release (9.2.0.4). And I have found significant number of rules within that dataset when I used Oracle 9i ODM (9.2.0.4.).
    But when I use Oracle 10g ODM to build an association rules model with the same set of parameters (min. support, min. confidence and max. rule length) I've got 0 rules.
    I can't find where is the problem, so I think that there is some sort of bug within Oracle 10g ODM.
    Does anyone have similar experience or have some explanation for this?
    Thnx in advance,
    Ivan

    What version of Data Miner are you using?
    If you are using the api directly, are you using the
    java or pl/sql api.
    Thanks, MarkI've been using Java API.
    I've continued my investigation of the mentioned problem and I have found that DMS throws following exception:
    ORA-38605: FI not enough memory (stringK) for candidate generation(stringK)
    Cause: There was insufficient available memory for candidate generation.
    Suggested action from Metalink is:
    In workarea_size_policy='manual' mode, set ficarea_size to a reasonably larger value. Or, in workarea_size_policy='auto' mode, set pga_aggregate_target to a reasonably larger value
    And I've increased the size of my SGA more than three times (from 128 to 512 MB), set work_area_policy=auto and set pga_aggregate_target to 20% of SGA .
    After that I've got following exception:
    ORA-40101: Data Mining System Error ODM_ASSOCIATION_MODEL-BUILD--20010
    ORA-06512: at "SYS.DBMS_SYS_ERROR", line 105
    ORA-06512: at "DMSYS.ODM_ASSOCIATION_RULE_MODEL", line 150
    ORA-06512: at "DMSYS.ODM_ASSOCIATION_RULE_MODEL", line 1299
    ORA-01452: cannot CREATE UNIQUE INDEX; duplicate keys found
    ORA-06512: at "DMSYS.ODM_ASSOCIATION_RULE_MODEL", line 1364
    ORA-06512: at line 1
    DMS throws this exception after longer time of task execution.
    Now, I don't know what to do further.
    I repeat that with the same dataset and same model parameters (support, confidence and max. rule length) I've got significant number of rules with ODMS within Oracle 9i database (9.2.0.4).
    Thnx,
    Ivo

  • Problems with Association Rules

    Hi all,
    I am trying to use ODMr to run association rules and am getting the following error message:
    Server task state: error
    Server task detail:
    ORA-40101: Data Mining System Error ORA-40101: Data Mining System Error ORA-40101: Data Mining System Error ODM_ASSOCIATION_MODEL-BUILD--20010
    ORA-06512: at "SYS.DBMS_SYS_ERROR", line 105
    ORA-06512: at "DMSYS.ODM_ASSOCIATION_RULE_MODEL", line 144
    ORA-06512: at "DMSYS.ODM_ASSOCIATION_RULE_MODEL", line 1396
    ORA-00902: invalid datatype
    ORA-06512: at "SYS.DBMS_SYS_ERROR", line 105
    ORA-06512: at "DMSYS.ODM_ASSOCIATION_RULE_MODEL", line 144
    ORA-06512: at "DMSYS.ODM_ASSOCIATION_RULE_MODEL", line 1396
    ORA-06512: at "DMSYS.DBMS_DATA_MINING", line 305
    ORA-06512: at "DMSYS.DBMS_JDM_INTERNAL", line 157
    ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
    ORA-06512: at "DMSYS.DBMS_JDM_INTERNAL", line 179
    ORA-06512: at line 1
    This error is generated on the sample data as used in the ORACLE 10G Release 2 Data Mining Tutorial, and on other datasets that I tried.
    My sense is that the algorithm is expecting data in the datatype of DM_NESTED_NUMERICALS, even though the documentation asks for transactional data. When I converted to nested columns, the prog errored out again as it was expecting a number rather than nested column.??

    Hi Carolyn,
    I reviewed the tutorial and tested out the example for Association Rules. The example uses SH.SALES and SH.PRODUCTS.
    It worked fine.
    ODMr converts the "transactional" data, in the case of Association Rules, into DM_NESTED_NUMERICALS.
    When ODM documentation refers to transactional data, it implies the use of nested columns. This can be confusing given that older versions of ODM actually supported a "transactional format", which is now supported only through nested columns.
    I copied the following view definition that was passed in to ODM to build the Association Rules model (based on the tutorial noted above). Take a look at them to get a better understanding on what ODMr is doing to prepare the data.
    If you can give us a specific example including the tutorial table you used and the settings you specified in the Association Rules Wizard, I can review that to see what the problem might be.
    Thanks, Mark
    SELECT caseTable."DMR$CASE_ID", txnTable1."PROD_ID" FROM "DMUSER"."DM4J$VSALES657013432" caseTable, (SELECT "DMR$CASE_ID", CAST(COLLECT(DM_Nested_Numerical("NAME", "VALUE")) AS DM_Nested_Numericals) "PROD_ID" FROM "DMUSER"."DM4J$SALES423975876" GROUP BY "DMR$CASE_ID") txnTable1 WHERE caseTable."DMR$CASE_ID" = txnTable1."DMR$CASE_ID"
    The view makes references to other tables/views defined below:
    DM4J$VSALES657013432 is shown below:
    SELECT distinct "DMR$CASE_ID" FROM
         (SELECT "CUST_ID","TIME_ID", DENSE_RANK() OVER (ORDER BY "CUST_ID","TIME_ID") DMR$CASE_ID FROM "SH"."SALES")
    ORDER BY "DMR$CASE_ID"
    DM4J$SALES423975876 is shown below:
    SELECT DMR$CASE_ID, CAST("PROD_ID" AS VARCHAR2(30)) as NAME, 1 as VALUE
    FROM
    (SELECT "PROD_ID", "CUST_ID","TIME_ID", DENSE_RANK() OVER (ORDER BY "CUST_ID","TIME_ID") DMR$CASE_ID FROM "SH"."SALES")
    ORDER BY DMR$CASE_ID

  • Report (uses LDB's) giving dump due to memory problem

    Hi,
    I have a report which is giving dump in production due to memory problem.
    Memory is increased from basis part,but still getting same error.
    the report uses Logical DataBases.
    Can anyone suggest solution to solve this problem.
    regards
    Mallik

    Hi Amit,
    thanks for ur quick reply and ur idea "make changes in development and write the logic to read records in chunks".
    I have n't worked on LDB's till now.So i Don't know how I can read the data in chunks from LDB's.
    Can u Plz give some idea how to read data in chunks.
    Iam also sending the code,if possible ,plz go thru it and give me some idea.
    Hope u will help me.
    CODE.
    REPORT ZAROP028
    ABLES: PROJ,                          " Project definition
            PRPS_R,                        " WBS element
            PRPS,                          " WBS elements
            TJ02T,                         " System Status Values
            TCJ1,                          " Project Types
            JEST,                          " Active System Status
            COSP1,                         " cost totals - external postings
            COSS1,                         " cost totals - internal postings
            COVP11,                        " Line Items by Prd & Doc Header
            COVP12,                        " Line Items by Prd & Doc Header
            BHDGD,                         " Page heading table.
            AUFK,                          " Order Master Data for WBS (LDB)
            ANEP,                          " Asset line item
            COBRB,                         "Distribution Rules Settlement Ru
            SETHIER,                       "Hierarchy Structure
            TKA02,                         "Controlling Area Assignment
            CEPC,                          "Profit Center Master Data
            PSDYPD,                        "Dummy struct for GET proj late
            PSDYPR,                        "Dummy struct for GET PRPS_R late
            PSDYNP.                        "Dummy struct for GET AUFK late
    CONSTANTS:
              C_E                   TYPE C VALUE 'E',
              C_I                   TYPE C VALUE 'I',
              C_N                   TYPE C VALUE 'N',
              C_X                   TYPE C VALUE 'X',
              C_Y                   TYPE C VALUE 'Y',
              C_NE(2)               TYPE C VALUE 'NE',
              C_EQ(2)               TYPE C VALUE 'EQ',
              C_USD(3)              TYPE C VALUE 'USD',
              C_04(2)               TYPE C VALUE '04',
              C_I0046(5)            TYPE C VALUE 'I0046'
    various working storage
    DATA:
         W_TXT04(4)  TYPE C.                      " make status uppercase
    DATA: ACTIVE(1)        TYPE C VALUE 'A',       " type for status_flag
          INACTIVE(1)      TYPE C VALUE 'I',       " type for status_flag
          STATUS_FLAG(1)   TYPE C VALUE 'I',       " wbs active or inactive?
          INACTIVEDT       LIKE SY-DATUM,          " inactive date for wbs
          REC_FLAG         TYPE C VALUE 'N',       " records retrieved?
          DAYS_INACTIVE    TYPE I,                 " days wbs has been inac
          W_LOWINACT       TYPE I,                 " smallest inactive days
          WBS_CNT          TYPE I,                 " cnt for wbs in status
          W_AUC_COST       TYPE P DECIMALS 2,      " unsettled auc cost
          W_VNAME          LIKE PRPS_R-VNAME.      " venture number storage
    DATA:  BEGIN OF ITAB OCCURS 0,                              "MELI-5F2KMH
            COMPCODE       LIKE PROJ-VBUKR,    " company code
            PLANT          LIKE PROJ-WERKS,    " plant
            PROJECT        LIKE PROJ-PSPID,    " project
            NAME           LIKE PROJ-POST1,    " project description
            DINACT         TYPE I,             " days proj inactive
            PRCTR          LIKE PROJ-PRCTR,    " profit center
            SETID          LIKE SETHIER-SETID, " level 2 pc hier
            DESCRIPT       LIKE SETHEADERT-DESCRIPT,
            VERNA          LIKE PROJ-VERNA,    " person responsible
            AUC            TYPE P DECIMALS 2,  " AUC unsettled amount
          END OF ITAB.
    DATA: BEGIN OF I_INACT OCCURS 0,
            STAT  LIKE JEST-STAT,
            INACT LIKE JEST-INACT,
          END OF I_INACT.
    DATA: EQ_FLAG TYPE C,                       " system status flag
          NE_FLAG TYPE C.                       " system status flag
    TYPES:  BEGIN OF T_COSTS,
              PSPID  LIKE PROJ-PSPID,
              BUDAT  LIKE COVP11-BUDAT,
            END OF T_COSTS.
    DATA:  I_PROJ LIKE PROJ OCCURS 0 WITH HEADER LINE,
           I_PRPS_R LIKE PRPS_R OCCURS 0 WITH HEADER LINE,
           I_COSTS TYPE T_COSTS OCCURS 0 WITH HEADER LINE.
    DATA:  W_RECORDS TYPE I.
    DATA: FOUND_FLAG TYPE C.                        " CHAD-4PRPDE
    DATA: BEGIN OF I_HIER OCCURS 0.                             "FEAT-5BNRRP
            INCLUDE STRUCTURE SETHIER.                          "FEAT-5BNRRP
    DATA: END OF I_HIER.                                        "FEAT-5BNRRP
    RANGES: R_TJ02T FOR TJ02T-ISTAT.
    DATA: W_LVL2 LIKE SETHIER-SETID.                            "MELI-5F2KMH
    SELECTION-SCREEN BEGIN OF BLOCK PROJECT WITH FRAME TITLE TEXT-B01.
    PARAMETERS:       P_BUDAT LIKE COVP11-BUDAT,
                      DAYINACT(3) TYPE N DEFAULT '090'.
    SELECTION-SCREEN SKIP.                                      "FEAT-5BNRRP
    PARAMETERS:       P_PC-SET LIKE CEPC-KHINR OBLIGATORY       "FEAT-5BNRRP
                      DEFAULT 'SCH_STREAM'.                     "FEAT-5BNRRP
    SELECTION-SCREEN END OF BLOCK PROJECT.
    SELECTION-SCREEN BEGIN OF BLOCK SORT WITH FRAME TITLE TEXT-B02.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(13) TEXT-C01.
    SELECTION-SCREEN POSITION 15.
    PARAMETERS:  P_PLANT RADIOBUTTON GROUP SORT DEFAULT 'X'.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(13) TEXT-C03.                    "FEAT-5BNRRP
    SELECTION-SCREEN POSITION 15.
    PARAMETERS:  P_PRCTR RADIOBUTTON GROUP SORT.                "FEAT-5BNRRP
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(13) TEXT-C04.
    SELECTION-SCREEN POSITION 15.
    PARAMETERS:  P_DAYS RADIOBUTTON GROUP SORT.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK SORT.
    AT SELECTION-SCREEN OUTPUT.
      PERFORM USER_PARM_INIT.
    AT SELECTION-SCREEN.
      PERFORM CHECK_PROJ_CRITERIA.
    START-OF-SELECTION.
    PERFORM BUILD_PC_HIER USING P_PC-SET.  
    Project Definition                                                  *
    GET PROJ.
      MOVE-CORRESPONDING PROJ TO I_PROJ.                        "MELI-5F2KMH
      APPEND I_PROJ.                                            "MELI-5F2KMH
      CLEAR I_PROJ.
    WBS element table
    GET PRPS_R.
      MOVE-CORRESPONDING PRPS_R TO I_PRPS_R.
      APPEND I_PRPS_R.
      CLEAR I_PRPS_R.
    GET all order and cost objects associated with order and elements
    GET AUFK.
    GET COSP1.
    CHECK COSP1-WRTTP EQ C_04.      " check if value type '04'
      Get last date that the wbselement was updated and determine status
    GET COVP11.
      MOVE PROJ-PSPID TO I_COSTS-PSPID.
      MOVE COVP11-BUDAT TO I_COSTS-BUDAT.
      APPEND I_COSTS.
      CLEAR I_COSTS.
      Loop through Internal cost statements
    GET COSS1.
    CHECK COSS1-WRTTP EQ C_04.           " if value type is 04
      Get last date that the wbselement was updated and determine status
    GET COVP12.
      MOVE PROJ-PSPID TO I_COSTS-PSPID.
      MOVE COVP12-BUDAT TO I_COSTS-BUDAT.
      APPEND I_COSTS.
      CLEAR I_COSTS.
    END-OF-SELECTION.
      PERFORM BUILD_TABLE.
      DELETE ITAB WHERE DINACT < DAYINACT.
      DESCRIBE TABLE ITAB LINES W_RECORDS.
      IF W_RECORDS = 0.
        MESSAGE I024.
      ENDIF.
      PERFORM WRITE_REPORT.
          FORM  CHECK_PROJ_CRITERIA                                      *
    This form verifies correct selection criteria has been entered from *
    the selection screen inputs.  If incorrect data has been entered the*
    valid information messages are displayed.                           *
    FORM CHECK_PROJ_CRITERIA.
    check for either posting date or inactivity criteria but not both
      IF NOT P_BUDAT IS INITIAL AND NOT DAYINACT IS INITIAL.
        MESSAGE E119.
      ENDIF.
      IF NOT DAYINACT IS INITIAL.          "check s/o day inactive
        IF NOT DAYINACT <= 998.
          MESSAGE E018.
        ELSE.
          INACTIVEDT = SY-DATUM - DAYINACT.
        ENDIF.
    if days inactive is initial set INACTIVEDT using the posting date
      ELSE.
        INACTIVEDT = P_BUDAT.
      ENDIF.
    ENDFORM.                    " CHECK_PROJ_CRITERIA
          FORM  GET_AUC_COSTS                                            *
    This form retrieves AUC costs for records based on AUFK2 where they *
    meet project criteria.  This pulls the unsettled amount on a AUC as *
    a settlement receiver.                                              *
    FORM GET_AUC_COSTS USING F_OBJNR F_BUKRS.
      CONSTANTS:
       C_SETLEMENT_ANNUAL LIKE COBRB-PERBZ VALUE 'JHR',   "Annual Settlement
        C_DEP_AREA_STD     LIKE ANEP-AFABE  VALUE '01'.    "Std depreciation
      DATA: L_ANLC LIKE ANLC  OCCURS 0 WITH HEADER LINE,
            L_ANLCV LIKE ANLCV OCCURS 0 WITH HEADER LINE,
            BEGIN OF L_COBRB OCCURS 0,                       "SRIN-6ZNEAR
            ANLN1 LIKE COBRB-ANLN1,
            ANLN2 LIKE COBRB-ANLN2,
            END OF L_COBRB,
            F_H_COST TYPE P DECIMALS 2.
      SELECT ANLN1 ANLN2 FROM COBRB
        INTO TABLE L_COBRB                                    " SRIN-6ZNEAR
         WHERE OBJNR = F_OBJNR
           AND PERBZ = C_SETLEMENT_ANNUAL.
      IF SY-SUBRC NE 0.                                        " gary-463qbd
        EXIT.                                                  " gary-463qbd
      ENDIF.                                                   " gary-463qbd
    LOOP AT L_COBRB.                                           " gary-463qbd
      CLEAR: F_H_COST.
      SELECT SINGLE * FROM ANLC
        INTO L_ANLC
        WHERE BUKRS = F_BUKRS AND
                ANLN1 = L_COBRB-ANLN1 AND
                ANLN2 = L_COBRB-ANLN2 AND
                GJAHR = SY-DATUM(4) AND
                AFABE = C_DEP_AREA_STD AND
                ZUJHR = '0000' AND
                ZUCOD = '0000'.
        IF SY-SUBRC = 0.
          CALL FUNCTION 'FI_AA_VALUES_CALCULATE'
               EXPORTING
                    I_ANLC  = L_ANLC
               IMPORTING
                    E_ANLCV = L_ANLCV.
          F_H_COST = L_ANLCV-BCHWRT_LFD.
        ENDIF.
      ADD: F_H_COST TO W_AUC_COST.
    ENDLOOP.                                                   " gary-463qbd
    ENDFORM.                    " GET_AUC_COSTS
          FORM  CHECK_INACTIVE_DATE                                      *
    This form checks the computed inactive date based on the formal     *
    parameter DAYS_INACTIVE.  If DAYS_INACTIVE is more current than the *
    current lowest inactive date W_LOWINACT then W_LOWINACT is replaced *
    with this value.                                                    *
    FORM CHECK_INACTIVE_DATE USING DAYS_INACTIVE.
      IF DAYS_INACTIVE < W_LOWINACT.
        MOVE DAYS_INACTIVE TO W_LOWINACT.
      ELSEIF W_LOWINACT EQ 0.
        MOVE: DAYS_INACTIVE TO W_LOWINACT,
              W_LOWINACT    TO ITAB-DINACT.
      ENDIF.
    ENDFORM.                    " CHECK_INACTIVE_DATE
          FORM build_table                                               *
    collect fields to the internal table ITAB                           *
    FORM  BUILD_TABLE.
      SORT I_COSTS BY PSPID ASCENDING BUDAT DESCENDING.
      LOOP AT I_PROJ.
        CLEAR W_AUC_COST.
        READ TABLE I_COSTS WITH KEY PSPID = I_PROJ-PSPID
                                BINARY SEARCH.
        IF SY-SUBRC = 0.
          ITAB-DINACT = SY-DATUM - I_COSTS-BUDAT.
        ELSE.
          ITAB-DINACT = SY-DATUM - I_PROJ-ERDAT.
        ENDIF.
        LOOP AT I_PRPS_R WHERE PSPHI = I_PROJ-PSPNR AND
                               BELKZ = 'X'.
          IF NOT I_PRPS_R-IMPRF IS INITIAL.
            PERFORM GET_AUC_COSTS USING I_PRPS_R-OBJNR
                                        I_PRPS_R-PBUKR.
          ELSE.
            CONTINUE.
          ENDIF.
        ENDLOOP.
        ITAB-COMPCODE = I_PROJ-VBUKR.
        ITAB-PLANT    = I_PROJ-WERKS.
        ITAB-PROJECT  = I_PROJ-PSPID.
        ITAB-NAME     = I_PROJ-POST1.
        ITAB-PRCTR    = I_PROJ-PRCTR.
        ITAB-VERNA    = I_PROJ-VERNA.
        ITAB-AUC      = W_AUC_COST.
        IF ITAB-DINACT > DAYINACT.
          PERFORM GET_HIER_INFO.
        ENDIF.
        APPEND ITAB.
        CLEAR ITAB.
      ENDLOOP.
    ENDFORM.                    " BUILD_TABLE
          FORM STATUS_CHECK                                              *
    Checks the active status of the project definition for the          *
    parameter values assigned.                                          *
    FORM  STATUS_CHECK USING F_OBJNR.
    begin of GARY-463QBD
      CLEAR: I_INACT.
      REFRESH: I_INACT.
      MOVE: C_N TO EQ_FLAG,
            C_Y TO NE_FLAG.
    retrieve status for a given record
      SELECT STAT INACT
        INTO TABLE I_INACT
        FROM JEST
        WHERE OBJNR EQ F_OBJNR AND
              INACT NE C_X.
    sort internal status entered by user
      SORT R_TJ02T BY OPTION DESCENDING.
    check all current object statuses meet user entered criteria
      LOOP AT R_TJ02T WHERE OPTION EQ C_NE.
    check for user selected options
        READ TABLE I_INACT WITH KEY STAT = R_TJ02T-LOW.
        IF SY-SUBRC EQ 0.
          MOVE C_N TO NE_FLAG.
          EXIT.
        ENDIF.
      ENDLOOP.
      LOOP AT R_TJ02T WHERE OPTION EQ C_EQ.
    check for user selected options
        READ TABLE I_INACT WITH KEY STAT = R_TJ02T-LOW.
        IF SY-SUBRC EQ 0.
          MOVE C_Y TO EQ_FLAG.
          EXIT.
        ENDIF.
      ENDLOOP.
    check for no statuses entered as EQ option
      LOOP AT R_TJ02T WHERE OPTION EQ C_EQ.
        EXIT.
      ENDLOOP.
    if so move c_y to eq_flag
      IF SY-SUBRC NE 0.
        MOVE C_Y TO EQ_FLAG.
      ENDIF.
    if both eq_flag or ne_flag are true(c_y) move true to valid_flag
      IF ( EQ_FLAG EQ C_N OR
           NE_FLAG EQ C_N ).
        REJECT 'PRPS_R'.
      ENDIF.
    end of GARY-463QBD
    ENDFORM.                    " STATUS_CHECK
          Form  WRITE_REPORT
    FORM WRITE_REPORT.
      IF P_PLANT EQ 'X'.
    SORT ASCENDING BY ITAB-BUSAREA                           "FEAT-5BNRRP
        SORT ITAB ASCENDING BY PLANT
                               PROJECT.
      ELSEIF P_PRCTR EQ 'X'.
       SORT ITAB ASCENDING BY PRCTR                             "FEAT-5BNRRP
                                PROJECT.
      ELSE.
       SORT ITAB ASCENDING BY DINACT
                                PROJECT.
      ENDIF.
      FORMAT COLOR COL_BACKGROUND INTENSIFIED ON.
                                                         "MELI-5F2KMH
    LOOP AT ITAB.                                               "MELI-5F2KMH
        WRITE:   /     ITAB-COMPCODE,
                 9(4)  ITAB-PLANT,
                17(12) ITAB-SETID,
                33(40) ITAB-DESCRIPT,
                77(10) ITAB-PRCTR,
                91(24) ITAB-PROJECT,
               119(40) ITAB-NAME,
               163(25) ITAB-VERNA,
               192(15) ITAB-AUC CURRENCY C_USD,
               211(8)  ITAB-DINACT.
      ENDLOOP.
    ENDFORM.                    " WRITE_REPORT
          Form  USER_PARM_INIT
    Initializes user parameter settings
    FORM USER_PARM_INIT.
    ENDFORM.                    " USER_PARM_INIT
    At top of every page, generate Amoco-standard header.
    TOP-OF-PAGE.
      MOVE: '0'       TO BHDGD-INIFL,
           SY-LINSZ   TO BHDGD-LINES,
           SY-UNAME   TO BHDGD-UNAME,
           SY-REPID   TO BHDGD-REPID,
           SY-TITLE   TO BHDGD-LINE1,
           SPACE      TO BHDGD-DOMAI,
           SPACE      TO BHDGD-SEPAR,
           SPACE      TO BHDGD-MIFFL.
      IF P_PLANT EQ 'X'.
        MOVE TEXT-H01 TO BHDGD-LINE2.
      ELSE.
        MOVE TEXT-H03 TO BHDGD-LINE2.                          "FEAT-5BNRRP
      ENDIF.
    temporarily clear sy-mandt to remove "europe" from header "FEAT-5BNRRP
      DATA:  W_MANDT LIKE SY-MANDT.
      BHDGD-BUKRS = SPACE.
      W_MANDT     = SY-MANDT.
      CLEAR  SY-MANDT.
      FORMAT  COLOR COL_BACKGROUND INTENSIFIED OFF.
      PERFORM BATCH-HEADING(RSBTCHH0).
      FORMAT RESET.
    reset sy-mandt                                            "FEAT-5BNRRP
      SY-MANDT = W_MANDT.
      PERFORM PGH_WRITE_HEADING USING TEXT-003 INACTIVEDT.      "MELI-5F2KMH
      SKIP 1.
      ULINE.
    write heading info
      FORMAT COLOR COL_TOTAL INTENSIFIED ON.
      WRITE: /1(5)'CCode',
              9(5)'Plant',
              17(12)'Level 2 Node',
              33(40)'Level 2 Node Description',
              77(10)'Profit Ctr',
              91(18)'Project Definition',
             119(19)'Project Description',
              163(18)'Person Responsible',
              192(15)' AUC Unsettled',
              211(13)'Days Inactive'.
    end FEAT-5BNRRP
    BEGIN FEAT-5BNRRP NEW FORMS
    FORM BUILD_PC_HIER
    FORM BUILD_PC_HIER USING SETID.
      DATA:  W_SETID LIKE SETHIER-SETID,
             W_NEWSETID LIKE SETHIER-SETID.
      CONCATENATE '0H' SETID INTO W_SETID.
      CALL FUNCTION 'G_SET_GET_ID_FROM_NAME'
           EXPORTING
                SHORTNAME     = W_SETID
                TABNAME       = 'GLPCT'
                SETCLASS      = '0106'
                SUPRESS_POPUP = 'X'
                OLD_SETID     = W_NEWSETID
           IMPORTING
                NEW_SETID     = W_NEWSETID.
      CALL FUNCTION 'G_SET_TREE_IMPORT'
           EXPORTING
                CLIENT                    = SY-MANDT
                LANGU                     = SY-LANGU
                SETID                     = W_NEWSETID
                TABNAME                   = 'GLPCT'
           TABLES
                SET_HIERARCHY             = I_HIER
           EXCEPTIONS
                SET_NOT_FOUND             = 1
                ILLEGAL_FIELD_REPLACEMENT = 2
                ILLEGAL_TABLE_REPLACEMENT = 3
                OTHERS                    = 4.
      CLEAR I_HIER.
    ENDFORM.
    FORM GET_HIER_INFO
    FORM GET_HIER_INFO.
      DATA:  W_SETID LIKE SETHIER-SETID,
             W_KHINR LIKE CEPC-KHINR,
             W_INDEX  TYPE I.
      CLEAR: W_SETID,
             W_KHINR,
             W_INDEX.
    DETERMINE PROFIT CENTER NODE
      SELECT SINGLE KHINR
        FROM CEPC
        INTO W_KHINR
        WHERE PRCTR EQ ITAB-PRCTR.
      CONCATENATE '0106' I_PROJ-VKOKR W_KHINR
        INTO W_SETID.
      READ TABLE I_HIER WITH KEY
                        SETID = W_SETID.
      IF SY-SUBRC EQ 0.
        W_INDEX = SY-TABIX.
        DO.
          READ TABLE I_HIER INDEX W_INDEX.
          IF W_INDEX = 0.
            ITAB-SETID = 'Not Found'.
            EXIT.
          ENDIF.
          IF I_HIER-LEVEL = 1.
            ITAB-SETID = I_HIER-SETID+8(12).
            ITAB-DESCRIPT = I_HIER-DESCRIPT.
            EXIT.
          ENDIF.
          IF I_HIER-LEVEL = 2.
            ITAB-SETID = I_HIER-SETID+8(12).
            ITAB-DESCRIPT = I_HIER-DESCRIPT.
            EXIT.
          ENDIF.
          W_INDEX = W_INDEX - 1.
        ENDDO.
      ELSE.
        ITAB-SETID = 'Not Found'.
      ENDIF.
    ENDFORM.
    END FEAT-5BNRRP NEW FORMS
    *&      Form  PGH_WRITE_HEADING WR MELI-5F2KMH
    FORM PGH_WRITE_HEADING USING L_V1 L_V2.
      DATA:  L_LINSZ    LIKE SY-LINSZ.
      DATA:  L_TITLEL   LIKE SY-TABIX.
      DATA:  L_START    LIKE SY-TABIX.
      DATA:  L_DATE     LIKE SY-DATUM.
      DATA:  L_FORMATTED_DATE(10) TYPE C.
      DATA:  L_TITLE(27) TYPE C.
      MOVE L_V2 TO L_DATE.
      WRITE L_DATE TO L_FORMATTED_DATE.
      CONCATENATE L_V1 L_FORMATTED_DATE INTO L_TITLE
        SEPARATED BY SPACE.
      L_LINSZ = SY-LINSZ.
      L_TITLEL = STRLEN( L_TITLE ).
      L_START = ( L_LINSZ / 2 ) - ( L_TITLEL / 2 ) - 2.
      NEW-LINE.
      POSITION L_START.
      WRITE: L_TITLE.
    regards
    Mallik

  • Memory problems with PreparedStatements

    Driver: 9.0.1 JDBC Thin
    I am having memory problems using "PreparedStatement" via jdbc.
    After profiling our application, we found that a large number oracle.jdbc.ttc7.TTCItem objects were being created, but not released, even though we were "closing" the ResultSets of a prepared statements.
    Tracing through the application, it appears that most of these TTCItem objects are created when the statement is executed (not when prepared), therefore I would have assumed that they would be released when the ResultSet is close, but this does not seem to be the case.
    We tend to have a large number of PreparedStatement objects in use (over 100, most with closed ResultSets) and find that our application is using huge amounts of memory when compared to using the same code, but closing the PreparedStatement at the same time as closing the ResultSet.
    Has anyone else found similar problems? If so, does anyone have a work-around or know if this is something that Oracle is looking at fixing?
    Thanks
    Bruce Crosgrove

    From your mail, it is not very clear:
    a) whether your session is an HTTPSession or an application defined
    session.
    b) What is meant by saying: JSP/Servlet is growing.
    However, some pointers:
    a) Are there any timeouts associated with session.
    b) Try to profile your code to see what is causing the memory leak.
    c) Are there references to stale data in your application code.
    Marilla Bax wrote:
    hi,
    we have some memory - problems with the WebLogic Application Server
    4.5.1 on Sun Solaris
    In our Customer Projects we are working with EJB's. for each customer
    transaction we create a session to the weblogic application server.
    now there are some urgent problems with the java process on the server.
    for each session there were allocated 200 - 500 kb memory, within a day
    the JSP process on our server is growing for each session and don't
    reallocate the reserved memory for the old session. as a work around we
    now restart the server every night.
    How can we solve this problem ?? Is it a problem with the operating
    system or the application server or the EJB's ?? Do you have problems
    like this before ?
    greetings from germany,

  • Sound Problem Plus Memory Problem

    I've also posted this same issue at the EVGA website with no help what so ever yet. Also if it's ok I'm having the above mentioned memory problem that it probable not related but if anyone does have good input I would love to hear. Hope this doesn't break any rules, didn't see anything in the listed rules thread. So here it goes.
    Ok I'm having a few minor but very perplexing and annoying problems. I have recently built a new rig to include the following.
    Windows 7 64 bit Home Edition
    EVGA P55 FTW Intel P55 Socket LGA56
    Intel Core i5-750 2.66Ghz 8M LGA56 CPU
    Corsair Dominator 4GB DDR3 PC2800 (2 x 2 GB sticks)
    Ultra LSP750 750w Power Supply
    Seagate TB Serial ATA HD 7200/32MB
    Cooler Master HAF 932 Full Tower Black Case
    Galaxy GeForce GTS 250 52MB PCIe x2 (SLI Setup)
    BFG - NVIDIA GeForce 9800 GT GB GDDR3 PCI Express Graphics Card (Physx Setup)
    PROBLEM ONE:
    This one I had a lot less that I was able to actually try because it just confused the crap out of me. So I started by going to test my sound. I'm running an optical cable from the on board sound port to back of my sony surround sound system. I get sound from my left and right channel but nothing from the center, rears or sub. So figure no biggie just need to change the configuration from 2 speaker stereo to 5. surround sound. Guess what... the option isn't there? WTF? A sound card with an optical port with no 5. support? So went online found the drivers for the sound on the mother board and tried reinstalling thinking maybe somthing was wrong with the drivers on the CD. Well it still didn't work. So I figured what ever, I got an external sound card that I know works with Windows 7 since it was on other desktop and hooked it up. Its a Creative - Sound Blaster X-Fi Surround 5. External USB Sound Card. Well it installs fine and I go to test it. Yep you guessed it! Still only sound from the left channel and the right channel with no option for surround sound. So I was able to find updated drivers for that and ran em. Well now I have an option for Surround sound with side speakers only no rear. Oh but it doesn't really matter because the left and right channel are still the only ones able to produce sound. And yes the speakers work I turned on my X-Box 360 hooked up to the same speakers and LCD tv and played COD4 with full sound working fine. So something else has to be happening I just have no idea.
    PROBLEM TWO:
    The second problem was with the memory. Everything booted fine but it initial only detected 2 GB. By the way I had them installed in slots and 3. So I shut down and popped em out checked the copper connectors everything looked fine and reseated the chi
    ps.
    This time during the boot up I checked the BIOS. It saw all 4 GBs of memory. Continued into Windows. Windows now saw all 4 but only .99 GB was available. Now the only other time I've seen anything like this was with on board video sharing the memory, and even then it wasn't half of the systems total memory. I then tried shutting down and putting the chips in 2 and 4 just see what would happen. Well I got an EA post error on the LED, couldn't even boot. So I figured o'well power down completely and tried to run the memory in 2 and 3 to run it out of dual channel. I was able to boot but still had the same issue. .99 GB available and still saw all 4. At this point it was just getting silly so I figured ok I'll download the new BIOS with my laptop, burned it to a CD. Booted the desktop and ran the BIOS flash. Update seemed work fine, honestly the BIOS didn't look much different and I didn't take note of the previous version before I did it so I can only assume it worked. However it did not fix my problem. So I'm still stuck at windows seeing 4 GB of memory with only .99 available.
    Anyway... I'll keep trying to get this working and hunting around online, but I'm really hoping you all have some ideas. I'll be trying to call EVGA today for some help too and possibly Corsair. Thanks in advance for the help!

    Hello,
    cannot help with the sound problem.
    For memory, I've got almost the same thing but with 4 sticks of 2gb and only 2 detected on an ASUS P7P55D deluxe.
    Bios was my issue but I needed to do this (but with pairs of sticks instead of sticks) after the bios update to finally get my 8gb under windows:
    Make a clear cmos. Then boot the computer with only one stick of ram in the port .
    If everything is fine, turn off and add the other port of the same color for dual channel.
    If it does not boot with the 2 sticks in the port of the good color, try to switch ports again. Maybe one stick is dead?

  • Association rule in SQL Server Data Mining

    I have been working on a problem on association rules in SQL Server Data Tools (Visual Studio 2008) for quite a while but have not yet been able to figure out the solution.
    The problem is: I have a table named Sales_history in my SQL database. This table has following columns: CustomerID, ItemID, Month (from May2012 to April 2013), QtyShipped. I am looking to find association between Items and i want to provide recommendation
    to the Customer (In this case CustomerID) based on their purchases.
    Note: there are around 630 customers and about 34000 products in my table. 
    My approach:
    I marked History_Table as both Key and nested. And in the Key, i checked CustomerID as input and Key whereas in nested, i checked ItemId as Key, input and Predict. 
    When i run the model, i get a solution but i am not sure if i am configuring it right. Also i am not sure how i can write prediction join query to generate Item recommendations . I am really struggling with
    this problem, eagerly waiting for the reply. Thank you.

    Hi Tatyana,
    Thank you so much for your reply. I have now been able to create the data mining model using association rule and by writing a DMX query, i am able to generate the item recommendations to be given to customers for items they have purchased. However, i have
    noticed one thing that in the DMX query, it gives the same item recommendation for any item i put inside the query. 
    Also, if i put any item in the DMX query from the generated list of recommended items, the output of that query also shows the item that is inputted inside the query.
    Here is the query, that i am writing to generate item recommendations
    SELECT predictassociation (CrossSellingModelV3.[Ztb Customer Item v3],INCLUDE_STATISTICS,5)
    FROM CrossSellingModelV3
    NATURAL PREDICTION JOIN 
    (SELECT
    (SELECT '17IS56126' as m )
    AS Ms)
    AS t
    What can be the possible reason behind this? Is this something related to the kind of data i have? In my data, there are 632 distinct customers and 34000 distinct products. 
    If i execute this query in management studio.
    select customer_CD, COUNT(Item_CD) from ztb_Sales_History
    group by customer_CD
    order by 2 desc
    the output shows that  there are some customers who have bought just 1 item and also there are customers who have bought 2400 items. i mean the range is very high. 

  • Memory Problem Bridge CS4 under Win7

    Hi!
    I am running Bridge CS 4 on a brand new multimedia laptop (best ati graphic card, 4 gb ram, hundrets of gb free space) and one and the same bridge that ran well on my old xp laptop is starting to tremble of memory problems and pops up in German "is running out of memory, a restart is recommended". The cache preferences are all ok I think. Where else could I have a look at in order to delete this bug ?!
    Thanks, Sebastian

    Memory can also mean inadequate page file, memory problems, or cache.  Also, since it is a new computer don't rule out defective RAM.

  • Association Rule Model Fails to Build

    Hi all
    I am running the association rules model (java api) and sometimes when I use attributes from lower hierarchies the model fails to complete and runs for
    ever. In addition when I stop the process from netbeans the hard disk indicator remains permenantly on and my computer is really slow and I am unable to access anything. My attributes are quite long strings (include also gaps). Do you think that affects the model?
    Thank u
    K

    Based on the number of rows and transactions, you are averaging 23.5 items per transaction. With only 80+ items and a few value combinations for each, my guess is that the baskets are quite dense. Many of the transactions will contain a decent-sized portion of the item name-value combinations.
    Association rules has a parameter to limit the length of the rules that are generated. Have you set this to try limiting to shorter rules? Have you tried a maximum of length 2 to see if it completes? My guess is that the density of the data leads to exponentially larger combinations of rules as the length of the rule increases, and this requires more memory.
    Please try to constrain the rule length to experiment. Once you have short rules (single antecedent item), take a look and see how many rules and itemsets are generated at your provided support and confidence levels (support will constrain itemsets, and support plus confidence will constrain rules). Try to increase the maximum rule length by one more, and see how fast the count of rules and itemsets expand.
    This should help understand more about your data and the correct choice of algorithm parameters.
    Ari

  • Association Rules - dmardemo.java - DisplayAssociationRules method

    Hi, friends!
    I'm making some changes in the sample Java demo for the Association Rules - dmardemo.java. I've created another method which contains the name of the model just created before and in this same method, I call the method to display the association rules detected:
    public static void restoreRules(String modelNome) throws JDMException {
    m_modelName = modelNome;
    model = (AssociationModel)m_dmeConn.retrieveObject(
    m_modelName, NamedObject.model);
    displayAssociationRules(model);
    In another class, which is a GUI, I'm trying to call that method to restore all the rules found in the mining process and display them in a jTable Swing component. For this, I've tried to adapt the main method (displayAssocationRules) to do this, as follows:
    public static Object displayAssociationRules(AssociationModel model)
    throws JDMException {
    // DISPLAY TOP-10 ASSOCIATION RULES
    Object[] obj = new Object[5];
    int contador = 0;
    // 1. Set order by confidence DESC, support DESC
    OraRulesFilter filter = (OraRulesFilter) m_filterFactory.create();
    filter.setOrderingCondition(
    new RuleProperty[] { RuleProperty.confidence, RuleProperty.support},
    new SortOrder[] { SortOrder.descending, SortOrder.descending }
    // 2. Set to return the first 10 rules only
    filter.setMaxNumberOfRules(10);
    // 3. Retrieve rules
    Collection rules = model.getRules(filter);
    Iterator iRules = rules.iterator();
    while( iRules.hasNext() )
    OraAssociationRule rule = (OraAssociationRule) iRules.next();
    obj[0] = rule.getRuleIdentifier();
    //System.out.print( "Rule " + rule.getRuleIdentifier() + ": " );
    Itemset antecedent = rule.getAntecedent();
    //obj[1] = antecedent.getItems();
    Object[] ante_items = antecedent.getItems();
    // sort the items in antecedent to produce deterministic order of items
    TreeSet sortedSet = new TreeSet();
    for(int i = 0; i < obj.length; i++)
    sortedSet.add(ante_items);
    obj[1] = ante_items;
    Iterator sortedI = sortedSet.iterator();
    /*while(sortedI.hasNext())
    System.out.print(sortedI.next() + " ");*/
    Itemset consequent = rule.getConsequent();
    Object[] cons_items = consequent.getItems();
    obj[2] = cons_items;
    obj[3] = m_df.format(rule.getSupport());
    obj[4] = m_df.format(rule.getConfidence());
    /*System.out.println("==> " + cons_items[0] + " (support=" +
    m_df.format(rule.getSupport()) + ", confidence=" + m_df.format(rule.getConfidence()) + ")" );*/
    return obj;
    Some parts of the old code are present in that for you to compare what I've done. However, it's not working. What should I do to see the rules generated in the process in a jTable?
    Regards
    Luis

    As you can see in the code above, I've split the code into two parts. However, a problem is happening when I try to restore the rules to the GUI.
    "Exception in thread "AWT-EventQueue-0" javax.datamining.JDMIllegalArgumentException: The required argument objectName is null. Supply a non-null value."
    It says that I'm not passing any parameters to the method. But, as you can see, in the first method I've created, I took the name of the model and transfers it for the method displayAssociationRules as a AssociationModel objet.
    In the GUI, in an event for the button "Restore Rules", I've put this code below:
    String modelo = Principal.getModelName(); // where Principal is the main GUI class for the execution of the process.
    dmardemo.restoreRules(modelo);// I call the method in the dmardemo class to restore the rules having a String (modelo) as its parameter. That's when the problem happens. Is the argument really null, as the error message says?
    Regards
    Luis

  • Hiding Sensitive Association Rule for Sanitization algorithm implementation

    Hello Sir,
    I am doing my research in the area of Data Mining and my problem is hiding industrial information using Hiding Sensitive Association Rule. If anybody having Sanitization process and algorithm implementation using Java.
    If anybody having relate materials, algorithms implementation, documentation and related web address. Please send to my mail id: [email protected]
    Regard
    Kannan
    Message was edited by:
    user591845

    And your version of Oracle is?
    If 10g look into using Transparent Data Encryption (TDE). You can find docs on it at http://tahiti.oracle.com.

  • N96 Memory problem (internal 16GB)

    N96 Memory problem (internal 16GB)
    If I fill the internal memory with more than approx 5gb the phone goes crazy...
    (9,3Gb free)
    Here are a couple of examples
    * The phone becomes alot slower
    * When powering up the phone stops at a white blank screen until * I press the power button again.
    * When starting the music player all buttons associated with the music player(both on phone and handsfree) becomes unresponsive and the only way to stop the music is to remove the battery to turn off the phone.
    Another problem that occasionally occurs even if I have more free space on my memory card is:
    * When using the alarm clock there is a 33% chance that the phone will freeze when I turn it off. The only way to use the phone again is to remove the battery.
    I haven't updated the phone yet because the update isn't available yet in sweden it seems.
    Solved!
    Go to Solution.

    This may be the issue, New content!:
    Scanning for new content (slowness in UI)
    - This is somewhat improved in 11.018 but still:
    - If you've loaded many Pictures, Videos or Music, you may see the device appear to slow down or even become unresponsive. After new content has been added, it is being scanned by the device and being added to the media applications. Until that happens, the new content may not be visible in these applications (e.g. Photos and Video Center application) right away. The phone will need to find the files and create the thumbnails and other details. This information creation takes time and the processing may slow down the device. Your best option is to open Video Center and Photos and leave open in the background then check after a few minutes if the videos and pictures you loaded are already there before using your device.
    The same applies if you insert a memory card with lots of content on it.
    - Do Not leave the Photos or video center in background during this time.
    More tips:
    http://portablevideo.blogspot.com/2008/10/some-tips-and-other-info-for-n96.html
    640K Should be enough for everybody
    El_Loco Nokia Video Blog

  • Memory Problem with SEt and GET parameter

    hi,
    I m doing exits. I have one exit for importing and another one for changing parameter.
    SET PARAMETER exit code is ....
    *data:v_nba like eban-bsart,
           v_nbc like eban-bsart,
           v_nbo like eban-bsart.
           v_nbc = 'CAPX'.
           v_nbo = 'OPEX'.
           v_nba = 'OVH'.
    if im_data_new-werks is initial.
      if im_data_new-knttp is initial.
        if im_data_new-bsart = 'NBC' or im_data_new-bsart = 'SERC' or im_data_new-bsart = 'SERI'
           or im_data_new-bsart = 'SER' or im_data_new-bsart = 'SERM' or im_data_new-bsart = 'NBI'.
          set parameter id 'ZC1' field v_nbc.
        elseif im_data_new-bsart = 'NBO' or im_data_new-bsart = 'NBM' or im_data_new-bsart = 'SERO'.
          set parameter id 'ZC2' field v_nbo.
        elseif im_data_new-bsart = 'NBA' or im_data_new-bsart = 'SERA'.
          set parameter id 'ZC3' field  v_nba.
        endif.
      endif.
    endif. *
    and GET PARAMETER CODE IS....
      get parameter id 'ZC1' field c_fmderive-fund.
      get parameter id 'ZC2' field c_fmderive-fund.
      get parameter id 'ZC3' field c_fmderive-fund.
    FREE MEMORY ID 'ZC1'.
      FREE MEMORY ID 'ZC2'.
       FREE MEMORY ID 'ZC3'.
    In this code i m facing memory problem.
    It is not refreshing the memory every time.
    So plz give me proper solution.
    Its urgent.
    Thanks
    Ranveer

    Hi,
       I suppose you are trying to store some particular value in memory in one program and then retieve it in another.
    If so try using EXPORT data TO MEMORY ID 'ZC1'. and IMPORT data FROM MEMORY ID 'ZC1'.
    To use SET PARAMETER/GET PARAMETER the specified parameter name should be in table TPARA. Which I don't think is there in your case.
    Sample Code :
    Data declarations for the function codes to be transferred
    DATA : v_first  TYPE syucomm,
           v_second TYPE syucomm.
    CONSTANTS : c_memid TYPE char10 VALUE 'ZCCBPR1'.
    Move the function codes to the program varaibles
      v_first  = gv_bdt_fcode.
      v_second = sy-ucomm.
    Export the function codes to Memory ID
    EXPORT v_first
           v_second TO MEMORY ID c_memid.        "ZCCBPR1  --- Here you are sending the values to memory
    Then retrieve it.
    Retrieve the function codes from the Memory ID
      IMPORT v_first  TO v_fcode_1
             v_second TO v_fcode_2
      FROM MEMORY ID c_memid.                                   "ZCCBPR1
      FREE MEMORY ID c_memid.                                   "ZCCBPR1
    After reading the values from memory ID free them your problem should be solved.
    Thanks
    Barada
    Edited by: Baradakanta Swain on May 27, 2008 10:20 AM

Maybe you are looking for

  • Reason for my mid 2009 MBP coming with a 60Watt Power Adapter?

          It was the year that the 60W charger came with the 15" MBP. My dog chewed it up, and I soldered it back together (which worked for some time) but now I have gone out and purchased another (An 85 watt) because my old one completely crapped out.

  • Reg : Joining the all internal table records into a single internal table

    Hi all I am having 5 internal tables and i want to put all these entries in a single intrnal table and my requirement is for each and every record it has to go through all the internal tables and if an entry is missing meand.it has to go through the

  • How to invoke HTTP Web Services in an Adobe Interactive Form

    Hi all, I am using Adobe Livecycle Designer stand-alone (without Netweaver integration), currently a trial 8.2 version. I need to invoke an HTTP Web Service (non-SOAP) in an Adobe Interactive Form. The Net.HTTP method does not work due to security re

  • Double.parseDouble(String) : Problem to parse large String

    Hello, I need to convert A String to a Double in my application without rounding of digits. I have used the Double.parseDouble(String) method. The maximum string length can be 17 including dot(.) So if my String is (of length 17) Eg. S= �9999999999.9

  • How do i designate tray 1 to envelopes only?

    I never use tray 1 for anything but envelopes.  It's a pain to have to remove them every time I need to pint a letter size.  Is there a way to designate tray 1 specifically for envelopes? Trisha