Issue with BUS2105 events

Hi,
I have Custom workflow and Business Object for BUS2105. It is working fine and generating and email notification for next user to take a decision on the PR. Now, the issue is when a user cancel the one release steps two events are getting triggered (RELEASESTEPCREATED & SIGNIFICANTLYCHANGED). To handle this i have used these two events (RELEASESTEPCREATED & SIGNIFICANTLYCHANGED) in Basic data of the workflow. And I have used the Fork to handle these events 1 to run the normal business logic and other to send email notification to notify the PR is step is cancelled.  In this email notify I have used the wait step to wait for the event SIGNIFICANTLYCHANGED. But the workflow is just executing the business process and workflow is completed.
Could you please let me know the how to handle this situation.
Thanks,
Sriram POnna.

Hello,
Define SIGNIFICANTLYCHANGED as a terminating event for your workflow.
regards
Rick Bakker
hanabi technology

Similar Messages

  • Issue with xfa.event.change in XFA 3.3

    HI all
    I've found an issue with the way that XFA 3.3 processes the script below on a change event when a user paste's more than 1 character to a textfield.
    var sChange = xfa.event.change;
    if((sChange.length>1)){
        app.alert("Bad User\nCopy and paste has been disabled for this field");
        //discard the change
        xfa.event.change = "";
    in XFA 3.0 the alert is sent and change is removed, in XFA 3.3 the alert is sent but the change persists.
    Any Ideas?

    Hi Mark,
    Unfortunately thats not possible as I'm using Flash Fields with data being passed between the PDF and the Flex app which only works in XFA3.3, let me know when its fixed.
    Kind Regards
    Kevin Mortimer
    Solutions Archtect
    Avoka

  • Issue with applying Event Action filters

    Dear friends,
    A general question on Event Action filters. There is a signature with sig ID 6257.
    The following is the event action filter configuration:
    service event-action-rules rules0
    filters edit DHCP
    signature-id-range 6257
    subsignature-id-range 0
    attacker-address-range 172.20.20.10,172.20.20.11
    actions-to-remove produce-alert
    filter-item-status Enabled
    stop-on-match True
    os-relevance not-relevant
    exit
    Even though a valid DHCP offer is being given by the DHCP server, this alert is getting fired.
    We have even excluded the IP's of the DHCP Servers - 172.20.20.10 and 172.20.20.11 from the Attacker Address range parameter in the signature but still this alert gets fired.
    evIdsAlert: eventId=1204853641442197329 vendor=Cisco severity=low
    originator:
    hostId: IDSM2Core1
    appName: sensorApp
    appInstanceId: 592
    time: April 7, 2008 5:46:48 AM UTC offset=180 timeZone=1
    signature: description=DHCP Client DoS id=6257 version=S316
    subsigId: 0
    sigDetails: Server Offered a Malicious IP Address
    marsCategory: DoS/Host
    interfaceGroup: vs0
    vlan: 200
    participants:
    attacker:
    addr: 172.20.20.10 locality=OUT
    port: 0
    target:
    addr: 10.1.1.78 locality=OUT
    port: 0
    os: idSource=unknown type=unknown relevance=unknown
    summary: 4 final=true initialAlert=1204853641442197267 summaryType=Regular
    alertDetails: Regular Summary: 4 events this interval ;
    riskRatingValue: 25 targetValueRating=medium
    threatRatingValue: 25
    interface: ge0_7
    protocol: udp
    Looking forward to your kind help and advise on this.
    Thanks a lot
    Gautam

    Some things to check:
    1) Is the filter in the active list? Filters can be enabled or disabled, but they can also be active ro inactive. You've only show a part of your configuration so I can't tell if the filter is part of the active list.
    2) Are there actions other than produce-alert for the signature? Or is an event action override adding other actions?
    Produce-alert is not the only action that can cause an alert to be generated. The produce-verbose-alert, request-snmp-trap, log-attacker-packets, log-victim-packet, and log-pair-packets will also cause alerts to be generated. Modify the filter to also remove these actions.
    3) The alert you've shown is a Summary Alert. There may be an issue with Summarization and the Filters. Try modifying the signature to set it to FireAll with no summarization.
    4) If you have multiple filters then check the order of the filters. If the event is matching an earlier filter where the stop-on-match is set to True, then it will not check the event against this filter. Either move this filter up higher in the filter list, or change earlier filters to be "stop-on-match false".
    5) Also check to see if you are running the latest 5.1(7) or 6.0(4) Service pack. If running earlier 5.1 or 6.0 versions you might be hitting a bug that could have already been fixed.
    If none of the above help, then contact the TAC. It could be that you may have foung a bug that the sensor development team is unaware of.
    To help in identifying the problem take a packet capture of the packets from 172.20.20.10 for several minutes around the time when the sensor is generating these alerts.
    This way the team can both check if the signature is firing correctly, and if the filters are working correctly for that signature.

  • Issue with Terminating Event - Reg

    hi Gurus,
    This might be a simple issue, but am not getting hold on a simple solution for my issue.
    I'm working on ECC 6.0.
    I have a custom workflow in which I have step1(A dialog task - Asynch) with a terminating event "COMPLETED" and then step 2 (A background task). once step1 is completed by user A, i am sending this WIACTUAL_AGENT to the step 2 in modifying some custom table data.
    My issue is if user A finished the task(step 1) manually, then also the Term. event COMPLETED is getting triggered and hence the work item in user A's Inbox is disappearing. And then it's picking up user A as WIACTUAL_AGENT and sending to step 2. But, i need to distinguish or some how find out if the Termin. event occurred thru' execution of the workitem or manually performing the job. I looked into the workflow log for both the cases, and i don't find any clue with which i can differentiate that the Termin. event occurred thru' executing witem Vs. performing manually.
    Anybody has any idea on how to find this out. Coz, depending on whether the action is done manually or thru' witem, i 'll be modifying the custom table data accordingly. Currently, for both the cases, when the Term. event occurs, the WIACTUAL_AGENT is same user A and hence it always is treating that the action is done thru' witem only, even though its done manually. This is because, when executed manually also, the step1 witem is ending with container element WIACTUAL_AGENT filled with user A and hence its proceeding with background task in step 2.
    Any thoughts on how to tackle this issue. Your suggestions / input is really appreciated.
    Thank you in advance. Pl let m

    Hi Venu,
    I have quickly created a sample workflow in my system.
    Here is what I did:
    1) Workflow will tigger to my inbox whenever Change master is created.
    2) Created a custom task with object type ECM and method 'EDIT' with termination event 'Deleted'.
    3) created fork step type with 2 branches and necessary branches 01.
    4) one branch will execute  the task created above
    5) another branch will wait for the event "Deleted" of ECM
    6) I have created a container element flag ( of type XFELD ).
    7) In the wait event binding I am passing X to worklfow container element flag.
    7) I have created change master from transaction CC01.
    8) Received the worklfow and deleted the document via worklfow.
    9) I checked the worklfow log and found that the flag container element is not populated
    10) I have created one more change master from transaction CC01.
    11) Received the worklfow but deleted the document outside the workflow.
    12) I checked the worklfow log and found that the flag container element is populated with 'X' this time.
    I think you can use that flag to differntiate whether the transaction was done outside worklfow or within the workflow.
    Hope this helps.
    Thanks.
    Krishna.

  • How can I get around Javascipt issue with keyboard events?

    Javascript issue: keydown, keypress, keyup events cause quick search to initiate with the division key on the keypad and slash key on the keyboard. I am trying to program a graphic representation of a 10 key pad and the division (/) sign is problematic for roll over and processing based on key events. How can I get around this? further notes: Safari also has problems with key events and the division key(s) but no search function connected. Thankyou for time and attention

    A good place to ask questions and advice about web development is at the mozillaZine Web Development/Standards Evangelism forum.<br />
    The helpers at that forum are more knowledgeable about web development issues.<br />
    You need to register at the mozillaZine forum site in order to post at that forum.<br />
    See http://forums.mozillazine.org/viewforum.php?f=25

  • Having issue with Syncing Events from Iphoto to Apple Tv

    All of a sudden I have multiple events of the same title but different amount of photos when i try to sync my photos to apple tv.  Iphoto is fine, nothing is changed but when I go over to itunes to sync I see like 10 different Events with same name. EVERYTHING is multiplied but there is no rhyme or reason to it.  !!!!!  Apple has done some system/app updates but they are so frequent that I don't ever pay attention to what is being updated I just click to allow the process.  I believe this occurred after one of the updates,  I have 2 Apple TV's AT1 and AT2.  AT2 is a nightmare to begin with because it was constantly getting kicked off the network but now that isn't the issue.  Now it isn't showing current syncs which doesn't make sense because I thought this one streamed everything directly.  Either way---APPLE TV is having issues and I can't get my EVENTS straightened out,  HELP!!!!!

    I've also noticed this started happening... Its something with iTunes, because both my old Apple TV's and my iPhone and iPad all show multiple events for the same event... Lots of them! So many its hard to tell what to sync now. When I click on any of my devices photos tab in iTunes they are all exactly the same. Not sure how to fix it...

  • Issues with click events and nested ellipse objects

    I thought by now, I'd have this, but after a number of attempts, nothing is working.
    Got a series of circular objects nested inside drawn using the ellipse tool in An of a sumbol called 'box' Click event in each symbol. When clicked, symbol should either hide or change CSS attributes or anything really. Tried a bunch of examples and there's four variations in my .zip file. None of them work and some are ones I've used previously. So I don't get why this isn't working and what the correct code should be. Tried getSymbol, Stage and Composition. None of them worked. So what does?

    Hi, ladobeugm-
    Try:
    sym.$("c1").hide();
    This is the same as:
    sym.getSymbol("c1").getSymbolElement().hide();
    sym.getStage().getComposition().getSymbol("box").$("c1").hide();
    sym.getStage().getComposition().getSymbol("box").getSymbol("c1").getSymbolElement().hide() ;
    Hope that helps!
    -Elaine

  • Events Issues with Description

    Morning.
    I have to report an issue with the "events" section of iPhoto. The text under the images is both unclear and overlapping the events thumbnails. The desciption isnt log either.
    Has anyone else managed to unravel this issue?
    Any feedback appreciated?

    To edit event titles correctly make sure you have HelveticaNeue installed on your system. HelveticaNeue.dfont is what worked for me. Restart iPhoto after installing the font.

  • Issue with the pVal.BeforeAction in Item_Pressed event

    Hi all,
    I am facing an issue with the <b>pVal.BeforeAction</b> in the <b>Item Pressed event</b>.
    In delivery notes, When I press the Add button, i am getting the control, which is passing through both of the if blocks [<b>if (pval.BeforeAction=True)</b>block and <b> if(pVal.BeforeAction=False)</b>].
    But
    When I try the delivery using <b>Pick and Pack Manager</b> form with in the Inventory Menu, I am getting the same Delivery form in Add Mode. When I click the Add button in the form, the control  is passing through the <b>if(pCal.BeforeAction=true)</b> block successfully, but after that, the form closes and it never comes to the <b>if(pVal.BeforeAction=false)</b> block.
    I need to run the codes, what i have written in the second if block, in this case also.
    Is it possible?
    Please help me to solve this issues.

    Hi,
    It's a known bug. As Rasmus said try the SBO2005A SP01 FormDataAdd Event.
    Regards,
    Ian

  • Issue with Event.EXITING in AIR 2.5

    I am facing an issue with the Exiting event in AIR when creating my application using Flash builder. The exiting event does not function on windows shutdown... howevere if I click the 'X' button to exit the app it works perfectly fine....is there a bug in the exiting event...
    <?xml version="1.0" encoding="utf-8"?>
    <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
                           xmlns:s="library://ns.adobe.com/flex/spark"
                           xmlns:mx="library://ns.adobe.com/flex/mx"
                           creationComplete="init()"
                           styleName="plain" width="100%" height="100%">
        <fx:Script>
            <![CDATA[
                import flash.events.Event;
                import mx.controls.Alert;
                protected function init():void
                    trace("handle exit");
                    NativeApplication.nativeApplication.addEventListener(Event.EXITING,handleExiting);
                public function handleExiting(e:Event):void
                        Alert.show("Exit!");
                        trace("Handle Exit!!");
                        var f:File = File.desktopDirectory;
                        f = f.resolvePath("air-exit-test.txt");
                        var stream:FileStream = new FileStream();
                        stream.open(f,FileMode.WRITE);
                        stream.writeUTFBytes(ta.text);
                        stream.close();
            ]]>
        </fx:Script>
        <s:Panel width="100%" height="100%" title="Exit Event on Shutdown">
            <s:HGroup width="95%" left="10" top="10">
                <s:Label text="Enter text to save upon shutdown:"/>
                <s:TextArea id="ta" height="200"/>
                <s:Label width="95%" verticalAlign="justify" color="#323232" horizontalCenter="0" bottom="20"
                         text="The Exiting event can now be handled upon the user shutting down the OS giving you a chance to handle any unsaved data in your application upon shutdown. If you run this code in an AIR application and shutdown your OS, it will still save the data that you have entered in Text Area to air-exit-test.txt in your Desktop directory."/>
            </s:HGroup>
        </s:Panel>
    </s:WindowedApplication>

    This bug has not been fixed as of AIR 2.7, I don't have a date/version I can give you when this will be addressed. 
    However, I would recommend adding a new bug to bugbase.adobe.com and include the sample project and a reference to our internal bug number.  The public bug will then be linked to our internal bug and you'll be able to see updates as the state and status are changed.  If you post back with the public bug URL, others effected can cast their votes and add notes as well.
    Thanks,
    Chris

  • Issue with Events

    All
    I am attempting to build a simple orchestration that is kicked off via the TaskCreated event. As of now, I don't care about using a filter - I just want the orchestration to run any time the TaskCreated event is fired.
    I've created such an orchestration. First I placed a start point TaskCreated event on the canvas. I followed this with a SetValue operation that assigns some random sentence to a String variable. I've saved and activated this service.
    Now, when I go into Workspace and launch a workflow, I can see in my log that the TaskCreated event seems to be firing properly but that something is definitely wrong. The following errors can be found in the server.log:
    2009-02-20 17:21:55,491 ERROR [org.jboss.ejb.plugins.LogInterceptor] RuntimeException in method: public abstract java.lang.Object com.adobe.idp.dsc.transaction.impl.ejb.adapter.EjbTransactionCMTAdapterLocal.doSupports(c om.adobe.idp.dsc.transaction.TransactionDefinition,com.adobe.idp.dsc.transaction.Transacti onCallback) throws com.adobe.idp.dsc.DSCException:
    com.adobe.workflow.template.document.TemplateNodeNotFoundException: Template object: STRT_ER1235167537085 not found.
    I have Recording and Playback set for my orchestration with the event and a new instance of this orchestration is being fired whenever I create a task but it can't seem to actually make it past the event start point because of the above error.
    Any ideas?

    I am also experiencing many errors that are filling up the log file and making it difficult to find what I am looking for in the log.  The culprit is:
    2010-11-29 11:21:21,151 INFO (STDOUT:206) - 2010-11-29 11:21:21,150 ERROR(org.jboss.ejb.plugins.jms.JMSContainerInvoker:1462) - Exception in JMSCI message listener
    javax.ejb.TransactionRolledbackLocalException: RuntimeException
    at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:262)
    at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
    at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
    at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:109)
    at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
    at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:399)
    at org.jboss.ejb.Container.invoke(Container.java:960)
    at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:1139)
    at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerI nvoker.java:1452)
    at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:266)
    at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:891 )
    at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:170)
    at org.jboss.mq.SpySession.run(SpySession.java:323)
    at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:194)
    at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:761)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: javax.ejb.EJBException: RuntimeException
    at com.adobe.workflow.engine.ProcessCommandControllerBean.doOnMessage(ProcessCommandControll erBean.java:206)
    at com.adobe.workflow.engine.ProcessCommandControllerBean.onMessage(ProcessCommandController Bean.java:99)
    at sun.reflect.GeneratedMethodAccessor352.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:592)
    at org.jboss.invocation.Invocation.performCall(Invocation.java:359)
    at org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDrivenContainer.j ava:492)
    at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionI nterceptor.java:158)
    at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterc eptor.java:116)
    at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
    ... 15 more
    Caused by: javax.ejb.EJBException: RuntimeException
    at org.jboss.ejb.plugins.LogInterceptor.handleException(LogInterceptor.java:417)
    at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:209)
    at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor. java:138)
    at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648)
    at org.jboss.ejb.Container.invoke(Container.java:960)
    at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:430)
    at org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSessionProxy.java:103)
    at $Proxy214.asyncTerminateActionCommand(Unknown Source)
    at com.adobe.workflow.engine.ProcessCommandControllerBean.doOnMessage(ProcessCommandControll erBean.java:177)
    ... 24 more
    Caused by: com.adobe.workflow.template.document.TemplateNodeNotFoundException: Template object: A1284756038469 not found.
    at com.adobe.workflow.engine.ProcessEngineBMTBean.asyncTerminateActionCommand(ProcessEngineB MTBean.java:1028)
    at sun.reflect.GeneratedMethodAccessor354.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:592)
    at org.jboss.invocation.Invocation.performCall(Invocation.java:359)
    at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionConta iner.java:237)
    at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionI nterceptor.java:158)
    at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)
    at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
    at org.jboss.ejb.plugins.AbstractTxInterceptorBMT.invokeNext(AbstractTxInterceptorBMT.java:1 73)
    at org.jboss.ejb.plugins.TxInterceptorBMT.invoke(TxInterceptorBMT.java:77)
    at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstance Interceptor.java:169)
    at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168)
    at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
    ... 31 more
    Caused by: com.adobe.workflow.template.document.TemplateNodeNotFoundException: Template object: A1284756038469 not found.
    at com.adobe.workflow.template.document.DefaultAbstractTemplateDocument.getTemplateNodeById( DefaultAbstractTemplateDocument.java:84)
    at com.adobe.workflow.engine.ProcessEngineBMTBean.asyncTerminateActionCommand(ProcessEngineB MTBean.java:998)
    ... 44 more
    Has anyone found a solution beyond scrapping (I am assuming that is intent of the reference to scraping) the database.  We don't have that kind of time now.
    For your issue with reporting assignments in the log file, have you tried to read the adobe.tb_assignment joined with the adobe.EDCPRINCIPALENTITY tables for that information?  LiveCycle is tracking and storing that information already.

  • Good Morning, I am having issue downloading ebook. Getting message "Adobe digital edition 4.0 has stopped working" with problem event name : APPCRASH. Any ideas how to fix this?

    Good Morning, I am having issue downloading ebook. Getting message "Adobe digital edition 4.0 has stopped working" with problem event name : APPCRASH. Any ideas how to fix this?

    Do you have the most  current dirver for the printer?

  • I have Calendar v 7.0 and Entourage 12.3.6 2008 on OS X 10.9.2. I cannot import Entourage events into Calendar - this was never an issue with iCal. Whats happened and how can I import details into Calendar or do I need iCal back?

    I have Calendar v 7.0 and Entourage 12.3.6 2008 on OS X 10.9.2. I cannot import Entourage events into Calendar - this was never an issue with iCal. Whats happened and how can I import details into Calendar or do I need iCal back?

    adamboettiger wrote:
    Sophos and MacKeeper
    There are many reported problems with both these programs.
    Run through this list of fixes in order, will tune you right up.
    They are in order for a reason.
    ..Step by Step to fix your Mac

  • Issue with event struct reading controls

    Hello all.
    I'm having issue reading my control clusters after triggering an event. Here is what I was trying to do:
    1) I have a control with several booleans
    2) A mouse up on the cluster triggers an event.
    3) Although it's not pictured, I was using the event to queue up a state in the state machine that the cluster is wired through.
    4) When I read these controls in the cluster, the data isn't getting through.
    I then decided to try and read the values within the event structure. When I created the property node for the 'Speed' cluster, somehow it created as a variant. I don't understand this, but after converting the data, this works.
    You'll also see in the picture a property node for the 'Carrier' cluster. This one does not work. Why does the variant work, yet the other one does not? The clusters and controls are exactly the same, save one less button.
    So I tried to get the property node for the 'Carrier' cluster created as a variant, but can't figure out how.
    I know that with an event structure, you're supposed to put the control in the event struct, but I can't do that in this case, and I'm reading a cluster with a cluster that is contained in the state machine.
    I'm sure the answer is here somewhere. I did a couple searches, but didn't see an obvious solution right off.
    Thanks,
    Jim
    Attachments:
    presets issue - event struct.PNG ‏21 KB
    presets issue - front panel.PNG ‏22 KB
    presets issue - unbundle.PNG ‏5 KB

    I think I've caused some confusion. Originally, my event structure contained only the enqueue element telling the state machine to process the cluster. per attached picture. It was when I found that the values weren't getting passed into the state machine that I attemped to read the control from within the event structure using the property node as a workaround.
    My goal would be to use the event structure to enqueue the state in which the controls would be read, as it is in the 2nd attached picture.
    Attachments:
    presets issue - event struct write presets.PNG ‏14 KB
    presets issue - event and state.PNG ‏88 KB

  • I am having multiple issues with syncing my iphone calendar and outlook There are often 1 hour time differences in the entries on the 2 devices and sometimes events that have been amended are not updated on iphone I mostly enter items on my laptop

    I am having multiple issues with syncing my iphone calendar and outlook calendar on my laptop
    I mostly enter the original items on my laptop
    There are often 1 hour time differences in the entries on the 2 devices and sometimes events that have been amended are not updated on iphone

    This sounds like an error in Time Zone support. The time zone needs to be the same in Outlook as well as the phone.

Maybe you are looking for