Operator 'EQ' The value of left operand cannot be determined.

Hi,
I have designed workflow for BO 'FIPP'. This BO has two events CREATED and COMPLETED.
On CREATED event I have put start condition as
&parkeddocument.Flagcomplete& = X    or
&parkeddocument.Idoc_check&    = X.
When I created a FI doc through FB60 this start condition is evaluated properly and workflow works properly.
But when I am trying to execute this event using function module 'SAP_WAPI_START_WORKFLOW' or
'SWE_EVENT_CREATE_FOR_UPD_TASK' in a progam,  I am getting error in SWEL as "Operator 'EQ' The value of left operand cannot be determined."
When I checked in SWEL for event triggered error is displayed as "Operator 'EQ' the value of left operand cannot be determined"  and it refers to FM SWB_CHECK_FB_START_COND_EVAL.
For FlagComplete is source is database field VBKPF-XPRFG (ABAP dictionary) and
for Idoc_check is virtual field.
The workflow failing when evaluating start conditions.
Could you please suggest if I need to change anything in start condition or use any difffernt approach.
Regards,
Amit R.

Hi Imthiaz,
Thanks for the reply.
If I use FM 'SWE_EVENT_CREATE_FOR_UPD_TASK' what are the value I do need to pass in table EVENT_CONTAINER.
Right now I am passing only value of FlagComplete and Idoc_check attributes present on this BO and both of them are used in start condition.
at the moment data  I am passing is
OBJTYPE, OBJKEY and  EVENT and in container data for only FlagComplete and Idoc_check.
      CALL FUNCTION 'SWE_EVENT_CREATE_FOR_UPD_TASK'
           EXPORTING
                OBJTYPE           = L_BOR_OBJTYPE
                OBJKEY            = L_BOR_OBJKEY
                EVENT             = L_BOR_EVENT-EVENT
           TABLES
                EVENT_CONTAINER   = WE_EVENT_CONTAINER
           EXCEPTIONS
                OBJTYPE_NOT_FOUND = 1
                OTHERS            = 2.
Is it sufficient
Regards,
Amit R.

Similar Messages

  • I'm trying to sync/back-up apps on my iPhone 3G and iTunes keeps telling me it can't complete the operation because "the apps on my iPhone cannot be determined." What the **** does this mean?!

    I'm trying to sync/back-up apps on my iPhone 3G and iTunes keeps telling me it can't complete the operation because "the apps on my iPhone cannot be determined." What the **** does this mean?!

    Same problem. Wish I knew.
    When I tried to Restore, I got an Error 13xx and it won't even do that.
    not a happy camper if a phone this expensive stops working in 2 years.

  • Unable to determine the value of component  ''! Workflow error, please help

    Hi All:
        I am getting the error "Unable to determine the value of component  ''" and workflows are not getting processed. I found OSS notes 879100 related to this issue but I am new to workflow and not sure where to start from! Here is the notes description:
    The workflow WS20500025 ('Service Connection Order Processing') encounters an error directly after being started. The following error messages are displayed in the workflow log:
    SWP102: Error at start of an IF branch
    WL821: Work item 000000100012: Object FLOWITEM method EXECUTE cannot be executed
    SWF_RUN535: Error '9' when calling service 'SO_OBJECT_SEND'
    SWF_RUN534: Problems occurred when generating a mail
    WL863: Notification of completion cannot be generated
    SWF_EXP_001073: Unable to determine the value of component 'QUOTATION'
    SWF_EXP_001072: Error in the evaluation of expression '<???>' for item 1
    SWF_RLS_001101: Operator 'GT': The value of the left operand cannot be determined
    SWP085: Error when starting work item 000000100012
    SWP010: Error when evaluating the IF condition for node 0000000075
    Other terms
    Service connection processing, service connection workflow
    Reason and Prerequisites
    This is due to a program error.
    The checks in the workflow Basis have been made stricter. A query of the type 'Quotation.number > 0' now causes an error if the container element 'Quotation' is not set. This is always the case if the workflow is is running without quotation prcessing, for instance.
    Solution
    The error is corrected in the next Support Package.
    If you want to implement the corrections manually in your system, change the condition in step 000075 of workflow WS20500025 as follows:
        &IS-U: Kundenangebot& EX
    and &IS-U: Kundenangebot.Verkaufsbeleg& > 0
    Save and activate the workflow.
    I am new to workflow and not sure where to start from! Could someone please help me with this? Rewards assured.
    Thanks.
    Mithun

    ANy ideas? Please help me if anyone knows the answer.
    Thanks.
    Mithun

  • Value of variable  cannot be determined

    Hi Guys,
    We are using authorization values for the BPS planning template. The user gives the value for COSTCENTER, the background checks the authorization and fills the rest of the values.
    The variable is set with check on restrictions of values required by the user.
    The variables are working in the UAT system but not in the development for a ID with similar authorizations. The error message says
    ===================================================================
    Value of variable ZCOSTCNT cannot be determined
    Message no. UPC_FW149
    Diagnosis
    You are using variable ZCOSTCNT, but the system cannot determine the value of variables. The replacement type 'user-specific values' is set up for the variable, but no values are maintained for your user ID. In addition, the indicator 'Input allowed by user' is not set for the variable. This means the variable cannot be used.
    System Response
    The action desired by you cannot be executed.
    Procedure
    Contact your administrator in order to have one of the following changes carried out:
    Input of values for variable ZCOSTCNT and your user ID.
    Set the indicator 'Input allowed by user' for variable ZCOSTCNT. This means you can enter the desired values yourself when you call up the function. You can possibly also use another variable for the characteristic.
    ====================================================================
    I dont see any difference in the systems excpet the hierarchies used in the authorization object.
    CaValue of variable ZCOSTCNT cannot be determined
    Message no. UPC_FW149
    Diagnosis
    You are using variable ZCOSTCNT, but the system cannot determine the value of variables. The replacement type 'user-specific values' is set up for the variable, but no values are maintained for your user ID. In addition, the indicator 'Input allowed by user' is not set for the variable. This means the variable cannot be used.
    System Response
    The action desired by you cannot be executed.
    Procedure
    Contact your administrator in order to have one of the following changes carried out:
    Input of values for variable ZCOSTCNT and your user ID.
    Set the indicator 'Input allowed by user' for variable ZCOSTCNT. This means you can enter the desired values yourself when you call up the function. You can possibly also use another variable for the characteristic.
    ====================================================================
    I dont see any difference in the two systems, excpet the hierarchy for cost center used in the authorization object. When I checked RSECADMIN, I can see the ID is properly authorized
    Appreciate if anyone can throw some light on the issue.

    RSECADMIN will not help with this issue: the system is complaining about User-specific authorization within BPS.
    You can check the athorization from the Planning Workbench: look at the entries for the ZCOSTCNT in your planning area for the required user. If necessary add the required authorization; though you need exclusive access to the planning area to do it from the workbench.
    You can also check the assigned values by browsing the table (from Tcode SE16) UPC_VAR_CHA_SEL . It possible also to maintain the values from text file uploads using program Z_BPS_VAR_UPLOAD (from "How to ... Upload User-specific Variable Selectins in BW-BPS)., which is useful in the live environment when there are many settings to maintain.
    Stephen

  • What does it mean when it says '' the safety of this file cannot be determi

    I'm relatively new to the apple experience, and earlier today when I was trying to download the new Windows Media Player, it said "the safety of this file cannot be determined". When it finished downloading it just appeared to be a blank file that I couldn't open. This happened with several other software as well. I was wondering what this was about and what do I need to complete downloads. Thanks in advance.

    Two issues, possibly related to each other.
    I'm relatively new to the apple experience, and earlier today when I was trying to download the new Windows Media Player, it said "the safety of this file cannot be determined".
    Do you have 'Open safe files after downloading' checked in Safari's preferences?
    As a security measure following the discovery of certain system exploits, Safari was updated to include a security prompt similar to the kind described, in the event that the item downloaded was detected to contain an application. You can disable the security prompt using Taboo (freeware) or Saft (shareware).
    When it finished downloading it just appeared to be a blank file that I couldn't open.
    Some, if not most, applications are distributed as Stuff-it archives which Mac OS X cannot handle without the proper software. Try it again after downloading StuffIt Expander.
    Yang

  • IDoc status error 51 : A company code cannot be determined for LS

    Hi,
    We are trying to post an Idoc into R/3 but getting the IDoc status code 51 :  A company code cannot be determined for LS
    What could be the possible reason?
    Should we use Party in Receiver IDoc scenarios?

    Hi,
    I have quite the same problem. I built an IDOC with WE19 and I have the message "A company code cannot be determined for LI 0000031004".
    As explained in note OSS 117808, the partner number (31004) and partner type (LI) are read from the control record of the IDOC. I enter this values in OBCA and OBCE customizing points, to determine the company code 'LC'. It doesn't work.
    PT Rao, what do you call "activate partner profile" ?
    Thanks in advance.
    Regards,
    Arnaud

  • 810 Invoice  : A company code cannot be determined  ???

    When i am posting an invoice 810 , I get the  error : " A company code cannot be determined "
    Please help
    Many thanks

    Hi ,
    There is a transaction FBZP in which the company code which you are using should be available . Otherwise the error comes .
    Regards,
    Sakthi

  • How value for Inv Offsetting line item determined for revsesal

    Hi,
    I want to know the following for the reversal of Process Order for materials for which the price control is 'S'.
    How the value for GBB (Inventory offsetting) is determined. I have observed it taking the weighted rate of the (Summation of the Total Actual Cost / Sumation of Actual Qunatity) * Reversal Quantity. The BSX line item is determined by Standard Price * Reversal Quantity
    The balance is posted in the Price difference.
    I want to know why this difference is determining tge line items.
    I have gone thru SAP Note 216080 in this regard but failed to understandard the basic resaon why this is happening.
    Regards
    Partha

    Dear colleague,
    you are right
    >note 422606:
    a) The manufactured material has price control 'S' (Standard price).
       Valuation is carried out for goods receipts using the standard
       price that is currently valid.
       For the reversal of goods receipts, the valuation of the debit of
       the order (offsetting entry to stock posting) is carried out
       using the price determined from the quotient of value of goods
       received and quantity of goods received. That is, all previous
       goods receipts are used for the valuation of the reversal of a
       goods receipt, but order settlements are not used.
    It is the standard system behaviour that the reversal of goods receipt
    for production order are not valuated with standard price. All previous
    goods receipts are used for the valuation of the reversal of a
    goods receipt.
    Goods receipts are always reversed with an average of the prices of
    all goods receipts in the order history. Therefore price differences
    may occur. This behaviour is as well explained in the attached
    note 49995 in the reasons and prerequisites step. As well you find
    an explanation in note's 422606 symptoms. the system tries to avoid the reversal
    with posted values no longer possible.
    If this replies your question ,please mark it as answered,
    best regards,
    maria

  • Why: [nQSError: 59001] Left operation is not permitted on INTEGER operand

    I need some help about this error. The scenarios:
    1. I used the formula which as below in answer :
    "SUM((CASE WHEN ALM_BKT_RES_GRP_V.FINANCIAL_ELEM_ID = 660.00 THEN ALM_BKT_RES_GRP_V.BUCKET_ALL ELSE 0 END)) / (CASE WHEN IFNULL(@{Scale},0)=0 THEN 1 ELSE @{Scale} END)"
    2. And I displayed result in Table(plat table), it raised this error:Left operation is not permitted on INTEGER operand(s)
    3. When I displayed result in Pivot Table, it would be OK, no error.
    4. I removed SUM() in the formula, it's OK both Plat Table and Pivot Table. But the value of this formula is wrong. so I must use function SUM().
    I want to know the reason...

    yeah, is the another formula column used the Fuction LEFT(), I hasn't init it.
    So, I edit the formula as this: @{Type}{'z'}. The error is fixed.

  • Error in SQL Query The text, ntext, and image data types cannot be compared or sorted, except when using IS NULL or LIKE operator. for the query

    hi Experts,
    while running SQL Query i am getting an error as
    The text, ntext, and image data types cannot be compared or sorted, except when using IS NULL or LIKE operator. for the query
    select  T1. Dscription,T1.docEntry,T1.Quantity,T1.Price ,
    T2.LineText
    from OQUT T0  INNER JOIN QUT1 T1 ON T0.DocEntry = T1.DocEntry INNER JOIN
    QUT10 T2 ON T1.DocEntry = T2.DocEntry where T1.DocEntry='590'
    group by  T1. Dscription,T1.docEntry,T1.Quantity,T1.Price
    ,T2.LineText
    how to resolve the issue

    Dear Meghanath,
    Please use the following query, Hope your purpose will serve.
    select  T1. Dscription,T1.docEntry,T1.Quantity,T1.Price ,
    CAST(T2.LineText as nvarchar (MAX))[LineText]
    from OQUT T0  INNER JOIN QUT1 T1 ON T0.DocEntry = T1.DocEntry LEFT OUTER JOIN
    QUT10 T2 ON T1.DocEntry = T2.DocEntry --where T1.DocEntry='590'
    group by  T1. Dscription,T1.docEntry,T1.Quantity,T1.Price
    ,CAST(T2.LineText as nvarchar (MAX))
    Regards,
    Amit

  • Exchange Connector 3.0 (Hotfix Release) Error - Error Message=The key value of an object cannot be changed.

    Hello,
    I am running Service Manager 2012 with the Exchange Connector 3.0 RTM (Re-release Version).  The issue I have is that when an e-mail is processed that is trying to update the status or event log of an incident, the Exchange Connector encounters an error
    and will not update the object.  The Operations Manager log denotes: 
    Exchange Connector: Unable to process mail item. Subject="Close Ticket: [IRXXXXX]", Error Message=The key value of an object cannot be changed.
    This will happen on a seemingly random selection of Incident work items.  I cannot correlate them with a specific template, exchange connector, or incident tier queue that could be causing the issue.  I can recreate the way a specific ticket
    was created and update it through e-mail without issue, and the next ticket can cause the error to trigger. 
    I have already opened a Microsoft Support Case using our Software Assurance agreement.  After a few months of troubleshooting the issue and trying different fixes, Microsoft support said they were unable to fix the problem and that we would need to
    purchase Premier support to go further. At this point I thought I would reach out to the community for ideas.
    The setup I have for the Exchange connectors is as follows.
    I have three separate Exchange connectors set up to three different mailboxes.  One Exchange connector processes external support tickets and applies a specific template.  Another processes client support tickets and applies a different template. 
    And the last Exchange connector processes internal tickets and also processes the updates of tickets created by the other two exchange connectors. 
    Here are the fixes I've attempted so far:
    1.  Changed the templates that each Exchange connector applies.
    2.  Changed the management pack that each template is stored in.
    3.  Checked my management pack(s) for extended classes by searching for Extension="true" (This was also checked by Microsoft support)
    4.  Deleted each Exchange connector and recreated each connector
    5.  Deleted each Exchange connector, deleted the management pack, and reinstalled the management pack and connectors
    6.  Repeated Step 5, deleted Microsoft.SystemCenter.ExchangeConnector.dll and Microsoft.SystemCenter.ExchangeConnector.resources.dll and then installed the Exchange connector Re-release version 3.0 Published 10/7/2013 (which is supposed to address this
    issue)
    7.  Deleted the HealthServiceState folder and restarted the Management Service
    I'm not really sure what to do at this point.  I've put many hours into customizing my installation to get it working for my organization so reformatting and starting from scratch would be a nightmare scenario.  This environment is in production.
    I do have a band-aid in place using Orchestrator.  Basically I have a monitor task searching for the error message and when it finds one it searches the mailbox for the offending e-mail and applies either the Resolve or Close status change that is requested
    from the user.  However, I do not have it working to update the ticket if a comment is applied to the incident.  If anyone is in this position and needs to know how to apply this Orchestrator task I am willing to provide my workflow.
    I am new to the community and am already impressed with the amount of help and effort there is in this forum.  I appreciate in advance any help that is provided and am open to any ideas at this point.  I can post more information as needed.
    Thank you,
    John

    Yes that is the whole template.  However, I did confirm that this is only happening to incidents where either of two situations triggers a runbook to fire and modify the incident.  When I remove the activity from the incident it does clear the
    issue.  For some background the first Runbook Activity set's the first response date when an incident is resolved if the first response value is null.  The second assigns the incident to a user upon creation if the title contains assignto:username;
    1.)
    <ObjectTemplate ID="Template.d33b5bbcaf3c49b18d8b72bc1e5e1ee4" TypeID="IncidentManagement!System.WorkItem.Incident.ProjectionType">
    <Property Path="$Context/Property[Type='CustomSystem_WorkItem_Incident_Library!System.WorkItem.Incident']/Escalated$">False</Property>
    <Property Path="$Context/Property[Type='CustomSystem_WorkItem_Incident_Library!System.WorkItem.Incident']/NeedsKnowledgeArticle$">False</Property>
    <Property Path="$Context/Property[Type='CustomSystem_WorkItem_Incident_Library!System.WorkItem.Incident']/HasCreatedKnowledgeArticle$">False</Property>
    <Object Path="$Context/Path[Relationship='CustomSystem_WorkItem_Activity_Library!System.WorkItemContainsActivity' TypeConstraint='CustomMicrosoft_SystemCenter_Orchestrator!Microsoft.SystemCenter.Orchestrator.RunbookAutomationActivity']$">
    <Property Path="$Context/Property[Type='CustomMicrosoft_SystemCenter_Orchestrator!Microsoft.SystemCenter.Orchestrator.RunbookAutomationActivity.Base']/RunbookId$">4085f0da-ab83-48e5-bbe3-1f3b5fa2dc4a</Property>
    <Property Path="$Context/Property[Type='CustomMicrosoft_SystemCenter_Orchestrator!Microsoft.SystemCenter.Orchestrator.RunbookAutomationActivity.Base']/TemplateId$">Template.d33b5bbcaf3c49b18d8b72bc1e5e1ee4</Property>
    <Property Path="$Context/Property[Type='CustomMicrosoft_SystemCenter_Orchestrator!Microsoft.SystemCenter.Orchestrator.RunbookAutomationActivity.Base']/IsReadyForAutomation$">True</Property>
    <Property Path="$Context/Property[Type='CustomMicrosoft_SystemCenter_Orchestrator!Microsoft.SystemCenter.Orchestrator.RunbookAutomationActivity.Base']/PropertyMapping$">&lt;?xml version="1.0" encoding="utf-16"?&gt;
    &lt;ParameterMapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
    &lt;ParameterList&gt;
    &lt;RunbookParameterItem&gt;
    &lt;Name&gt;Get RA Guid&lt;/Name&gt;
    &lt;Id&gt;344b15effc1a44528e517c5b4227179c&lt;/Id&gt;
    &lt;Type&gt;String&lt;/Type&gt;
    &lt;Value&gt;Generic::Id&lt;/Value&gt;
    &lt;Direction&gt;In&lt;/Direction&gt;
    &lt;ContextInfo /&gt;
    &lt;/RunbookParameterItem&gt;
    &lt;/ParameterList&gt;
    &lt;RunbookId&gt;4085f0da-ab83-48e5-bbe3-1f3b5fa2dc4a&lt;/RunbookId&gt;
    &lt;/ParameterMapping&gt;</Property>
    <Property Path="$Context/Property[Type='CustomSystem_WorkItem_Activity_Library!System.WorkItem.Activity']/ChildId$">1906</Property>
    <Property Path="$Context/Property[Type='CustomSystem_WorkItem_Activity_Library!System.WorkItem.Activity']/Status$">$MPElement[Name='CustomSystem_WorkItem_Activity_Library!ActivityStatusEnum.Active']$</Property>
    <Property Path="$Context/Property[Type='CustomSystem_WorkItem_Activity_Library!System.WorkItem.Activity']/Skip$">False</Property>
    <Property Path="$Context/Property[Type='CustomSystem_WorkItem_Library!System.WorkItem']/Title$">Set First Response on Resolve</Property>
    </Object>
    </ObjectTemplate>
    2.)
    <ObjectTemplate ID="Template.b311e1f9126e4e19bbbbeb65ddb220ba" TypeID="IncidentManagement!System.WorkItem.Incident.ProjectionType">
    <Property Path="$Context/Property[Type='CustomSystem_WorkItem_Incident_Library!System.WorkItem.Incident']/Escalated$">False</Property>
    <Property Path="$Context/Property[Type='CustomSystem_WorkItem_Incident_Library!System.WorkItem.Incident']/Status$">$MPElement[Name='CustomSystem_WorkItem_Incident_Library!IncidentStatusEnum.Active']$</Property>
    <Property Path="$Context/Property[Type='CustomSystem_WorkItem_Incident_Library!System.WorkItem.Incident']/NeedsKnowledgeArticle$">False</Property>
    <Property Path="$Context/Property[Type='CustomSystem_WorkItem_Incident_Library!System.WorkItem.Incident']/HasCreatedKnowledgeArticle$">False</Property>
    <Object Path="$Context/Path[Relationship='CustomSystem_WorkItem_Activity_Library!System.WorkItemContainsActivity' TypeConstraint='CustomMicrosoft_SystemCenter_Orchestrator!Microsoft.SystemCenter.Orchestrator.RunbookAutomationActivity']$">
    <Property Path="$Context/Property[Type='CustomMicrosoft_SystemCenter_Orchestrator!Microsoft.SystemCenter.Orchestrator.RunbookAutomationActivity.Base']/RunbookId$">ca88b13b-861a-4d39-a3cb-fd912d951e35</Property>
    <Property Path="$Context/Property[Type='CustomMicrosoft_SystemCenter_Orchestrator!Microsoft.SystemCenter.Orchestrator.RunbookAutomationActivity.Base']/TemplateId$">Template.b311e1f9126e4e19bbbbeb65ddb220ba</Property>
    <Property Path="$Context/Property[Type='CustomMicrosoft_SystemCenter_Orchestrator!Microsoft.SystemCenter.Orchestrator.RunbookAutomationActivity.Base']/IsReadyForAutomation$">True</Property>
    <Property Path="$Context/Property[Type='CustomMicrosoft_SystemCenter_Orchestrator!Microsoft.SystemCenter.Orchestrator.RunbookAutomationActivity.Base']/PropertyMapping$">&lt;?xml version="1.0" encoding="utf-16"?&gt;
    &lt;ParameterMapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
    &lt;ParameterList&gt;
    &lt;RunbookParameterItem&gt;
    &lt;Name&gt;RA Activity GUID&lt;/Name&gt;
    &lt;Id&gt;5677d117a0294a2c898a695032f26c72&lt;/Id&gt;
    &lt;Type&gt;String&lt;/Type&gt;
    &lt;Value&gt;Generic::Id&lt;/Value&gt;
    &lt;Direction&gt;In&lt;/Direction&gt;
    &lt;ContextInfo /&gt;
    &lt;/RunbookParameterItem&gt;
    &lt;/ParameterList&gt;
    &lt;RunbookId&gt;ca88b13b-861a-4d39-a3cb-fd912d951e35&lt;/RunbookId&gt;
    &lt;/ParameterMapping&gt;</Property>
    <Property Path="$Context/Property[Type='CustomSystem_WorkItem_Activity_Library!System.WorkItem.Activity']/ChildId$">1120</Property>
    <Property Path="$Context/Property[Type='CustomSystem_WorkItem_Activity_Library!System.WorkItem.Activity']/Status$">$MPElement[Name='CustomSystem_WorkItem_Activity_Library!ActivityStatusEnum.Active']$</Property>
    <Property Path="$Context/Property[Type='CustomSystem_WorkItem_Activity_Library!System.WorkItem.Activity']/Skip$">False</Property>
    <Property Path="$Context/Property[Type='WorkItem!System.WorkItem']/Title$">Execute Orchestrator IR - Autoassign</Property>
    </Object>
    </ObjectTemplate>

  • Error 1406. Setup cannot write the value mlcfg32.cpl

    Hi to all. I am attempting to upgrade Office 2007 Standard to Office 2013 Pro. I have used the OCT tool to create a custom MSP. On some machine the upgrade fails. It is always the same error (see below).
    [quote]
    Error 1406. Setup cannot write the value mlcfg32.cpl to the registry key \Software\Microsoft\Windows\CurrentVersion\Control Panel\Cpls. Verify that you have
    sufficient permissions to access the registry or contact microsoft product services (PPS) for assistance. For information about how to contact PSS, see
    C:\Users\......
    [/quote]
    I have attempted the following:
    1.Log on to the computer by using an Administrator user account.
    2.Start Microsoft Windows Explorer.
    3.On the Organize menu, click Folder and search options.
    4.Click the View tab.
    5.Under Hidden files and folders, click Show hidden files, folders, and drives.
    6.Click to clear the Hide extensions for known file types check box.
    7.Click to clear the Hide protected operating system file (Recommended) check box, and then click OK.
    8.On the Warning dialog box, click Yes.
    9.Open the following folder: C:\Users\All Users\Microsoft\Office\Data\
    10.If you are running Office 2007, right-click Opa12.dat or if you are running Office 2003, right-click Data.dat, and then click Properties.
    11.Click the Security tab.
    12.Click Advanced.
    13.Click the Permissions tab.
    14.Click to select Everyone in the Permission entries list, and then click Edit.
    15.Click to select the Full Control check box.
    16.Click OK four times. If these steps do not resolve this issue, delete the Opa12.dat, the Opa11.dat file or the Data.dat file from the following folder, and then restart an Office 2007 program, an Office 2003 program or an Office XP program
    C:\Users\All Users\Microsoft\Office\Data
    Has anyone seen this issue previously?
    Kind Regards,
    Phil.

    Hi Phil,
    Thank you for your questions. Have you uninstalled Office 2007 from the machine before the Office 2013 installation?
    I believe you've already seen this KB article before, the steps above are quoted from it:
    http://support.microsoft.com/kb/838687
    As can been seen from the article, the steps above are specific to Method 4. There are three other Methods mentioned in the article, have you ever tried them? If not yet, I would suggest you to have a try:
    Method 1: Set the permission for the Everyone group of the registry subkeys that are listed in the error message to Full Control.
    Method 2: Disable the third-party application.
    Method 3: Try the installation again in
    Let me know if the issue persists after the steps above, we'll take a further look then.
    Regards,
    Ethan Hua
    TechNet Community Support
    It's recommended to download and install
    Configuration Analyzer Tool (OffCAT), which is developed by Microsoft Support teams. Once the tool is installed, you can run it at any time to scan for hundreds of known issues in Office
    programs.

  • Since installing LTR 5.4, which I've now upgraded to 5.6, I've encountered repeated slowness and malfunctions in operations, especially when using the Compare View function and the Tab key to open and close the right and left side panels.  Such problems n

    Since installing LTR 5.4, which I've now upgraded to 5.6, I've encountered repeated slowness and malfunctions in operations, especially when using the Compare View function and the Tab key to open and close the right and left side panels.  Such problems never arose during two years of using LTR-4 and nothing else has changed on my computer.  I have a pretty simple system with only a few plug-ins, which are usually not in operation.  I have 12GB of RAM in my Windows 7 PC.  I could illustrate these problems with screen shots if you would tell me how to submit screen shots.  Otherwise I will try to describe the problems in words.
    The problem is clearly cumulative, growing worse as usage time passes.  Compare View feature gradually slows down and eventually seems to choke as my work session proceeds. If I Exit LTR and re-enter and start all over, things will work normally for maybe 30 minutes, but then the Compare View feature begins to become very slow to respond.   In a recent example with my screen full of thumbnails in Library mode I highlighted two images to compare. LTR started to open the Compare View screen by first having the top row of thumbnails disappear to be replaced by the "SELECT" and "CANDIDATE" words in their spaces  (but no images), but Compare View never succeeded in gaining control of the screen. After some seconds the top row of thumbnails reasserted its position and the Compare View windows disappeared. But LTR kept trying to bring them back. Again the top row of thumbnails would go away, Select and candidate would reappear, try again, and give up. This went on for at least 2-3 minutes before I tried to choose File and Exit, but even that did not initially want to respond. It doesn't like to accept other commands when it's trying to open Compare View. Finally it allowed me to exit.
    To experiment I created a new catalog of 1100 images.  After 30-40 minutes, the Compare View function began to operate very slowly. With left and right side panels visible and two thumbnails highlighted, hitting Compare View can take half a minute before the two mid-size  images open in their respective SELECT and CANDIDATE windows. When the side panels are open and two images are in the Select/Candidate spaces, hitting the Tab button to close the side panels produces a very delayed response--25-30 seconds to close them, a few more seconds to enlarge the two images to full size. To reverse the process (i.e., to recall the two side panels), hitting Tab would make the two sides of the screen go black for up to a minute, with no words visible. Eventually the info fields in the panels would open up.
    I also created a new user account and imported a folder of 160 images. After half an hour Compare View began mis-placing data.  (I have a screen shot to show this.)  CANDIDATE appears on the left side of SELECT, whereas it should be on the right. The accompanying camera exposure data appears almost entirely to the left of the mid-screen dividing line. Although the Candidate and Select headings were transposed, the image exposure data was not, but the data for the image on the right was almost entirely to the left of the line dividing the screen in two.
    Gurus in The Lightroom Forum have examined Task Manager data showing Processes running and Performance indicators and they see nothing wrong.  I could also send screen shots of this data.
    At this point, the only way I can process my images is to work 30-40 minutes and then shut down everything, exit, and re-start LTR.  This is not normal.  I hope you can find the cause, and then the solution.  If you would like to see my screen shots, tell me how to submit them.
    Ollie
    [email protected]

    Since installing LTR 5.4, which I've now upgraded to 5.6, I've encountered repeated slowness and malfunctions in operations, especially when using the Compare View function and the Tab key to open and close the right and left side panels.  Such problems never arose during two years of using LTR-4 and nothing else has changed on my computer.  I have a pretty simple system with only a few plug-ins, which are usually not in operation.  I have 12GB of RAM in my Windows 7 PC.  I could illustrate these problems with screen shots if you would tell me how to submit screen shots.  Otherwise I will try to describe the problems in words.
    The problem is clearly cumulative, growing worse as usage time passes.  Compare View feature gradually slows down and eventually seems to choke as my work session proceeds. If I Exit LTR and re-enter and start all over, things will work normally for maybe 30 minutes, but then the Compare View feature begins to become very slow to respond.   In a recent example with my screen full of thumbnails in Library mode I highlighted two images to compare. LTR started to open the Compare View screen by first having the top row of thumbnails disappear to be replaced by the "SELECT" and "CANDIDATE" words in their spaces  (but no images), but Compare View never succeeded in gaining control of the screen. After some seconds the top row of thumbnails reasserted its position and the Compare View windows disappeared. But LTR kept trying to bring them back. Again the top row of thumbnails would go away, Select and candidate would reappear, try again, and give up. This went on for at least 2-3 minutes before I tried to choose File and Exit, but even that did not initially want to respond. It doesn't like to accept other commands when it's trying to open Compare View. Finally it allowed me to exit.
    To experiment I created a new catalog of 1100 images.  After 30-40 minutes, the Compare View function began to operate very slowly. With left and right side panels visible and two thumbnails highlighted, hitting Compare View can take half a minute before the two mid-size  images open in their respective SELECT and CANDIDATE windows. When the side panels are open and two images are in the Select/Candidate spaces, hitting the Tab button to close the side panels produces a very delayed response--25-30 seconds to close them, a few more seconds to enlarge the two images to full size. To reverse the process (i.e., to recall the two side panels), hitting Tab would make the two sides of the screen go black for up to a minute, with no words visible. Eventually the info fields in the panels would open up.
    I also created a new user account and imported a folder of 160 images. After half an hour Compare View began mis-placing data.  (I have a screen shot to show this.)  CANDIDATE appears on the left side of SELECT, whereas it should be on the right. The accompanying camera exposure data appears almost entirely to the left of the mid-screen dividing line. Although the Candidate and Select headings were transposed, the image exposure data was not, but the data for the image on the right was almost entirely to the left of the line dividing the screen in two.
    Gurus in The Lightroom Forum have examined Task Manager data showing Processes running and Performance indicators and they see nothing wrong.  I could also send screen shots of this data.
    At this point, the only way I can process my images is to work 30-40 minutes and then shut down everything, exit, and re-start LTR.  This is not normal.  I hope you can find the cause, and then the solution.  If you would like to see my screen shots, tell me how to submit them.
    Ollie
    [email protected]

  • Error in Process u2013 PO cannot be reduced to the value already invoiced.

    Hi,
    i need some idea abt this.
    the requirement is provide an error message when ordered qty and price is lower than invoiced qty and price and PO cannot be changed.
    A New RFC is required to fetch the values of Invoiced Quantity and Invoiced Amount taking Purchase Order Number as input. In order to make it simpler, make use of logic available in FMu2019s BBP_PO_GETDETAIL and BBP_PO_GETITEMS else use the same FM inside the RFC.
    At first, check whether the PO is a Service or Goods PO. Call the RFC inside the BAdi at PO level and pass the PO Number. The RFC will then return you with Invoiced Quantity and Invoiced Amount.
    Validate this Invoiced Qty and Amt with current values user has entered. If ordered qty and amt is lower than invoiced qty and amt, error should be created and PO cannot be changed.
    Can anyone suggest how i should approach regarding this issue.
    Thanks in Advance.

    Hi ,
      Find out exact user-exit or BADI for the solution.
    Thanks,
    Archana.

  • NullPointerException - Cannot get the value from variable f_cashGiven

    In SubCheckout.java (a POS), what I want is when Payment button (f_cashPayment) is pressed, the action "Cash" is performed, get the value from Cash Given (f_cashGiven), do the subtraction and post the value as Cash Return (f_cashReturn). The code is filled in actionPerformed. But I cannot get the value by using f_cashGiven.getValue() from VNumber class. It returns NULL. This should be quite straight forward, but I do not know what is wrong. Please help!
    Enclosed please find the source code of SubCheckout.java and VNumber.java
    This is the code of SubCheckout.java :
    * The contents of this file are subject to the   Compiere License  Version 1.1
    * ("License"); You may not use this file except in compliance with the License
    * You may obtain a copy of the License at http://www.compiere.org/license.html
    * Software distributed under the License is distributed on an  "AS IS"  basis,
    * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
    * the specific language governing rights and limitations under the License.
    * The Original Code is Compiere ERP & CRM Smart Business Solution. The Initial
    * Developer of the Original Code is Jorg Janke. Portions created by Jorg Janke
    * are Copyright (C) 1999-2005 Jorg Janke.
    * All parts are Copyright (C) 1999-2005 ComPiere, Inc.  All Rights Reserved.
    * Contributor(s): ______________________________________.
    package org.compiere.pos;
    import java.awt.*;
    import java.awt.event.*;
    import java.math.BigDecimal;
    import javax.swing.border.*;
    import org.compiere.grid.ed.*;
    import org.compiere.swing.*;
    import org.compiere.util.*;
    *     POS Checkout Sub Panel
    *  @author Jorg Janke
    *  @version $Id: SubCheckout.java,v 1.3 2005/03/11 20:28:22 jjanke Exp $
    public class SubCheckout extends PosSubPanel implements ActionListener
          *      Constructor
          *     @param posPanel POS Panel
         public SubCheckout (PosPanel posPanel)
              super (posPanel);
         }     //     PosSubCheckout
         private CButton f_register = null;
         private CButton f_summary = null;
         private CButton f_process = null;
         private CButton f_print = null;
         private CLabel f_lcreditCardNumber = null;
         private CTextField f_creditCardNumber = null;
         private CLabel f_lcreditCardExp = null;
         private CTextField f_creditCardExp = null;
         private CLabel f_lcreditCardVV = null;
         private CTextField f_creditCardVV = null;
         private CButton f_cashPayment = null;
         private CLabel f_lcashGiven = null;
         private VNumber f_cashGiven = null;
         private CLabel f_lcashReturn = null;
         private VNumber f_cashReturn = null;
         private CButton f_creditPayment = null;
         /**     Logger               */
         private static CLogger log = CLogger.getCLogger(SubCheckout.class);
          *      Initialize
         public void init()
              //     Title
              TitledBorder border = new TitledBorder(Msg.getMsg(Env.getCtx(), "Checkout"));
              setBorder(border);
              //     Content
              setLayout(new GridBagLayout());
              GridBagConstraints gbc = new GridBagConstraints();
              gbc.insets = INSETS2;
              //     --     0
              gbc.gridx = 0;
              f_register = createButtonAction("Register", null);
              gbc.gridy = 0;
              add (f_register, gbc);
              f_summary = createButtonAction("Summary", null);
              gbc.gridy = 1;
              add (f_summary, gbc);
              f_process = createButtonAction("Process", null);
              gbc.gridy = 2;
              add (f_process, gbc);
              f_print = createButtonAction("Print", null);
              gbc.gridy = 3;
              add (f_print, gbc);
              //     --     1 -- Cash
              gbc.gridx = 1;
              gbc.gridheight = 2;
              gbc.fill = GridBagConstraints.BOTH;
              gbc.weightx = .1;
              CPanel cash = new CPanel(new GridBagLayout());
              cash.setBorder(new TitledBorder(Msg.getMsg(Env.getCtx(), "Cash")));
              gbc.gridy = 0;
              add (cash, gbc);
              GridBagConstraints gbc0 = new GridBagConstraints();
              gbc0.insets = INSETS2;
              gbc0.anchor = GridBagConstraints.WEST;
              f_lcashGiven = new CLabel(Msg.getMsg(Env.getCtx(),"CashGiven"));
              cash.add (f_lcashGiven, gbc0);
              f_cashGiven = new VNumber("CashGiven", false, false, true, DisplayType.Amount,
                   Msg.translate(Env.getCtx(), "CashGiven"));
              f_cashGiven.addActionListener(this);
              f_cashGiven.setColumns(10, 25);
              cash.add (f_cashGiven, gbc0);
              f_cashGiven.setValue(Env.ZERO);
              f_lcashReturn = new CLabel(Msg.getMsg(Env.getCtx(),"CashReturn"));
              cash.add (f_lcashReturn, gbc0);
              f_cashReturn = new VNumber("CashReturn", false, true, false, DisplayType.Amount,
                   "CashReturn");
              f_cashReturn.setColumns(10, 25);
              cash.add (f_cashReturn, gbc0);
              f_cashReturn.setValue(Env.ZERO);
              f_cashPayment = createButtonAction("Payment", null);
              f_cashPayment.setActionCommand("Cash");
              gbc0.anchor = GridBagConstraints.EAST;
              gbc0.weightx = 0.1;
              cash.add (f_cashPayment, gbc0);
              //     --     1 -- Creditcard
              CPanel creditcard = new CPanel(new GridBagLayout());
              creditcard.setBorder(new TitledBorder(Msg.translate(Env.getCtx(), "CreditCardType")));
              gbc.gridy = 2;
              add (creditcard, gbc);
              GridBagConstraints gbc1 = new GridBagConstraints();
              gbc1.insets = INSETS2;
              gbc1.anchor = GridBagConstraints.WEST;
              gbc1.gridx = 0;
              gbc1.gridy = 0;
              f_lcreditCardNumber = new CLabel(Msg.translate(Env.getCtx(), "CreditCardNumber"));
              creditcard.add (f_lcreditCardNumber, gbc1);
              gbc1.gridy = 1;
              f_creditCardNumber = new CTextField(18);
              creditcard.add (f_creditCardNumber, gbc1);
              gbc1.gridx = 1;
              gbc1.gridy = 0;
              f_lcreditCardExp = new CLabel(Msg.translate(Env.getCtx(),"CreditCardExp"));
              creditcard.add (f_lcreditCardExp, gbc1);
              gbc1.gridy = 1;
              f_creditCardExp = new CTextField(5);
              creditcard.add (f_creditCardExp, gbc1);
              gbc1.gridx = 2;
              gbc1.gridy = 0;
              f_lcreditCardVV = new CLabel(Msg.translate(Env.getCtx(), "CreditCardVV"));
              creditcard.add (f_lcreditCardVV, gbc1);
              gbc1.gridy = 1;
              f_creditCardVV = new CTextField(5);
              creditcard.add (f_creditCardVV, gbc1);
              gbc1.gridx = 3;
              gbc1.gridy = 0;
              gbc1.gridheight = 2;
              f_creditPayment = createButtonAction("Payment", null);
              f_creditPayment.setActionCommand("CreditCard");
              gbc1.anchor = GridBagConstraints.EAST;
              gbc1.weightx = 0.1;
              creditcard.add (f_creditPayment, gbc1);
         }     //     init
          *      Get Panel Position
         public GridBagConstraints getGridBagConstraints()
              GridBagConstraints gbc = super.getGridBagConstraints();
              gbc.gridx = 0;
              gbc.gridy = 3;
              return gbc;
         }     //     getGridBagConstraints
          *      Dispose - Free Resources
         public void dispose()
              super.dispose();
         }     //     dispose
          *      Action Listener
          *     @param e event
         public void actionPerformed (ActionEvent e)
              String action = e.getActionCommand();
              if (action == null || action.length() == 0)
                   return;
              log.info( "PosSubCheckout - actionPerformed: " + action);
              if (e.getSource() == f_cashGiven) {
                   f_cashGiven.setValue(f_cashGiven.getValue());
                   System.out.println("f_cashGiven"+f_cashGiven.getDisplay());
              //     Register
              //     Summary
              //     Print
              if (action.equals("Cash")) {
                   BigDecimal CashGiven, GrandTotal, CashReturn;
                   System.out.println("Cash given is "+f_cashGiven.getDisplay());
                   CashGiven = (BigDecimal)f_cashGiven.getValue();
                   GrandTotal = (BigDecimal)p_posPanel.f_curLine.getOrder().getGrandTotal();
                   CashReturn = CashGiven.subtract(GrandTotal);
                   f_cashReturn.setValue(CashReturn);
              //     Cash (Payment)
              //     CreditCard (Payment)
         }     //     actionPerformed
    }     //     PosSubCheckoutThis is the code of VNumber.java :
    * The contents of this file are subject to the   Compiere License  Version 1.1
    * ("License"); You may not use this file except in compliance with the License
    * You may obtain a copy of the License at http://www.compiere.org/license.html
    * Software distributed under the License is distributed on an  "AS IS"  basis,
    * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
    * the specific language governing rights and limitations under the License.
    * The Original Code is Compiere ERP & CRM Smart Business Solution. The Initial
    * Developer of the Original Code is Jorg Janke. Portions created by Jorg Janke
    * are Copyright (C) 1999-2005 Jorg Janke.
    * All parts are Copyright (C) 1999-2005 ComPiere, Inc.  All Rights Reserved.
    * Contributor(s): ______________________________________.
    package org.compiere.grid.ed;
    import java.awt.*;
    import java.awt.event.*;
    import java.beans.*;
    import java.math.*;
    import java.text.*;
    import java.util.logging.*;
    import javax.swing.*;
    import javax.swing.text.*;
    import org.compiere.apps.*;
    import org.compiere.model.*;
    import org.compiere.swing.*;
    import org.compiere.util.*;
    *     Number Control
    *      @author      Jorg Janke
    *      @version      $Id: VNumber.java,v 1.41 2005/09/03 01:57:16 jjanke Exp $
    public final class VNumber extends JComponent
         implements VEditor, ActionListener, KeyListener, FocusListener
         /**     Number of Columns (12)          */
         public final static int SIZE = 12;
          *  IDE Bean Constructor
         public VNumber()
              this("Number", false, false, true, DisplayType.Number, "Number");
         }   //  VNumber
          *     Create right aligned Number field.
          *     no popup, if WindowNo == 0 (for IDs)
          *  @param columnName column name
          *  @param mandatory mandatory
          *  @param isReadOnly read only
          *  @param isUpdateable updateable
          *  @param displayType display type
          *  @param title title
         public VNumber(String columnName, boolean mandatory, boolean isReadOnly, boolean isUpdateable,
              int displayType, String title)
              super();
              super.setName(columnName);
              m_columnName = columnName;
              m_title = title;
              setDisplayType(displayType);
              LookAndFeel.installBorder(this, "TextField.border");
              this.setLayout(new BorderLayout());
    //          this.setPreferredSize(m_text.getPreferredSize());          //     causes r/o to be the same length
    //          int height = m_text.getPreferredSize().height;
    //          setMinimumSize(new Dimension (30,height));
              //     ***     Text     ***
              m_text.setBorder(null);
              m_text.setHorizontalAlignment(JTextField.TRAILING);
              m_text.addKeyListener(this);
              m_text.addFocusListener(this);
              //     Background
              setMandatory(mandatory);
              this.add(m_text, BorderLayout.CENTER);
              //     ***     Button     ***
              m_button.setIcon(Env.getImageIcon("Calculator10.gif"));
              m_button.setMargin(new Insets(0, 0, 0, 0));
              m_button.setFocusable(false);
              m_button.addActionListener(this);
              this.add (m_button, BorderLayout.EAST);
              //     Prefereed Size
              this.setPreferredSize(this.getPreferredSize());          //     causes r/o to be the same length
              //  Size
              setColumns(SIZE, CComboBox.FIELD_HIGHT-4);     
              //     ReadWrite
              if (isReadOnly || !isUpdateable)
                   setReadWrite(false);
              else
                   setReadWrite(true);
         }     //     VNumber
          *  Dispose
         public void dispose()
              m_text = null;
              m_button = null;
              m_mField = null;
         }   //  dispose
          *     Set Document
          *  @param doc document
         protected void setDocument(Document doc)
              m_text.setDocument(doc);
         }     //     getDocument
         private String               m_columnName;
         protected int               m_displayType;     //  Currency / UoM via Context
         private DecimalFormat     m_format;
         private String               m_title;
         private boolean               m_setting;
         private String               m_oldText;
         private String               m_initialText;
         private boolean               m_rangeSet = false;
         private Double               m_minValue;
         private Double               m_maxValue;
         private boolean               m_modified = false;
         /**  The Field                  */
         private CTextField          m_text = new CTextField(SIZE);     //     Standard
         /** The Button                  */
         private CButton              m_button = new CButton();
         private MField          m_mField = null;
         /**     Logger               */
         private static CLogger log = CLogger.getCLogger(VNumber.class);
          *      Set no of Columns
          *     @param columns columns
         public void setColumns (int columns, int height)
              m_text.setPreferredSize(null);
              m_text.setColumns(columns);
              Dimension size = m_text.getPreferredSize();
              if (height > size.height)               //     default 16
                   size.height = height;
              if (CComboBox.FIELD_HIGHT-4 > size.height)
                   size.height = VLookup.FIELD_HIGHT-4;
              this.setPreferredSize(size);          //     causes r/o to be the same length
              this.setMinimumSize(new Dimension (columns*10, size.height));
              m_button.setPreferredSize(new Dimension(size.height, size.height));
         }     //     setColumns
          *     Set Range with min & max
          *  @param minValue min value
          *  @param maxValue max value
          *     @return true, if accepted
         public boolean setRange(Double minValue, Double maxValue)
              m_rangeSet = true;
              m_minValue = minValue;
              m_maxValue = maxValue;
              return m_rangeSet;
         }     //     setRange
          *     Set Range with min & max = parse US style number w/o Gouping
          *  @param minValue min value
          *  @param maxValue max value
          *  @return true if accepted
         public boolean setRange(String minValue, String maxValue)
              if (minValue == null || maxValue == null)
                   return false;
              try
                   m_minValue = Double.valueOf(minValue);
                   m_maxValue = Double.valueOf(maxValue);
              catch (NumberFormatException nfe)
                   return false;
              m_rangeSet = true;
              return m_rangeSet;
         }     //     setRange
          *  Set and check DisplayType
          *  @param displayType display type
         public void setDisplayType (int displayType)
              m_displayType = displayType;
              if (!DisplayType.isNumeric(displayType))
                   m_displayType = DisplayType.Number;
              m_format = DisplayType.getNumberFormat(displayType);
              m_text.setDocument (new MDocNumber(displayType, m_format, m_text, m_title));
         }   //  setDisplayType
          *     Set ReadWrite
          *  @param value value
         public void setReadWrite (boolean value)
              if (m_text.isReadWrite() != value)
                   m_text.setReadWrite(value);
              if (m_button.isReadWrite() != value)
                   m_button.setReadWrite(value);
              //     Don't show button if not ReadWrite
              if (m_button.isVisible() != value)
                   m_button.setVisible(value);
         }     //     setReadWrite
          *     IsReadWrite
          *  @return true if rw
         public boolean isReadWrite()
              return m_text.isReadWrite();
         }     //     isReadWrite
          *     Set Mandatory (and back bolor)
          *  @param mandatory mandatory
         public void setMandatory (boolean mandatory)
              m_text.setMandatory(mandatory);
         }     //     setMandatory
          *     Is it mandatory
          *  @return true if mandatory
         public boolean isMandatory()
              return m_text.isMandatory();
         }     //     isMandatory
          *     Set Background
          *  @param color color
         public void setBackground(Color color)
              m_text.setBackground(color);
         }     //     setBackground
          *     Set Background
          *  @param error error
         public void setBackground (boolean error)
              m_text.setBackground(error);
         }     //     setBackground
          *  Set Foreground
          *  @param fg foreground
         public void setForeground(Color fg)
              m_text.setForeground(fg);
         }   //  setForeground
          *     Set Editor to value
          *  @param value value
         public void setValue(Object value)
              log.finest("Value=" + value);
              if (value == null)
                   m_oldText = "";
              else
                   m_oldText = m_format.format(value);
              //     only set when not updated here
              if (m_setting)
                   return;
              m_text.setText (m_oldText);
              m_initialText = m_oldText;
              m_modified = false;
         }     //     setValue
          *  Property Change Listener
          *  @param evt event
         public void propertyChange (PropertyChangeEvent evt)
              if (evt.getPropertyName().equals(org.compiere.model.MField.PROPERTY))
                   setValue(evt.getNewValue());
         }   //  propertyChange
          *     Return Editor value
          *  @return value value (big decimal or integer)
         public Object getValue()
              if (m_text == null || m_text.getText() == null || m_text.getText().length() == 0)
                   return null;
              String value = m_text.getText();
              //     return 0 if text deleted
              if (value == null || value.length() == 0)
                   if (!m_modified)
                        return null;
                   if (m_displayType == DisplayType.Integer)
                        return new Integer(0);
                   return Env.ZERO;
              if (value.equals(".") || value.equals(",") || value.equals("-"))
                   value = "0";
              try
                   Number number = m_format.parse(value);
                   value = number.toString();      //     converts it to US w/o thousands
                   BigDecimal bd = new BigDecimal(value);
                   if (m_displayType == DisplayType.Integer)
                        return new Integer(bd.intValue());
                   if (bd.signum() == 0)
                        return bd;
                   return bd.setScale(m_format.getMaximumFractionDigits(), BigDecimal.ROUND_HALF_UP);
              catch (Exception e)
                   log.log(Level.SEVERE, "Value=" + value, e);
              if (m_displayType == DisplayType.Integer)
                   return new Integer(0);
              return Env.ZERO;
         }     //     getValue
          *  Return Display Value
          *  @return value
         public String getDisplay()
              return m_text.getText();
         }   //  getDisplay
          *      Get Title
          *     @return title
         public String getTitle()
              return m_title;
         }     //     getTitle
          *      Plus - add one.
          *      Also sets Value
          *     @return new value
         public Object plus()
              Object value = getValue();
              if (value == null)
                   if (m_displayType == DisplayType.Integer)
                        value = new Integer(0);
                   else
                        value = Env.ZERO;
              //     Add
              if (value instanceof BigDecimal)
                   value = ((BigDecimal)value).add(Env.ONE);
              else
                   value = new Integer(((Integer)value).intValue() + 1);
              setValue(value);
              return value;
         }     //     plus
          *      Minus - subtract one, but not below minimum.
          *      Also sets Value
          *     @param minimum minimum
          *     @return new value
         public Object minus (int minimum)
              Object value = getValue();
              if (value == null)
                   if (m_displayType == DisplayType.Integer)
                        value = new Integer(minimum);
                   else
                        value = new BigDecimal(minimum);
                   setValue(value);
                   return value;
              //     Subtract
              if (value instanceof BigDecimal)
                   BigDecimal bd = ((BigDecimal)value).subtract(Env.ONE);
                   BigDecimal min = new BigDecimal(minimum);
                   if (bd.compareTo(min) < 0)
                        value = min;
                   else
                        value = bd;
              else
                   int i = ((Integer)value).intValue();
                   i--;
                   if (i < minimum)
                        i = minimum;
                   value = new Integer(i);
              setValue(value);
              return value;
         }     //     minus
          *     Action Listener
          *  @param e event
         public void actionPerformed (ActionEvent e)
              log.config(e.getActionCommand());
              if (ValuePreference.NAME.equals(e.getActionCommand()))
                   if (MRole.getDefault().isShowPreference())
                        ValuePreference.start (m_mField, getValue());
                   return;
              if (e.getSource() == m_button)
                   m_button.setEnabled(false);
                   String str = startCalculator(this, m_text.getText(), m_format, m_displayType, m_title);
                   m_text.setText(str);
                   m_button.setEnabled(true);
                   try
                        fireVetoableChange (m_columnName, m_oldText, getValue());
                   catch (PropertyVetoException pve)     {}
                   m_text.requestFocus();
         }     //     actionPerformed
          *     Key Listener Interface
          *  @param e event
         public void keyTyped(KeyEvent e)    {}
         public void keyPressed(KeyEvent e)  {}
          *     Key Listener.
          *          - Escape           - Restore old Text
          *          - firstChange     - signal change
          *  @param e event
         public void keyReleased(KeyEvent e)
              log.finest("Key=" + e.getKeyCode() + " - " + e.getKeyChar()
                           + " -> " + m_text.getText());
              //  ESC
              if (e.getKeyCode() == KeyEvent.VK_ESCAPE)
                   m_text.setText(m_initialText);
              m_modified = true;
              m_setting = true;
              try
                   if (e.getKeyCode() == KeyEvent.VK_ENTER)     //     10
                        fireVetoableChange (m_columnName, m_oldText, getValue());
                        fireActionPerformed();
                   else     //     indicate change
                        fireVetoableChange (m_columnName, m_oldText, null);     
              catch (PropertyVetoException pve)     {}
              m_setting = false;
         }     //     keyReleased
          *     Focus Gained
          *  @param e event
         public void focusGained (FocusEvent e)
              if (m_text != null)
                   m_text.selectAll();
         }     //     focusGained
          *     Data Binding to MTable (via GridController.vetoableChange).
          *  @param e event
         public void focusLost (FocusEvent e)
         //          log.finest(e.toString());
              //     APanel - Escape
              if (e.getOppositeComponent() instanceof AGlassPane)
                   m_text.setText(m_initialText);
                   return;
              try
                   fireVetoableChange (m_columnName, m_initialText, getValue());
                   fireActionPerformed();
              catch (PropertyVetoException pve)     {}
         }   //  focusLost
          *     Invalid Entry - Start Calculator
          *  @param jc parent
          *  @param value value
          *  @param format format
          *  @param displayType display type
          *  @param title title
          *  @return value
         public static String startCalculator(Container jc, String value,
              DecimalFormat format, int displayType, String title)
              log.config("Value=" + value);
              BigDecimal startValue = new BigDecimal(0.0);
              try
                   if (value != null && value.length() > 0)
                        Number number = format.parse(value);
                        startValue = new BigDecimal (number.toString());
              catch (ParseException pe)
                   log.info("InvalidEntry - " + pe.getMessage());
              //     Find frame
              Frame frame = Env.getFrame(jc);
              //     Actual Call
              Calculator calc = new Calculator(frame, title,
                   displayType, format, startValue);
              AEnv.showCenterWindow(frame, calc);
              BigDecimal result = calc.getNumber();
              log.config( "Result=" + result);
              calc = null;
              if (result != null)
                   return format.format(result);
              else
                   return value;          //     original value
         }     //     startCalculator
          *  Set Field/WindowNo for ValuePreference
          *  @param mField field
         public void setField (MField mField)
              m_mField = mField;
              if (m_mField != null
                   && MRole.getDefault().isShowPreference())
                   ValuePreference.addMenu (this, popupMenu);
         }   //  setField
          *      Remove Action Listner
          *      @param l Action Listener
         public void removeActionListener(ActionListener l)
              listenerList.remove(ActionListener.class, l);
         }     //     removeActionListener
          *      Add Action Listner
          *      @param l Action Listener
         public void addActionListener(ActionListener l)
              listenerList.add(ActionListener.class, l);
         }     //     addActionListener
          *      Fire Action Event to listeners
         protected void fireActionPerformed()
              int modifiers = 0;
              AWTEvent currentEvent = EventQueue.getCurrentEvent();
              if (currentEvent instanceof InputEvent)
                   modifiers = ((InputEvent)currentEvent).getModifiers();
              else if (currentEvent instanceof ActionEvent)
                   modifiers = ((ActionEvent)currentEvent).getModifiers();
              ActionEvent ae = new ActionEvent (this, ActionEvent.ACTION_PERFORMED,
                   "VNumber", EventQueue.getMostRecentEventTime(), modifiers);
              // Guaranteed to return a non-null array
              Object[] listeners = listenerList.getListenerList();
              // Process the listeners last to first, notifying those that are interested in this event
              for (int i = listeners.length-2; i>=0; i-=2)
                   if (listeners==ActionListener.class)
                        ((ActionListener)listeners[i+1]).actionPerformed(ae);
         }     //     fireActionPerformed
    }     //     VNumber

    If getValue() returns null, you need to trace the execution of the code and figure out which sequence of code is leading to the return of null. This method looks complex - a lot of if statements. If you do not have a debugger, put System.out.println statements inside the method to figure out what's going on.

Maybe you are looking for