When using SAS® High-Performance Markdown Optimization to edit Price Ending rules in the Pricing Rules view, you might encounter an error when saving a rule where all penny endings except zero are desired (i.e. .01 - .99 are desired, .00 is not). A Pricing Rules dialog box is displayed containing the following error message:
An error occurred saving the price rules. Some rules have been saved. null
This issue might also manifest itself during plan creation when attempting to override price endings for the plan in the Optimization price ending page of the Create Active Plan dialog. In this case, a SAS High-Performance Markdown Optimization error dialog box might be displayed containing the following message:
An error occurred in SAS High-Performance Optimization saving the price rules. Some rules have been saved. Restart or exit the application.
In this case, the overridden rules are not saved and you might notice unexpected price endings following optimization. The details of the exception associated with this error might be similar to the following:
Exception caught at 06/14/2011 12:35 PM java.lang.StringIndexOutOfBoundsException: String index out of range: -1 at java.lang.AbstractStringBuilder.delete(Unknown Source) at java.lang.StringBuffer.delete(Unknown Source) at com.sas.solutions.di.server.pricerules.api.PriceGrid.trimSummaryListBuffer(PriceGrid.java:274) at com.sas.solutions.di.server.pricerules.api.PriceGrid.generatePriceEndingSummaryList(PriceGrid.java:321) at com.sas.solutions.di.server.pricerules.api.PriceGrid.getPriceEndingSummaryList(PriceGrid.java:170) at com.sas.solutions.di.studio.pricerules.common.model.PriceGridRangeData.getPriceEndingSummaryList(PriceGridRangeData.java:33) at com.sas.solutions.di.studio.mdo.dialogs.plans.PlanDialogModel.getUpdatedPlan(PlanDialogModel.java:3079) at com.sas.solutions.di.studio.mdo.dialogs.plans.PlanDialogConfiguration.performFinish(PlanDialogConfiguration.java:307) at com.sas.solutions.di.commons.ui.dlg.wizard.PagingDialog.okPressed(PagingDialog.java:584) at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:472) at com.sas.solutions.di.commons.ui.dlg.wizard.PagingDialog.buttonPressed(PagingDialog.java:757) at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422) at org.eclipse.jface.window.Window.runEventLoop(Window.java:825) at org.eclipse.jface.window.Window.open(Window.java:801) at com.sas.solutions.di.commons.ui.dlg.wizard.PagingDialog.open(PagingDialog.java:663) at com.sas.solutions.di.studio.mdo.jobs.LaunchPlanDialogJob$1.run(LaunchPlanDialogJob.java:266) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:133) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3800) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3425) at org.eclipse.jface.window.Window.runEventLoop(Window.java:825) at org.eclipse.jface.window.Window.open(Window.java:801) at com.sas.solutions.di.commons.jobs.JobProgressMonitorDialog$2.run(JobProgressMonitorDialog.java:227) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:133) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3800) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3425) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at com.sas.solutions.di.studio.runtime.internal.StudioApplication.start(StudioApplication.java:198) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:382) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504) at org.eclipse.equinox.launcher.Main.run(Main.java:1236) at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
Click the Hot Fix tab in this note to access the hot fix for this issue.
Product Family | Product | System | Product Release | SAS Release | ||
Reported | Fixed* | Reported | Fixed* | |||
SAS System | SAS High-Performance Markdown Optimization | Linux for x64 | 4.3 | 4.3_M2 | 9.2 TS2M3 | 9.2 TS2M3 |
A fix for this issue for SAS High-Performance Markdown Optimization 4.3_M1 is available at:
http://ftp.sas.com/techsup/download/hotfix/HF2/E42.html#42971Type: | Problem Note |
Priority: | high |
Date Modified: | 2011-10-04 10:42:01 |
Date Created: | 2011-04-15 09:10:53 |