Custom opcodes in DNG

According to the spec, it is OK that a reader will not be able to understand an optional opcode.
Is it possible to define custom optional opcodes so a camera or an image editor can save a custom manipulation as part of the image rendering pipeline?
I see that the specification states that the DNG version where the opcode is defined should be specified in the opcode, but I am not sure if it's mandatory.

The AP Patchset on the Dev instance is higher than the one on the Non-Prod instance, so I believe this is not an issue. Did you verify the code across the two instances? Did you compile the pll file again and generate a new plx? If yes, then you may try to use the same plx file and check again.
If the above does not help, I would suggest you enable trace to collect more details about the error.

Similar Messages

  • Feature Request: Opcodes in DNG Camera Profiles?

    We now have V1.3 of the DNG spec, with support for opcodes, which is great.
    Now, can we the ability to put opcodes in DNG camera profiles?
    Given all the hard work has already been done to support opcodes, this would seem to me to be a really value adding thing to do. It would allow profiles to be created that support specific camera/lens combinations. E.g., it would allow the Leica M8's famous "Cyan corners" vignetting problem on uncoded wide ange lenses to be addressed by a profile rather than having to rewrite all the image's raw data.
    Thanks,
    Sandy

    The files are in this directory on my Vista machine and my Win7 machine.
    How far do you get when you try to click down to that path in Explorer:  C:\ ?
    If so:
    C:\ProgramData is a hidden directory.
    You can enable visibility of hidden files and folders by going to:
    My Computer / Alt-Tools / Folder options... / View
    and near the top you will find Hide and Show hidden files options.
    However, you can also just open My Computer and type c:\programdata into the Address area and hit Enter and you'll be in that folder despite it being hidden, then click your way down to where you need to be.

  • Canon CR2 custom settings not transferring to converted DNG file

    Hi,
    First post & using 8.6 on Mac OSX 10.9.4 shooting Canon 1Dx.
    After years of sucessfully converting Canon CR2 files with custom settings to DNG for archiving, just recently I’ve been having an issue where the actual settings aren’t transferring or being recognised.
    It used to work easy & fast by just selecting the Canon CR2 files with their sidecars and drag/dropping straight onto the DNG Converter which I have sitting in the dock, then hit the convert button.
    Yes, the files still convert to DNG but no custom settings. The file is like the original unprocessed raw image
    Any solutions anyone?

    Thank you everyone, much appreciated.
    After posting last night I thought about reproducing the same issue on my laptop (MacBook Pro) as I run the same software (PS CC 2014, ACR 8.6, DNG Converter 8.6) and workflow as on my main Mac.
    And yes, the problem is definitely reproducible.
    Then had a lightbulb moment by downloading & trying an earlier version of DNG converter (v8.5)
    Voila! Lo & behold the problem is gone. 8.5 is king
    So I’m with you ssprengal, it appears DNG 8.6 is somewhat buggy when it comes to transferring/recognizing customised settings in the way I normally do it.
    (ie drag drop CR2 + Sidecars onto DNG Converter)
    FYI, when editing CR2 files direct in the ACR 8.6 dialogue window I can convert to DNG with settings intact....but for me that workflow holds up ACR for eding on other work
    FYI_2
    Usual editing workflow goes like this:-
    Edit CR2 files direct in ACR 8.6
    Save files as Jpegs, Tiff etc or whatever client needs
    Hide or quit ACR
    Go to folder where CR2 & sidecar files are.
    Select all, drag drop onto DNG converter
    Press convert
    I run this workflow only so it frees up ACR for further editing (say on a different job)
    Some jobs run into hundreds of final images, so efficiency is key.
    ACR works while the DNG converter is working (on other files) in the background.

  • Importing raw images into lightroom4 without automatically editing.

    when importing my raw images into lightroom4 they are automatically editing how do i change this?

    My guess is that you just don't understand how Lr4 (and every other raw converter) works.
    There is no such thing as viewing a raw file, only viewing the interpretation of a particular converter (of which your camera is the first raw converter to take a whack).
    It's time to learn how to edit with Lr4 - what you start with in Lightroom will *always* be different than your camera, or your manufacturer software, or any other raw converter...
    (assuming it's not an issue of inadvertently changed default settings or settings applied inadvertently upon import...).
    Note: because Lightroom does not take camera-specific things into account, the initial starting point is often less optimized than your camera or manufacturer's rendition (e.g. no luminance noise reduction is applied, active d-lighting is not taken into consideration...)
    PS - Lr4/PV2012 rocks - once you learn how to use it - it's the best!
    A couple of specifics:
    * Lr4 defaults to Adobe Standard (see Camera Calibration section in Develop Module), which tends to be run a little magenta-y, a little cyan-y, and a little bright. Consider a camera emulation profile, or try red (primary) hue +7 and blue (primary) hue +10 for portraits that use Adobe Standard (also camera calibration section). Also try pulling the lights slider left in the parametric tone curve. If you like this for some photo types, roll it into a custom profile using DNG profile editor (can even be precisely calibrated for your specific camera).
    * Lr4 includes a little contrast boost that is not represented by the tone curve (nor the contrast slider). If too much for portraits, try -contrast, or -highlights...
    Rob

  • Bridge modifies previews

    Bridge modifies my images when uploading. Shoot Canon MarkIII, the images are converted to some type of auto levels but I am sure I do NOT have that applied under preferences. How can I stop this?

    Molly (and Janet),
    What you are seeing is perfectly normal, and
    it is NOT what you think.
    When Bridge first "
    finds" your image to read it, it is
    NOT showing you a rendition of your raw image. Rather, it is directly accessing the embedded JPEG created in the camera by the camera's raw conversion software and embedded in (transparently included with) the file you download to the computer.
    An instant later, Bridge calls upon the ACR plug-in to do
    its own conversion from the raw file and give you its (ACR's) natural rendition of the raw image as interpreted by ACR, not the camera manufacturer's raw conversion software as contained in your camera's firmware and also provided to you by the camera manufacturer in the form of conversion software for your computer.
    ACR was
    NOT designed to emulate the results obtained by the camera manufacturer's software
    at all, but to give you the most natural image possible. Canon and Nikon use tone curves to clip the deep shadows to hide noise and to produce the over-contrasty, over-saturated and over-sharpened images that appeal to most consumers. ACR defaults are nothing more than starting points aimed at showing you the image potential. It's up to thew user to learn how to use ACR and come up with the settings he/she likes.
    Because many Nikon and Canon users complained, the ACR team developed in ACR 4.5 a means of accessing
    additional ACR profiles for Canon and Nikon cameras (no other makers as of yet; Pentax profiles, for instance, are and have always been spot on) beside the Adobe Standard profile. These profiles are now in beta, and
    you HAVE TO download them separately from the ACR plug-in and install them correctly before you can access them
    , if you prefer Nikon and Canon's ways.
    Please visit the ACR forum to read more details in existing threads.
    Additionally, Adobe has announced and released the new, amazing DNG Profile Editor, with which you can create and manipulate custom profiles for DNGs created from your raw files. These custom profiles will then appear in the drop-down menu in the Calibrate tag of ACR and you can apply them to any image in ACR. But that's another story.

  • How do you stop DNG Converter from embedding Adobe's ACR default settings instead of custom settings?

    I notice that the new version of Adobe DNG Converter (8.6, and maybe earlier) appears to place Adobe's ACR defaults in the converted file.  Thus, the converted files open up in Bridge with an indication that they already have settings made, and, hence, ACR does not apply the custom camera settings.  One has to Clear Settings first in Bridge, then open in ACR.
    This behavior is new, perhaps to 8.6.  But it's presence defeats the purpose of having custom Camera Defaults.
    Is there any way to prevent DNG Converter from installing settings?

    ssprengel wrote:
    What do you mean by “custom camera settings”?  Do you mean you’ve changed the Camera Raw defaults for a particular camera and those aren’t being seen until you do a Reset?  Or do you mean some sort of Nikon-settings that Adobe never looks at?
    Also at what point in the workflow are you converting these files, just after copying them to your hard-disk and before touching them with any other Adobe software, or after they’ve been adjusted in Nikon software, or after they’ve been adjusted in Bridge/ACR, initially as NEFs?
    I mean my custom camera defaults that are set by the Save New Camera Defaults for a given camera.
    My workflow is to take my original raw files first into Adobe DNG Converter.  I then open the folder in Bridge.  At this point I notice that my original raw files remain unaltered (there is no "settings" icon in the top right corner – circle with two lines and up-arrows – in the image's thumbnail), but the converted dng's (otherwise untouched and unopened in ACR) have a "settings" icon.  When I open the original raw file in ACR, it opens using my custom camera defaults.  When I open the otherwise virgin dng in ACR, it opens using the Adobe defaults (the same defaults that would be employed if no custom camera default had been set).
    This behavior is new.  DNGs formed by earlier versions of the DNG Converter did not apply any settings to the converted file, and when they opened in Bridge, they were given the custom camera settings.
    In order to retain the old (and proper) behavior, I now have to take the just-converted documents into Bridge, select them, and immediately apply Develop Settings/Clear Settings.  That gets rid of the settings that have been installed by the DNG Converter (as well as the "settings" icon on the thumbnail).
    I notice there is a new feature in Adobe DNG Converter 8.6, namely, a panel-specific toggle between the settings and the default settings. This indicates to me the likelihood that Adobe has been making some alterations with the settings that is having unintended consequences.  It clearly is not proper for DNG Converter to be adding (installing) settings, because that prevents the custom camera default settings from being applied, and hence defeats the purpose of the custom camera default settings.

  • Canon 5d2 DNG +custom profiles = bad preview in Bridge?

    I'm using DNG Profile Editor (1.0.0.39 Beta 2) to make custom profiles for my new Canon 5D Mark II, and then using DNG Converter (5.2) plus Photoshop CS3 Bridge to process images. All on Windows XP.
    After my 5D2 custom profiles were in place I noticed that the image preview in Bridge CS3 was "bad." The Bridge preview is very blurry and does not update when changes are made to the DNG file via ACR. For example, if I change exposure in ACR and click "Done" or "Open in Photoshop, the change is saved OK in the DNG file but the Bridge preview remains the original blurry image.
    Took a long time to figure this out because I did not immediately associate the problem with the creation of custom profiles. Older 5D2 DNG files previewed OK in Bridge, as did DNG files from my other cameras. I even re-converted some old camera raw files to DNG and they previewed OK in Bridge. There are custom profiles in place for those older cameras.
    I spent a lot of time on the usual suspects - purging cache, reseting preferences. All to no avail. Then I removed all my custom profiles and deleted the index.dat file. Ran DNG converter again to make new DNG files from the 5D2 raw. Now the Bridge preview was OK. Then I restored my custom profiles and converted raw to DNG again, getting bad Bridge previews again. Yet the previous converted files would still preview OK in Bridge.
    My conclusion: The DNG converter is using camera profiles during the conversion, and in the case of 5D Mark II raw files is creating an error. I'm guessing it is putting an embedded jpeg in the DNG file that somehow confuses Bridge.
    I've repeated the tests many times now. I've changed the DNG Converter "jpeg preview" preference to none, medium and full. For the 5D2 files I get bad Bridge previews on all settings. But I get good Bridge previews on my Canon 20D and Canon 1Ds DNG files regardless of any settings. Regardless of the presence or absence of custom profiles, regardless of the jpeg preview size, regardless of the ACR default settings.
    So I'm hoping the Adobe team can take a look at this. Or anyone willing to confirm or deny my tests. I don't have an easy way to post a DNG file, but could email one of my "bad" ones to anyone willing to take a look.

    The lack of response to this post forced me to keep testing. Now I've more closely pinpointed the problem and found an easy work around. First some background.
    ACR camera profiles are stored in two places. The Adobe supplied profiles are in:
    C:\Documents and Settings\All Users\Application Data\Adobe\CameraRaw\CameraProfiles
    and your custom profiles are in:
    C:\Documents and Settings\yourusername\Application Data\Adobe\CameraRaw\CameraProfiles
    Adobe Camera Raw, and it turns out the DNG Converter, both build an Index.dat file in this last folder. Apparently this index is built by scanning both camera profile directory trees and building a list of all the profiles it finds. It then sorts that list alphabetically by the profile name that is embedded in the file, not the Windows file name.
    The "Adobe Standard" profile for a camera has a file name like "Canon EOS 5D Mark II Adobe Standard.dcp", but embedded in that file is the profile name of just "Adobe Standard". That's why only "Adobe Standard" shows up in the drop down list of profiles in ACR. And that's why "Adobe Standard" appears before "Camera Faithful", which appears before "Camera Landscape". It's alphabetical order.
    Now, when you create a custom profile with the DNG Profile Editor, the "Export" function puts "Canon EOS 5D Mark II" on the front of the name. If you are an idiot, like me, you type over all that with something simple like "5D2 Bouce Flash" for the profile name. But wait, "5D2 Bounce Flash" sorts alphabetically before "Adobe Standard" and appears first in the ACR drop down menu. Sounds OK so far.
    But then the magic occurs. The DNG converter uses the camera profiles. It actually accesses that Index.dat file, and if it does not exist, the DNG converter will rebuild it, just like ACR. Why it does that I can't imagine. Seems to me that the DNG converter should be simply converting raw to DNG and passing the EXIF and embedded camera jpeg along as is. What need does it have for camera profiles?
    Anyhow, if that 5D2 profile is first in the list due to its alpahbetical name, the resulting DNG file will confuse Bridge. Bridge will display a fuzzy preview and will never update that preview, or the thumbnail, when you make adjustments in ACR.
    But if you name the 5D2 custom profile such that it sorts alphabetically after "Adobe Standard", then all is OK. The DNG files can be previewed and thumbed OK by Bridge. So I named my custom profile "My 5D2 Bounce Flash", a simple workaround.
    Now I can move on to more important things. Like generating a good custom profile for the 5D2. So far the Adobe Standard profile beats anything I've generated. Especailly if I remove that curious Point Curve which can sometimes muck up the shadows.
    And now that Bridge previews are "OK" I can work on the mystery of why Bridge Previews of 5D2 DNG files do not match the previews of their equivalent TIF or PSD files. If you're curious you can see samples and read more about that here: http://forums.dpreview.com/forums/read.asp?forum=1032&message=30748423

  • Saving metadata from Lightroom erases custom XMP data in DNG...

    Hello,
       There seems to be an issue with the way Lightroom applies changes in from the LR catalog to the assets metadata.  The setup is LR 2.5 and there is an orginal set of images that have custom XMP data applied to them via Bridge.  There is one LR catalog that points to these images and the LR catalog ratings and labels match those that are in these images.  A second LR catalog copy (not export) was made where additional changes were made only to ratings and labels.  This catalog also points to the original assets.  When using the Save Metadata to files function in LR for this catalog (and selecting ALL files), LR erases all the original custom XMP data contained in the DNG images and writes only the ratings and label information.
        It doesn't seem that LR should be overwriting the entire XMP packet when only ratings and labels have changed and are saved back to the assets.  Is that the way this is designed or is this a malfunction?
    Thanks for any help on this!
    David

    I may have answered my own question as we have run into this issue before.  Lightroom is really not designed for any type of simultaneous workflow on the same files.  Most content management applications utilize the check-in/check-out mechanism to avoid having to perform any type of merging or implement a logical business rule to determine which content updates "win"  It is no different with Bridge and LR.  You work in one application at a time doing specific things to the same files and then read from each other when those actions are complete.  Working in this manner you never run into the merge issue or lose data from either side.
    Our simple answer to this question is adjust our workflow timing for things to accommodate this behavior.  The one thing that I will say is that LR does really need to provide some type of catalog history functionality that can be queried.  I believe that LR does interact with the catalog database in this manner when you use the Save functionality from the context menu and have not imagery selected.  It scans the database looking for any changes and then only updates those files it finds changes for.  If we could only see this type of functionality added in a way that would show us history for changes to the catalog at large and not have to dig into individual assets to look for these changes that would be great.
    We are going to look at a way to query the LR database itself to see if there isn't some time stamp information and file ID/filename data that can't be accessed as it would be invaluable to be able to look across large catalogs (well over 1000 images) and find the files that had been most recently updated (in updated I mean only simple updates to rating and label) and then separate these out to work with in their own group (collection).
    I could also look at this as yet another opportunity to refine a workflow that doesn't create changes to identical data each time changes are incurred.  I will look at that option much more closely as it is really the only thing we can easily control.
    Cheers!
    ~David

  • Does Aperture support DNG custom profiles (.dcp) ?

    Hi, how can I do batch correct raw images ? Does Aperture support custom DNG profiles (.dcp) from
    X-Rite Colore Checker Passport or Adobe DNG Profile Editor ?
    Or instead can I assign color correction icc camera profile (input ? device ?)
    For example, I have already prepared jpg image with desired colors ang raw image, I want match colors raw to jpg image. I'm not interested in presets, I prefer and I can do it via profiling in other raw converters. But it will be Aperture usable for me ?
    Many thanks for answer

    I don´t have the camera nor Lightroom, so just for what it´s worth, this requirement stated for DNG files:
    +DNG files must be generated by the Adobe DNG Converter with the “Convert to Linear Image” option turned off.+
    Not sure if that helps you. I´m trying something alike from PSe7 on a Windows Vista laptop for the Panasonic LX3, without luck so far... ;(

  • Custom DNG camera profiles only available for DNG files?

    I developed a custom camera profile for my Sigma DP-1, using a colorchecker chart and the DNG profile editor.
    I exported the DNG profile in the default location.
    When I open Lightroom or ACR, the new profile is not available for X3F files, only DNG files. Is this normal???

    Well, I've imported the original X3F file as well as the converted DNG file in Lightroom.
    When I develop the DNG file, my custom profile appears in the list. When I click on the X3F file, embedded*  is the only option.
    It may have to do with an incomplete support of the X3F format. I have just repeated the exercise for my D300, and in this case the custom profile is available for NEF files.
    Too bad since I'm happy with some of the Adobe camera profiles for the D300, but less so with the default look for Sigma DP-1 files.
    I guess I should file a bug report...
    * or "matrix" or whatever is the term in the english version, I have the french version which says "incorporé"

  • LR 4 and custom DNG camera profiles... they are not embedded?!

    i have the colorchecker passport for some days.
    my workflow:
    import the .CR2 raw files from memorycard as DNG copy into lightroom.
    create a DNG camera profile with the colorchecker passport (LR export -> xrite colorchecker).
    then i choose the created camera profile and i set the whitebalance.
    all working fine... as it should.
    my problem is, i don´t want to have a hundred DNG profiles, i will sure create that much over the time, on my harddisk.
    i think it´s messy and it´s also not very save to have the profiles only as separate files, in case you lose the profiles.
    i thought the camera profile can be embedded INTO the DNG file.
    i thought the camera profile is written into the DNG files when i write the metadata back into the files.. but it seems not.
    it seems the DNG camera profile is only embedded into the DNG image file when i EXPORT the DNG file again with the LR export dialog.
    for example:
    i choose the camera profil "MY 5D MK2 PROFIL_1" for an image and then save the metadata back into the DNG image file.
    then i delete the camera profile "MY 5D MK2 PROFIL_1" from harddisk.
    the next time i open LR and select the same image ... the cameraprofile is reverted back to "adobe standard" and the profil i have created is gone.
    when i EXPORT the image as DNG, then even after i have deleted the DNG cameraprofile "MY 5D MK2 PROFIL_1" from the hardisk.... the profil is still in the DNG image.
    that´s what i want... but i have to export all files again as DNG files.
    i would really like to get rid of this extra step.
    i hope my english is good enough so you understand what my problem is.
    can anyone share a light on this?
    is this the only way to embedd the DNG camera profile or im doing something wrong?
    intel i7 2600k, win7 64bit, 16 GB ram, LR 4 final.

    possible.... but imho that can lead (at least in my case ) to problems.
    in the case when you forget to update the DNG manually and delete the profiles (because you think they are already embeded via STRG+S).
    or when you send them to someone without updating the DNG preview... i think that is unessesary complicating things without gaining a real benefit.. not?
    afaik there is no filter option so you can create a smartfilter for images that need to be updated this way?

  • Created custom camera profile in DNG editor and can't find it in LR

    I have created custom camera profiles and can't find them in Lightroom 3. Can someone help? I'm a Mac user.
    David

    I figured it out. I saved the profile, but I did not export it.
    Thanks for the help everyone.
    I was primarily interested in doing a custom tone curve to match my Mark IV to my 5D. The results were really bad, so I re did the profiles to simply get close colors, and I used the Point Tone Curve to match the two cameras. I've always liked the tone curve from the 5D, and I've always hated the one on the Mark IV.
    Problem Solved.
    Thanks again.
    David

  • How to add bad pixels to a DNG made from a CFA sensor raw data ?

    Hello all, I'm trying to build a proper DNG file from the raw CFA image acquired directly form an industrial camera.
    As usually there are a number of bad pixels around and I would like to mark them in the DNG so they can be correctly interpolated when the image is processed.
    In the latest DNG SDK (1.4) I've only found this rather thin references:
    "Defective Pixels
    There are two ways to deal with defective pixels in DNG.
    The first is to map out (interpolate over) the defective pixels before storing the raw data in DNG.
    The second is to include a bad pixel fixing opcode in the OpcodeList1 tag."
    OK, as each program/customer/etc. seem to have its own ( best ) algorithm to interpolate the bad pixels then OpcodeList1 it is.
    But then I've got this: FixBadPixelsConstant and I'm not clear about its usage, especially BayerPhase, is the same BayerPhase that is specified as a global property of the CFA or it is something separate and what ?
    Also is there some "industry standard" value for the Constant that will make more likely the established programs to process correctly the image ?
    And this Constant value is unique per DNG or can it be more ot them added, i.e. to somehow characterize the "badness" of the pixel, like reduced sensitivity, stuck at 0/max, etc ?
    In the end if somebody can share an one-liner on how to add programatically this tag using the SDK I'll be very grateful.
    Sorry for my newebie questions and many thanks for your help.

    Hello Dear
    Look FB60 screen has two parts :
    The one in which you enter information related to vendor is Header Level, in this case you already assign Personnel No. in Vendor Master so no field is required as Personnel no. will be picked up from Vendor Master level.
    The Other is line item level is bottom half part, if you want to assign personnel no. at Expense G/L level then if you scroll right you will find a field for Personnel no. If you can't see the field check your setting at OBVV for the field status group you assign to particular Expense G/L.
    Hope you Understood
    Cheers
    IMK

  • Migration of Fxcop Custom Rules to Visuatl Studio 2012

    I have an existing custom rule which was written in visual studio 2008 using fxocp SDK 1.35 and Microsoft.CCI 1.35. Now i am migrating it to latest version of Fxcop 11.0 and Microsoft .cci 11.0 using Vistual Studio 2012.
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    //using Microsoft.FxCop.Sdk.Introspection;
    //using Microsoft.Cci;
    using Microsoft.FxCop.Sdk;
    using System.Collections;
    using System.IO;
    namespace LDOFxCopCustomRules.Rules.Design
    class DisposableObjectsShouldBeDisposed : BaseDesignRules
    string sFileName = System.Configuration.ConfigurationSettings.AppSettings["FolderForOutput"] + "\\" + @"DisposableObjectsShouldBeDisposed.Xls";
    bool bDisplayErrors = String.IsNullOrEmpty(System.Configuration.ConfigurationSettings.AppSettings["FolderForOutput"]);
    //string sExceptionLogFileName = @"D:\RTE.txt";
    static string sLockString = "Lock";
    string sFormat = "{0}\t{1}\t{2}\t{3}\n";
    string sAssemblyName;
    string sClassName;
    string sLineNumber;
    // Fields
    private Hashtable m_fieldsOwnedByType;
    private Hashtable m_fieldsWithDispose;
    private Method m_method;
    // Methods
    public DisposableObjectsShouldBeDisposed()
    : base("DisposableObjectsShouldBeDisposed")
    this.m_fieldsWithDispose = new Hashtable();
    this.m_fieldsOwnedByType = new Hashtable();
    if (!bDisplayErrors && !File.Exists(sFileName))
    if (!bShowInAllReport)
    lock (sLockString)
    File.WriteAllText(sFileName, string.Format(sFormat, "Assembly", "Class", "Method (fully qualified name)", "Line number"));
    public override ProblemCollection Check(Member member)
    string sTemp = member.FullName;
    bool bFinally = false;
    bool bDataReader = false;
    bool bDisposedCalled = false;
    int nDataReaderCount = 0;
    Local oCheckLocal;
    Method oMethod = null;
    int nCurrent = 0;
    InstructionList oList = null;
    this.m_method = RuleUtilities.GetMethod(member);
    if (this.m_method == null)
    return null;
    this.m_fieldsWithDispose.Clear();
    this.m_fieldsOwnedByType.Clear();
    //if (!this.m_method.DeclaringType.IsAssignableTo(SystemTypes.IDisposable))
    // return null;
    //if (RuleUtilities.ExtendsControl(this.m_method.DeclaringType))
    // return null;
    //if (!RuleUtilities.IsDisposeBool(this.m_method) && (!RuleUtilities.IsDisposeMethod(this.m_method) || HasDisposeBoolMethod(this.m_method.DeclaringType)))
    // return null;
    if (this.m_method.DeclaringType.IsAssignableTo(SystemTypes.IDisposable))
    if (RuleUtilities.ExtendsControl(this.m_method.DeclaringType))
    return null;
    if (!RuleUtilities.IsDisposeBool(this.m_method) && (!RuleUtilities.IsDisposeMethod(this.m_method) || HasDisposeBoolMethod(this.m_method.DeclaringType)))
    return null;
    sClassName = m_method.DeclaringType.Name.Name;
    sAssemblyName = m_method.DeclaringType.DeclaringModule.ContainingAssembly.ModuleName;
    MemberList members = this.m_method.DeclaringType.Members;
    for (int i = 0; i < members.Length; i++)
    switch (members[i].NodeType)
    case NodeType.Field:
    Field field = members[i] as Field;
    if (!field.IsStatic && field.Type.IsAssignableTo(SystemTypes.IDisposable))
    this.m_fieldsWithDispose[field] = null;
    break;
    case NodeType.InstanceInitializer:
    case NodeType.Method:
    this.VisitMethod(members[i] as Method);
    break;
    new DisposeVisitor(this.m_fieldsWithDispose).Visit(this.m_method);
    if (this.m_fieldsWithDispose.Count > 0)
    foreach (Field field2 in this.m_fieldsWithDispose.Keys)
    if (this.m_fieldsOwnedByType.Contains(field2))
    string str = RuleUtilities.Format(this.m_method.DeclaringType);
    string str2 = RuleUtilities.Format(field2.Type);
    sLineNumber = field2.SourceContext.StartLine.ToString();
    Problem item = new Problem(base.GetResolution(new string[] { str, field2.Name.Name, str2 }), field2.Name.Name);
    if (bDisplayErrors)
    base.Problems.Add(item);
    else
    if (bShowInAllReport)
    lock (LockClass.objLockAllReport)
    File.AppendAllText(sSingleReportName, string.Format(sSingleReportFormat, sAssemblyName, sClassName, m_method.FullName, sLineNumber, "DisposableObjectsShouldBeDisposed"));
    else
    lock (sLockString)
    File.AppendAllText(sFileName, string.Format(sFormat, sAssemblyName, sClassName, m_method.FullName, sLineNumber));
    else
    if (member.NodeType == NodeType.Method)
    oMethod = member as Method;
    // The below block is to identify if any of the method's class is implemented from the interface IDataReader.
    // If that is the case, the method will be skipped and next method will be picked.
    // Ideally, this should be changed to scanning each class, skipping if it has implemented IDataReader and then
    // scan the methods for proper usage of IDataReader. But due to time constraints, this change is not done
    TypeNode typ = oMethod.DeclaringType;
    InterfaceList intList = typ.Interfaces; // get the list of interfaces of the class and check for IDataReader
    foreach (Interface intf in intList)
    if (intf.FullName.Contains("IDataReader"))
    return null;
    // Start the actual logic
    if (oMethod != null)
    oList = oMethod.Instructions;
    Instruction oInstruction;
    for (nCurrent = 0; nCurrent < oList.Length; nCurrent++)
    oInstruction = oList[nCurrent];
    if (oInstruction.OpCode == OpCode._Locals)
    LocalList oLocalList = oInstruction.Value as LocalList;
    int nCount = oLocalList.Length;
    for (int nIdx = 0; nIdx < nCount; nIdx++)
    if (oLocalList[nIdx].Type.Name.Name == "IDataReader")
    bDataReader = true;
    nDataReaderCount++;
    if (nDataReaderCount > 0)
    if (oInstruction.OpCode == OpCode._Finally)
    bFinally = true;
    if (bFinally)
    if (oInstruction.OpCode == OpCode.Callvirt)
    oCheckLocal = oList[nCurrent - 1].Value as Local;
    if (oCheckLocal != null && oCheckLocal.Type != null && oCheckLocal.Name != null && oCheckLocal.Type.Name.Name != null && oCheckLocal.Type.Name.Name == "IDataReader")
    bDisposedCalled = true;
    //nDataReaderCount--;
    // Microsoft.FxCop.Sdk.Problem oProblem = new Microsoft.FxCop.Sdk.Problem(base.GetResolution(sTemp1), oMethod.Name.Name);
    if (bDataReader && !bDisposedCalled)
    sClassName = oMethod.DeclaringType.Name.Name;
    sAssemblyName = oMethod.DeclaringType.DeclaringModule.ContainingAssembly.ModuleName;
    sLineNumber = nCurrent > 0 && nCurrent < oList.Length? oList[0].SourceContext.StartLine.ToString().Trim() : string.Empty;
    if (bDisplayErrors)
    Microsoft.FxCop.Sdk.Problem oProblem = new Microsoft.FxCop.Sdk.Problem(base.GetResolution(sTemp), sClassName);
    base.Problems.Add(oProblem);
    else
    if (bShowInAllReport)
    lock (LockClass.objLockAllReport)
    File.AppendAllText(sSingleReportName, string.Format(sSingleReportFormat, sAssemblyName, sClassName, m_method.FullName, sLineNumber, "DisposableObjectsShouldBeDisposed"));
    else
    lock (sLockString)
    File.AppendAllText(sFileName, string.Format(sFormat, sAssemblyName, sClassName, oMethod.FullName, sLineNumber));
    return base.Problems;
    private static bool HasDisposeBoolMethod(TypeNode type)
    MemberList members = type.Members;
    int num = 0;
    int length = members.Length;
    while (num < length)
    Method method = members[num] as Method;
    if ((method != null) && RuleUtilities.IsDisposeBool(method))
    return true;
    num++;
    return false;
    public override Statement VisitAssignmentStatement(AssignmentStatement assignment)
    MemberBinding target = assignment.Target as MemberBinding;
    if (target != null)
    Field boundMember = target.BoundMember as Field;
    if (((boundMember != null) && (boundMember.DeclaringType == this.m_method.DeclaringType)) && (assignment.Source is Construct))
    this.m_fieldsOwnedByType[boundMember] = null;
    return base.VisitAssignmentStatement(assignment);
    // Properties
    public override TargetVisibilities TargetVisibility
    get
    return TargetVisibilities.All;
    // Nested Types
    private class DisposeVisitor : StandardVisitor
    // Fields
    private Hashtable m_fieldsWithDispose;
    private Method m_method;
    private Hashtable m_recursionCache = new Hashtable();
    private Hashtable m_variableToFieldMap = new Hashtable();
    // Methods
    internal DisposeVisitor(Hashtable fieldsWithDispose)
    this.m_fieldsWithDispose = fieldsWithDispose;
    public override Statement VisitAssignmentStatement(AssignmentStatement assignment)
    Local target = assignment.Target as Local;
    if (target != null)
    MemberBinding source = assignment.Source as MemberBinding;
    if (source != null)
    Field boundMember = source.BoundMember as Field;
    if ((boundMember != null) && (boundMember.DeclaringType == this.m_method.DeclaringType))
    this.m_variableToFieldMap[target] = boundMember;
    return base.VisitAssignmentStatement(assignment);
    public override Method VisitMethod(Method method)
    this.m_method = method;
    return base.VisitMethod(method);
    public override Expression VisitMethodCall(MethodCall call)
    MemberBinding callee = call.Callee as MemberBinding;
    if (callee != null)
    Method boundMember = callee.BoundMember as Method;
    if (boundMember == null)
    return base.VisitMethodCall(call);
    MemberBinding targetObject = callee.TargetObject as MemberBinding;
    Field key = null;
    if (targetObject == null)
    Local local = callee.TargetObject as Local;
    if (local != null)
    key = this.m_variableToFieldMap[local] as Field;
    else
    key = targetObject.BoundMember as Field;
    if (((key != null) && this.m_fieldsWithDispose.ContainsKey(key)) && (((boundMember.Name.Name == "Dispose") || (boundMember.Name.Name == "Close")) || ((boundMember.Name.Name == "Clear") && boundMember.DeclaringType.IsAssignableTo(FrameworkTypes.HashAlgorithm))))
    this.m_fieldsWithDispose.Remove(key);
    else if ((boundMember.DeclaringType == this.m_method.DeclaringType) && !this.m_recursionCache.Contains(boundMember))
    this.m_recursionCache[boundMember] = null;
    this.VisitMethod(boundMember);
    return base.VisitMethodCall(call);
    Below errors are raised. Please let me know the solution
    1. Error 2 Inconsistent accessibility: base class 'Microsoft.FxCop.Sdk.StandardVisitor' is less accessible than class 'LDOFxCopCustomRules.Rules.Design.DisposableObjectsShouldBeDisposed.DisposeVisitor' D:\LDOFxCopCustomRules\DisposableObjectsShouldBeDisposed.cs 287 23 LDOFxCopCustomRules
    Error 3 'Microsoft.FxCop.Sdk.StandardVisitor' is inaccessible due to its protection level D:\LDOFxCopCustomRules\DisposableObjectsShouldBeDisposed.cs 287 40 LDOFxCopCustomRules
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    //using Microsoft.FxCop.Sdk.Introspection;
    //using Microsoft.Cci;
    using Microsoft.FxCop.Sdk;
    using System.Collections;
    using System.IO;
    namespace LDOFxCopCustomRules.Rules.Design
    class AvoidUnusedParameters : BaseDesignRules
    string sFileName = System.Configuration.ConfigurationSettings.AppSettings["FolderForOutput"] + "\\" + @"AvoidUnusedParameters.Xls";
    bool bDisplayErrors = String.IsNullOrEmpty(System.Configuration.ConfigurationSettings.AppSettings["FolderForOutput"]);
    //string sExceptionLogFileName = @"D:\RTE.txt";
    static string sLockString = "Lock";
    string sFormat = "{0}\t{1}\t{2}\t{3}\n";
    string sAssemblyName;
    string sClassName;
    string sLineNumber;
    private Hashtable m_parameterUsage;
    public AvoidUnusedParameters()
    : base("AvoidUnusedParameters")
    this.m_parameterUsage = new Hashtable();
    if (!bDisplayErrors && !File.Exists(sFileName))
    if (!bShowInAllReport)
    lock (sLockString)
    File.WriteAllText(sFileName, string.Format(sFormat, "Assembly", "Class", "Method (fully qualified name)", "Line number"));
    public override ProblemCollection Check(Member member)
    Method method = member as Method;
    if (!ShouldAnalyze(method))
    return null;
    this.m_parameterUsage.Clear();
    if (CallGraph.FunctionPointersFor(method).Length > 0)
    return null;
    if (method.DeclaringType.IsAssignableTo(SystemTypes.Delegate))
    return null;
    if (RuleUtilities.IsEventHandling(method))
    return null;
    if (RuleUtilities.IsVisualBasicModule(method.DeclaringType.DeclaringModule) && (method.Name.Name == "Dispose__Instance__"))
    return null;
    if (RuleUtilities.HasCustomAttribute(method, SystemTypes.ConditionalAttribute))
    return null;
    for (int i = 0; i < method.Instructions.Length; i++)
    switch (method.Instructions[i].OpCode)
    case OpCode.Ldarg_0:
    case OpCode.Ldarg_1:
    case OpCode.Ldarg_2:
    case OpCode.Ldarg_3:
    case OpCode.Ldarg_S:
    case OpCode.Ldarga_S:
    case OpCode.Ldarg:
    case OpCode.Ldarga:
    Parameter parameter = method.Instructions[i].Value as Parameter;
    this.m_parameterUsage[parameter] = null;
    break;
    sClassName = method.DeclaringType.Name.Name;
    sAssemblyName = method.DeclaringType.DeclaringModule.ContainingAssembly.ModuleName;
    sLineNumber = method.SourceContext.StartLine.ToString();
    for (int j = 0; j < method.Parameters.Length; j++)
    Parameter key = method.Parameters[j];
    if (!this.m_parameterUsage.ContainsKey(key))
    FixCategories breaking = FixCategories.Breaking;
    if (!method.IsVisibleOutsideAssembly)
    breaking = FixCategories.NonBreaking;
    string str = RuleUtilities.Format(method);
    string name = method.Parameters[j].Name.Name;
    Problem item = new Problem(base.GetResolution(new string[] { name, str }), name);
    item.FixCategory = breaking;
    if (bDisplayErrors)
    base.Problems.Add(item);
    else
    if (bShowInAllReport)
    lock (LockClass.objLockAllReport)
    File.AppendAllText(sSingleReportName, string.Format(sSingleReportFormat, sAssemblyName, sClassName, method.FullName, sLineNumber, "AvoidUnusedParameters"));
    else
    lock (sLockString)
    File.AppendAllText(sFileName, string.Format(sFormat, sAssemblyName, sClassName, method.FullName, sLineNumber));
    this.m_parameterUsage.Clear();
    return base.Problems;
    private static bool IsVSUnitTestInitializer(Method method)
    if ((method.IsStatic && (method.ReturnType == SystemTypes.Void)) && ((method.Parameters.Length == 1) && (method.Parameters[0].Type.Name.Name == "TestContext")))
    for (int i = 0; i < method.Attributes.Length; i++)
    AttributeNode node = method.Attributes[i];
    if ((node.Type.Name.Name == "AssemblyInitializeAttribute") || (node.Type.Name.Name == "ClassInitializeAttribute"))
    return true;
    return false;
    private static bool ShouldAnalyze(Method method)
    if (method == null)
    return false;
    if ((method.Parameters.Length == 0) && method.IsStatic)
    return false;
    if (method.IsVirtual)
    return false;
    if (method.IsExtern)
    return false;
    if (method.IsAbstract)
    return false;
    if (RuleUtilities.IsFinalizer(method))
    return false;
    if (method.Name.Name == "__ENCUpdateHandlers")
    return false;
    Module declaringModule = method.DeclaringType.DeclaringModule;
    if (method.Name.Name.StartsWith("__", StringComparison.Ordinal) && RuleUtilities.IsAspAssembly(declaringModule))
    return false;
    if (RuleUtilities.IsISerializableConstructor(method))
    return false;
    if (IsVSUnitTestInitializer(method))
    return false;
    if (RuleUtilities.MethodOrItsTypeMarkedWithGeneratedCode(method))
    return false;
    return true;
    // Properties
    public override TargetVisibilities TargetVisibility
    get
    return TargetVisibilities.All;
    Below Errors are raised
    Error 8 The name 'SystemTypes' does not exist in the current context D:\AvoidUnusedParameters.cs 53 49 LDOFxCopCustomRules
    Error 9 'Microsoft.FxCop.Sdk.RuleUtilities' does not contain a definition for 'IsVisualBasicModule' D:\AvoidUnusedParameters.cs 61 27 LDOFxCopCustomRules
    Error 11 'Microsoft.FxCop.Sdk.BaseIntrospectionRule.FixCategories' is a 'property' but is used like a 'type' D:\AvoidUnusedParameters.cs 98 17 LDOFxCopCustomRules
    Error 12 The best overloaded method match for 'Microsoft.FxCop.Sdk.RuleUtilities.Format(Microsoft.FxCop.Sdk.AttributeNode)' has some invalid arguments D:\AvoidUnusedParameters.cs 103 30 LDOFxCopCustomRules
    Error 13 Argument 1: cannot convert from 'Microsoft.FxCop.Sdk.Method' to 'Microsoft.FxCop.Sdk.AttributeNode' D:\AvoidUnusedParameters.cs 103 51 LDOFxCopCustomRules
    Error 14 The name 'SystemTypes' does not exist in the current context D:\AvoidUnusedParameters.cs 136 55 LDOFxCopCustomRules
    Error 16 The type or namespace name 'Module' could not be found (are you missing a using directive or an assembly reference?) D:\LDOFxCopCustomRules\AvoidUnusedParameters.cs 180 9 LDOFxCopCustomRules
    Error 17 'Microsoft.FxCop.Sdk.RuleUtilities' does not contain a definition for 'IsAspAssembly' D:\AvoidUnusedParameters.cs 181 90 LDOFxCopCustomRules
    Error 18 'Microsoft.FxCop.Sdk.RuleUtilities' does not contain a definition for 'MethodOrItsTypeMarkedWithGeneratedCode' D:\AvoidUnusedParameters.cs 193 27 LDOFxCopCustomRules

    Hi sathishkumarV,
    I am trying to involve someone familiar with this topic to further look at this issue. There might
    be some time delay. Appreciate your patience.
    Best Regards,
    Jack
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Adobe DNG converter is corrupting NEF files. The color is way off and it's not the camera white balance.

    I was using the converter for a few months and it was working fine. Now it will convert the files, but the color is really messed. I know it is not the white balance, because the same files convert fine to TIF files through Nikon's software. I am using this converter for Nikon d610 NEF files. Here's a sample DNG and the same image in TIF. Can anyone help? Thanks!

    When you use the DNG Converter to make a DNG from an NEF, the DNG Converter applies the default Camera Raw settings.  When I open your DNG it looks fine, but when you open it, it looks off.  That is because you've some how set your Camera Raw defaults to have a bunch of customized settings specific to a particular picture, instead of having them all be normal settings.  Below you'll see what Photoshop is saying the settings of the DNG-Converted-JPG are, with the non-defaults marked in bold.  The main problems are the WB being custom and a bunch of HSL setting changes.
    Here is what Photoshop reports that the JPG was created using:
          <rdf:Description rdf:about=""
                xmlns:crs="http://ns.adobe.com/camera-raw-settings/1.0/">
             <crs:RawFileName>hug_8290_0215_1.dng</crs:RawFileName>
             <crs:Version>6.0</crs:Version>
             <crs:ProcessVersion>5.7</crs:ProcessVersion>
             <crs:WhiteBalance>Custom</crs:WhiteBalance>
             <crs:Temperature>5732</crs:Temperature>
             <crs:Tint>+26</crs:Tint>
             <crs:Exposure>0.00</crs:Exposure>
             <crs:Shadows>5</crs:Shadows>
             <crs:Brightness>+50</crs:Brightness>
             <crs:Contrast>+25</crs:Contrast>
             <crs:Saturation>-4</crs:Saturation>
             <crs:Sharpness>90</crs:Sharpness>
             <crs:LuminanceSmoothing>0</crs:LuminanceSmoothing>
             <crs:ColorNoiseReduction>25</crs:ColorNoiseReduction>
             <crs:ChromaticAberrationR>0</crs:ChromaticAberrationR>
             <crs:ChromaticAberrationB>0</crs:ChromaticAberrationB>
             <crs:VignetteAmount>0</crs:VignetteAmount>
             <crs:ShadowTint>0</crs:ShadowTint>
             <crs:RedHue>0</crs:RedHue>
             <crs:RedSaturation>+11</crs:RedSaturation>
             <crs:GreenHue>0</crs:GreenHue>
             <crs:GreenSaturation>0</crs:GreenSaturation>
             <crs:BlueHue>+12</crs:BlueHue>
             <crs:BlueSaturation>+2</crs:BlueSaturation>
             <crs:FillLight>0</crs:FillLight>
             <crs:Vibrance>-6</crs:Vibrance>
             <crs:HighlightRecovery>0</crs:HighlightRecovery>
             <crs:Clarity>0</crs:Clarity>
             <crs:Defringe>0</crs:Defringe>
             <crs:HueAdjustmentRed>0</crs:HueAdjustmentRed>
             <crs:HueAdjustmentOrange>0</crs:HueAdjustmentOrange>
             <crs:HueAdjustmentYellow>+1</crs:HueAdjustmentYellow>
             <crs:HueAdjustmentGreen>+5</crs:HueAdjustmentGreen>
             <crs:HueAdjustmentAqua>0</crs:HueAdjustmentAqua>
             <crs:HueAdjustmentBlue>-9</crs:HueAdjustmentBlue>
             <crs:HueAdjustmentPurple>0</crs:HueAdjustmentPurple>
             <crs:HueAdjustmentMagenta>0</crs:HueAdjustmentMagenta>
             <crs:SaturationAdjustmentRed>-2</crs:SaturationAdjustmentRed>
             <crs:SaturationAdjustmentOrange>+14</crs:SaturationAdjustmentOrange>
             <crs:SaturationAdjustmentYellow>+25</crs:SaturationAdjustmentYellow>
             <crs:SaturationAdjustmentGreen>+26</crs:SaturationAdjustmentGreen>
             <crs:SaturationAdjustmentAqua>0</crs:SaturationAdjustmentAqua>
             <crs:SaturationAdjustmentBlue>+32</crs:SaturationAdjustmentBlue>
             <crs:SaturationAdjustmentPurple>0</crs:SaturationAdjustmentPurple>
             <crs:SaturationAdjustmentMagenta>0</crs:SaturationAdjustmentMagenta>
             <crs:LuminanceAdjustmentRed>+40</crs:LuminanceAdjustmentRed>
             <crs:LuminanceAdjustmentOrange>+13</crs:LuminanceAdjustmentOrange>
             <crs:LuminanceAdjustmentYellow>+3</crs:LuminanceAdjustmentYellow>
             <crs:LuminanceAdjustmentGreen>+15</crs:LuminanceAdjustmentGreen>
             <crs:LuminanceAdjustmentAqua>+3</crs:LuminanceAdjustmentAqua>
             <crs:LuminanceAdjustmentBlue>+4</crs:LuminanceAdjustmentBlue>
             <crs:LuminanceAdjustmentPurple>0</crs:LuminanceAdjustmentPurple>
             <crs:LuminanceAdjustmentMagenta>0</crs:LuminanceAdjustmentMagenta>
             <crs:SplitToningShadowHue>231</crs:SplitToningShadowHue>
             <crs:SplitToningShadowSaturation>32</crs:SplitToningShadowSaturation>
             <crs:SplitToningHighlightHue>45</crs:SplitToningHighlightHue>
             <crs:SplitToningHighlightSaturation>33</crs:SplitToningHighlightSaturation>
             <crs:SplitToningBalance>+74</crs:SplitToningBalance>
             <crs:ParametricShadows>-39</crs:ParametricShadows>
             <crs:ParametricDarks>-7</crs:ParametricDarks>
             <crs:ParametricLights>-15</crs:ParametricLights>
             <crs:ParametricHighlights>+14</crs:ParametricHighlights>
             <crs:ParametricShadowSplit>25</crs:ParametricShadowSplit>
             <crs:ParametricMidtoneSplit>50</crs:ParametricMidtoneSplit>
             <crs:ParametricHighlightSplit>75</crs:ParametricHighlightSplit>
             <crs:SharpenRadius>+1.0</crs:SharpenRadius>
             <crs:SharpenDetail>25</crs:SharpenDetail>
             <crs:SharpenEdgeMasking>0</crs:SharpenEdgeMasking>
             <crs:PostCropVignetteAmount>-24</crs:PostCropVignetteAmount>
             <crs:PostCropVignetteMidpoint>50</crs:PostCropVignetteMidpoint>
             <crs:PostCropVignetteFeather>97</crs:PostCropVignetteFeather>
             <crs:PostCropVignetteRoundness>0</crs:PostCropVignetteRoundness>
             <crs:PostCropVignetteStyle>1</crs:PostCropVignetteStyle>
             <crs:PostCropVignetteHighlightContrast>0</crs:PostCropVignetteHighlightContrast>
             <crs:GrainAmount>0</crs:GrainAmount>
             <crs:ColorNoiseReductionDetail>50</crs:ColorNoiseReductionDetail>
             <crs:ConvertToGrayscale>False</crs:ConvertToGrayscale>
             <crs:ToneCurveName>Medium Contrast</crs:ToneCurveName>
             <crs:CameraProfile>Adobe Standard</crs:CameraProfile>
             <crs:CameraProfileDigest>51B4314CF8312BA027EF3FC60481FB35</crs:CameraProfileDigest>
             <crs:HasSettings>True</crs:HasSettings>
    To fix the problem you're gonna need to reset your camera raw defaults:
    And then be careful when saving new camera raw defaults with the menu item just above, that your image has the camera raw defaults applied to it, except whatever small change you want to be the new default.

Maybe you are looking for

  • Sales orders from one salesorg. to another in same ssystem

    Hi Guys,            I got a requirement like we need to convert or recreate sales orders from one sales organization to another sales organization in the same system without having any impact on the existing system. Any one have idea how to do it and

  • Bluetooth for iPhone 6 still won't pair with my car after iOS 8.1 update

    So frustrated. I assumed that Apple knew about the problem and that iOS 8.1 would fix what is clearly a very common/widespread issue. Bluetooth is not exactly a new technology... how is it that Apple creates a highly advanced phone, but it can't make

  • Purchase order printing / Big Contract

    hello everybody: As we all know, purchase order can be printed using SAP Smartform to get a formatted PO paper. My question is: Is there any function available in SAP to support big contract printing in PO? Big contract means, many formal contract co

  • Is there a way to select a word in a pdf form and have it circled

    is there a way to select a word in a pdf form and have it circled instead of say check marked

  • Scheduling Export in database control

    Hi , I just want to know what is the best way to schedule daily export(datapump) in Oracle for Windows. Should I schedule one export and use the SQl script to schedule a SQL script job or use the host command job to do the Export? Is there another wa