EDQ Match Review - retrieving decisions without running the owning process

We're running Dn:Director v8.1.2 (458) with Match Review.
We have a tiered set of match rules on two seperate sources of products, each level (set) controlled be a seperate process but all working from the same pair of staged data tables.
Depending on decisions made by the users inside each match review level, particular products may go up or down levels for the next pass.
The issue we have is that currently we have to run the process twice, once to retrieve the decisions and determine whether products are promoted/demoted, and then a second time to use these promotions/demotions to establish a refreshed match review for users.
Users do not process a whole level at a time (there might be 5000 products in a level each with any number of possible matches), nor is there any restriction on which levels are dealt with first - the conduct of the matching is entirely down to the users themselves.
Consequently it's not feasible to have a level completed before dealing with the decisions they've made, not to have the levels proccessed in sequence.
Each run of each process takes a fair time, so running each twice within a job is less than ideal.
Is there a means of retrieving the decisions & relationships that are sitting in a match review session without actually running the process that controls it ??
This way we could bring in the decisions & determine the promotion/demotion actions much quicker than by actually running the process.
My feeling (maybe completely wrong !!) is that this is possible using web services, but we've no experience of these and can't find any meaningful documentation on it.
Thanks in advance for anyone's help.

We think you could achieve what you want in a single match process... but doing the 'status' checking of a given main product record differently.
It would likely be a fairly significant change to what you have now, and would need proving/testing.
Brief description of the idea:
- Use a single match process with match rules in two tiers. Match rules in the Level 1 tier are only applied to records of status A ('Main Review'). Match rules in the level 2 tier are only applied to records of status B ('Deep Review'). Use an 'Is Value' comparison to apply the condition (if you do not have this from a solution installation, it can be provided as an extension).
- Records always start in status A (Main Revoew). However, if there is a 'No Match' decision made to a main record in the review it is moved to status B. The moving to status B occurs each time the process runs and uses the output of matching - the relationships output run through a Group and Merge processor to deduplicate it, making sure that any No Match decision is always retained. The output of matching is used to update a status tracking table for the record.
- Before the match process, perform a Lookup and Return against the status tracking table to work out the status of a given main record and tag the record with this status. This means that on subsequent run, a record may be 'demoted' to status B.
A wrinkle is how to maintain the status table correctly since if a record is demoted to status B it will no longer match on the previous match rule. The logic here will need to be either:
1. 'Update' (primary key replace) an external database table with the status of each record when it is either demoted from the first review or promoted from the second.
2. Append, with a date/time and always take the latest status record for a given main record.
Certainly veering into consultancy territory but pretty sure it is possible.
Mike

Similar Messages

  • F110 run the payment run directly without running the proposal run first

    Hello to you all,
    Does any one know I do I block the option to run the payment run directly without running the proposal run first?
    Thanks in advance,
    Yoav

    Hi
    First delete the payment run output by the following :
    Goto Edit on menu bar --> Payment --> Delete Output
    then run the proposal run again and after that process payment run.

  • Stream-in images from client to server,without running the transmit code

    Hello all,
    Im using JMF for my current project.Right now,I am trying to only recieve images from the client without the client transmitting it.That is I dont want the transmit code to run on the client.
    I should just be able to stream in the images from client to server, without running the transmit code on client.
    Can this be done?
    Thanks in advance

    suppigs wrote:
    Can I know more about this?Sure.
    <Side A>
    You'd just need to write an application that doesn't have a GUI (so, a console-based application) that listens on some pre-determined port for a message to start broadcasting. Maybe you'd send it the IP/PORT number to start broadcasting on. Once it receives that message, it'd start broadcasting the web cam to the IP/PORT number until it received a message to stop. Once it stops, it'll just go back to waiting for the next "start" signal.
    <Side B>
    On the other side, you'd write an application that sends the start messages, receives/displays the videos, and then sends the stop signal. This will have a GUI, and be your "control program" so to speak.
    Then, once of have both of those programs working...if you're using Linux, you're done. If you're using Windows, you'd need to modify the <Side A> program so that it can run as a Windows service.
    There are a lot of ways to do this, you can google it or look at the following link:
    [http://twit88.com/blog/2007/09/19/open-source-software-to-start-up-java-as-windows-serviceunix-daemon/]

  • How i can obtain explain plan without run the query

    Hello,
    i need to know the result of explain of a query without run the query, it's this possible?
    Thanks and best regards.

    explain plan for <your query>;
    select * from table(dbms_xplan.display);Regards,
    Rob.

  • How to populate one array without running the entire VI

    I'm trying to populate a complex array that I built that reads from a spreadsheet file.  The company I am building it for only has labview run time on the PXI test equipment that I am working with.  I am having to fix the VI On my computer then build an executable and then test it on the machine to see if it runs properly.  It's a very tedious process.  I cannot run the VI on my computer because it requires to have a FLUKE 726 connected in order to run.  So, I was wondering if there is a way to repopulate the array without running the entire VI?
    Your help would be greatly appreciated.

    Create a subVI for reading/processing of the array.  Then you just have to test that subVI as your machine.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • I just got a replacement i phone and i was setting it up and I cannot restore it with my iTunes because the soft wear is to old how to i update the soft wear without running the process

    I just got a replacement i phone and i was setting it up and I cannot restore it with my iTunes because the soft wear is to old how to i update the soft wear without running the process

    Hi Balzer1313,
    Thanks for visiting Apple Support Communities.
    If you have an older version of iTunes installed on your computer, you can update it using this menu option:
    Windows: Choose Help > Check for Updates.
    Mac: Choose iTunes > Check for Updates.
    From:
    iTunes: How to install the latest version
    http://support.apple.com/kb/ht5654
    If iTunes is not installed on your computer, you can download it here:
    http://www.apple.com/itunes/download/
    Cheers,
    Jeremy

  • Compiling a package without disturbing the load process

    Hi,
    I need to compile a package, with the changes, in the database without stopping the load process that is using this package. Please let me know if any one has any ideas.
    Thanks

    sdk11 wrote:
    Hi,
    I need to compile a package, with the changes, in the database without stopping the load process that is using this package. Please let me know if any one has any ideas.
    ThanksIf you mean: "I need to create or replace a package", while some session is still running code of that package.
    Then sorry: nocando.
    Unless you are on 11.2, in which case you could (with the necessary preparation/configuration done first) create a new version of the package in another edition than the session is using. But the session will have to finish its work using the package as-is currently.

  • Getting while running the BPEL process from java

    Hi All,
    We are using the following java code to run the BPM process.
    package callBPMProcess;
    import java.util.Hashtable;
    import java.util.UUID;
    import java.util.List;
    import javax.naming.Context;
    import oracle.soa.management.facade.Locator;
    import oracle.soa.management.facade.LocatorFactory;
    import oracle.soa.management.facade.Composite;
    import oracle.soa.management.facade.Service;
    import oracle.soa.management.facade.CompositeInstance;
    import oracle.soa.management.facade.ComponentInstance;
    import oracle.fabric.common.NormalizedMessage;
    import oracle.fabric.common.NormalizedMessageImpl;
    import oracle.soa.management.util.CompositeInstanceFilter;
    import oracle.soa.management.util.ComponentInstanceFilter;
    import java.util.Map;
    import javax.xml.transform.*;
    import javax.xml.transform.dom.*;
    import javax.xml.transform.stream.*;
    import org.w3c.dom.Element;
    import java.io.*;
    public class StartProcess { 
    public StartProcess() { 
    super();
    Hashtable jndiProps = new Hashtable();
    jndiProps.put(Context.PROVIDER_URL, "http://ytytry.4234434.com:7001/soa-infra");
    jndiProps.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
    jndiProps.put(Context.SECURITY_PRINCIPAL, "weblogic");
    jndiProps.put(Context.SECURITY_CREDENTIALS, "funnyj0ke");
    jndiProps.put("dedicated.connection", "true");
    String inputPayload =
    "<process xmlns=\"http://xmlns.oracle.com/HelloWorld/Helloworld/BPELProcess1\">\n" +
    " <input>hello</input>\n" +
    "</process>\n" ;
    Locator locator = null;
    try { 
    // connect to the soa server
    locator = LocatorFactory.createLocator(jndiProps);
    String compositeDN = "default/Helloworld!1.0";
    // find composite
    Composite composite = locator.lookupComposite("default/Helloworld!1.0");
    System.out.println("Got Composite : "+ composite.toString());
    // find exposed service of the composite
    Service service = composite.getService("bpelprocess1_client_ep2");
    System.out.println("Got serviceName : "+ service.toString());
    // make the input request and add this to a operation of the service
    NormalizedMessage input = new NormalizedMessageImpl();
    String uuid = "uuid:" + UUID.randomUUID();
    input.addProperty(NormalizedMessage.PROPERTY_CONVERSATION_ID,uuid);
    // payload is the partname of the process operation
    input.getPayload().put("payload",inputPayload);
    // process is the operation of the employee service
    NormalizedMessage res = null;
    try { 
    res = service.request("process", input);
    } catch(Exception e) { 
    e.printStackTrace();
    Map payload = res.getPayload();
    Element element = (Element)payload.get("payload");
    TransformerFactory tFactory = TransformerFactory.newInstance();
    Transformer transformer = tFactory.newTransformer();
    transformer.setOutputProperty("indent", "yes");
    StringWriter sw = new StringWriter();
    StreamResult result = new StreamResult(sw);
    DOMSource source = new DOMSource(element);
    transformer.transform(source, result);
    System.out.println("Result\n"+sw.toString());
    System.out.println("instances");
    CompositeInstanceFilter filter = new CompositeInstanceFilter();
    filter.setMinCreationDate(new java.util.Date((System.currentTimeMillis() - 2000000)));
    // get composite instances by filter ..
    List<CompositeInstance> obInstances = composite.getInstances(filter);
    // for each of the returned composite instances..
    for (CompositeInstance instance : obInstances) { 
    System.out.println(" DN: " + instance.getCompositeDN() +
    " Instance: " + instance.getId() +
    " creation-date: " + instance.getCreationDate() +
    " state (" + instance.getState() + "): " + getStateAsString(instance.getState())
    // setup a component filter
    ComponentInstanceFilter cInstanceFilter = new ComponentInstanceFilter();
    // get child component instances ..
    List<ComponentInstance> childComponentInstances = instance.getChildComponentInstances(cInstanceFilter);
    // for each child component instance (e.g. a bpel process)
    for (ComponentInstance cInstance : childComponentInstances) { 
    System.out.println(" -> componentinstance: " + cInstance.getComponentName() +
    " type: " + cInstance.getServiceEngine().getEngineType() +
    " state: " +getStateAsString(cInstance.getState()) 
    System.out.println("State: "+cInstance.getNormalizedStateAsString() );
    } catch (Exception e) { 
    e.printStackTrace();
    private String getStateAsString(int state)
    // note that this is dependent on wheter the composite state is captured or not
    if (state == CompositeInstance.STATE_COMPLETED_SUCCESSFULLY)
    return ("success");
    else if (state == CompositeInstance.STATE_FAULTED)
    return ("faulted");
    else if (state == CompositeInstance.STATE_RECOVERY_REQUIRED)
    return ("recovery required");
    else if (state == CompositeInstance.STATE_RUNNING)
    return ("running");
    else if (state == CompositeInstance.STATE_STALE)
    return ("stale");
    else
    return ("unknown");
    public static void main(String[] args) { 
    StartProcess startUnitProcess = new StartProcess();
    But we getting the fallowing error.Can some body help out us.
    SEVERE: Failed to create a DirectConnectionFactory instance (oracle.soa.api.JNDIDirectConnectionFactory): oracle.soa.api.JNDIDirectConnectionFactory
    javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.WLInitialContextFactory [Root exception is java.lang.ClassNotFoundException: weblogic.jndi.WLInitialContextFactory]
         at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:657)
         at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
         at javax.naming.InitialContext.init(InitialContext.java:223)
         at javax.naming.InitialContext.<init>(InitialContext.java:197)
         at oracle.soa.management.internal.ejb.EJBLocatorImpl.<init>(EJBLocatorImpl.java:166)
         at oracle.soa.management.facade.LocatorFactory.createLocator(LocatorFactory.java:35)
         at callBPMProcess.StartProcess.<init>(StartProcess.java:53)
         at callBPMProcess.StartProcess.main(StartProcess.java:152)
    Caused by: java.lang.ClassNotFoundException: weblogic.jndi.WLInitialContextFactory
         at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Class.java:247)
         at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:46)
         at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:654)
         ... 7 more
    Process exited with exit code 0.
    Thanks in advanced,
    Narasimha.
    Edited by: parker on Mar 27, 2011 11:55 PM

    Looks like you don't have WebLogic classes on the classpath:
    javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.WLInitialContextFactory [Root exception is java.lang.ClassNotFoundException: weblogic.jndi.WLInitialContextFactory]
    Other options for creating an instance are to use a web service call or one of the other adapters (e.g. JMS). If you need to directly start a process you might also look at this blog from the ATeam:
    http://redstack.wordpress.com/worklist/
    The specific example for getting the tasks is at: http://redstack.wordpress.com/2011/03/09/implementing-task-initiation/
    Then the real work of creating an instance from the initiator tasks is at: http://redstack.wordpress.com/2011/03/09/creating-the-domain-layer-for-the-worklist/

  • Unique Index Error while running the ETL process

    Hi,
    I have Installed Oracle BI Applications 7.9.4 and Informatica PowerCenter 7.1.4. I have done all the configuration steps as specified in the Oracle BI Applications Installation and Configuration Guide. While running the ETL process from DAC for Execution Plan 'Human Resources Oracle 11.5.10' some tasks going to status Failed.
    When I checked the log files for these tasks, I found the following error
    ANOMALY INFO::: Error while executing : CREATE INDEX:W_PAYROLL_F_ASSG_TMP:W_PRL_F_ASG_TMP_U1
    MESSAGE:::java.lang.Exception: Error while execution : CREATE UNIQUE INDEX
    W_PRL_F_ASG_TMP_U1
    ON
    W_PAYROLL_F_ASSG_TMP
    INTEGRATION_ID ASC
    ,DATASOURCE_NUM_ID ASC
    ,EFFECTIVE_FROM_DT ASC
    NOLOGGING PARALLEL
    with error java.sql.SQLException: ORA-12801: error signaled in parallel query server P000
    ORA-01452: cannot CREATE UNIQUE INDEX; duplicate keys found
    EXCEPTION CLASS::: java.lang.Exception
    I found some duplicate rows in the table W_PAYROLL_F_ASSG_TMP with the combination of the columns on which it is trying to create INDEX. Can anyone give me information for the following.
    1. Why it is trying to create the unique index on the combination of columns which may not be unique.
    2. Is it a problem with the data in the source database (means becoz of duplicate rows in the source system).
    How we need to fix this error. Do we need to delete the duplicate rows from the table in the data warehouse manually and re-run the ETL process or is there any other way to fix the problem.

    This query will identify the duplicate in the Warehouse table preventing the Index from being built:
    select count(*), integration_id, src_eff_from_dt from w_employee_ds group by integration_id, src_eff_from_dt having count(*)>1;
    To get the ETL to finish issue this delete to the W_EMPLOYEE_DS table:
    delete from w_employee_ds where integration_id = '2' and src_eff_from_dt ='04-JAN-91';
    To fix it so this does not happen again on another load you need to find the record in the Vision DB, it is in the PER_ALL_PEOPLE_F table. I have a Vision source and this worked:
    select rowid, person_id , LAST_NAME FROM PER_ALL_PEOPLE_F
    where EFFECTIVE_START_DATE = '04-JAN-91';
    ROWID PERSON_ID
    LAST_NAME
    AAAWXJAAMAAAwl/AAL 6272
    Kang
    AAAWXJAAMAAAwmAAAI 6272
    Kang
    AAAWXJAAMAAAwmAAA4 6307
    Lee
    delete from PER_ALL_PEOPLE_F
    where ROWID = 'AAAWXJAAMAAAwl/AAL';

  • How do I run the same process on multiple CPUs  of a processor set?

    Hi,
    I am working on UltraSPARC T1 Processor. My development environment is SunStudio 12 running on Sun Solaris 10 OS.
    I want to run the same process concurrently on 4 hardware threads that belong to one core.
    I used pset_create() for creation of the processor set.
    Later I assigned 4 processors (that belong to one core) using pset_assign().
    I used fork() to create a child process and used execv() to assign a new process.
    I used pset_bind() to bind this new process to processor set created earlier.
    When we are executing the program we observe that the process is running in only the first processor (hardware thread) of the assigned processor set.
    How do we make all the processors of the processor set run the same process?
    Thanks in advance.
    Nesa Rani

    Hi Mark,
    With this communication based on CAN whilst all of the data is available on the network arbitration IDs are still used to address the individual PCs so I believe you will need to explicitly send the data to each PC to get the data across all three.  The other option would be to have one PC acting as a data server making the data available through a network interface such as shared variables.  This may be simpler to implement and also easier should you need to scale it up.
    Regards,
    James Mc
    ========
    CLA and cRIO Fanatic
    wiresmithtech.com/blog

  • How to launch a function/procedure without suspending the parent process?

    Hi everybody,
    I would like to know if I can define something as follows in PLSQL:
    procedure master
    begin
    call a procedure_child;
    End master;
    I would like that the procedure master does not suspend the execution and wait that the procedure_child finishes in order to resume the executions with the further code.
    Thanks a lot in advanced
    Tomeu

    In the future, please stick to posting in a single forum.
    Re: How to launch a function/procedure without suspending the parent process?

  • Trying to run the SOA/BPM managed server withOUT running the Admin server

    (This is for demo/development purposes... Using 11.1.1.4 in Windows 7 with 4gb)
    Because of memory constrains I am trying to run the BPM/workspaces application without needing the Admin to be running.
    When they both run, I can use the credentials I create with the Admin server but the response time is prohibitive and all my memory is used...
    It seems to run much faster when only the bpm managed server is running but then I cannot login ...
    So my question is simply: Whats the easiest way to set it up so I can use credentials elsewhere without requiring the admin server to be running?
    ( I could connect to an OID instance I have outside this server or the seeded demo they refer to in other posts ... but do these also require the admin server to be running???)
    aTdHvAaNnKcSe ! (thanks IN advance)
    Claudio
    Edited by: clichten on Aug 20, 2011 9:35 AM

    I don't know if what you want is possible. Only did a suggestion that works fine for me. I'm running SOA Suite and BPM Suite 11.1.1.5 on WLS 10.3.5
    Configure a new WLS domain and see if the BPM Dev template is available in your version.
    I've tuned my startup script (setSOADomainEnv.cmd) as follows:
    set JAVA_OPTIONS=%JAVA_OPTIONS%
    set DEFAULT_MEM_ARGS=-Xms512m -Xmx1024m
    set PORT_MEM_ARGS=-Xms1536m -Xmx1536m
    if "%JAVA_VENDOR%" == "Oracle" goto OracleJVM
    set DEFAULT_MEM_ARGS=%DEFAULT_MEM_ARGS% -XX:PermSize=128m -XX:MaxPermSize=512m
    set PORT_MEM_ARGS=%PORT_MEM_ARGS% -XX:PermSize=256m -XX:MaxPermSize=512m
    Use visualvm that's available from your jdk/bin directory to monitor your jvm and optimize it accordingly
    Regards,
    Melvin

  • Creating database without running the catalog.sql and  catproc.sql script

    Hi
    I created tow databse without running catalog.sql and catproc.sql. Any one knows what is the drawback of not running them?
    BR.

    I created tow databse without running catalog.sql and catproc.sql. Any one knows what is the drawback of not running them?Functionality & capabilities will be severely limited.

  • Can't have the word subtitutio​n feature without running the auto-corre​ction

    hi everybody,
    a week ago i change my bb style to z10 , and notice that I can't have word subtitution without set the auto-correction on. i don't live in a country where english is primary language, so i find this very annoying, because autotext is one of my favourite feature from my previous blackberry. I can't have the auto-correction on because it always changes what i type into something VERY different...
    another problem is ringtone notification of bbm message is the same as bbm group, so it's a little bit annoying having your blackberry rings all the time because of chat in group and i have 2 active groups right now.
    the third annoying thing is the numeric keypad, it always turns back to alphabet keypad everytime i hit space. it takes too long just to type 2 * 5 = 10 + 10 = 20 (for example). i wonder what i should do to keep staying in numeric mode.
    i wonder if there's already solutions to my problem, maybe an app or update.
    Other than those problems, i think z10 is a very good blackberry phone.

    KOENIG Yvan wrote:
    The Guide describes correctly the behavior of 10.4 (spell checker is not an application's tool but a system's one.
    As far as I know, "Unlearn Spelling" which is available under 10.4.11 (in every applications), is unavailable under Leopard (in every applications).
    Right-click or control-click on a bad word, and you will get the unlearn option. Example:
    Type "helllo". Go to the spelling dialogue and add the word to the dictionary.
    Close the spelling dialogue.
    Right-click or control click on the word "helllo" in a document, and you should see the unlearn option.

  • When I close and restart, I can't open Firefox 4 without running the install program again.

    I downloaded Firefox 4. It works fine. If I close it I can reopen it by clicking the desktop icon. But when I restart the PC (running Vista business 2007) the icon doesn't work. I get an error message. I need to re-run the installation program every time I restart my PC. Can you fix this?

    You get message "firefox is still running" and computer restart doesn't help you. Try the advice below.
    Make sure Firefox isn't running (end firefox.exe process in Task Manager or restart computer)
    Find your profile folder
    C:\Documents and Settings\USERNAME\Application Data\Mozilla\Firefox\Profiles\xxxxxxxx.default
    find file "parent.lock" in it and delete it (the file is empty, its function is to signify to Firefox whether it's already open or not).
    Then try to open Firefox again. Will it start or not? What will it say?

Maybe you are looking for

  • Dont Work

    Flash player fungerar inte i windows 8. Går inte att avinstalera heller

  • How do I change the ip address on my MacBook

    How do I change the ip address on my MacBook pro

  • Robohelp hangs when I try to add baggage files to projects

    I have two RoboHelp projects using source control (Visual Studio/Team Foundation Server) in Robohelp HTML version 8. Both service packs are installed. When I right click the Baggage Files folder and select 'Add to baggage files' the program hangs, an

  • CS5 Extended. Is there a way to delete tools I don't use

    Mac OS 10.6.8. CS5 Extended Photoshop. Is there a way to delete tools I don't use? I use the dotted square and dotted elipse (2nd tool down) but never use that skinny dotted one (vertical or horizontal) and too often I am trying to get the square or

  • 3.6.7 Lag, Delay, Memory Leak Checked But Not Fixed?

    Well, open a tab, try to open another tab, about 20 seconds of appearing frozen passed. Okay let's try clicking the first tab again, oh well, another 20 seconds frozen with cursor not even usable. Okay let's try clicking the url bar, oops, another 20