WEBUTIL_FILE.FILE_SELECTION_DIALOG -- Return value removes "/" UNC path

Hello:
When you pass UNC path (Example "//mcName/test/") as the "Directory Name" for the the above function, it returns the selected file along with the "Directory_Name" but removes ONE file separator("/") from the UNC path (Example "/mcName/test/test.doc").
Why is this function removes one file separator (/)?
Thanks

We have the same problem.
Copy from JAVA console:
2009-Mar-16 14:07:07.554 WUF[gfnDialog run()] Creating Custom File Filter : Mask=*.txt, Label=Teksta fails(*.txt)
2009-Mar-16 14:07:07.554 WUF[gfnDialog run()] Save File mode
2009-Mar-16 14:07:27.133 WUF[gfnDialog run()] Selected Directory: \\alise\shares\kastanis-u\ Selected File: test.txt
2009-Mar-16 14:07:33.211 WUF[setProperty()] Setting property WUF_FILENAME to \alise\shares\kastanis-u\test.txt
2009-Mar-16 14:07:33.211 WUF[setProperty()] Setting property WUF_FILE_ATTRIBUTE to 1
2009-Mar-16 14:07:33.211 WUF[getProperty()] Getting property WUF_FILE_ATTRIBUTE
2009-Mar-16 14:07:33.211 WUF[getProperty()] Value of WUF_FILE_ATTRIBUTE=FALSE
2009-Mar-16 14:07:33.211 WUF[setProperty()] Setting property WUF_FILENAME to \alise\shares\kastanis-u\test.txt
2009-Mar-16 14:07:33.227 WUF[setProperty()] Setting property WUF_TEXTIO_FILEMODE to W
2009-Mar-16 14:07:33.227 WUF[setProperty()] Setting property WUF_TEXTIO_CHARSET to (null)
2009-Mar-16 14:07:33.227 WUF[getProperty()] Getting property WUF_TEXTIO_OPEN
2009-Mar-16 14:07:33.227 WUF[FileFunctions.fopen()] Opening in Write/Append Mode
2009-Mar-16 14:07:33.227 ERROR>WUF-201 [FileFunctions.fopen()] Unable to open file \alise\shares\kastanis-u\test.txt for writing (mode=w); Exception: java.io.FileNotFoundException: \alise\shares\kastanis-u\test.txt (The system cannot find the path specified)

Similar Messages

  • Javascript - Formatting Return Values & Removing Decimal in Dollar Amount

    Hi, I'm looking for some help. I'm new to Javascript and working off my limited knowledge. Below is one item I need help figuring out.
    ---JavaScript Registration Fee---
    I'm using the following document level Javascript in Acrobat to calculate the pro-rated registration fee based on the current month:
    **Note: Text Field "Today" is using the following value:
    var f = this.getField("Today");
    if (f.value=="") f.value = util.printd("mm/dd/yyyy", new Date());
    ---- Below is the Registration Fee Javascript ---
    function calculateRegistrationFee() { 
         var s = this.getField("Today").value;
         if (s!="") {
              var d = util.scand("mm/dd/yyyy", s);
              return (12-(d.getMonth())) * 1.25;
         return "";
    I use the following in the Text Field (Text Field Properties ---> Format ---> Custom Format Script) to display the results:
    event.value = (calculateRegistrationFee()).toString();
    1) How can I format the return value to remove the decimal (period) from the results & split into two text fields?
    For Question #1 - Example 1, Let's look at this example:
    Using the current date (05/22/2013), then
    a. The output of the function above = 10
    This is a dollar amount so the output 10 is really $10.00. I would enter the cost into two fields (RegFee1 & RegFee2) as "10 00". (See below). So how do I format the return value to enter into these fields correctly?
    For Question #1 - Example 2, Let's look at this example:
    Using the current date (06/22/2013), then
    a. The output of the function above = 8.75
    Given the information in the example above, how do I format this return value to enter into these fields correctly?
    Thanks,
    Stephen

    Some time ago I created this (german) how to document
    http://www.oracle.com/global/de/community/tipps/textfield_autoformat/index.html
    about formatting elements using JavaScript. Currency formatting is not contained but perhaps the other stuff in the javascript file
    http://www.oracle.com/global/de/community/tipps/textfield_autoformat/library.html
    is helpful.
    Regards
    -Carsten

  • How do I calculate the size of files that I have UNC paths for

    I am on SQL Server 2008 R2. I have a table that contains a field called [Location]. In that field is a UNC path to the physical file on the repository. Is there a way in SQL Server that I can say give me the select sum([Location] UNC file) where criteria?
    I saw some posts about xp_filesize or xp_GetFileDetails, but I do not see them in master. I am unable to add anything and wondering if there is any native functionality that would allow me to accomplish this!? Thanks.

    Maybe you can use an Excel Macro for this kind of thing.
    Dim iRow
    Sub ListFiles()
    iRow = 11
    Call ListMyFiles(Range("C7"), Range("C8"))
    End Sub
    Sub ListMyFiles(mySourcePath, IncludeSubfolders)
    Set MyObject = New Scripting.FileSystemObject
    Set mySource = MyObject.GetFolder(mySourcePath)
    On Error Resume Next
    For Each myFile In mySource.Files
    iCol = 2
    Cells(iRow, iCol).Value = myFile.Path
    iCol = iCol + 1
    Cells(iRow, iCol).Value = myFile.Name
    iCol = iCol + 1
    Cells(iRow, iCol).Value = myFile.Size
    iCol = iCol + 1
    Cells(iRow, iCol).Value = myFile.DateLastModified
    iRow = iRow + 1
    Next
    If IncludeSubfolders Then
    For Each mySubFolder In mySource.SubFolders
    Call ListMyFiles(mySubFolder.Path, True)
    Next
    End If
    End Sub
    Try this too.
    Sub TestListFilesInFolder()
    ' Open folder selection
    ' Open folder selection
    With Application.FileDialog(msoFileDialogFolderPicker)
    .Title = "Select a Folder"
    .AllowMultiSelect = False
    If .Show <> -1 Then GoTo NextCode
    pPath = .SelectedItems(1)
    If Right(pPath, 1) <> "\" Then
    pPath = pPath & "\"
    End If
    End With
    NextCode: 'MsgBox "No files Selected!!"
    'Application.WindowState = xlMinimized
    'Application.ScreenUpdating = False
    Workbooks.Add ' create a new workbook for the file list
    ' add headers
    ActiveSheet.Name = "ListOfFiles"
    With Range("A2")
    .Formula = "Folder contents:"
    .Font.Bold = True
    .Font.Size = 12
    End With
    Range("A3").Formula = "File Name:"
    Range("B3").Formula = "File Size:"
    Range("C3").Formula = "File Type:"
    Range("D3").Formula = "Date Created:"
    Range("E3").Formula = "Date Last Accessed:"
    Range("F3").Formula = "Date Last Modified:"
    Range("A3:F3").Font.Bold = True
    Worksheets("ListOfFiles").Range("A1").Value = pPath
    Range("A1").Select
    With Selection.Interior
    .Pattern = xlSolid
    .PatternColorIndex = xlAutomatic
    .Color = 65535
    .TintAndShade = 0
    .PatternTintAndShade = 0
    End With
    With Selection.Font
    .Color = -16776961
    .TintAndShade = 0
    End With
    Selection.Font.Bold = True
    ListFilesInFolder Worksheets("ListOfFiles").Range("A1").Value, True
    ' list all files included subfolders
    Range("A3").Select
    Lastrow = Range("A1048576").End(xlUp).Row
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
    ActiveWorkbook.Worksheets("ListOfFiles").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("ListOfFiles").Sort.SortFields.Add Key:=Range( _
    "B4:B" & Lastrow), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
    xlSortNormal
    With ActiveWorkbook.Worksheets("ListOfFiles").Sort
    .SetRange Range("A3:F" & Lastrow)
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
    End With
    Range("A1").Select
    Cells.Select
    Cells.EntireColumn.AutoFit
    Columns("A:A").Select
    Selection.ColumnWidth = 100
    Range("A1").Select
    End Sub
    Sub ListFilesInFolder(SourceFolderName As String, IncludeSubfolders As Boolean)
    ' lists information about the files in SourceFolder
    Dim FSO As Scripting.FileSystemObject
    Dim SourceFolder As Scripting.Folder, SubFolder As Scripting.Folder
    Dim FileItem As Scripting.File
    Dim r As Long
    Set FSO = New Scripting.FileSystemObject
    Set SourceFolder = FSO.GetFolder(SourceFolderName)
    r = Range("A1048576").End(xlUp).Row + 1
    For Each FileItem In SourceFolder.Files
    ' display file properties
    Cells(r, 1).Formula = FileItem.Path & FileItem.Name
    Cells(r, 2).Formula = (FileItem.Size / 1048576)
    Cells(r, 2).Value = Format(Cells(r, 2).Value, "##.##") & " MB"
    Cells(r, 3).Formula = FileItem.Type
    Cells(r, 4).Formula = FileItem.DateCreated
    Cells(r, 5).Formula = FileItem.DateLastAccessed
    Cells(r, 6).Formula = FileItem.DateLastModified
    ' use file methods (not proper in this example)
    r = r + 1 ' next row number
    Next FileItem
    If IncludeSubfolders Then
    For Each SubFolder In SourceFolder.SubFolders
    ListFilesInFolder SubFolder.Path, True
    Next SubFolder
    End If
    Columns("A:F").AutoFit
    Set FileItem = Nothing
    Set SourceFolder = Nothing
    Set FSO = Nothing
    ActiveWorkbook.Saved = True
    End Sub
    Sub CreateList()
    Application.ScreenUpdating = False
    Workbooks.Add ' create a new workbook for the folder list
    ' add headers
    ActiveSheet.Name = "ListOfFiles"
    With Cells(3, 1)
    .Value = "Folder contents:"
    .Font.Bold = True
    .Font.Size = 12
    End With
    Cells(4, 1).Value = "Folder Path:"
    Cells(4, 2).Value = "Folder Name:"
    Cells(4, 3).Value = "Folder Size:"
    Cells(4, 4).Value = "# Subfolders:"
    Cells(4, 5).Value = "# Files:"
    Range("A3:E3").Font.Bold = True
    ListFolders BrowseFolder, True
    Application.ScreenUpdating = True
    Cells.Select
    Cells.EntireColumn.AutoFit
    Columns("A:A").Select
    Selection.ColumnWidth = 100
    Columns("B:B").Select
    Selection.ColumnWidth = 25
    Range("A1").Select
    End Sub
    Sub ListFolders(SourceFolderName As String, IncludeSubfolders As Boolean)
    ' lists information about the folders in SourceFolder
    Dim FSO As Scripting.FileSystemObject
    Dim SourceFolder As Scripting.Folder, SubFolder As Scripting.Folder
    Dim r As Long
    Set FSO = New Scripting.FileSystemObject
    Set SourceFolder = FSO.GetFolder(SourceFolderName)
    ' display folder properties
    Worksheets("ListOfFiles").Range("A1").Value = SourceFolderName
    Range("A1").Select
    With Selection.Interior
    .Pattern = xlSolid
    .PatternColorIndex = xlAutomatic
    .Color = 65535
    .TintAndShade = 0
    .PatternTintAndShade = 0
    End With
    With Selection.Font
    .Color = -16776961
    .TintAndShade = 0
    End With
    Selection.Font.Bold = True
    r = Cells(Rows.Count, 1).End(xlUp).Row + 1
    Cells(r, 1).Value = SourceFolder.Path
    Cells(r, 2).Value = SourceFolder.Name
    Cells(r, 3).Value = SourceFolder.Size
    Cells(r, 3).Value = (SourceFolder.Size / 1048576)
    Cells(r, 3).Value = Format(Cells(r, 3).Value, "##.##") & " MB"
    Cells(r, 4).Value = SourceFolder.SubFolders.Count
    Cells(r, 5).Value = SourceFolder.Files.Count
    If IncludeSubfolders Then
    For Each SubFolder In SourceFolder.SubFolders
    ListFolders SubFolder.Path, True
    Next SubFolder
    Set SubFolder = Nothing
    End If
    Columns("A:E").AutoFit
    Set SourceFolder = Nothing
    Set FSO = Nothing
    ActiveWorkbook.Saved = True
    End Sub
    And, finally.
    Const BIF_RETURNONLYFSDIRS As Long = &H1 ''' For finding a folder to start document searching
    Const BIF_DONTGOBELOWDOMAIN As Long = &H2 ''' Does not include network folders below the domain level in the tree view control
    Const BIF_RETURNFSANCESTORS As Long = &H8 ''' Returns only file system ancestors.
    Const BIF_BROWSEFORCOMPUTER As Long = &H1000 ''' Returns only computers.
    Const BIF_BROWSEFORPRINTER As Long = &H2000 ''' Returns only printers.
    Const BIF_BROWSEINCLUDEFILES As Long = &H4000 ''' Returns everything.
    Const MAX_PATH As Long = 260
    Type BROWSEINFO
    hOwner As Long
    pidlRoot As Long
    pszDisplayName As String
    lpszINSTRUCTIONS As String
    ulFlags As Long
    lpfn As Long
    lParam As Long
    iImage As Long
    End Type
    Declare Function SHGetPathFromIDListA Lib "shell32.dll" (ByVal pidl As Long, ByVal pszBuffer As String) As Long
    Declare Function SHBrowseForFolderA Lib "shell32.dll" (lpBrowseInfo As BROWSEINFO) As Long
    Function BrowseFolder() As String
    Const szINSTRUCTIONS As String = "Choose the folder to use for this operation." & vbNullChar
    Dim uBrowseInfo As BROWSEINFO
    Dim szBuffer As String
    Dim lID As Long
    Dim lRet As Long
    With uBrowseInfo
    .hOwner = 0
    .pidlRoot = 0
    .pszDisplayName = String$(MAX_PATH, vbNullChar)
    .lpszINSTRUCTIONS = szINSTRUCTIONS
    .ulFlags = BIF_RETURNONLYFSDIRS
    .lpfn = 0
    End With
    szBuffer = String$(MAX_PATH, vbNullChar)
    ''' Show the browse dialog.
    lID = SHBrowseForFolderA(uBrowseInfo)
    If lID Then
    ''' Retrieve the path string.
    lRet = SHGetPathFromIDListA(lID, szBuffer)
    If lRet Then BrowseFolder = Left$(szBuffer, InStr(szBuffer, vbNullChar) - 1)
    End If
    BrowseFolder = BrowseFolder & "\"
    End Function
    Knowledge is the only thing that I can give you, and still retain, and we are both better off for it.

  • Unable to capture return values in web services api

    At the time of login to web services if my server is down ,
    it returns following error :
    java.lang.StringIndexOutOfBoundsException: String index out of range: -1
            at java.lang.String.substring(String.java:1438)
            at java.lang.String.substring(String.java:1411)
    I want to capture this error so that i can try another server to login. how do i capture this error
    Another place where i want to capture the return Value is when i look for a report on the server
    rh = boBIPlatform.get("path://InfoObjects/Root Folder/"src_folder"/" + reportName +
                               "@SI_SCHEDULEINFO,SI_PROCESSINFO" ,oGetOptions);
    oInfoObjects = rh.getInfoObjects();
    CrystalReport = (CrystalReport)oInfoObjects.getInfoObject(0);
    Here if the report is not there on the server , it returns a null handler exception.
    but if i try catching it by checking my responsehandler is null  like rh == null  it does not catch it.
    Any help will be appreciated
    thanks
    Rakesh Gupta

    Ted : i have two cases
    1)   server = server_st.nextToken();
        providerURL = "http://"server"/dswsbobje/services";
        sessConnURL = new URL(providerURL + "/session");
       Connection boConnection = new Connection(sessConnURL);
       Session boSession = new Session(boConnection);
      EnterpriseCredential boEnterpriseCredential = new    EnterpriseCredential();
                  boEnterpriseCredential.setLogin(userid);
      boEnterpriseCredential.setPassword(pwd);
      boEnterpriseCredential.setAuthType(auth);
    SessionInfo boSI = boSession.login(boEnterpriseCredential);
    I have got a list of servers running web servcies stored in my tokens. when i pass the first server name say " test:8080" and that server is down , i want to catch somewhere in the code above that it did not get the connection so that i can loop back and try with the second server say test1:8080
    This is for failover purposes.
    at present when i was trying to capture return value of boSI it  breaks giving the error
    java.lang.StringIndexOutOfBoundsException: String index out of range: -1
    at java.lang.String.substring(String.java:1438)
    at java.lang.String.substring(String.java:1411)
    2nd case :
    I am geeting reports from the server and scheduling them:
    i run the following code which works fine if reports is there
    rh = boBIPlatform.get("path://InfoObjects/Root Folder/"src_folder"/" + reportName +
    "@SI_SCHEDULEINFO,SI_PROCESSINFO" ,oGetOptions);
    oInfoObjects = rh.getInfoObjects();
    CrystalReport = (CrystalReport)oInfoObjects.getInfoObject(0);
    Here if  the  report  is not there on the server  then i should be able to catch from the response handle rh that it has got a null value.
    but rh does not return a null value 
    the code ultimately throws a null handle at the following line
    CrystalReport = (CrystalReport)oInfoObjects.getInfoObject(0);
    i am not able to catch the null value there also.
    hope you got my issue.

  • Multiple return values (Bug-ID 4222792)

    I had exactly the same request for the same 3 reasons: strong type safety and code correctness verification at compile-time, code readability and ease of mantenance, performance.
    Here is what Sun replied to me:
    Autoboxing and varargs are provided as part of
    JSRs 14 and 201
    http://jcp.org/en/jsr/detail?id=14
    http://jcp.org/en/jsr/detail?id=201
    See also:
    http://forum.java.sun.com/forum.jsp?forum=316
    http://developer.java.sun.com/developer/earlyAccess/adding_generics/index.html
    Multiple return values is covered by Bug-ID 4222792
    Typically this is done by returning an array.
    http://developer.java.sun.com/developer/bugParade/bugs/4222792.html
    That's exactly the problem: we dynamically create instances of array objects that would better fit well within the operand stack without stressing the garbage collector with temporary Array object instances (and with their backing store: 2 separate allocations that need to be recycled when it is clearly a pollution that the operand stack would clean up more efficiently)
    If you would like to engage in a discussion with the Java Language developers, the Generics forum would be a better place:
    http://forum.java.sun.com/forum.jsp?forum=316
    I know that (my report was already refering to the JSR for language extension) Generics is not what I was refering to (even if a generic could handle multiple return values, it would still be an allocated Object
    instance to pack them, i.e. just less convenient than using a static class for type safety.
    The most common case of multiple return values involve values that have known static datatypes and that should be checked with strong typesafety.
    The simple case that involves returning two ints then will require at least two object instances and will not solve the garbage collection overhead.
    Using a array of variable objects is exactly similar, except that it requires two instances for the components and one instance for the generic array container. Using extra method parameters with Integer, Byte, ... boxing objects is more efficient, but for now the only practical solution (which causes the least pollution in the VM allocator and garbage collector) is to use a custom class to store the return values in a single instance.
    This is not natural, and needlessly complexifies many interfaces.
    So to avoid this pollution, some solutions are used such as packing two ints into a long and returning a long, depacking the long after return (not quite clean but still much faster at run-time for methods that need to be used with high frequencies within the application. In some case, the only way to cut down the overhead is to inline methods within the caller code, and this does not help code maintenance by splitting the implementation into small methods (something that C++ can do very easily, both because it supports native types parameters by reference, and because it also supports inline methods).
    Finally, suppose we don't want to use tricky code, difficult to maintain, then we'll have to use boxing Object types to allow passing arguments by reference. Shamely boxed native types cannot be allocated on the operand stack as local variables, so we need to instanciate these local variables before call, and we loose the capacity to track the cases where these local variables are not really initialized by an effective call to the method that will assign them. This does not help debugging, and is against the concept of a strongly typed language like Java should be:
    Java makes lots of efforts to track uninitialized variables, but has no way to determine if an already instanciated Object instance refered in a local variable has effectively received an effective assignment because only the instanciation is kept. A typical code will then need to be written like this:
    Integer a = null;
    Integer b = null;
    if (some condition) {
    //call.method(a, b, 0, 1, "dummy input arg");
    // the method is supposed to have assigned a value to a and b,
    // but can't if a and b have not been instanciated, so we perform:
    call.method(a = new Integer(), b = new Integer(), 0, 1, "dummy input
    arg");
    // we must suppose that the method has modified (not initialized!)
    the value
    // of a and b instances.
    now.use(a.value(), b.value())
    // are we sure here that a and b have received a value????
    // the code may be detected at run-time (a null exception)
    // or completely undetected (the method() above was called but it
    // forgot to assign a value to its referenced objects a and b, in which
    // case we are calling in fact: now.use(0, 0); with the default values
    // or a and b, assigned when they were instanciated)
    Very tricky... Hard to debug. It would be much simpler if we just used:
    int a;
    int b;
    if (some condition) {
    (a, b) = call.method(0, 1, "dummy input arg");
    now.use(a, b);
    The compiler would immediately detect the case where a and b are in fact not always initialized (possible use bere initialization), and the first invoked call.method() would not have to check if its arguments are not null, it would not compile if it forgets to return two values in some code path...
    There's no need to provide extra boxing objects in the source as well as at run-time, and there's no stress added to the VM allocator or garbage collector simply because return values are only allocated on the perand stack by the caller, directly instanciated within the callee which MUST (checked at compile-time) create such instances by using the return statement to instanciate them, and the caller now just needs to use directly the variables which were referenced before call (here a and b). Clean and mean. And it allows strong typechecking as well (so this is a real help for programmers.
    Note that the signature of the method() above is:
    class call {
    (int, int) method(int, int, String) { ... }
    id est:
    class "call", member name "method", member type "(IILjava.lang.string;)II"
    This last signature means that the method can only be called by returning the value into a pair of variables of type int, or using the return value as a pair of actual arguments for another method call such as:
    call.method(call.method("dummy input arg"), "other dummy input arg")
    This is strongly typed and convenient to write and debug and very efficient at run-time...

    Can anyone give me some real-world examples where
    multiple return values aren't better captured in a
    class that logically groups those values? I can of
    course give hundreds of examples for why it's better
    to capture method arguments as multiple values instead
    of as one "logical object", but whenever I've hankered
    for multiple return values, I end up rethinking my
    strategy and rewriting my code to be better Object
    Oriented.I'd personally say you're usually right. There's almost always a O-O way of avoiding the situation.
    Sometimes though, you really do just want to return "two ints" from a function. There's no logical object you can think of to put them in. So you end up polluting the namespace:
    public class MyUsefulClass {
    public TwoInts calculateSomething(int a, int b, int c) {
    public static class TwoInts {
        //now, do I use two public int fields here, making it
        //in essence a struct?
       //or do I make my two ints private & final, which
       //requires a constructor & two getters?
      //and while I'm at it, is it worth implementing
      //equals(), how about hashCode()? clone()?
      //readResolve() ?
    }The answer to most of the questions for something as simple as "TwoInts" is usually "no: its not worth implementing those methods", but I still have to think about them.
    More to the point, the TwoInts class looks so ugly polluting the top level namespace like that, MyUsefulClass.TwoInts is public, that I don't think I've ever actually created that class. I always find some way to avoid it, even if the workaround is just as ugly.
    For myself, I'd like to see some simple pass-by-value "Tuple" type. My fear is it'd be abused as a way for lazy programmers to avoid creating objects when they should have a logical type for readability & maintainability.
    Anyone who has maintained code where someone has passed in all their arguments as (mutable!) Maps, Collections and/or Arrays and "returned" values by mutating those structures knows what a nightmare it can be. Which I suppose is an argument that cuts both ways: on the one hand you can say: "why add Tuples which would be another easy thing to abuse", on the other: "why not add Tuples, given Arrays and the Collections framework already allow bad programmers to produce unmainable mush. One more feature isn't going to make a difference either way".
    Ho hum.

  • Function return value == -10. Native error code -2146824584 ADOBD.Recordset: Operation is not allowed when object is closed

    I want to call Stored Procedure that return records and output parameter, from CVI
    I can get output parrameter but when I want to get records stream I recieve following wrror:
    function return value == -10. Native error code -2146824584 ADOBD.Recordset: Operation is not allowed when object is closed

    in Stored procedure I create table variable and and insert into string values
    when I remove usage of table variable the error desappear

  • Authorization check on Function module return values

    Hi,
    I have a tricky situation. In our BW implementation, many of the FI infoobjects are authorization relevent. One of the objects is 0COSTCENTER.  A user has been assigned with authorization profile, in which the user is authorised for COST CENTER = A* and #.  All planning templates were working nice.
    We were on SP 12 earlier, now we upgraded to SP 20. Now came a issue, the user gets error that user is not authroised for the data. After our analysis, we found nothing wrong as such, so contacted SAP. They came back with a root cause
    In my planning function, an ABAP function module is used. The function module returns a COSTCENTER value. This return value is then assigned to a variable, this variable is of type 0COSTCENTER.
    SAP said there was a bug in their own design. The bug was, if the cost center value is directly used in planning function for other calculations, it will throw an authorization error.  But, if the COST CENTEr value is given to a variable and that variable is used for other calculations,  it works fine. Thats why it worked for us earlier.
    Now, they have removed that bug, so variables are also checked against authorizations and they said we need to either change the code or give * for the COST CENTER authorization.
    So we have a problem. It is not straight forward to give * for COSTCENTER in FI BW implementation. SAP theory is that they cannot say which value the functional module will return. So they will check against ALL the values for COSTCENTER but not the authorised values.
    Has anyone seen this issue before? is it only specific to planning function or its just ABAP concept? Any suggesations to come out this problem?

    Bindu, thanks,
    The error is coming at the program compile level itself i.e. before executing the planning group itself. As per the F1 help on forumla editor and from their support, the system reads all the reference data,  So when it sees the function module and its export parameter, it captures all the data for COST CENTER as reference data.
    Thus even I am sure that the return value will be always authorized, the reference data is checked for the full authorization. Thus its failing

  • Job scheduling error : The return value was unknown. The process exit code was -1073741819. The step failed.

    I am working in Sqlserver 2008 R2, SSIS 64 bit version
    I am getting the below  error while scheduling the job in the development server  Database. 
    The return value was unknown.  The process exit code was -1073741819.  The step failed.
    The SSIS front end execution runs fine.
    Have anyone  faced this issue before?

    Hi Venkat,
    If you already changed to 64bit and still doesn't work then create proxy account.. 
    To create a proxy account
    In Object Explorer, expand a server.
    Expand SQL Server Agent.
    Right-click Proxies and select New Proxy.
    On the General page of the New Proxy Account dialog, specify the proxy name, credential name, and
    description for the new proxy. Note that you must create a credential first before you create a proxy if one is not already available. For more information about creating a credential, see How
    to: Create a Credential (SQL Server Management Studio) or CREATE CREDENTIAL (Transact-SQL).
    Check the appropriate subsystem for this proxy.
    On the Principals page, add or remove logins or roles to grant or remove access to the proxy account.
    Thanks

  • How do I create an installer for my project that allows for variable data entry like a server unc path?

    Hello All,
    I have a questions and a few hours of scouring the internet hasn't brought me much closer to an answer.
    Here's what I want to do. I have created a visual c# wpf application. I want to have an installer that during install time will have a text box or something where I can enter a server path as a string. Basically my application needs to know where to look
    for a server unc path \\server\somesharedfolder that it will be accessing primarily for its work. Secondly, how do I reference said information from within my code.
    I have come across application/user scoped settings, which appears to be what I'm looking for. However I can't find a way to have the installer prompt for a value "Server Path:" __________ that I could type into during installation. So far it appears
    the only way would be to edit the config.deploy file before running the installer, which isn't a big deal but you'd think there'd be an easy way to take in variables during install.
    EDIT: Apparently I can't edit the config.deploy file as I get an error message about the hash not matching.
    Thanks for your help!
    Lance

    Hello,
    The forums I found confusing, didn't know the best place to put this question so I put it here.
    I have found the answer over at stackoverflow and will detail here for anyone who may stumble across the same problem.
    The problem is ClickOnce seemingly doesn't support this feature. Installshield LE either doesn't or does but its incredibly too complicated if all you need is one variable passed to the registry during installation. And it seems the words used for googling
    this particular problem will never lead you to the solution.
    So here's how to do it (we will be first adding the Visual Studio Installer Add-on to restore original installer project functionality):
    1) Inside of visual studio 2013 go to Tools -> Extensions and Updates
    2) On the left-hand side click on Online -> Visual Studio Gallery
    3) In the upper-right search box search for "Visual Studio Installer"
    4) Download the extension labeled "Microsoft Visual Studio Installer Projects"
    5) Install, then open a new project under Templates -> Other Project Templates -> Visual Studio Installer -> Setup Project
    6) Now for the gold. In the solution explorer there are icons in a bar just below its title bar, highlight till you see "User Interface Setup" and open it.
    7) Now you can right click on Start, Progress, End etc any Category heading and hit Add Dialog.
    8) From here for my purposes, I used TextBoxes A
    9) Once you add it, click on it and observe its properties window. You will see Label, Property, and Value. Make a note of the property name as it will be used to store the data directly into the registry. *Note: there appears to be no way to perform data
    validation using the built in textbox dialogs, users can enter whatever they want and move on.
    10) Go to the registry editor on the same icon bar under solution explorer.
    11) Specify your registry folder, make a new value (I used string) and name it whatever you like. In the value section enter the property label formatted as such   [EDITA1]   depending on your value. 
    12) Now when you run the installer for your project, it will take data into that field and place it into the registry provided it has access to that key with the permissions you run the program under.

  • Passing UNC path as parameter in URL

    Hello All,
    I used the application creation wizard (APEX 3.1) to create an application (report + form) based on a table who's primary key is a UNC path to an image (\\servername\folder\image.tiff). The report page (page 1) has a link to the form where users can edit information for the record (page 2). Unfortunately, every time I click on a record's link, page 2 comes up with "No data found."
    I know this has to do with the fact that the data I'm passing has backslashes ("\") and they're not being escaped properly. The branch properties show the target as "Page in this Application" where the UNC path is being passed to an item on page two that is hidden and protected.
    I've tried a few different things to try and work around this problem:
    1.) In my main query, selected another field based on the original UNC Path, but with the backslashes replaced with pipes ('|'). I then have a process on page 2 at the "on load" point before the fetch row that converts it back to backslashes. This works so far as pulling the correct record onto page two, but whenever I update anything the update statement is still looking for the UNC with pipes rather than the backslashes. I'm assuming because the item that I'm sending the value to is hidden and protected, that any HTML on that page won't be able to alter that value, so the pipes aren't being replaced with the backslashes.
    2.) I also tried using a javascript:window.document.location.href... function and adding extra backslashes in the UNC path to escape the original ones, but this didn't work.
    I was wondering if anyone had any other suggestions on how to pass this value without changing the item to unprotected.
    Thank you,
    Teddy

    Teddy,
    No bother at all. A long time ago, perhaps in version 1.6, we added the feature that allows "item values" containing commas to be passed in the "f?p" URL. As you know, the comma is the token that separates item values (if there is more than one). But it was becoming increasingly common for developers to need to allow that character as part of an item value. This was implemented such that if an item value starts and ends with a backslash then we would treat any comma between the two as part of the item value and not as a "separator" character.
    When you tried to pass the UNC path as an item value, because this started with a backslash, the parser treated it as the beginning of a backslash-enclosed value. Failing to find a closing backslash, it yielded undesirable results and discarded the first backslash, and perhaps more.
    In other words, it's a bug that what you tried did not work. But the solution is straightforward so I'm going to leave it at that, if you agree.
    Scott

  • The LOV modal window could not return value to the base page

    when practicing the "create1" task in tutorial, met an issue.
    when create an employee, manageName is a messageLovInput and managerID is a messageTextInput.
    The issue is the LOV modal window could not return value to the mangerName, but can return to managerID .
    If I remove the data boud porperties of the managerName (the bc4j porperties of view name-EmpFullVO and view attribute-MgrName), the lov works fine.
    What is the reason?

    James I would suggest to read the LOV topic in OAF developers' guide. Lov mappings are responsible for bringing pop up values to base page in LOV.
    --Mukul                                                                                                                                                                                                                                                                                                                                                   

  • Invoke/db adapter get not the return value of a procedure

    Hi,
    I have a problem with a db adapter.
    A db adapter calls a wrapper procedure and fill data in a object type.
    the wrapper procedure call a procedure in a other schema.
    In that schema the procedure make a insert in a database table
    and give a return value(success_msg or error_msg).
    schema1.pkg_wrapper.proc1(p_in IN schema2.param1_t,p_out out schema2.param2_t)
    is
    begin
    schema2.pkg.proc1(p_in IN param1_t,p_out out param2_t)
    end;
    In one enviroment the bpel process running well in the second enviroment not.
    I had found that the bpel process write in the database and the out parameter is filled with 'ok'.
    But there ist a problem to transfer the value from the called procedure to the db adpater/invoke.
    The releases of the application server and the database a the same, also the releases of jdeveloper.
    My second problem the instance didn't comming back and the entry in the domain.log is
    <2008-04-25 12:51:48,056> <WARN> <mmerkel.collaxa.cube> <BaseCubeSessionBean::logWarning> Error while invoking bean "finder": [com.collaxa.cube.engine.core.InstanceNotFoundException: Instance not found in datasource.
    The process domain was unable to fetch the instance with key "2e52cdd31acca03e:5800031c:119819b87bf:-7bdd" from the datasource.
    Please check that the instance key "2e52cdd31acca03e:5800031c:119819b87bf:-7bdd" refers to a valid instance that has been started and not removed from the process domain.
    ORABPEL-02152
    Instance not found in datasource.
    The process domain was unable to fetch the instance with key "2e52cdd31acca03e:5800031c:119819b87bf:-7bdd" from the datasource.
    Please check that the instance key "2e52cdd31acca03e:5800031c:119819b87bf:-7bdd" refers to a valid instance that has been started and not removed from the process domain.
    and
    <2008-04-25 13:47:53,666> <ERROR> <mmerkel.collaxa.cube.engine> <CubeEngine::processStaleInstance> Instance 2670008 has already been marked as stale ... skipping
    <2008-04-25 13:47:53,672> <ERROR> <mmerkel.collaxa.cube> <BaseCubeSessionBean::logError> Error while invoking bean "instance manager": [com.collaxa.cube.engine.core.InstanceStaleException: Inconsistent process guid.
    The instance "2670008" was created with process guid "MD5{ed3f0862561da5254a6cf2fd5a440500}"; the current guid for the process "bucheReo" (revision "1.0") is "MD5{0a8bf160d2ff79eabb2f4b479e876cd0}". Whenever a process is deployed on top of an existing process with the same process id and revision tag, all instances created from the previous process are marked as stale.
    If you are accessing this instance from the console, your browser may be referring to an out-of-date page; please click on the Instances tab to get the current list of active instances.
    ORABPEL-02032
    Inconsistent process guid.
    The instance "2670008" was created with process guid "MD5{ed3f0862561da5254a6cf2fd5a440500}"; the current guid for the process "bucheReo" (revision "1.0") is "MD5{0a8bf160d2ff79eabb2f4b479e876cd0}". Whenever a process is deployed on top of an existing process with the same process id and revision tag, all instances created from the previous process are marked as stale.
    If you are accessing this instance from the console, your browser may be referring to an out-of-date page; please click on the Instances tab to get the current list of active instances.
    Have anyone a idea?
    Every help is welcome?
    Thanks, Michael

    Hi,
    “You should be able to use an assign to copy an output parameter value from the BPEL variable associated with the output parameter of the stored procedure.”
    Yes, that is working well for the input variable. But that doesn’t work for the output variable in the second environment.
    The whole bpel process working well in one environment and does not in the second.
    By now I think there is any adjustment in the database or in the aplication server that we not found and that make the trouble
    What I do is that a invoke element (Invoke_WriteREOInDB) call the db adapter WriteREOInDB. My input variable WriteREOInDB_InputVariable is filled, the db adapater call a procedure and I see my data in the table. Now the procedure gives the result value ‘ok’
    In the invoke element I had the output variable WriteREOInDB_OutputVariable. In the next step I want to assign the value of WriteREOInDB_OutputVariable to my global output variable.
    But the instance didn’t coming back. In the console I get the following message:
    “Instance not found in datasource.
    The process domain was unable to fetch the instance with key "2e52cdd31acca03e:5800031c:119819b87bf:-7e0b" from the data source.”
    So I see nothing in the bpel console.
    Any idea?
    Thanks
    Michael

  • Operations Manager Installation Error - Return Value 3

    Hello, I am having issues installing Operations Manager Reporting 2007 R2. The installation hangs with no status update a little more then midway through. I am receiving the following exception below. I am trying to install this on a named reporting instance.
    013-12-16T16:00:00.0547063-08:00 Debug:
     *** Trace Started ***
    2013-12-16T16:00:00.0859563-08:00 Debug:
    ConfigureOverridesForDWRules: Root Management Server is: CORP32-VS
    2013-12-16T16:30:01.7422063-08:00 Error:
    ConfigureOverridesForDWRules error: System.TimeoutException : The requested operation timed out.
    Exception thrown by custom action:
    System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Microsoft.WindowsInstaller.InvalidHandleException: The handle is invalid.
       at Microsoft.WindowsInstaller.SessionProperties.set_Item(String name, String value)
       at Microsoft.Reporting.Setup.ReportingManagedCAs.ConfigureOverridesForDWRules(Session session)
       --- End of inner exception stack trace ---
       at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
       at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object parameters, CultureInfo culture, Boolean skipVisibilityChecks)
       at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object parameters, CultureInfo culture)
       at Microsoft.WindowsInstaller.CustomActionProxy.InvokeCustomAction(Int32 sessionHandle, String entryPoint)
    CustomAction _ConfigureOverridesForDWRules.9B663534_CD9B_41CC_9D93_4E84D3C5E165 returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
    MSI (s) (1C:FC) [16:30:01:804]: NOTE: custom action _ConfigureOverridesForDWRules.9B663534_CD9B_41CC_9D93_4E84D3C5E165 unexpectedly closed the hInstall handle (type MSIHANDLE) provided to it. The custom action should be fixed to not close that handle.
    Action ended 16:30:01: InstallFinalize. Return value 3.
    MSI (s) (1C:80) [16:30:01:804]: User policy value 'DisableRollback' is 0
    MSI (s) (1C:80) [16:30:01:804]: Machine policy value 'DisableRollback' is 0
    MSI (s) (1C:80) [16:30:01:882]: Executing op: Header(Signature=1397708873,Version=500,Timestamp=1133543036,LangId=1033,Platform=589824,ScriptType=2,ScriptMajorVersion=21,ScriptMinorVersion=4,ScriptAttributes=1)
    MSI (s) (1C:80) [16:30:01:882]: Executing op: DialogInfo(Type=0,Argument=1033)
    MSI (s) (1C:80) [16:30:01:882]: Executing op: DialogInfo(Type=1,Argument=System Center Operations Manager 2007 R2 Reporting Server)
    MSI (s) (1C:80) [16:30:01:882]: Executing op: RollbackInfo(,RollbackAction=Rollback,RollbackDescription=Rolling back action:,RollbackTemplate=[1],CleanupAction=RollbackCleanup,CleanupDescription=Removing backup files,CleanupTemplate=File: [1])
    Action 16:30:01: Rollback. Rolling back action:

    Niki,
    I verified the data warehouse SQL server authentication account is indeed blank. I just tried running the installation again and received the following errors in the SQL log.
    12/18/2013 07:43:28,spid177,Unknown,Error 777970008<c/> severity 16<c/> state 1 was raised<c/> but no message with that error number was found in sys.messages. If error is larger than 50000<c/> make sure the user-defined message is
    added using sp_addmessage.
    12/18/2013 07:43:28,spid177,Unknown,Error: 18054<c/> Severity: 16<c/> State: 1.
    12/18/2013 07:43:28,spid88,Unknown,Error 777970008<c/> severity 16<c/> state 1 was raised<c/> but no message with that error number was found in sys.messages. If error is larger than 50000<c/> make sure the user-defined message is added
    using sp_addmessage.
    12/18/2013 07:43:28,spid88,Unknown,Error: 18054<c/> Severity: 16<c/> State: 1.
    12/18/2013 07:43:28,spid173,Unknown,Error 777970008<c/> severity 16<c/> state 1 was raised<c/> but no message with that error number was found in sys.messages. If error is larger than 50000<c/> make sure the user-defined message is added
    using sp_addmessage.
    12/18/2013 07:43:28,spid173,Unknown,Error: 18054<c/> Severity: 16<c/> State: 1.
    12/18/2013 07:43:18,spid173,Unknown,Error 777970008<c/> severity 16<c/> state 1 was raised<c/> but no message with that error number was found in sys.messages. If error is larger than 50000<c/> make sure the user-defined message is added
    using sp_addmessage.
    12/18/2013 07:43:18,spid173,Unknown,Error: 18054<c/> Severity: 16<c/> State: 1.
    12/18/2013 07:43:15,spid13s,Unknown,AppDomain 9702 (OperationsManager.dbo[ddl].9701) unloaded.
    12/18/2013 07:43:14,spid21s,Unknown,AppDomain 9701 (OperationsManager.dbo[ddl].9700) unloaded.
    Also, please see error in the MOMReporting log below:
    2013-12-18T07:41:54.8239565-08:00 Debug: ConfigureOverridesForDWRules: Root Management Server is: COR32
    2013-12-18T08:11:56.1874277-08:00 Error: ConfigureOverridesForDWRules error: System.TimeoutException : The requested operation timed out.
    Exception thrown by custom action:
    System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Microsoft.WindowsInstaller.InvalidHandleException: The handle is invalid.
       at Microsoft.WindowsInstaller.SessionProperties.set_Item(String name, String value)
       at Microsoft.Reporting.Setup.ReportingManagedCAs.ConfigureOverridesForDWRules(Session session)
       --- End of inner exception stack trace ---
       at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
       at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object parameters, CultureInfo culture, Boolean skipVisibilityChecks)
       at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object parameters, CultureInfo culture)
       at Microsoft.WindowsInstaller.CustomActionProxy.InvokeCustomAction(Int32 sessionHandle, String entryPoint)
    CustomAction _ConfigureOverridesForDWRules.9B663534_CD9B_41CC_9D93_4E84D3C5E165 returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
    MSI (s) (38:4C) [08:11:56:281]: NOTE: custom action _ConfigureOverridesForDWRules.9B663534_CD9B_41CC_9D93_4E84D3C5E165 unexpectedly closed the hInstall handle (type MSIHANDLE) provided to it. The custom action should be fixed to not close that handle.
    Action ended 8:11:56: InstallFinalize. Return value 3.
    MSI (s) (38:6C) [08:11:56:359]: User policy value 'DisableRollback' is 0
    MSI (s) (38:6C) [08:11:56:359]: Machine policy value 'DisableRollback' is 0
    MSI (s) (38:6C) [08:11:56:624]: Executing op: Header(Signature=1397708873,Version=500,Timestamp=1133657144,LangId=1033,Platform=589824,ScriptType=2,ScriptMajorVersion=21,ScriptMinorVersion=4,ScriptAttributes=1)

  • UNC paths and java.io.file in Oracle

    Hi,
    I'm just getting to grips with using some basic java in the database. I'm using 8.1.7 on W2K.
    I'm trying to test for the existance of a file on a separate w2k domain:
    import java.io.File;
    public class JFileExists {
    public static int fileexists (String fileName) {
    File myFile = new File (fileName);
    boolean retval = myFile.exists();
    if (retval) return 1; else return 0;
    public static void main (String args[]) {
    System.out.println (
    fileexists (args[0])
    grant javasyspriv to mp;
    function jfn_file_exists (file_in IN VARCHAR2) RETURN number
    AS LANGUAGE JAVA NAME 'JFileExists.fileexists (java.lang.String) return int';
    From the command prompt all is well:
    E:\java>"c:\oracle\ora81\Apache\jdk\bin\java.exe" JFileExists i:\test.txt
    1
    E:\java>"c:\oracle\ora81\Apache\jdk\bin\java.exe" JFileExists \\mpweb1\image\test.txt
    1
    But when loaded into oracle its returning false with the UNC path. (but is ok with a mapped drive to the same path)
    SQL> declare
    2 begin
    3 pa_main.pr_print(to_char(pa_main.jfn_file_exists('I:\test.txt')));
    4 pa_main.pr_print(to_char(pa_main.jfn_file_exists('\\mpweb1\image\test.txt')));
    5 end;
    6 /
    1
    0
    PL/SQL procedure successfully completed.
    The oracleservicesid and listener are starting under a user called oracle_user which is a member
    of the admins and domain admins group.
    mpweb1 is on a separate domain to the database server mpdb1 but it also has a user called oracle_user with the same password.
    oracle_user has full access to the share in question.
    Am I missing something? I was trying to keep the database server and web server on different domains for better security
    - but would things be easier if they were on the same domain?
    Any help much appreciated for this java newbi!
    Thanks,
    Simon.
    null

    I am also having problems with UNC paths. But I cannot access the location even if it is mapped as a drive. In JDK VJM I do not have a problem, but in Oracle it says the file cannot be found and say permission denied. I will try to change the user that starts the database and see if that helps.
    null

  • Unable to access UNC path on 2012 R2 file server with ABE enabled

    Brief Description:
    We have granted access to people via a domain local group on a folder on a file server that is three levels deep from the share, i.e. \\servercluster\share\folder1\folder2\folder3, where folder3 is where the group is granted Read & Execute
    access.  The share has Access-Based Enumeration (ABE) enabled and the Everyone group has Full Control share permissions.  We also use DFS, so the path for that is \\domain\dfsrootname\folderfororganization\share\folder1\folder2\folder3.  People
    in the aforementioned group only have access to folder3, its subfolders, and files.  They do not have any access to folder2 or any of the other folders higher in the tree at all.  Also, consider that folder3 contains a subfolder folder4, which is
    simply inheriting permissions. 
    What we have found is that clients running Windows 7 SP1 have strange access issues when attempting to access the folder via either the DFS or cluster name UNC paths.
    Detailed Testing Results Accessing Folder3 Directly:
    NOTE:  "UNC path" in the following test results means either the DFS or the cluster name share path.  The results are the same regardless which path is used.
    1 - Enter UNC path without trailing backslash in Windows Explorer's address bar:
    Windows Explorer seems to do nothing for about 30 seconds and then displays the following error:
    "Windows cannot access <UNC path>
    Check the spelling of the name.  Otherwise, there might be a problem with your network.  To try to identify and resolve network problems, click Diagnose."
    2 - Enter UNC path with trailing backslash in Windows Explorer's address bar:
    The same error encountered in #1 is displayed immediately.
    3 - Enter UNC path with or without trailing backslash but contained in double quotes in Windows Explorer's address bar:
    Internet Explorer opens and displays the error:
    "Internet Explorer cannot display the webpage"
    4 - Enter UNC path without trailing backslash in Run dialog box:
    An error message immediately appears:
    "<UNC path>
    The specified path does not exist.
    Check the path and then try again."
    5 - Enter UNC path with trailing backslash in Run dialog box:
    Same as #4.
    6 - Enter UNC path without trailing backslash but contained in double quotes in Run dialog box:
    Same as #4.
    7 - Enter UNC path with trailing backslash and contained in double quotes in Run dialog box:
    Windows Explorer opens the correct UNC path location and displays the folder contents.  This is the expected behavior for all of these attempts.
    8 - Create Shortcut to UNC path by performing #7 and then dragging the folder icon in Windows Explorer's address bar to either to the desktop or the Favorites section, and then attempt to access the folder via
    the shortcut.
    Same as #7.
    9 - Attempt to create a shortcut to the UNC path using the New Shortcut wizard:
    Unable to successfully create the shortcut, regardless if you add a backslash at the end or enclose the path in double qutoes.  When you press Next after entering the UNC path, you receive the following error:
    "The file <UNC path> cannot be found."
    10 - Disable ABE on the share and repeat all tests:
    All tests with ABE disabled on the share have the same result as #7.  There is no issue whatsoever accessing the desired folder when ABE is disabled.
    Other Notable Behaviors:
    If the aforementioned folder (folder3) contains one or more subfolders (e.g. folder4), you are able to access those subfolders via UNC path directly and then go up one level to folder3 without issue, even when ABE is enabled.  You just cannot access
    folder3 directly via UNC path unless you attempt to access it via the method used in #7 above or a successfully created shortcut.
    Adding a user account directly to the folder3 ACL rather than using group membership makes no difference.
    If access is granted to folder4 instead of folder3 (the fourth folder deep rather than the third), accessing folder4 directly via UNC path is not an issue regardless of ABE status or attempted access method.
    Windows 8 and 8.1 clients have no trouble directly accessing the folder's UNC path via any method.  The unusual, undesirable behavior seen in Windows 7 is non-existent on Windows 8.x clients.
    Systems Involved:
    Client:  Windows 7 Enterprise SP1 x86
    Server:  Windows Server 2012 R2 Standard in cluster
    Other Details About the Systems:
    Both the client and the file server cluster are in the domain AD DS domain.
    The client and the file server cluster are in different subnets.
    There is no firewall or other packet inspection or compression service/device in between the client and server (not even Windows Firewall).
    Question:
    Is there a way to fix this behavior with Windows 7 clients and ABE enabled on the share so that it works correctly without forcing the clients or server to use SMBv1 or disabling ABE on the shares?

    7-Zip 9.20
    Adobe Flash Player 13 ActiveX
    Cisco WebEx Meetings
    Java 7 Update 51
    It should be noted that I can't repeat the behavior on my test machine again today after some changes were made in our environment.
    Today, I found that someone had modified permissions on the folder to give the group my test account was a member of rights to traverse the folder hierarchy from the root of the share.  Additionally, in testing something with FIPS mode, I ended up reverting
    my virtual machine to an older snapshot.
    After removing the extra permissions that weren't present when I was doing my testing and reverting to the older snapshot, I  am not having issues accessing the real equivalent of folder3 directly in Windows Explorer via DFS UNC path or creating a shortcut
    with the New Shortcut wizard.
    Things have been fundamentally changed and I cannot repeat the behavior on this particular folder.  I will see if I can recreate the same situation on another folder.

Maybe you are looking for