Entity validation behavior in multi-step process

I'm using jdev 11g with ADF BC and I want to create a multi-step process with a train to split a long form into multiple views. The fields on the form are based on a entity object that was created from a database table. Most of the fields are mandatory. The problem is when I want to navigate from page to page the mandatory validation rules are triggered for all fields. So far, the only way to go around this is to delete all mandatory contraint from the entity object and set the fields on the form as required. Is there a way to differ the validation on the entity object when a commit is done or trigger only the rules for the fields on the current page?
Thanks.

Hi,
have a lok at the PageDef file of the pages. There is a skipValidation property that you can use to declaratively suppress validation. Try setting this property to true fro all but the last page in the process. Using this property you don't ned to change the constraints in the model
Frank

Similar Messages

  • How can I automate the multi-step process of looking up a caller's contact details when a telephone call comes in with caller ID?

    How can I automate the multi-step process of looking up a caller's contact details when a telephone call comes in with caller ID. I want to be able to see more than just the first & last name when a client calls me. I would like the caller ID to pull up the same information that shows up when you search for and find a contact name and then click on the right arrow.
    My workaround is to force/enter both the last name and the address in the last name field since then the address will show up.
    The only computerized way to look up this additional information is to put the client on hold, memorize the first and last name and correctly enter it in the search field of the contact database and hopefully find it before the client gets tired of waiting.
    Note that I go to about 48 small jobs per week. So far I have about 9,000 contacts. It's easy to make a mistake and have the client wondering what I'm doing and what's taking so long.
    The second workaround is to use paper and pencil and ask the client for name, address, cross street and phone number again, repeating what I did some time previously.
    Please help meautomate this process.

    You don't have to put anyone on hold. When the call comes in, tap the Home button, then tap contacts, go to the contact. Tap Home button when finished, tap the top banner to return to the call screen.

  • Multi step process-get exercise DVDs to iphone

    I've have 2 exercise videos I would like to use away from my mac. I thought to copy (not sure how or better way) the DVD to my HD and from there to my iPhone. What steps (step by step) are necessary for good quality playback on my iPhone while I'm at the gym?

    As KiltedTim said, rippping DVD's isn't an easy process.
    Since you own the DVD's, it technically is legal for you to download a copy from the internet.
    Download the dvd via a torrent or whatever.
    A:  If it's an .mp4 file, just drag and drop into your itunes and sync.
    B:  If not, convert the file
    OR
    Download a free video player app on your device.  Open itunes while your device is connected, click on the "apps" tab, scroll down and click on the video player app and you should be able to drag and drop the video file there (on the right side).  You would then open the app on your device and find the video file to play.

  • Previously with ATT & Yahoo I had a shortcut to sign me in easily - and give an option to change users or sign out at the top of the screen . This was with Internet Express brouser. Now it is a multi step process. Any way to make it easier to sign in?

    A shortcut set up to execute yahoo browser included the e-mail id for me (or anyone else) would bring up our sign in information. One click would sign us on and bring up tabs with my home page and e-mail. Now, even though I have checked keep tabs from last time, only one tab shows up - after I have gone through the process previously described. Can this be handled better? If not, how can I get back to Internet Express browser?

    Purplehiddledog wrote:
    I do backup with iCloud.  I can't wait until the new iMac is available so that I can once again have my files in more than 1 location without needing to rely solely on the cloud. 
    I also rely on iTunes and my MacBook and Time Machine as well as backing up to iCloud. I know many users know have gone totally PC free, but I chose to use iCloud merely as my third backup.
    I assume that the restore would result in my ability to open Pages and Numbers and fix the problem with deleting apps, but this would also mean that if my Numbers documents still exist solely within the app and are just not on iCloud for some reason that they would be gone forever.  Is that right?
    In a word, yes. In a little more detail.... When you restore from an iCloud backup, you must erase the device and start all over again. There is no other way to access the backup in iCloud without erasing the device. Consequently, you are starting all over again. Therefore, it would also be my assumption that Pages and Numbers will work again and that the deleting apps issues would be fixed as well.
    If the documents are not in the backup, and you do not have a backup elsewhere, the documents could be gone forever.

  • Digital Signatures in multi step processes

    I have a form with several digital signatures, so I am passing the form around using a xfaForm variable. So, after user1 fills out the form, signs it and then send it back to the process. The process creates a task for user2 with the same form. If user2 opens the task in his workspace the signature of user1 is missing. I think I have to use another variable type for the form. But what type? I have played around with the different types but it comes always to errors. What type of variable should I use for the form? Or is there any example for such a process?
    I found one sample (http://www.adobe.com/devnet/livecycle/articles/preserve_dig_sig_multisteps.html) but it is for version 7.x
    Thanks in advance,
    Michael

    Jasmin,
    I have followed the directions you have above but I am receiving some sort of invocation error. Here is the error:
    ALC-DSC-003-000: com.adobe.idp.dsc.DSCInvocationException: Invocation error.
    at com.adobe.idp.dsc.component.impl.DefaultPOJOInvokerImpl.invoke(DefaultPOJOInvokerImpl.jav a:210)
    at com.adobe.idp.dsc.interceptor.impl.InvocationInterceptor.intercept(InvocationInterceptor. java:134)
    at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:44)
    at com.adobe.idp.dsc.transaction.interceptor.TransactionInterceptor$1.doInTransaction(Transa ctionInterceptor.java:74)
    at com.adobe.idp.dsc.transaction.impl.ejb.adapter.EjbTransactionCMTAdapterBean.execute(EjbTr ansactionCMTAdapterBean.java:336)
    at com.adobe.idp.dsc.transaction.impl.ejb.adapter.EjbTransactionCMTAdapterBean.doSupports(Ej bTransactionCMTAdapterBean.java:212)
    at sun.reflect.GeneratedMethodAccessor259.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.jboss.invocation.Invocation.performCall(Invocation.java:345)
    at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionConta iner.java:214)
    at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionI nterceptor.java:149)
    at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstance Interceptor.java:154)
    at org.jboss.webservice.server.ServiceEndpointInterceptor.invoke(ServiceEndpointInterceptor. java:54)
    at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:48)
    at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:106)
    at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:363)
    at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:166)
    at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:153)
    at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
    at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor. java:122)
    at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
    at org.jboss.ejb.Container.invoke(Container.java:873)
    at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:415)
    at org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSessionProxy.java:88)
    at $Proxy171.doSupports(Unknown Source)
    at com.adobe.idp.dsc.transaction.impl.ejb.EjbTransactionProvider.execute(EjbTransactionProvi der.java:104)
    at com.adobe.idp.dsc.transaction.interceptor.TransactionInterceptor.intercept(TransactionInt erceptor.java:72)
    at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:44)
    at com.adobe.idp.dsc.interceptor.impl.InvalidStateInterceptor.intercept(InvalidStateIntercep tor.java:37)
    at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:44)
    at com.adobe.idp.dsc.interceptor.impl.AuthorizationInterceptor.intercept(AuthorizationInterc eptor.java:80)
    at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:44)
    at com.adobe.idp.dsc.engine.impl.ServiceEngineImpl.invoke(ServiceEngineImpl.java:113)
    at com.adobe.idp.dsc.routing.Router.routeRequest(Router.java:95)
    at com.adobe.idp.dsc.provider.impl.base.AbstractMessageReceiver.routeMessage(AbstractMessage Receiver.java:88)
    at com.adobe.idp.dsc.provider.impl.vm.VMMessageDispatcher.doSend(VMMessageDispatcher.java:21 0)
    at com.adobe.idp.dsc.provider.impl.base.AbstractMessageDispatcher.send(AbstractMessageDispat cher.java:57)
    at com.adobe.idp.dsc.clientsdk.ServiceClient.invoke(ServiceClient.java:208)
    at com.adobe.workflow.engine.PEUtil.invokeAction(PEUtil.java:553)
    at com.adobe.workflow.engine.ProcessEngineBMTBean.continueBranchAtAction(ProcessEngineBMTBea n.java:2851)
    at com.adobe.workflow.engine.ProcessEngineBMTBean.asyncInvokeProcessCommand(ProcessEngineBMT Bean.java:634)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.jboss.invocation.Invocation.performCall(Invocation.java:345)
    at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionConta iner.java:214)
    at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionI nterceptor.java:149)
    at org.jboss.webservice.server.ServiceEndpointInterceptor.invoke(ServiceEndpointInterceptor. java:54)
    at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:48)
    at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:106)
    at org.jboss.ejb.plugins.AbstractTxInterceptorBMT.invokeNext(AbstractTxInterceptorBMT.java:1 58)
    at org.jboss.ejb.plugins.TxInterceptorBMT.invoke(TxInterceptorBMT.java:62)
    at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstance Interceptor.java:154)
    at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:153)
    at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
    at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor. java:122)
    at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
    at org.jboss.ejb.Container.invoke(Container.java:873)
    at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:415)
    at org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSessionProxy.java:88)
    at $Proxy204.asyncInvokeProcessCommand(Unknown Source)
    at com.adobe.workflow.engine.ProcessCommandControllerBean.doOnMessage(ProcessCommandControll erBean.java:145)
    at com.adobe.workflow.engine.ProcessCommandControllerBean.onMessage(ProcessCommandController Bean.java:94)
    at sun.reflect.GeneratedMethodAccessor516.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.jboss.invocation.Invocation.performCall(Invocation.java:345)
    at org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDrivenContainer.j ava:475)
    at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionI nterceptor.java:149)
    at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterc eptor.java:101)
    at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:106)
    at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:335)
    at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:166)
    at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:94)
    at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
    at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:389)
    at org.jboss.ejb.Container.invoke(Container.java:873)
    at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:1077)
    at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerI nvoker.java:1379)
    at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:256)
    at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:904 )
    at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:160)
    at org.jboss.mq.SpySession.run(SpySession.java:333)
    at org.jboss.jms.asf.StdServerSession.run(StdServerSession.ja

  • Best way to create a multi-step validation process

    I am writing a multi step validation process and I was wondering what is the best method to have it operate on the value.  What I have:
    As a custom validation script, in that order:
    1- Calls a function that looks if the value is part of a particular array
    2- Calls a function that regroup some tests
         2a- function test1()
         2b- function test2()
         2c- function test3()
         2d- function test4()
    What I have now is every test ends as 'event.rc = false' when they fail which is what I need but I also need to stop the entire validation process.  As an example, if the value fails test2() and gets a "you have failed test 2" alert, I don't want to call test3() and test4() since it is already decided that it failed one of the tests.  I could return a boolean that triggers (or not) the next test() but isn't there a simple way to just say
    event.rc = false;
    "STOP EVERYTHING";
    I have the assumption that break; will only stop the test() but still move on to the next test().  Maybe I can return break; so it will be called from the 'master function'?   Is that even possible?

    Create another function and call it from the validation script, something like:
    function validate_field() {
        // Call the first validation routine
        test0();
        // Abort if first validation fails
        if (!event.rc) return;
        // Call the second validation routine
        test1();
        // Abort if second validation fails
        if (!event.rc) return;
        // Repeat for any other tests

  • MDG Cross entity validation using enrichment spot is not executed.

    I have configured the enrichment sport for cross entity validations and used BRF to validate the data, but looks like validations are
    not executed. I have the check activated for the step in the configuration and I can see my custom class is being picked in method GET_ENRICHMENTS of class CL_USMD_DQ_ACCESS_ENRICHMENT for that request type and step. I have flag relevant  selected and option “Execute Always” (will change this to “Execute when data changed).
    I am trying to figure out if SAP MDG standard code will execute my custom class code or not. I had put break point in my custom class constructor and this is called when an instance for enrichment is created in method GET_ENRICHMENTS of class CL_USMD_DQ_ACCESS_ENRICHMENT. However my code in below method is not executed (and hence BRF is not called)
      IF_USMD_ENRICHMENT_FEEDER~GET_ADAPTER_DATA
      IF_USMD_ENRICHMENT_FEEDER~IS_RELEVANT
    Now I am trying to figure out a place from where these enrichment class methods will be executed. I feel this will be from EXECUTE_ENRICHMENT
    of class CL_USMD_DQ_ACCESS_ENRICHMENT. But this method is also not executed when I hit on Check button. Am I looking wrong standard class?
    Is there anything I am missing in configuration? Or we need to implement any SAP note? I tried to find one, but no luck.

    Hello, I am not using cress entity BADI for Validation. I am using this BADI for cross entity derivations and they are working fine.
    I had a requirement to do cross entity validations, and I have rules written using the BRF+.
    I had used enrichment sport functionality to have a custom class used to call BRF functions and prepare the context with required entity data.
    Validations are supposed to happen based on the enrichment spot defined and the configuration for that enrichment sport on the process step level. This is not happening. let me know if you need more information on it,

  • Transactional Behavior of an Integration Process

    Hi All,
    As I have to optimise an existing BPM, to have some idea, I was going through the link describing 'Transactional Behavior of an Integration Process'.
    http://help.sap.com/saphelp_nw04/Helpdata/EN/25/a45c3cff8ca92be10000000a114084/frameset.htm
    which tells tas follows.
    'At runtime, the system normally creates a separate transaction for each step. The transaction then covers this step only. However, you can influence the transactional behavior of particular step types. In the step properties, you can define that the system is not to start a new transaction when the step is executed. The system then executes the step in the transaction that was started at the time of execution. Consequently, no background work item is created for the step and the database does not need to be accessed. In this way you can improve system performance'
    But I am not able to understand, how to implement that for any steps. Could you please explain?
    Regards,
    Subhendu

    Hi Subhendu,
    i ve got some doubts it was in SP 17 available. Please search at [Release Notes for SAP Exchange Infrastructure|http://help.sap.com/saphelp_nw04/helpdata/en/c9/9844428e9cbe30e10000000a155106/frameset.htm]
    Regards,
    Udo
    Edited by: Udo Martens on Feb 5, 2009 3:38 PM

  • BDC Step by Step Process

    Hi Experts,
    I'm new to BDC.
    If you have any material which shows step by step process of BDC
    with screen shots please forwards to the following mail id...
    [email protected]
    Kindly help me!!!!
    I would be very grateful for your help..
    thanks & regards,
    shilpa

    BDC or Batch Input Program Tips and Tricks
    Batch Data Communication or BDC is a batch interfacing technique that SAP developed. It is mainly used for uploading data into the SAP R/3 system. BDC works by simulating the user input from transactional screen via an ABAP program.
    The data input data file will come in the form of a flat file which the user save as file type txt file or prn file from the Microsoft Excel program. An Abaper will create a program to read the text file and upload into the SAP system.
    Normally, the tcode SHDB will be used to record the transaction code the user used. After, the simulation, the Abaper can generate a sample program and modify from there. It makes the programming easier and faster.
    Learning BDC Programming
    I want to learn how to upload data using BDC. If I have a excel data file how will upload it using BDC. I don't know the full process of doing it, if someone help me in this. I want it using BDC session process and processing that session. I was trying to upload material master other day. But could not follow the process of uploading using BDC though I know LSMW. Please explain me the BDC process in details with examples.
    For a BDC upload you need to write a program which created BDC sessions.
    Steps:
    1. Work out the transaction you would use to create the data manually.
    2. Use transaction SHDB to record the creation of one material master data.
    Click the New recording button or the Menu - Recording - Create
    3. Save the recording, and then go back a screen and go to the overview.
    4. Select the recording and click on Edit - Create Program. Give the program a Z name, and select transfer from recording.
    5. Edit the program. You will see that all the data you entered is hard-coded into the program. You need to make the following changes:
    5.1 After the start-of-selection, Call ws_upload to upload the file (the excel file needs to be saved as TAB separated).
    5.2 After the open-group, Loop on the uploaded data. For each line, perform validation checks on the data, then modify the perform bdc_field commands to use the file data.
    5.3. After perform bdc_transaction, add the endloop.
    Execute the program. It will have options to create a batch session or to process directly.
    These are all my finds . Might be it will be useful to you.
    Direct call of transactions, session handling:
    /nxxxx This terminates the current transaction, and starts transaction xxxx
    /n This terminates the transaction. This generally corresponds to pressing F15 to go back.
    /nend This termiantes all separate sessions and logs off (corresponds to System - Logoff).
    /nex This terminates all separate sessions and logs off immediately (without any warning!).
    /oxxxx This opens a new session and starts transaction xxxx in This session.
    /o This lists existing sessions and allows deletion or opening of a new session.
    /i This terminates the current session (corresponds to System End
    /i1, /i2,... This terminates the session with the number given.
    .xyzw Fast path: 'xyzw' refers to the underlined letters in the menus. This type of navigation is uncommon and is provided more for emergencies (such as a defective mouse).
    Batch
    The following commands can be entered in correction mode ('Process in foreground' or 'Display errors only') when processing a batch input session:
    /n This terminates the current batch input transaction and characterizes it as
    /bdel This deletes the current batch input transaction.
    /bend This terminates batch input processing and sets the session to Failed
    /bda This switches from Display errors only to Process in foreground
    /bde This switches from Process in foreground to Display errors only
    ABAP/4
    /h This switches into debugging mode.
    /hs This switches into debugging mode and activates the debugging of system functions.
    Buffer
    WARNING: Resetting buffers can significantly change the performance of the entire system for a long time.
    It should therefore only be used where there is a good reason tdso. As of release 3.0B system administator authorization is required (authorization object (S_ADMI_FCD). The action is noted in the system log.
    /$SYNC This resets all buffers of the application server
    /$CUA This resets the CUA buffer of the application server
    /$TAB This resets the TABLE buffers of the application server
    /$NAM This resets the nametab buffer of the application server
    /$DYNP This resets the screen buffer of the application server
    and also see these following links.
    For BDC:
    http://myweb.dal.ca/hchinni/sap/bdc_home.htm
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/bdc&
    http://www.sap-img.com/abap/learning-bdc-programming.htm
    http://www.sapdevelopment.co.uk/bdc/bdchome.htm
    http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
    http://help.sap.com/saphelp_47x200/helpdata/en/69/c250684ba111d189750000e8322d00/frameset.htm
    http://www.sap-img.com/abap/learning-bdc-
    http://www.sapbrain.com/TUTORIALS/TECHNICAL/BDC_tutorial.html
    Regards.

  • MDM Data Manager step-by-step process with an example

    Hi All,
    I recently started reading MDM. I am clear with MDM-Console concepts. But I have problem with MDM Data Manager. I am confused with data entries in qualified tables, work flows(using microsoft studio), Matching mode- rules(High treshold, low threshold) etc.. I read material posted in forums- but still I am not clear.
    I need a step-by-step process for data entries with *examples*. A good example which covers all Data Manager concepts. PDF's with screen shots, videos any thing would help.
    Please help me......It would be of great help.
    Thanks in Advance.
    Suchir

    Hi Suchir ,
    MDM 5.5 has 4 MDM clients to perform 4 main functionality on the MDM master records.
    - Console- This is where all the Administrative work is performed
    - Data Manager- This is where the actual maintainence work is done on the master data like consolidation deduplication etc.
    - Import manager- Thsi is from where the source matser records are taken into MDM repoistory
    - Syndicator- This is from where teh consolidated master data is send back to the target systems.
    MDM Data Manager is the heart of MDM
    The activities that can be performed in the MDM Data manager are:
    - Data Consolidation
    - Data Validation
    - Data Deduplication
    - Data Assignment
    - Data Governanace
    etc......
    Qualified Table:
    - Qulaified tables are used to store relational records where one field value is determining the other field or fields value.
    - Qualified tables are maintained in Console and can be viewed in Data Manager
    - Qualified Table are viewed under a separate section in Data Manager in the right hand side.
    - Qualified table has Non qualifiers and Qualifiers.
    - Non qualifiers can be seen in the  Qualified table and in the linking Qualified field
    - Qualifiers can be seen separately under the Qualified section in the data manager
    Kindly refer the below link to know more on this:
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/00a15239-684e-2b10-b8ae-b936b7d1c1fe
    Workflows
    - Workflows are designed in MDM for Governanace
    - You can create the MDM workflow using the MS Visio 2003 stencils in the MDM Data manager in the record mode under the workflow table
    - The saved workflow in DM can then be executed either mnaully or automatically based on teh trigger actions
    - The trigger action for teh MDM wf are record Add,Update,Import,Manual
    Kindly refer the below link to know more on this:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/60559952-ff62-2910-49a5-b4fb8e94f167  (MDM Workflows Overview)
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/90990743-91c0-2a10-fd8f-fad371c7ee40  (Demo of MDM Workflows)
    Matching Mode
    - This mode is exclusively for Master data deduplication
    - We need to create Rules,Strategies,Transformation in MDM data manager in teh record mode
    - Then you need to run these strategies on the selected records
    - Based on your score and threshold set in the strategy MDM will identify duplicate records
    - This score will be seen in teh Matching mode
    - Colour coding is used along with scores to find out dupliactes
    - Green - 100%dupliacte Blue- 50?% Red- No duplicate
    Kindly refer the below link to know more on this:
    /people/michael.reil/blog/2006/05/18/mdm-matching-strategies-for-master-data-consolidation (matching merging in mdm)
    Hope It Helped
    Thanks & Regards
    Simona Pinto

  • Multi-Step Purchase Order Release Workflow FRGSX/FRGCO

    Hello everyone,
    I'm about to pull my hair out over here with this workflow.
    -We're using ECC6
    -We've configured multi-step release strategies for some of our PO's.
    -I've linked the RELEASESTEPCREATED event from BUS2012 to WS20000075.
    -The workflow is failing at agent determination, prior to creation of the workitem.
    -It appears that the Release Strategy (FRGSX) is being passed in the RELEASE CODE parameter of the workflow container, rather than the actual Release Code (FRGCO), causing the agent determination to fail.
    -Both the rule and the entire workflow work flawlessly when executed manually using the Release Code (FRGCO).
    What's going on here? Can WS20000075 handle multi-step approvals out of the box? I've read conflicting opinions all over the internet, and still haven't been able to find a straight answer. Does anyone have any suggestions for a fix?
    I'm very new to Workflow, so be gentle.
    Thanks,
    Jarrod

    Hi Sue!
    Thanks for chiming in.  It looks as if TS20000166 is bound to the release step, and while there was one previous version, it appears to be a duplicate of the original.
    Below is some additional error info from the step history:
    AC20000027 - Element REQUISITION is not available in the container
    EVALUATE_AGENT_VIA_RULE - Error in resolution of rule 'AC20000027' for step '0000000093'
    CREATE_VIA_WFM - Agent determination for step '0000000093' failed
    CREATE_WIM_HANDLE - Error when creating a work item
    CREATE - Error when creating a component of type 'Step'
    PROCESS_NODE - Error when processing node '0000000093' (ParForEach index 000000)
    Exception occurred - Error when starting work item 000000451141
    Also, if I examine the contents of the container, the ReleaseCode parameter contains the FRGSX value (7D), rather than the FRGCO value (D7), despite the fact that the definition for the expression specifies T16FC-FRGCO.
    I've tried debugging the ME_REL_GET_RESPONSIBLE FM from the rule, but my breakpoint doesn't hit when I'm creating PO's, only if I start the workflow manually.
    Might I have mis-diagnosed my problem?
    Thanks for your help,
    Jarrod

  • HELP: ADF-Error in Entity Validation - Validation fires twice

    Hi there,
    I have problems with the entity validation in JClient when I have more then one UI-Element that references to the same Data Control / Model Attribute within one panel.
    E.g. I have a table where I display all customers. Above the table I show detail information with editable JTextFields for the customer I've selected in the table. When I change the name of a customer and leave the textfield, the new Value appears also in the table. Thats all ok.
    The problem:
    The entity validation fires twice in that example. E.g. when I insert 30 characters in the name field, but the corresponding database column only stores 20 characters, the
    displayed exception appears twice. When I remove the textfields from the panel
    and edit the values direct in the table, the validation only fires one time.
    How can I avoid that behaviour? I have a lot of screens where it is important to show the list of objects in a table and let edit specific data via text fields.
    That behaviour is also reproducable with the ADFJClientComponentDemo
    (Jtree binding demo). If you insert more characters than allowed in the firstname field,
    the Exception Message is shown twice.
    Thanks for your help,
    Claus

    Hi Fred,
    It's nice to know that somebody out there uses the same technology in a similar way.
    Our L & F is also JGoodies based (we didn't use JGoodies forms).Yes, nice to know. We also only use L&F and not the JGoodies Layout Manager
    (but if JDev 10.1.3 provides that layout manager maybe we use it for new panels).
    In our JClient View project, we used very few try/catch blocks, mostly in our custom
    Navigation bar class (with freeze row function).
    How would you translate the following in 3tiers?
    in the client class:
    try {
    // call a method in the model
    catch (JboException je)
    this.getPanelBinding().reportException(je);
    }We don't use any try/catch-blocks to check for model-exceptions.
    In our application a typical bootstrap code snipplet looks like that:
    =======================================
    //As classmember we have our own ErrorHandler:
    protected HTOErrorHandler errorHandler = new HTOErrorHandler(true);
    //some bootstrap code
    BindingContext ctx = new BindingContext();
    ctx.put(DataControlFactory.APP_PARAM_ENV_INFO, new JUEnvInfoProvider());
    ctx.setLocaleContext(new DefLocaleContext(null));
    //Set Custom Error Handler
    ctx.setErrorHandler(errorHandler);
    =======================================
    Our Custom Error Handler Looks like this:
    =======================================
    public class HTOErrorHandler extends DCErrorHandlerImpl
    boolean inReportException = false;
    public HotErrorHandler(boolean setToThrow){
    super(setToThrow);
    public void reportException(DCBindingContainer bc, Exception ex){
    disableAppendCodes(ex);
    showPopup(ex);
    super.reportException(bc, ex);
    private void disableAppendCodes(Exception ex){
    JboException jboEx = (JboException) ex;
    String baseMsg = jboEx.getBaseMessage();
    String detailMsg = jboEx.getDetailMessage();
    String errorCode = jboEx.getErrorCode();
    Locale defaultLoc = Locale.getDefault();
    Object[] detailExceptions = jboEx.getDetails();
    if ((detailExceptions != null) && (detailExceptions.length > 0)){
    for (int z = 0, numEx = detailExceptions.length; z > numEx; z++){
    disableAppendCodes((Exception) detailExceptions[z]);
    public void showPopup(Exception ex){
    DialogMessage dialog = new DialogMessage((JboException)ex);
    dialog.setVisible(true);
    =======================================
    The DialogMessage is our own ModalDialog to show the ErrorMessages with
    a userfriendly dialog (e.g. we show some error/warning/info-icon...)
    Each time we throw a exception in a EntityObject the framework ensures that
    the Message is shown in our own ModalDialog without using try/catch-blocks
    and the this.getPanelBinding().reportException(je)-method;
    We wrote our own ModalDialog because of L&F-reasons. But you said that
    you use the Standard-Dialog. IMHO you must neverlethess use the setErrorHandler-Method
    in 3-tier mode, but you needn't to write your own ErrorHandler, you can use the
    JUErrorHandlerDlg....
    The following line of code is generated by the ide when creating a default form:
    app.getApplicationModule().fetchAttributeProperties(new String[] {"Test2View1"}, new >String[][] {{"Id2", "Name2", "Id3", "AttrTest"}}, null);
    I read somewhere that when opening a panel, one should call that method for all used >properties in 3tiers mode only.Sorry, but we don't currently optimize something like that. For what reason
    do you want to call that method explicit? We don't have a custom method for that.
    I add tests in the validateEntity method and throw a JboException.
    I suppose for 3tiers I will have to replace throw new JboException by ???? No. You don't have to replace that. The framework notifies your client via the registered ErrorHandler.
    So when a mandatory field is empty, the framework displays an error when a commit
    or navigation event is triggered in the nav bar and the user has always access to that
    field.We want to override the default framework message with our own message. So we have
    to throw the exception manually at some point in the entity object. And for that reason
    we implemented a custom validation via MethodValidator, but the framework-validation fires
    an exception BEFORE our custom validation is processed. Maybe you don't have that problem
    because you use the default error messages. Do you use deferred Exceptions? We do so.
    Did you try JClient 3tiers deployments over the Internet?Yes, we tried it via VPN/DSL to validate that our framework interface-usage works both in 2-tier and 3-tier.
    After several attempts we were successfull, but the performance was poor.
    PS Are you connected to skype? Unfortunately no because of firewall restrictions. We only have access to ICQ.
    Regards,
    Claus

  • 3 step process in posting parked documents. Is this possible?

    Good day to everyone,
    Our client requires a 3 step process when posting documents. The step should be as follows:
    1. Creating a Parked Document. (can be a balanced or one-legged document)
    2. Completing a Parked Document.
    3. Posting a complete document.
    Currently in our setting, the users can bypass step # 2 and immediately proceed to step # 3 which is to post a parked document. There would be no problem for a one-legged or unbalanced document since posting would not be possible for documents which are not balanced. But for a complete and balanced document, the user can right away post it using FBV0.
    Is there a way we can implement a 3 step process wherein we will assign a new document status (Complete) before it gets posted in FBV0? Thanks and any help or comment would be greatly appreciated.

    Thanks for the reply. The suggestion you posted is brilliant, however, it would make things a bit more complicated for our client. I am looking towards a simpler solution, probably a validation of some sort.
    I was thinking of utilizing the Parked-Complete-Posted document status in F-65. If somebody knows how I can restrict direct posting of "Parked" document status without going thru the "Complete" status via FBV0, then I would greatly appreciate the help.

  • Entity validation strange behaviour

    I have a number of method validators against an entity.
    The validators fire for incorrect data entered on the associated screen and once the data is fixed the user is presented with a second screen. All is fine so far ...
    Until the user hits the back button to go back to the first screen. For some reason even though the user enters invalid data the method validators don't fire !!!. Very confusing.
    Does anyone know of any reasons why this should occur ?
    Many Thanks,
    Richard

    Hi,
    I added a page-link to my second page as suggested. Using this method(instead of back button) causes the validation in the first screen to re-fire.
    The previously entered values in the first screen are gone as its a new request.
    I use code from your toystore to pre-create a record in the initializeModelForPage step. This fires when the link is clicked, and part of that code deletes the last entry from the entity cache. Therefore I'm not too surprised this works. As part of this project it has been stated that the users should be able to navigate through the browsers buttons, so I'm still abit stuck. Any suggestions ?
    What i've done for now is to remove my validation from BC4J to my struts actions.
    But because new values aren't recorded in the entity after a back button I also have to manually set the bindings for each screen field in my struts action.
    I'm not an expert in the adf / struts frame work so I could just be missing something.
    On a related point(assuming that i use entity validation) the following happens.
    On my first screen I enter valid data , and then move to my second. I leave the screen in an invalid date before pressing the browsers back button. I then can't get past the first screen as it is still validating the errors in the second screen. Shay mention that I should be using a cancel button in the second screen to navigate back to the first. This is a public user application and I know that the back button will be pressed(its not good web design to remove/disable it anyway).
    Any suggestions.
    It seems that I can't get the ADF framework to work well with wizards and perhaps its best to just use struts for the validation and at the end of the wizard just call a database package to do the DML ?
    Sorry but one last point - to do with the refresh button.
    All my wizards use page forwards to move between screens and I know this can cause oddities with a refresh. What I have noticed is that when even refreshing the first page of my wizard(after leaving it in an invalid state) the screen doesn't change the errors are still there. I would have though the refresh would request a new refreshed page without the struts action errors. I even noticed that a refresh can cause a struts action related to a submit button to re-fire ? Why does this happen as it can cause a big mess.
    Even re-entering the url in the same browser window doesn't cause the screen to properly refresh. The initializeModelForPage steps also do not fire when a refresh happens. I did notice that if I went to a different website and then re-entered the url that the page displayed more as expected and I think the initializeModelForPage step ran.
    I'm sure alot of this is due to the fact that I don't really understand the framework, and thus would be grateful if you could explain why all the above happens. Is it what you would expect to happen ?
    Many Thanks for your time and assistance.
    Richard

  • HT2531 Spotlight lists items and shows preview images.  BUT what about showing the location address of an item in my computer. Especially important if I've put the item in the wrong folder and what to locate it without multi-steps. iMac OS 10.5 was more u

    Spotlight lists items and shows preview images.  BUT what about showing the path/location address of an item in my computer.
    Especially important if I've put the item in the wrong folder and what to locate it without multi-steps. iMac OS X 10.5 was more useful.
    Old OSX Spotlight function automatically displayed path/location within the machine:  e.g. desktop/folder/sub-folder/item.
    Can I make Spotlight show the path?

    Press option-command and the path is displayed at the bottom of the little preview window.  Press command-return and the enclosing folder opens. 

Maybe you are looking for