Shared data controls and Ctrl+N

Hi,
From the oracle docs page mentioned below
http://docs.oracle.com/cd/E14571_01/web.1111/b31974/taskflows_parameters.htm#CHDIEDEH
I have a question regarding the line "However, if an end user uses the Ctrl+N keys to open a new browser window, the two windows have the same server-side state and share data control instances." from shared data control instances topic.
If we issue Ctrl+N, it opens a new window and the default being a blank page we would be required to navigate to our application once again. Wouldnt that create a new server session anyways?
Under what circumstance would Ctrl+N reuse the same server session from the old window and share the same instance of data control? Can someone tell me a test case to verify if the new window is using the same data control instance?

Hi,
the doc basically says that you work in a separate data control frame, which means you are in the same session but a new transaction. read this for best practices and some more background information
http://one-size-doesnt-fit-all.blogspot.com/2011/10/pageflowscope-with-unbounded-task-flows.html
Frank

Similar Messages

  • Clarification?: Frank & Lynn's book - task flow "shared" data control scope

    I'm seeking clarification around shared data control scopes please, regarding a point made in Frank Nimphius and Lynn Munsinger's "Oracle Fusion Developer Guide" McGraw-Hill book.
    On page 229 there is a note that states "The data control scope can be shared only if the transaction is also shared". Presumably this implies that only the transaction options "Always Use Existing Transaction" or "Use Existing Transaction if Possible" are applicable for a shared data control scope.
    However this seems at odds with what the IDE supports, as you can also select the transaction options "<No Controller Transaction>" and "Always Begin New Transaction" when the data control scope is set to shared.
    What's correct? The IDE or the book?
    Your assistance appreciated.
    CM.

    Chris,
    "The data control scope can be shared only if the transaction is also shared"
    At least the book stands correct for what I could test in a simple test case:
    1. no transaction - no sharing
    - no master/detail synchronization. DC are bot shared
    - commit in called btf does not commit caller task flow
    2. "always use existing" transaction selects shared Data Control and automatically disables this field so there is no other option for this
    3. Share DataControl and "Always begin transaction"
    Committing transaction in called btf also commits the transaction in calling TF
    So bottom line is that the transaction handling in ADFc appears to be confusing as it only is a directive for the DataControl to interpret.
    Also see page 14 "Task flow "new transaction" vs. "new db connection"" of : http://www.oracle.com/technetwork/developer-tools/adf/learnmore/march2011-otn-harvest-351896.pdf
    In ADF BC it seems that separated transactions only exist if you use isolated mode. If you use shared and new transaction then basically the transactions are not isolated.
    Frank
    Ps.: I took an action item to follow up with development about what the expected ADF BC behavior for the controller settings are.

  • Shared Data Control

    Dear All,
    I often find myself reading documents regarding
    shared data control and transaction in taskflow but I often
    scratch my head what does it mean?
    I googled about it but cant find a good resource othat explains the relevance of the topic
    in ADF programming.
    Can somebody please share a link or a resource where I could read about it?
    Thanks.

    http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/taskflows_parameters.htm#ADFFD1693
    http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/bclookups.htm#ADFFD1596
    "Use Existing Transaction if Possible and Shared data control scope options should be used, as, this option will reuse an existing transaction if available from the calling task flow, or, establish a new transaction if one isn't available."

  • Sharing Data control Frame

    Guys,
    I have a issue with sharing data control frame.
    I have a search page. From the search results, if the users clicks on a result row, i have to open a NEW TAB providing details of the row. So everytime the user can go back to search tab, and click on the row to open in a new tab.
    For that, I'm launching a new Taskflow everytime the user clicks on the row in the serch rsults table. That taskflow is set to Transaction : <No Controller Transaction>. so each time you gonna lauch a new tab, it gonna consume a new data control frame. (and use as many DB connections)
    But i dont want that. so i set the Transaction to 'share the data controls with the calling taskflow' and '<always use existing transaction>'. But the problem is all the tabs showing the same information, which i dont want.
    How can i overcome the issue without using multiple Data source connections(i mean holding multiple data control frame)?
    Any help appreciated...

    @shay, we can't use that configuration. When using <always use existing transaction>, we need to share data control.
    otherwise, we will endup in this error, "Existing transaction is required when calling task flow"
    @amseth -> which means it shows the data for last selected row in the search results.
    I'm working to find a solution. Any help, appreciated..

  • Difference between data control and grid control

    Hello, All:
    When I installed my 10g database, the OEM data control was also installed, I can use it to manage my database perfectly. now I see there is a seperate product for OEM grid control that need to be installed from different CD, Can someone tell me what's the difference between this Data Control and Grid Control?
    Thanks in advance

    DBconrtrol is for monitor only one database but from Enter prise manager Grid Control you can monitor and manage all the database in your enterprise basically
    Oracle Enterprise Manager Grid Control is a single, integrated product for monitoring and managing Oracle software infrastructure as well as applications and business services in diverse IT environments

  • Selected node in a tree table (via Data Controls and not managed bean)

    I am facing some problems in getting the selected row in a tree table.I have used data controls for creating the tree on the page.
    I have 3 POJO's,ex; Class AB which has a list of Class CD.And Class CD has a list of class EF. (Used for the tree table)
    Now i have a java class, called MyDelegate.java which has a list of AB.I generated data controls off this MyDelegate class and have dropped the ABlist as a tree table (also displaying CD and EF in the tree table).
    It displays fine with nodes of AB,CD (child of AB)and EF(child of CD)
    The tree table is not bound to any managed bean.
    For performing actions on the tree, i create a method - "doSomething() in the delegate class",generate data controls and drop it as a button.
    Inside doSomething(), i need acess to the selected node in the tree (it can be a node of type AB or CD or EF).
    The problem: I always get access to the node of type AB, and not the child nodes no matter what i click in the tree table.
    doSomething(){
    DCBindingContainer dcBindingContainer = (DCBindingContainer)ADFUtil.evaluateEL("#{bindings}");
    DCIteratorBinding dcTreeIteratorBinding = dcBindingContainer.findIteratorBinding("lstABIterator");
    RowSetIterator rowTreeSetIterator = dcTreeIteratorBinding.getRowSetIterator();
    DCDataRow rowTree = (DCDataRow)rowTreeSetIterator.getCurrentRow();
    if (rowTree.getDataProvider() instanceof AB) {
              //do something
              AB selectedAB = (AB)row.getDataProvider();
    } else if (rowTree.getDataProvider() instanceof CD){
              //do something
    } else if (rowTree.getDataProvider() instanceof EF) {
              // do something
    How do i access the "selected child node of the tree table" here in the delegate class method? Pls help.

    Hi Frank,
    Thanks for the response. In my case, i dont have a managed bean, so i am slightly unsure how to do it.
    There is a mention "Note that another way to access the treeTable component at runtime is to search for it in JavaServer Faces UIViewRoot. This latter option allows you to write more generic code and does not require to create a page dependency to a managed bean"
    How do i use this adf view root (without a managed bean) to get hold of the selected row in the tree table. Pls help.
    Thanks.

  • Tutorials for MVC, Data Controls, and Data Bindings

    I am looking for some good tutorials on:
    Model View Controller concept
    Creating Data Controls from Java Beans
    Creating and Using Data Bindings
    We are using JDeveloper, but do not want to use ADF as we want more control than ADF offers.
    Thanx
    Pam

    Just curious, what control do you need that ADF doesn't offer you?
    If you use ADF, you don't have to use it for every page. You can bind some components on your page using adf directly to your adf data controls, and you can bind other components to your backing beans, and have full control. No reason to throw out adf if there are just a few cases where you need more control.
    Btw, do you have a link to a page describing these non adf data controls and data bindings?

  • How to change the execution order of data control and backingbeans

    Hi,
    I have a form for a BPM human workflow. It has an inputText and a selectOneChoice component in the form.
    The list of value for the selectOneChoice is initiated based on the value in the inputText.
    I have a data control - JavaBean, which returns a list of values based on a parameter for the selectOneChoice and the parameter is binded with the value of inputText defined in a backingBean. I also set the default value of the inputBox in the backing bean with setValue().
    The problem I have is that the data control for selectOneChoice is loaded before the inputText or backingBean is loaded. Therefore, the parameter is null.
    I tested the same combination in an ADF web app and it works fine. In the app, the inputText and the backingBean are loaded first and then the value of inputText is sent to the data control.
    How can I change the order of the execution? I need to make the inputText and backingBean loading first before the data control for the list of values loading.
    Edited by: user626218 on Oct 10, 2012 9:25 PM

    Hi,
    The inputText is pre-populated based on the user profile in the BPM instance. I tried to render the selectOneChoice if the value of the inputText exists but the data control for selectOneChoice is loaded before the backingBean so it keeps getting a null as parameter.

  • Mobile app based on web service data control and VO with VC runtime error

    Hi,
    Jdev 11.1.2.3.0 + mobile extension.
    Windows 7, 64 bit.
    Reproduceable with Android emulator but not on iOS and iOS emulator.
    I can not test on real Android device because we do not have it in our office.
    So I don't know wether this issue is related to android emulator only or to android in general.
    Also not reproduceable by Oracle support.
    I have a VO "Employees" with a VC "department_id = :departmentIdVariable" and exposed the find method for this VO via service interface in AM.
    (see demo video from https://blogs.oracle.com/shay/entry/developing_with_oracle_adf_mobile?utm_source=dlvr.it&utm_medium=facebook).
    In a ADF mobile app I create a parameter form and amx:listView like demoed in the mentioned video.
    Whenever I test this app on android emulator I get the error below.
    Exact the same page used in a second feature works fine.
    I found out that the problem only occures on the first attept (this means when I open the page on the second feature first then this will fail and the subsequent call of the first page will be successfull).
    The problem does not occure when the web service data control does not contain a method based on VC with bind variable.
    [SEVERE - oracle.adfmf.framework - AmxBindingContext - loadDataControlById] Unable to load Data Control testDataControl due to following error: ERROR [oracle.adfmf.framework.exception.AdfException] - Unable to load definition for testDataControl.Types.findEmployeesView1DepartmentIdCriteria.findCriteria.childFindCriteria.findAttribute.
    ERROR [oracle.adfmf.framework.exception.AdfException] - Unable to load definition for testDataControl.Types.findEmployeesView1DepartmentIdCriteria.findCriteria.childFindCriteria.findAttribute
    at oracle.adfmf.metadata.bean.transform.TransformCacheProvider.fetch(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;(Unknown Source)
    at oracle.adfmf.cache.SimpleCache.get(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;(Compiled Method)(Unknown Source)
    at oracle.adfmf.metadata.cache.MetaDataCache.getByLocation(Ljava/lang/String;)Loracle/adfmf/util/XmlAnyDefinition;(Unknown Source)
    at oracle.adfmf.metadata.cache.MetaDataFrameworkManager.getJavaBeanDefinitionByName(Ljava/lang/String;)Loracle/adfmf/metadata/bean/JavaBeanDefinition;(Unknown Source)
    at oracle.adfmf.dc.VirtualJavaBeanObject.registerAccessorAttribute()V(Unknown Source)
    at oracle.adfmf.dc.JavaBeanObject.registerJavaBean(Loracle/adfmf/metadata/bean/JavaBeanDefinition;)V(Unknown Source)
    at oracle.adfmf.dc.VirtualJavaBeanObject.<init>(Ljava/lang/String;Ljava/lang/String;Loracle/adfmf/metadata/bean/JavaBeanDefinition;Ljava/lang/String;)V(Unknown Source)
    at oracle.adfmf.dc.VirtualJavaBeanObject.<init>(Ljava/lang/String;Ljava/lang/String;Loracle/adfmf/metadata/bean/JavaBeanDefinition;)V(Unknown Source)
    at oracle.adfmf.dc.VirtualJavaBeanObject.registerAccessorAttribute()V(Unknown Source)
    at oracle.adfmf.dc.JavaBeanObject.registerJavaBean(Loracle/adfmf/metadata/bean/JavaBeanDefinition;)V(Unknown Source)
    at oracle.adfmf.dc.VirtualJavaBeanObject.<init>(Ljava/lang/String;Ljava/lang/String;Loracle/adfmf/metadata/bean/JavaBeanDefinition;Ljava/lang/String;)V(Unknown Source)
    at oracle.adfmf.dc.VirtualJavaBeanObject.<init>(Ljava/lang/String;Ljava/lang/String;Loracle/adfmf/metadata/bean/JavaBeanDefinition;)V(Unknown Source)
    at oracle.adfmf.dc.VirtualJavaBeanObject.registerAccessorAttribute()V(Unknown Source)
    at oracle.adfmf.dc.JavaBeanObject.registerJavaBean(Loracle/adfmf/metadata/bean/JavaBeanDefinition;)V(Unknown Source)
    at oracle.adfmf.dc.VirtualJavaBeanObject.<init>(Ljava/lang/String;Ljava/lang/String;Loracle/adfmf/metadata/bean/JavaBeanDefinition;Ljava/lang/String;)V(Unknown Source)
    at oracle.adfmf.dc.VirtualJavaBeanObject.<init>(Ljava/lang/String;Ljava/lang/String;Loracle/adfmf/metadata/bean/JavaBeanDefinition;)V(Unknown Source)
    at oracle.adfmf.dc.VirtualJavaBeanObject.registerAccessorAttribute()V(Unknown Source)
    at oracle.adfmf.dc.JavaBeanObject.registerJavaBean(Loracle/adfmf/metadata/bean/JavaBeanDefinition;)V(Unknown Source)
    at oracle.adfmf.dc.ws.WebServiceObject.registerBean(Loracle/adfmf/metadata/dcx/AdapterDataControlDefinition;Loracle/adfmf/metadata/dcx/soap/SoapDefinitionDefinition;)V(Unknown Source)
    at oracle.adfinternal.model.adapter.webservice.WSDefinition.loadDataControlDefinition(Loracle/adfmf/metadata/dcx/AdapterDataControlDefinition;)V(Unknown Source)
    at oracle.adfmf.dc.GenericJavaBeanDataControlAdapter.loadDataControl(Ljava/lang/String;)V(Unknown Source)
    at oracle.adfmf.dc.ws.WebServiceDataControlAdapter.setDataProvider(Ljava/lang/Object;)V(Unknown Source)
    at oracle.adf.model.adapter.DataControlFactoryImpl.createDataControl(Loracle/adfmf/bindings/dbf/AmxBindingContext;Loracle/adfmf/util/XmlAnyDefinition;Ljava/util/Map;)Loracle/adfmf/bindings/DataControl;(Unknown Source)
    Does anyone has seen the above error ?
    I have recreated the model and mobile app more than 20 times, re-installed Jdev, re-created Jdev settings (integrated WLS & Co), ran the web services on a different machine.
    On my site this problem is 100% reproduceable with android emulator.
    regards
    Peter

    Hi, Peter, this could be an issue with proxy server setting. Are you behind a firewall when you test this?
    iOS simulator would use Mac's proxy setting. Android Emulator has its own proxy setup - it's a bit complicated to get to and varies based on the Android emulator you are using. For 4.1 emulator (you should always use 4.x or above emulators), you would need to go into the emulator itself, and go to settings - Wireless & Networks - click More... - Mobile Networks - Access Point Names. You should see an Access point used by the emulator to simulate network connection. Mine says "T-Mobile US". You click on it, and then you can select the proxy attribute and set it according to your office's settings.
    Hope that resolves the issue.
    Thanks,
    Joe Huang

  • Adf faces, data control and more than one session context ?

    I already put the question in the forum but nobody answered may be my question may not be so clear so i would put it again with other words.
    Each xml page definition are instantiated in a binding container for a http session, you are able to get the data with bindings or data that represent the current binding container (bindings) or a given container corresponding to an another page that the current (data).
    It is perfect when you don't allow multiple instances of the same page in the same application session. Browser are now offering tab management that allow user to navigate through multiple applications just by changing the current tab. It's very useful. I imagine that user's will be using it also in my application and will use it to compare or more simply just watch about two different entities of the same type (the same xml page definition, the same object instantiated in the binding container).
    Because the binding container is associated with the http session all tabs will share the same one, isn't ? So i understand the problem and that it is forbidden to have many identical page for a single instance in the binding container because of synchronization issues.
    Is all that i said true ?
    Is it a way to solve this type of problem ?
    Will this problem be addressed by adf faces and data controls ?
    Hope somebody will answer !
    Message was edited by:
    micwic

    I already put the question in the forum but nobody answered may be my question may not be so clear so i would put it again with other words.
    Each xml page definition are instantiated in a binding container for a http session, you are able to get the data with bindings or data that represent the current binding container (bindings) or a given container corresponding to an another page that the current (data).
    It is perfect when you don't allow multiple instances of the same page in the same application session. Browser are now offering tab management that allow user to navigate through multiple applications just by changing the current tab. It's very useful. I imagine that user's will be using it also in my application and will use it to compare or more simply just watch about two different entities of the same type (the same xml page definition, the same object instantiated in the binding container).
    Because the binding container is associated with the http session all tabs will share the same one, isn't ? So i understand the problem and that it is forbidden to have many identical page for a single instance in the binding container because of synchronization issues.
    Is all that i said true ?
    Is it a way to solve this type of problem ?
    Will this problem be addressed by adf faces and data controls ?
    Hope somebody will answer !
    Message was edited by:
    micwic

  • SQL Server 2008 R2 - Report Builder 3.0 - timeout using shared data source and stored procedure

    I select the shared datasource from the data source propeties dialog, test the connection and everything is good.
    I add a dataset by selecting "use a dataset embedded in my report" option within the Dataset properties dialog.
    I select the newly added data source, click the "Stored procedure" query type and drop down the list box and select my intended stored procedure.
    the timeout for the dataset is "0" seconds.
    I click the "OK" button and I'm presented with the parameters to the stored procedure.
    I enter valid data for the parameters and click the "OK" button.
    I then get the following error message after 30 seconds:
    The problem is, all of the timeouts, that I'm aware of, have values of zero (no timeout) or high enough values that 30 seconds isn't even close to the timeout.
    I think the smallest timeout we have is 120 seconds.
    I have searched this site and many others and the solutions all involve altering the stored procedure to get the fields into report builder and then revert the stored procedure back to its original form.
    To me, this is NOT a solution.  
    I have too many stored procedures that need to be brought into Report Builder.
    I need a real solution.
    Thank you for you time, Tim Caldwell.
    Timothy E Caldwell

    I don't mean to be rude, but really, check to see if the stored procedure can return data rows???
    Maybe I'm not being clear enough.
    The stored procedure runs perfectly fine.
    it runs perfectly fine in the production environment and the test environment.
    I can access the stored procedure in several ways and have it return correct data.
    I can even trick report builder into creating a dataset with parameters and run the stored procedure that way.
    What I cannot do, is to get report builder to not timeout after 30 seconds on the initial creation of a dataset with a Query type of stored procedure.
    I have seen this issues posted again and again and again on may different sites and the "solution" is to simplifiy the stored procedure by creating a stored procedure that has a create table and a select in the stored procedure and that's it.  After
    report builder creates the dataset the developer then has to replace the simplified stored procedure with the actual stored procedure and everything works fine after that.
    HOWEVER, having to go through this process for 70 or more stored procedures is ridiculous.
    It would appear that there is something within report builder itself that is causing this issue.
    The SQL Script included is an example of a stored procedure that will not create fields create a dataset with fields and parameters in Report Builder 3.0:
    USE [CRUM_IT]
    GO
    /****** Object: StoredProcedure [dbo].[COGNOS_Level5ScriptSP] Script Date: 11/17/2014 08:02:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER procedure [dbo].[COGNOS_Level5ScriptSP]
    @CompanyCode varchar(8) = null,
    @GetSiblings varchar(1) = 'N'
    as
    Begin
    -- get emergency contact info
    select *
    into #tmp_Contacts
    from
    (select
    ConEEID,
    con.connamelast as [Emer Contact Last Name],
    con.connamefirst as [Emer Contact First Name],
    con.connamemiddle as [Emer Contact Middle Initial/Name]--,
    ,ROW_NUMBER() over (Partition by ConEEID order by ConNameLast)as rn
    ,ISNULL(
    case when con.conphonepreferred = 'H'
    then '(' + substring(con.conphonehomenumber, 1, 3) + ')' + substring(con.conphonehomenumber, 4, 3) + '-' + substring(con.conphonehomenumber, 7, 4)
    else '(' + substring(con.conphoneothernumber , 1, 3) + ')' + substring(con.conphoneothernumber , 4, 3) + '-' + substring(con.conphoneothernumber , 7, 4)
    end,
    ) as [Emergency Phone]
    from [ultiprosqlprod1].[ultipro_crum].dbo.Contacts con
    where con.ConIsEmergencyContact='y'
    and con.ConIsActive='y'
    ) A
    where A.rn = 1
    CREATE TABLE #tmp_CompanyCodes (CompanyCode varchar(8))
    If @GetSiblings = 'Y'
    Begin
    INSERT INTO #tmp_CompanyCodes (CompanyCode)
    EXEC [z_GetClientNumbers_For_ParentOrg_By_ClientNumber] @CompanyCode
    End
    INSERT INTO #tmp_CompanyCodes
    values (@CompanyCode)
    select *
    into #tmp_Company
    from [ultiprosqlprod1].[ultipro_crum].dbo.Company
    where cmpcompanycode in (select CompanyCode from #tmp_CompanyCodes)
    select distinct
    cmpcompanycode as [Client ID],
    CmpCompanyDBAName as [Client Name],
    eec.eecEmplStatus AS [Employment Status],
    eec.eecEmpNo AS [Employee Num],
    rtrim(eep.eepNameLast) AS [Last Name],
    rtrim(eep.eepNameFirst) AS [First Name],
    isnull(rtrim(ltrim(eep.eepNameMiddle)), '') AS [Middle Initial/Name],
    rtrim(eep.eepAddressLine1) AS [Address Line 1],
    isnull(rtrim(eep.eepAddressLine2), '') AS [Address Line 2],
    eep.eepAddressCity AS [City],
    eep.eepAddressState AS [State],
    CASE
    WHEN len(eep.eepAddressZipCode) > 5 and charindex(eep.eepAddressZipCode, '-', 1) = 0
    THEN substring(eep.eepAddressZipCode, 1, 5)
    ELSE rtrim(eep.eepAddressZipCode)
    END AS [Zip code],
    CASE
    WHEN len(eep.eepAddressZipCode) > 5 and charindex(eep.eepAddressZipCode, '-', 1) = 0
    THEN substring(eep.eepAddressZipCode, 6, 4)
    WHEN len(eep.eepAddressZipCode) > 5 and charindex(eep.eepAddressZipCode, '-', 1) > 0
    THEN substring(eep.eepAddressZipCode, charindex(eep.eepAddressZipCode, '-', 1) + 1, 4)
    WHEN len(eep.eepAddressZipCode) <= 5
    THEN ''
    END AS [ZIP + 4],
    substring(eep.eepSSN, 1, 3) + '-' + substring(eep.eepSSN, 4, 2) + '-' + substring(eep.eepSSN, 6, 4) AS [SSN],
    isnull(convert(VARCHAR(10), eep.eepDateOfBirth, 101), '') AS [Date Of Birth],
    eetFED.TAXCODE AS [FED Tax Code],
    eetFED.FILINGSTATUS AS [Fed Filing Status],
    eetFED.EXEMPTIONS AS [Fed Exemption Allowance],
    eetFED.ADDITIONAL AS [Additional Fed Withholding],
    eetSIT.TAXCODE AS [SIT Tax Code],
    eetSIT.FILINGSTATUS AS [State Filing Status],
    eetSIT.EXEMPTIONS AS [State Exemption Allowance],
    eetSIT.ADDITIONAL AS [Additional State Withholding],
    isnull('(' + substring(eep.eepPhoneHomeNumber, 1, 3) + ')' + substring(eep.eepPhoneHomeNumber, 4, 3) + '-' + substring(eep.eepPhoneHomeNumber, 7, 4), '') AS [Home Phone],
    isnull((SELECT cod.codDesc
    FROM [ultiprosqlprod1].[ultipro_crum].dbo.Codes cod WITH (NOLOCK)
    WHERE cod.codCode = eep.eepEthnicID
    AND cod.codDosTable = 'ETHNICCODE'), '') AS [Race-Origin], --eep.eepEthnicID AS [Race-Origin],
    eep.eepGender AS [Gender],
    isnull(convert(VARCHAR(10), eec.eecDateOfOriginalHire, 101), '') AS [Original Hire Date],
    isnull(convert(VARCHAR(10), eec.eecDateOfSeniority, 101), '') AS [Seniority Date],
    isnull(convert(VARCHAR(10), eec.eecDateOfTermination, 101), '') AS [Termination Date],
    isnull(eecTermType,'') as [Termination Type],
    isnull(TchDesc, '') as [Termination Reason],
    rtrim(eec.eecJobCode) AS [WC Code],
    isnull(eec.eecJobTitle, '') AS [Job Title],
    pgr.pgrPayFrequency AS [Pay Frequency],
    eec.eecFullTimeOrPartTime AS [Full/Part Time],
    eec.eecSalaryOrHourly AS [Pay Type],
    isnull(convert(MONEY, eec.eecHourlyPayRate), 0.00) AS [Hourly Rate],
    isnull(eec.eecAnnSalary, 0.00) AS [Annual Salary],
    [YTD Hours],
    isnull(eep.eepNameFormer, '') AS [Maiden Name],
    eec.eecLocation AS [Location ID],
    rtrim(eec.eecOrgLvl1) AS [Department ID],
    eec.eecorglvl2 AS [Cost Item],
    eec.eecorglvl3 as [Client Project],
    eec.eecPayGroup as [Pay Group],
    isnull(eepAddressEMail,' ') as [Email Address],
    isNull(BankName1,' ') as PrimaryBank,
    isNull(BankRoute1,' ') as PrimaryRouteNum,
    isNull(Account1,' ') as PrimaryAccount,
    isNull(AcctType1,' ') as PrimaryAcctType,
    isNull(DepositRule1,' ') as PrimaryDepositRule,
    isNull(BankName2,' ') as SecondaryBank,
    isNull(BankRoute2,' ') as SecondaryRouteNum,
    isNull(Account2,' ') as SecondaryAccount,
    isNull(AcctType2,' ') as SecondaryAcctType,
    isNull(DepositRule2,' ') as SecondaryDepositRule,
    isNull(
    CASE
    WHEN DepositRule2 = 'D'
    THEN '$' + convert(varchar, cast(EddAmtOrPct2 AS decimal(10,2)))
    WHEN DepositRule2 = 'P'
    THEN convert(varchar, cast((EddAmtOrPct2*100) AS decimal(10,0))) + '%'
    ELSE null
    END,' ') as SecondaryDepositAmount,
    isNull(BankName3,' ') as ThirdBank,
    isNull(BankRoute3,' ') as ThirdRouteNum,
    isNull(Account3,' ') as ThirdAccount,
    isNull(AcctType3,' ') as ThirdAcctType,
    isNull(DepositRule3,' ') as ThirdDepositRule,
    isNull(
    CASE
    WHEN DepositRule3 = 'D'
    THEN '$' + convert(varchar, cast(EddAmtOrPct3 AS decimal(10,2)))
    WHEN DepositRule3 = 'P'
    THEN convert(varchar, cast((EddAmtOrPct3*100) AS decimal(10,0))) + '%'
    ELSE null
    END,' ') as ThirdDepositAmount,
    Supervisor,
    eec.eecEEID AS [Employee EEID],
    eec.EecJobCode As [Job Code],
    isnull(eec.EecTimeclockID,' ') As [Time Clock ID],
    con.[Emer Contact Last Name],
    con.[Emer Contact First Name],
    con.[Emer Contact Middle Initial/Name],
    con.[Emergency Phone]
    from [ultiprosqlprod1].[ultipro_crum].dbo.empPers eep WITH (NOLOCK)
    inner join [ultiprosqlprod1].[ultipro_crum].dbo.empComp eec WITH (NOLOCK)
    ON eep.eepEEID = eec.eecEEID
    inner join #tmp_Company cmp WITH (NOLOCK)
    ON eec.eecCOID = cmp.cmpCOID
    inner join [ultiprosqlprod1].[ultipro_crum].dbo.PayGroup pgr WITH (NOLOCK)
    ON eec.eecPayGroup = pgr.pgrPayGroup
    left outer join [ultiprosqlprod1].[ultipro_crum].dbo.TrmReasn
    on tchCode = eecTermReason
    left join (select CAST(sum(isnull(eee.eeeYTDHrs,0.00))AS DECIMAL(18,2)) as [YTD Hours],
    eeeEEID,
    eeeCOID
    from [ultiprosqlprod1].[ultipro_crum].dbo.EmpEarn eee with (NOLOCK)
    group by eeeCOID,eeeEEID)eee
    on eec.eecEEID = eee.eeeEEID
    and eec.eecCOID = eee.eeeCOID
    left join (SELECT eetCOID AS COID,
    eetEEID AS EEID,
    eetTaxCode AS TAXCODE,
    eetFilingStatus AS FILINGSTATUS,
    eetExemptions AS EXEMPTIONS,
    eetExtraTaxDollars AS ADDITIONAL
    FROM [ultiprosqlprod1].[ultipro_crum].dbo.empTax WITH (NOLOCK)
    WHERE eetTaxCode = 'USFIT'
    )eetFED
    ON eec.eecCOID = eetFED.COID
    and eec.eecEEID = eetFED.EEID
    left join (SELECT eetCOID AS COID,
    eetEEID AS EEID,
    eetTaxCode AS TAXCODE,
    eetFilingStatus AS FILINGSTATUS,
    eetExemptions AS EXEMPTIONS,
    eetExtraTaxDollars AS ADDITIONAL
    FROM [ultiprosqlprod1].[ultipro_crum].dbo.empTax WITH (NOLOCK)
    WHERE eetTaxCode like '%SIT'
    AND eetIsWorkInTaxCode = 'Y'
    )eetSIT
    ON eec.eecCOID = eetSIT.COID
    and eec.eecEEID = eetSIT.EEID
    left outer join (SELECT eddCOID,
    eddEEID,
    eddEEBankName BankName1,
    eddEEBankRoute BankRoute1,
    eddAcct Account1,
    EddAcctType AcctType1,
    EddDepositRule DepositRule1,
    EddAmtOrPct EddAmtOrPct1
    FROM [ultiprosqlprod1].[ultipro_crum].dbo.EmpDirDp WITH (NOLOCK)
    WHERE eddSequence = '99')edd
    ON eec.eecCOID = edd.eddCOID
    and eec.eecEEID = edd.eddEEID
    left outer join (SELECT eddCOID,
    eddEEID,
    eddEEBankName BankName2,
    eddEEBankRoute BankRoute2,
    eddAcct Account2,
    EddAcctType AcctType2,
    EddDepositRule DepositRule2,
    EddAmtOrPct EddAmtOrPct2
    FROM [ultiprosqlprod1].[ultipro_crum].dbo.EmpDirDp WITH (NOLOCK)
    WHERE eddSequence = '01')edd2
    ON eec.eecCOID = edd2.eddCOID
    and eec.eecEEID = edd2.eddEEID
    left outer join (SELECT eddCOID,
    eddEEID,
    eddEEBankName BankName3,
    eddEEBankRoute BankRoute3,
    eddAcct Account3,
    EddAcctType AcctType3,
    EddDepositRule DepositRule3,
    EddAmtOrPct EddAmtOrPct3
    FROM [ultiprosqlprod1].[ultipro_crum].dbo.EmpDirDp WITH (NOLOCK)
    WHERE eddSequence = '02')edd3
    ON eec.eecCOID = edd3.eddCOID
    and eec.eecEEID = edd3.eddEEID
    left outer join (SELECT eecCOID,
    eecEEID,
    rtrim(eepNameLast) + ', ' +
    rtrim(eepNameFirst) + ' ' +
    isnull(rtrim(ltrim(eepNameMiddle)), '') AS [Supervisor]
    FROM [ultiprosqlprod1].[ultipro_crum].dbo.EmpComp WITH (NOLOCK)
    join [ultiprosqlprod1].[ultipro_crum].dbo.EmpPers with (NoLock)
    on eeceeid = eepeeid)eec2
    ON eec.eecSupervisorID = eec2.eecEEID
    left outer join #tmp_Contacts con
    on eep.eepEEID = con.ConEEID
    order by [Client ID],
    [Last Name],
    [First Name]
    drop table #tmp_Contacts
    END
    Timothy E Caldwell

  • Windows forms data controls and databinding

    i'm trying to add list data object with list control two time.
    1)first click on button when in list box there is no items [if block content]
    2)second click onwards [else bock content]
    problem is on second click data loading in list data object successfully but not displayed in list box.
    public partial class Form11 : Form
    List<string> str = new List<string>();
    public Form11()
    InitializeComponent();
    private void button1_Click(object sender, EventArgs e)
    if (listBox1.Items.Count == 0)
    str.Add("A");
    str.Add("B");
    else
    str.Add("C");
    listBox1.DataSource = str;
                

    Hi,
    You need to clear the DataSource before reset it.
    private void button1_Click(object sender, EventArgs e)
    if (listBox1.Items.Count == 0)
    str.Add("A");
    str.Add("B");
    else
    str.Add("C");
    listBox1.DataSource = null;// Reset the DataSource to null.
    listBox1.DataSource = str;
    If you have any other concern regarding this issue, please feel free to let me know.
    Best regards,
    Youjun Tang
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Managed Beans vs. POJO Data Control for sharing data

    Hi,
    I am currently using JAX-WS proxy client and POJO Data Controls to retrieve data from web services. This data needs to be shared across users. Normally I would use application scoped managed beans for this, but since I prefer using data controls and the binding layer, would using static POJO Data Control classes achieve the same thing?

    Hi,
    Data Controls don't exist across user sessions so in your use case use a managed bean in application scope. If you want to make this available from a Data Control
    - create a POJO
    - Use EL in the POJO to access the managed bean
    - Create a DataControl from the POJO
    This way the Data Control exposes the data as an API but itself always reaches out to the managed bean as a data store/cache
    Frank

  • How best 2 use Shared AM in taskflow -new transaction/isolated data control

    Hi all
    I have nearly 800 screens in my app (under 20 or so different AMs), in which I access some Common VOs to work with by applying filtering (on Secondary Rowset, on Default Rowset using View criteria) on that, Used as View Accessor VO (List of Values) & Sorting. These common VOs are not DB driven but custom java datasource implemented and once it is loaded with data, data will not change. I use Dynamic tab shell to load the screens as separate task-flows. These task-flows are defined to be opened with New Tansaction/Isolated Datacontrol. Right now these Common VOs are shuttled in a default scoped AM (Say 'LookupAM') and attached the same as nested AM for the other AMs.
    With the above design, the current behavior is whenever I load a task-flow in Dynamic tab shell, it creates a fresh instance for Shreen AM as well as LookUpAM (I tested by including println inside prepareSession() API of AM Implementation class).
    I feel I'll get benefitted in terms of memory saving/performance when I use only one instance of LookupAM for all the screens. I prepared a sample app that mimic our actual application, but made the LookupAM to be a Application scoped shared AM (lets say SharedLookupAM). I've also made all the LOV View accessors comes from this Shared AM. When I run this sample, the behavior is every time I load the task-flow, still the framework creates Am instance for both screen AM and SharedLookupAM! Why so?
    Question:
    1. Considering my application design (i.e. consuming Shared AM instance from inside the task-flow which are desinged to be opened with new transaction/isolated datacontrol), will I get benefitted in any way If i use Shared AM. If so, what are all the possible type of usages of shared AM for my design?
    2. Why framework creates instance of Shared AM everytime I load the task-flow. Does it meant task-flow settings takes the precedence over the Shared AM configuration and it overrides that?
    Thanks in advance.
    Raghu
    Edited by: Raguraman on Apr 9, 2013 3:25 AM

    Hi,
    +1. Considering my application design (i.e. consuming Shared AM instance from inside the task-flow which are desinged to be opened with new transaction/isolated datacontrol), will I get benefitted in any way If i use Shared AM. If so, what are all the possible type of usages of shared AM for my design?+
    Isolated data control settings are the most expensive settings you can have in ADF. They should be used only if the requirement for the task flow is to be atomic in that it can be committed or rolled back independently. If this is not the case for your use cases, then using shared data control is a better option to use. Note that my expectation to application scope AM is that the AM instance is created per user but that the data cache is only queried once.
    +2. Why framework creates instance of Shared AM everytime I load the task-flow. Does it meant task-flow settings takes the precedence over the Shared AM configuration and it overrides that?+
    Well, you tell it to do so. With the setting of isolated to the Data Control you explicitly tell it to open a new transaction in which case a new instance is created.
    Frank

  • Data-control-scope=shared is not working

    Steve Muench said in January 2010 in that post {thread:id=1012099}
    "In order to share the connection/transaction when data-control-scope=shared, today as an implementation detail we do AM nesting for you at runtime when using task flow calls”
    From that thread I understood that: by setting *"data-control-scope"* to *"shared"* +(this is the default in 11.1.1.3.0)+ in _task flow definition file_ +(in behavior section)+, it should make the task-flow using the same database connection than the _parent’s application module_.
    *Is that true?*
    If so, it is not working for me.
    <li>I’ve created 2 _independents_ ADF Fusion Applications : *MyMainApp* and *MyTFlow* </li>
    <li>Each application has a Model and a ViewController projects.</li>
    <li>Each application has one ViewObject and one Application Module.</li>
    <li>MyMainApp/Model contains MyMainService Application Module & AllEmployeesView ViewObject </li>
    <li>MyTFlow/Model contains MyTFlowService Application Module & AllDepartmentView ViewObject</li>
    <li>MyMainService and MyTFlowService have the same JDBC Datasource (jdbc/GCCDS).</li>
    <li>_In MyTFlow/ViewController project_</li>
    <li>I’ve created one page fragment and dragged & dropped AllDepartmentView as an ADF Read-Only Table</li>
    <li>I’ve created one Task Flow (allDept-task-flow-definition) and added the pageFragment onto it.</li>
    <li>I’ve set the “data-control-scope” to “shared” (it was the default) </li>
    <li>I’ve created a new deployment profile (ADF Library Jar) and deployed the jar file </li>
    <li>_In MyMainApp/ViewController project_</li>
    <li>I’ve created a JSF Page (home.jspx)</li>
    <li>I’ve dragged & dropped AllEmployeesView as an ADF Read-Only Form. </li>
    <li>I’ve dragged & dropped the “allDept-task-flow-definition” from “Resource Palette” onto the JSF Page. It automatically put it inside an af:region and imports the jar file to the Libraries (ADF Library)</li>
    <li>I run the home.jspx page. It works fine but with *2 database connections!*</li>
    I think I’ve missed something.
    Best Regards
    Nicolas

    Hi,
    the problem is that the Application Modules are root modules and therefore open a new database connection. Only nested application modules reuse the connection of the parent AM. Andrejus Baranovski did blog about this and came up with the suggestion to build reusable projects such that the model and the view controller parts are deployed separately into ADF Libraries and then combined in a super ADF Librery. This way you can use nested application modules (a single datase connection)
    http://andrejusb.blogspot.com/2010/10/how-to-reduce-database-connections-and.html
    http://andrejusb.blogspot.com/2010/06/adf-regions-and-nested-application.html
    Note that IMO the real power of shared Data Controls comes when you use ADF Regions in an application as a mean of modularization.
    Frank

Maybe you are looking for