Restricting substitution in UWL

Hi All
I learnt that the BADI WF_SUBSTITUTES can be used to modify the substitution parameters entered by the user in UWL.
However had some questions :
1) Should this BADI be coded in SRM or Portal side?
2) SAP has provided a standard implementation via class CL_EXM_IM_WF_SUBSTITUTE.
However when I set my debug point in this class & carried out substitution in Portal UWL, the code didn't stop.
So where exactly is this BADI is getting called.
Thanks
Kedar

Hi Kedar,
When testing the scenario please use the same user for the portal & backend. Set an External breakpoint in the BADi code and then open the portal and test.
Does this work?
Regards,
Eddie

Similar Messages

  • Manage Substitution Rules UWL

    Dear.
    I have the following doubt with the Manage Substitution Rules UWL :
    Is posible have a rule in where Only some WF should go to the inbox of the substitute?
    Ie. The Boss have process of Workfow of modules OM, TV, PA, PY that arrives at UWL, and the boss only need delegate to the substitute only the item for the process of WF of PY and PA for a date.
    How can solve this?
    Regards

    Yes there is something called Task classification!
    You can do so via filtering or classification of tasks
    read here
    You will need to enable the support information in order to get the
    associated task number that corresponds to the backend task.
    If you wish to hide certain tasks, the easiest way to do it is to
    redirect the task type that you want to hide to some unused item type.
    You can create your own XML file and give
    each task number its own entry in the XML
    They each need to be given a different item type name. They can't
    all be directed into the same item type since there would be
    multiple conflicting definitions for that item type in the file.
    No view definition is needed, you can just give it a garbage
    defaultView name (HiddenView).
    I have attached an example for you in the attachment area. This is
    stored as a text file. Also,
    Where you see the following:
    systemId="<YOURSID>" externalType="<YOURTASK>" in the XML, this
    obviously needs to be replaced with your sid and your task id which
    you are looking to exclude.
    For ex
    For example, if it is the following task pasted below:
    <ItemType name="uwl.task.webflow.TS01000096.SAP_R3_MUS"
    connector="WebFlowConnector" defaultView="DefaultView"
    defaultAction="launchSAPAction" executionMode="default">
    If you were trying to hide this, you would write it in the XML file
    as follows:
    <ItemTypes>
    <ItemType name="uwl.someHiddenType1"
    connector="WebFlowConnector" defaultView="HiddenView">
    <ItemTypeCriteria systemId="SAP_R3_MUS"
    externalType="TS01000096" connector="WebFlowConnector"/>
    </ItemType>
    ***************And for the next one:*********************
    <ItemType name="uwl.someHiddenType2" connector="WebFlowConnector"
    defaultView="HiddenView">
    <ItemTypeCriteria systemId="SAP_R3_MUS"
    externalType="TS01000097"
    connector="WebFlowConnector"/>
    </ItemType>
    Classification
    You can arrange tasks and workflows into various classes within the SAP
    System. The classes professional, personal and disciplinary are
    standard. The system checks the task class under the field name
    TASK_CLASS in the authorization object S_WF_WI. This system uses this
    authorization object to check the authorization for carrying out
    specific actions on particular work items. The assignment of tasks to
    classes is also important in the definition of substitutes. You can
    also define that only those classes are displayed which refer to tasks
    or workflows of a particular class. Take this into account when you
    create new classes and assign tasks or workflows to the classes.
    You can set this classification via:
    SPRO
    => IMG
    => Basis Components
    => Business Management
    => SAP Business Workflow
    => Basic Settings
    => Maintain Task Classes.
    Once the classification has been added as above you can then add this to
    your task. Goto PFTS => Enter task ID => Change Mode => Menu: Addition
    data => Classification.
    See SAP online help at:
    http://help.sap.
    com/saphelp_nw70/helpdata/en/c5/e4b5eb453d11d189430000e829fbbd/framese
    t.htm
    [2] Substitute Profile
    You can define one or more substitutes for working with the Business
    Workplace. The authorizations of a substitute are determined by the
    substitute profile which you assign to him/her when you set up the
    substitution. A substitute profile comprises specific task classes.
    Task classes describe individual tasks or standard tasks. This
    assignment is made in the task definition. A user you have specified
    can then log on as your substitute. "Your" work items are displayed to
    the substitute in their Business Workplace with the restrictions
    resulting from their substitute profile.
    You can set the substitution profile via:
    SPRO
    => IMG
    => Basis Components
    => Business Management
    => SAP Business Workflow
    => Basic Settings
    => Substitute Profile
    => Define Substitute Profile
    or
    See SAP online help at:
    http://help.sap.
    com/saphelp_nw70/helpdata/en/c5/e4b5eb453d11d189430000e829fbbd/framese
    t.htm

  • Error while activating substitue in UWL

    Hello again,
    I created a substitue profil "ESS" and a task classification "LEAVE".
    I also assigned the classification "LEAVE" to the substitute profil "ESS".
    Via TX pftc I made the task TS 12300097 (Approval Process) a "General Task" with classification "LEAVE".
    When I switch on the substitution profil "ESS" in the UWL on portal side, I get the following error message:
    System: AdhocSystem | Status:failed | Message: System does not support these tasks.
    We are using SAP ECC 6.04 and the NetWeaver Portal.
    Thank you.

    did you check these steps
    You can arrange tasks and workflows into various classes within the SAP
    System. The classes professional, personal and disciplinary are
    standard. The system checks the task class under the field name
    TASK_CLASS in the authorization object S_WF_WI. This system uses this
    authorization object to check the authorization for carrying out
    specific actions on particular work items. The assignment of tasks to
    classes is also important in the definition of substitutes. You can
    also define that only those classes are displayed which refer to tasks
    or workflows of a particular class. Take this into account when you
    create new classes and assign tasks or workflows to the classes.
    You can set this classification via:
    SPRO
    => IMG
    => Basis Components
    => Business Management
    => SAP Business Workflow
    => Basic Settings
    => Maintain Task Classes.
    Once the classification has been added as above you can then add this to
    your task. Goto PFTS => Enter task ID => Change Mode => Menu: Addition
    data => Classification.
    See SAP online help at:
    http://help.sap.
    com/saphelp_nw70/helpdata/en/c5/e4b5eb453d11d189430000e829fbbd/framese
    t.htm
    [2] Substitute Profile
    You can define one or more substitutes for working with the Business
    Workplace. The authorizations of a substitute are determined by the
    substitute profile which you assign to him/her when you set up the
    substitution. A substitute profile comprises specific task classes.
    Task classes describe individual tasks or standard tasks. This
    assignment is made in the task definition. A user you have specified
    can then log on as your substitute. "Your" work items are displayed to
    the substitute in their Business Workplace with the restrictions
    resulting from their substitute profile.
    You can set the substitution profile via:
    SPRO
    => IMG
    => Basis Components
    => Business Management
    => SAP Business Workflow
    => Basic Settings
    => Substitute Profile
    => Define Substitute Profile
    or
    See SAP online help at:
    http://help.sap.
    com/saphelp_nw70/helpdata/en/c5/e4b5eb453d11d189430000e829fbbd/framese
    t.htm

  • Substitution in UWL from SPS12

    Hi,
    As SAP Mentioned that the User Substitution feature is availanle from SPS12 for KMC.
    And as per the note of UWL they says for details to refer the End User Guide.
    But there is no info about how to enable the substitution feature and also no clue in the Existing UWL Iviews.
    Did any one tried to do the Substitution feature enabling in the Latest Patch of UWL?
    Thanks & Regards
    Sumanth

    Hi Raj,
    Thanks for the info.
    Actually we are also seeing the Manage Substitution Button ( After removing my Custom XML Files for field ordering and removing the tabs ).
    But when we try to create the Substitution Rules we are getting the following message
    "No system could activate this substitution rule."
    And when i click the status link i am getting the follwing message as
    UWL Substitution Status
    Substitution Status
    System Status Message
    DEVCLNT100 Failed System does not support substitution methods
    DEVCLNT100 is our Development System.
    and with the following message
    An error has occurred:
    "Failed to process the request."
    Please contact your system administrator.
    Hide details
    Web Dynpro client:
    HTML Client
    Web Dynpro client capabilities:
    User agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322), version: null, DOM version: null, client type: msie6, client type profile: ie6, ActiveX: enabled, Cookies: enabled, Frames: enabled, Java applets: enabled, JavaScript: enabled, Tables: enabled, VB Script: enabled
    Web Dynpro runtime:
    Vendor: SAP, Build ID: 6.4012.00.0000.20050509073444.0000 (release=630_VAL_REL, buildtime=2005-05-09:20:05:04[UTC], changelist=346209, host=PWDFM026)
    Web Dynpro code generators of DC sap.com/tckmcbc.uwl.ui~wd_ui:
    SapDictionaryGenerationCore: 7.0000.00.0000.20050303175554.0000 (release=645_SP_REL, buildtime=2005-03-03:22:40:56[UTC], changelist=332622, host=PWDFM078.wdf.sap.corp)
    SapMetamodelWebDynpro: 7.0000.00.0000.20050303183430.0000 (release=645_SP_REL, buildtime=2005-03-03:22:43:39[UTC], changelist=332697, host=PWDFM078.wdf.sap.corp)
    SapMetamodelCore: 7.0000.00.0000.20050303175944.0000 (release=645_SP_REL, buildtime=2005-03-03:22:34:07[UTC], changelist=332637, host=PWDFM078.wdf.sap.corp)
    SapWebDynproGenerationTemplates: 7.0000.00.0000.20050303183602.0000 (release=645_SP_REL, buildtime=2005-03-03:23:08:13[UTC], changelist=332723, host=pwdfm078)
    SapWebDynproGenerationCTemplates: 7.0000.00.0000.20050303183602.0000 (release=645_SP_REL, buildtime=2005-03-03:23:08:13[UTC], changelist=332723, host=pwdfm078)
    SapGenerationFrameworkCore: 7.0000.00.0000.20041227150042.0000 (release=645_SP_REL, buildtime=2005-03-03:22:33:33[UTC], changelist=316765, host=PWDFM078.wdf.sap.corp)
    SapIdeWebDynproCheckLayer: 7.0000.00.0000.20050303183052.0000 (release=645_SP_REL, buildtime=2005-03-03:22:46:59[UTC], changelist=332684, host=PWDFM078.wdf.sap.corp)
    SapMetamodelDictionary: 7.0000.00.0000.20041227150019.0000 (release=645_SP_REL, buildtime=2005-03-03:22:38:32[UTC], changelist=316761, host=PWDFM078.wdf.sap.corp)
    SapMetamodelCommon: 7.0000.00.0000.20050303175944.0000 (release=645_SP_REL, buildtime=2005-03-03:22:34:15[UTC], changelist=332637, host=PWDFM078.wdf.sap.corp)
    SapWebDynproGenerationCore: 7.0000.00.0000.20050303183052.0000 (release=645_SP_REL, buildtime=2005-03-03:22:47:19[UTC], changelist=332684, host=PWDFM078.wdf.sap.corp)
    SapDictionaryGenerationTemplates: (unknown)
    Web Dynpro code generators of DC sap.com/tcwddispwda:
    No information available
    Web Dynpro code generators of DC sap.com/tcwdcorecomp:
    No information available
    J2EE Engine:
    6.40 patchlevel 89291.313
    Java VM:
    Java HotSpot(TM) Server VM, version: 1.4.2_08-b03, vendor: Sun Microsystems Inc.
    Operating system:
    Windows 2003, version: 5.2, architecture: x86
    Error stacktrace:
    java.lang.NullPointerException
         at com.sap.netweaver.bc.uwl.ui.subst.SubstitutionStatus.onActionCloseWindow(SubstitutionStatus.java:208)
         at com.sap.netweaver.bc.uwl.ui.subst.wdp.InternalSubstitutionStatus.wdInvokeEventHandler(InternalSubstitutionStatus.java:188)
         at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)
         at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67)
         at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.handleAction(WebDynproMainTask.java:101)
         at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.handleActionEvent(WebDynproMainTask.java:304)
         at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.execute(WebDynproMainTask.java:649)
         at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:59)
         at com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:252)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doWebDynproProcessing(DispatcherServlet.java:154)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:116)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:55)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:392)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:345)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:323)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:865)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:240)
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)
         at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:95)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:159)
    I am still investigating the problem. If you have any idea please let me know.
    Thanks & Regards
    Sumanth

  • Maximum Number of Substitutions in UWL

    What is the maxium number of substitutions you can set in the Universal Worklist?
    Thanks
    WB

    Hi,
    If a substitution works as a Dynamic iView, then the max number is 7.
    Check : [Configuring iView Properties  (in UWL Configuration Wizard)|https://help.sap.com/saphelp_nwce10/helpdata/en/0a/ad68c125ae496f8c04a25090bd2e3c/frameset.htm]
    Cheers,
    Remi

  • Utility of Manage Substitution in UWL.

    Hi,
    What is the utility of the Manage Sustitution option in the UWL iview, why is this used?
    I am getting a message.
    " Substitution rule is not defined in the system"  for a system when i click the Manage Subsitution.
    Any clue, please advise.

    Hi ,
       Through Substitution functionality in UWL , users can choose other people to fill in for them while they are on leave or ill.
    on choosing a substitute , all the orginal user's tasks will appear in substitute worklist .
                              Manage Substitution rule is an feature available on context menu of UWL for original users to set up substitution.
    Please refer following links 
    Re: Substitution in MSS
    http://help.sap.com/erp2005_ehp_03/helpdata/EN/0b/1fc20097b74c41b38621ec2a9454bb/content.htm
    also, search in portal and ERP Employee sef service forums for more information .
    hope this helps .
    Thanks,
    Sahiba

  • Removal of substitutions from UWL

    Hi all,
    I'm having problems with removing substitutions from the UWL. We are using a batch program that runs once a day and deletes certain substitutions (e.g. does that are not assigned to valid managers) from the table HRUS_D2.
    My problem is that these substitutions remain visible in the UWL. I have checked the functions that are used by the UWL
    -SAP_WAPI_SUBSTITUTES_GET
    -SAP_WAPI_SUBSTITUTES_MAINTAIN
    -SAP_WAPI_SUBSTITUTIONS_GET
    but these only seem to check the table HRUS_D2. Is there any other place where the created substitutions are stored that I am not considering?
    Thanks for your reply,
    Freek van de Griendt

    Hi Freek
    You may want to take a look at OSS note 1020669.
    Regards
    K

  • Send email (to MS Outlook) after substitution in UWL

    Hi
    We are using UWL on Portal for our workflows. We are using EP 7.0 (2004s) and ECC 6.0.
    Our requirement is:
    We should be sending an email to MS Outlook of the new user (substitute/delegate) when a substitution rule is created.
    Can anyone help us with this requirement?
    Regards,
    Aditya

    Hi,
    Once the substitution done you will get the entry in the Table HRUS_D2. I think in the UWL you can configure to send email once you got entry in the table (not sure), check with EP Consultant.
    If  That is not working write a custom program, to send email to the substituted person based on the "From Date" entry in the HRUS_D2. Then schedule that program in background, once in a day if there is entry for today that program has to pick the user id and get the email id and send to the respective person via your custom mail sending program.
    Regard,
    Surjith

  • Issue with Substitution in UWL

    Hi Friends,
    I have a problem with the substitution rules within the EP7.0 (our back end system is ECC6.0).
    I have created a substitution rule and have set it active.
    When I have a look later on to the management of substitution rules, i always get an error message: "Problems reported (repairable)" --> "Substitution rule is not defined in the system" . When I push "retry" the substitution rule is successfully registered again.
    But the next time when I have a look onto it, i get the same error message.
    What could be the issue. Please advice.
    Regards,

    Hi,
    Check the below link,
    1) [Substitution|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/707439da-ead9-2910-5c97-af6ca0b6fbb1]
    2) [User Substitution Utility |https://wiki.sdn.sap.com/wiki/x/0j0 ]
    Regards,
    Surjith

  • Authorizations for substitution using UWL in MSS

    Hi Experts,
    We use substitution in universal Work list via the portal, and SAP has supplied an authorisation object S_WF_SUBST, which should mean that the substitute don't need the manager roles and structural profiles of the user who creates the substitution.
    Do any of you have experience with this ?
    Regards
    Carsten

    Hi,
    Yes, SAP does not stop you from receiving substituted tasks. But you can put your own validations using BADIs.
    See below link for more details.
    http://learnhrabap.blogspot.com/2010/08/delegation-or-substitute-functionality.html

  • How UWL support substitution in multiple backend scenario?

    Hello experts,
    We are using UWL with multiple backend - 3 ERPs. If I define a substitution rule in portal, I think this rule will be replicated in all the 3 ERPs otherwise my substitute in the backend could not get my work items in UWL. Is it correct? Do you have more information about this topic?
    thank you for your help in advance!
    Best Regards,
    Huaiyang

    Dear Huaiyang,
    You are right, if you have multiple systems connected to UWL , then substitution set via UWL has been entered in all systems.
    However it is not possible to restrict substition settings to a particular system. If the user set a substitution via UWL, then it will be set in all connected system as well. UWL set the substitution at backend level in the normal substituion table HRUS_D2.
    Hope this helps.
    BR
    Richard

  • Java.lang.NullPointerException in UWL Manage Substitutions application

    Hi SDN,
    I am using the standard application for Manage Substitutions. (Application is sap.com/tckmcbc.uwl.ui~wd_ui - UWLSubstitution)
    When I try to create Rule using this application, and try to search for a nominee using the search, I am getting a java.lang.NullPointerException.
    Can any one suggest on what I am missing ?
    Thank You,
    Raj
    The trace is :
    java.lang.NullPointerException
         at com.sap.netweaver.kmc.people.wdpicker.PeoplePickerView.getContentLink(PeoplePickerView.java:643)
         at com.sap.netweaver.kmc.people.wdpicker.PeopleFinderSingleView.search(PeopleFinderSingleView.java:601)
         at com.sap.netweaver.kmc.people.wdpicker.PeopleFinderSingleView.onActionSearch(PeopleFinderSingleView.java:332)
         at com.sap.netweaver.kmc.people.wdpicker.wdp.InternalPeopleFinderSingleView.wdInvokeEventHandler(InternalPeopleFinderSingleView.java:217)
         at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)
         at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67)
         at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doHandleActionEvent(WindowPhaseModel.java:420)
         at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:132)
         at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335) ......

    Dear Raj
    Pls go through below thread. It looks like your your issue
    Substitution in UWL from SPS12
    Thanks
    Keshari

  • BADI Workflow substitution - restrictions customization

    Hello Friends,
    I am currently working on a workflow approval migration Project  on SAP ECC 6.0
    I am trying to customize substitution process.
    > I need to enforce end validity date while users are assigning substitutes.
    > Based on activity groups/roles , I need to restrict substitution assignment.
    End users would use : SBWP
    and IT team would use RH_SUBSTITUTES_LIST program to maintain substitutes.
    please suggest how this can be acheived .
    Does a BADI  implementation related to : WF_SUBSTITUTE  would work ?
    Or is there a BADI more appropriate for RH_SUBSTITUTES_LIST ?
    thanks for your inputs.
    Raghu V

  • Assistance needed with Substitution customisation

    I am currently working on a workflow approval migration Project  on SAP ECC 6.0 ,trying to customize substitution process.    
    I need to enforce end validity date while users are assigning substitutes and based on activity groups/roles , I need to restrict substitution assignment.
    End users would use : SBWP     and IT team would use RH_SUBSTITUTES_LIST program to maintain substitutes.        
    I am not able to find a relevant BADI/user exit for the same .I  tried  WF_SUBSTITUTE  ,but its only for UWL.
    Please advice.
    thanks
    Raghu V

    I thought my request was rejected,  I know i was posting a similar question which was asked earlier , But nobody had confirmed whether standard code modification was the only option .
    However , I am proceeding to modify the standard code now . 
    Solution : I am modifying the Include : LRHW2I01  ( part of the RHW2 function group) to restrict validity end date for a particular substitution profile and a check to ensure the substitute has enough authorizations.

  • MSS and Substitution

    Hi
    Is substitution possible in MSS? we are in EP6. If so can someone tell what would be estimate time to set up substituion in MSS? Our client don't want direct access to Business Workplace.
    Any hint would be greatly appreciated.
    Thanks
    Nash

    substitution possible in MSS
    Hope you are mentioning workflow substitution.
    You can perform substitution from UWL directly using "Manage Substitution" option. The option is available as a menu in the UWL itself (I  think in older release it was a separate button).
    Thanks,
    Prasath N

Maybe you are looking for

  • Late 2011 17 Inch MacBook Pro Not Booting, Three Beeps When I hold "C"

    my late 2011 mbp 17 inch will not boot. In safe mode with verbose it stops at the point looking for my hard drive.  Disk utility in single user mode  said the SSD has "keys out of order" and could not verify disk etc. However when I hold "c" aka tryi

  • How to keep an image "in place" within a document using Pages?

    Here's what I want solved. When I position an image (like a jPeg photo) within a document I take a great amount of care as to how it looks in the layout. BUT, if I add a new line of text ABOVE the image, all the text moves, but the image stays in pla

  • Illustrator CC crashes after seconds while using InDesign CC

    Hello, I have serious problems with Illustrator CC. I work on both a Mac (no problems at all) and Windows (problem occurs with Windows 8 and 8.1). I think it was since updating Illustrator that I can't use Illustrator in combination with InDesign any

  • POST Installation steps for SAP XI 7.0 SP06

    Hi Experts , We are trying to install XI 7.0 SP06.We are suppose to carry out  post installation steps but we are not able to locate a proper post installation guide for the same. We have succesfully installed XI 3.0 earlier .However XI 7.0 post inst

  • Lightroom 2 and Capture NX 2

    Is there any chance that Lightroom 2 might be able to read the proprietary changes that Capture NX2 writes into the Nikon NEF files? These two programs greatly substitute each other.