Pickup the file based on the date in file name

Dear all,
I have requirement like this.
EX:
I have file name called ABC_20110721.txt , i have to pickup that file today and should not delete it and should not mark as 'Read only'. We have to keep that file as is in FTP.
I will have another file tomorrow like ABC_20110722.txt , i have to pickup this file alone.
So that means date in the file name is dynamic based on the system date( current date interface runs on )
Please let me know how can we do this?
Regards

Hi ,
    You have not specified your operating system on which PI is running.  You need scripts to achieve this for you. In case you are using UNIX/Solaris/Linux server the following script "filename.sh" should run fine
lines=`expr 0 + 0`
maxlines=`expr 0 + 100`
while [ 1 -le 5 ] ; do
     d=`date +%G%m%d`
     count=`ls -1 | grep $d |wc -l`
     c=`expr $count + 0`
     while [ $c -gt 0 ]; do
          file=`ls -1 | grep $d |tail -$c |head -1`
          searchFile=`grep $file temp | head -1 | wc -l`
          searchFile=`expr $searchFile + 0`
          if [  $searchFile -eq 0 ]; then
               cp $file /home/anghosh0/sdn/f
               echo $file >>temp
               lines=`expr $lines + 1`
          fi
          c=`expr $c - 1`
     done     
     if [ $lines -gt $maxlines ]; then
            k=`date +%G%m`
          grep $k temp > t
          mv -f t temp
          lines=`expr 0 + 0`
     fi     
done
Say you are poutting the source files say ABC_20110721.txt,ABC_20110722.txt,ABC_20110725.txt  in a directory. Say the name of the directory is    "/usr/home/dx7" . You have to put this scipt "filename.sh" in  "usr/home/dx7".  Set the permission bits of this script to "777" or you can use command "chmod 777 filename.sh". This script will choose only the files for todays date as per server time. This script is running in an infinite loop. Thus whenever there is a new file in the directory it checks the file name, and if the name contains todays date, it puts the file in "home/anghosh0/sdn/f" directory from where PI server picks it up for reading. Please change the folder name according to your convinience. Now in the folder "/usr/home/dx7" you need to keep a file called "temp" this file will conatin only one word or any symbol say "hi". The use of temp is to collect all file names that the script has already transferred to PI folder. Thus if script has transferred file say "ABC_20110725.txt " and "DEF_20110725.txt ", then "temp" will have contents
hi
ABC_20110725.txt
DEF_20110725.txt
This prevents same file being put to PI source directory twice. Once temp reaches a maximum of 100 lines, this script clears the contents of temp automatically, except for the lines which belong to current year and current month. You can alter this value by altering the line "maxlines=`expr 0 + 100`" in the script shown above.
This is because the file grows in length over time.Please take help of you BASIS team to put this file in correct folder and run it. It is working fine in our Linux server. Please run this as a background process with this command "filename.sh &".
I think this will solve your problem. In case your operating system is windows then Please let me know I need to write batch file for the same.
regards
Anupam
Edited by: anupamsap on Jul 26, 2011 8:18 AM

Similar Messages

  • The data form form name is invalid. Check log for details

    Hi all,
    i have just built a planning application from scratch and created my first form.
    i have encountered the error "The data form <form name> is invalid. Check log for details "
    and i have checked the log file.
    It reads as follows
    Unknown calculation type [0] during the dynamic calculation. Only default agg/formula/time balance operations are handled.
    An error [1012703] occurred in Spreadsheet Extractor.
    Spreadsheet Extractor Elapsed Time : [0] seconds
    Spreadsheet Extractor Big Block Allocs -- Dyn.Calc.Cache : [0] non-Dyn.Calc.Cache : [0]
    Transaction [ 0x60001( 0x4d8030e5.0xa0280 ) ] aborted due to status [1012703].
    User [admin] set active on database [Plan1]
    Can any one suggest me how to handle this.
    Thanks in advance

    user9192499 wrote:
    Hi all,
    i have just built a planning application from scratch and created my first form.
    i have encountered the error "The data form <form name> is invalid. Check log for details "
    and i have checked the log file.
    It reads as follows
    Unknown calculation type [0] during the dynamic calculation. Only default agg/formula/time balance operations are handled.
    An error [1012703] occurred in Spreadsheet Extractor.
    Spreadsheet Extractor Elapsed Time : [0] seconds
    Spreadsheet Extractor Big Block Allocs -- Dyn.Calc.Cache : [0] non-Dyn.Calc.Cache : [0]
    Transaction [ 0x60001( 0x4d8030e5.0xa0280 ) ] aborted due to status [1012703].
    User [admin] set active on database [Plan1]
    Can any one suggest me how to handle this.
    Thanks in advance
    ERROR 1012703
    *"Unknown calculation type [0] during the dynamic calculation. Only default agg/formula/time balance operations are handled."*
    There is an error in a formula(s), therefore, no calculations will work. The problem is that when you have the outline open in Edit mode and you try to 'Validate', it does not identify any of these errors, nor does it write it to a log. However, you can go one by one and validate each formula. So any time you delete a member or modify a member name, be sure that this member is not included in any formula.
    Regards,
    Prabhas

  • Error While Entering the Data: Code and Name

    Hi Experts,
    I have defined the Two User Defined tables and SBO created Two User Defined Forms.
    i am able added the Data in One of the Form with the same value in Code columns for multiple rows and different value in Name columns for multiple rows.
    but when i am trying to do the same thing second form, i am getting the following Error.
    "This entry already exists in the following tables  '' (@ABC) (ODBC -2035)  [Message 131-183]"
    Thanks in Advance
    Regards
    Lokesh

    Hi,
    U cannot enter the same value again and again... they are unique fields..
    Vasu Natari.

  • Query regarding the data type for fetcing records from multiple ODS tables

    hey guys;
    i have a query regarding the data type for fetcing records from multiple ODS tables.
    if i have 2 table with a same column name then in the datatype under parent row node i cant add 2 nodes with the same name.
    can any one help with some suggestion.

    Hi Mudit,
    One option would be to go as mentioned by Padamja , prefxing the table name to the column name or another would be to use the AS keyoword in your SQL statement.
    AS is used to rename the column name when data is being selected from your DB.
    So, the query  Select ename as empname from emptable will return the data with column name as empname.
    Regards,
    Bhavesh

  • Receiver File Name with date

    Hi @,
    I have a requirement where I wanted to genereate the recevier file name as TestYYYYMMDD.txt format.
    Note that in Receiver target structure date is not coming and output file also we dont require date data.
    I tried to put the Date root node and date field in target structure and in Receiver FCC i have not put the Date root node name but still date data is generated in output file.
    Since its a Comma separated file hence I can not use CUT option which is applicable for Fixed length file.
    I used the time stamp option but it is giving HH.MM.SS details which i dont want.
    Is there any other options available.
    chirag

    You can add a node 'TRAIL' with 'FILENAME' sub-node; Your target format is like this:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_FILE_STRING_OUT xmlns:ns0="HTTP://WWW.XXX.COM">
       <Recordset>
          <Row>3</Row>
       </Recordset>
       <Trail>
          <Filename>DFS-XXX-20090804173307</Filename>
       </Trail>
    </ns0:MT_FILE_STRING_OUT>
    When mapping, the UDF can be:
    (imports: java.text.SimpleDateFormat;)
    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
      String ds = sdf.format(new Date(System.currentTimeMillis()));
      String filename = "DFS-ADSFCL-" + ds;
    return filename;
    In file adapter, you can use the adapter attributes to get the file name and the conversion to cut the trail node in the file...
    Done!

  • Unique XML attatchment file name

    Is there any way when an email submit button is pressed, the XML file name generated is unique every time.
    The file name doesnt even need to relate to the data within the XML form, I could just be a set of random alpha numerics perhaps. I will be having almost 100 of these XML files ariving by email each day all to be put in the same folder/place on a windows PC so I need each one to have a unique name as maunaly renaming them will be very frustrating to do.
    Any help appreciated.
    Tom Bannister

    "You would think the program writers would have given an option to name the file after one of the field values that will be unique."
    No kidding. I should have spent more time playing with the trial before I recommended purchase. Was hoping to have the attached file reflect a data field.
    Like, in the form - Name: John
    File attached to the e-mail 'John.xml'.
    Seemed to me that there would be a way to script it. But it looks like not.
    It looks like my solutions are to
    A.) use Thunderbird with an attachment tool extension that will automatically re-name the files if they will overwrite when I go to save (sucks because Outlook is my required SW)
    B.) do it in Outlook but rename and save the files individually. or
    C.) ask my respondents to choose the "other" option when prompted to e-mail the data and then name the file according to my conventions.
    I'm thinking 'A' is going to have to do.
    But would like to see this feature added with an update.

  • Adding Multiple files to many Sharepoint Sites based on the Sites Code (Splitting the data using a code)

    Hi,
    I'm pretty new to Sharepoint and wanted to ask a question to see if it can actually do what we need it to do.
    We would have a top Site within a collection and under this we would have 400 sites for different sections of the business (External) Lots of teams create documents for all these sites and use the Code of the site in each document so we know what business
    site its going to. For example 67890_BusinessReportMay.docx We know this document should be heading to site 67890 
    We have lots of services sending data to these 400 business sites. If we were to do them manually it would take most of our time to go to each site and upload the documents, even if we could do all the sites documents in 1 multiple upload. We still have
    to go to each site to do it
    Is there an easy answer to this? At present I have folders to match each of the 400 Sharepoint Sites and I use an Integration Services package to move all the documents into these 400 Matching folders. I do this using the Code at the start of each file name.
    If it doesn't have a code its put into an error folder and reported back on.
    Then I want something to automatically go through each of these folders and load them into the Sharepoint Sites document libraries. 
    OR
    Say you have 600 files all going to the 500 sites on Sharepoint in one folder. The File contains meta data regarding the Sites Code.  Using this you can split the files and automatically pull them across to the Sharepoint Sites without having to go
    into each Sharepoint Site?
    I'm thinking that you cant do this and I'm hoping I'm wrong. Any help would be greatly appreciated.  
    Debbie

    Hi Debbie,
    According to your description, my understanding is that you want to move the documents to different sites based on the code in the name of the files.
    I recommend to create workflow and set the workflow to start when an item is created to achieve this goal.
    As there is no built-in action which can move the documents cross site, we need to use the custom activity 'Copy List Item Extended' which need to be downloaded from
    http://spdactivities.codeplex.com/.
    Please per the steps in the link below to deploy the custom activity to SharePoint:
    http://social.technet.microsoft.com/Forums/en-US/82609160-152f-461a-9a19-0e996f5a309b/sharepoint-2010-archiving-the-files-from-one-document-library-to-another-document-library-in
    After that, we can create a workflow to meet the need.
    Here is the detailed steps to create the workflow:
    Create a column in single line of text type(called NO for example) in the library where the documents are uploaded, and input value manually in the column to store the code when uploading the documents. (We can also use workflow to extract the code from
    the name of the documents if the codes are always 5 numbers.)
    Create a workflow associated with the library and set the workflow to start when an item is created.
    Select If current item field equals value, change the settings to be If Current Item: NO equals 67890.
    Select Copy List Item Extended, change the settings to be Copy item in Current Item to list at site 67890 URL.
    Select Delete Item, change the settings to be Delete Item in Current Item.
    Create other conditions from step 3 to step 5 to copy the documents to different sites and delete current documents.
    Best regards.
    Thanks
    Victoria Xia
    TechNet Community Support

  • SSIS package to order all the CSV files based on their date of creation/modification mentioned in a filename and load the least recent file in oracle Destination

    HI,
    I need a help for creating SSIS package which has flat file source (specifically , delimited csv files) which are placed in a shared folder
    having file names as  File_1_2015-04-30 08:54:13.900.csv, File_2_2015-04-30 07:54:13.900.csv.
    So, I wanted to use foreach loop to find out the oldest file amongst that(through script task) and need to transform that file in Oracle Destination. After that, I want to archive that file and need to continue this action uptil the most recent file gets
    loaded in destination.
    So, Could you guys please guide me?
    Thanks in advance

    I'd say you need two loops, one to cycle through all the files and collect their names. Then sort them based on your criterion
    Perhaps you can start by seeing http://www.sqlis.com/sqlis/post/Looping-over-files-with-the-Foreach-Loop.aspx
    Collect the file names into a Recodset Destination, then shred it http://www.sqlis.com/sqlis/post/Shredding-a-Recordset.aspx
    perhaps you need an outer loop to iterate over each file to compare the files for dates.
    Do each piece and post here where you needed to stop.
    Arthur
    MyBlog
    Twitter

  • When I import a text file(comma separated )into a numbers spread sheet all the data goes into one column. Why does the text not go into separate columns based on the commas.

    When I import a text file(comma separated) into a numbers spreadsheet all the data goes into one column instead of individual columns based on the comma separators.  Excel allows you to do this during the import..  Is there a way to accomplish this in numbers without opening it in Excel and the importing into Numbers.

    Your user info says iPad. This is the OS X Numbers forum. Assuming you are using OS X… Be sure the file is named with a .csv suffix.
    (I don't have an iPad, so I don't know the iOS answer.)

  • IDoc to File with different file name and data based on the IDoc header dat

    Hi,
    I got a requirement to implement IDOC to file senario.  In this the Converted file should have the file name and file content based on IDoc Header data.  Means If one of the IDoc header field value is
    'A'  - then the file name recieved by reciever system should be 'A.txt' and with the columns A  B  C  D  F.
    'B'  - then the file name recieved by reciever system should be 'B.txt' and with the columns C  D  F.
    In both the case IDoc message type is same.
    Please suggest me what i need to do to achieve this.
    Thanks in Advance. ...
    Regards
    Sri

    Hi,
    As per my requirement, we need to create one file for each IDoc based on IDoc header data. SAP program generates 10 IDocs for each run. All 10 IDoc's message type is same.  Each IDoc has one header record with the file name. Base on the  name in the IDoc header record, file needs to be created with different columns and file name. Means..
    IDoc 01- Header Description contains 'A' - than file will be generated should have name as 'A.txt' and columns 'parent'  'child' 'descripion'.
    IDoc 02- Header Description contains 'B' - than file will be generated should have name as 'B.txt' and columns 'Name' 'Department' 'Description'.
    IDoc 10- Header Description contains 'J' - than file will be generated should have name as 'J.txt' and columns 'Order No'  'Materail' 'Description'.
    Hope this will give more clarity on my requirement. Please let me if you are still not clear on requirement.
    Thanks for your all help..
    Thanks & Regards
    Sreeni

  • How can i validate the data in the control file?

    Consider that the SQLLoader reads the Input data File from the path and it loads the data into the tables based up on the descrition specified in the control File.
    First, the table to be filled is created:
    create table sql_loader_1 ( load_time date, field_1 Numeric, field_2 varchar2(10)
    Sample Control File :
    load_1.ctl
    load data
    infile 'load_1.dat' "str '\r\n'"
    insert into table sql_loader_1
    load_time sysdate,
    field_2 position( 1:10),
    field_1 position(11:20)
    Note that the positions 11 through 20 are loaded into field_1 and positions 1 through 10 into field_2. The field load_time is filled with the current time (sysdate) of the load.
    Here's the data. The name of the file (load_1.dat) had been specified with the infile statement in the control file.
    load_1.dat
    0123456789abcdefghij
    foo bar
    here comes a very long line
    and the next is
    short
    Here i want to validate the field_1 (Numeric Datatype) since the data file contains the character value (i.e)abcdefghij

    Good question for this forum:
    Export/Import/SQL Loader & External Tables
    Werner

  • How to store the data coming from network analyser into a text or excel file

    Hii everyone
    I'm using Agilent 8719ET network analyser and wish to store the data coming from netowrk analyser into a text file/ excel file.
    Presently I'm able to get the data on Labview graph using GPIB . Can anyone suggest how to go ahead after collect data sub vi. How can the data be stored into a file apart from showing on the graph?
    Attached is the vi for kind consideration...
    Looking for help
    Regards
    Rohit
    Attachments:
    Agilent 87XX Series Exceed Max Meas.vi ‏43 KB

    First let me say that your code really looks pretty good. The data handling could be made more efficient by calculating the number of datapoints that are going to be in the completed dataset and preallocating the entire array -- but depending upon your answer to my questions, the logic in the lower shift register may be going away - so we won't worry about that right now.
    The thing I need to know before addressing the data storage question is: Each time you call "Collect and Display Data.vi", how many element are in the array? Are you reading single data points, or a group of data? (BTW: if the answer to that question is obvious based on the way the other VIs are setup, I don't have the drivers so I can't tell what the setup values are.) Second, how fast does the loop iterate? Are we talking msec per loop?, seconds? fortnights?
    The issues here are two-fold: how much data? and how fast is it coming? The answer to these will tell you how to save the data.
    Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • How can I auto export a PDF File using the "Smallest File Size" preset and set the Exported File Name based on information from an Imported PDF?

    Greetings all,
    I am trying to create a script to automate a PDF export process for my company for inDesign. I’m fairly new to inDesign itself and have no previous experience with javascript, although I did take C++ in high school and have found it helpful in putting this code together.
    We have an inDesign template file and then use the Multi-page PDF importer script to import PDF files. We then have to export two version of each file that we import, then delete the imported file and all of the pages to reset the template. This has to be done for nearly 1000 pdf files each month and is quite tedious. I’m working on automating the process as much as possible. I’ve managed to piece together code that will cleanup the file much quicker and am now trying to automate the PDF exports themselves.
    The files are sent to us as “TRUGLY#####_Client” and need to be exported as “POP#####_Client_Date-Range_North/South.pdf”
    For example, TRUGLY12345_Client needs to be exported as POP12345_Client_Mar01-Mar31_North and POP12345_Client_Mar01-Mar31_South.
    There are two templates built into the template file for the north and south file that are toggled easily via layer visibility switches. I need to get a code that can ideally read the #s from the imported Trugly file as well as the Client and input those into variables to use when exporting. The date range is found in the same place in the top right of each pdf file. I am not sure if this can be read somehow or if it will have to be input manually. I can put North or South into the file name based on which template layer is visible.
    I am not sure how to go about doing this. I did find the following code for exporting to PDF with preset but it requires me to select a preset and then type the full file name. How can I set it to automatically use the “Smallest File Size” preset without prompting me to choose and then automatically input some or preferably all of the file name automatically? (If the entire filename is possible then I don’t even want a prompt to appear so it will be fully automated!)
    PDF Export Code (Originally from here: Simple PDF Export with Preset selection | IndiSnip [InDesign® Snippets]):
    var myPresets = app.pdfExportPresets.everyItem().name;
    myPresets.unshift("- Select Preset -");
    var myWin = new Window('dialog', 'PDF Export Presets');
    myWin.orientation = 'row';
    with(myWin){
        myWin.sText = add('statictext', undefined, 'Select PDF Export preset:');
        myWin.myPDFExport = add('dropdownlist',undefined,undefined,{items:myPresets});
        myWin.myPDFExport.selection = 0;
        myWin.btnOK = add('button', undefined, 'OK');
    myWin.center();
    var myWindow = myWin.show();
    if(myWindow == true && myWin.myPDFExport.selection.index != 0){
        var myPreset = app.pdfExportPresets.item(String(myWin.myPDFExport.selection));
        myFile = File(File.saveDialog("Save file with preset: " + myPreset.name,"PDF files: *.pdf"));
        if(myFile != null){
            app.activeDocument.exportFile(ExportFormat.PDF_TYPE, myFile, false, myPreset);
        }else{
            alert("No File selected");
    }else{
        alert("No PDF Preset selected");
    So far my code does the following:
    1) Runs the Multi-Page PDF Import Script
    2) Runs PDF Export Script Above
    3) Toggles the Template
    4) Runs #2 Again
    5) Deletes the imported PDF and all pages and toggles template again.
    It’s close and much better than the original process which was almost 100% manual but I’d like to remove the Preset prompt from the PDF script and have it automatically select the “Smallest File Size” preset. and then if there’s a way to have it auto-fill in the file name so no user input is required at all other than selecting each file to import. (If there’s a way to setup a batch action for the multi-import script that would be even better!)
    Thanks in advance and if there’s anything else I can provide that would help please let me know! Even a nudge in the right direction will be a big help!

    If you hold down the option key, it will typically show the location. Or you can often hit option-return on the file and it will reveal the file in the Finder, instead of opening it.
    Final option is to open it, and just option-click the filename in the toolbar of Preview and it should show you the location.
    It's probably an attachment to an email you've received. If you have Mail set to cache emails and their attachments it'll be stashed in a subdirectory of ~/Library/Mail. Which is fine.

  • How to read the data file and write into the same file without a temp table

    Hi,
    I have a requirement as below:
    We are running lockbox process for several business, but for a few businesses we have requirement where in we receive a flat file in different format other than how the transmission format is defined.
    This is a 10.7 to 11.10 migration. In 10.7 the users are using a custom table into which they are first loading the raw data and writing a pl/sql validation on that and loading it into a new flat file and then running the lockbox process.
    But in 11.10 we want to restrict using temp table how can we achieve this.
    Can we read the file first and then do validations accordingly and then write to the same file and process the lockbox.
    Any inputs are highly appreciated.
    Thanks & Regards,
    Lakshmi Kalyan Vara Prasad.

    Hello Gurus,
    Let me tell you about my requirement clearly with an example.
    Problem:
    i am receiving a dat file from bank in below format
    105A371273020563007 07030415509174REF3178503 001367423860020015E129045
    in this detail 1 record starting from 38th character to next 15 characters is merchant reference number
    REF3178503 --- REF denotes it as Sales Order
    ACC denotes it as Customer No
    INV denotes it as Transaction Number
    based on this 15 characters......my validation comes.
    If i see REF i need to pick that complete record and then fill that record with the SO details as per my system and then submit the file for lockbox processing.
    In 10.7 they created a temporary table into which they are loading the data using a control file....once the data is loaded into the temporary table then they are doing a validation and updating the record exactly as required and then creating one another file and then submitting the file for lockbox processing.
    Where as in 11.10 they want to bypass these temporary tables and writing it into a different file.
    Can this be handled by writing a pl/sql procedure ??
    My findings:
    May be i am wrong.......but i think .......if we first get the data into ar_payments_interface_all table and then do the validations and then complete the lockbox process may help.
    Any suggestions from Oracle GURUS is highly appreciated.
    Thanks & Regards,
    Lakshmi Kalyan Vara Prasad.

  • How to add a date suffix to the log file name

    In Windows, I want to run certain commands and save the output to a logfile every day. How to add a suffix to the log file name so I can distinguish which log file for which day?
    e.g. cmd >> logfile.date

    AZ wrote:
    In Windows, I want to run certain commands and save the output to a logfile every day. How to add a suffix to the log file name so I can distinguish which log file for which day?
    e.g. cmd >> logfile.datemy best friend name is "google", refer to this [url | http://stackoverflow.com/questions/203090/how-to-get-current-datetime-on-windows-command-line-in-a-suitable-format-for-usi]
    This is what i did
    1) created a dummy file in c drive
    2) copy pasted below lines, you can play around more with the format
    set _my_datetime=%date%_%time%
    set _my_datetime=%_my_datetime: =_%
    set _my_datetime=%_my_datetime::=%
    set _my_datetime=%_my_datetime:/=_%
    set _my_datetime=%_my_datetime:.=_%3) Rename the file from dos
    ren some.txt dummy_file_%_my_datetime%.txt4) Here goes the output
    C:\dir
    dummy_file_Mon_09_20_2010_161347_21.txt
    Most of the code i copied from above url, you can tweak a little bit based on ur requirement and format.
    Regards
    Learner                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

Maybe you are looking for