Get the root folder name once user will upload any files to subfolder with in this root folder using sharepoint designer WF??

Hi,
How to get the root folder name using sharepoint designer WF? i have a document library with root folders and subfolders. so i am trying to get the root specific root folder name attaching with email once user will
upload any files to subfolders within that root folder.
Thanks in advanced!

Hi,
According to your description, you might want to get the root folder name in SharePoint Designer Workflow when there is file uploading.
The “Path” field of the current item holds the relative path of a file, as a workaround, you can retrieve the value of the “Path” as string, then split the string
value with a delimiter character of “/” to meet your requirement.
In SharePoint Designer 2010, there is no OOTB action to split the string. You can use the custom workflow actions below to achieve it.
Here is a link about the related actions I use in this scenario:
https://spdwfstringactions.codeplex.com/
Settings of workflow as below:
It works well in my environment:
Best regards
Patrick Liang
TechNet Community Support

Similar Messages

  • How to get the current schema name

    Hi,
    Can anybody please tell me how to get the current schema name, there is some inbuilt function for this,but i am not getting that. Please help me.
    Thanks
    Jogesh

    ok folks, I found the answer at Tom's as usual.
    http://asktom.oracle.com/tkyte/who_called_me/index.html
    I rewrote it into a function for kicks. just pass the results of DBMS_UTILITY.FORMAT_CALL_STACK to this function and you will get back the owner of the code making the call as well some extra goodies like the name of the code and the type of code depending on the parameter. This ignores the AUTHID CURRENT_USER issues which muddles the schemaid. Quick question, does the average user always have access to DBMS_UTILITY.FORMAT_CALL_STACK or does this get locked down on some systems?
    cheers,
    paul
    create or replace
    FUNCTION SELF_EXAM (
       p_call_stack VARCHAR2,
       p_type VARCHAR2 DEFAULT 'SCHEMA'
    ) RETURN VARCHAR2
    AS
       str_stack   VARCHAR2(4000);
       int_n       PLS_INTEGER;
       str_line    VARCHAR2(255);
       found_stack BOOLEAN DEFAULT FALSE;
       int_cnt     PLS_INTEGER := 0;
       str_caller  VARCHAR2(30);
       str_name    VARCHAR2(30);
       str_owner   VARCHAR2(30);
       str_type    VARCHAR2(30);
    BEGIN
       str_stack := p_call_stack;
       -- Loop through each line of the call stack
       LOOP
         int_n := INSTR( str_stack, chr(10) );
         EXIT WHEN int_cnt = 3 OR int_n IS NULL OR int_n = 0;
         -- get the line
         str_line := SUBSTR( str_stack, 1, int_n - 1 );
         -- remove the line from the stack str
         str_stack := substr( str_stack, int_n + 1 );
         IF NOT found_stack
         THEN
            IF str_line like '%handle%number%name%'
            THEN
               found_stack := TRUE;
            END IF;
         ELSE
            int_cnt := int_cnt + 1;
             -- cnt = 1 is ME
             -- cnt = 2 is MY Caller
             -- cnt = 3 is Their Caller
             IF int_cnt = 1
             THEN
                str_line := SUBSTR( str_line, 22 );
                dbms_output.put_line('->' || str_line);
                IF str_line LIKE 'pr%'
                THEN
                   int_n := LENGTH('procedure ');
                ELSIF str_line LIKE 'fun%'
                THEN
                   int_n := LENGTH('function ');
                ELSIF str_line LIKE 'package body%'
                THEN
                   int_n := LENGTH('package body ');
                ELSIF str_line LIKE 'pack%'
                THEN
                   int_n := LENGTH('package ');
                ELSIF str_line LIKE 'anonymous%'
                THEN
                   int_n := LENGTH('anonymous block ');
                ELSE
                   int_n := null;
                END IF;
                IF int_n IS NOT NULL
                THEN
                   str_type := LTRIM(RTRIM(UPPER(SUBSTR( str_line, 1, int_n - 1 ))));
                 ELSE
                   str_type := 'TRIGGER';
                 END IF;
                 str_line  := SUBSTR( str_line, NVL(int_n,1) );
                 int_n     := INSTR( str_line, '.' );
                 str_owner := LTRIM(RTRIM(SUBSTR( str_line, 1, int_n - 1 )));
                 str_name  := LTRIM(RTRIM(SUBSTR( str_line, int_n + 1 )));
              END IF;
           END IF;
       END LOOP;
       IF UPPER(p_type) = 'NAME'
       THEN
          RETURN str_name;
       ELSIF UPPER(p_type) = 'SCHEMA.NAME'
       OR    UPPER(p_type) = 'OWNER.NAME'
       THEN
          RETURN str_owner || '.' || str_name;
       ELSIF UPPER(p_type) = 'TYPE'
       THEN
          RETURN str_type;
       ELSE
          RETURN str_owner;
       END IF;
    END SELF_EXAM;

  • ITunes 11: How do I get the iPod button back once I go back to my music. Do I always have to unplg and plug my iPod back in?

    iTunes 11: How do I get the iPod button back once I go back to my music? Do I need to unplug and replug my iPod back in?

    Nastyassink-
    Apple's Camera Connection Kit includes both an SD adapter and a USB adapter.  You can use an SD card or an adapted Mini SD card with the SD adapter.  You can use a USB thumb drive with the USB adapter, as well as a USB adapter for other cards such as Compact Flash.  (Some card adapters draw too much current and require a powered USB hub to work.)
    It is required that the camera card or thumb drive be formatted as MS-DOS FAT, just as if it had been formatted in a camera.  Photos and videos must be in a folder named DCIM, and have names consisting of 8 characters plus suffix, just as they would have been named in a camera.
    Some video formats are not compatible with the iPad video player and must be converted on your computer.  (The iPad can read M4V, MP4 and some MOV files.)
    Fred

  • Is it possible to get the main class name in a Thread context ?

    for example, i want to get the main class name (the first entry of the program).
    public class Test implements Runnable {
         public Test() {}
         public static void main(String[] args) {
              new Thread(new Test()).start();
         public void run() {
              try {
                   //Want to get the main class name (not the current class name)
                   throw new Throwable();
              } catch (Throwable e) {
                   e.printStackTrace();
    }

    Acutally, i wanna make clear about the concept of a "Thread"
    Is it true that ..
    the main() method is a thread , once I create another thread in the program , both of (or all of them) will contains it owns stack exception information ?
    My english is poor, please try to understand it. Thx

  • How to get the Portal Page name from PLSQL?

    Can anyone tell me how to get the portal page name from my dynamic page using plsql?
    Apparently you can get the page id and work it out from there, but my calls to get the page id are not returning any values anyway.
    My code for attempting to get the page id is below.
    <oracle>
    declare
    v_pageid varchar2(30);
    begin
    v_pageid := wwpro_api_parameters.get_value('_pageid', '/pls/portal30');
    htp.print('Page is '|| v_pageid);
    end;
    </oracle>
    Ideally I'd actually just like to get the page name. Is there a straightforward way to do this?
    Thanks in advance!
    Sarah

    Few clarifications -
    1. wwpro_api_parameters cannot be used to get default portal
    page parameters such as '_pageid', '_dad', '_schema' etc.,
    2. Page information can be obtained through any components which
    are available in that particular page. For example, in case of
    dynamic page, we need to publish it as a portlet and add it to the
    page. This process creates necessary packages in the DB, but we
    will not have access to the portlet methods.
    So, I would prefer creating a simple DB provider & portlet and access
    page title from its show method as follows -
    //Declare local variable l_page_id, l_page_title as varchar2
    select page_id into l_page_id from wwpob_portlet_instance$ where
    portlet_id = p_portlet_record.portlet_id and
    provider_id = p_portlet_record.provider_id;
    select name into l_page_title from wwpob_page$ where id=l_page_id;
    More information on DB provider can be found at
    http://portalstudio.oracle.com/pls/ops/docs/FOLDER/COMMUNITY/PDK/articles/understanding.database.providers.html
    Secondly, usage of wwpro_api_parameters.get_value method is
    incorrect. This method expects two arguments -
    <ul>
    <li><b>p_name : </b> The name of the parameter to be returned.</li>
    <li><b>p_reference_path : </b> An unique identifier for a portlet instance on the current page.</li>
    </ul>
    p_reference_path would be something like 99_SNOOP_PORTLET_76535103 and not some type of path as its name suggests.
    The following code fragment fetches all parameters available
    for a portlet.
    Note : Copy this code into 'show' method of your portlet.
    //Declare l_names, l_values as owa.vc_arr
    * Retreive all of the names of parameters for this portlet
    l_names := wwpro_api_parameters.get_names(
    p_reference_path=>p_portlet_record.reference_path);
    * Retreive all of the values of parameters for this portlet
    l_values := wwpro_api_parameters.get_values(p_names=>l_names,
    p_reference_path=>p_portlet_record.reference_path);
    //Loop through these arrays to get parameter information
    htp.p('<center><table BORDER COLS=2 WIDTH="90%" >');
    htp.p('<tr ALIGN=LEFT VALIGN=TOP>');
    htp.tableData(wwui_api_portlet.portlet_heading('Name',1));
    htp.tableData(wwui_api_portlet.portlet_heading('Value',1));
    htp.tableRowClose;
    if l_names.count = 0 then
    htp.p('<tr ALIGN=LEFT VALIGN=TOP>');
    htp.p('<td COLSPAN="2">'
    ||wwui_api_portlet.portlet_text(
    'No portlet parameters were passed on the URL.',1)
    ||'</td>');
    htp.tableRowClose;
    else
    for i in 1..l_names.count loop
    htp.p('<tr ALIGN=LEFT VALIGN=TOP>');
    htp.tableData(l_names(i));
    htp.tableData(l_values(i));
    htp.tableRowClose;
    end loop;
    end if;
    htp.p('</table></center>');
    Hope it helps...
    -aMJAD.

  • HT4972 I replaced the computer I originally used to synch my iPhone. I get the message stating that my content will be erased, even though this is the computer I now synch with. Is there a way to make the update recognize the new computer?

    I replaced the computer I originally used to synch my iPhone. When trying to update to iOS5.0, I get the message stating that my content will be erased, even though this is the computer I now synch my phone with. Is there a way to make the update recognize the new computer so that my content will be kept?

    The best option is to copy your entire iTunes folder from your old computer to your new one using one of the methods described here: http://support.apple.com/kb/HT4527.  This will allow iTunes on your new computer to recognize and sync with your phone without deleting content.  You will also need to copy over any other synced data not in your iTunes library such as photos synced to your phone, calendars and contacts.
    If you can't do this, these articles will help you start syncing with your new computer with minimal or no data loss:
    Syncing to a "New" Computer or replacing a "crashed" Hard Drive
    Recovering your iTunes library from your iPod or iOS device

  • TS1424 I keep getting the message (song name) was not copied to IPod Ipod because it cannot be played on this ipod.  Could someone tell me what this means?  I have never had this problem.

    Hi, I have been trying to down load some music to my Ipod.  I keep getting the message: (Song name) was not copied to IPod IPod because it cannot be played on this I pod.
    Can anybody help?  I have never had this problem before.

    brackenfromrincon wrote:
    Is it something about "I Shot the Sheriff" that my iPod has a moral disagreement with? It had no issue importing and installing Body Count's "Kop Killa"...
    Not really likely, is it?
    First of all, look on the iPod to see if the song is actually on there. (The last Sync of my Classic resulted in "song not copied... because it cannot be found." The song had previously been on the iPod. I checked and despite the fact that iTunes could not find the file, the song was still on my iPod. I checked the folder and the song was exactly where t was supposed to be. So I simply set iTunes to find it again. What happened? I don't know, iTunes simply threw a wobbly!)
    Second, try another Sync. Does this change anything? If the song was on the iPod, does a second Sync remove the message?  If the song was not on the iPod after the first Sync, does the second one put it on there?
    What happens?

  • How to get the actual font name from a font file?

    Hi
    I have only the font Path I have to get the font name from that path. Any idea how to get the actual font name?
    Thanks,

    I would ask you these questions:
    Why do you need to do this?  What are you ultimately trying to accomplish?
    Are you really asking about the InDesign SDK?
    Do you really need to get the "name" of a font from an arbitrary file?  Or do you want information about a font installed on the system?  If so, what OS?
    Do you need to be able to handle any font format?
    Which font "name" do you mean?
    What language do you want the name in?
    (1) It's not clear what you're trying to accomplish.  A bit more information about your ultimate goal would be helpful.
    (2) This question is not at all specific to the InDesign SDK.  Are you really trying to do something in the context of an InDesign plug-in?  If so, you probably want to look at IID_IFONTFAMILY and the IFontFamily::GetFamilyName function.
    (3) If you are asking more generally, Windows and Mac both have system API calls to get this information, although those tend to deal with installed system fonts, not with arbitrary font files per se.
    Also, you can parse the name table from a True Type or Open Type font without using any system APIs; as True Type and Open Type are well-documented standards.  I would start by reading these:
    The Naming Table
    Font Names Table
    (4) Although there are other standards, such as Type 1 (PostScript) fonts, and True Type Collection files and other formats, especially on Mac.
    (5) Also, when you start down this road, you will quickly realize that your seemingly simple question is actually ambiguous, and that the answer is kind of complicated, because a font can have many names (a family name, a full font name, a style name, a PostScript name, etc.).
    (6) And not only does a font have multiple names, it can have each of those names in multiple languages and encodings.
    Any clarification would make this a better question.

  • How to get the main funciton name when calling another function inside?

    for eg, one RFC named A,inside A,a funtion B is called.when the processing is at B now,how can i get the main RFC name(A)?
    any help will be much appricated.

    > just see SM50,there is a column called 'Report',it shows the program id the proess is now processing.but i don't know its main program or say it 'the process's first excuting program',how can i get it programmatically?
    I'm still not sure to understand. The program in SM50 is the current main program (not the first). It is stored in SY-REPID system variable. Or use this code:
    DATA lt_callstack_long TYPE abap_callstack.
    DATA ls_callstack_long TYPE LINE OF abap_callstack.
    CALL FUNCTION 'SYSTEM_CALLSTACK'
          IMPORTING
            callstack    = lt_callstack_long.
    READ TABLE lt_callstack_long INDEX 1 INTO ls_callstack_long.
    WRITE : / 'current main program is:', ls_callstack_long-mainprogram.
    If you want to know the frame program (the first called), use SY-CPROG, or use this code:
    DATA lt_callstack_long TYPE abap_callstack.
    DATA ls_callstack_long TYPE LINE OF abap_callstack.
    CALL FUNCTION 'SYSTEM_CALLSTACK'
          IMPORTING
            callstack    = lt_callstack_long.
    " read last line = first called program
    DESCRIBE TABLE lt_callstack_long. "to make sy-tfill = number of lines
    READ TABLE lt_callstack_long INDEX sy-tfill INTO ls_callstack_long.
    WRITE : / 'First main program is:', ls_callstack_long-mainprogram.

  • How to get the database owner name in T-SQL script

    Hello, All!
    I want to get the database ower name (in format DOMAIN\user) by through T-SQL script. But SELECT * FROM sys.databases returns only owner_sid.
    Please show me a way - how to get the owner name, if you have only owner_sid. Or, may be, somebody know another way ?
    Andy Mishechkin

    SELECT suser_sname( owner_sid ), * FROM sys.databases
    http://www.t-sql.ru

  • How to get the available profile names in oracle database

    How we can get the available profile names in oracle 11g

    Hi;
    It isnt to check from dictionary ?
    select * from dictionary where table_name like '%PROFILE%'
    PS:Please dont forget to change thread status to answered if it possible when u belive your thread has been answered, it pretend to lose time of other forums user while they are searching open question which is not answered,thanks for understanding
    Regard
    Helios

  • JRockit_160_05_R27.6.2-20 can not get the correct os name for windows 2008

    JRockit_160_05_R27.6.2-20 can not get the correct os name for Windows Server 2008 SP1 using System.getProperty("os.name").
    System.getProperty("os.name") will return Windows Vista instead of Windows Server 2008 when running on Windows Server 2008 SP1. Is it a bug of this jdk?
    I tested it on Sun JDK 1.6. It returns the correct name Windows Server 2008.
    Any suggestion will be welcomed. Thanks in advanced!
    Edited by: user4516182 on May 13, 2010 12:59 AM

    Staffan, thanks for your update.
    Do we have a workaround for it or fix it in new release?

  • When copying one of my old cassettes to a CD how do I get the data - album name, artist, etc. to show up when the CD is inserted into a player?

    When copying one of my old cassettes to a CD how do I get the data - album name, artist, etc. to show up when the CD is inserted into a player?

    To what format file are you saving from Audacity?  Although technically AIFF format can save data tags within the file itself I have not found this to always work with all applications.  Likely the information you enter into Audacity is just being saved in the file name.  When you add this file to iTunes, if iTunes cannot find tags it recognizes it will simply add the track with the file name as the track name.  You need to add the tracks to iTunes, then enter the information using File > Get Info for a track or series of tracks,
    Some of the above information may vary slightly depending upon the file format being used.
    It helps when asking questions here to provide as much information at the onset as possible.  We didn't know until this stage that all these menus were in fact part of Audacity and not iTunes.

  • Get the current space name

    hi,
    i am working on webcenter space application.i need to pass current space name to bean.how can i get the current space name??
    Regards
    Vinay Kumar

    No, that will not compile. You probably need to do:
    SpacesContext sc = SpacesContext.getCurrentInstance();
    String spaceName = sc.getCurrentSpaceName();
    Beware that the doc says "Return the SpacesContext instance for the request that is being processed by the current thread, if any."
    So the SpacesContext might be null.
    Jaap

  • HT1338 my mac is running 10.5.8, I bought a new Nano, itunes is prompting me to get the current itunes, but my mac will not take it, states I need 10.6.8.  How do I get that?  When I run a software update, system says there is none.  Help

    my mac is running 10.5.8, I bought a new Nano, itunes is prompting me to get the current itunes, but my mac will not take it, states I need 10.6.8.  How do I get that?  When I run a software update, system says there is none.  Help

    Click here, check that your computer meets the requirements, buy and install the DVD, and then run Software Update.
    (73181)

Maybe you are looking for