JAAS/JAZN: LDAPLoginModule doesn't work with servlet RunAs() security mode

Just thought I'd post this here too, in case any developers actually read this list or in case someone else has run into a similar issue or has any ideas...
I'm having a problem where whenever I use Oracle 10gAS's LDAPLoginModule at the same time as RunAs() mode OC4J crashes.
Application is UIX/Struts for the view layer and ADF BC for the model layer. It is being developed in JDeveloper 10g (10.1.2.0.0) and deployed on 10gAS (10.1.2.0.0)
I am using JAAS (JAZN) for authentication. I am using a custom JAAS LoginModule for the app: "oracle.security.jazn.login.module.LDAPLoginModule". Instructions for using the module are documented in the OC4J Security Guide, Chapter 9 "Configuring External LDAP
Providers":
http://download-east.oracle.com/docs/cd/B14099_07/web.1012/b14013/ldap3rdparty.h
tm#sthref500
This is working fine - I can successfully authenticate against my LDAP server.
In order to retrieve security credentials (i.e. the Subject) while in the Model later, I am running the servlet in doAs() mode, also known as "runas-mode". This is documented in Chapter 4:
http://download-east.oracle.com/docs/cd/B14099_07/web.1012/b14013/genconfig.htm#
sthref322
This works great - when I authenticate against the local XML file I can successfully run the application and retrieve the Subject and Principals.
The problem is that whenever I try to use both of these at the same time the application will not run. I have attached a trace with JAAS/JAZN debug messages enabled.
It appears to be failing in the process of creating the BC Application Module. Apparently when it creates a new thread to monitor the application module pool, in the process of establishing JAAS permissions for the new thread it attempts to retrieve the REALM from the oracle.security.jazn.realm.LDAPPrincipal object -- which is an unsupported function when the Principal was generated by an LDAPLoginModule. For some reason this error crashes the entire process.
You can see a trace of my program here:
http://www.asugroup.com/jazn-errorlog.txt
This should be simple to reproduce by simply creating an ADF BC application, modifying orion-web.xml so that the servlet is in runas-mode, and modifying $ORACLE_HOME/j2ee/home/config/jazn-data.xml to use the LDAPLoginModule.
All I can figure is that it must be a "bug" (or unsupported functionality) in 10gAS. WHY in the world is 10g failing on the getRealm() function of a Principal that it setup itself? Any suggestions or help would be appreciated. The only solution I can think of at this point is to throw Oracle's LoginModule implementation right out the window and write my own... although I don't even know if that will work yet.
Jeremy

ok, so i know that this isn't metalink... but i'm pretty sure this is either a "bug" or "unsupported feature" -- although now that i've looked a bit deeper i'm guessing it has something to do with the "role.mapping.dynamic" flag too. (Haven't tested it yet but I think it might work fine if I put the roles in the local XML file.)
Anyway, if anyone's interested, here's detailed steps so you - YES YOU! - can reproduce the problem yourself if the desire grips you. :)
I put this together for the TAR but figured there's some useful information in here (e.g. the debugging stuff) so it might be helpful for someone in the future to post it here too.
1. Open or create any ADF BC project in JDeveloper. It can be ANY project as long as it uses ADF BC for the MODEL layer.
2. Add orion-web.xml to the VIEW project if it's not already there.
2a) Right click on orion-web.xml and select Properties
2b) In the "JAZN" section, select the checkbox "Run as Mode"
3. Edit web.xml to require authorization to run the app.
3a) Right click on web.xml and select Properties
3b) Under the "security roles" section add the name of an group you're a member of on the LDAP server. Only include the relative name of the group - not the full LDAP distinguished name. Also, convert the name to lowercase.
3c) Under "security constraints" add a new constraint.
3d) In the constraint, make a new resource collection called "everything" and add the URL pattern "/".
3e) In the constraint, go to the authorization tab and select your LDAP group name.
3f) Go to the "Login Configuration" section of web.xml and choose HTTP Basic Authentication. Leave the realm blank.
4. Add orion-application.xml to the project if it's not already there. Configure the "JAZN" tag as follows:
<jazn provider="XML">
<property name="role.mapping.dynamic" value="true" />
</jazn>
3. Deploy the application to Oracle 10g Application Server.
4. On the application server, edit the file $ORACLE_HOME/j2ee/home/config/jazn-data.xml
4a) In the section jazn-data/jazn-loginconfig add a new "application" section for your application. See below for example.
4b) Make sure the "name" of your application matches the deployment name in your EAR file for the project you deployed.
5. I recommend enabling JAZN debugging. See below for instructions on that.
6. Restart OC4J if you already haven't - to make sure it rereads the config, then try to run your application.
SAMPLE JAZN-DATA.XML (CUSTOMIZE FOR YOUR LDAP SERVER)
<jazn-data>
<jazn-loginconfig>
<application>
<name>your_j2ee_deployed_application_name</name>
<login-modules>
<login-module>
<class>oracle.security.jazn.login.module.LDAPLoginModule</class>
<control-flag>required</control-flag>
<options>
<option>
<name>oracle.security.jaas.ldap.provider.url</name>
<value>ldap://10.1.1.7:389</value>
</option>
<option>
<name>oracle.security.jaas.ldap.provider.user</name>
<value>cn=stoneware,ou=stoneware,ou=okemos,ou=mi,ou=et,o=ou1</value>
</option>
<option>
<name>oracle.security.jaas.ldap.provider.credential</name>
<value>!yourpassword</value>
</option>
<option>
<name>oracle.security.jaas.ldap.provider.type</name>
<value>other</value>
</option>
<option>
<name>oracle.security.jaas.ldap.user.searchbase</name>
<value>o=ou1</value>
</option>
<option>
<name>oracle.security.jaas.ldap.user.searchscope</name>
<value>subtree</value>
</option>
<option>
<name>oracle.security.jaas.ldap.user.name.attribute</name>
<value>cn</value>
</option>
<option>
<name>oracle.security.jaas.ldap.user.object.class</name>
<value>inetOrgPerson</value>
</option>
<option>
<name>oracle.security.jaas.ldap.role.searchbase</name>
<value>o=ou1</value>
</option>
<option>
<name>oracle.security.jaas.ldap.role.searchscope</name>
<value>subtree</value>
</option>
<option>
<name>oracle.security.jaas.ldap.role.name.attribute</name>
<value>cn</value>
</option>
<option>
<name>oracle.security.jaas.ldap.role.object.class</name>
<value>groupOfNames</value>
</option>
<option>
<name>oracle.security.jaas.ldap.membership.searchscope</name>
<value>direct</value>
</option>
<option>
<name>oracle.security.jaas.ldap.member.attribute</name>
<value>member</value>
</option>
</options>
</login-module>
</login-modules>
</application>
</jazn-loginconfig>
</jazn-data>
for Sun Java System Application Server and Microsoft Active Directory examples see:
http://download-east.oracle.com/docs/cd/B14099_07/web.1012/b14013/ldap3rdparty.htm#sthref500
ENABLING JAZN DEBUGGING MESSAGES ON ORACLE 10G APPLICATION SERVER
1. Login to Enterprise Manager 10g Application Server Control
2. If you are part of a farm you will get a list of instances. Select the instance your app is deployed on.
3. In the "System Components" section of the home page, click on your OC4J instance (default name is "home").
4. In the OC4J home, click on the "Administration" tab.
5. Select "Server Properties" from the Instance Properties section.
6. In the Command Line Options section, there is an option called "Java Options".
7. At the end of the "Java Options", append the text "-Djazn.debug.log.enable=true"
8. When prompted, restart the OC4J instance.
Debug information is captured by OPMN and stored in a log file. The log file can be found in the directory $ORACLE_HOME/opmn/logs
The default name (if your instance name is "home") is "OC4J~home~default_island~1"

Similar Messages

  • How Can Work With Installed (RUN Only MODE)

    hi,
    i have export application in run only mode from APEX ONLINE .Now i have install this application offline with Upgrade XE with APEX in my machine.
    i have upgrade XE and install an application in RUN ONly Mode .After Installing It shows APPLICATION INSTALLED But Application is not EDITABLE.
    Tell Me How can i work on this installed application in runing mode .

    Hi Br,jari,
    Thanks you Understand my problem.i have done all these changes too.after finished all these steps. what i have to do next. so that i can check the application how it is working. i have to work as the customer. is there need to type anything into url so that i can see it?
    when i login into my application
    by using
    workspace name
    username
    password
    again when i click on the application builder it gives me the error you can not edit the application..
    Thanks

  • Why EL doesn't work with custom tags ?!

    I don't know why expression lang. doesn't work with me.
    here's an example, and please tell me why :
    --- the jsp page with EL ==> doesn't work :
    <%-- In the name of ALLAH most gacious most merciful --%>
    <%@ page language="java" %>
    <%@ taglib uri="/cartlib" prefix="cart" %>
    <html>
    <jsp:useBean id="product" class="ch16.cart.ProductCatalog" scope="application" />
    <cart:showCatalog productCatalog="${product}" addToShoppingCartUri="<%= response.encodeURL("AddToShoppingCart.jsp") %>" />
    </html>
    when using expressions instead, the page works .
    the new page is :
    <%-- In the name of ALLAH most gacious most merciful --%>
    <%@ page language="java" %>
    <%@ taglib uri="/cartlib" prefix="cart" %>
    <html>
    <jsp:useBean id="product" class="ch16.cart.ProductCatalog" scope="application" />
    <cart:showCatalog productCatalog="<%= product %>"
    addToShoppingCartUri="<%=
    response.encodeURL("AddToShoppingCart.jsp") %>" />
    </html>
    The error was :
    HTTP Status 500 -
    type Exception report
    message
    description The server encountered an internal error () that prevented it from fulfilling this request.
    exception
    org.apache.jasper.JasperException: jsp.error.beans.property.conversion
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper
    .java:512)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    root cause
    org.apache.jasper.JasperException: jsp.error.beans.property.conversion
    org.apache.jasper.runtime.JspRuntimeLibrary.getValueFromPropertyEditorManager(Js
    pRuntimeLibrary.java:885)
    org.apache.jsp.ShowProductCatalog_jsp._jspService(ShowProductCatalog_jsp.java:77
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    note The full stack trace of the root cause is available in the Apache Tomcat/5.5.20 logs.

    Regarding setup, see this post reply #6
    http://forum.java.sun.com/thread.jspa?threadID=629437&tstart=0
    Other potential things to check: make sure you are getting the right value passed in
    productCatalog="${applicationScope.product}"
    ${product} by preference would take a pageContext, request or session attribute before the application level one (it uses pageContext.findAttribute).
    What do you get if you just print out ${product} on the screen?
    It should call a toString() on it for rendering purposes.

  • HttpServletRequest.isRequestedSessionIdValid() doesn't work with SSL

    In OC4J 9.0.3, when SSL is enabled, the call to
    HttpServletRequest.isRequestedSessionIdValid() method doesn't seem to work. It always returns false when it is called even though the session has not yet expired.
    On the contrary, when SSL is disabled, the HttpServletRequest.isRequestedSessionIdValid() works correctly as specified in the servlet specification.
    Can anyone in this forum explain to me why HttpServletRequest.isRequestedSessionIdValid() doesn't work with SSL? Any solution for that problem?
    Thanks in advance.

    Hi Sanjit,
    I've tried this on multiple PCs and get the same problem everywhere.
    See picture with IE11 and chrome.
    Sincerely,
    Davy

  • Trying to load illustrator 6cs onto new mac and the old activation code for my ill cs doesn't work with it

    Trying to load a downloaded version of illustrator 6cs onto new mac and the old activation code for my illustrator cs doesn't work with it.  Do I need a new code or am I missing something?  Same goes for my Photoshop cs.

    you need your serial number.
    if you purchased from or registered with adobe check your account, https://www.adobe.com/account.html

  • Cinema Display (clear) with DVI/ADC box doesn't work with MacBook Pro

    Cinema Display (clear) with DVI/ADC box doesn't work with MacBook Pro when plugged in with a dvi to mini dvi cable. Any ideas what to do to make it work? I lugged the 23" 2500 miles into the wilderness and I need help

    Okay, here's an update: the DVI to ADC adapter does work with the Apple displays that I have tried, but it won't work with the Formac. I have tried multiple time to contact them, but to no avail... they don't even respond to threats of posting my opinion of them, which is this:
    DON'T BUY ANYTHING FROM FORMAC! They make quality products, but their customer service is a big time joke! They won't take care of you.

  • HT201210 hi everyone, i have a problem about my iphone 4S, doesn't work with wifi connection and bluetooth since upgrade to the IOS 7.0.3. Can anyone can help me tosolve this problem?????Thank's regards paulus

    hi everyone, i have a problem about my iphone 4S, doesn't work with wifi connection and bluetooth since upgrade to the IOS 7.0.3. Can anyone can help me tosolve this problem?????Thank's regards paulus

    Try the suggestions here to see if they resolve your problem:
    http://support.apple.com/kb/ts1559
    If these don't work you may have a hardware problem. Visit an Apple store for an evaluation or contact Apple Support.

  • TS1253 I have a printer epson TX210, but it doesn't work with my time-capsule. What need to do?

    I have a printer epson TX210, but it doesn't work with my time-capsule. What need to do?

    What have you tried?
    You are going to get nowhere quick with the 6.1 utility in Mountain Lion if this is the only OS you have available.
    Look up how to install 5.6 utility under ML. At least then you can see printers. That is assuming you are trying to use USB.
    Has this worked ever on Mountain Lion? Did you download the drivers for that printer for ML?
    Plug it into a computer directly.. does it work? If it doesn't work locally it sure will not work via the network.

  • My i pod nano first generation doesn't work with windows 8

    My i pod nano first generation doesn't work with windows 8

    Howdy yvesmd,
    Thanks for using the Apple Support Communities.
    If your iPod nano is not being recognized in iTunes on your Windows computer, then I'd like you to please follow the directions in the link below.
    Apple - Support - iPod - iPod nano Troubleshooting
    Cheers,
    Alex H.

  • Quicklook doesn't work with .avi files

    Hello, i've got a little problem right here on my mac. The thing is that I used to have Snow Leopard as a OS and quicklook used to work great, it opened all the extensions I used to work with. The thing change when I format my HDD and installed a clean copy of Lion OS. Now quicklook works fine as it used to but not any more with .avi files. I remember that this feature was working great on my previous OS, and it's really important for me to find a solution because quicklook is an absolutely amazing feature of our Macs.
    I've tryed to download plugins, restoring permissions or even trying it with a guest user, but no success.
    Please help me. If you need more info about specs or something i'll be glad to give them to you.
    Thank you!!!

    Also doesn't work with Grapher (.gcx) documents (an Apple format).

  • The Bluetooth on my 2012 Lexus doesn't work with my iPhone 5.  My old android phone worked perfectly with my car.  Even the tech guy at Lexus couldn't get it to work.  What is apple doing to fix this.

    The Bluetooth on my 2012 Lexus doesn't work with my iPhone 5.  My old android worked perfectly with my car.  Even the tech specialist at Lexus couldn't get it to work.  Lexus said that other iPhone 5s were having the same problem.  What is apple doing to fix this?

    Going to the local Apple store this morning...
    My problem is not uncommon as the board is showing signs of this happening to many others as well. That is where I found the restore and reboot information to try to solve the issue of crashing apps.
    I understand that Apple will not "give away the cow", but letting iPhone users know that the problems they are having are being addressed by Apple is a little more comforting than nothing at all. Other wise, all the apps in world are useless and even more importantly worthless, if a person has to reset/reboot/reload just to get them to work.
    IF Apple can not address the basic problems with todays iPhone apps, why should one believe that the iPhone 3.0 OS is any better? Using a PC comparison, which is better, XP or Vista. If the current iPhone OS of 2.2. what ever is not working that well (as related to down loaded apps and iTunes), will OS 3.0 be any better?
    The waste of time I refer to is in going to the apps store and downloading the apps... Again why by apps if the free version does not work?

  • Satellite M40-129: PCMCIA Card doesn't work with Linux

    I have D-Link DWL-G650 with Atheros Chipset which is good supported under linux (madwifi). But if I boot Linux the card is not found. I tested the card with an Fujitsu Siemens Notebook and it worked out of the box!
    Any idea why it doesn't work with my M40-129 ?

    Hi
    Like you know Toshiba doesnt support the Linux and there are no Toshiba drivers for the Linux OS but I was able to find this useful Toshiba page about the notebook configuration with Linux:
    http://newsletter.toshiba-tro.de/main/
    You should check the OS machine compatibility and the other areas.
    Im sure you will find many useful tips.
    Good luck

  • HT5706 I am trying to set up Apple TV with my Uverse WiFi, but I get errors when entering my password.  One site said that Apple TV doesn't work with WPA which Uverse uses.  Is there anyway around this or will Uverse and Apple TV just not work together.

    Trying to set up Apple TV with ATT Uverse.  I get errors when trying to enter my WiFi password.  One site says that Apple TV doesn't work with Uverse because it uses WPA for encryption.  If true, does that mean Uverse subscribers cannot use Apple TV?

    Spurs63 wrote:
    does that mean Uverse subscribers cannot use Apple TV?
    No, that's a rather silly conclusion.
    There are two options:
    stop using the crappy router provided by the ISP.
    Physically connect the ATV to the router via Ethernet.

  • My cellcom line doesn't work with my iPhone here in Israel, why? Is there any way I can solve this issue?

    My cellcom line doesn't work with my iPhone here in Israel, why? Is there any way I can solve this issue?

    Please explain.
    What does "cellcom line doesn't work with my iPhone" mean?
    What are you trying?  What is happening?
    Where did you buy the iphone?
    Any info abnout your issue at all?

  • Media Encoder CS4 doesn't work with Premiere (pic related)

    Oh hai!
    I just got Adobe Master Collection CS4 and my Media Encoder doesn't work with Premiere CS4. When I try to export the file, Encoder starts normally. Then I click "Start queue" and Encoder starts loading. Loading takes almost five minutes, which is a long time, because my project is very simple. After that nothing happens, just a warning sign appears. When I click it open, some kind of log file open and it says:
    Encoding failed
    Could not read from the source. Please check if it has moved or been deleted.
    And I didn't deleted anything. So what does that mean? Why that "Source Name's" path is different than my project files path? Can this problem relate that somehow?
    I have also another problem with Premiere CS4, maybe there's a link between these two problems. I can't get Premiere projects linked to open in Premiere CS4. When I right-click the project icon, and click “Open with…”, I can't find Premiere from the list. When I click "Browse", I can find Premiere.exe from my computer, but if i doubel-clicked it, nothing happens. It won't appear to the list or anywhere else. Or have I missed something? So now the project files are linked to open in After Effects. Of course I can open projects from Premiere, but how do I get them open straight from file?
    I have long experience using Adobe Premiere and this is the first time I got this kind of problems. I have also downloaded new updates for Premiere and Encoder, this didn't help. Does that matter, that I didn't installed Premiere in C-drive? However it's in my computers internal drive, I have divided my hard drive for five parts, one part contains all of my softwares. My scratch disks are in different hard drive (external), does that matter? I tried different location, but that didn't help.
    Please help, I can't do any video editing, because of this problem. And sorry for my english, ask if you didn't understand something. =)

    Hello, this is terrible problem, which i found in CS 6 softwares ...
    solution i found only working, is uninstall and reinstall full package.. but it is not all,
    you need to do BRAND NEW admin account in windows, and install it there.
    that means, i could not export after repair from encoder in my original account never more (!!)   .. this is really terrible way how to repair this issue, because :
    1.by reinstalling of software, client WASTE HIS TIME
    2.by necessity to begin work in another windows profile you again WASTE YOUR TIME because of learning and migrating all other profile modifications, which i see really unaccpetable. Adobe means, this solution of repair is ok, and they did not do till today any steps of creating some "clever" solution.
    I ask everybody, who will meet this issue in future, guys, please, complain about this situation, give "BUG Report" to them, and write "feature request" to them , in the way of creating some repair tool, which check actual  "broken" connections between encoder and premiere, which refuses to "take material" from it and encode, and REPAIR it automatically..  
       I am not IT, but ..does it seems so hard to create this ? Adobe IT developers should know their systems, and should create such utility tool really easy.
    History of this problem and detailed description, HOW i did "repair" this. With wasting of app 2,5 days of my working time :
    1. after repairing "error 5" problem , i solved it by reinstalling the suite from the new admin user profile (profile B) . 
    I continued my work on my normal working windows profile . (profile A)
    Every cooperation (AE+Pr, export media via "queue" to Encoder) was working fine . . .
    2. suddenly it stop working (without knowing any possible reason - i did not do installations )
    and showed in error export log file :
    "Could not read from the source. Please check if it has moved or been deleted."
    3.repair via procedure(procedure "a"):
    i did this procedure on the profile B (profile from last time installation of repairing problem error 5)
    I did these steps :
    a-uninstall master coll suite
    b-i used Adobe cleaner tool (remove ALL)
    c-removed raw directories in locations
    •C:\Program Files\Adobe
    •C:\Program Files(x86)\Adobe
    •C:\Program Files\Common Files\Adobe
    •C:\Program Files(x86)\Common Files\Adobe
    •C:\ProgramData\Adobe
    d-removed these links from registry file
    •HKEY_LOCAL_MACHINE\SOFTWARE\Adobe
    •HKEY_CURRENT_USER\Software\Adobe
    •HKEY_LOCAL_MACH INE\SOFTWARE\Wow6432Node\Adobe
    •HKEY_CURRENT_USER \Software\Wow6432Node\Adobe
    e-restarted the PC
    f- newly installed the Master Coll CS6
    g-update the software
    result of repair of "3" : problem still exists
    4.Ok i find out after coordination with support, it should have been created  ANOTHER NEW admin account.
    4a:so i did the same procedure (uninstalling) in profile B
    4b: and then i created brand new admin profile (profile C)for INSTALLATION of software
    4c: restarted the pc (and did not updated it yet)
    result :
    ==exporting of any sequence/raw/AE link video material from premiere via "queue" (Encoder) (profile C) : export WORKS
    ==exporting of any sequence/raw/AE link video material from premiere via "queue" (Encoder) (profile B) : export WORKS
    ==exporting of any sequence/raw/AE link video material from premiere via "queue" (Encoder) (profile A) : export DOES NOT WORK ! ! !
    (in profile A, is possible to export some raw video material in encoder which is imported to it via "drag and drop)
    problem i see:, i have my basic profile A, which i am interested to work, because of all my directory modifications are in there..
    this issue should be some "broken" connections between encoder and premiere, which refuses to "take material" from it and encode.
    what i expect :
    to get from Adobe some repair tool, which automatically checks these connections and repair if necessary, without necessity of founding the new profile and reinstallation of whole software.. this is madness !
    what i do NOT expect from Adobe:
    to get from Adobe advice of kind : you have to reinstall full software in new admin profile. sorry , we do not know the solution, because we do not know, how do behave our software.

Maybe you are looking for

  • Screen Saver problems.

    I just bought a MacBook Pro with Retina Display. It shipped with OS X Mountain Lion 10.8.1. I set my screen saver to iTunes Artwork. I then downloaded 10.8.2. When I downloaded the newest version, it now says my iTunes library has no artwork. While m

  • HANDLING CHECKBOXES USING JSP AND EJB

    HI SDN MEMBERS,I AM LEARNING HOW TO CODE IN J2EE.I DISPLAY A FORM WITH CHECKBOXES AND SOME ITEMS BY THE SIDES.NOW THESE ITEMS CAME FROM THE DATABASE BUT ON DISPLAY THE USER SHLD CHECK HIS CHOICE CHECKBOXES THEN SUBMIT.PLS HOW DO I GO ABOUT THIS?

  • Remote master files

    I have my master files located on a time capsule and only keep a copy of them on my laptop for filesize reasons. So I could view the photos and edit the masters when I was connected to the time capsule. When I was not connected I could only view them

  • Special Thumbnail Gallery

    I was looking around and maybe not searching on the correct terms, but i have a client that is looking for a gallery setup for her studio... the thumbnails she wants is to be part of the image, not just a smaller image of the entire thing.. So basica

  • Get Lastest date of the Work Order confirmation

    Hi experts, I want to write a report to get the lastest date of Work Order confirmation.Pls give me some logic solution. How to do? I know the work order can be cofirmed partly,So there are maybe several date for work order confirmation,I only want g