A Use Case question.

Hello all
I am currently developing an event management assignment for my degree.
A subset of problem statment
Attendee is a person, who would register with the application
in order to view the posted events.
For this part of the problem statment i have identified a usecase
"register attendee".
I will type the use case here. Since i am a novice, I would really like
design gurus to throw some light on the use case and suggest me changes
I will really appreciate it.
Use case : register attendee
Pre-condition: Attendee decides to register.
Main Success Scenario:
     Actor                         System
1. Attendee requests to register.
                    2. Provides registration form.
3. Attendee fills the form and
submits.                     
                    4. System checks for valid
                    authentication.
(//for eg. unique username)
                    5. System validates the information
(//for eg.compulsory fields
                         present or not)
                    6. System notifies through mail.
                    7. Displays registration was
                    successful.
Alternative Flow :
4 a) Invalid authentication : Displays appropriate message.
5 a) Invalid information : Displays appropriate message.
6 a) Mail notification failure : Logs the failure message and email.
Please guide me friends. I am a bit confused.
Thanks in advance.
Jenny               

Use case are pretty good for both of these. You know
your system needs to allow an ATTENDEE to register
with the SYSTEM using a REGISTRATION FORM. These sound
like things that either you need to model (what
attributes do the form and attendee have) or a thing
that you need to build the "system".
The steps in the use case tell you how the system must
behave. It needs to "getRegistrationForm" and give it
the attendee. The Attendee needs to
"completeRegistrationForm" and
"submitRegistrationForm". So, with the authentication
and validation rounding out the process you have a
good idea of what kind of methods you need as a base
in order to deal with the real world concepts you have
identified.I am through with what behaviour my system will need to provide in
order to realize the use case. But I will have to assign the behaviour
appropriately to classes of objects. I would like to go to the design model once i have a good understanding of the domain model. This is where the problem starts, should i identify, AuthenticationVerifier,InformationVerfier as different concepts and give later say AuthenticationVerifier the responsibility of verifying unique authentication and InformationVerfier the responsibility of verifying information received with the form or should I only take one concept of say Administrator that would perform the above two stated behaviours. I understand that it is always good to overspecify concepts rather than under specify but at some point of time i will have to make that decision.
If its a libray system, it is easy to identify certain priliminary concepts say book, patron, etc. as they occupy some physical space. But here nothing is clear. There isn't any entity in my use case, that occupies a physical space that i can easily identify as a real world concept.
My question is, how in this case, do someone define the notion of concept when there is nothing in the main success scenario that occupies space. My use case, only specifies what will be done with the
attendee information, not who will do it. So as a use case developer, am i responsible to map these processes with some physical entities that i have derived for eg. AuthenticationVerfier.
ps. You will need to add the Attendee as an Actor. She
is the one that is initiating the activity.Does it mean that as Attendee is an actor, he/she cannot be a concept?

Similar Messages

  • VMware Performance Event Triggers use case questions.

    1) Can the CPO VMware Adapter Performance Event Triggers and their
    SAMPLE SIZE, INTERVAL, and CONDITIONS attributes be configured
    for the following use case?
    2) Can VMWare Performance Event Triggers be CORRELATED?  and if so would it be needed to satisfy the use case?
    3) Would an additional performance monitoring tool be required to satisy the use case?:
    If a VM CPU or RAM has been 80% for 2 hours then trigger a workflow
    and
    If a VM CPU or RAM has been at 60% for X days then trigger a workflow

    I will first describe how you could instrument a correlation method, but ultimately, I'm not sure it is really necessary for the uses cases described.
    To correlate VMware performance events over a designated timeframe, you would create a correlation process that tracks the underlying performance event and decides whether or not to trigger the process you want triggered when the correlated event is detected.
    Here's how it works.
    First, create a global table with three columns:
    1) Virtual Machine path
    2) Consecutive Trigger Count
    3) Last Trigger time
    Create a process that is triggered by a VMware performance event (such as Memory Avg > 80%) where you can set a sample size and interval that makes sense given the timeframe of interest (2 hours or X days). For example, a sample size of 10 and interval of 30 seconds (5 minutes) is a reasonable time slice from vCenter for a 2 hour timeframe. This results in requiring 24 consecutive triggers to raise the actual event of interest. (2 hours divided by 5 minutes)
    That is, the formula is:
    Sample Size * Interval / Timeframe = Consecutive Trigger Count
    The correlation process triggered by the raw VMware event does the following:
    1) If there is no existing entry in the global table for the VM, add entry to table with count = 1 and current time
    2) if entry exists, check the current time against the last trigger time
       a) if it is the next interval, for example, current time is 12:15 and last triggered time was 12:10 (see note below),
            Increment counter and set last trigger time 
            If count = 24, then run the process that handles the "VM Memory Avg > 80% for at least 2 hours " and delete entry from table.
           If count < 24, the process exits having only incremented the counter and set the last trigger time
       b) if the current time is > than last trigger time + time slice (+ a little padding), set the counter back to 1
    Note: When comparing current time w/last time, you should pad to account for slight processing delays so compare current-time < last-time+(time slice*2). Anything less than 10 minutes in this case would be considered a consecutive trigger. You could also compare current-time < last-time+time-slice+1, which is probably also safe.
    Now, having gone through all that, you may not need the correlation process after all. Simply adjust your sample size to be large enough to accommodate your ultimate timeframe and you can trigger your event handler directly without the need to correlate. So for the 2 hour window, just create a sample size of 240 (* 30 seconds = 2 hours). This may or may not work depending on how performance metrics have been configured on the server (sample size, intervals and how much is saved). You can only set your own sample and intervals to multiples of those configured values (so be careful and refer to the VMware documentation when relying on such metrics)
    You may find that the correlation method I first described is more reliable, especially for longer timeframes such as X days (where you need to sample hourly rather than every 5 minutes).
    In any case, I think you can do what is asked without external monitoring, but it will require some experimentation and a deeper knowledge of how performance metric sampling works for ESX.

  • Photostream, iCloud Photo Sharing, iPhoto, my phone, and use cases all around

    I have a fre pretty basic use case questions about Photostream.
    I take a lot of pictures on my iPhone. They magically appear in iPhoto on my Mac. I'm told that by having the import feature in iPhoto turned on, those photos will stay in iPhoto on my iMac forever - or at least after I pass the 30 days/1,000 most recent photos limits.
    So that leaves me to ask: what am I supposed to do with the photos on my phone? Just leave them there to eat up storage? Or delete them at some point? Delete all the photos on my phone after I import those that Photostream hadn't already captured? Is there any benefit to importing a duplicate photo if I have Photostream importing turned on? And are they truly, really duplicate photos? Are the iPhone photos in my Photostream duplicated on my phone until they fall out of Photostream? Are iPhone photos duplicated if they're in a shared stream?
    I just don't know what I should do with the photos on my iPhone once they're on my iMac, and I'm not truly confident that they're on my iMac for good or that they're truly the same file as the original.

    on the mac/iphoto, move photos in the Photo stream group into some other album. 
    foatbttpo1567,In iPhoto on a mac you need to download the photos to an event - not an album. An album would only reference them in the photo stream, but not store the photos in the iPhoto library. Turning on "Automatic Import", as Old Toad suggested, will do that and create monthly events.
    I'm told that by having the import feature in iPhoto turned on, those photos will stay in iPhoto on my iMac forever - or at least after I pass the 30 days/1,000 most recent photos limits.
    The 30 days/1000 photos limit applies to the temporary storage in iCloud - the time you have to grab them and to import them. Once they are in an event, you have them safe.
    So that leaves me to ask: what am I supposed to do with the photos on my phone? Just leave them there to eat up storage? Or delete them at some point? Delete all the photos on my phone after I import those that Photostream hadn't already captured?
    Photo Stream is a handy feature for transmitting photos, but don't rely on it for permanent storage. If you ever have to reset your iPhone or reinstall your Mac, or to reset the photo stream, your photos from the stream may be gone. Keep always a copy of your photos either in the Camera roll on your phone or in iPhoto events on your mac, and make sure that these copies are regularly backed up.
    As for the "truly duplicates" - Photo stream will send optimized versions to the devices, but to a mac the full original version. You may want to read the FAQ:  iCloud: Photo Stream FAQ

  • I HAVE A QUESTION ABOUT USING CASE STRUCTURE

    Can I compute a percentage using case structure?
    In the following query below, I have been able to use CASE STRUCTURE to add to a counter when days were between 0 and 30, or when days were between 31 and 60 or when days were between 61 and 90 or when days were between 91 and 9999. I have also been able to get a GRAND TOTAL of all days between 0 and 9999. This is done in the LAST ITEM of the SELECT STATEMENT. The FIRST ITEM of the SELECT STATEMENT counts rows of records being processed. I want to take the LAST ITEM of the SELECT STATEMENT and MULTIPLY it by 100 and then DIVIDE it by the FIRST ITEM of the SELECT STATEMENT to get a percentage. I know that you can do this with numeric fields in a file but is there a way to do this in CASE STRUCTURE with calculated totals?
    SELECT
    count(distinct v.rowid) v_cnt,
    SUM(CASE WHEN(V.LCL_ER_RECV_DT - ADD_MONTHS(V.IND_ER_PER_END_DT,3)) BETWEEN 0 AND 30 THEN 1
    ELSE 0
    END) one_mo,
    SUM(CASE WHEN(V.LCL_ER_RECV_DT - ADD_MONTHS(V.IND_ER_PER_END_DT,3)) BETWEEN 31 AND 60 THEN 1
    ELSE 0
    END) two_mo,
    SUM(CASE WHEN(V.LCL_ER_RECV_DT - ADD_MONTHS(V.IND_ER_PER_END_DT,3)) BETWEEN 61 AND 90 THEN 1
    ELSE 0
    END) three_mo,
    SUM(CASE WHEN(V.LCL_ER_RECV_DT - ADD_MONTHS(V.IND_ER_PER_END_DT,3)) BETWEEN 91 AND 9999 THEN 1
    ELSE 0
    END) three_pl_mo,
    SUM(CASE WHEN(V.LCL_ER_RECV_DT - ADD_MONTHS(V.IND_ER_PER_END_DT,3)) BETWEEN 0 AND 9999 THEN 1
    ELSE 0
    END) TOT
    FROM NCOER V, NCOER_IN_ERROR NIE, NCOER_ERROR NE, ALL_CMD_VIEW ACV
    WHERE V.MIL_CMD_ASGN_CD IN ('FC')
    and v.lcl_er_form_cd = '4'
    and acv.cmd_cd = v.mil_cmd_asgn_cd
    and nvl(acv.lcl_code_stat,'N') = 'Y'
    and NVL(v.lcl_omit_from_stats_ind,'N') <> 'Y'
    AND V.PSC_CD IN ('FS10')
    AND (V.LCL_ER_RECV_DT >= '01-MAR_2007' AND V.LCL_ER_RECV_DT <= '31-MAR-2007')
    AND V.IND_SSN = NIE.IND_SSN(+)
    AND V.IND_ER_PER_END_DT = NIE.IND_ER_PER_END_DT(+)
    AND V.LCL_ER_RECV_DT = NE.LCL_ER_RECV_DT(+)
    AND V.IND_SSN = NE.IND_SSN(+)
    AND V.IND_ER_PER_END_DT = NE.IND_ER_PER_END_DT(+)
    AND V.LCL_ER_RECV_DT = NE.LCL_ER_RECV_DT(+)

    Solution for you:
    SELECT
    COUNT(V_CNT) PROCESS_RECORD,
    SUM(CASE WHEN(PROCESS_MONTHS) BETWEEN 0 AND 30 THEN 1
    ELSE 0
    END) ONE_MO,
    SUM(CASE WHEN(PROCESS_MONTHS) BETWEEN 31 AND 60 THEN 1
    ELSE 0
    END) TWO_MO,
    SUM(CASE WHEN(PROCESS_MONTHS) BETWEEN 61 AND 90 THEN 1
    ELSE 0
    END) THREE_MO,
    SUM(CASE WHEN(PROCESS_MONTHS) BETWEEN 91 AND 9999 THEN 1
    ELSE 0
    END) THREE_PL_MO,
    SUM(CASE WHEN(PROCESS_MONTHS) BETWEEN 0 AND 9999 THEN 1
    ELSE 0
    END) TOT,
    (SUM(CASE WHEN(PROCESS_MONTHS) BETWEEN 0 AND 9999 THEN 1
    ELSE 0
    END) *100/COUNT(V_CNT)) TOT_PER
    FROM
    (SELECT     V.ROWID V_CNT, V.LCL_ER_RECV_DT - ADD_MONTHS(V.IND_ER_PER_END_DT,3) PROCESS_MONTHS
    FROM     NCOER V, NCOER_IN_ERROR NIE, NCOER_ERROR NE, ALL_CMD_VIEW ACV
    WHERE     V.MIL_CMD_ASGN_CD IN ('FC')
    AND     V.LCL_ER_FORM_CD = '4'
    AND     ACV.CMD_CD = V.MIL_CMD_ASGN_CD
    AND     NVL(ACV.LCL_CODE_STAT,'N') = 'Y'
    AND     NVL(V.LCL_OMIT_FROM_STATS_IND,'N') <> 'Y'
    AND     V.PSC_CD IN ('FS10')
    AND     (V.LCL_ER_RECV_DT >= '01-MAR-2007' AND V.LCL_ER_RECV_DT <= '31-MAR-2007')
    AND     V.IND_SSN = NIE.IND_SSN(+)
    AND     V.IND_ER_PER_END_DT = NIE.IND_ER_PER_END_DT(+)
    AND     V.LCL_ER_RECV_DT = NE.LCL_ER_RECV_DT(+)
    AND     V.IND_SSN = NE.IND_SSN(+)
    AND     V.IND_ER_PER_END_DT = NE.IND_ER_PER_END_DT(+)
    AND     V.LCL_ER_RECV_DT = NE.LCL_ER_RECV_DT(+) )
    Regards,
    Rajs
    www.oraclebrains.com

  • Cannot Record Material Inspection Results as per wiki use case * SOLVED *

    === EDIT ===
    Playing around, I solved my issue.
    I did not realize that I needed to set both flags
    CloseIndicatorSpecified  = true;
    CloseIndicator = false;
    Adding that fixed it; I suspect I cannot set them to null even if the WSDL allows it.
    Michel.
    === ORIGINAL POST ===
    Hi,
    I have a project to integrate SAP and our LIMS using the SAP web services with the Material Inspection business object.
    In the Wiki, there are a few [use cases|https://www.sdn.sap.com/irj/sdn/wiki?path=/display/ESpackages/IntegrationofQualityManagementSystems] on the subject.
    Following that, I successfully retrieve all the required data using the following web services:
    [Find Material Inspection Basic Data by Elements|https://wiki.sdn.sap.com/wiki/display/ESpackages/FindMaterialInspectionBasicDatabyElements]
    [Find Material Inspection Subset Operation by Elements|https://wiki.sdn.sap.com/wiki/display/ESpackages/FindMaterialInspectionSubsetOperationbyElements]
    [Find Subset Operation Inspection Activity Basic Data by Elements|https://wiki.sdn.sap.com/wiki/display/ESpackages/FindSubsetOperationInspectionActivityBasicDatabyElements]
    [Read Subset Operation Inspection Activity|https://wiki.sdn.sap.com/wiki/display/ESpackages/ReadSubsetOperationInspectionActivity]
    From there, I want to record results. According to the Wiki , I should use
    [Record Subset Operation Inspection Activity Result|https://wiki.sdn.sap.com/wiki/display/ESpackages/RecordSubsetOperationInspectionActivity+Result]
    I tried directly through the [WS Navigator|http://sr.esworkplace.sap.com/webdynpro/dispatcher/sap.com/tcesiespwsnavui/WSNavigator] to test web services. Whenever go through that tho, I get the following error:
    Conversion Error: Invalid Input Format (701 SFB)
    Obviously, I get the exact same error using c# (at least I'm consistent!)
    Below is the code (some is truncated because it is too long but I think you can get the idea).
    The question: Can anyone help me understand why I am getting that error? Maybe there is one or more property I don't understand... It would be practical if the actual failing property was identified in the LogItem, but it is not.
    Some things I tried (to no avail):
    1. Tried all sort of combination for actionCode
    2. Removed actionCode and set actionCodeSpecified = false
    3. Removed the Measure property
    4. Removed the Text property
    5. Removed the ChangeStateID
    Thanks in advance!
    Michel
    ...RequestMessage_sync messageIn = new ...RequestMessage_sync();
    messageIn.MaterialInspection = new u2026RequestMessage_syncMaterialInspection();
    messageIn.MaterialInspection.ID = new MaterialInspectionID();
    messageIn.MaterialInspection.ID.Value = "3265";
    messageIn.MaterialInspection.ChangeStateID = "1";
    messageIn.MaterialInspection.Subset = new u2026RequestMessage_syncMaterialInspectionSubset();
    messageIn.MaterialInspection.Subset.ID = new InspectionSubsetID();
    messageIn.MaterialInspection.Subset.ID.Value = "0";
    messageIn.MaterialInspection.Subset.Operation = new u2026RequestMessage_syncMaterialInspectionSubsetOperation();
    messageIn.MaterialInspection.Subset.Operation.ID = "0300";
    u2026RequestMessage_syncMaterialInspectionSubsetOperationInspectionActivity activity = new u2026RequestMessage_syncMaterialInspectionSubsetOperationInspectionActivity();
    activity.ID = "0010";
    activity.CloseIndicatorSpecified = false;
    activity.Result = new u2026RequestMessage_syncMaterialInspectionSubsetOperationInspectionActivityResult[1];
    activity.Result[0] = new u2026RequestMessage_syncMaterialInspectionSubsetOperationInspectionActivityResult();
    activity.Result[0].ID = "0001";
    activity.Result[0].AcceptanceStatusCodeSpecified = false;
    activity.Result[0].DefectNumberValueSpecified = false;
    activity.Result[0].ExceptionIndicatorSpecified = false;
    activity.Result[0].InspectedNumberValueSpecified = false;
    activity.Result[0].Comment = string.Empty;
    activity.Result[0].NonConformingUnitNumberValue = 0;
    activity.Result[0].Measure = new Measure();
    activity.Result[0].Measure.Value = decimal.Parse("4.15";);
    activity.Result[0].Measure.unitCode = "AMP";
    activity.Result[0].Text = new Text();
    activity.Result[0].Text.Value = "Some Text Here";
    activity.Result[0].actionCode = ActionCode.Item01 |ActionCode.Item02 | ActionCode.Item03;
    activity.Result[0].actionCodeSpecified = true;
    activity.CloseIndicatorSpecified = false;
    messageIn.MaterialInspection.Subset.Operation.InspectionActivity = activity;
    messageIn.MessageHeader = new BasicBusinessDocumentMessageHeader();
    messageIn.MessageHeader.ID = new BusinessDocumentMessageID();
    messageIn.MessageHeader.ID.Value = "starlims_update";
    try
          u2026ConfirmationMessage_sync messageOut = ws.MaterialInspectionSubsetOperationInspectionActivityResultRecordingRequestConfirmation_In(messageIn);
          if (messageOut.Log.Item != null)
                string message = String.Empty;
                foreach (LogItem item in messageOut.Log.Item)
                      message += (item.Note + "\n");
                MessageBox.Show(message);
    catch (Exception ex)
          MessageBox.Show(ex.Message);
    Edited by: Michel Roberge on Jul 16, 2008 2:38 PM

    See post for solution.

  • Use case for showing records in report view BAM based on version number

    Hi,
    I have a use case to update records based on version no. Let say I have a table or data object in BAM called 'Notes'. The Notes dataobject has three fields Id, Version, Description. The Notes data is displayed in a BAM report. I need to just display the latest version of the Notes. Say two records with one with Id as '124' and Version '4' and another with Id as '124' and version as '5'. The record related to version 5 should be dispalyed to user. How will I introduce this check in BAM reports for the latest version?
    Thanks
    Edited by: user5108636 on 28/06/2010 16:47

    That you see you're prints only means that your method outta called. The code creates a new row, but never inserts the row into the rowset. Then you call execute query which loses any connection to the new route which is not part of the rowset.
    First action would never to call insertRow(r1) on the view object.
    If you change data this way, only the model layer knows about it, the ui can't know about this (one of the disadvantages of using plsql or this construct you try). You have to tell the view controller to update it's data to. For this you can execute the iterator in the binding layer and/or ppr the container showing your data.
    Then I don't see any complicated plsql called do I question if a programmatic co is necessary.
    Timo

  • Need help in this sql query to use Case Statement

    hi All,
    I have the below query -
    SELECT DISTINCT OFFC.PROV_ID
    ,OFFC.WK_DAY
    ,CASE
    WHEN OFFC.WK_DAY ='MONDAY' THEN 1
    WHEN OFFC.WK_DAY ='TUESDAY' THEN 2
    WHEN OFFC.WK_DAY ='WEDNESDAY' THEN 3
    WHEN OFFC.WK_DAY ='THURSDAY' THEN 4
    WHEN OFFC.WK_DAY ='FRIDAY' THEN 5
    WHEN OFFC.WK_DAY ='SATURDAY' THEN 6
    WHEN OFFC.WK_DAY ='SUNDAY' THEN 7
    END AS DOW
    ,OFFC.OFFC_OPENG_TIME
    ,OFFC.OFFC_CLSNG_TIME
    FROM GGDD.PROV_OFFC_HR OFFC
    WHERE OFFC.PROV_ID='0000600'
    WITH UR;
    this query is bringing results in 6 differnt rows with opening and closing time for each day separately. I want to generate the data in one row with each day having opening and closing time, so for 7 days, total 14 columns with opening and closing time. But i am not able to do that using case statement.
    can somebody help me in achieving that.
    thanks,
    iamhere

    Hi,
    Welcome to the forum!
    That's called a Pivot .
    Instead of having 1CASE expression, have 14, one for the opening and one for the closing time each day, and do GROUP BY to combine them onto one row.
    SELECT       OFFC.PROV_ID
    ,       MIN (CASE WHEN OFFC.WK_DAY ='MONDAY'    THEN OFFC.OFFC_OPENG_TIME END)     AS mon_opn
    ,       MIN (CASE WHEN OFFC.WK_DAY ='MONDAY'    THEN OFFC.OFFC_CLSNG_TIME END)     AS mon_cls
    ,       MIN (CASE WHEN OFFC.WK_DAY ='TUESDAY'   THEN OFFC.OFFC_OPENG_TIME END)     AS tue_opn
    ,       MIN (CASE WHEN OFFC.WK_DAY ='TUESDAY'   THEN OFFC.OFFC_CLSNG_TIME END)     AS tue_cls
    FROM        GGDD.PROV_OFFC_HR OFFC
    WHERE       OFFC.PROV_ID     = '0000600'
    GROUP BY  offc.prov_id
    ;This assumes there is (at most) only one row in the table for each distinct prov_id and weekday. If not, what do you want to do? Post a little sample data (CREATE TABLE and INSERT statements) and the results you want from that data.
    The staement above works in Oracle 8.1 and up, but there's a better way (SELECT ... PIVOT) available in Oracle 11. What version are you using? (It's always a good idea to include this when you post a question.)
    Edited by: Frank Kulash on Jan 6, 2011 8:22 PM

  • Update multiple rows using CASE WHEN

    I have the table ACCOUNT of structure as follow: 
    ACCOUNT_ID
    ACCOUNT_STATUS
    004460721
    2
    042056291
    5
    601272065
    3
    I need to update the three rows at once using one SELECT statement such that, the second column will be 5, 3, 2 respectively.
    I used the following query but seems there is something missing
    UPDATE ACCOUNT
    SET ACCOUNT_STATUS = CASE  
    WHEN ACCOUNT_STATUS = '004460721' THEN 5 
    WHEN ACCOUNT_STATUS = '042056291' THEN 3 
    WHEN ACCOUNT_STATUS = '601272065' THEN 2 
    WHERE ACCOUNT_ID IN ('004460721','042056291','601272065') 
    My question, is this way correct? if no, can I use CASE WHEN statement and how or I only have choice of using SUB-SELECT to acheive that in one statement?

    Hi,
    Hawk333 wrote:
    I have the table ACCOUNT of structure as follow:
    ACCOUNT_ID
    ACCOUNT_STATUS
    004460721
    2
    042056291
    5
    601272065
    3
    I need to update the three rows at once using one SELECT statement such that, the second column will be 5, 3, 2 respectively.
    I used the following query but seems there is something missing
    UPDATE ACCOUNT
    SET ACCOUNT_STATUS = CASE  
    WHEN ACCOUNT_STATUS = '004460721' THEN 5 
    WHEN ACCOUNT_STATUS = '042056291' THEN 3 
    WHEN ACCOUNT_STATUS = '601272065' THEN 2 
    WHERE ACCOUNT_ID IN ('004460721','042056291','601272065') 
    My question, is this way correct? if no, can I use CASE WHEN statement and how or I only have choice of using SUB-SELECT to acheive that in one statement?
    What happens when you try it?
    Did you mean "WHEN ACCOUNT_ID = ..."?
    A CASE expressions always needs an END keyword.
    Depending on your requirements (that is, why are those rows being changed, and how do you determine the new values) a CASE expression in an UPDATE statement, similar to what you posted, could be a good way to do it.  MERGE (instead of UPDATE) would also be an option, especially if you want to avoid updating rows that already happen to have the correct values.

  • Use case for financial data

    Hi All,
    I've a question about potential use case for Oracle spatial. Data structures are following:
    Clients
    Account (have a dimension of balance, can be zero or above zero)
    Client to account relationship
    E.g.
    Client C1 is a borrower to Account A1 (balance = 0)
    Client C1 is a co borrower to Account A2 (balance > 0)
    Client C2 is a co borrower to Account A1 (balance > 0)
    Client C3 is a co borrower to Account A3 (balance > 0)
    Currently, database is modeled as a set of three tables, e.g.
    Client
    ID
    DATA
    Account
    ID
    DATA
    BALANCE
    CLIENT_TO_ACCOUNT
    CLIENT_ID
    RELATIONSHIP (E.g borrower)
    ACCOUNT_ID
    Business limitations:
    We are not interested in independent graphs for which all accounts have balance = 0 (let's call it inactive graph), however we might need occasionally query it
    Users are interested in vertices/edges with account which have balance = 0, but linked (up to level N) to active account for analysis purposes
    There is no well defined root (e.g. there can be 2 or more clients which are co borrowers to same account)
    99% of queries will be against active graphs
    Graphs are mutable, e.g. new relationships (edges) may be created/deleted during the day
    Users are potentially interested in free navigation in whole independent graph, starting from root.
    Root is determined by certain business rule
    Need to process active graphs daily as bulk
    Problems which I am trying to solve:
    Limit the amount of data which may need to be processed - based on the analysis of current system, we only need 5% of data + some delta for 99% processing
    Make sure performance does not degrade with time as we get more historical (processed data) - we can not deleted accounts with balance = 0 as potentially new relationship may arrive with new accounts with balance > 0
    Current solution that I am thinking of :
    Artificially partition the data universe as active and inactive graphs. All indexes would be local to two partitions.
    E.g.
    GROUP
    GROUP_ID PK
    ACTIVE_FLAG (partition key)
    CLIENT
    GROUP_ID (PARTITION BY FK TO GROUP)
    ACCOUT
    GROUP_ID (PARTITION BY FK TO GROUP)
    CLIENT_TO_ACCOUNT
    GROUP_ID (PARTITION BY FK TO GROUP)
    The issues I am seeing right now:
    1. Graphs(groups) may be potentially unlimited, so I will need a artificially limit the size using some dividing algorithms - leading to
    2. Graphs(groups) may need to be joined or divided
    3. Graphs(groups) will have to be activated/deactivated - e.g. moved to different partitions.
    4. Data loading, activation/deactivation algorithms are not simple
    So I am thinking about Oracle Spatial (Network) to model this problem.
    Questions:
    1) Can I model this problem using Oracle Spatial?
    2) Will I gain any performance improvement?
    3) Is there any explanation or white paper on how to do this for this particular type of problem?
    4) Will the solution based on Oracle Spatial solve the problems outlined above?
    5) Will my solution (without using Oracle spatial) work at all? Or there are some fundamental issues..
    Thanks you!

    Either add a LOV to the JobID attribute definition in the VO (if the JobID will be editable) or simply add the job description to the select statement (join to the job table) as a reference attribute

  • Update using CASE statement

    Hi
    I have two tables
    employee
    empid empname empaddress valid
    Employeedetails
    empid empname manager
    I would like to validate empname from both the tables using case statement and empid as join and update 'valid' column in employee table to y/n.
    Please help me with the syntax

    Hi,
    Depending on your requirements:
    UPDATE     employee  e
    SET     valid       = (
                     SELECT  CASE 
                                     WHEN  COUNT (*) = 0
                           THEN  'n'
                           ELSE      'y'
                                 END
                     FROM    employeedetails
                     WHERE   empname     = e.empname
    I hope this answers your question.
    If not, post a little sample data (CREATE TABLE and INSERT statements, relevant columns only) for all tables involved, and also post the results you want from that data.
    If you're asking about a DML statement, such as UPDATE, the sample data will be the contents of the table(s) before the DML, and the results will be state of the changed table(s) when everything is finished.
    Explain, using specific examples, how you get those results from that data.
    Always say which version of Oracle you're using (e.g., 11.2.0.2.0).
    See the forum FAQ {message:id=9360002}

  • Can I use case statements in triggers?

    I created this trigger, it works BUT I don't like those parentheses at the begining, I would like
    to change those parentheses for case statements, well that is my question, can you use case statements in triggers, how you would translate the following in case statement?
    FOR EACH ROW
    WHEN ( (new.sgbstdn_levl_code = 'UG')
    and
    ( (NEW. SGBSTDN_STST_CODE NOT IN ('GR','SA','AS','IS') )
    OR
    ( (NEW. SGBSTDN_STST_CODE = 'IS' ) AND
    (NEW. SGBSTDN_STYP_CODE IN ('N' , 'T' )) AND
    (OLD. SGBSTDN_STST_CODE = 'AS' ) ) ) )
    ==================================================================================================
    CREATE OR REPLACE TRIGGER CC_STUD_WITHDRAWAL
    AFTER UPDATE OR INSERT ON SATURN . SGBSTDN
    FOR EACH ROW
    WHEN ( (new.sgbstdn_levl_code = 'UG')
    and
    ( (NEW. SGBSTDN_STST_CODE NOT IN ('GR','SA','AS','IS') )
    OR
    ( (NEW. SGBSTDN_STST_CODE = 'IS' ) AND
    (NEW. SGBSTDN_STYP_CODE IN ('N' , 'T' )) AND
    (OLD. SGBSTDN_STST_CODE = 'AS' ) ) ) )
    DECLARE
    v_params gokparm.t_parameterlist;
    event_code gtveqnm.gtveqnm_code%TYPE;
    firstname spriden.spriden_first_name%TYPE;
    lastname spriden.spriden_last_name%TYPE;
    middlename spriden.spriden_mi%TYPE;
    id spriden.spriden_id%TYPE;
    CURSOR get_stud_name IS
    SELECT
    spriden_id ,
    spriden_last_name ,
    spriden_first_name ,
    spriden_mi
    FROM
    saturn.spriden
    WHERE spriden_pidm = :NEW.SGBSTDN_PIDM
    AND spriden_change_ind IS NULL;
    BEGIN
    IF goksyst . f_isSystemLinkEnabled ( 'WORKFLOW' ) THEN
    event_code := SUBSTR ( gokevnt.F_CheckEvent ( 'WORKFLOW' ,'CC_STUDENT_WITHDRAW' ),1,20);
    OPEN get_stud_name ;
    FETCH get_stud_name INTO id , lastname , firstname , middlename ;
    CLOSE get_stud_name ;
    ----pass parameters to the event
    v_params ( 1 ).param_value := 'CC_STUDENT_WITHDRAW' ;
    v_params ( 2 ).param_value := '' ;
    v_params ( 3 ).param_value := 'Student Withdrawal:' || lastname || ',' || firstname || ' ' ||
    middlename ;
    v_params ( 4 ).param_value := :NEW.sgbstdn_pidm ;
    v_params ( 5 ).param_value := id ;
    v_params ( 6 ).param_value := lastname ;
    v_params ( 7 ).param_value := firstname ;
    v_params ( 8 ).param_value := middlename ;
    v_params ( 9 ).param_value := :NEW.sgbstdn_term_code_eff ;
    v_params ( 10 ).param_value := :NEW.SGBSTDN_STST_CODE ;
    v_params ( 11 ).param_value := :NEW.SGBSTDN_STYP_CODE ;
    gokparm.Send_Param_List ( event_code , v_Params );
    END IF;
    END;
    /

    You could delete a fair number of extraneous parentheses.
    CREATE OR REPLACE TRIGGER cc_stud_withdrawal
      AFTER UPDATE OR INSERT
      ON saturn.sgbstdn
      FOR EACH ROW
      WHEN     NEW.sgbstdn_levl_code = 'UG'
           AND (   NEW.sgbstdn_stst_code NOT IN ('GR', 'SA', 'AS', 'IS')
                OR (    NEW.sgbstdn_stst_code = 'IS'
                    AND NEW.sgbstdn_styp_code IN ('N', 'T')
                    AND OLD.sgbstdn_stst_code = 'AS'))

  • Problems with use cases in JDeveloper 11.1.1.1.0

    Use cases made with JDeveloper 11.1.1.0.2 can not be used and edited in JDeveloper 11.1.1.1.0.
    Same problems with Use Case Diagrams.
    And it seems to be impossible to create new use cases in JDeveloper 11.1.1.1.0.
    What are the differences between 11.1.1.0.2 and 11.1.1.1.0 if you look at use cases??

    In JDeveloper 11.1.1.0.2 each use case has one file with the folllowing name: *.xhtml_usc.
    In JDeveloper 11.1.1.1.0 each use case has two files with a names like *.xhtml_usc and *.uml_usc (after standard migration with JDeveloper). I can still edit the *.xhtml_usc files, but I have no idea what to do with the *.uml_usc files. I can only open a Property-editor, but the properties I see have no relation with the text I used in my original use cases . New use cases only have a *.uml_usc file and a Property-editor. In javadoc the new use case does not appear.
    My question is: why do I have two different use case files in JDeveloper 11.1.1.0 and how can I use the Property editor??

  • Problems with Use Cases for Process Integration

    Hi there,
    I'm reading the "Simple Use Cases for Process Integration" (http://service.sap.com/xi -> Media Library ->
    Documentation) and try to setup the variants 1 up to 4. As per description I created the Technical and Business Systems in the SLD. Everything worked fine. But I can't find the created business systems in the Integration Directory When I click on Objects tab page -> Services without party and and choose Assign Business System, I can't see the desired business systems in the list. What am I doing wrong?
    Cheers
    Marc

    hi Marc,
    maybe the business system was already assigned?
    1. check if the business system exists in the SLD
    2. check if the business system exists in directory
    3. refresh SLD cache (in directory menu)
    4. try assigning once more
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • EVO:RAIL - Use Cases?

    I think as soon as the world becomes aware of EVO:RAIL then folks will start asking what the use cases are. It's clear that there are couple of immediate use cases, but I'm betting that customers will bring to the table applications that perhaps we hadn't considered. The other night I was our Tech Summit event (its private event for VMware SE/TAMs to attend prior to VMworld to get them up to speed on what the announcements are all about), and I was approached by a number of SE/TAMs who are interested in running EVO:RAIL in the basements and garages as the foundation to their homelabs. Even with the onsite of Cloud - and we have an internal cloud that SE/TAMs can use demo products to customers - just like the VMware Community they still have a passion for building out their own demos, just how they like them - that they can tailor make to handle customer questions that come up. I'm the same, despite being at VMware for 2+ years, I'm still running my own gear at home. It just worked out more cost effective form my needs than keeping my 42U rack at a colo.
    I doubt that my might the "WAF" would apply to having a 4U box with 4 nodes inside it - in the spare bedroom. So I'm already looking at running EVO:RAIL in a nested configuration on my home lab gear for testing, videos and demos to customers. That work has already been done for the VMworld HoL, by William Lam (the undisputed king of nested ESX, well, perhaps Simon Gallagher comes close!) - who's done some excellent work on this already. So hopefully it won't take much work to get hold of the bits from the HoL, and pump the lastest build of EVO:RAIL into it...
    Anyway, I digress use cases. It's clear that ROBO, SMB and VDI are the top use cases - situations where an appliance like model, with zero configuration (almost!) is needed. I think we perhaps be a bit careful with the SMB use case. EVO:RAIL is 4xNodes in a 4U configuration with each node presenting 192GB of RAM. One thing I've always been concerned with is how variable "SMB" is as term. Over here in a the US an SMB would be classed as company with <1000 employees. Over here in Europe, that would be regarded as still quite large for an SMB.. The same goes ROBO. So I guess what I'm saying is size is relative, and so we have to be careful when use terms like "small".
    Folks who know me will know that I'm a big fan of VMware Site Recovery Manager and vSphere Replication - having written books about the version 1.0, 40 and 5.0 versions. I think there's use case where an EVO:RAIL is put into some colocation facilitiy and used as DR target. The important thing to remember about EVO:RAIL as its based on vSphere 5.5 U2, other products in the vCloud Suite family will work with it - like SRM, View, vCloud Director or vCAC... So its not some special "moded" version of the platform. Perhaps a better model for DR and EVO:RAIL is to run VR locally on it, and use vCloud Air as the target for recovery...? I guess we have to ask the question what's going to be more popular/easier. Two site with EVO:RAIL at either end, or EVO:RAIL enabled for DR to the cloud. Just to be clear. That isn't baked into EVO:RAIL today, I'm just blue sky thinking about the possibilities in the future.
    So what do folks think here? Can you dream up any other scenarios where an EVO:RAIL would be good fit...?

    You make some valid points there, but there's a couple of things that are worth clarifying....
    Firstly, EVO:RAIL is pre-installed at factory. So really the only "installation" is racking up, and connecting to the TOR. In fact I think an EVO:RAIL is easier to setup that a VSA is, and gives more usable disk space, and lower cost per gigabyte..
    IF the customer has given the OEM the IPs, IP Ranges, Hostnames, and Passwords - then it literally is a 15min setup after clicking "Build Appliance". On the other hand if the customer wants to customize the EVO:RAIL prior to build - such as changing the VLANs Tags (That they supplied) that would add a couple of minutes...
    vDS is NOT a prequistie. EVO:RAIL uses standard switches... Although an EVO:RAIL is licensed for Enterprize Plus. There's no requirement to configure a Distributed Switches.
    The real "asks" here is the customer needs 10Gb switch - I think its fair to say that isn't common in SMB/ROBO environment. I suspect many of the OEMs will be asking the customer to validate their switch configuation. Multicast for IPv4/IPv6 is used by the "Zero Network Configuation" on the management/VSAN networks. As the name suggest no configuration is required on the EVO:RAIL, its used as part of the discovery process for finding the nodes, and finding new appliances. One most switches this tick off box option on the switch for the VLANs that require it...
    Anyone of my plans is to order an EVO:RAIL from one of our suppliers just like a customer would, and document/record that process. So i can get a feel for a real world customer experience would be. In fact I might see if my wife, Carmel can set it up... :-)

  • Which component to chose in my use case ( BPEL / OSB / Mediator)

    All,
    I have gone through various blogs and documentation explaining the reasons for choosing a specific component,But,It is always a close call when it comes to making a very important decision as
    the real time uses case we generally deal with always fall in a border making it difficult to decide.
    Use case:
    A legacy system has to communicate with a third party system for sending some job details. For the same it uses an service intermediary.
    This service intermediary has to
    a) Receive the message from the legacy system. ( Preferably as EDN event as its easy for the legacy system to through an event)
    b) Very light orchestration ( in the future)
    c) Route it to the Mobile enablement application/ system.
    Generic:
    d) Need to provide a fault management / handling.
    e) Authentication / Authorization.
    Having these requirements, I thought an OSB would be a right component to be used as we are focused on routing in a decoupled way with light orchestration and business agility. However can OSB support
    a. subscribe to EDN events ? If yes how ? Can it have Oracle Apps adapter to get the events from R12 like BPEL?
    b. Can it use the same fault management framework written for SOA suite ( policies and bindings) ?
    On the other hand, I am having thoughts on why not use BPEL process itself. We can turn Auditing to off and will not have any dehydration points in the bpel process thus making it stateless ( just like OSB ?) if that is the major difference we are looking at ? Service virtualization ( dynamically changing the end point ) can also be acheived in bpel.
    and why not Mediator ? I know everywhere people talk about using mediator for intra composite commmunication but at the same time they suggest using it while writing to file / adapter or call a external service exposed as SOAP WSDL too. Now for our use case, a mediator can listen to events from the legacy system and route it to the target mobile enablement service.
    ( Note : BPEL and mediator can use fault management , EDN's, Oracle apps adapter and also can be made stateless by turning the audit to off . So if you are still suggesting OSB please back it up with strong reason rather than just theoritcally saying that its a standard to use in case of routing and stateless etc..)
    Kindly help !
    Regards,
    Sridhar.

    Realized that OSB can
    a. Read an AQ using AQ adapter and thus can subscribe to the Events raised using AQ in Oracle Ebsuiness Suite applications.
    b. OSB has its own way of handling faults. ( does not use SCA fault handling framework).
    The important question I want to focus here is
    In the above use case when everything can be acheived using either of OSB, BPEL or Mediator. ( ie., from ease of developement, performance and management) how to chose a specific component ?
    Service virtualization that OSB boasts can be done by BPEL.
    BPEL can also be made lieght weight by turning the dehydration to off ( auditing to off)
    Result cache can be achieved in bpel by using some custom coherence api.( which is one time effort and simple to use)
    Message throttling can be done using a queue in between.
    Really need a very practical reason to prefer OSB and not BPEL or Mediator in my case. Help appreciated

Maybe you are looking for

  • Component image not getting displayed in Portal

    Hi All, I have added a jpg image to MIME folder in my component and used it as source for Image UI and also as a separator in Breadcrumb. When I run this web dynpro application in portal, the image is not getting rendered. I am getting cross mark ins

  • How do I restore my macbook pro to factory setting

    How do I restore my macbook pro to factory setting

  • Not Equal to Clause in BODS

    Hello Experts - I need to put this condition in transformation  in BODS  table1.col 1 Not Equal to table2.col2 . I am not able to find NOT EQUAL TO clause in BODS. I have used  !=  , But  not working. However equal to (=) is working fine. Any suggest

  • Creating a Variable Library XML "Database"

    So, I have been playing with the variable data options and have a couple of questions (in an attempt to wrap my head around the problem): - Is it possible to output an 'XML dataset' from a database program (such as FileMaker) and have it be 'correct'

  • Where do I download the CPAN shell for OS X?

    Where is the download page for the cpan shell for OS X---i.e. the program I run by typing "cpan" which lets me manage and download perl packages from the cpan website? I have this installed on my machine, but I can't remember where I installed it fro