Executing methods using an input text file

Hello all,
I was just wondering if I could get a little help with giving the input commands to my program through a provided text file. I have already made a stack program and want to test it by feeding it a text file with commands in it. Here is an example of the text that it would contain:
bluePush 100
blueIsEmpty
print
bluePush 101
bluePush 102
bluePush 103
blueSize
bluePush 104
print
bluePop
print
redIsEmpty
Etc..
Problem is, I'm not really sure how to make my test file. I've never taken a text file as input before and once it's in, I'm not sure how to parse the commands.
Any help would be greatly appreciated.
Thanks,
Tyler

You would open the file like such:
  String fileName = "c:\path\to\file.txt";
  BufferedReader input = new BufferedReader(
                           new FileReader(fileName));You would create a loop to read the text, line by line, something like this:
  String line = null;
  while ((line = input.readLine()) != null){
    //... do processing here
  }Inside the while loop, you would parse the string into command and value pairs. Maybe look into StringTokenizer... Something like this:
    //inside while loop
    StringTokenizer parser = new StringTokanizer(line, " ");
    String command = parser.nextToken();
    String value = null;
    if (doesCommandHaveValue(command)) value = nextToken();
    //Determine course of action based on command
//*** Then have the method doesCommandHaveValue...
// Returns true if "Push" is found inside of command,
// since it looks like only push statements have values after them
private boolean doesCommandHaveValue(String command) {
  return (command.indexOf("Push") != -1);
}Then mabe do a series of ifs based on command, to call different methods, using the value read in.

Similar Messages

  • Generate dummy XML for an empty input text file

    Hi All,
    i know when XI gets an empty input text file, it does not generate a send message for it in sender communication channel.
    in my scenario, if i get a file with data, i have to generate an XML message for it using file content conversion - this i have done...........
    but if i get an empty text file, then i have to generate a dummy XML send message for it for my BPM.......
    <b>Has anybody generated a dummy XML message for an empty input file........please respond only if you have practically generated a XML message in SXMB_MONI for an empty input text file.</b>
    Thanks,
    Rajeev Gupta

    Hi All,
    i made a J2EE adapter module to generate dummy xml for empty file.....but when i give a file with data in it, then my adapter module is called..... but when i give an empty file, then my adapter module is not called.........
    so if somebody has practically generated a dummy XML for an empty file by any method, please tell.
    Thanks,
    Rajeev Gupta

  • What are the limitations in terms of data size  or performance while using csv or text file as datasource?

    <p>Also what are the limitations in terms of data size  or performance related issues while using csv or text file?</p><p>Is it the best practice to use csv , text file to use as a datasource to improve performance?</p><p>Please Advice.... </p><p>&#160;</p>

    <p>Hi,</p><p>Create Same Data Input for CSV and Text File ,Create 2 different reports one for CSV and One for Text ,run them one you have done that.</p><p>Go to Report Menu and Select Performance Information .Use the Data in that to check which one is good datasource to improve performance</p><p>Cheers</p><p>Rahul</p>

  • Run button's method action without input text's validation raise

    Hi
    My English isn't very good
    I use jdeveloper 11.1.1.3.0
    I have a button and an inputText(with validation) on the page. I defined a method action for the button.
    when I click the button, the input Text's validation raise and the button's method doesn't run.
    If I set immediate=true for the button then the validation doesn't raise but in this case also button's method doesn't run.
    How can I run button's method action without input text's validation raise?
    Habib

    If I set immediate=true for the button then the validation doesn't raise but in this case also button's method doesn't run.This should have worked . Run your application in debug mdoe and put a debug pointer in your actionListener to see if the control goes there.
    Also put partialSubmit="true" for your button.

  • How can I get Firefox to execute html code in a text file?

    I used Notepad to create a text file, markup.html, that contains html code. How can I get Firefox to execute this code?
    Also, how can I use the <script> tag in the html code using the src attribute to execute code in a file written in Javascript?

    First guess is that you did not use an .html extension on the file. The file may well be ''name.html.txt''
    * see http://www.bbc.co.uk/webwise/guides/file-extensions
    *http://windows.microsoft.com/en-gb/windows/show-hide-file-name-extensions#show-hide-file-name-extensions=windows-vista
    Forum Note
    This is normally offtopic for this forum. I say normally because now we cover webmaker questions. I wonder if this is therefore on topic as a webmaker question?
    I have tagged with webmaker-contribution

  • How to open saved files using 'read from text file' function

    Hi everyone, I am having a hard time trying to solve the this particular problem ( probably because I am a newb to lanbview ). Anyway , I am able to save the acquired waveforms by using the 'Write to text file' icon. I did manually modify the block diagram of the 'Write to text file' icon and create the correct number of connector so as to make my program work. But now I have no idea on how to modify the block diagram of the 'Read from text file' block diagram to make my program 'open' my saved waveforms. Or i do not have to modify anything from the block diagram of the 'Read from text file'? Can anyone teach/help me connect up? Do i need the build array on the "open" page?
    Here are some screenshots on part of my program  
    let me know if you guys would need more information / screenshots thank you!
    Attachments:
    ss_save.jpg ‏94 KB
    ss_open.jpg ‏94 KB
    modified_writetotextfile.jpg ‏99 KB

    Ohmy, thanks altenbach. oh yeah i forgot about those sub VIs. will upload them now. Was rather demoralized after reading the comments and really struck me on how weak i'm at on labview really hope to get this done. But of course i have to study through and see how it works. Actually i am going to replace those 'signal generators sub vi' with ThoughtTechonology's sample code so i can obtain data waveforms real-time using Electrocardiography (ECG) ,Electromyography (EMG ) and Electroencephalography (EEG) hopefully i can find out how to connect the sample code.
    ( ps . cant connect it now unless my program is working otherwise labview will crash ) 
    ( p.s.s the encoder of my biofeedback trainer already acts as an DAQ so i wont need to place an DAQ assistant in my block diagram i suppose )
    The sample code of ThoughtTechnology is named as attachment.ashx.vi. too bad i cant use it and present it as my project
    Attachments:
    frequency detactor.vi ‏53 KB
    signal generator.vi ‏13 KB
    attachment.ashx.vi ‏40 KB

  • Using data in text file as indicator

    hi all  
    i want to know is there a way to use a text file and use the data in it to represent and name as the label of the indicator ?
    i have attached a sample text file , what i want to achieve is that as the first row of the text file is 2 3 4 6 , its should be represented in labview and also all the indicators representing the data should have the label as the data
    so when numeric indicator is displaying a value 2 it should also name the indicator 2
    also the file i am attaching has only 04 columns what if the number of columns are unknown , then how can i achieve the same thing .
    i hope i am clear in describing what i want to achieve
    with regards
    Regards
    Attachments:
    TEXT FILE.txt ‏1 KB

    Hi nolsqn,
    what about reading the file as array of strings (ReadFromSpreadsheetFile as 2D array of strings) and display the content in a table? Here you could easily use the first row of the text file for the column headers...
    Otherwise it would be a much harder job to "create" new indicators depending on the number of columns...
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Use of input  type="file"

    Hellow
    How can I use the HTML tag <input type="file" > in jsp/servlets ?
    how can I got the file and saving it?

    Take a look at this page: http://search.java.sun.com/search/java/?qt=jsp+upload&x=39&y=6 - it is a search page and you can use it to find whether or not anyone has asked the question you have before. Often you will find that the question you have asked has been asked before, sometimes as much as 29000 times. It is quicker than asking a question for the first time because you don't have to wait for replies. - they are already there. I also believe that if you don't know understand search engines you are unlikely to understand Java.
    To help with your search you may want to know that the "file" input type creates a Multipart request and that the term "com.oreilly.servlets" may well be relevant too.

  • Using EXPDM genrating text file

    Dear All,
    Is it possible using EXPDP (Data Pump) in Oracle 10g or 11g we can export tables data in ASCII/Text file? Or using ImpDP can we impot any text file into tables etc.
    If any one yes then how?
    Thanks

    Data Pump provides an external tables access driver (ORACLE_DATAPUMP) that reads and writes files.
    [http://download-west.oracle.com/docs/cd/B12037_01/server.101/b10825/dp_overview.htm#sthref19]

  • I cant text flow using 3 different text files on the same document?????

    Im starting out with 3 different files of text saved as "tab delimited text" from excel, I open a document in ID with 107 pages and create 3 boxes in the master on top of a pdf. I then override all 107 pages so that the text I insert will flow to the next page and so on, once I paste the 2nd text file into the next text frame it skips the original 107 files and starts flowing into new pages. Im ready to pull my hair out, I have been trying to figure this out for 2 hours. I dont know what to do at this point. I think Im getting a migraine.
    I would have done a data merge on 2 of the files but the third HAS to be text flow (which gives me the same problem above) because it has to be physically changed to fit each page.

    Are you Placing the text from an external file, or pasting it from the clipboard?
    If Placing, move the loaded cursor inside one of the master frames on the first page, hold down the Shift key and click, being sure the cursor is not on any sort of guide. The entire text file will flow using the master text frames, and ID will add all the require pages to place all the text.
    If pasting, you can either override the frame on the first page only, or make a temporary first frame on the pasteboard. Paste into this frame, which will result in a red plus sign in the bottom right corner of the text frame indicating overset text. Switch to the Selection tool (black arrow) and click on the plus sign to pick up the overset text. Hover the new loaded cursor over the frame on the second page, or over the first page as above if you used a temporary frame, hodl the Shift key and click. Delete the temporary frame, if you used one, and the text will reflow to start in the first real frame, but you may have to pick up overset again in the last frame due to the reflow.

  • I recently upgraded from a iMac mini PPC (pre-intel chip) to a new iMac (intel chip). I know that some of my software won't functionally transfer over, but I have some files that were done using Appleworks (.cwk text files) that won't open. Conversion?

    Is there a way to convert .cwk text files I saved from my iMac PPC so I can view them on my new iMac (intel chip)? I get a message when I try to open them now that says PowerPC applications are no longer supported.

    1.  Read Roger Wilmut's excellent series of articles: Abandoning Appleworks
    2.  Considering running Appleworks in Snow Leopard (with Rosetta) installed into Parallels for use in Lion or Mt. Lion
                                  [click on image to enlarge]

  • Can a ring control be populated using a separate text file when VI loads (not running)?

    I would like to know if there is a way to populate a ring or enum control list using values maintained in a text file (or other format) outside of a VI.  I have to be able to call this VI from TestStand or LabVIEW, and would like to be able to use the drop down interface to pick from the list of selections.  As a result, the ring or enum list would need to be updated before the VI runs.  I want to avoid just using a string to prevent typo's from creating errors.  There would be several different VI's getting the list values from this text file.  Is this possible, or am I way off base?  Or does anyone have any other ideas or suggestions?
    Thanks everyone,
    q.

    Thanks for the replies.  I had a chance to play with ring controls and updating the string array dynamically.
    However, as I mentioned in my first post, one of the reasons I want to use dynamically updated lists is to have a readable drop down list in TestStand when you configure a step (i.e. Specify Module).  This would help serve as a part of a hardware abstraction layer, and for maintainability purposes we don't want to split the hardware map among a number of VI's.
    Unfortunately, TestStand doesn't seem to recognize the string list from a ring control.  And as mentioned above, there are issues with updating Enums.  Is it possible to accomplish a way of dynamically populating this list in such a way that TestStand will recognize it?  Is there another control that would work better (e.g. list boxes, combo boxes, etc.)?
    Thanks for your help,
    q

  • JButton method use BOF(Begin Of File) and EOF(End Of File) like VB?

    hii all friends :)
    I use Oracle Jdeveloper 10G to design with JClient Method.
    i want design navigation button use JButton(swing) not use JUNavigationBar.
    but i don,t understand how can i check last record and fist record like in Visual basic use Method BOF(Begin Of File) and EOF(End Of File)? What method/syntax in java i use it?
    Can u(all friend in comunity forum) help and teach me how?..
    Befors, thanks alot :)
    regards
    Fok Shen

    Thank,s kanad.
    I already try it, but method "isBeforeFirst" and "isAfterLast" not found in javax.swing.Jbutton.
    i used Oracle Jdeveloper 10G or version 9.0.5.2 , choose swing/Jclient for ADF under the client tier node and then choose Empty Form Wizard to build an application based on the business components From Table.
    i use JMenuBar to create MDI Form.
    this is Master Application: JClientForm.java
    =============
    package JClientTemp.view;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import oracle.jbo.RowIterator;
    import oracle.jbo.Row;
    import oracle.jbo.common.DefLocaleContext;
    import oracle.jbo.uicli.mom.JUMetaObjectManager;
    import oracle.jbo.uicli.binding.*;
    import oracle.jbo.uicli.controls.*;
    import oracle.jbo.uicli.*;
    import oracle.jbo.common.JBOClass;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import oracle.adf.model.*;
    import oracle.adf.model.binding.*;
    import oracle.adf.model.generic.*;
    import java.util.HashMap;
    import java.util.ArrayList;
    import oracle.jbo.uicli.jui.*;
    import javax.swing.JMenuBar;
    import javax.swing.JMenu;
    import javax.swing.JMenuItem;
    import javax.swing.KeyStroke;
    import java.awt.event.KeyEvent;
    import java.awt.Event;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    public class JClientForm extends JFrame
    //public static TypeForm FormType(); // Syntax untuk Panggil form
    // form layout
    private GridLayout gridLayout = new GridLayout();
    private BorderLayout borderLayout = new BorderLayout();
    //private TypeForm FormType = new TypeForm();
    private TypeForm FormType; // Setting variable untuk call frame
    // panel definition used in design time
    private JUPanelBinding panelBinding = new JUPanelBinding("JClientFormUIModel");
    // Navigation bar
    // private JUNavigationBar navBar = new JUNavigationBar();
    // The status bar
    private JUStatusBar statusBar = new JUStatusBar();
    // The form's top panel
    private JPanel topPanel = new JPanel();
    private JPanel dataPanel = new JPanel();
    private JMenuBar menubarFrame = new JMenuBar();
    private JMenu menuFile = new JMenu();
    private JMenuItem itemFileCompList = new JMenuItem();
    private JMenuItem itemFileType = new JMenuItem();
    private JMenuItem itemFileInventory = new JMenuItem();
    private JMenuItem itemFileExit = new JMenuItem();
    //private JUNavigationBar hiddenNavBar = new JUNavigationBar();
    * the JbInit method
    public void jbInit() throws Exception
    // form layout
    dataPanel.setLayout(null);
    menuFile.setText("File");
    menuFile.setMnemonic('F');
    itemFileCompList.setText("Computer List");
    itemFileCompList.setMnemonic('C');
    itemFileType.setText("Type");
    itemFileType.setMnemonic('T');
    itemFileType.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F4, Event.ALT_MASK, false));
    itemFileType.addActionListener(new ActionListener()
    public void actionPerformed(ActionEvent e)
    itemFileType_actionPerformed(e);
    itemFileInventory.setText("Inventory");
    itemFileInventory.setMnemonic('I');
    itemFileExit.setText("Exit");
    itemFileExit.setMnemonic('X');
    itemFileExit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F4, Event.ALT_MASK, false));
    itemFileExit.addActionListener(new ActionListener()
    public void actionPerformed(ActionEvent e)
    item_file_exit_action(e);
    this.getContentPane().setLayout(gridLayout);
    this.setTitle("Master Form");
    this.setJMenuBar(menubarFrame);
    topPanel.setLayout(borderLayout);
    this.getContentPane().add(topPanel);
    this.setSize(new Dimension(400, 300));
    //topPanel.add(navBar, BorderLayout.NORTH);
    topPanel.add(dataPanel, BorderLayout.CENTER);
    topPanel.add(statusBar, BorderLayout.SOUTH);
    menuFile.add(itemFileCompList);
    menuFile.add(itemFileType);
    menuFile.add(itemFileInventory);
    menuFile.addSeparator();
    menuFile.add(itemFileExit);
    menubarFrame.add(menuFile);
    //hiddenNavBar.setModel(JUNavigationBar.createPanelBinding(panelBinding, hiddenNavBar));
    //navBar.setModel(JUNavigationBar.createPanelBinding(panelBinding, navBar));
    statusBar.setModel(JUStatusBar.createPanelBinding(panelBinding, statusBar));
    public static void main(String [] args)
    try
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    catch(Exception exemp)
    exemp.printStackTrace();
    try
    // bootstrap application
    JUMetaObjectManager.setBaseErrorHandler(new JUErrorHandlerDlg());
    JUMetaObjectManager mgr = JUMetaObjectManager.getJUMom();
    mgr.setJClientDefFactory(null);
    BindingContext ctx = new BindingContext();
    ctx.put(DataControlFactory.APP_PARAM_ENV_INFO, new JUEnvInfoProvider());
    ctx.setLocaleContext(new DefLocaleContext(null));
    HashMap map = new HashMap(4);
    map.put(DataControlFactory.APP_PARAMS_BINDING_CONTEXT, ctx);
    mgr.loadCpx("DataBindings.cpx", map);
    JClientForm frame = new JClientForm();
    frame.setBindingContext(ctx);
    frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    Dimension frameSize = frame.getSize();
    // run this form
    if (frameSize.height > screenSize.height)
    frameSize.height = screenSize.height;
    if (frameSize.width > screenSize.width)
    frameSize.width = screenSize.width;
    frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
    frame.setVisible(true);
    catch(Exception ex)
    JUMetaObjectManager.reportException(null, ex);
    System.exit(1);
    private int _popupTransactionDialog()
    if (panelBinding == null || panelBinding.getPanel() == null)
    return JOptionPane.NO_OPTION;
    if (panelBinding.isTransactionDirty())
    Object [] options = {"Commit", "Rollback"};
    int action = JOptionPane.showOptionDialog(JClientForm.this, "How do you want to close the transaction?", "Transaction open", JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE, null, options, options[(0)]);
    switch (action)
    case JOptionPane.NO_OPTION:
    hiddenNavBar.doAction(JUNavigationBar.BUTTON_ROLLBACK);
    break;
    case JOptionPane.CLOSED_OPTION:
    break;
    case JOptionPane.YES_OPTION:
    default:
    hiddenNavBar.doAction(JUNavigationBar.BUTTON_COMMIT);
    break;
    return action;
    return JOptionPane.NO_OPTION;
    public JUPanelBinding getPanelBinding()
    return panelBinding;
    public void setPanelBinding(JUPanelBinding binding)
    if (binding.getPanel() == null)
    binding.setPanel(topPanel);
    if (panelBinding == null || panelBinding.getPanel() == null)
    try
    panelBinding = binding;
    jbInit();
    catch(Exception ex)
    panelBinding.reportException(ex);
    * The default constructor for form
    public JClientForm()
    addWindowListener(new WindowAdapter()
    public void windowClosing(WindowEvent e)
    //int action = _popupTransactionDialog();
    //if (action != JOptionPane.CLOSED_OPTION)
    panelBinding.releaseDataControl();
    setVisible(false);
    dispose();
    System.exit(0);
    public void setBindingContext(BindingContext bindCtx)
    if (panelBinding.getPanel() == null)
    panelBinding = panelBinding.setup(bindCtx, this);
    registerProjectGlobalVariables(bindCtx);
    panelBinding.refreshControl();
    try
    jbInit();
    panelBinding.refreshControl();
    catch(Exception ex)
    panelBinding.reportException(ex);
    private void registerProjectGlobalVariables(BindingContext bindCtx)
    JUUtil.registerNavigationBarInterface(panelBinding, bindCtx);
    private void unRegisterProjectGlobalVariables(BindingContext bindCtx)
    JUUtil.unRegisterNavigationBarInterface(panelBinding, bindCtx);
    private void item_file_exit_action(ActionEvent e)
    //int action = _popupTransactionDialog();
    //if (action != JOptionPane.CLOSED_OPTION)
    System.exit(0);
    private void itemFileType_actionPerformed(ActionEvent e)
    if (FormType==null)
    FormType.main2(null);
    else
    //FormType.setVisible(true);
    FormType.setVisible(true);
    ==========
    And Then that is Sub Application : TypeForm.java
    =================
    package JClientTemp.view;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.Enumeration;
    import javax.swing.*;
    import javax.swing.event.*;
    import oracle.jbo.RowIterator;
    import oracle.jbo.Row;
    import oracle.jbo.common.DefLocaleContext;
    import oracle.jbo.uicli.mom.JUMetaObjectManager;
    import oracle.jbo.uicli.binding.*;
    import oracle.jbo.uicli.controls.*;
    import oracle.jbo.uicli.*;
    import oracle.jbo.common.JBOClass;
    import java.io.InputStream;
    import java.io.EOFException;
    import java.io.InputStreamReader;
    import oracle.adf.model.*;
    import oracle.adf.model.binding.*;
    import oracle.adf.model.generic.*;
    import java.util.HashMap;
    import java.util.ArrayList;
    import oracle.jbo.uicli.jui.*;
    import javax.swing.JTabbedPane;
    import java.awt.BorderLayout;
    import javax.swing.JPanel;
    import oracle.jbo.uicli.controls.JULabel;
    import java.awt.Rectangle;
    import oracle.jbo.uicli.jui.JULabelBinding;
    import javax.swing.JTextField;
    import javax.swing.text.Document;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.table.TableModel;
    import javax.swing.JButton;
    import javax.swing.ButtonModel;
    import java.awt.Font;
    import javax.swing.SwingConstants;
    import javax.swing.BorderFactory;
    import javax.swing.border.BevelBorder;
    import oracle.jbo.uicli.controls.JUNavigationBar;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    import java.awt.Component;
    public class java.io.EOFException extends java.io.IOException
    // Constructors
    public EOFException();
    public EOFException(String s);
    //import javax.swing.table.TableColumnModel;
    //import javax.swing.table.JTableHeader;
    //public static TypeForm FormType();
    public class TypeForm extends JFrame
    // form layout
    private GridLayout gridLayout = new GridLayout();
    private BorderLayout borderLayout = new BorderLayout();
    // panel definition used in design time
    private JUPanelBinding panelBinding = new JUPanelBinding("TypeFormUIModel");
    // Navigation bar
    // private JUNavigationBar navBar = new JUNavigationBar();
    // The status bar
    private JUStatusBar statusBar = new JUStatusBar();
    // The form's top panel
    private JPanel topPanel = new JPanel();
    //private JUNavigationBar hiddenNavBar = new JUNavigationBar();
    private JTabbedPane mainTab = new JTabbedPane();
    private JPanel tabTypeBC = new JPanel();
    private JPanel tabTypeSC = new JPanel();
    private JPanel tabTypeHC = new JPanel();
    private JULabel LblTypeBC = new JULabel();
    private JULabel LblDecTBC = new JULabel();
    private JTextField TxtTypeBC = new JTextField();
    private JTextField TxtDecTBC = new JTextField();
    private JScrollPane TBCScrollPane = new JScrollPane();
    private JTable TypeBCTable = new JTable();
    private JULabel LblTypeSC = new JULabel();
    private JULabel LblDecSC = new JULabel();
    private JTextField TxtTypeSC = new JTextField();
    private JTextField TxtDecTSC = new JTextField();
    private JScrollPane TSCScrollPane = new JScrollPane();
    private JTable TypeSCTable = new JTable();
    private JULabel LblTypeHC = new JULabel();
    private JULabel LblDecTHC = new JULabel();
    private JTextField TxtTypeHC = new JTextField();
    private JTextField TxtDecTHC = new JTextField();
    private JScrollPane THCScrollPane = new JScrollPane();
    private JTable TypeHCTable = new JTable();
    private JButton BtFirst = new JButton();
    private JButton BtPrev = new JButton();
    private JButton BtNext = new JButton();
    private JButton BtLast = new JButton();
    private JButton BtAdd = new JButton();
    private JButton BtDel = new JButton();
    private JButton BtSearch = new JButton();
    private JButton BtSubmit = new JButton();
    private JButton BtCommit = new JButton();
    private JButton BtRollback = new JButton();
    private JButton BFist = new JButton();
    private JButton BPrev = new JButton();
    private JButton BNext = new JButton();
    private JButton BLast = new JButton();
    private JButton BAdd = new JButton();
    private JButton BDelete = new JButton();
    private JButton BSearch = new JButton();
    private JButton BSubmit = new JButton();
    private JButton BCommit = new JButton();
    private JButton BRollBack = new JButton();
    private JButton BtClose = new JButton();
    private JButton BClose = new JButton();
    private JButton BhFirst = new JButton();
    private JButton BhPrev = new JButton();
    private JButton BhNext = new JButton();
    private JButton BhLast = new JButton();
    private JButton BhAdd = new JButton();
    private JButton BhDelete = new JButton();
    private JButton BhSearch = new JButton();
    private JButton BhSubmit = new JButton();
    private JButton BhCommit = new JButton();
    private JButton BhRollback = new JButton();
    private JButton BhClose = new JButton();
    //private TableColumnModel tableColumnModel1 = new javax.swing.table.DefaultTableColumnModel();
    * the JbInit method
    public void jbInit() throws Exception
    // form layout
    this.getContentPane().setLayout(gridLayout);
    this.setTitle("Form Type");
    topPanel.setLayout(borderLayout);
    tabTypeBC.setLayout(null);
    //tabTypeBC.setToolTipText("null");
    tabTypeSC.setLayout(null);
    tabTypeHC.setLayout(null);
    LblTypeBC.setText("jULabel1");
    LblTypeBC.setBounds(new Rectangle(15, 45, 115, 15));
    LblDecTBC.setText("jULabel1");
    LblDecTBC.setBounds(new Rectangle(15, 70, 115, 15));
    TxtTypeBC.setBounds(new Rectangle(135, 45, 85, 20));
    TxtDecTBC.setBounds(new Rectangle(135, 70, 185, 20));
    TBCScrollPane.setBounds(new Rectangle(15, 105, 305, 110));
    TypeBCTable.setEnabled(false);
    TypeBCTable.setEditingColumn(-1);
    TypeBCTable.setEditingRow(-1);
    LblTypeSC.setText("jULabel1");
    LblTypeSC.setBounds(new Rectangle(10, 50, 140, 15));
    LblDecSC.setText("jULabel1");
    LblDecSC.setBounds(new Rectangle(10, 75, 140, 15));
    TxtTypeSC.setBounds(new Rectangle(155, 50, 85, 20));
    TxtDecTSC.setBounds(new Rectangle(155, 75, 155, 20));
    TSCScrollPane.setBounds(new Rectangle(10, 110, 300, 105));
    TypeSCTable.setEnabled(false);
    TypeSCTable.setEditingColumn(-1);
    TypeSCTable.setEditingRow(-1);
    LblTypeHC.setText("jULabel1");
    LblTypeHC.setBounds(new Rectangle(10, 50, 140, 15));
    LblDecTHC.setText("jULabel1");
    LblDecTHC.setBounds(new Rectangle(10, 75, 140, 15));
    LblDecTHC.setToolTipText("null");
    TxtTypeHC.setBounds(new Rectangle(150, 45, 100, 20));
    TxtDecTHC.setBounds(new Rectangle(150, 75, 160, 20));
    THCScrollPane.setBounds(new Rectangle(10, 105, 300, 115));
    TypeHCTable.setEnabled(false);
    TypeHCTable.setEditingColumn(-1);
    TypeHCTable.setEditingRow(-1);
    BtFirst.setText("<<");
    BtFirst.setBounds(new Rectangle(15, 10, 20, 25));
    BtFirst.setFont(new Font("Dialog", 1, 8));
    BtFirst.setToolTipText("Move First Record");
    BtFirst.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BtPrev.setText("<");
    BtPrev.setBounds(new Rectangle(35, 10, 20, 25));
    BtPrev.setFont(new Font("Dialog", 1, 8));
    BtPrev.setToolTipText("Move Previous Record");
    BtPrev.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BtPrev.addActionListener(new ActionListener()
    public void actionPerformed(ActionEvent e)
    BtPrev_actionPerformed(e);
    BtNext.setText(">");
    BtNext.setBounds(new Rectangle(55, 10, 20, 25));
    BtNext.setFont(new Font("Dialog", 1, 8));
    BtNext.setToolTipText("Move Next Record");
    BtNext.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BtLast.setText(">>");
    BtLast.setBounds(new Rectangle(75, 10, 20, 25));
    BtLast.setFont(new Font("Dialog", 1, 8));
    BtLast.setToolTipText("Move Last Record");
    BtLast.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BtAdd.setText("Add");
    BtAdd.setBounds(new Rectangle(95, 10, 25, 25));
    BtAdd.setFont(new Font("Dialog", 1, 10));
    BtAdd.setToolTipText("Add Record");
    BtAdd.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BtDel.setText("Del");
    BtDel.setBounds(new Rectangle(120, 10, 25, 25));
    BtDel.setFont(new Font("Dialog", 1, 10));
    BtDel.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BtDel.setToolTipText("Delete Record");
    BtSearch.setText("Search");
    BtSearch.setBounds(new Rectangle(145, 10, 40, 25));
    BtSearch.setFont(new Font("Dialog", 1, 10));
    BtSearch.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BtSearch.setToolTipText("Search Record");
    BtSubmit.setText("Submit");
    BtSubmit.setBounds(new Rectangle(185, 10, 45, 25));
    BtSubmit.setFont(new Font("Dialog", 1, 10));
    BtSubmit.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BtSubmit.setToolTipText("Submit Record");
    BtCommit.setText("Commit");
    BtCommit.setBounds(new Rectangle(230, 10, 45, 25));
    BtCommit.setFont(new Font("Dialog", 1, 10));
    BtCommit.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BtCommit.setToolTipText("Commit Command");
    BtRollback.setText("Rollback");
    BtRollback.setBounds(new Rectangle(275, 10, 50, 25));
    BtRollback.setFont(new Font("Dialog", 1, 10));
    BtRollback.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BtRollback.setToolTipText("RoolBack Command");
    BFist.setText("<<");
    BFist.setBounds(new Rectangle(10, 10, 20, 25));
    BFist.setFont(new Font("Dialog", 1, 8));
    BFist.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BFist.setToolTipText("Move First Record");
    BPrev.setText("<");
    BPrev.setBounds(new Rectangle(30, 10, 20, 25));
    BPrev.setFont(new Font("Dialog", 1, 8));
    BPrev.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BPrev.setToolTipText("Move Previous Record");
    BNext.setText(">");
    BNext.setBounds(new Rectangle(50, 10, 20, 25));
    BNext.setFont(new Font("Dialog", 1, 8));
    BNext.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BNext.setToolTipText("Move Next Record");
    BLast.setText(">>");
    BLast.setBounds(new Rectangle(70, 10, 20, 25));
    BLast.setFont(new Font("Dialog", 1, 8));
    BLast.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BLast.setToolTipText("Move Last Record");
    BAdd.setText("Add");
    BAdd.setBounds(new Rectangle(90, 10, 25, 25));
    BAdd.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BAdd.setFont(new Font("Dialog", 1, 10));
    BAdd.setToolTipText("Add Record");
    BDelete.setText("Del");
    BDelete.setBounds(new Rectangle(115, 10, 25, 25));
    BDelete.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BDelete.setFont(new Font("Dialog", 1, 10));
    BDelete.setToolTipText("Delete Record");
    BSearch.setText("Search");
    BSearch.setBounds(new Rectangle(140, 10, 40, 25));
    BSearch.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BSearch.setFont(new Font("Dialog", 1, 10));
    BSearch.setToolTipText("Search Record");
    BSubmit.setText("Submit");
    BSubmit.setBounds(new Rectangle(180, 10, 45, 25));
    BSubmit.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BSubmit.setFont(new Font("Dialog", 1, 10));
    BSubmit.setToolTipText("Submit Record");
    BCommit.setText("Commit");
    BCommit.setBounds(new Rectangle(225, 10, 45, 25));
    BCommit.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BCommit.setFont(new Font("Dialog", 1, 10));
    BCommit.setToolTipText("Commit Button");
    BRollBack.setText("Rollback");
    BRollBack.setBounds(new Rectangle(270, 10, 50, 25));
    BRollBack.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BRollBack.setFont(new Font("Dialog", 1, 10));
    BRollBack.setToolTipText("Rollback Button");
    BtClose.setText("Close");
    BtClose.setBounds(new Rectangle(325, 10, 35, 25));
    BtClose.setFont(new Font("Dialog", 1, 10));
    BtClose.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BtClose.setToolTipText("Close Sub Program");
    BtClose.addActionListener(new ActionListener()
    public void actionPerformed(ActionEvent e)
    BtClose_actionPerformed(e);
    BClose.setText("Close");
    BClose.setBounds(new Rectangle(320, 10, 35, 25));
    BClose.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BClose.setFont(new Font("Dialog", 1, 10));
    BClose.setToolTipText("Close Sub Program");
    BClose.addActionListener(new ActionListener()
    public void actionPerformed(ActionEvent e)
    BClose_actionPerformed(e);
    BhFirst.setText("<<");
    BhFirst.setBounds(new Rectangle(10, 10, 20, 25));
    BhFirst.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BhFirst.setFont(new Font("Dialog", 1, 8));
    BhFirst.setToolTipText("Move First Record");
    BhPrev.setText("<");
    BhPrev.setBounds(new Rectangle(30, 10, 20, 25));
    BhPrev.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BhPrev.setFont(new Font("Dialog", 1, 8));
    BhPrev.setToolTipText("Move Previous Record");
    BhNext.setText(">");
    BhNext.setBounds(new Rectangle(50, 10, 20, 25));
    BhNext.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BhNext.setFont(new Font("Dialog", 1, 8));
    BhNext.setToolTipText("Move Next Record");
    BhLast.setText(">>");
    BhLast.setBounds(new Rectangle(70, 10, 20, 25));
    BhLast.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BhLast.setFont(new Font("Dialog", 1, 8));
    BhLast.setToolTipText("Move Last Record");
    BhAdd.setText("Add");
    BhAdd.setBounds(new Rectangle(90, 10, 25, 25));
    BhAdd.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BhAdd.setFont(new Font("Dialog", 1, 10));
    BhAdd.setToolTipText("Add Record");
    BhDelete.setText("Del");
    BhDelete.setBounds(new Rectangle(115, 10, 25, 25));
    BhDelete.setFont(new Font("Dialog", 1, 10));
    BhDelete.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BhDelete.setToolTipText("Delete Record");
    BhSearch.setText("Search");
    BhSearch.setBounds(new Rectangle(140, 10, 40, 25));
    BhSearch.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BhSearch.setFont(new Font("Dialog", 1, 10));
    BhSearch.setToolTipText("Search Record");
    BhSubmit.setText("Submit");
    BhSubmit.setBounds(new Rectangle(180, 10, 45, 25));
    BhSubmit.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BhSubmit.setFont(new Font("Dialog", 1, 10));
    BhSubmit.setToolTipText("Submit Record");
    BhCommit.setText("Commit");
    BhCommit.setBounds(new Rectangle(225, 10, 45, 25));
    BhCommit.setToolTipText("Commit Record");
    BhCommit.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BhCommit.setFont(new Font("Dialog", 1, 10));
    BhRollback.setText("Rollback");
    BhRollback.setBounds(new Rectangle(270, 10, 50, 25));
    BhRollback.setFont(new Font("Dialog", 1, 10));
    BhRollback.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BhRollback.setToolTipText("Rollback Record");
    BhClose.setText("Close");
    BhClose.setBounds(new Rectangle(320, 10, 35, 25));
    BhClose.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    BhClose.setFont(new Font("Dialog", 1, 10));
    BhClose.setToolTipText("Close Sub Program");
    BhClose.addActionListener(new ActionListener()
    public void actionPerformed(ActionEvent e)
    BhClose_actionPerformed(e);
    this.getContentPane().add(topPanel);
    this.setSize(new Dimension(400, 300));
    //topPanel.add(navBar, BorderLayout.NORTH);
    topPanel.add(statusBar, BorderLayout.SOUTH);
    TBCScrollPane.getViewport().add(TypeBCTable, null);
    tabTypeBC.add(BtClose, null);
    tabTypeBC.add(BtRollback, null);
    tabTypeBC.add(BtCommit, null);
    tabTypeBC.add(BtSubmit, null);
    tabTypeBC.add(BtSearch, null);
    tabTypeBC.add(BtDel, null);
    tabTypeBC.add(BtAdd, null);
    tabTypeBC.add(BtLast, null);
    tabTypeBC.add(BtNext, null);
    tabTypeBC.add(BtPrev, null);
    tabTypeBC.add(BtFirst, null);
    tabTypeBC.add(TBCScrollPane, null);
    tabTypeBC.add(TxtDecTBC, null);
    tabTypeBC.add(TxtTypeBC, null);
    tabTypeBC.add(LblDecTBC, null);
    tabTypeBC.add(LblTypeBC, null);
    mainTab.addTab("Type Book", tabTypeBC);
    TSCScrollPane.getViewport().add(TypeSCTable, null);
    tabTypeSC.add(BClose, null);
    tabTypeSC.add(BRollBack, null);
    tabTypeSC.add(BCommit, null);
    tabTypeSC.add(BSubmit, null);
    tabTypeSC.add(BSearch, null);
    tabTypeSC.add(BDelete, null);
    tabTypeSC.add(BAdd, null);
    tabTypeSC.add(BLast, null);
    tabTypeSC.add(BNext, null);
    tabTypeSC.add(BPrev, null);
    tabTypeSC.add(BFist, null);
    tabTypeSC.add(TSCScrollPane, null);
    tabTypeSC.add(TxtDecTSC, null);
    tabTypeSC.add(TxtTypeSC, null);
    tabTypeSC.add(LblDecSC, null);
    tabTypeSC.add(LblTypeSC, null);
    mainTab.addTab("Type SoftWare", tabTypeSC);
    mainTab.addTab("Type Hardware", tabTypeHC);
    THCScrollPane.getViewport().add(TypeHCTable, null);
    tabTypeHC.add(BhClose, null);
    tabTypeHC.add(BhRollback, null);
    tabTypeHC.add(BhCommit, null);
    tabTypeHC.add(BhSubmit, null);
    tabTypeHC.add(BhSearch, null);
    tabTypeHC.add(BhDelete, null);
    tabTypeHC.add(BhAdd, null);
    tabTypeHC.add(BhLast, null);
    tabTypeHC.add(BhNext, null);
    tabTypeHC.add(BhPrev, null);
    tabTypeHC.add(BhFirst, null);
    tabTypeHC.add(THCScrollPane, null);
    tabTypeHC.add(TxtDecTHC, null);
    tabTypeHC.add(TxtTypeHC, null);
    tabTypeHC.add(LblDecTHC, null);
    tabTypeHC.add(LblTypeHC, null);
    topPanel.add(mainTab, BorderLayout.CENTER);
    //hiddenNavBar.setModel(JUNavigationBar.createPanelBinding(panelBinding, hiddenNavBar));
    //navBar.setModel(JUNavigationBar.createPanelBinding(panelBinding, navBar));
    statusBar.setModel(JUStatusBar.createPanelBinding(panelBinding, statusBar));
    LblTypeBC.setText("Type Book Code :");
    LblDecTBC.setText("Description :");
    TxtTypeBC.setDocument((Document)panelBinding.bindUIControl("TypeBc1", TxtTypeBC));
    TxtDecTBC.setDocument((Document)panelBinding.bindUIControl("Description1", TxtDecTBC));
    TypeBCTable.setModel((TableModel)panelBinding.bindUIControl("TypeBookView1", TypeBCTable));
    LblTypeSC.setText("Type Software Code :");
    LblDecSC.setText("Description :");
    TxtTypeSC.setDocument((Document)panelBinding.bindUIControl("TypeSc1", TxtTypeSC));
    TxtDecTSC.setDocument((Document)panelBinding.bindUIControl("Description3", TxtDecTSC));
    TypeSCTable.setModel((TableModel)panelBinding.bindUIControl("TypeSoftwareView1", TypeSCTable));
    LblTypeHC.setText("Type Hardware Code :");
    LblDecTHC.setText("Description :");
    TxtTypeHC.setDocument((Document)panelBinding.bindUIControl("TypeHc1", TxtTypeHC));
    TxtDecTHC.setDocument((Document)panelBinding.bindUIControl("Description5", TxtDecTHC));
    TypeHCTable.setModel((TableModel)panelBinding.bindUIControl("TypeHardwareView1", TypeHCTable));
    BtFirst.setModel((ButtonModel)panelBinding.bindUIControl("First", BtFirst));
    BtFirst.setText("<<");
    BtPrev.setModel((ButtonModel)panelBinding.bindUIControl("Previous", BtPrev));
    BtPrev.setText("<");
    BtNext.setModel((ButtonModel)panelBinding.bindUIControl("Next", BtNext));
    BtNext.setText(">");
    BtLast.setModel((ButtonModel)panelBinding.bindUIControl("Last", BtLast));
    BtLast.setText(">>");
    BtAdd.setModel((ButtonModel)panelBinding.bindUIControl("Create", BtAdd));
    BtAdd.setText("Add");
    BtDel.setModel((ButtonModel)panelBinding.bindUIControl("Delete", BtDel));
    BtDel.setText("Del");
    BtSearch.setModel((ButtonModel)panelBinding.bindUIControl("Find", BtSearch));
    BtSearch.setText("Search");
    BtSubmit.setModel((ButtonModel)panelBinding.bindUIControl("Execute", BtSubmit));
    BtSubmit.setText("Submit");
    BtCommit.setModel((ButtonModel)panelBinding.bindUIControl("Commit", BtCommit));
    BtCommit.setText("Commit");
    BtRollback.setModel((ButtonModel)panelBinding.bindUIControl("Rollback", BtRollback));
    BtRollback.setText("Rollback");
    BFist.setModel((ButtonModel)panelBinding.bindUIControl("First1", BFist));
    BFist.setText("<<");
    BPrev.setModel((ButtonModel)panelBinding.bindUIControl("Previous1", BPrev));
    BPrev.setText("<");
    BNext.setModel((ButtonModel)panelBinding.bindUIControl("Next1", BNext));

  • PO creation using text file

    Hi All,
    I have program which takes input text file and create PO in SAP. Program is using standard SAP BAPI to create PO.
    This is working fine. But i have one program during errors.
    If text file contains 50 line items and suppose line 12 is incorrect. Incorrect means PIR,source list etc not correct or material is invalid etc etc. Then program(bapi) throw error and PO creation stops and not continue with remaining lines. That is also normal process when create PO via ME21N.
    User want to show errors for all invalid rows at the same. Basically they want PO VALIDATION step where they want to see errors of all line items. So that they can remove from text file. ANy idea how to do this?
    Thanks,
    Yogesh

    Yogesh,
    I don't understand your problem because I believe that BAPI (even ME21n) always throws all the errors for the input data in return table. So, if you have 2 problematic items in one purchase order, suppose 12 and 42, both containing invalid materials, BAPI will contain error message for both the records and not only 1 material as error.
    Similarly, if you click MESSAGES button in ME21n, you will get all the errors for all the items in the list and not 1 only, do check.
    I suppose the issue with your program must be the error handling of BAPI is not done well, and you are exiting the program showing only First return message or something like that. Do output all the error messages of the Return table and you should be able to see all the errors.
    Even if your File contains data of multiple POs, you should be able to check all the POs with all the items in a single program run.
    Let me know if you have any concerns or you need any help.
    BR,
    Diwakar

  • How to read any text files using file adapter as it is

    Hi,
    I need to build bpel process to read any text files as it is.I am file adapter and using opaque schema.But input file is coming as base64encoding format.But i need the input as it is.How can i do that.
    Is there any sample schema to read input text files as it is?

    in java embedding activity i need to remove all newlines from my input text file.During this process i am getting arryindexoutofbounds exception.Below is my code
    String input = (String)getVariableData("inputFileStr");
    Base64Decoder Decoder = new Base64Decoder();
    try
    String decoded = Base64Decoder.decode(input); --exception is coming at this line
    setVariableData("inputFileStr", decoded);
    decoded = decoded.replaceAll("\\n|\\r", "");
    byte[] outputBytes = decoded.getBytes();
    String reencoded = Base64Encoder.encode(outputBytes);
    setVariableData("outputFileStr", reencoded);
    catch(Exception uee)
    uee.printStackTrace();
    below is stack trace:
    09/02/26 08:10:33 java.lang.ArrayIndexOutOfBoundsException: -1
    09/02/26 08:10:33 at com.collaxa.common.util.Base64DecoderStream.decode(Base64DecoderStream.java:162)
    09/02/26 08:10:33 at com.collaxa.common.util.Base64DecoderStream.decode(Base64DecoderStream.java:143)
    09/02/26 08:10:33 at com.collaxa.common.util.Base64Decoder.decode(Base64Decoder.java:36)

Maybe you are looking for

  • Unable to Access Resource Error in AE CS6

    Hello, I'm running After Effects CS6 11.0 on MAC OSX  and everytime I attempt to apply text, either by creating a new text layer from the drop down menu or dragging open a text box I get "Unable to Access Resource    P_TextSmallCaps_Sm_N_D (type png)

  • Infopath submit button only works for the first row in a repeating table‏

    Hi, I have a InfoPath Email submit button issue I could not figure out. I have a master/detail repeating table in my form, and one of fields is "EmailAddress" which shows customer's email address. I created a submit button and put the "EmailAddress"

  • Sound with video in iTunes but not on Apple TV

    I use EyeTV from Elgato to record TV programs, strip out commercials, and convert for use on Apple TV. This has worked beautifully except for the last time. I can watch the TV show with sound using iTunes on my Mac. However, there is no sound viewing

  • Adaptive Page Layouts: UI Corrections on Search/KD Pages

    This thread started as a "how to make search results look like google" but after getting more familiar with search I started to realize that the KD is (to a certain extent) disconnected from the search results look and feel and that both would have t

  • Adobe CS6, Audio File length, and memory

    I recently began having issues with my systems memory while using CS6. I found this discussion concerning 3.0. http://forums.adobe.com/message/2216510 I am currently working on a piece that runs 36 hours. I have it split into one 20 hour file and the