Problem in Validation of ICP dimension

Hi,
We have a problem in validating ICP members in FDQM.
We have few accounts for which ICP value needs to be present.
In our existing mapping in FDQM,we have an explicit map,which maps source flex to ICP account.We have a default map which maps flex that do not have ICP to [ICP None].
The problem now, is with the existing mapping,if the acount is an ICP account and if it is not included in explicit mapping,it is getting mapped to default [ICP None].
Since we are not getting any kickouts for ICP accounts, it is giving us problem in performing eliminations in HFM.
Could any one suggest any work around where,when any ICP account is not maaped in FDQM,it should give a kickout rather than mapping to [ICP None].
Appreciate your help.
Thanks

There are some partial truths to all of the above....the most accurate being that if ICP None as an acceptable member for Accounts flagged as ICP then you will have problems because it is a valid intersection.
But there are bigger things to think about. What values come into the icp dimension? Is there always a value being passed through or is that value sometimes blank?
If there is always a source value then you do not have to use Explict types of mappings. All you have to do is make sure that your *-to-[ICP None] mapping is ALWAYS the last mapping entry in the Like type. Think of it as a catch-all. You just have to map your source-to-target values appropriately.
If the values coming in are blank then you can still use the above procedures. If you do not use a *-to-[ICP None] mapping and a value comes in as blank then FDM will automatically place [ICP None] in the extract field....it does not map it to ICP None though!!!!!
Are your source values the same as those in HFM? These are things to think about when mapping.
Quick note...if a value comes in blank and you try to drill back then you may end up with a false "Show Conversion Rules" view. For example, you have two rows imported with every dimension being the exact same EXCEPT the ICP dimension, where one has a value and the other is blank then you will end up seeing the value that is not blank when you select the "Show Conversion Rules" option. To remedy this I've created an Import Format script for the ICP dimension and check the value coming in...if it is blank then I change the value to "Blank" and map "Blank" to [ICP None]". This allows me to use the Drill-down/Drill-back features correctly.
Mappings are very simple no matter what dimension but yes, ICP is the trickiest because ICP None can be a valid intersection.
Lastly, you could have you very last mapping as a *-to#Script....or a Conditional Mapping where your scripting is checking is as such....(See conditional maps in the admin guide for further info)
'varValues(14) is the Target Account
'varValues(17) is the source ICP value
If varValues(17) = "" Then *'1*
Select Case varValues(14) *'2*
Case +1stHfMAccount that is ICP, etc+
Result = "BAD ICP" *'3*
Case Else
Result = "[ICP None]" *'4*
End Select
Else
Result = "[ICP None]"
End If
1 - If the icp value is blank then check the list of all HFM Accounts that should have an IC Partner. You have to get the list of all accounts flagged as ICP from HFM and continue to update this mapping accordingly.
2 - Check to see what the Target account is
3 - If the source account is mapped to an ICP account in HFM and the value is blank then mapped the ICP value to "*BAD ICP*" because *BAD ICP* is not an account in HFM which will cause an Invalid Intersection Report
4 - If the mapped account is not an ICP account in HFM then map it to [ICP None]
Hired by Upstream, bought by Hyperion, then bought by Oracle...I've been there.
-Matt
Edited by: MattWalker on Feb 26, 2009 11:58 PM
Edited by: MattWalker on Feb 26, 2009 11:59 PM
Edited by: MattWalker on Feb 27, 2009 12:02 AM

Similar Messages

  • ICP dimension conflict with HFM

    Hi Guys,
    I need your help for the following, I am using FDM 11.1.1.3 together with HFM 11.1.1.3.50. Now, in HFM the ICP dimension has been set up as follows (for which I have been told this is not best practice):
    Parent: [ICP TOP]
    Child1: [ICP NONE]
    Child2: [ICP entities]
    Children: 001 to 940
    Apparently, FDM assumes that [ICP NONE] should be the parent. At least, I cannot export the ICP values for the entities like they should. Currently there is a workaround with logic accounts and a script in place:
    -The script adds 'ICP.' in front of an account when it is carrying ICP.
    -ICP mapping says export all to [ICP NONE] except when the account starts with L-
    -Logic accounts have been created to duplicate each 'ICP.' account.
    -The values of these L- logic accounts are then exported to the children of [ICP ENTITIES].
    Needles to say this requires quite some maintenance since for each account that carries ICP values in a flat file, a new logic account needs to be created and mapped.
    Any solution or suggestion how I can modify FDM and formulate the set up of the HFM ICP dimension? Or how I could minimize the maintenance? You would be of great help!
    Kind Regards,
    JDeM

    Tnx for your reply Tony. You are correct and I am sorry I stated it wrong, what I meant is that because of the aggregatedweight set to 0, [ICP TOP] = [ICP NONE]. Sorry to confuse you, it is the first time I use FDM so need to familiarize myself with all this stuff :)
    Just to inform you about the current mapping table:
    -Current amount of valid ICPs = 80.
    -All the others (919 in total) are mapped to [ICP NONE] in the explicit map.
    -Next there is a like mapping:
    ALL     All     #SCRIPT     LIKE * "IF varValues(14)= ""NET_INCOME"" Then Result=""[ICP None]"" Else IF (left(varValues(13),1)= ""I"" OR left(varValues(13),1)= ""T"") Then
    Result=""[ICP None]"" Else Result= varValues(17) End IF End IF "
    (The "'I"" refers to all these ICP. accounts.)
    (The "'T"" refers to logic accounts used to cumulate some values)
    (note that source ICP = Target ICP, so that is quite nice)
    So if I understand you correctly Tony, if I would create 80 complex logic accounts like this (which only have to be extended when another location is added in HFM, which is rare):
    i.e. ICP_ENTITY with Complex Criteria:
    CALCSTMTACCOUNT--DIMENSION--CRITERIATYPE--CRITERIAVALUE--GROUPBY--GROUPLEVEL
    ICP_ENTITY--------------ACCOUNT----LIKE-----------------*----------------------(blank)------0     
    ICP_ENTITY--------------ICP-------------LIKE-----------------*----------------------L-006--------5
    CALCSTMTACCOUNT--DIMENSION--CRITERIATYPE--CRITERIAVALUE--GROUPBY--GROUPLEVEL
    ICP_ENTITY--------------ACCOUNT----LIKE-----------------*----------------------(blank)------0     
    ICP_ENTITY--------------ICP-------------LIKE-----------------*----------------------L-007--------5
    etc. for all 80 relevant ICPs. Then the amounts would be exported twice to the account? Once to [ICP NONE] and thanks to the logic, also once to the ICP mentioned in the flatfile (i.e. 006).
    SH, I understand your point, however that kind of maintenance we already covered. However, each month we still need to create a new logic for each account that had never carried an ICP in the past. We cannot do this upfront since there are thousands of accounts and many different logic groups and parent mappings.
    Edited by: JDeM on 6-apr-2011 6:21

  • 1 year ago i installed Elements 12 on my PC with a serial number.  Today i have installed Elements 12 also on my laptop. But,...there is a problem with validation of the serial number on my laptop. Is there a need to validate Elements  or will this progra

    One year ago i installed Elements 12 on my PC with a serial number and it was OK.
    Today i have installed Elements 12 also on my laptop.
    But,...there is a problem with validation of the serial number on my laptop. Is there a need to validate Elements  or will this program real disapeare in 7 days?
    Hans

    Hi,
    Since you already have one copy activated the serial number must be logged in your account details - I would first check that the one logged and the one you are attempting to enter are the same.
    You can check your account details by going to www.adobe.com and clicking on Manage Account. You need to sign in with your Adobe Id and then click on View All under Plans & Products. Next click on View your products and after a while it should produce your list.
    If there is a problem with the serial number, only Adobe can help you there (we are just users). Please see the response in this thread
    First of all, I would have to say that getting in touch with you is a nightmare and I am not at all happy that I can't just email or live chat with someone who can help!  I am not a technical person, I just want to be able to use Photoshop Elements and ge
    Brian

  • Setup encountered a problem while validating the state of Active Directory: Could not find information about the local site

    Have an existing ex2010 sp3 organization.
    Could not run ex2013cu1 setup from my newly built 2012 server, getting the error in the subject line.  I used the command line to run the AD preparation steps successfully from my 2012 DC/GC, then tried to run setup again from the new 2012 server and
    still get the same error.  The error itself in the log is pretty useless:
    [05/07/2013 01:19:13.0137] [0] **********************************************
    [05/07/2013 01:19:13.0137] [0] Starting Microsoft Exchange Server 2013 Cumulative Update 1 Setup
    [05/07/2013 01:19:13.0137] [0] **********************************************
    [05/07/2013 01:19:13.0152] [0] Local time zone: (UTC-08:00) Pacific Time (US & Canada).
    [05/07/2013 01:19:13.0152] [0] Operating system version: Microsoft Windows NT 6.2.9200.0.
    [05/07/2013 01:19:13.0152] [0] Setup version: 15.0.620.29.
    [05/07/2013 01:19:13.0152] [0] Logged on user: DOMAIN\ADMINISTRATOR.
    [05/07/2013 01:19:13.0168] [0] The registry key, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ExchangeServer\V15\Setup, wasn't found.
    [05/07/2013 01:19:13.0168] [0] The registry key, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ExchangeServer\V15\Setup, wasn't found.
    [05/07/2013 01:19:13.0215] [0] Command Line Parameter Name='sourcedir', Value='\\h1\f$\junk\installers\server\Exchange\2013cu1'.
    [05/07/2013 01:19:13.0215] [0] Command Line Parameter Name='mode', Value='Install'.
    [05/07/2013 01:19:13.0215] [0] RuntimeAssembly was started with the following command: '/sourcedir:\\SERVER\f$\junk\installers\server\Exchange\2013cu1 /mode:Install'.
    [05/07/2013 01:19:13.0215] [0] The registry key, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ExchangeServer\V15\Setup, wasn't found.
    [05/07/2013 01:19:13.0793] [0] Finished loading screen CheckForUpdatesPage.
    [05/07/2013 01:19:38.0762] [0] Finished loading screen UpdatesDownloadsPage.
    [05/07/2013 01:19:40.0496] [0] Starting file's copying...
    [05/07/2013 01:19:40.0496] [0] Setup copy files from '\\SERVER\f$\junk\installers\server\Exchange\2013cu1\Setup\ServerRoles\Common' to 'C:\Windows\Temp\ExchangeSetup'
    [05/07/2013 01:19:40.0700] [0] Finished loading screen CopyFilesPage.
    [05/07/2013 01:19:40.0840] [0] Disk space required: 1292445007 bytes.
    [05/07/2013 01:19:40.0840] [0] Disk space available: 23767240704 bytes.
    [05/07/2013 01:19:59.0762] [0] File's copying finished.
    [05/07/2013 01:19:59.0965] [0] Finished loading screen InitializingSetupPage.
    [05/07/2013 01:20:02.0934] [0] Setup is choosing the domain controller to use
    [05/07/2013 01:20:09.0325] [0] Setup is choosing a local domain controller...
    [05/07/2013 01:20:11.0794] [0] [ERROR] Setup encountered a problem while validating the state of Active Directory: Could not find information about the local site. This can be caused by incorrect configuration of subnets or sites or by replication latency. 
    See the Exchange setup log for more information on this error.
    [05/07/2013 01:20:11.0794] [0] [ERROR] Could not find information about the local site. This can be caused by incorrect configuration of subnets or sites or by replication latency.
    [05/07/2013 01:20:11.0809] [0] Setup will use the domain controller ''.
    [05/07/2013 01:20:11.0809] [0] Setup will use the global catalog ''.
    [05/07/2013 01:20:11.0825] [0] Exchange configuration container for the organization is 'CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=domain,DC=local'.
    [05/07/2013 01:20:11.0919] [0] Exchange organization container for the organization is 'CN=DOMAIN,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=domain,DC=local'.
    [05/07/2013 01:20:11.0966] [0] Setup will search for an Exchange Server object for the local machine with name 'WEX1'.
    [05/07/2013 01:20:12.0028] [0] No Exchange Server with identity 'WEX1' was found.
    [05/07/2013 01:20:12.0044] [0] The following roles have been unpacked:
    [05/07/2013 01:20:12.0044] [0] The following datacenter roles are unpacked:
    [05/07/2013 01:20:12.0044] [0] The following roles are installed:
    [05/07/2013 01:20:12.0059] [0] The local server does not have any Exchange files installed.
    [05/07/2013 01:20:12.0075] [0] Server Name=WEX1
    [05/07/2013 01:20:12.0137] [0] Setup will use the path '\\SERVER\f$\junk\installers\server\Exchange\2013cu1' for installing Exchange.
    [05/07/2013 01:20:12.0137] [0] The installation mode is set to: 'Install'.
    [05/07/2013 01:20:27.0591] [0] An Exchange organization with name 'DOMAIN' was found in this forest.
    [05/07/2013 01:20:27.0591] [0] Active Directory Initialization status : 'False'.
    [05/07/2013 01:20:27.0591] [0] Schema Update Required Status : 'False'.
    [05/07/2013 01:20:27.0591] [0] Organization Configuration Update Required Status : 'False'.
    [05/07/2013 01:20:27.0591] [0] Domain Configuration Update Required Status : 'False'.
    [05/07/2013 01:20:27.0841] [0] Applying default role selection state
    [05/07/2013 01:20:27.0872] [0] Setup is determining what organization-level operations to perform.
    [05/07/2013 01:20:27.0872] [0] Because the value was specified, setup is setting the argument OrganizationName to the value DOMAIN.
    [05/07/2013 01:20:27.0872] [0] Setup will run from path 'C:\Windows\Temp\ExchangeSetup'.
    [05/07/2013 01:20:27.0888] [0] InstallModeDataHandler has 0 DataHandlers
    [05/07/2013 01:20:27.0888] [0] RootDataHandler has 1 DataHandlers
    [05/07/2013 01:20:27.0903] [0] Setup encountered a problem while validating the state of Active Directory: Could not find information about the local site. This can be caused by incorrect configuration of subnets or sites or by replication latency.  See
    the Exchange setup log for more information on this error.
    [05/07/2013 01:20:27.0935] [0] [ERROR] Setup encountered a problem while validating the state of Active Directory: Could not find information about the local site. This can be caused by incorrect configuration of subnets or sites or by replication latency. 
    See the Exchange setup log for more information on this error.
    [05/07/2013 01:21:04.0154] [0] The registry key, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ExchangeServer\V15\Setup, wasn't found.
    [05/07/2013 01:21:04.0154] [0] End of Setup
    [05/07/2013 01:21:04.0154] [0] **********************************************

    Hi,
    The cause is clearly described in the log:
    [05/07/2013 01:20:11.0794] [0] [ERROR] Setup encountered a problem while validating the state of Active Directory: Could not find information about the local site. This can be caused by incorrect configuration of subnets or sites or by replication latency. 
    See the Exchange setup log for more information on this error.
    [05/07/2013 01:20:11.0794] [0] [ERROR] Could not find information about the local site. This can be caused by incorrect configuration of subnets or sites or by replication latency.
    I'd suggest you check NIC settings and AD configuration.
    Hope it is helpful.
    Fiona Liao
    TechNet Community Support

  • "Setup encountered a problem while validating the state of Active Directory: Exchange organization-level objects have not been created, and setup cannot create them because the local computer is not in the same domain and site as the schema master. Run se

    Team,
    I am trying to Install Exchange on my Lab, getting below error
    message.
    The Schema Role is installed on Root Domain and trying to install
    exchange on Child domain.
    1 Root Domain - 1 Child domain. both are located on single site.
    “Setup encountered a problem while validating
    the state of Active Directory: Exchange organization-level objects have not been created, and setup cannot create them because the local computer is not in the same domain and site as the schema master. Run setup with the /prepareAD parameter and wait for
    replication to complete.”
    Followed below articles:
    http://support.risualblogs.com/blog/2012/02/21/exchange-2010-sp2-upgrade-issue-exchange-organization-level-objects-have-not-been-created-and-setup-cannot-create-them-because-the-local-computer-is-not-in-the-same-domain-and-site-as-the-sche/
    http://www.petenetlive.com/KB/Article/0000793.htm
    transferred the schema roles to different server on root domain, still no luck.
    can someone please help me.
    regards
    Srinivasa k
    Srinivasa K

    Hi Srinivasa,
    I guess, you didn't completed the initial setup schemaprep and adprep before starting the installation. You can do it as follows:
    1. Open command Prompt as administrator and browse to the root of installation cd and run Setup.exe /PrepareSchema /IAcceptExchangeServerLicenseTerms
    After finishing this,
    2. Setup.exe /PrepareAD /OrganizationName:"<organization name>" /IAcceptExchangeServerLicenseTerms
    3. To prepare all domains within the forest run Setup.exe /PrepareAllDomains /IAcceptExchangeServerLicenseTerms. If you want to prepare a specific domain run Setup.exe /PrepareDomain:<FQDN of the domain you want to prepare> /IAcceptExchangeServerLicenseTerms
    4. Once you complete all of the 3 steps, install the pre-requisities for Exchange 2013
    5. Finally, run the setup program
    Hope this will help you
    Regards from Visit ExchangeOnline |
    Visit WindowsAdmin

  • ICP dimension in Planning Application

    Hi All!
    Did you ever have requirement to use intercompany in planning?
    Whether there is a possibility to use ICP dimension in Planning application?

    Hi!
    I have had it in some applications. It just has to be added as a custom dimension. Calculations concerning eliminations and so on has to be done through Business rules or essbase calcluation scripts. So far I have not found any support in Planning for icp requirements.
    kind regards,
    user637777

  • Valid Combinations for DImension Members

    Hi All,
    We have dimensions for Cost Center and Company code in one of our BPC Applications..Is there a way we can avoid users planning for incorrect combinations?
    E.g. -
    Valid Combinations  -
    Cost Center 1 >>>Company Code 1000
    Cost Center 2 >>>Company Code 2000
    In case the user selects Cost Center 1 & Company code 2000 in current view and enters plan values - the system should not allow the same...Is there a way to maintain valid combinations for dimension members (belonging to different dimensions) in BPC???

    Hi Shibu,
    It was just an example, to show you how to control the combinations. You might have to design it based on the exact business requirement.
    Please note that this wont be a straight-forward process, and you might have to use some VB macros to ensure you get, what you require.
    Lets say, based on the expansion, you have 5 company codes to be displayed in the template. You should, first, use an EVEXP function to list all the 5 company codes in some empty region of the template. Use a macro to concatenate all the 5 company codes separated by "|". Then, for the expansion on cost centers, you should again use a macro which will consider each of the 5 company codes at a time, and set the expansion to "P_COMPANY = ABC". Since you have 5 company codes, hence you will have 5 such combinations of member filter pertaining to each of the 5 company codes. Then you must concatenate them using "|", and this should be the memberset option for the cost center dimension.
    I understand that this is going to be a bit complex, but I dont see any other option.
    Hope this helps.

  • BPF: Validation error; CV dimension "ACCT" is not a drive dimension

    HI friends,
    I'm designing one bpf, but validating i'm getting below error message.
    BPF: Validation error; CV dimension "ACCT" is not a drive dimension
    BPF: Validation error; CV dimension "Category" is not a drive dimension
    BPF: Validation error; CV dimension "Entity" is not a drive dimension
    BPF: Validation error; CV dimension "INP_CURR" is not a drive dimension
    BPF: Validation error; CV dimension "PRODUCT" is not a drive dimension
    BPF: Validation error; CV dimension "Time" is not a drive dimension
    what is drive dim  and as already mentioned Location dim ( wth owner property) as driver dim.
    why i'm getting this error?
    Regards,
    naresh

    Naresh,
    What did you do to resolve this?
    Regards,
    Nsk

  • Problem Iif formula. MDX dimension formula

    Hi experts,
    I have a quite problem with tolerance in validation rules. When user tries to change Workstatus, system don't let it, because it detect that validation account is not equal to zero, however value of this account seems to be zero.
    I know tolerance doesn't works fine on 7.0 MS version. Because of this we are trying to create an MDX formula on dimension account, but system give us this error.
      - [CUENTA].[H2].[#X000] Parser: The end of the input was reached.
    Our Dimension AccountL (Cuenta) has 3 hierachies. BLOQ_FASEC member is a parent member which sum all validation account.
    We are trying to introduce a formula in other account member, giving to this one a tolerance.
    Formula introduced is this one:
    Iif(Cuenta.H2.BLOQ_FASEC < 0.5 and Cuenta.H2.BLOQ_FASEC > -0.5,0,Cuenta.H2.BLOQ_FASEC)
    Could you help us?

    Hi again,
    Just to be on the same page...
    - You have 3 hierachies in your Excel dimension file  (PARENTH1, PARENTH2, PARENTH3)
    - You have 3 Formulas columns in your Excel dimension (FORMULAH1, FORMULAH2, FORMULAH3)
    - What I would like to know is, what are the dimension properties assigned to your dimension (Admin console --> Maintain dimension properties...). Here, you should ONLYhave one FORMULA dimension property assigned, even using multiple formula columns in you Excel file.
    Then, if you setup that in that way, this is correct... But you should write your dimension formula only in FORMULAH2 column.
    In fact, you cannot mix members from hierarchy 1 to calculate a member for hierarchy 2 for example. So, in one hierarchy you can just use members from that hierachy. Can you confirm that?
    Then, could you also confirm that all your dimension formulas are using the correct syntax (WITH BRACKETS)..
    Example: "&#91;Cuenta&#93;.&#91;H2&#93;.&#91;BLOQ_FASEC&#93;"...
    Best Regards,
    Patrick

  • Problema de validação na contingência (Switched to Contingency)

    Bom dia!
    Por gentileza, poderiam me ajudar?
    Estou com problema para colocar uma NF em contingência através do monitor, segue procedimento realizado:
    1) Criei uma NF writer
    2) No monitor, selecionei a NF e pressionei o botão u201Ccontingencyu201D, informei o motivo
    (após informar o motivo e clicar no botão switch to contingency, o sistema não atualiza o motivo da contingencia no campo NF-e Conting Reason e Desc.)
    3) A NF-e foi atualizada para status u201Cswitched to contingencyu201D.
    (o campo Switched to Contingency = X)
    (o campo SCS = 5)
    4) Em seguida cancelei a NF-e que foi u201Cswitched to contingencyu201D através da transação J1B3N
    5) Após o cancelamento o sistema mostra no monitor a NF atualizada com status cancelada (canceled = x e Step = 7)
    6) Na J1B1n criei uma nova NF com referência a NF-e u201Cswitched to contingencyu201D.
    (Na aba NF-e Data o campo Posted Cont. está flegado e o Tipo de emissão = 2)
    7) A nf foi automaticamente gerada em contingência.
    (o campo Posted Cont = x, Step = 3)
    8) seleciono a NF e envio para a sefaz
    9) após o envio para a sefaz, o status é atualizado (Step = 8, NF-e Log = bandeirinha vermelha)
    Segue log com o erro de validação
    Validation error: Field (XJUST) Reason for Activating Exception Situation, Must be filled in combination with other fields.
    Validation info: Field DHCONT in check NOT_INIT_FIELDS is filled
    Nesse caso o sistema não deveria pegar o motivo de contingência que foi informado na primeira nota?
    Por acaso alguém já passou por erro ou sabe me informar se tem alguma nota que corrige esse problema. Já pesquisei e não encontrei.
    Obrigada,
    Moní

    Bom dia Moní,
    As explicações já estão dadas, então vou comentar apenas sobre a rejeição:
    9) após o envio para a sefaz, o status é atualizado (Step = 8, NF-e Log = bandeirinha vermelha)
    Segue log com o erro de validação
    Validation error: Field (XJUST) Reason for Activating Exception Situation, Must be filled in combination with other fields.
    Validation info: Field DHCONT in check NOT_INIT_FIELDS is filled
    Verifique se o motivo que está sendo utilizado existe no idioma que o job está rodando.
    Tabela J_1BNFE_CONTINRT contém as descrições por idioma. Se o customizing foi feito num idioma e o job/user numera em outro pode acontecer isso.
    Além disso pode estar faltando SAP Notes, procure no market-place por "issuing type" "contingency" "SCAN" "decouple"
    Atenciosamente, Fernando Da Ró

  • Problem in validating menu item

    hi,
    everybody.
    i have created a main window using JInternalFrame. The window has a menu bar in which document menu is used for closing the main window, while employee menu is used for adding new frame for the employee. while the login frame is displayed when the application is executed.
    my problem is that i want to validate that before login employee menu should be disabled, and after login is performed employee menu is enabled.
    the following is my code. please reply me as i am stucked with it.
    thanks in advance.
    import javax.swing.*;
    import java.awt.event.*;
    import java.awt.*;
    import java.io.*;
    import java.util.*;
    public class InternalFrameDemo extends JFrame implements ActionListener
         JDesktopPane desktop;
         public InternalFrameDemo()
              super("InternalFrameDemo");
              int inset = 50;
              Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
              setBounds(inset, inset, screenSize.width - inset*2, screenSize.height - inset*2);
              desktop = new JDesktopPane();
              setContentPane(desktop);
              desktop.setBackground(Color.white);
              setJMenuBar(createMenuBar());
              desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
              createLogin();
         public JMenuBar createMenuBar()
              JMenuBar menuBar = new JMenuBar();
              JMenu menu = new JMenu("Document");
              menu.setMnemonic(KeyEvent.VK_D);
              menuBar.add(menu);
              JMenuItem menuItem = new JMenuItem("Quit");
              menuItem.setMnemonic(KeyEvent.VK_Q);
              menuItem.setAccelerator(KeyStroke.getKeyStroke( KeyEvent.VK_Q, ActionEvent.ALT_MASK));
              menuItem.setActionCommand("quit");
              menuItem.addActionListener(this);
              menu.add(menuItem);
              JMenu employee = new JMenu("Employee");
              employee.setMnemonic(KeyEvent.VK_E);
              employee.setActionCommand("employee");
              menuBar.add(employee);
              JMenuItem additem = new JMenuItem("Add");
              additem.setMnemonic(KeyEvent.VK_A);
              additem.setActionCommand("add");
              additem.addActionListener(this);
              employee.add(additem);
              return menuBar;
         public void actionPerformed(ActionEvent ae)
              String str = ae.getActionCommand();
              if(str.equals("add"))
                   System.out.println("Employee Form Invoked");
                   createEmployee();
              else if(str.equals("quit"))
                   quit();
         public void createEmployee()
              MyEmployeeFrame employeeframe = new MyEmployeeFrame();
              employeeframe.setVisible(true);
              desktop.add(employeeframe);
              try
                   employeeframe.setSelected(true);
              catch(Exception e)
         public void createLogin()
              MyLogin loginframe = new MyLogin();
              loginframe.setVisible(true);
              desktop.add(loginframe);
              try
                   loginframe.setSelected(true);
              catch(Exception e){}
         public void quit()
              System.exit(0);
         private static void createAndShowGUI()
              JFrame.setDefaultLookAndFeelDecorated(true);
              InternalFrameDemo frame = new InternalFrameDemo();
              frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              frame.setSize(800,600);
              frame.setVisible(true);
         public static void main(String a[])
              createAndShowGUI();
    class MyEmployeeFrame extends JInternalFrame implements ActionListener
         JFrame employeeframe;
         JLabel labelfirstname;
         JLabel labellastname;
         JLabel labelage;
         JLabel labeladdress;
         JLabel labelcity;
         JLabel labelstate;
         JTextField textfirstname;
         JTextField textlastname;
         JTextField textage;
         JTextField textaddress;
         JTextField textcity;
         JTextField textstate;
         JButton buttonsave;
         FileOutputStream out;
         PrintStream p;
         String strfirstname,strlastname,strage,straddress,strcity,strstate;
         GridBagLayout gl;
         GridBagConstraints gbc;
         public MyEmployeeFrame()
              super("Employee Details",true,true,true,true);
              setSize(500,400);
              labelfirstname = new JLabel("First Name");
              labellastname = new JLabel("Last Name");
              labelage = new JLabel("Age");
              labeladdress = new JLabel("Address");
              labelcity = new JLabel("City");
              labelstate = new JLabel("State");
              textfirstname = new JTextField(10);
              textlastname = new JTextField(10);
              textage = new JTextField(5);
              textaddress = new JTextField(15);
              textcity = new JTextField(10);
              textstate = new JTextField(10);
              buttonsave = new JButton("Save");
              gl = new GridBagLayout();
              gbc = new GridBagConstraints();
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 1;
              gbc.gridy = 3;
              gl.setConstraints(labelfirstname,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 3;
              gbc.gridy = 3;
              gl.setConstraints(textfirstname,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 1;
              gbc.gridy = 5;
              gl.setConstraints(labellastname,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 3;
              gbc.gridy = 5;
              gl.setConstraints(textlastname,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 1;
              gbc.gridy = 7;
              gl.setConstraints(labelage,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 3;
              gbc.gridy = 7;
              gl.setConstraints(textage,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 1;
              gbc.gridy = 9;
              gl.setConstraints(labeladdress,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 3;
              gbc.gridy = 9;
              gl.setConstraints(textaddress,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 1;
              gbc.gridy = 11;
              gl.setConstraints(labelcity,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 3;
              gbc.gridy = 11;
              gl.setConstraints(textcity,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 1;
              gbc.gridy = 13;
              gl.setConstraints(labelstate,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 3;
              gbc.gridy = 13;
              gl.setConstraints(textstate,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 3;
              gbc.gridy = 17;
              gl.setConstraints(buttonsave,gbc);
              Container contentpane = getContentPane();
              contentpane.setLayout(gl);
              contentpane.add(labelfirstname);
              contentpane.add(textfirstname);
              contentpane.add(labellastname);
              contentpane.add(textlastname);
              contentpane.add(labelage);
              contentpane.add(textage);
              contentpane.add(labeladdress);
              contentpane.add(textaddress);
              contentpane.add(labelcity);
              contentpane.add(textcity);
              contentpane.add(labelstate);
              contentpane.add(textstate);
              contentpane.add(buttonsave);
              buttonsave.addActionListener(this);
         public void reset()
              textfirstname.setText("");
              textlastname.setText("");
              textage.setText("");
              textaddress.setText("");
              textcity.setText("");
              textstate.setText("");
         public void actionPerformed(ActionEvent ae)
              String str = ae.getActionCommand();
              System.out.println(str);
              if(str.equalsIgnoreCase("Save"))
                 try
                         out = new FileOutputStream("myfile.txt",true);
                         p = new PrintStream( out );
                         strfirstname = textfirstname.getText();
                         strlastname = textlastname.getText();
                         strage = textage.getText();
                         straddress = textaddress.getText();
                         strcity = textcity.getText();
                         strstate = textstate.getText();
                         p.print(strfirstname+"|");
                         p.print(strlastname+"|");
                         p.print(strage+"|");
                         p.print(straddress+"|");
                         p.print(strcity+"|");
                         p.println(strstate);
                         System.out.println("Record Saved");
                         reset();
                         p.close();
                 catch (Exception e)
                         System.err.println ("Error writing to file");
    class MyLogin extends JInternalFrame implements ActionListener
         JFrame loginframe;
         JLabel labelname;
         JLabel labelpassword;
         JTextField textname;
         JPasswordField textpassword;
         JButton okbutton;
         String name = "";
         FileOutputStream out;
         PrintStream p;
         Date date;
         GregorianCalendar gcal;
         GridBagLayout gl;
         GridBagConstraints gbc;
         public MyLogin()
              super("Login",true,true,true,true);
              setSize(400,300);
              gl = new GridBagLayout();
              gbc = new GridBagConstraints();
              labelname = new JLabel("User");
              labelpassword = new JLabel("Password");
              textname = new JTextField("",9);
              textpassword = new JPasswordField(5);
              okbutton = new JButton("OK");
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 1;
              gbc.gridy = 5;
              gl.setConstraints(labelname,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 2;
              gbc.gridy = 5;
              gl.setConstraints(textname,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 1;
              gbc.gridy = 10;
              gl.setConstraints(labelpassword,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 2;
              gbc.gridy = 10;
              gl.setConstraints(textpassword,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 1;
              gbc.gridy = 15;
              gl.setConstraints(okbutton,gbc);
              Container contentpane = getContentPane();
              contentpane.setLayout(gl);
              contentpane.add(labelname);
              contentpane.add(labelpassword);
              contentpane.add(textname);
              contentpane.add(textpassword);
              contentpane.add(okbutton);
              okbutton.addActionListener(this);
         public void reset()
              textname.setText("");
              textpassword.setText("");
         public void run()
              try
                   String text = textname.getText();
                   String blank="";
                   if(text.equals(blank))
                      System.out.println("First Enter a UserName");
                   else
                        if(text != blank)
                             date = new Date();
                             gcal = new GregorianCalendar();
                             gcal.setTime(date);
                             out = new FileOutputStream("log.txt",true);
                             p = new PrintStream( out );
                             name = textname.getText();
                             String entry = "UserName:- " + name + " Logged in:- " + gcal.get(Calendar.HOUR) + ":" + gcal.get(Calendar.MINUTE) + " Date:- " + gcal.get(Calendar.DATE) + "/" + gcal.get(Calendar.MONTH) + "/" + gcal.get(Calendar.YEAR);
                             p.println(entry);
                             System.out.println("Record Saved");
                             reset();
                             p.close();
              catch (IOException e)
                   System.err.println("Error writing to file");
         public void actionPerformed(ActionEvent ae)
              String str = ae.getActionCommand();
              if(str.equals("OK"))
                   run();
                   loginframe.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
    }

    hai!.
    i am happy to help you.Below is the modified code of ur program.if u still have problem please post.
    import javax.swing.*;
    import javax.swing.event.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import java.util.*;
    public class MainFrame extends JFrame implements ActionListener
         JDesktopPane desktop;
         JMenuBar menubar;
         JMenu menu,menuemployee;
         public JMenuItem menuitemlogin;
         JMenuItem menuitemquit,itememployee;
         public MainFrame()
              super("MainFrame");
              int inset = 50;
              Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
              setBounds(inset,inset,screenSize.width - inset*2,screenSize.height - inset*2);
              desktop = new JDesktopPane();
              desktop.setBackground(Color.white);
              setContentPane(desktop);
              desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
              setJMenuBar(createMenuBar());
              //createLogin();
         public JMenuBar createMenuBar()
              menubar = new JMenuBar();
              menu = new JMenu("Document");
              menu.setMnemonic(KeyEvent.VK_D);
              menuitemlogin = new JMenuItem("Login");
              menuitemlogin.setMnemonic(KeyEvent.VK_L);
              menuitemlogin.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L, ActionEvent.ALT_MASK));
              menuitemlogin.setActionCommand("login");
              menuitemlogin.addActionListener(this);
              menuitemquit = new JMenuItem("Quit");
              menuitemquit.setMnemonic(KeyEvent.VK_Q);
              menuitemquit.setAccelerator(KeyStroke.getKeyStroke( KeyEvent.VK_Q, ActionEvent.ALT_MASK));
              menuitemquit.setActionCommand("quit");
              menuitemquit.addActionListener(this);
              menubar.add(menu);
              menu.add(menuitemlogin);
              menu.add(menuitemquit);
              itememployee = new JMenu("Employee");
              itememployee.setMnemonic(KeyEvent.VK_E);
              itememployee.setActionCommand("employee");
    //added this line to disable the itememployee item button     
              itememployee.setEnabled(false);
    //use above the displaying menus all are "JAbstractButton" itememployee.disable();
              menubar.add(itememployee);
              JMenuItem additem = new JMenuItem("Add");
              additem.setMnemonic(KeyEvent.VK_A);
              additem.setActionCommand("add");
              additem.addActionListener(this);
              itememployee.add(additem);
              return menubar;
         public void actionPerformed(ActionEvent ae)
              String str = ae.getActionCommand();
              if(str.equals("login"))
    //added this line to disable login menu:
    menuitemlogin.setEnabled(false);
                   createLogin();
              else if(str.equals("quit"))
                   System.exit(0);
              else if(str.equals("add"))
                   System.out.println("Employee Form Invoked");
                   createEmployee();
         private static void createAndShowGUI()
              JFrame.setDefaultLookAndFeelDecorated(true);
              MainFrame frame = new MainFrame();
              frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              frame.setSize(800,600);
              frame.setVisible(true);
         public static void main(String a[])
              createAndShowGUI();
         public void createLogin()
              Login loginobj = new Login();
              loginobj.setVisible(true);
              //itememployee.enable();
              desktop.add(loginobj);
         public void createEmployee()
              Employee employeeobj = new Employee();
              employeeobj.setVisible(true);
              desktop.add(employeeobj);
    class Employee extends JInternalFrame implements ActionListener
         JFrame employeeframe;
         JLabel labelfirstname;
         JLabel labellastname;
         JLabel labelage;
         JLabel labeladdress;
         JLabel labelcity;
         JLabel labelstate;
         JTextField textfirstname;
         JTextField textlastname;
         JTextField textage;
         JTextField textaddress;
         JTextField textcity;
         JTextField textstate;
         JButton buttonsave;
         FileOutputStream out;
         PrintStream p;
         String strfirstname,strlastname,strage,straddress,strcity,strstate;
         GridBagLayout gl;
         GridBagConstraints gbc;
         public Employee()
              super("Employee Details",true,true,true,true);
              setSize(400,300);
              labelfirstname = new JLabel("First Name");
              labellastname = new JLabel("Last Name");
              labelage = new JLabel("Age");
              labeladdress = new JLabel("Address");
              labelcity = new JLabel("City");
              labelstate = new JLabel("State");
              textfirstname = new JTextField(10);
              textlastname = new JTextField(10);
              textage = new JTextField(5);
              textaddress = new JTextField(15);
              textcity = new JTextField(10);
              textstate = new JTextField(10);
              buttonsave = new JButton("Save");
              gl = new GridBagLayout();
              gbc = new GridBagConstraints();
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 1;
              gbc.gridy = 3;
              gl.setConstraints(labelfirstname,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 3;
              gbc.gridy = 3;
              gl.setConstraints(textfirstname,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 1;
              gbc.gridy = 5;
              gl.setConstraints(labellastname,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 3;
              gbc.gridy = 5;
              gl.setConstraints(textlastname,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 1;
              gbc.gridy = 7;
              gl.setConstraints(labelage,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 3;
              gbc.gridy = 7;
              gl.setConstraints(textage,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 1;
              gbc.gridy = 9;
              gl.setConstraints(labeladdress,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 3;
              gbc.gridy = 9;
              gl.setConstraints(textaddress,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 1;
              gbc.gridy = 11;
              gl.setConstraints(labelcity,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 3;
              gbc.gridy = 11;
              gl.setConstraints(textcity,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 1;
              gbc.gridy = 13;
              gl.setConstraints(labelstate,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 3;
              gbc.gridy = 13;
              gl.setConstraints(textstate,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 3;
              gbc.gridy = 17;
              gl.setConstraints(buttonsave,gbc);
              Container contentpane = getContentPane();
              contentpane.setLayout(gl);
              contentpane.add(labelfirstname);
              contentpane.add(textfirstname);
              contentpane.add(labellastname);
              contentpane.add(textlastname);
              contentpane.add(labelage);
              contentpane.add(textage);
              contentpane.add(labeladdress);
              contentpane.add(textaddress);
              contentpane.add(labelcity);
              contentpane.add(textcity);
              contentpane.add(labelstate);
              contentpane.add(textstate);
              contentpane.add(buttonsave);
              buttonsave.addActionListener(this);
         public void reset()
              textfirstname.setText("");
              textlastname.setText("");
              textage.setText("");
              textaddress.setText("");
              textcity.setText("");
              textstate.setText("");
         public void actionPerformed(ActionEvent ae)
              String str = ae.getActionCommand();
              System.out.println(str);
              if(str.equalsIgnoreCase("Save"))
         try
         out = new FileOutputStream("myfile.txt",true);
         p = new PrintStream( out );
         strfirstname = textfirstname.getText();
         strlastname = textlastname.getText();
         strage = textage.getText();
         straddress = textaddress.getText();
         strcity = textcity.getText();
         strstate = textstate.getText();
         p.print(strfirstname+"|");
         p.print(strlastname+"|");
         p.print(strage+"|");
         p.print(straddress+"|");
         p.print(strcity+"|");
         p.println(strstate);
         System.out.println("Record Saved");
         reset();
         p.close();
         catch (Exception e)
         System.err.println ("Error writing to file");
    class Login extends JInternalFrame implements ActionListener,InternalFrameListener
         JFrame loginframe;
         JLabel labelname;
         JLabel labelpassword;
         JTextField textname;
         JPasswordField textpassword;
         JButton okbutton;
         String name = "";
         FileOutputStream out;
         PrintStream p;
         Date date;
         GregorianCalendar gcal;
         GridBagLayout gl;
         GridBagConstraints gbc;
         MainFrame obj = new MainFrame();
         public Login()
              super("Login",true,true,true,true);
              setSize(300,300);
              gl = new GridBagLayout();
              gbc = new GridBagConstraints();
              labelname = new JLabel("User");
              labelpassword = new JLabel("Password");
              textname = new JTextField("",9);
              textpassword = new JPasswordField(5);
              okbutton = new JButton("OK");
              okbutton.setMnemonic(KeyEvent.VK_O);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 1;
              gbc.gridy = 5;
              gl.setConstraints(labelname,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 2;
              gbc.gridy = 5;
              gl.setConstraints(textname,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 1;
              gbc.gridy = 10;
              gl.setConstraints(labelpassword,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 2;
              gbc.gridy = 10;
              gl.setConstraints(textpassword,gbc);
              gbc.anchor = GridBagConstraints.NORTHWEST;
              gbc.gridx = 1;
              gbc.gridy = 15;
              gl.setConstraints(okbutton,gbc);
              Container contentpane = getContentPane();
              contentpane.setLayout(gl);
              contentpane.add(labelname);
              contentpane.add(labelpassword);
              contentpane.add(textname);
              contentpane.add(textpassword);
              contentpane.add(okbutton);
              okbutton.addActionListener(this);
              this.addInternalFrameListener(this);
         public void reset()
              textname.setText("");
              textpassword.setText("");
         public void run()
              try
                   String text = textname.getText();
                   String blank="";
                   if(text.equals(blank))
              System.out.println("First Enter a UserName");
              JOptionPane.showMessageDialog(loginframe,"Enter UserName","Alert",JOptionPane.WARNING_MESSAGE);
                   else
                        if(text != blank)
                             date = new Date();
                             gcal = new GregorianCalendar();
                             gcal.setTime(date);
                             out = new FileOutputStream("log.txt",true);
                             p = new PrintStream( out );
                             name = textname.getText();
                             String entry = "UserName:- " + name + " Logged in:- " + gcal.get(Calendar.HOUR) + ":" + gcal.get(Calendar.MINUTE) + " Date:- " + gcal.get(Calendar.DATE) + "/" + gcal.get(Calendar.MONTH) + "/" + gcal.get(Calendar.YEAR);
                             p.println(entry);
                             System.out.println("Record Saved");
                             reset();
                             p.close();
                             System.out.println("Enabling itememployee");
                             obj.itememployee.enable();
    //hai boy add this line to enable itememployee menu:
    itememployee.setEnabled(true);
    // i added this line to close/dispose the internal login frame after ok button is pressed
    this.dispose();
              catch (IOException e)
                   System.err.println("Error writing to file");
         public void actionPerformed(ActionEvent ae)
              String str = ae.getActionCommand();
              if(str.equalsIgnoreCase("OK"))
                   try
                        run();
                        loginframe.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
                   catch(Exception e)
    public void internalFrameClosing(InternalFrameEvent e){
    //added this line to again enable login menu if the user closed the login window
                   menuitemlogin.setEnabled(true);
    public void internalFrameOpened(InternalFrameEvent e) {  }
    public void internalFrameIconified(InternalFrameEvent e) {    }
    public void internalFrameDeiconified(InternalFrameEvent e) {   }
    public void internalFrameActivated(InternalFrameEvent e) {    }
    public void internalFrameDeactivated(InternalFrameEvent e) {    }
    public void internalFrameClosed(InternalFrameEvent e) {   }
    }

  • Problem with Validation in Struts

    Dear All,
    I am facing a proble with validation in struts.
    I have got this code in my action class
    //Initial Code...
    ArrayList branches=new ArrayList();
    branches.add("B01", "Main Branch");
    branches.add("B02", "Second Branch");
    branches.add("B03", "Third Branch");
    DynaValidatorForm memberForm=(DynaValidatorForm)form;
    memberForm.set(branches);
    //Finalizing code.....This form is getting validated in validation.xml.
    This action is being forwarded to folllowing JSP.
    //Initial Code...
            <tr>
                <td align="right"><strong>Branch Name </strong></td>
                <td> </td>
                <td align="left">
                    <html:select property="branid">
                        <html:optionsCollection name="memberForm" property="branches" value="key" label="value"/>
                    </html:select>
                </td>
            </tr>
    //Later code...I have action mapping as..
            <action path="/member/save" input="member.page" name="memberForm" validate="true"
            scope="request" type="com.mlm.action.MemberAction" parameter="action">
                <forward name="success" path="/show.do?action=member" redirect="true"/>
            </action>Now, the problem is that when the form doesn't pass the validation then it gives an exception that..
    Can't find collection 'branches' in bean

    sauanu wrote:
    Ok, now I am giving full code of my module...
    Form-bean
    <form-beans>
    <form-bean name="memberForm" type="org.apache.struts.validator.DynaValidatorForm">
    <form-property name="id" type="java.lang.String"/>
    <form-property name="membname" type="java.lang.String"/>
    <form-property name="address" type="java.lang.String"/>
    <form-property name="branid" type="java.lang.String"/>
    <form-property name="branches" type="java.util.ArrayList"/>
    </form-bean>
    </form-beans>Validation is being done for all fileds except "branches". Validation type is "requried"
    My Jsp....
    <html:form action="/member/save?action=save">
    <html:hidden property="id"/>
    <tr>
    <td align="right"><strong>Member Name </strong></td>
    <td> </td>
    <td align="left">
    <html:text property="membname"/>
    </td>
    </tr>
    <tr>
    <td align="right"><strong>Address</strong></td>
    <td> </td>
    <td align="left">
    <html:text property="address"/>
    </td>
    </tr>
    <tr>
    <td align="right"><strong>Branch Name </strong></td>
    <td> </td>
    <td align="left">
    <html:select property="branid">
    <html:optionsCollection name="memberForm" property="branches" />
    </html:select>
    </td>
    </tr>
    <tr>
    <td align="right">
    <html:submit/>
    </td>
    <b><td>   </td></b>
    <td>
    <html:button value="Cancel" onclick="javascript:history.go(-1)" property="cancel"/>
    </td>
    </tr>
    </html:form>This is the code..
    I tried to find out the problem and I found that.. when the form does not pass the validation its input page gets displayed..
    Now, when the input is getting displayed.. "branches" field of the form contains null???Why?
    Edited by: sauanu on ?? ??????, ???? ??:?? ?????????Forget,about Validations.
    Who is forwarding the control to this JSP page or view ??
    Is it Action method code which metioned earlier doing it ??
    Or some other Action is involved if it is some other action please intialize Values of branches component in the respective action.
    Also,
    Also,
    ArrayList branches=new ArrayList();
    branches.add("B01", "Main Branch");
    branches.add("B02", "Second Branch");
    branches.add("B03", "Third Branch"); I believe you need to get a good understanding of Java Collection classes aswell.
    You can add things as entities in the above case lets create a simple java bean named Option.
    public class Option implements Serializable{
        private String label;
        private String value;
        public void setValue(String value){this.value = value;};
        public String getValue(){return this.value;}
        public void setLabel(String label){this.label = label;}
        public String getLabel(){return this.label;}
    } and inside the action which is forwarding to the respective view
    ArrayList branches=new ArrayList();
    Option option = new Option();
    option.setValue("B01");
    option.setLabel("Main Branch");
    branches.add(option);
    option = new Option();
    option.setValue("B02");
    option.setLabel("Second Branch");
    branches.add(option);
    option = new Option();
    option.setValue("B03");
    option.setLabel("Third Branch");
    branches.add(option);
          <html:select property="branid">
                   <html:options name="memberForm" collection="branches"   value="value" label="label" />
           </html:select>and one more thing is is that after the validation if it is not validated it'd be sent back to input page which destorys the request therefore try making scope of "memberForm" to session in your action mappings and check.
    Hope this might help :)
    REGARDS,
    RaHuL

  • Business Rule - Problem with Validation Execution

    I'm running into an issue where conditional Validation Execution is not working as expected. The background is that i have an Entity Object containing a few string attributes on which i must apply Regular Expression business rules to make sure only characters in a certain range is set. I am using a Not Matches regex on the following:
    .*[^\u0020-\uD7FF].*1 attribute is required, 2 are optional. The problem I am experiencing is with the 2 optional attributes.
    Since these are optional, I intended to use the Validation Execution tab so that the Rule is executed only when the attribute is not null. For example, here is what i tried for an attribute named Comments:
    Comments != nullNo validation occurred when I entered an invalid value, such as a string containing line breaks, in a corresponding ADF Faces page. For the heck of it, i experimented by setting the validation execution to the opposite of what i should be - in other words, trigger validation if the attribute is null, such as:
    Comments == nullWith this, the validation occurred as expected.
    Is this a bug, or am I misunderstanding something? I'm not particularly good with RegEx - is it possible this is due to some nuance of the expression?
    Version: JDeveloper 11.1.1.6.
    Thanks-
    -george

    i'm not sure if this is the correct answer or a workaround to the issue i had asked about. Given that caveat, if anyone else ever runs across this thread, what i found worked was to not use the attribute name in the Validation Execution tab's expression, but instead to just newValue as in the following:
    newValue != null

  • EPM add-in problem with input data,retrieve dimension or members

    Hello everyone,
    I am trying to use data write back (input data) function with EPM add-in in Dashboards. I managed successfully bringing results of an EPM report. I've created a local connection at EPM, and created a  connection at data manager for"Planning and consolidation, version for SAP netweaver platform". And i could get the values via refreshing connection at preview mode, so far so good. Now i want to add a connection which will serve as data write back function to a specific BPC cube. The problem is,  I can retrieve data source name and environment name. But when i click to retrieve model names, it retrieves empty results. The problem exist in, "retrieve dimension" and"retrieve dimension members" functionalities too. I realized that i could retrieve model names for only one specific environment, but even i could get these, when i try to retrieve "cell definition" i am facing an error. You can see related screenshots below.
    I am using Dashboards 4.1 SP2,  EPM connector 10 SP 17.  I created two connections as local and business planning and consolidation for netweaver. I selected same environment and model name for these connections. Neither did work.  Any ideas?
    Update: The reason i could see some model names and some others not  was i didn't specified the model as data source at: 
    Enable BPC Model as reporting data source
               Logon to BPC 10.0 NW web client -> Planning and Consolidation Administration -> Dimensions and Models -> Models -> Select the Model -> Edit -> Features Used with the Model -> mark check box 'Use as Source of Data' -> Save.
    I will update here if i could find a solution for the other issue. (First screenshot).
    Update_2: The problem was occuring because i wasn't connecting to transient cube, created automatically by applying the step at Update_1. While creating a local connection, you shouldn't connect to the original cube, but to the transient one instead to use input data functionality.
    Regards,
    Onur
    Message was edited by: Onur Göktaş

    HI,
    I believe it is definitely the support pack. I posted an issue on this forum and I saw your post.  Your issue is very similar to mine. I saw Andy's reply to you about the SP 18 and looked into it.  Thanks Andy.  SP 18 resolved my issue.  See my post.  Kathy

  • Problem with validating a field in VA01/VA02

    Hi,
    I was required to add validation for Material Group 3 (VBAP-MVGR3) in 'Additional Data A' tab (VA01/VA02). The corresponding screen number in 4459. In the PAI section, there is a module called 'vbap_bearbeiten'. In this module, there is an enhancement point called 'VBAP_BEARBEITEN_10 '. I created an implementation of this enhancement point to call a validation subroutine which i put in user exit MV45AFZZ. My problem is whenever a wrong entry is entered for that field, the whole screen in the 'Additional Data A' tab turned grey and disabled for user entry. Re-entry for the correct Material Group 3 is not allowed.
    Initially, i used a different approach. I made a core change to screen 4459 by adding a statement like below in the PAI section :-
    FIELD vbap-mvgr3 MODULE zsd_check_mvgr3 ON REQUEST.
    In fact, the validation worked without any issue. User was prompted for an error message and then was allowed to re-enter a correct entry for that field if a wrong entry was entered initially. However, since this approach involved a core change, it was not allowed by my superior and he demands for using the enhancement framework approach.
    Kindly please let me know if you have any idea of resolving this issue. Thanks much in advance.

    Hi guys, thanks much for your feedback.
    I tried to call my validation subroutine from USEREXIT_CHECK_VBAP (MV45AFZB). However, it did not work as well. Although the validation subroutine was successfully called in USEREXIT_CHECK_VBAP and error message dialog box was shown if entry was not correct, but when i clicked on the dialog box / pressed the 'enter' key, the 'Material Group 3' field was not opened for re-editing (it was still shown in grey and disallowed for user entry). In fact, through debugging, i found that USEREXIT_CHECK_VBAP was called again (after i pressed the 'enter' key) and it caused the program to enter an infinite loop.
    On the other hand, i also tried to use USEREXIT_MOVE_FIELD_TO_VBKD (MV45ZFZZ). Unfortunately, i also met with the same issue as described above.  Kindly please let me know if there is a way to solve this issue. Thanks.

Maybe you are looking for

  • Where are adobe fonts installed in Mac OSX?

    Hi, I need the same Adobe fonts in Photoshop CS6 and InDesign CS6. Where are they installed in OSX? Do my Adobe programs install fonts in a different folder than other programs do?

  • Backing up my Windows BootCamp Partition

    I know that OSX has Time Machine, but as far as I can tell, Time Machine doesn't back up your Boot Camp partition as well. Is there a program out there that will create an ENTIRE system image that I can save to an external drive? By ENTIRE system ima

  • HBOGO Airplay Closed Captions not working?

    I have an iPad2 and an AppleTV3. HBOGO Closed Captions works fine on my iPad. As soon as I airplay it to my AppleTV, however, the CC disappear even as I toggle them on and off on the iPad. While holding down on the AppleTV remote's center button usua

  • T43: Can I use a towel for cooling?

    I work with my T43 on my lap. Even though my pants, my skin gets a little hot (I don't even want to think about summertime temperatures). I bought a Belkin Cushtop, but it put the keyboard too high on my lap. Can I safely put a towel on my legs, and

  • When printing books from iphoto the pictures are darker than on computer, Why, and what can be done?

    When having apple print books using iphoto dthe printed pictures are much darker than shows on computer.  Why, and what can be done to correct?