Project creation date api

Hi,
Is there a way to get the date when a project is created throught TFS Api

Hi Uday,      
Thanks for your post.
It seems the created date not stored in Project object in TFS API. To get team project created date automatically, you can query the date from
[Tfs_DefaultCollection].[dbo].[tbl_projects]
table>> [last_update]field use coding.
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey.

Similar Messages

  • FCP project creation date

    Hi all,
    1 have an installation with three MDC Xserves (10.6.2) ,8 Mac Pro clients ( 10.5.8 ) with XSAN 2.2.1 and Open Directory .
    The MAC pro clients have Final Cut Pro 6.0.6 installed.
    When we modify a project in FCP and save it then the creation date of the file changes to the modification date. This behavior happens only in the XSAN volumes and only for the FCP projects, if we create a text file , edit it and then save it the modification date changes but the creation date is not affected .
    Thanks in advance.
    Mac Pro Mac OS X (10.5.8) Xsan 2.2.1 & Final Cut Pro 6.0.6

    Hi Uday,      
    Thanks for your post.
    It seems the created date not stored in Project object in TFS API. To get team project created date automatically, you can query the date from
    [Tfs_DefaultCollection].[dbo].[tbl_projects]
    table>> [last_update]field use coding.
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • How can I sort clips by creation date in the project window?

    Trying to find a way to sort clips by creation date in project window, but can't seem to find an option for it. Is it possible?

    im using windows pc.. and a program called 'renamer' which is kinda tricky but free and easy once you figure out how to use it... if you know dos filename conventions and wildcards its easier to figure out.. add rules etc... no clue if this program is avail if you have mac...
    but put all files into a temp folder... use the renamer program.. it will write new names to the same folder.. then move all your files where you want to keep them and delete the temp one...
    if you want more info I'll chk back here..
    the main thing is that you can add prefix to filenames to keep track of what you shot when and ingested ... scenes etc .. or you can replace the sort order by just putting in a number or letter in filename that makes it sort the way you want...
    good luck

  • While creating Projects Using the API, get two errors: 'Customer name must be passed' and 'class category is invalid'

    Hi
    While trying to Create Projects using the API, I'm getting two types of errors -
    The first is : 'API failed in one stage 1 Customer Name is a mandatory Quick Entry field. Value must be passed'
    The second is : '
    'API failed in one stage 1 Project: '<Project_Number>'
    The class category is invalid.'
    Both the messages are produced by our custom program. .. however I am not able to understand why the underlying errors occur.
    The first error ( Customer Name is a mandatory quick entry field), is caused by Projects that are to be created from Project templates where it is configured with Quick Entry Customer Name required. We are passing Customer Site number ( Party Bill to site number and Party Ship to side number). The site numbers being passed are also set as 'Primary'. Yet they are failing.
    For the second Error ( The Class Category is invalid), I rechecked multiple times, the Class categories for the Projects I am trying to create, with the Config in R12 and they are fine. Can't understand the reason for these two issues. Has anyone encountered such an issue ? If so how was it resolved?
    Regards
    Vivek

    HI All
    I resolved both the issues. In case there are others facing similar issues, following was the cause and resolution of my errors
    1. Error 1: Customer Name is a Mandatory Quick Entry field. Value must be passed.
    The cause was that the data loaded into our custom staging table was not in the right fields. This was because the data file values and the CTL were not in sync.
    Resolution:
    Corrected the data file to be in Sync with the structure defined in the CTL and  this loaded it successfully
    2. Error 2: The class category is invalid.
    The cause of this error was that  in the  Projects Template (used to create the project from), the Quick Entry setup had a Class Category set as required and I was not passing a value ( a class code value) for that Class Category.
    Hope this helps somebody else
    Cheers
    Turnbill

  • Wrong risk creation date in PWA 2010

    Hey,
    We have a weird behavior in PWA 2010. The creation date of some risks in a project site is going crazy.
    Some risks are OK, but other have a creation date of 30/12/1899. I'm pretty sure PWA didn't exist at that time ;-)
    Would you know what could the cause and the solution of this problem?

    Indeed this could explain this behavior.
    Why is this formula by the way? The created field is usually populated automatically with the current date and do not need any formula.
    You'll have this behavior (strange date) if the formula doesn't return anything (in case the "created" value is empty). In this case, it will return a default value that is this odd date.
    I'd advice to review this field and make it equal to the current date and time, with no formula.
    Hoep this helps.
    Guillaume Rouyre - MBA, MCP, MCTS

  • Archiving in H264 while keeping folders/file creation date

    *Hi, I just wanted to share with you a script that helps to convert the content of the FCP "capture scratch" folder into H264, to move the converted files into a Device, put the h264 files in the correct client folder.*
    *Into this client folder, it creates folders with the original production name, while it keeps the original creation file date.*
    *So it keeps the original folder hierarchy and date for my archives, because to browse with the final cut server client is great, but sometimes you just want navigate in your file system to work with your videos.*
    *STEP 1* : Original Assets Cataloging (production scan)
    I have a Scheduled Production scan of my "capture scratch",
    (Capture scratch is on our SAN, so all Edit suites are capturing in the same "capture scratch" folder)
    *STEP 2*: Detect to which client the asset belongs to (thanks to the location name) and set the proper [Owner ]metadata asset
    NB: for that I ask all editors to put the name of the client at the beginning of the name of their FCP projects. ex CBS_snow in paris.fcp
    I have Subscriptions that filters created assets location to see if the location "begins with" the client name, then give a "response" that set the correct [Owner] metadata, and also change the "statut" to "WAITINGFORENCODE" (you have to create it into Lookup/Status)
    So I have as many Subscriptions/Reponse as actual Clients
    *STEP 3 :* I have a subscription that filters Modified Assets that have a status of "WAITINGFORENCODE"
    then gives 3 responses.
    +Response 1:+ Set Asset Metadate Status to "ENCODING" ( yeah, Status are made for collaborating tags.. but here we are...)
    +Response 2:+ Copy in H264 (that's where Matrox is great!) into a "transcode folder"
    +Response 3+ (the tough one): Copy the transcoded asset to the right archive location and keep original creation date, create an asset and put it in the same production as the original, and set the original Asset Metatadata Status as "ENCODED"
    Run Script
    Command Path: //path to the script.
    In the command parameters you'll need to enter: [File name] [Location] [Owner] [Asset ID]
    So here is the Script. It's a LOT inspired from Andy Sykes http://fcsvoodoo.blogspot.com/2009/07/add-newly-created-asset-to-originating.htm l
    A big thank to him for publishing it.
    #!/bin/bash
    FILENAME=$1
    PLACE=$2
    CLIENT=$3
    IDFILE=$4
    FILENAME_ESCAPED=$(echo -n "$FILENAME" | \
    perl -pe's/([^-_.~A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg');
    LOCATION_ESCAPED=$(echo -n "$PLACE" | \
    perl -pe's/([^-_.~A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg');
    # Set the location to the fcsvr_client binary
    PATH_TO_BINARIES="/Library/Application Support/Final Cut Server/Final Cut Server.bundle/Contents/MacOS/fcsvr_client"
    # Set the location of the Archives NAS Client Folder
    PATH_TO_TARGET="//Volumes/NASARCHIVES/""$CLIENT""/Footages"
    # Set the location of the Transcoding folder
    PATH_TO_TRANSCODE="//Volumes/EditSAN/Transcode"
    # Set the location of the Original File folder
    PATH_TO_ORIGINAL="//Volumes/EditSAN/Capture Scratch/"
    # Make a folder and move the file in it
    mkdir "$PATH_TO_TARGET""$PLACE"
    mv "$PATH_TO_TRANSCODE"/"$FILENAME" "$PATH_TO_TARGET""$PLACE"/
    #Set Copied File and Folder Date from original
    ORIGDATE=$(GetFileInfo -d "$PATH_TO_ORIGINAL""$PLACE"/"$FILENAME")
    ORIGDATEFOLDER=$(GetFileInfo -d "$PATH_TO_ORIGINAL""$PLACE")
    echo $ORIGDATE
    echo $ORIGDATEFOLDER
    Setfile -d "$ORIGDATE" "$PATH_TO_TARGET""$PLACE"/"$FILENAME"
    Setfile -d "$ORIGDATEFOLDER" "$PATH_TO_TARGET""$PLACE"
    # Determine original Production "address" by searching for the "location" (since this is the same as the Production name)
    PROJECTNAME=$("$PATH_TO_BINARIES" search --crit "$PLACE" /project | grep -i -o -e "/project/[0-9]*")
    echo $PROJECTNAME
    # Create asset and associate it with the project
    OUTPUT=$(sudo "$PATH_TO_BINARIES" createasset pa_asset_actua --projaddr $PROJECTNAME /dev/11/"$CLIENT""/Footages""$LOCATION_ESCAPED"/"$FILENAME_ESCAPED" CUST_ASSET_STATUS="INRAID6")
    echo $OUTPUT
    # Change Original metada asset status
    SETMETA=$(sudo "$PATH_TO_BINARIES" setmd /asset/$IDFILE CUST_ASSET_STATUS="TRANSCODED")
    echo $SETMETA
    Weekness of the script is when you're converting non .MOV files (or different extension in the H264 copy than the original), I could not figure out how Andy Skypes managed with the extensions in his script, so I just pass it.
    Now it's working like a charm after I had a lot of Issues due to the escape characters, but thanks the the perl command ,it's good now. But you will still need to ask editors to avoid / and & and () in file names...
    Well, I just make it work yesterday, so now I breath cause I couldn't figure out if investing if FCS would be more a sufferance than a relieve because lot of people saying that you have to totally rethink the way you work with assets, and forget about your folder hierarchy...but this, I couldn't hear It, especially when I saw the mess that was about to happen with thousands of P2 clips.
    My conclusion would be: Metadatata is great, but folder hierarchy can save you if you loose your DB or want to migrate ...
    au revoir.

    here we go
    #!/bin/bash
    FILENAME=$1
    PLACE=$2
    CLIENT=$3
    IDFILE=$4
    FILENAME_ESCAPED=$(echo -n "$FILENAME" |
    perl -pe's/([^-_.~A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg');
    LOCATION_ESCAPED=$(echo -n "$PLACE" |
    perl -pe's/([^-_.~A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg');
    # Set the location to the fcsvr_client binary
    PATH_TO_BINARIES="/Library/Application Support/Final Cut Server/Final Cut Server.bundle/Contents/MacOS/fcsvr_client"
    # Set the location of the Archives NAS Client Folder
    PATH_TO_TARGET="//Volumes/ARCHIVES/""$CLIENT""/Footages"
    # Set the location of the Transcoding folder
    PATH_TO_TRANSCODE="//Volumes/EditSAN/Transcode"
    # Set the location of the Original File folder
    PATH_TO_ORIGINAL="//Volumes/EditSAN/Capture Scratch/"
    # Make a folder and move the file in it
    mkdir "$PATH_TO_TARGET""$PLACE"
    mv "$PATH_TO_TRANSCODE"/"$FILENAME" "$PATH_TO_TARGET""$PLACE"/
    #Set Copied File and Folder Date from original
    ORIGDATE=$(GetFileInfo -d "$PATH_TO_ORIGINAL""$PLACE"/"$FILENAME")
    ORIGDATEFOLDER=$(GetFileInfo -d "$PATH_TO_ORIGINAL""$PLACE")
    echo $ORIGDATE
    echo $ORIGDATEFOLDER
    Setfile -d "$ORIGDATE" "$PATH_TO_TARGET""$PLACE"/"$FILENAME"
    Setfile -d "$ORIGDATEFOLDER" "$PATH_TO_TARGET""$PLACE"
    # Determine original Production "address" by searching for the "location" (since this is the same as the Production name)
    PROJECTNAME=$("$PATH_TO_BINARIES" search --crit "$PLACE" /project | grep -i -o -e "/project/[0-9]*")
    echo $PROJECTNAME
    # Create asset and associate it with the project
    OUTPUT=$(sudo "$PATH_TO_BINARIES" createasset pa_asset_actua --projaddr $PROJECTNAME /dev/11/"$CLIENT""/Footages""$LOCATION_ESCAPED"/"$FILENAME_ESCAPED" CUST_ASSET_STATUS="INRAID6")
    echo $OUTPUT
    # Change Original metada asset status
    SETMETA=$(sudo "$PATH_TO_BINARIES" setmd /asset/$IDFILE CUST_ASSET_STATUS="TRANSCODED")
    echo $SETMETA

  • Changing creation date on adobe acrobat 9

    I've got a folder full of old PDF files at work. They are all labeled DD-MM-YY to signify the date they were made but the pdf's were originally in Word format and when they were all converted to PDF's, they all took that day as their created date. I'm looking for a way to change the created date on these hundreds of PDF's to match the date in the file name. Is there an easy way to do this?  I have to print the documents and organize them chronologically by date.  However, I need to also have corresponding creation dates with the documents.  I'm not good with scripting or programming however I am great at following step by step directions.  I would greatly appreciate help on this since this is a semi time sensitive project.
    Thank you.

    Acrobat does not offer any way to change creation date. It is correct: by definition, it is the day when the PDF was made, it is not supposed to be set to a different date that might be more convenient.

  • Sorting projects by date for syncing

    I'm a new Aperture user and have recently imported a few years worth of iPhoto pictures. Everything went smoothly and I am really enjoying Aperture. I do, however, have one concern - syncing with iTunes. With iPhoto I could have the last 12 months events synced with my iPad and iPhone. This automatically changed as time passed so I always had the last 12 months of photos with me. But with Aperture if I select all projects from the last year, or month for that matter, ALL projects are selected. I assume this is because Aperture sees the projects as all newly created because of the recent import. But when I check the project properties the correct range of dates is listed.
    Is there any way, other than manually sorting, to have Aperture sync projects like iPhoto did albums?
    Thanks!
    Kevin

    I've experienced the exact same issue when I moved from iPhoto to Aperture last month. Here are the steps to recreate:
    1. Import your iPhoto library to Aperture, copying the photos into Aperture itself
    2. Open iTunes and attach your iOS device
    3. Go to your iOS device in iTunes and click on the "Photos" tab
    4. Check "Selected projects, albums and faces", and select "projects from the last 6 months"
    What should be included are projects with photos from the last 6 months. However, since the Aperture import created all new projects for each Event it imported from iPhoto, iTunes sees all projects as being from the last 6 months.
    I've rebuilt the Aperture library by holding Option+Command when opening Aperture, that didn't work. I even wrote a script to manually fix the project dates in ApertureData.xml using the dates from iPhoto. While that works temporarily, opening Aperture eventually overwrites the project dates with the incorrect recent ones.
    There is no way inside Aperture that I can find to change a project's creation date. The only thing close is right clicking on a project and clicking "Project Info". If I do that, they show the correct dates (i.e. photos from 1972 have a project date of 1972).
    This problem is seriously annoying and makes syncing photos to my iPhone essentially impossible without manually selecting albums. Apple, any input here is appreciated!

  • Automatic Project Creation

    Hi,
    I am trying to create project through sales order(VA01) for a specific material(whose strategy group is ZB -auto project creation in mm01-> MRP 3).At the last a popup window(related to Network: Header Data) should open after doing all the configuration in sales order.But is not opening. Please guide me for the same so that i can complete auto project creation.
    Regards,
    Vikas

    Hi,
    Refer the WIKI section of SDN. There is a very good post that explains Assembly Processing in detail. You can also search the forum to get relevant pointers.
    Regards,
    Gokul

  • FCP creation date problem

    Hi all,
    1 have an installation with three MDC Xserves (10.6.2) ,8 Mac Pro clients ( 10.5.8 ) with XSAN 2.2.1 and Open Directory .
    The MAC pro clients have Final Cut Pro 6.0.6 installed.
    When we modify a project in FCP and save it then the creation date of the file changes to the modification date. This behavior happens only in the XSAN volumes and only for the FCP projects, if we create a text file , edit it and then save it the modification date changes but the creation date is not affected .
    Thanks in advance.

    Hello Margaret,
    How are you downloading the pictures?
    If you plug your camera to the computer and use the camera's software or iPhoto, it would add the created date to your picture. I you use a card reader, I'm afraid it would not, unless you use iPhoto with the card reader.
    Gary
    Message was edited by: Gary Kawamura

  • CS4: Finding the creation date of a sequence

    Is there a way to determine the creation date of a sequence?
    Thanks...

    Thanks. With everything I love about PP, I wish it had some more advanced project management capabilities. Appreciate your replay.

  • Auto project creation and coding mask

    hi to all,
    i dont understand how system determines name of project definition during automatic project creation based on sales order.
    if the standard project definition does not have a coding mask then the project created is simply the sales order number. (no problem with that)
    however if the standard project definition has a coding mask, then in my case the newly created project just contains a certain number of 000000 and includes the last part of the standard project.
    hope someone could enlighten me on this..

    Hi,
    This scenario is very well explained in PS under title "Assembly processing".
    An assemble to order environment is one in which the product or service is assembled on receipt of the sales order. Key components are planned in anticipation of the sales order. Receipt of the order initiates assembly of the customized product. This business process is called assembly processing. It creates a link between sales document and project. It is an indirect method of generating a network or a WBS from a sales order. It is used throughout SAP R/3 logistics applications to automatically generate the order types like Planned order, Production order, Process order, Service order, Network (project).
    You will find the "SD/PS assignment" indicator in the control data for the project definition of the standard project. This indicator determines whether, during assembly processing, a hierarchy is created in the operative WBS for each sales document item, or whether a hierarchy is created for the entire
    sales document in the operative WBS.
    If we use SD/PS assignment indicator, do not flag "Only one Root" option in the project profile ( t code OPSA).
    Regards
    Tushar

  • Project & WBS data

    Hi All,
    I have project & WBS data in my Datasource. I have checked using RSA3 for a Datasource, and i c that the Project and Wbs data appear exactly as the Table Data like
    For Ex: Refer this Record values for WBS and Project respectuvely.
    (WBS)P000254A1 and P000254(Project).
    But when i replicate this Datasource in BW,,these above said values change to (WBS)1463 and 316(Project)
    Y is this change involved when the Datasource in R.3 shows correct Data but while In BW it shows Something Else,,
    Please Help on this Issue.
    Thanks
    Point Are Assured..

    Hi Jr,
    Sorry for the delay In reply!!
    Im Checking the data in BI at PSA level.I just replicated the datasource then scheduled the infopak to DS to see it.
    The DS is a Zdatasource which is made thru a Ztable. The table & ZDS in R//3 contains correct P******(WBS) and P****(project) data's,,but y is it wrong in BI??
    Is there any conversion exits!!,,,Bcoz,project number starts vth P****** but earlier in my Ztable it was showing the same numerics which is as of now in BI,,So i checked on the SEttingsUserparameterthen Check on conversion exit Box,Then finally the Data gt changed to P********.So is there any technique like this in BI??
    Please help

  • Want to get placed images Dimension and Creation Date in Catalog

    Below is the script which is free with CS4. Is there anybody who can modify this script in a way which provide the creation date and dimension of the images in image catalog.
    //ImageCatalog.jsx
    //An InDesign C4 JavaScript
    @@@BUILDINFO@@@ "ImageCatalog.jsx" 2.0.0 5-December-2007
    //Creates an image catalog from the graphic files in a selected folder.
    //Each file can be labeled with the file name, and the labels are placed on
    //a separate layer and formatted using a paragraph style ("label") you can
    //modify to change the appearance of the labels.
    //For more information on InDesign scripting, go to http://www.adobe.com/products/indesign/scripting/index.html
    //Or visit the InDesign Scripting User to User forum at http://www.adobeforums.com .
    //The myExtensions array contains the extensions of the graphic file types you want
    //to include in the catalog. You can remove extensions from or add extensions to this list.
    //myExtensions is a global. Mac OS users should also look at the file types in the myFileFilter function.
    main();
    function main(){
    var myFilteredFiles;
    //Make certain that user interaction (display of dialogs, etc.) is turned on.
    app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;
    myExtensions = [".jpg", ".jpeg", ".eps", ".ps", ".pdf", ".tif", ".tiff", ".gif", ".psd", ".ai"]
    //Display the folder browser.
    var myFolder = Folder.selectDialog("Select the folder containing the images", "");
    //Get the path to the folder containing the files you want to place.
    if(myFolder != null){
       if(File.fs == "Macintosh"){
        myFilteredFiles = myMacOSFileFilter(myFolder);
       else{
        myFilteredFiles = myWinOSFileFilter(myFolder);
       if(myFilteredFiles.length != 0){
         myDisplayDialog(myFilteredFiles, myFolder);
         alert("Done!");
    //Windows version of the file filter.
    function myWinOSFileFilter(myFolder){
    var myFiles = new Array;
    var myFilteredFiles = new Array;
    for(myExtensionCounter = 0; myExtensionCounter < myExtensions.length; myExtensionCounter++){
      myExtension = myExtensions[myExtensionCounter];
            myFiles = myFolder.getFiles("*"+ myExtension);
      if(myFiles.length != 0){
       for(var myFileCounter = 0; myFileCounter < myFiles.length; myFileCounter++){
        myFilteredFiles.push(myFiles[myFileCounter]);
    return myFilteredFiles;
    function myMacOSFileFilter(myFolder){
    var myFilteredFiles = myFolder.getFiles(myFileFilter);
    return myFilteredFiles;
    //Mac OS version of file filter
    //Have to provide a separate version because not all Mac OS users use file extensions
    //and/or file extensions are sometimes hidden by the Finder.
    function myFileFilter(myFile){
    var myFileType = myFile.type;
    switch (myFileType){
      case "JPEG":
      case "EPSF":
      case "PICT":
      case "TIFF":
      case "8BPS":
      case "GIFf":
      case "PDF ":
       return true;
       break;
      default:
      for(var myCounter = 0; myCounter<myExtensions.length; myCounter++){
       var myExtension = myExtensions[myCounter]; 
       if(myFile.name.indexOf(myExtension)>-1){
        return true;
        break;  
    return false;
    function myDisplayDialog(myFiles, myFolder){
    var myLabelWidth = 112;
    var myStyleNames = myGetParagraphStyleNames(app);
    var myLayerNames = ["Layer 1", "Labels"];
    var myDialog = app.dialogs.add({name:"Image Catalog"});
    with(myDialog.dialogColumns.add()){
      with(dialogRows.add()){
       staticTexts.add({staticLabel:"Information:"});
      with(borderPanels.add()){
       with(dialogColumns.add()){
        with(dialogRows.add()){
         staticTexts.add({staticLabel:"Source Folder:", minWidth:myLabelWidth});
         staticTexts.add({staticLabel:myFolder.path + "/" + myFolder.name});
        with(dialogRows.add()){
         staticTexts.add({staticLabel:"Number of Images:", minWidth:myLabelWidth});
         staticTexts.add({staticLabel:myFiles.length + ""});
      with(dialogRows.add()){
        staticTexts.add({staticLabel:"Options:"});
      with(borderPanels.add()){
       with(dialogColumns.add()){
        with(dialogRows.add()){
         staticTexts.add({staticLabel:"Number of Rows:", minWidth:myLabelWidth});
         var myNumberOfRowsField = integerEditboxes.add({editValue:3});
        with(dialogRows.add()){
         staticTexts.add({staticLabel:"Number of Columns:", minWidth:myLabelWidth});
         var myNumberOfColumnsField = integerEditboxes.add({editValue:3});
        with(dialogRows.add()){
         staticTexts.add({staticLabel:"Horizontal Offset:", minWidth:myLabelWidth});
         var myHorizontalOffsetField = measurementEditboxes.add({editValue:12, editUnits:MeasurementUnits.points});
        with(dialogRows.add()){
         staticTexts.add({staticLabel:"Vertical Offset:", minWidth:myLabelWidth});
         var myVerticalOffsetField = measurementEditboxes.add({editValue:24, editUnits:MeasurementUnits.points});
        with (dialogRows.add()){
         with(dialogColumns.add()){
          staticTexts.add({staticLabel:"Fitting:", minWidth:myLabelWidth});
         with(dialogColumns.add()){
          var myFitProportionalCheckbox = checkboxControls.add({staticLabel:"Proportional", checkedState:true});
          var myFitCenterContentCheckbox = checkboxControls.add({staticLabel:"Center Content", checkedState:true});
          var myFitFrameToContentCheckbox = checkboxControls.add({staticLabel:"Frame to Content", checkedState:true});
        with(dialogRows.add()){
          var myRemoveEmptyFramesCheckbox = checkboxControls.add({staticLabel:"Remove Empty Frames:", checkedState:true});
      with(dialogRows.add()){
        staticTexts.add({staticLabel:""});
      var myLabelsGroup = enablingGroups.add({staticLabel:"Labels", checkedState:true});
      with (myLabelsGroup){
       with(dialogColumns.add()){
        //Label type
        with(dialogRows.add()){
         with(dialogColumns.add()){
          staticTexts.add({staticLabel:"Label Type:", minWidth:myLabelWidth});
         with(dialogColumns.add()){
          var myLabelTypeDropdown = dropdowns.add({stringList:["File name", "File path", "XMP description", "XMP author"], selectedIndex:0});
        //Text frame height
        with(dialogRows.add()){
         with(dialogColumns.add()){
          staticTexts.add({staticLabel:"Label Height:", minWidth:myLabelWidth});
         with(dialogColumns.add()){
          var myLabelHeightField = measurementEditboxes.add({editValue:24, editUnits:MeasurementUnits.points});
        //Text frame offset
        with(dialogRows.add()){
         with(dialogColumns.add()){
          staticTexts.add({staticLabel:"Label Offset:", minWidth:myLabelWidth});
         with(dialogColumns.add()){
          var myLabelOffsetField = measurementEditboxes.add({editValue:0, editUnits:MeasurementUnits.points});
        //Style to apply
        with(dialogRows.add()){
         with(dialogColumns.add()){
          staticTexts.add({staticLabel:"Label Style:", minWidth:myLabelWidth});
         with(dialogColumns.add()){
          var myLabelStyleDropdown = dropdowns.add({stringList:myStyleNames, selectedIndex:0});
        //Layer
        with(dialogRows.add()){
         with(dialogColumns.add()){
          staticTexts.add({staticLabel:"Layer:", minWidth:myLabelWidth});
         with(dialogColumns.add()){
          var myLayerDropdown = dropdowns.add({stringList:myLayerNames, selectedIndex:0});
            var myResult = myDialog.show();
            if(myResult == true){
       var myNumberOfRows = myNumberOfRowsField.editValue;
       var myNumberOfColumns = myNumberOfColumnsField.editValue;
       var myRemoveEmptyFrames = myRemoveEmptyFramesCheckbox.checkedState;
       var myFitProportional = myFitProportionalCheckbox.checkedState;
       var myFitCenterContent = myFitCenterContentCheckbox.checkedState;
       var myFitFrameToContent = myFitFrameToContentCheckbox.checkedState;
       var myHorizontalOffset = myHorizontalOffsetField.editValue;
       var myVerticalOffset = myVerticalOffsetField.editValue;
       var myMakeLabels = myLabelsGroup.checkedState;
       var myLabelType = myLabelTypeDropdown.selectedIndex;
       var myLabelHeight = myLabelHeightField.editValue;
       var myLabelOffset = myLabelOffsetField.editValue;
       var myLabelStyle = myStyleNames[myLabelStyleDropdown.selectedIndex];
       var myLayerName = myLayerNames[myLayerDropdown.selectedIndex];
       myDialog.destroy();
       myMakeImageCatalog(myFiles, myNumberOfRows, myNumberOfColumns, myRemoveEmptyFrames, myFitProportional, myFitCenterContent, myFitFrameToContent, myHorizontalOffset, myVerticalOffset, myMakeLabels, myLabelType, myLabelHeight, myLabelOffset, myLabelStyle,  myLayerName);
      else{
       myDialog.destroy();
    function myGetParagraphStyleNames(myDocument){
    var myStyleNames = new Array;
    var myAddLabelStyle = true;
    for(var myCounter = 0; myCounter < myDocument.paragraphStyles.length; myCounter++){
      myStyleNames.push(myDocument.paragraphStyles.item(myCounter).name);
      if (myDocument.paragraphStyles.item(myCounter).name == "Labels"){
       myAddLabelStyle = false;
    if(myAddLabelStyle == true){
      myStyleNames.push("Labels");
    return myStyleNames;
    function myMakeImageCatalog(myFiles, myNumberOfRows, myNumberOfColumns, myRemoveEmptyFrames, myFitProportional, myFitCenterContent, myFitFrameToContent, myHorizontalOffset, myVerticalOffset, myMakeLabels, myLabelType, myLabelHeight, myLabelOffset, myLabelStyle,  myLayerName){
    var myPage, myFile, myCounter, myX1, myY1, myX2, myY2, myRectangle, myLabelStyle, myLabelLayer;
    var myParagraphStyle, myError;
    var myFramesPerPage = myNumberOfRows * myNumberOfColumns; 
    var myDocument = app.documents.add();
    myDocument.viewPreferences.horizontalMeasurementUnits = MeasurementUnits.points;
    myDocument.viewPreferences.verticalMeasurementUnits = MeasurementUnits.points;
    var myDocumentPreferences = myDocument.documentPreferences; 
    var myNumberOfFrames = myFiles.length;
    var myNumberOfPages = Math.round(myNumberOfFrames / myFramesPerPage);
    if ((myNumberOfPages * myFramesPerPage) < myNumberOfFrames){ 
      myNumberOfPages++;
    //If myMakeLabels is true, then add the label style and layer if they do not already exist.
    if(myMakeLabels == true){
      try{
       myLabelLayer = myDocument.layers.item(myLayerName);
       //if the layer does not exist, trying to get the layer name will cause an error.
       myLabelLayer.name;
      catch (myError){
       myLabelLayer = myDocument.layers.add({name:myLayerName});
      //If the paragraph style does not exist, create it.
      try{
       myParagraphStyle = myDocument.paragraphStyles.item(myLabelStyle);
       myParagraphStyle.name;
      catch(myError){
       myDocument.paragraphStyles.add({name:myLabelStyle});
    myDocumentPreferences.pagesPerDocument = myNumberOfPages; 
    myDocumentPreferences.facingPages = false; 
    var myPage = myDocument.pages.item(0); 
    var myMarginPreferences = myPage.marginPreferences;
    var myLeftMargin = myMarginPreferences.left; 
    var myTopMargin = myMarginPreferences.top; 
    var myRightMargin = myMarginPreferences.right; 
    var myBottomMargin = myMarginPreferences.bottom; 
    var myLiveWidth = (myDocumentPreferences.pageWidth - (myLeftMargin + myRightMargin)) + myHorizontalOffset
    var myLiveHeight = myDocumentPreferences.pageHeight - (myTopMargin + myBottomMargin)
    var myColumnWidth = myLiveWidth / myNumberOfColumns
    var myFrameWidth = myColumnWidth - myHorizontalOffset
    var myRowHeight = (myLiveHeight / myNumberOfRows)
    var myFrameHeight = myRowHeight - myVerticalOffset
    var myPages = myDocument.pages;
    // Construct the frames in reverse order. Don't laugh--this will 
    // save us time later (when we place the graphics). 
    for (myCounter = myDocument.pages.length-1; myCounter >= 0; myCounter--){ 
      myPage = myPages.item(myCounter);
      for (var myRowCounter = myNumberOfRows; myRowCounter >= 1; myRowCounter--){ 
       myY1 = myTopMargin + (myRowHeight * (myRowCounter-1));
       myY2 = myY1 + myFrameHeight;
       for (var myColumnCounter = myNumberOfColumns; myColumnCounter >= 1; myColumnCounter--){ 
        myX1 = myLeftMargin + (myColumnWidth * (myColumnCounter-1));
        myX2 = myX1 + myFrameWidth;
        myRectangle = myPage.rectangles.add(myDocument.layers.item(-1), undefined, undefined, {geometricBounds:[myY1, myX1, myY2, myX2], strokeWeight:0, strokeColor:myDocument.swatches.item("None")}); 
    // Because we constructed the frames in reverse order, rectangle 1 
    // is the first rectangle on page 1, so we can simply iterate through 
    // the rectangles, placing a file in each one in turn. myFiles = myFolder.Files; 
    for (myCounter = 0; myCounter < myNumberOfFrames; myCounter++){ 
      myFile = myFiles[myCounter]; 
      myRectangle = myDocument.rectangles.item(myCounter);
      myRectangle.place(File(myFile));
      myRectangle.label = myFile.fsName.toString();
      //Apply fitting options as specified.
      if(myFitProportional){
       myRectangle.fit(FitOptions.proportionally);
      if(myFitCenterContent){
       myRectangle.fit(FitOptions.centerContent);
      if(myFitFrameToContent){
       myRectangle.fit(FitOptions.frameToContent);
      //Add the label, if necessary.
      if(myMakeLabels == true){
       myAddLabel(myRectangle, myLabelType, myLabelHeight, myLabelOffset, myLabelStyle, myLayerName);
    if (myRemoveEmptyFrames == 1){ 
      for (var myCounter = myDocument.rectangles.length-1; myCounter >= 0;myCounter--){ 
       if (myDocument.rectangles.item(myCounter).contentType == ContentType.unassigned){
        myDocument.rectangles.item(myCounter).remove();
       else{
        //As soon as you encounter a rectangle with content, exit the loop.
        break;
    //Function that adds the label.
    function myAddLabel(myFrame, myLabelType, myLabelHeight, myLabelOffset, myLabelStyleName, myLayerName){
    var myDocument = app.documents.item(0);
    var myLabel;
    var myLabelStyle = myDocument.paragraphStyles.item(myLabelStyleName);
    var myLabelLayer = myDocument.layers.item(myLayerName);
    var myLink =myFrame.graphics.item(0).itemLink;
    //Label type defines the text that goes in the label.
    switch(myLabelType){
      //File name
      case 0:
       myLabel = myLink.name;
       break;
      //File path
      case 1:
       myLabel = myLink.filePath;
       break;
      //XMP description
      case 2:
       try{
        myLabel = myLink.linkXmp.description;
        if(myLabel.replace(/^\s*$/gi, "")==""){
         throw myError;
       catch(myError){
        myLabel = "No description available.";
       break;
      //XMP author
      case 3:
       try{
        myLabel = myLink.linkXmp.author
        if(myLabel.replace(/^\s*$/gi, "")==""){
         throw myError;
       catch(myError){
        myLabel = "No author available.";
       break;
    var myX1 = myFrame.geometricBounds[1];
    var myY1 = myFrame.geometricBounds[2] + myLabelOffset;
    var myX2 = myFrame.geometricBounds[3];
    var myY2 = myY1 + myLabelHeight;
    var myTextFrame = myFrame.parent.textFrames.add(myLabelLayer, undefined, undefined,{geometricBounds:[myY1, myX1, myY2, myX2], contents:myLabel});
    myTextFrame.textFramePreferences.firstBaselineOffset = FirstBaseline.leadingOffset;
    myTextFrame.parentStory.texts.item(0).appliedParagraphStyle = myLabelStyle;   

    "Scripting Forum Conduct
    While this forum is a great place to get scripting help, it's also very easy to misuse it. Before using this forum, please read this post!"

  • Payment Program Creation Date and User (is this in any table in SAP R/3)?

    Dear Experts!
    The treasury guy asked me whether there would be a way to recover the "Payment Program" Creation Date and Created by (User) from Payment Program Executions (F110 transaction).
    I searched on the REGU* tables and I didn't find out this information.
    Does anybody know whether there is any table where this is recorded?
    NOTE: We cannot use the information from "Proposal Log" because the log is removed from the Productive System and only the last 3 (three) days are remaining.
    Thanks and Kind Regards,
    Daniel Carvalho.

    Hello "The Wirtschaftsmann",
    Thanks for the reply. However, I need the Creation Date and Creation by of the Proposal / Payment Run steps.
    Not sure if this information is available nowadays at SAP. I opened an incident with SAP, let's see what they reply to us.
    Regards,
    Daniel

Maybe you are looking for

  • Calling stored procedure returning result set

    Hi all, i know this issue is discussed quite often. I did not find an answer in the forums, not in the manual and even not in the examples for stored procedure. So i try it here once more :) Description: GET_SKS: The GET_SKS procedure is used to gene

  • CER 7.1.1 install - no NTP server option

    Trying to install CER 7.1.1.  When I get to the Network Time Protocol Client Configuration window it prompts me to put in an NTP server IP address.  The install never prompts me to configure an NTP server or not.  The install doc says that I should g

  • Bluetooth + Airport disappearing - what's going on?

    Hello everyone, I bought a shiny new 15" MacBook Pro a few weeks ago, which ran fine for a week. Then, suddenly, my Bluetooth peripherals (mouse and keyboard) were disconnected. When I wanted to open the Bluetooth panel in System Preferences to see w

  • I just updated to iOS 6.1 and my iPad 3 is stuck in recovery mode???

    After receiving the prompt to update my software on my iPad 3 Retina, I plugged the iPad into the charger and began the software update. A few seconds later, everything went black and the plug into iTunes icons appeared. I think this is called the re

  • Red circle and x

    my 80 gig iPod has a red x and circle that shows up and says to go to apple support I have done this in the past for a previous iPod and whatever they told me to do either wasn't detailed enough or it just didn't work.