Editing Workflow Updated field

Guys,
I am stuck with a problem.
I am calculating a field actual price using list price and discount(listprice*discount %) using workflows.
and this works fine!
The problem is sometimes this calculation is not required so I want the user to manually go into the record and edit the actual price.
But due to the workflow which is active this manual change is not accepted when the record is saved
Can Anyone help?
I want allow the use of both the workflow function and manual editing of the record
Nick
Edited by: user612663 on Oct 22, 2008 5:19 PM

Nick,
I would suggest you add a tick box called Manual Price and change the workflow so it only runs when Manual Price = N or IS NULL. So when the user manually updates the price they tick this box so it doesn't get overwritten.
cheers
Alex

Similar Messages

  • Edit QBE Update Field Names

    I need to have the funtionality of a QBE report, but need to clean up the field names on the update form. I can't find a place to do this. How can I do this, or do I need to write my own QBE type report in SQL calling a custom form?
    Thanks,
    Brian

    Dear,
    Use transaction CMOD and go to Goto > Text Enhancements > Keywords > Change*, enter the data element and then change..
    Regards,
    Chintan Joshi

  • SharePoint Designer workflow - update list item field without creating new version?

    Hello,
    I have a list that uses versioning.
    I have a workflow, designed in SharePoint Designer, that will track changes in some columns, and if there is a change it will send out an email.
    To track the changes eg in the Status column, I have a hidden "OldStatus" column so I can compare the current value with the previous value.
    If it's different it means it has been changed, and I send out an email, then update the OldStatus with the current value so they're in sync again.
    Problem I have now is that when I update the OldStatus column in my workflow it will create a new version of the listitem. I don't want that. This is a system value change and has no value at all to the end user.
    In C# I can do a systemupdate to avoid this, but how can I do this in SharePoint Designer?
    Please don't tell me I should write the entire workflow in code, only to get access to the systemupdate command....

    I created a Worfklow Activity class, called "UpdateFieldInCurrentItemSilentMode".
    I add the default context properties to work with:
    #region Context properties
    public static DependencyProperty __ContextProperty = DependencyProperty.Register("__Context", typeof(WorkflowContext), typeof(UpdateFieldInCurrentItemSilentMode));
    [Category("My Workflow Actions")]
    [Browsable(true)]
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
    public WorkflowContext __Context
    get
    return ((WorkflowContext)(base.GetValue(UpdateFieldInCurrentItemSilentMode.__ContextProperty)));
    set
    base.SetValue(UpdateFieldInCurrentItemSilentMode.__ContextProperty, value);
    public static DependencyProperty __ListIdProperty = DependencyProperty.Register("__ListId", typeof(string), typeof(UpdateFieldInCurrentItemSilentMode));
    [ValidationOption(ValidationOption.Required)]
    public string __ListId
    get
    return ((string)(base.GetValue(UpdateFieldInCurrentItemSilentMode.__ListIdProperty)));
    set
    base.SetValue(UpdateFieldInCurrentItemSilentMode.__ListIdProperty, value);
    public static DependencyProperty __ListItemProperty = DependencyProperty.Register("__ListItem", typeof(int), typeof(UpdateFieldInCurrentItemSilentMode));
    [ValidationOption(ValidationOption.Required)]
    public int __ListItem
    get
    return ((int)(base.GetValue(UpdateFieldInCurrentItemSilentMode.__ListItemProperty)));
    set
    base.SetValue(UpdateFieldInCurrentItemSilentMode.__ListItemProperty, value);
    public static DependencyProperty __ActivationPropertiesProperty = DependencyProperty.Register("__ActivationProperties", typeof(SPWorkflowActivationProperties), typeof(UpdateFieldInCurrentItemSilentMode));
    [ValidationOption(ValidationOption.Required)]
    public SPWorkflowActivationProperties __ActivationProperties
    get
    return (SPWorkflowActivationProperties)base.GetValue(UpdateFieldInCurrentItemSilentMode.__ActivationPropertiesProperty);
    set
    base.SetValue(UpdateFieldInCurrentItemSilentMode.__ActivationPropertiesProperty, value);
    #endregion
    Then I add my own input parameters to work with:
    public static DependencyProperty StaticFieldNameProperty = DependencyProperty.Register("StaticFieldName", typeof(string), typeof(UpdateFieldInCurrentItemSilentMode));
    [Category("My Workflow Actions"), Browsable(true)]
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
    public string StaticFieldName
    get
    return Convert.ToString(base.GetValue(StaticFieldNameProperty));
    set
    base.SetValue(StaticFieldNameProperty, value);
    public static DependencyProperty FieldValueProperty = DependencyProperty.Register("FieldValue", typeof(string), typeof(UpdateFieldInCurrentItemSilentMode));
    [Category("My Workflow Actions"), Browsable(true)]
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
    public string FieldValue
    get
    return Convert.ToString(base.GetValue(FieldValueProperty));
    set
    base.SetValue(FieldValueProperty, value);
    Then the actual workflow action code:
    protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext)
    try
    if (this.__Context == null)
    throw new Exception("__Context is NULL");
    if (this.__Context.Site == null)
    throw new Exception("__Context.Site is NULL");
    //reload the web using the SPSite object to work around any limitations on the objects
    //applied to the user running the workflow
    SPWeb tmpweb = __Context.Web;
    SPSecurity.RunWithElevatedPrivileges(delegate()
    using (SPSite site = new SPSite(tmpweb.Url))
    using (SPWeb web = site.OpenWeb())
    //load list
    SPList lst = web.Lists[new Guid(__ListId)];
    //load listitem
    SPListItem item = lst.GetItemById(__ListItem);
    //update field value
    item[this.StaticFieldName] = this.FieldValue;
    //commit changes
    item.SystemUpdate();
    //return success workflow status
    return ActivityExecutionStatus.Closed;
    catch (Exception exc)
    string sMsg = "Error in 'UpdateFieldInCurrentItemSilentMode':" + Environment.NewLine
    + exc.Message + Environment.NewLine + Environment.NewLine +
    "StaticFieldName: " + this.StaticFieldName + Environment.NewLine +
    "FieldValue: " + this.FieldValue;
    Common.WriteErrorToLog(sMsg);
    //return failed workflow status
    return ActivityExecutionStatus.Faulting;
    Note: the WriteErrorToLog function is a custom function that writes the error to the event log. It's located in another class. You can replace it with your own error handling approach.
    Then we need to specify the workflow action in the .actions file, so SharePoint Designer knows about it and which parameters are required:
    <Action Name="Set field in current item (silent mode)"
    ClassName="My.WorkflowActions.UpdateFieldInCurrentItemSilentMode"
    Assembly="My.WorkflowActions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0f8d2d9e2dfb2160"
    AppliesTo="all"
    Category="My Workflow Actions">
    <RuleDesigner Sentence="Set field %1 in current item to value %2 (silent mode)">
    <FieldBind Field="StaticFieldName" DesignerType="ParameterNames" Id="1" Text="StaticFieldName" />
    <FieldBind Field="FieldValue" DesignerType="ParameterNames" Id="2" Text="FieldValue" />
    </RuleDesigner>
    <Parameters>
    <Parameter Name="StaticFieldName" Type="System.String, mscorlib" DesignerType="ParameterNames" Direction="In" />
    <Parameter Name="FieldValue" Type="System.String, mscorlib" DesignerType="ParameterNames" Direction="In" />
    <Parameter Name="__Context" Type="Microsoft.SharePoint.WorkflowActions.WorkflowContext" Direction="In" />
    <Parameter Name="__ListId" Type="System.String, mscorlib" Direction="In" />
    <Parameter Name="__ListItem" Type="System.Int32, mscorlib" Direction="In" />
    <Parameter Name="__ActivationProperties" Type="Microsoft.SharePoint.Workflow.SPWorkflowActivationProperties, Microsoft.SharePoint" Direction="Out" />
    </Parameters>
    </Action>
    That is all you need for the specific code, the rest is common code to build custom workflow actions, which you can find on many blogposts or this forum.

  • Weblogic cluster OIM 10g - "Edit workflow" selection does not show anything

    Hello,
    My setup is OIM 10g (9102 BP15) in WLS cluster.
    When i login as a administrator and click on "Resource Management" -> Manage -> chose a resource -> "Resource workflow" (from drop down) -> "Edit workflow" on approval/provisioning flows, a new window pops up. However, it doesn't open any workflow details in the GUI. When i click "Done" (IE Yellow Triangle) on the bottom left corner of the IE window and copy the error details, it is:
    =============================================================================
    Webpage error details:
    User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E)
    Timestamp: Mon, 6 Feb 2012 22:30:33 UTC
    Message: 'Is' is undefined
    Line: 207
    Char: 5
    Code: 0
    URI: http://<hostname>/xlWebApp/richclientlauncher.jsp?app=xlWebApp/loadDesignWorkflow.do?method=LoadWorkflow&processName=<chosen+resource>
    Message: Object expected
    Line: 30
    Char: 6
    Code: 0
    URI: http://<hostname>/xlWebApp/richclientlauncher.jsp?app=xlWebApp/loadDesignWorkflow.do?method=LoadWorkflow&processName=<chosen+resource>
    =============================================================================
    On the other hand, if i click on
    "Resource Management" -> Manage -> chose a resource -> "Resource workflow" (from drop down) -> "Configure" (Form Data Flow/Reconciliation Data Flow). I see below errors in the log:
    =====================================
    <Feb 7, 2012 10:56:48 AM PST> <Error> <Cluster> <BEA-000126> <All session objects should be serializable to replicate. Check the objects in your session. Failed to replicate non-serializable object.
    java.rmi.MarshalException: failed to marshal update(Lweblogic.cluster.replication.ROID;ILjava.io.Serializable;Ljava.lang.Object;); nested exception is:
    java.io.NotSerializableException: com.thortech.xl.webclient.workflowutil.ImageGenerator$Field
    at weblogic.rjvm.BasicOutboundRequest.marshalArgs(BasicOutboundRequest.java:92)
    at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:221)
    at weblogic.cluster.replication.ReplicationManager_1035_WLStub.update(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    Truncated. see log file for complete stacktrace
    Caused By: java.io.NotSerializableException: com.thortech.xl.webclient.workflowutil.ImageGenerator$Field
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
    at java.util.HashMap.writeObject(HashMap.java:1195)
    at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    Truncated. see log file for complete stacktrace
    >
    <Feb 7, 2012 10:56:48 AM PST> <Error> <Cluster> <BEA-000126> <All session objects should be serializable to replicate. Check the objects in your session. Failed to replicate non-serializable object.
    java.rmi.MarshalException: failed to marshal update(Lweblogic.cluster.replication.ROID;ILjava.io.Serializable;Ljava.lang.Object;); nested exception is:
    java.io.NotSerializableException: com.thortech.xl.webclient.workflowutil.ImageGenerator$Field
    at weblogic.rjvm.BasicOutboundRequest.marshalArgs(BasicOutboundRequest.java:92)
    at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:221)
    at weblogic.cluster.replication.ReplicationManager_1035_WLStub.update(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    Truncated. see log file for complete stacktrace
    Caused By: java.io.NotSerializableException: com.thortech.xl.webclient.workflowutil.ImageGenerator$Field
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
    at java.util.HashMap.writeObject(HashMap.java:1195)
    at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    Truncated. see log file for complete stacktrace
    >
    ERROR,07 Feb 2012 10:56:51,516,[org.apache.struts.actions.DispatchAction],Request[resourceWorkflows] does not contain handler parameter named method
    =============================
    Anyone encountered this before in the clustered setup ?
    Thanks,

    Hello,
    But if you see the trace, it is coming from the OOTB library. Isn't it ? It doesn't indicate if there is any issue in any custom beans.
    java.io.NotSerializableException: com.thortech.xl.webclient.workflowutil.ImageGenerator$FieldMoreover, i see this error in the log with case 2: ("configure" data flow). However, it is working and the the UI is showing me the data flow with this error in the log.
    My major concern is case 1: ("edit" workflow) which is not showing me anything on the UI ?
    Ideally, it should trigger Nexaweb client to populate the workflows in the UI.
    *1 interesting observation:*
    If i go to "Design console" -> process definition -> "Render workflow",
    then it opens the workflow in the default explorer and the url which is opened in the browser is same as the previous case. It is working here as expected. Does this means the problem is with Nexaweb client load in the UI in case 1. How to fix this ?
    Please suggest.
    Thanks,
    Edited by: oimuser007 on Feb 7, 2012 2:44 PM

  • Can we edit Gross Price field in Sales Order

    Hi experts,
    According Help document (help - under Sales A/R/Sales Order-Sales document content tab ) as follows, userwe should be able to edit gross price field in Sales order
    Enter in this field the unit price including tax. SAP Business One calculates automatically the unit price before tax and the tax amount, based on the tax code in the row. After pressing the TAB key, the Unit Price field and the Tax/Unit field are updated accordingly.
    The tax amount is calculated as follows:
    *Gross Price / (1 + Tax %) * Tax % = Tax Amount*
    But when I set up in form setting visible and active for Gross Price,  though I AM NOT ABLE TO EDIT GROSS PRICE FIELD
    Is it bug in SAP ? I
    BR
    Samir Gandhi

    Hi Samir Gandhi,
    You may check SAP Note Number: 1060666 to see if it applies to you.
    Thanks,
    Gordon

  • Tools crashes on Edit Workflow Process

    Hi All,
    Whenever i click 'Edit Workflow' in the Workflow Object Explorer, my Siebel Tools 8.1.1.10 crashes. This has been happening for a few months now. I had IE6, upgraded it to IE 8.
    My Operating system is Windows XP.
    Can anyone please help me out here as now I really need this working.
    I can provide the crash file along with the fdr file and spool. Just dunno how to upload here.
    Regards,
    Stephen

    In AE, select the clip and control click and choose interpret footage.  Choose the correct parameters and then output.  Kind of a pain.  You can also retime in compressor by setting the desired frame rate the the encoder panel:  video and then in frame controls setting the appropriate timing.
    Studio X is a wse man and he's probably right, but I also ran your crash log thru digital rebellions's crash analyzer and this it what it says
    ProKit Framework
    This crash seems to have been caused by the ProKit framework. A common cause for this crash is a mismatched framework version. Make sure you have the correct version of ProKit for your version of Cinema Tools.
    If you upgraded your operating system, you may have still have older pro user interface elements installed instead of the ones compatible with your current OS. If this is the case, you will need to either update ProKit (if an update is available) or reinstall Final Cut Pro from scratch.
    Suggested Actions
    Update Final Cut Studio and ProKit.
    Remove Final Cut Studio and reinstall.
    Relevant Line
    6 com.apple.prokit 0x003b2e79 _DoProSplashWithPath + 153
    Report generated by Crash Analyzer in Pro Maintenance Tools

  • Editing Recordset - A  Field

    I've got a recordset, and i've set up an editing form (update
    record).
    I have fields in the form for name, password, e-mail etc.
    I want to add a feature, whereby if a field is left blank, i
    want it to keep the data already stored for that field in the
    database as it is, and for it not to overwrite with blank data.
    In other words, if i come to edit a record to change someones
    name, and i leave the e-mail field blank, then i want to keep the
    e-mail which is already stored in the database.
    That make sense?

    "GD WebDev" <[email protected]> wrote in
    message
    news:eh55fi$e4q$[email protected]..
    > I've got a recordset, and i've set up an editing form
    (update record).
    > I have fields in the form for name, password, e-mail
    etc.
    >
    > I want to add a feature, whereby if a field is left
    blank, i want it to
    > keep
    > the data already stored for that field in the database
    as it is, and for
    > it not
    > to overwrite with blank data.
    >
    > In other words, if i come to edit a record to change
    someones name, and i
    > leave the e-mail field blank, then i want to keep the
    e-mail which is
    > already
    > stored in the database.
    >
    > That make sense?
    why not just have form fields that are already populated by
    the existing
    data? That way if you don't change any of the existing data,
    it stays the
    same.

  • Update fields on a dynpro

    hi guys,
      I have an editable ALV where I need update a field on the same dynpro where is the ALV  with the amount captured  in the column(PRIM_NET),  the  field  must be display the total sum of the column, some body could suggest me something, about how to do this?
    regards
    Marisol.

    >
    Marisol wrote:
    > hi guys,
    >
    >   I have an editable ALV where I need update a field on the same dynpro where is the ALV  with the amount captured  in the column(PRIM_NET),  the  field  must be display the total sum of the column, some body could suggest me something, about how to do this?
    >
    > regards
    > Marisol.
    Check out this link...
    http://abap-explorer.blogspot.com/2008/09/how-to-get-updated-data-from-editable.html
    I hope you will hit the "Enter" button after editing the ALV fields.

  • Contract editing workflow

    Hello Experts,
    Is it possible to have a custom contract change (edit) workflow?
    I understand that sensitive fields can be identified, change in those fields can trigger information emails, however I wanted to understand if change workflow can be created (not via the EHP fund management workflow).
    Thanks
    Veena

    Hi,
    Has anyone explored the standard workflows:
    WS1790004
    RECN_Approve
    Multiple validation of real estate contract RE-FX
    WS1790005
    RECN_AppPar1
    Parallel release of line items
    WS1790006
    RECN_AppPar2
    Parallel unlocking of line items
    WS1790017
    RECN_AppPar3
    Parallel approval after activation
    Unable to see them in our system despite FM module.
    Regards
    Veena

  • Editing purple instructions field

    Is it possible to customize the purple bar that appears across the top of PDFs? I have Acrobat 9.
    Thanks

    "GD WebDev" <[email protected]> wrote in
    message
    news:eh55fi$e4q$[email protected]..
    > I've got a recordset, and i've set up an editing form
    (update record).
    > I have fields in the form for name, password, e-mail
    etc.
    >
    > I want to add a feature, whereby if a field is left
    blank, i want it to
    > keep
    > the data already stored for that field in the database
    as it is, and for
    > it not
    > to overwrite with blank data.
    >
    > In other words, if i come to edit a record to change
    someones name, and i
    > leave the e-mail field blank, then i want to keep the
    e-mail which is
    > already
    > stored in the database.
    >
    > That make sense?
    why not just have form fields that are already populated by
    the existing
    data? That way if you don't change any of the existing data,
    it stays the
    same.

  • How do you edit the url field

    When you create an iCal event from a mail message, the mail link is added the url field. I later receive another email with an update regarding the event. How can I change the url link to point to the new email message. I don't find anyway to modify the url field once it's been set. Will I have to just remove the old event and create a new one? That wouldn't be as desirable.

    Ditto here. Is there no way to edit the URL field? you can edit Attendees...I haven't tried editing the Attachments field...

  • Workflow update lookup help!

    Hi, I have been trying to get my workflow to work for some time now and have gotten frustrated so decided to simply ask:
    I have two contact lists:
    List 1: All Contacts (individual contacts)
    List 2: Broker List.  this list looks up contacts from "all contacts" in different columns depending on their position
    Problem:  I have been trying to design a workflow that, when a user enters a new contact in the list "All Contacts", the workflow will run and depending on the values for "company" and job title, will update the lookup column's field
    in "broker list". 
    Basically what I have been trying to do is the following:
    If job title equals _primary_
    set Variable: Primary Contact to Current Item:ID
    then update list with the last name from one list defined to the company in the other, then updating column Primary with workflow variable Primary contact.
    The workflow completes, but nothing is updated in Broker List.
    I would hugely appreciate any help and would be open to any suggestions as to how to better accomplish this task.  All I need is when someone creates a new contact, the other list lookup is filled in with their name/id etc...
    Thank you very much

    You can do two things,
    firstly you can create site column to update in the second list.
    or else use update list item action using Lookup -
    http://social.technet.microsoft.com/Forums/sharepoint/en-US/3c0a5267-25dd-42b7-92d4-69647378658d/sharepoint-designer-2010-workflow-updating-dates-in-one-list-to-another-list?forum=sharepointdevelopmentprevious
    Define a workflow lookup -
    http://office.microsoft.com/en-us/sharepoint-designer-help/define-a-workflow-lookup-HA010237830.aspx
    here are the links on how to with different approach -
    Updating List Item with Task Form Custom Field in SharePoint Approval 2010 Workflow
    http://blogs.msdn.com/b/kishore/archive/2012/01/15/updating-list-item-with-task-form-custom-field-in-sharepoint-approval-2010-workflow.aspx
    SharePoint 2010 - Update All List Items SharePoint Designer Workflow Action -
    http://johnliu.net/blog/2010/7/15/sharepoint-2010-update-all-list-items-sharepoint-designer-wo.html
    http://social.msdn.microsoft.com/Forums/en-US/ab92935c-ccfd-432d-8f80-561210655ae3/updating-the-lists-by-using-workflow-in-sharepoint-2010?forum=sharepointcustomizationprevious
    Hope this helps!
    MCITP: SharePoint 2010 Administrator
    MCTS - MOSS 2007 Configuring, .NET 2.0
    | SharePoint Architect | Evangelist |
    http://www.sharepointdeveloper.in/
    http://ramakrishnaraja.blogspot.com/

  • PHP Show if hides update fields, but they get overwritten with an empty string

    I have an issue with a page where some update fields are displayed depending on who is logged, for example:
    <?php if ($row_Users['UserID']=="101"){ ?>
    <input <?php if (!(strcmp($row_lodges['101_finalist'],"Yes"))) {echo "checked=\"checked\"";} ?> type="checkbox" name="101_finalist"  value="Yes"/>
    <input type="text" class="rankfield" name="101_rank" value="<?php echo($row_lodges['101_rank']); ?>" />
    <?php }  ?>
    <?php if ($row_Users['UserID']=="102"){ ?>
    <input <?php if (!(strcmp($row_lodges['102_finalist'],"Yes"))) {echo "checked=\"checked\"";} ?> type="checkbox" name="102_finalist"  value="Yes"/>
    <input type="text" class="rankfield" name="102_rank" value="<?php echo($row_lodges['102_rank']); ?>" />
    <?php }  ?>
    The issue I have is that if User101 is logged in and updates fields 101_finalist and 101_rank, it overwrites 102_finalist and 102_rank with an empty string.
    Is it possible to prevent each user from seeing the other fields for other users, and prevent the existing values for those other users not be overwritten?
    Hope that makes sense!
    Thank you.

    That would mean multiple nominations when really there only needs to be one nomination per category in any given country.
    It would be:
    1, 345, 101, Borana Lodge, 7, 2, Yes, 1
    1, 345, 102, Borana Lodge, 7, 2, Yes, 3
    1, 345, 103, Borana Lodge, 7, 2, No, NULL
    Instead of:
    1, 345, Borana Lodge, 7, 2, Yes, 1, Yes, 3, No, NULL
    Sorry, Lodge isn't in the nominations table, the list above is what is displayed on the site. Lodge gets looked up in the Ldoges table.
    At the moment it works like this:
    People can visit a website and vote for lodges in different categories, giving them a score out of 10 for each.
    If a lodge gets a vote in a particular category an admin person creates a nomination for that lodge, in that category.
    And the last bit is where judges login and tag the ones they think should be finalists.

  • How to update fields in multiple tables ?

    Dear all,
    What is the fastest way to update fields in multiple tables... from a single change table...as below is my code to update the fields but it is taking long time to update as i need to keep log file if any one update fails....
    CREATE OR REPLACE
    package body DO_DC_NAME_UPDATE_OTHER_TAB
    as
    type rowidArray is table of rowid index by binary_integer;
    type custRec is record
    n_cust_ref_no dbms_sql.number_table,
    v_name dbms_sql.varchar2_table,
    v_name_chg dbms_sql.varchar2_table,
    rowid rowidArray,
    changed dbms_sql.varchar2_table
    procedure VALIDATE_CUST_NAME( p_n_cust_ref_no in number,p_v_name_chg in out NOCOPY varchar2, p_changed in out NOCOPY varchar2 )
    is
    begin
    FOR cr_cust IN (SELECT --a.n_cust_ref_no,a.v_name,UPD_V_NAME, a.n_weight,a.V_LASTUPD_INFTIM
    from GNMT_CUSTOMER_MASTER_CHG where n_cust_ref_no=p_n_cust_ref_no)
         loop
    -- v_name
    if nvl(trim(cr_cust.v_name),0) != nvl(p_v_name_chg,0)
    then
              p_v_name_chg := p_v_name_chg;
              --p_v_name := p_v_name;
              p_changed := 'Y';
    end if;
         end loop;
    end;
    procedure DO_NAME_UPDATE_OTHER_TAB
    is
    l_record custRec;
    l_array_size number default 20000;
    l_done boolean;
    l_cnt number default 1;
    cursor c is select a.n_cust_ref_no, a.v_name,a.v_name_chg, a.rowid, 'N'
                        from GNMT_CUSTOMER_MASTER_CHG a--,GNMT_CUSTOMER_MASTER b
                        where a.v_name <> trim(a.v_name_chg); --and  a.n_cust_ref_no in (1434775,1561181,1601870);
    begin
    open c;
    loop
    dbms_application_info.set_client_info
    ( 'processing ' || l_cnt || ' thru ' || (l_cnt+l_array_size-1) );
    fetch c bulk collect into l_record.n_cust_ref_no, l_record.v_name,l_record.v_name_chg,l_record.rowid, l_record.changed
    LIMIT l_array_size;
    l_done := c%notfound;
    --dbms_output.put_line ('message10');
    for i in 1 .. l_record.n_cust_ref_no.count
    loop
    VALIDATE_CUST_NAME(l_record.n_cust_ref_no(i),l_record.v_name_chg(i),l_record.changed(i) );
    end loop;
    --dbms_output.put_line (l_record.n_cust_ref_no(i)||','||l_record.V_OCCUP_CODE(i)||','||l_record.CHANGED(i));
    /*forall i in 1 .. l_record.n_cust_ref_no.count
    update GNMT_CUSTOMER_MASTER q
    set q.v_name = l_record.v_name_chg(i)
    where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
    and trim(q.v_name) = l_record.v_name(i)
    and l_record.changed(i) = 'Y';*/
    -- update v_name in all the related tables
    forall i in 1 .. l_record.n_cust_ref_no.count
    update ADE_CUSTOMER_MASTER q
    set q.v_NAME = l_record.v_name_chg(i)
    where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
    and trim(q.v_name) = l_record.v_name(i)
    and l_record.changed(i) = 'Y'
    and q.v_NAME is not null;
    forall i in 1 .. l_record.n_cust_ref_no.count
    update GNMT_POLICY_DETAIL q
    set q.v_NAME = l_record.v_name_chg(i)
    where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
    and trim(q.v_name) = l_record.v_name(i)
    and l_record.changed(i) = 'Y'
    and q.v_NAME is not null;
    forall i in 1 .. l_record.n_cust_ref_no.count
    update GNMT_QUOTATION_DETAIL q
    set q.v_NAME =l_record.v_name_chg(i)
    where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
    and trim(q.v_name) = l_record.v_name(i)
    and l_record.changed(i) = 'Y'
    and q.v_NAME is not null;
    forall i in 1 .. l_record.n_cust_ref_no.count
    update NBDT_BENEFICIARY q
    set q.V_NAME = l_record.v_name_chg(i)
    where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
    and trim(q.V_NAME) = l_record.v_name(i)
    and l_record.changed(i) = 'Y'
    and q.v_NAME is not null;
    forall i in 1 .. l_record.n_cust_ref_no.count
    update PSDT_NOMINATION_TRANSACTION q
    set q.V_NAME = l_record.v_name_chg(i)
    where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
    and trim(q.V_NAME) = l_record.v_name(i)
    and l_record.changed(i) = 'Y'
    and q.v_NAME is not null;
    forall i in 1 .. l_record.n_cust_ref_no.count
    update PSMT_POLICY_BENEFICIARY q
    set q.V_NAME = l_record.v_name_chg(i)
    where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
    and trim(q.V_NAME) = l_record.v_name(i)
    and l_record.changed(i) = 'Y'
    and q.v_NAME is not null;
    commit;
    forall i in 1 .. l_record.n_cust_ref_no.count
    update PSMT_POLICY_TRUSTEE q
    set q.V_NAME = l_record.v_name_chg(i)
    where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
    and trim(q.V_NAME) = l_record.v_name(i)
    and l_record.changed(i) = 'Y'
    and q.v_NAME is not null;
    forall i in 1 .. l_record.n_cust_ref_no.count
    update PSMT_QUOTATION_BENEFICIARY q
    set q.V_NAME = l_record.v_name_chg(i)
    where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
    and trim(q.V_NAME) = l_record.v_name(i)
    and l_record.changed(i) = 'Y'
    and q.v_NAME is not null;
    forall i in 1 .. l_record.n_cust_ref_no.count
    update PSMT_QUOTATION_TRUSTEE q
    set q.V_NAME = l_record.v_name_chg(i)
    where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
    and trim(q.V_NAME) = l_record.v_name(i)
    and l_record.changed(i) = 'Y'
    and q.v_NAME is not null;
    commit;
    forall i in 1 .. l_record.n_cust_ref_no.count
    update GNDT_BLACKLIST_DETAIL q
    set q.v_FNAME = l_record.v_name_chg(i)
    where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
    and trim(q.v_FNAME) = l_record.v_name(i)
    and l_record.changed(i) = 'Y'
    and q.v_FNAME is not null;
    forall i in 1 .. l_record.n_cust_ref_no.count
    update INDT_LIAM_DETAIL q
    set q.v_FNAME = l_record.v_name_chg(i)
    where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
    and trim(q.v_FNAME) = l_record.v_name(i)
    and l_record.changed(i) = 'Y'
    and q.v_FNAME is not null;
    commit;
    forall i in 1 .. l_record.n_cust_ref_no.count
    update GNMT_POLICY q
    set q.V_PAYER_NAME = l_record.v_name_chg(i)
    where q.N_PAYER_REF_NO = l_record.n_cust_ref_no(i)
    and trim(q.V_PAYER_NAME) = l_record.v_name(i)
    and l_record.changed(i) = 'Y'
    and q.V_PAYER_NAME is not null;
    commit;
    forall i in 1 .. l_record.n_cust_ref_no.count
    update GNMT_QUOTATION q
    set q.V_PAYER_NAME = l_record.v_name_chg(i)
    where q.N_PAYER_REF_NO = l_record.n_cust_ref_no(i)
    and trim(q.V_PAYER_NAME) = l_record.v_name(i)
    and l_record.changed(i) = 'Y'
    and q.V_PAYER_NAME is not null;
    commit;
    forall i in 1 .. l_record.n_cust_ref_no.count
    update GNMT_QUOTATION q
    set q.V_PROPOSER_NAME = l_record.v_name_chg(i)
    where q.N_PROPOSER_REF_NO = l_record.n_cust_ref_no(i)
    and trim(q.V_PROPOSER_NAME) = l_record.v_name(i)
    and l_record.changed(i) = 'Y'
    and q.V_PROPOSER_NAME is not null;
    forall i in 1 .. l_record.n_cust_ref_no.count
    update GNMT_POLICY q
    set q.V_PROPOSER_NAME = l_record.v_name_chg(i)
    where q.N_PROPOSER_REF_NO = l_record.n_cust_ref_no(i)
    and trim(q.V_PROPOSER_NAME) = l_record.v_name(i)
    and l_record.changed(i) = 'Y'
    and q.V_PROPOSER_NAME is not null;
    forall i in 1 .. l_record.n_cust_ref_no.count
    update CLMT_CLAIM_MASTER q
    set q.V_CLIENT_NAME = l_record.v_name_chg(i)
    where q.N_CLIENT_REF_NO = l_record.n_cust_ref_no(i)
    and trim(q.V_CLIENT_NAME) = l_record.v_name(i)
    and l_record.changed(i) = 'Y'
    and q.V_CLIENT_NAME is not null;
    forall i in 1 .. l_record.n_cust_ref_no.count
    update CLMT_CLAIM_MASTER q
    set q.V_INTIMATOR_NAME = l_record.v_name_chg(i)
    where q.N_CLIENT_REF_NO = l_record.n_cust_ref_no(i)
    and trim(q.V_INTIMATOR_NAME) = l_record.v_name(i)
    and l_record.changed(i) = 'Y'
    and q.V_INTIMATOR_NAME is not null;
    forall i in 1 .. l_record.n_cust_ref_no.count
    update PYMT_VOU_MASTER q
    set q.V_PAYEE_NAME = l_record.v_name_chg(i)
    where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
    and trim(q.V_PAYEE_NAME) = l_record.v_name(i)
    and l_record.changed(i) = 'Y'
    and q.V_PAYEE_NAME is not null;
    /*forall i in 1 .. l_record.n_cust_ref_no.count
         INSERT INTO GNMT_CUSTOMER_MASTER_LOG
              (N_CUST_REF_NO, V_TITLE_CODE, V_NAME, D_BIRTH_DATE, V_SEX, V_RELIGION_CODE, V_NATION_CODE, V_OCCUP_CODE, V_ALIVE, V_SMOKER,
              N_NO_STICKS, D_DEATH_DATE, V_BUMI_NON_BUMI, V_AGE_ADMITTED, V_SHORT_NAME, V_FIRST_NAME, V_LAST_NAME, V_EMAIL, V_DESIGNATION,
              N_HEIGHT,N_WEIGHT,V_TITLE_CODE_CHG, V_NAME_CHG, D_BIRTH_DATE_CHG, V_SEX_CHG,V_RELIGION_CODE_CHG,V_NATION_CODE_CHG, V_OCCUP_CODE_CHG, V_ALIVE_CHG,
              V_SMOKER_CHG, N_NO_STICKS_CHG, D_DEATH_DATE_CHG,V_BUMI_NON_BUMI_CHG, V_AGE_ADMITTED_CHG, V_SHORT_NAME_Chg, V_FIRST_NAME_Chg,
              V_LAST_NAME_Chg, V_EMAIL_Chg, V_DESIGNATION_Chg,N_HEIGHT_Chg,N_WEIGHT_Chg, V_UPD_STATUS_DC,-- V_LASTUPD_PROG, V_LASTUPD_INFTIM,
              V_LASTUPD_USER_DC, V_LASTUPD_PROG_DC,V_LASTUPD_INFTIM_DC
              SELECT N_CUST_REF_NO, V_TITLE_CODE, V_NAME, D_BIRTH_DATE, V_SEX, V_RELIGION_CODE, V_NATION_CODE, V_OCCUP_CODE, V_ALIVE, V_SMOKER,
              N_NO_STICKS, D_DEATH_DATE, V_BUMI_NON_BUMI, V_AGE_ADMITTED, V_SHORT_NAME, V_FIRST_NAME, V_LAST_NAME, V_EMAIL, V_DESIGNATION,
              N_HEIGHT,N_WEIGHT,V_TITLE_CODE_CHG, V_NAME_CHG, d_birth_date_chg, V_SEX_CHG, V_RELIGION_CODE_CHG,V_NATION_CODE_CHG, V_OCCUP_CODE_CHG, V_ALIVE_CHG,
              V_SMOKER_CHG, N_NO_STICKS_CHG, D_DEATH_DATE_CHG, V_BUMI_NON_BUMI_CHG, V_AGE_ADMITTED_CHG, V_SHORT_NAME_Chg, V_FIRST_NAME_Chg,
              V_LAST_NAME_Chg, V_EMAIL_Chg, V_DESIGNATION_Chg,N_HEIGHT_Chg,N_WEIGHT_Chg--, V_LASTUPD_USER, V_LASTUPD_PROG, V_LASTUPD_INFTIM
              ,'PROCESSED'
              ,user,--P_USER,
              'DC_PAKAGE',
              sysdate--P_DATE
              FROM GNMT_CUSTOMER_MASTER_CHG where n_cust_ref_no =l_record.n_cust_ref_no(i)
              --and n_cust_ref_no not in (select n_cust_ref_no from GNMT_CUSTOMER_MASTER_LOG);*/
    exit when (l_done);
    l_cnt := l_cnt + l_array_size;
    end loop;
    commit;
    end;
    end;
    thank You

    Dear SeánMacGC thanks for reply,
    But "a.changed" is not a field in GNMT_CUSTOMER_MASTER_CHG. what i am doing in this procedure is i am collecting bulck data and validating field by field from GNMT_CUSTOMER_MASTER_CHG with GNMT_CUSTOMER_MASTER table as their structure is same.. if v_name is not same as v_name_chg then i am setting changed flag to "Y" changed is "changed dbms_sql.varchar2_table" and updating GNMT_CUSTOMER_MASTER in bluck where changed flag ='Y'...
    type custRec is record
    n_cust_ref_no dbms_sql.number_table,
    v_name dbms_sql.varchar2_table,
    v_name_chg dbms_sql.varchar2_table,
    rowid rowidArray,
    *changed dbms_sql.varchar2_table*
    i cannot use simple SQL as i need to validate field for each records with GNMT_CUSTOMER_MASTER_CHG and insert into log file as well.....
    to run this procedure:
    execute DO_DC_NAME_UPDATE_OTHER_TAB.DO_NAME_UPDATE_OTHER_TAB;
    Thanks...

  • Updated field in IC Agent Inbox

    Hi Forum,
    What is the "Updated" field in agent inbox? Am not able to see any values in that when I search for service requests. Please help me on how to show the updated date in that.
    Regards,
    Shridhar

    Hi Shridhar,
    I am afraid the "Updated" field is not managed at all.
    If you look at workbench component ICCMP_INBOX, view InboxItems, context > context nodes > tree structure > tree node proxy > double-clic on class CL_ICCMP_IN_INBOXITEMS_CN02, double-clic on method GET_LASTUPDATE. Statement "clear value." indicates no value is returned.
    Now you could enhance view ICCMP_INBOX,/InboxItems with custom code, and set your own content into method CL_ICCMP_IN_INBOXITEMS_CN02->GET_LASTUPDATE.
    Do not count on reporting framework to provide the value for that field. Although structure CRMT_REPORT_LOCATORLIST foresees it, it is not filled with value by search query: see method CL_CRM_QUERYAUI_RUN_BTIL->GET_RESULT_LIST to get exact list of fields returned. CREATED_AT_DATE field is part of it, but not  CHANGED_AT_DATE.
    But you may perform the re-read of last change date even in CL_ICCMP_IN_INBOXITEMS_CN02->GET_LASTUPDATE method, because SAP already takes advantage of user-buffering in function CRM_ORDER_READ.
    So adding following code to CL_ICCMP_IN_INBOXITEMS_CN02->GET_LASTUPDATE should show you correct last update
    data:
      lv_header_guid type crmt_object_guid,
      lt_guids       type crmt_object_guid_tab,
      ls_req_obj     type crmt_object_name,
      lt_req_obj     type crmt_object_name_tab,
      lt_orderadm_h  type crmt_orderadm_h_wrkt,
      lv_date        type sydatum,
      lv_time        type syuzeit.
    lv_header_guid ?= me->bo->get_property( 'GUID' ). 
    check lv_header_guid is not initial.
    insert lv_header_guid into table lt_guids.
    ls_req_obj = 'ORDERADM_H'.
    insert ls_req_obj into table lt_req_obj.
    call function 'CRM_ORDER_READ'
      exporting
        it_header_guid       = lt_guids
        it_requested_objects = lt_req_obj
      importing
        et_orderadm_h        = lt_orderadm_h
      exceptions
        others               = 4.
    if sy-subrc is initial.
      read table lt_orderadm_h into crmt_orderadm_h_wrk index 1.
      if sy-subrc is initial.
        CONVERT TIME STAMP crmt_orderadm_h_wrk-changed_at TIME ZONE sy-zonlo
            INTO DATE lv_date TIME lv_time.
      may need to convert first to strings
        concatenate lv_date lv_time into value separated by space.
      endif.
    endif.
    Hope you can use these ideas
    Kind regards
    Walter

Maybe you are looking for

  • Regarding standard reports

    Dear Experts, In our BI system there are some unused standard reports present. Due to space issue we need to delete the reports. I want to ask whether deleting those reports will have any negative impact on the system or not. Thanks

  • Calling my custom component several times 'freezes' my browser

    I have a component (Interf) that has a sub-component (Inter57) that has a sub-components (Interf57User) In my app, i declare a variable interf of type Interf [the base component]: [Bindable] public var AasInt interf:Interf = new Interf; then in a fun

  • Cannot edit Table with TableModel

    Hallo ! If I add a table, I can edit the cells with a doubleclick, but if I bind the table to a TableModel it is not possible to edit the cells. Why ? Please help me. Thx. Wolfgang

  • The table with Name of 'Table Name' does not exist.An error occurred when loading the Model.

    The table with Name of 'Table Name' does not exist.An error occurred when loading the Model. We get this error when we try to check the properties of an analysis server using SQL Server Management studio(right click the instance name and check proper

  • Open With in Photo Viewer app gives hundreds of NoUIEntrypoints-DesignMode

    I am developing a store app and have a button on my app (Open With) in the same way as the Windows 8.1 Photo app. This works fine, however, I now get hundreds of entries saying NoUKEntryPoints-DesignMode in the list which makes it take a long time to