Changing Time Stamp in Receiver Adapter's File Naming Schema.

Hi All,
I am working on a ABAP Proxy to File(FTP with FCC) scenario.
I have a requirement to place the file at FTP with naming schema XSP_SUPPLIER_CC_DD_MM_YYYY.csv.
I have checked many blogs which talks about Dynamic Configuration, but here the naming schema we fetch is from sender file adapter's ASMA(Adapeter Specific Message Attributes).
But in my case sender side is ABAP proxy.
How can I achieve this??
Please suggest.
Regards,
Sachi

Hi,
>> but here the naming schema we fetch is from sender file adapter's ASMA(Adapeter Specific Message Attributes).But in my case sender side is ABAP proxy.
You can use dynamic configuration to not only fetch values from message header you can use it to put values to message heade also.....you can write  UDF (code will look like below) and in the UDF you can create string with required filename and concatinate it with the timestamp...
try {
String filename    = "";
String timestamp = "";
DynamicConfiguration conf1 = (DynamicConfiguration) container
    .getTransformationParameters()
    .get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key1 = DynamicConfigurationKey.create( "http:/"+"/sap.com/xi/XI/System/File","FileName");
filename = "XSP_SUPPLIER_CC_"sourceFiledValue(Supplier)addtimestamphere+".csv";
conf1.put(key1,filename);
return filename;
catch(Exception e)
     String exception = e.toString();
      return exception;
Supplier>UDF>TargetMessage
In the file receiver communication channel check the ASMA property target filename.
Regards,
Priyanka

Similar Messages

  • Customizing Time Stamp In Receiver File Adapter

    Hi,
    I am working in a XI to file adapter scenario.
    The default time stamp in receiver file adapter is yyyyMMdd-HHmmss-SSS.
    I want to time stamp as "ABC_MM_DD_YYYY_HH_MM_SS".
    i searched SDN,but not getting an end to end approach.
    Like...I developed a UDF ,but when I map it to receiver root node..I am getting error.
    Please help.
    Just request for a step by step procedure.
    Also,ASMA is not v clear to me......
    Plzzzzzzzzzzzz help!!
    Regards.

    Hi sriparna,
    The timestamp used by the File Receiver Adapter is a default pattern, to achieve that you have to use a UDF in the middle of the MM and set the receiver file name with the ASMA, read this for further information:
    ´´´´ Dynamic Configuration vs Variable Substitution - The Ultimate Battle for the File Name
    /people/shabarish.vijayakumar/blog/2009/03/26/dynamic-configuration-vs-variable-substitution--the-ultimate-battle-for-the-file-name
    It really helps,
    regards,
    Juan.

  • Changing time stamp format in the file receiver adapter file name

    Hi all,
    How can we change the standard date time stamp from
    filename_yyyymmdd-hhmmss-mil
    to
    filename_yymmdd_hhmmss
    i.e.,  I want "underscores" instead of "hyphens" and also I do not want the MilliSeconds.
    I read in the forums that I have to use the combination of variable substitution and mapping functions to do this, but not sure how exactly.
    Can the experts help me with this please?
    Many thanks.

    Hello Ramesh,
         You can make this possible using runtime filename creation using UDF.
    Please go though the below steps.
    Message mapping:  
    Create an UDF and include the piece of code that captures the Filename and Timestamp from source side via ASMA.
    Modify them according to our requirement by adding the <Timestamp> at the end of <filename> with _.
    Map the UDF to any of the top level node so that the modified filename will be available for the target communication channel
    UDF Code is:
    try {
    String filename    = "";
    String timestamp = "";
    DynamicConfiguration conf1 = (DynamicConfiguration) container
        .getTransformationParameters()
        .get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key1 = DynamicConfigurationKey.create( "http:/"+"/sap.com/xi/XI/System/File","FileName");
    DynamicConfigurationKey key2 = DynamicConfigurationKey.create( "http:/"+"/sap.com/xi/XI/System/File","SourceFileTimestamp");
    filename = conf1.get(key1);
    timestamp = conf1.get(key2);
    filename = filenametimestamp".xml";
    filename = filename.replaceAll( "-" ,"_" );
    conf1.put(key1,filename);
    return filename;
    catch(Exception e)
         String exception = e.toString();
          return exception;
    Click on Advanced tab and check the Option u201CSetAdapterSpecificMessageAttributesu201D in addition to that check the attribute that are required to be captured during run time. In our case File Name and Source File Time Stamp are required to be checked
    In the receiver communication channel Mention u2018 * u2018as File Name Scheme.
    Click on Advanced tab and check the Option u201CSetAdapterSpecificMessageAttributesu201D in addition to that check the attribute u201CFile Nameu201D which will carry the modified value in the UDF .
    i hope this will help you.
    Monica

  • Write mode :Add Time Stamp in J2SE Adapter

    Hi All,
         We are using J2SE receiver adapter while converting Idoc to File and the file comes in the following format.
    <filename>20080310-104448-995.dat
    But client wants it in more specific format.
    <filename>.D20080310.T104448.P00995.dat
    or
    <filename>-D20080310-T104448-P00995.dat
    I have got no  idea on this. So , if any one of you is aware, request you to let me know......
    Thanks,
    Viji

    Hi,
    I think you need to assign it dynamically as you cannot change the format for Add TimeStamp
      See the below links:
    File Adapter: Dynamic file name
    /people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
    http://help.sap.com/saphelp_nw04/helpdata/en/43/03612cdecc6e76e10000000a422035/frameset.htm
    http://help.sap.com/saphelp_nw70/helpdata/EN/e3/94007075cae04f930cc4c034e411e1/content.htm
    Thanks,
    Tiny

  • No update time stamp in the saved data file

    In NI Example Finder, there is a file called "Fieldpoint Datalogger.vi". I flip the "Time Format" switch to "HH:MMS" and the "File Type" switch to "Spreadsheet". The data saved into a file have time stamp at each line. However, the time stamp in each line of the data file saved as the same time without any update to the most current time. I put sampling frequency for 100 ms and saved as 50K bytes file size, but all the time stamps in the file show one same time (I believe it is the time to start to save into file and keep repeat it). How can I get the update time stamp for every 100ms or 500ms and save that time stamp into the data file from this "Fieldpoint Datalogger.vi"? Should I change anything on the subVI called
    "embedded FPLog.vi"?

    Hello,
    Fieldpoint systems usually base the timestamp on the National Instruments Time Server, which is installed on any computer using the Fieldpoint driver. This means that you can configure the Time Server on a Fieldpoint system to continuously check the system time of any computer on the network that has the Fieldpoint Driver installed by referencing its IP address.
    If the timestamp is not updating, then we should first verify that it has been configured properly.
    Take a look at the following Knowledge Base and let us know if using the listed steps takes care of this issue.
    http://digital.ni.com/public.nsf/websearch/C4E56AD6450FC5FD86256DFF0007FF01?OpenDocument
    Best regards,
    Justin Tipton
    National Instruments

  • Formatting the time stamp in "Write LabVIEW Measurement File"

    When I use the "Write LabVIEW Measurement File" vi to write data
    the files first column contains the number of seconds since the staart of the file
    How can I get the computer date and time or at least the time HH:MMS???
    Tom
    PS, And how can I put some sensible label on each columns in the file?

    Tom,
    The vi I'm attaching demonstrates how to use the computer system time for the timestamp on your LVM file. It takes a reading from the DAQ Assistant and applies a system time stamp. It's in version 7.1, but let me know if you need it in version 7.0.
    As for inserting meaningful column headers, you won't be able to do that with the express vi, but you could use the regular file i/o vis to create a file like that is similar to a LVM file, but is a little more customizeable and can be formatted however you like. The express vi is meant to be a quick solution, but does not offer all the versatility of the vis on the palette. I hope this helps you out. Have a good one, Tom!
    Tyler S
    Attachments:
    LVM_timestamp_7_1[1].vi ‏265 KB

  • Issue with processing time of JDBC receiver adapter

    Hi all,
    We are using PI 7.1 EHP1.
    We have an issue with JDBC receiver adapter taking too much time to process messages.
    We are using XML SQL format message protocol with INSERT_UPDATE as the document format.
    Each message can contain multiple records, i.e. 1 single message can result in many updates/inserts.
    Currently, time taken to process in 6-12 secs which is quite high considering the messages are not very large in size.
    We sent the statements to Oracle DBA to see if anything about the queries being used is causing issues. Awaiting inputs.
    In the mean time, wanted to check if there is anything that can be done from PI side that will help us improving the processing time.
    Thanks in Advance,
    Sailaja.

    Hi,
           i think the main cause is  query taking long time to execute in DataBase.
          -> increase the read time and response time in the JDBC receiver adapter.
      In the advanced mode table section of sender channel and receiver channel configurations, we can set driver properties for each DB connection. Any such property would have to contain prefix 'driver:'(with out quotes).
    For Oracle Database JDBC thin driver 10.2.0.3 version, the property oracle.jdbc.ReadTimeout helps to set read timeout while reading from the socket. Also for setting login time out in Oracle, we use oracle.net.CONNECT_TIMEOUT. To set these two properties use as follows: driver:oracle.jdbc.ReadTimeout 1000 driver:oracle.net.CONNECT_TIMEOUT 1000 The TimeOut Driver properties like ReadTimeout and CONNECT_TIMEOUT are in milliseconds.
    Refer note 1078420 for more details
    please go through this blog i hope it will help you.
        http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/c059d583-a551-2c10-e095-eb5d95e03747
    regards,
      ganesh
    Edited by: ganesh.nijampudi on Oct 25, 2011 12:00 PM

  • Time stamp to name a TDMS file

    Hi:
    I am using data from excel files to create a time stamp, after that,my VI creates TDMS files with this data in files with 5000 samples, also I am using time stamp to named the TDMS files, but my problem is that my first file takes the name 180000.000, How can I modify this? because I need my file´s name will be the first data from excel.
    I attached my VI and two excel files, the idea is that the first file will be 84327.500 and the second will be 84740.950
    Attachments:
    test1.xlsx ‏150 KB
    test2.xlsx ‏151 KB
    testfile.vi ‏56 KB

    First, let me congratulate you on taking your first steps to learning LabVIEW. If you have not already done it, I highly recommend you go through the online tutorials. You have an actual project to work on, so application of what you learn will be fairly immediate.
    For your actual program issue, you need to read the data from the Excel file and convert it to a timestamp before you set your filename. The order of operation of your program is to set the TDMS file name while simulataneously reading from the Excel file. After you have already created the TDMS file, you convert the data to a timestamp and write this to your timestamp front panel control. Note that the first point you write to the TDMS file may or may not be what you think it is. It could easily be the same 180000.000 value you are using to name the TDMS file. You have what is known as a race condition. The order of operation between the read and write of the timestamp control is not known and can be variable. It is one of the reasons that you should NEVER use local variables to pass data around. Use wires. In LabVIEW, wires are the data and take the place of variables in a text base language. Front panel controls should be used only for user interace reasons. In your loop, you should wire the timestamp from its current conversion (wired into the timestamp on the front panel) directly to the TDMS write (currently wired from a local variable of timestamp).
    A couple of other things. You do not need to convert your data arrays to matrices to index them. This can be done directly with Index Array from the array palette. This single primitive will replace the Array Subset, convert to matrix, and index matrix primitives.
    You do not need to go through a string conversion to produce a timestamp. The Date/Time to Seconds primitive in the timing palette will do it directly. You will need to populate the cluster input.
    When you posted your code, you did not include your subVIs. In the future, include all your VIs, either separately or in a ZIP file.
    Finally, to solve your intial problem, use Index Array to pull the first row of data from the Excel file, then convert this to a timestamp using Date/Time to Seconds. Use this to create your TDMS file.
    You may have noticed, if you do all this, you do not need your timestamp front panel control, other than as a simple monitor.
    Good luck! Welcome to LabVIEW.
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • Time stamp information in default trace file

    How to check the time stamp in defaulttrace.trc or application.trc files for logs in XI server.
    I have seen following timestamp in above mentioned trace  files. But seem to me, during the shutdown time of server, system put the timestamp in trace file.
    ERROR       gateway shutdown
    TIME        Fri Jun 20 11:01:08 2008
    Except for shutdown time, how the system put the timestamp for other activity of system in the default trace and application trace file??
    Sometime, i need to check the timestamp to get some specific information in default trace file for some system activities.
    is timestamp mentioned in coded form as per following log:
    #1.#36CC34C00F02009B000001B400001FF40004510B33EAB6D3#1215008464352#com.sap.engine.services.rfcengine##com.sap.engine.services.rfcengine.RFCDefaultRequestHand
    ler.handleRequest()#J2EE_GUEST#0##XQA#SAPSYS                          #4869A1FC78690A8DE10000000A2C0AC7#SAPEngine_Application_Thread[impl:3]_51##0#0#Error##P
    lain###java.lang.reflect.InvocationTargetException#
    #1.#36CC34C00F02009B000001B500001FF40004510B33EAB76C#1215008464352#com.sap.engine.services.rfcengine##com.sap.engine.services.rfcengine.RFCDefaultRequestHand
    ler.handleRequest()#J2EE_GUEST#0##XQA#SAPSYS                          #4869A1FC78690A8DE10000000A2C0AC7#SAPEngine_Application_Thread[impl:3]_51##0#0#Error##P
    lain###java.lang.reflect.InvocationTargetException
    Thanks
    Amar

    Hi Amarjit
    The timestamp is noted in unix epoch time (java does use this as well). It is this field:
    #1.#36CC34C00F02009B000001B400001FF40004510B33EAB6D3# 1215008464352 #com.sap.engine.services.rfcengine##com.sap.engine.services.rfcengine.RFCDefaultRequestHand
    ler.handleRequest()#J2EE_GUEST#0##XQA#SAPSYS
    The first 10 digits are seconds since epoch. The last 3 digits are milisecondes. Converted in human readable format: 07/02/2008 16:21:04.352
    [Unix Time|http://en.wikipedia.org/wiki/Unix_time]
    Damn, i remeber having answered this already here in the forums, but i cannot find the thread anymore myself :-(((
    Best regards
    Michael

  • Include time stamp in Write to Measurement file

    Dear Experts,
    I would like to include the time stamp in the data sheet I saved using a Write to Measurement file. Currently only 1 column of data was saved without the time stamp. Is there anyway I can save the data together with its time stamp in a single file (side by side column)? 
    Thank you.
    Regards,
    CYTeoh

    Did you configure the Express VI to create a time channel:
    Christian

  • I used "Get Waveform Components" to separate waveform data. I need to get the time stamp and write it on file as an header.

    I am not able to solve the problem because I can't find an I/O vi that writes on file time stamp data. An error occurs, because of connecting different data types. How can I convert time stamp data so that I can use it as input in a write on file vi? Please, help me!

    The problem with the selection seems to be that you are using two different indexing tunnels on the for loop. One of them loops over every value of the first incoming waveform, the other one over all waveforms in the incoming array. The value you wire to the N terminal will be ignored, the number of loop executions will be the minimum of your indexes. Anyway, the loop doesn't seem to do what you wanted:
    - If you want to store the complete waveform: loop over all waveforms, check for the maximum of each of them and write it just like you do now.
    - If you want to store only the values of each waveform that actually exceeded the threshold: You can either use 2 nested for loops to iterate over each value of each waveform. Use shift registers t
    o create new arrays of timestamps / values for the values you want to store. You need to either convert the waveform to x-y-pairs (VI on analog waveform palette) or calculate your own timestamps. You might as well want to check out the "Search waveform" VI. Configure it so that value+-tolerance covers the band between your expected minimum value and your threshold value. The VI will give you the indices and timestamps of all fits.

  • Help with saving time stamps to "write to measurement file" excel format.

    I am having problems saving the timestamps from my data to the write to measurement express vi for excel.  My incoming data is converted from dynamic data to a 1d array for processing, which I understand you lose the time stamp data. I added a new array for time stamps but this array then cannot be converted back to the dynamic data that is requested to go into the write to measurement file express vi.  I would prefer to leave the data in an array to be saved rather than converting it to a waveform so is there any way to add the time stamps from my 1d array back into the write to measurement file? 

    I set it up to build a waveform now but I am still having issues with it saving the correct timestamp.  The time just incriments for every second (as it did before converting the dynamic data to the waveform). I attached a screenshot.  
    Attachments:
    waveform.png ‏36 KB

  • Change time stamp interval

    I have been unhappy with most chat programs available for Mac, and I'm giving iChat another try. I would like to, if possible, change the way the time stamp works. I would prefer it with every message and exact to the second. Every five minutes is a little pointless and annoying. Can this be changed?
    Thanks

    hi Poohjlv,
    Welcome to the Apple Discussions
    This is not something that I know how to do.
    Kent Sutherland who writes ChaX may know http://www.ksuther.com/chax/
    It might be something he may add if enough people wanted it.
    If you have Devloper Tools installed you can look at the .plists (with Property List Editor) for iChat where this sort of thing is stored.
    Unfortunately lots of the info is actually hidden until you change it.
    It might be possible to change it from Terminal simialr to the Auoresponding can be changed or the iTunes displayed info can be altered.
    http://www.macosxhints.com/article.php?story=20050512152831112#comments
    http://www.macosxhints.com/article.php?story=20050610163358263&query=iChat%2Bwit h%2Bitunes
    10:05 PM Tuesday; August 8, 2006

  • Reciever File Adapter - Temp File Name Scheme using Variable Substitution

    How can I create a temporary file that uses variable substitution? 
    We are having a problem with files merging when we write files using the "Use Temporary File" setting on the FIle Adapter.  So two independent files are merging into a single file.  We are not using the "Append" setting.
    We would like to use a Temp File Name Scheme that would append the message id onto the temporary file name. 
    Using variable substitution we created a msgid variable.  When added to the temporary file name using %msgid% the temporary file name is created with %msgid% in the name instead of the actual message id.  We put the variable into the "File Name Scheme" as well and the end completed file used the message id in the name.
    Any Ideas?
    Thanks,
    Matt

    HI Matthew,
    Why are you adding the message id into the temporary file??
    I understand that you want the output of the filename to contain message id .. and hence you are using variable substitution for the same.
    Temporary file name will anyways get overwritten by the actual file name (here the actual filename will be using variable substituion).
    So i suggest to achieve your scenario you can add any name in the temporary file and maintain the desired filename you require as output in the variable subsititution.
    Temporary File Name option actually acts as a lock - unlock mechanism from PI side while the file is getting written to the file server so that while PI is writting the file no third party application batch program picks it up.
    I hope this helps.
    Cheers
    Dhwani

  • Bypass scenario with a specific file naming schema

    Hi,
    I am working on a bypass scenario where I pick a file from FTP location with naming conventions SCOS2UVMS_.TXT and place the file at other location with the name USED_Car.TXT.
    Now I have to place this file with the Date and Time Stamp as DYYMMDD.THHMMSS.
    How can I achieve this?
    Thanks & Regards,
    Sachi

    Hi,
    U can bypass the Integration repository steps and pass a file from 1 locatio to other.
    U need to configure only the Integration Directory. In all the objects (sender agreement,Receiver determination,Interface determination,Receiver agreement) just give the interface name as dummy and name space also dummy.
    Means u just give a arbitary interface name and namespace,which doesn't exist.
    Then run the sender communication channel and check in target directory.
    This will work fine....
    But i think its nt a good idea to use SAP  PI, for the just sake of transferring the files from 1 location to other.
    U can schedule a batch file,and move the files b/w two locations.
    I hope this will solve ur problem..
    Babu

Maybe you are looking for

  • Is there an upgrade option to Windows 7 for existing Vista notebooks?

    Toshiba are currently offering upqrades to Win 7 for purchaseers of *NEW* machines with Vista. What is Toshiba policy for users of *existing* machines with Vista? Will Toshiba provide an OEM upgrade/replacement route or will I have to buy Win 7 comme

  • Cable Box IR Extender

    Using CISCO CHS 355HDC and wish to use IR extender through cabinetry.  The 3 ft cable from Verizon is not long enough to make it to box. Have tried to extend the length with an extender cable - "8 ft headphone/computer speaker extension, 3.5 mm, ster

  • Physical inventory/stock taking, Asset tracking

    Hello, I am trying to understand how asset labelling, tracking and physical inventory (stock taking) can be done using handheld devices directly on SAP. Pls let me know any leads/information. Thanks, SD

  • Calculating two fields

    I want Field2 to be the colculation of Field1*.123.How do I achieve this???

  • How to implement a parallel approval?

    Hi, all. My process has a parallel approval, but I have no idea how to implement it. I have a task which has to be approved by three different managers parallelly. If all of them approve the task, then the task will keep going, otherwise the task fai