[SOLVED] Current line of flow losses - use different iterators

Hello.

I use JDeveloper 11.1.1.7.0 and I have this problem.

I will try to explain the best I can, because I can not download images.

I have a flow. The first view, named mainTable.jspx, has a table with the current data and new data button.

Each row in the table has a setCurrentRowWithKey link to Edit the selected data. With this link, the current row is selected.

  • Link to modify the action is Edit stream, which navegates to editData.jspx
  • New data button action is new stream, which navegates to the create operation, then to editData.jspx with empty fields.

The behavior of editData.jspx 's right, so there fields empty with the new stream or filled with fields with flow of change .

EditData.jspx I have a custom button check with action. I'm doing some checking, so that if there is an error, I have an error with FacesContext.addMessage. This button makes no delete, Commit or Rollback operation.

Well, my question is with the following steps:

  1. Go to mainTable.jspx
  2. Click the Edit link in a row
  3. Go to editData.jspx
  4. Click on the check button
  5. One check is not ok, then an error message is displayed. Now, this happens:
    • Deletes the current selection data, and the previous line of data in the table appears in editData.jspx
    • When I click the back button to return to the table of mainTable.jspx, the initial line selected in step 2 is not indicated in the table.
    • In the database, all the data exist, even data ghosts .

I don't know what is happening. Is there no delete, Commit or Rollback operation in the issue button.

How can I fix? Is there something I'm not directly into traffic?

Any help would be much appreciated.

Thank you

* EDIT: well, as suggested by Timo, executeQuery lost current line.

My problem is produced because a misuse of iterators.

In some controls of my explanation, some steps get current line from an iterator and reuse the same iterator to get another set of lines by executeQuery, so the current line has been lost and it involved an inconsistent state.

The solution is to create another different iterator, since the same point of view, but another iterator with a different name. Thus, the main iterator maintains the current line, and other additional operationes, queries, etc. are made by different iterator.

It will be useful. Concerning

Well, if you are using the same iterator to access different data, it is expected that the current line changes. The secone selection changes the current line. What you can do is to use a secondary set of lines to get to the other row or save the current line before select you the ranks, to make your checks and set the line current when you're done.

Timo

Tags: Java

Similar Questions

  • Change the value (current line) of multicolumn listbox using the mouse

    Salvation is a way to change the value (current line) of multicolumn listbox using the mouse?

    Here's a way to do it.

  • Satellite Pro M10 - horizontal lines on the screen in different areas

    Hi all

    I hope someone can help.
    My Satellite Pro M10 seems to suffer a display problem where I have horizontal lines on the screen in different areas.
    It would be well for 10 minutes and when the laptop seems to warm up this problem begins, then shortly after
    The laptop would crash and enter in a resolution of 800 x 600 16 colors or sometimes freeze.

    Graphic drivers have been resettled, and even a new installation of Windows XP from the recovery CD does not help.
    A reboot doesn't solve what the same thing happens again and after one minute of use, so I thought it might be a video or cooling problem.
    I changed the video card I had a spare part of my last motherboard hoping this would solve the problems, but the problem persists.
    Perhaps a cooling problem? Or problems of motherboard?
    The motherboard has been replaced twice, hoping that this isn't another mobo problem.

    Any advice would be great.

    Thank you.

    Hello

    I m not 100% sure but to me it looks a bit like an overheating problem
    Maybe the graphics card may not be properly cooled after a certain period of time and that's why these strange horizontal lines appear on the screen.

    I wonder how you were able to replace the graphics chip on the motherboard?  :|
    If I m not wrong not the chip is fixed and the replacement is very easy and difficult

    It of always difficult to say what's maybe wrong without running several diagnostic tests in most cases this problem may be related to the defective chip or motherboard and so the following should be checked

    Sorry, but that's all I can suggest.

    Best regards from my friend

  • How to extract the same song, several times using different bit rates or formats and store all the digital music files in WMP 12 default on the same HDD music library

    Using Windows Media Player 12 (w/under Windows 7), "can I ripping the same song, several times, using different bitrates & and/or formats and store all the digital music files in the music library by default WMP - 12, on the same hard drive?

    1.) #1 goal: tear up the same song repeatedly, w / "different rates" as a WMA file.

    2.) #2 goal: tear up the same song repeatedly, w / "different rates" as an mp3 file.

    3.) #3 objective: NOT to each subsequent copy (version) of the song, deleted & and/or replaced by the previous version of the song [even].

    4.) question Bottom Line Up Front--> is Windows Media Player 12 (included with the Windows 7 operating system) are able to achieve '#1 objectives; #2; & #3 above?

    5.) details/example: I want to tear the piece "Maria Maria by Carlos Santana" to my laptop as a Windows Media Audio [WMA] file.  In addition, I would like to rip the song 'Maria Maria' three several times with 3 different bitrates in format WMA; and, as an MP3 file.  Therefore, my final result wished (after the extraction process), will take place the four 4 audio files split up as follows: (a) 'Maria Maria by Carlos Santana'--> Format: file WMA; Ripped @128 Kbps bitrate.  (b) ' Maria Maria by Carlos Santana'--> Format: file WMA; Ripped to the "Variable bit rate; (c) ' Maria Maria by Carlos Santana'--> Format: file WMA; Ripped commissioning "Lossless." and (d). 'Maria Maria by Carlos Santana'--> Format: MP3 file. Ripped @256 Kbps bitrate.

    6.) my preference: I do NOT want to rename the file (s). {for example, 'Maria Maria by Carlos Santana' renamed/changed for--> "Maria_Maria_by_Carlos_Santana_128kbps.wma",...} 'Maria_Maria_by_Carlos_Santana_256kbps.mp3 '; etc.}.  In addition, I am not concerned about the additional disk space that will be consumed after multiple copies of the same song with different speeds of transmission and different formats.

    7.) my experience w / Windows Media Player 10 (w / the operating system of Windows XP): using WMP - 10, my goal (s) described above is not a problem at all.  Simply insert the CD purchased by Carlos Santana, containing the song "Maria Maria"... Select the desired Format (WMA; WMA VBR; WMA Lossless; or mp3)... Select the desired flow rate (WMA... 128/160/192kbps_mp3: 128/192/256/320 kbit / s; etc.) ; and click on the "RIP" button to start the copy process on the hard disk of of Carlos Santana's "Maria Maria".  This process (w / WMP-10) would result in having the same song, copied on the hard disk, with levels of quality different "audio" (via the different bit rate settings); regardless of the format (MP3/WMA) which was chosen.

    8.) my experience w / Windows Media Player 11 (w / the operating system of Windows XP): using WMP 11, to described above of my objective (s) could not be reached e-a-s-i-l-y.  The problem with WMP - 11 - in short - which was after the desired selection "Rip settings" tab 'Options' of WMP - 11 (i.e., Format & Bit Rate) and heart-wrenching piece wanted to {'Maria Maria by Carlos Santana'} a moment later/second, WMP11 remove / would crush the previous version of the song [even].  Therefore, the program would NOT allow the user to have multiple copies of the same song on the hard drive of the PC; which obviously restricts a user to have the freedom to choose what level of quality digital audio, they prefer to listen to.

    9.) the ability to have multiple copies [at my descretion] of the same song (on my hard drive) with different bitrates and formats in my music library, is important for me because it has a direct impact on "how I enjoy MY music ', and in what form (audio quality), I choose to listen to my music.  {For example, when I exercise and listening to my camera, digital audio player (Zune), a song ('Maria Maria by Carlos Santana'), will usually be torn off at a lower rate due to the unit of capacity reduction of storage - compared to the storage capacity of notebook PCs/desktop/external hard drives PC.}  However, when I listen to my music through my home cinema or entertainment system (which contains a hard disk dedicated with a large storage capacity), I prefer to load the entertainment system with digital music files that have been ripped to WMA... with the bit being rate-setting is for the: settings "WMA Variable Bit Rate" or "WMA Lossless.

    10.) there you have it.  This is my first post in this forum.  I hope that [detailed] explanations, will be sufficient to encourage these "with knowledge & the hands on experience" using Windows Media Player 12 (as well as with WMP-10/WMP-11 respectively), by providing a [step] "How-to"... "solution to my situation.  It would be highly appreciated.  I'm looking forward-'the solution' - and relevant suggestions & and/or community feedback regarding my request for assistance.

    * Thank 'All' (that would) in advance... For your time & Assistance *.

    Certainly, you can, but I would say that they be in different folders, for your convenience as well as Windows.  You can create one for each debit/format, then you will know who is who.

    In Windows Media Player, on the toolbar, select Tools, Options, Rip, and then select the flow you want first, rip music, then change the folder (higher on the same tab) and rip again... and so on and so forth.

    When you are at home on your home theater, you can use the 320 bitrate folder, when you transfer to the Zune, you can use one of the lower bitrate files (although I personally tear it up to 320 and let the Zune reduce as he wants, even with the iPhone via iTunes, hard drive space is not really a problem here) my server has several hard drives, and I can always add more if and when space is low!

  • XML editor burst using different regional settings

    Hello

    I have a report that presents the numeric fields in different format mask if I select different model every time when sending request. A model of the file language is English and its territory is to the United States. Language of the other template file is German and his Germany territory. English model watch number like 1,500.94 (comma ',' as the digit grouping symbol and '. ' period as decimal symbol) which is very good. German model watch 1.500,94 ('. ' period as symbol and the comma "," as decimal digit grouping symbol). So everything is great for me until I use XML to burst. Even though I specified the German models in the breaking control file the output pdf file has a numeric character as English model. (for example 1,500.94).

    Example of breaking control file

    <? XML version = "1.0" encoding = "UTF-8"? >

    " < = xmlns:xapi xapi:requestset ' http://xmlns.Oracle.com/OXP/XAPI "type ="break"> "

    < select xapi:request = "/" >

    < xapi:delivery >

    < xapi:filesystem id = "file1" output = "${DEST_PATH} .pdf" / >

    < / xapi:delivery >

    < xapi:document - output type = 'pdf' flow = "file1" >

    < xapi:template type = "rtf" location = 'xdo://XXCO. XXCO_INVOICE. .de/ ? getSource = true"filter =" ">--> it gives same output with fr. WE"

    < / xapi:template >

    < / xapi:document >

    < / xapi:request >

    < / xapi:requestset >

    Someone at - it an idea what's going on when to generate PDF files again once the report is completed?  Could you please help on this issue? I will be grateful if I solve this problem. Thanks in advance.

    Kind regards

    Ugur

    Hello

    I solved this problem by using in each body of numbers instead of using different model with the Danish language file. Burst also correctly the number of shows I've wanted to be after this change. So don't bother using different template file to show the grouping of different numbers and the decimal symbol. It is very simple in this way except total page and reported totals. I choose the option number separators = "," in xdofo:show - transport - pass tags.

  • Web service: unable to solve current dialog

    I'm testing a simple RESTful web service built with Labview.  I tried running the examples (address book, weather station).  When I get to the step of the deployment of the web service, I get the dialogue of conflict resolution with the useless message 'unable to solve current dialogue. "

    I thought maybe it was a problem with an incompatibilities (for example if the example was built for an earlier version of Labview).  I built my own very simple VI containing a single indicator.  I thought it was also a good idea to avoid shared variables.  I always get the same error dialog box when you try to deploy the application.

    I enclose my simple test project where this is useful.

    There is a known issue in LV 2011 with this string is empty. If this is the case, telling us that the Web of LabVIEW server is running, but the deployment Web Service LV is not. Not sure why this would be the case on your system. One thing you can look at to help refine, it's your Windows event logs.

    Assuming that Win7 or Vista--> in Run type eventvwr.msc.  This will shoot to the top of the event viewer. Select "application" in the Windows logs. You should see a bunch of caveats and erros in the dialog box.  Try to deploy your VI with the veiwer upwards and see if any new error are reported. The Source of the error should be LabVIEW, and I expect to see the error http 400 or 500.

    Apart from LV Dev Suite 2011, do you have something else installed on your system? Maybe an older version of LV? What OS are you on?

  • I get the following error when I am trying to connect to a network by using different credentials. 1219 system error has occurred.

    Multiple connections to a server or resource shared by the same user

    I get the following error when I am trying to connect to a network by using different credentials.

    1219 system error has occurred.

    Multiple connections to a server or a shared resource by the same user, using more than one user name, are not allowed. Disconnect all previous connections to the server or shared resource and try again...

    I don't want to use the IP address. and I don't want to delete all connections using the net use * / delete command.

    Kindly give me the solution as I am now frustrated with this issue.

    Kind regards

    Sajid

    Hello

    ·         Have you tried to access the files that were on Skydrive?

    ·         Did someone else uses your computer?

    From now on, I suggest you try the steps mentioned in the article below.

    Error message when you use user credentials to connect to a network from a Windows computer: "the specified network folder is currently mapped using a different username and password.

    http://support.Microsoft.com/kb/938120

    You can also ask your question in the forum of the Tech Net Windows Server using best.

    http://social.technet.Microsoft.com/forums/en/category/WindowsServer

    Hope this information is helpful and let me know if you need additional assistance.

  • Add a network printer by using different credentials in Windows Vista Home Premium

    Hello

    I am trying to add a shared network printer (from server) of a computer running Windows Vista Edition Home Premium. The user must authenticate by using different credentials, but I can't find a way to force Vista to connect with different credentials.
    In Windows 7, it's easy, I just add an entry in the credentials manager and everything works, I can connect to the server, access to all of the actions that the user has access to and add the printer.
    In Windows Vista, I can't do that. "" If I try to add a network of credentials in the "stored user names and passwords", I can only add a "a Web site or program identification information. "A credential to Windows logon" is greyed out.
    When I try to access the share in Windows Explorer, I get an access denied. Instead of having Windows pop up a dialog to authenticate, he tries just to the help of the currently connected user credentails, which isn't what I want.
    If I try to add the printer using the Add Printer Wizard-> add a network printer, when I enter the path to the printer, I also have an access denied instead of bring up a Windows authentication dialog box.
    Any help is greatly appreciated!
    Thank you!

    Hello

    The question you have posted is related to the area and would be better suited to the TechNet community. Please visit the link below to find a community that will provide the best support.
    http://social.technet.Microsoft.com/forums/en-us/category/w7itpro

  • Get the current line in an iterator

    Hello

    Using jdeveloper 11.1.2.4.0.

    I used af:iterator to browse the lines in my af:form. Here's the source of my jspx page.

    < af:iterator id = "i1" value = "#{bindings." Var MdBhItpProblemView1.collectionModel}"="row ".

    varStatus = 'vs' >

    < af:panelLabelAndMessage label = "Problem statement" id = "plam1" >

    < af:inputText id = "it15" value = "#{rank." ProblemStatement} "/ >"

    < / af:panelLabelAndMessage >

    < af:panelLabelAndMessage label = "Goal" id = "plam2" >

    < af:inputText id = "tirer16" value = "#{rank." Goal} "/ >"

    < / af:panelLabelAndMessage >

    < af:panelLabelAndMessage label = 'Indicators' id = 'plam3' >

    < af:inputText id = "sortent17" value = "#{rank." OutcomeMeasure} "/ >"

    < / af:panelLabelAndMessage >

    < af:panelLabelAndMessage label = 'Objective' id = 'plam4' >

    < af:inputText id = "it18" value = "#{rank." Goal} "/ >"

    < / af:panelLabelAndMessage >

    < af:panelLabelAndMessage label = 'Intervention' id = 'plam5' >

    < af:inputText id = "it19" value = "#{rank." Intervention} "/ >"

    < / af:panelLabelAndMessage >

    < af:panelGroupLayout layout = "horizontal" id = "pgl1" >

    < af:panelLabelAndMessage label = "Date deadline" id = "plam6" >

    < af:inputDate value = "#{rank." Date_cible}"id ="id_1"/ >

    < / af:panelLabelAndMessage >

    < af:panelLabelAndMessage label = 'Date of the resolution' id = 'plam7' >

    < af:inputDate value = "#{rank." ResolutionDate}"id ="id_5"/ >

    < / af:panelLabelAndMessage >

    < af:commandButton actionListener = "#{bindings." Delete.Execute text}"="remove. "

    Disabled = "#{!}" bindings. Delete.Enabled}"id ="cb2"/ >

    < / af:panelGroupLayout >

    < / af:iterator >

    I added 2 buttons create insert and delete. So am clicking the button always delete the first row is deleted. I need to remove exactly same line of an iterator.

    If you use an iterator, you will need to provide the current line yourself. If you use an af:table the table handles it for you.

    You can use an af:setPropertyListener on the buttons push the PK line to a variable binding, or a bean as

    in this case, row.id is the pharmacokinetics of the current line and bean.currentRowId the bean property save you the row id when the button is clicked.

    In the removal and the method use then the currentRowId to search for the line and delete it.

    Timo

  • Highlight the current line


    Apex 4.2

    Theme 21

    I am able to highlight current form fields using get focus and lose focus of dynamic actions.

    How to highlight the current line in the form of an updated report.

    I tried to use DA with

    Picker JQuery tr [headers = 'TAX'] (column in my report)

    Run Javascript

    $x_RowHighlight (this.triggeringElement, 'yellow');

    Any help appreciated

    Gus

    Gusford Hello!

    Try to update your JQuery selector to what follows, with a trigger event in the DA 'click ':

    table. Report-standard tr

    JR.

  • How to mark the current line in the grid forms

    How to mark the current line in the grid of forms in forms

    There is no grid in use in forms
    However, you were using the ORACLE spreadsheet in the OCX element before 10g in forms5.
    You can use the property of coloring of the ORACLE worksheet if you use older forms.

    If you speak the text displayed in the instances multile means with more display records. then you can use the Visual Attirbute
    and may affect the block attribute in current folder to the Visual attribute you make now.

  • dbms_crypto - avoid error when using different key in lower environment

    Hello Experts,

    We use Oracle 11.2.0.2. We intend to implement dbms_crypto to encrypt some columns. Clone us the production data at the lower environment (DEV, QC).

    The lowest environments, we do not want to obtain the sensitive data from production and do not plan to use the same key. Instead of getting an error when using different keys, is it possible to get a different set of results.

    In other words, we want the implementation will be same in environments but use a different key in lower environment and obtain different results (or garbage).

    Any suggestions would be greatly appreciated.

    The test of this logic, I get following error when using the different keys to decrypt. It works fine if I use the same key.
    Error on line 1
    ORA-28817: PL/SQL function has returned an error.
    ORA-06512: at "SYS." DBMS_CRYPTO_FFI', line 67
    ORA-06512: at "SYS." DBMS_CRYPTO", line 44
    ORA-06512: at line 19
    DECLARE
      l_credit_card_no    VARCHAR2(19) := '1234 5678 9012 3456';
      l_ccn_raw           RAW(128) := UTL_RAW.cast_to_raw(l_credit_card_no);
     
     l_key               RAW(128) := UTL_RAW.cast_to_raw('abcdefgh');
       l2_key               RAW(128) := UTL_RAW.cast_to_raw('12345678');
    
      l_encrypted_raw     RAW(2048);
      l_decrypted_raw     RAW(2048);
    BEGIN
      DBMS_OUTPUT.put_line('Original  : ' || l_credit_card_no);
    
      l_encrypted_raw := DBMS_CRYPTO.encrypt(src => l_ccn_raw, 
                                             typ => DBMS_CRYPTO.des_cbc_pkcs5, 
                                             key => l_key);
    
      DBMS_OUTPUT.put_line('Encrypted : ' || RAWTOHEX(UTL_RAW.cast_to_raw(l_encrypted_raw)));
    
      l_decrypted_raw := DBMS_CRYPTO.decrypt(src => l_encrypted_raw, 
                                             typ => DBMS_CRYPTO.des_cbc_pkcs5, 
                                             key => l2_key); --**Using different key to decrypt
    
      DBMS_OUTPUT.put_line('Decrypted : ' || UTL_RAW.cast_to_varchar2(l_decrypted_raw));
    END;
    Thank you.

    In general, you can't get different results in different environments, no.

    Of course, you could write your routine to decrypt so that it intercepts it and returns a random string of RAW.

    However, this is not normally the way people go on hiding sensitive data in environments below. It would be much more common to use a tool that is designed for this tool. For example, Oracle has a Pack of masking of data for Enterprise Manager that allows to replace sensitive data with false, but realistic data as part of the updating of the environments below. There are also data from third-party tools like masqueur datamasking.

    Justin

  • AF:table restore copy the current line in all other lines

    I used Jdeveloper to creeate a table to a data control. Then I added a Cancel button. When I choose the restoration, entity objects are cancelled, but the content of the current line is copied to all other lines. Why is this happening?

    Check [url http://adfbugs.blogspot.com/2011/05/jdeveloper-11115-serius-bug.html] Jdeveloper 11.1.1.5 severe bug (fixed in 11.1.2)

  • Creating a line chart series multi with different data providers

    I have 3 providers of data of the same structure that is ArrayCollection of data collection and that you want to use to create a line chart multiseriate. I don't have just 1 dataProvider that can be used but 3 different data providers of the same structure I want to use each different series.

    [Bindable] private var orangeSales: ArrayCollection = collection

    new ArrayCollection collection)

    [{sale: 101000, month: new Date (January 1, 2008 "")},]

    {sale: 960000, month: new Date (February 1, 2008 ')},

    {sale: 475000, month: new Date (March 1, 2008 ')},

    {sale: 425000, month: new Date (April 1, 2008 "")}

    ] );

    [Bindable] private var appleSales: ArrayCollection = collection

    new ArrayCollection collection)

    [{Sales: 991000, month: new Date (January 1, 2008 "")},]

    {sale: 140000, month: new Date (February 1, 2008 ')},

    {sale: 565000, month: new Date (March 1, 2008 ')},

    {sale: 255000, month: new Date (April 1, 2008 "")}

    ] );

    [Bindable] private var bananaSales: ArrayCollection = collection

    new ArrayCollection collection)

    [{sale: 891000, month: new Date (January 1, 2008 "")},]

    {sale: 147560, month: new Date (February 1, 2008 ')},

    {sale: 295000, month: new Date (March 1, 2008 ')},

    {sale: 574000, month: new Date (April 1, 2008 "")}

    ] );

    I want to create a line chart with orangeSales, appleSales and bananaSales as three different lines on the graph for different specified dates.

    < mx:ColumnChart showDataTips = "true" >

    < mx:horizontalAxis >

    < mx:CategoryAxis

    dataProvider = "{orangeSales}".

    categoryField = 'months '.

    / >

    < / mx:horizontalAxis >

    < mx:series >

    < mx:LineSeries displayName = "OrangeSales" yField = "sale" xField = "month" dataProvider = "{orangeSales}" / >

    < mx:LineSeries displayName = "AppleSales" yField = "sale" xField = "month" dataProvider = "{appleSales}" / >

    < mx:LineSeries displayName = "BananaSales" yField = "sale" xField = "month" dataProvider = "{bananaSales}" / >

    < / mx:series >

    < / mx:ColumnChart >

    Help, please!

    Sorry for the confusion. In fact I do something wrong, such as using ColumnChart to display a line chart or something like that.

    Now, I realized that a multi series line graph can be built by the presence of a different data provider for each of the LineSeries object.

    If the code below would create a multi series line graph:

    [Bindable] private var orangeSales: ArrayCollection = collection

    new ArrayCollection collection)

    [{sale: 101000, month: new Date (January 1, 2008 "")},]

    {sale: 960000, month: new Date (February 1, 2008 ')},

    {sale: 475000, month: new Date (March 1, 2008 ')},

    {sale: 425000, month: new Date (April 1, 2008 "")}

    ] );

    [Bindable] private var appleSales: ArrayCollection = collection

    new ArrayCollection collection)

    [{Sales: 991000, month: new Date (January 1, 2008 "")},]

    {sale: 140000, month: new Date (February 1, 2008 ')},

    {sale: 565000, month: new Date (March 1, 2008 ')},

    {sale: 255000, month: new Date (April 1, 2008 "")}

    ] );

    [Bindable] private var bananaSales: ArrayCollection = collection

    new ArrayCollection collection)

    [{sale: 891000, month: new Date (January 1, 2008 "")},]

    {sale: 147560, month: new Date (February 1, 2008 ')},

    {sale: 295000, month: new Date (March 1, 2008 ')},

    {sale: 574000, month: new Date (April 1, 2008 "")}

    ] );

    I want to create a line chart with orangeSales, appleSales and bananaSales as three different lines on the graph for different specified dates.

    <>

    dataProvider = "{orangeSales}".

    categoryField = 'months '.

    />

  • Background color of the current line in the interactive report

    Hello
    Sobebody could tell me if there is anyway simple changing of style in IR to set up the background color of the current line. In the Standard report, it is easy. Just click for the shared components > models > modify a report model
    and in the section line pointing out it is an attribute to change a color.

    Can someone tell me how to do in interactive report?

    I want to just split one row of the other using a line color.

    Thanks :)

    Published by: rafix 2009-11-23 09:42

    Cool. Where is my correct score then: P

    Mike

Maybe you are looking for