I'm using SAP BPC NW10 SP17 and I'm working on a logic script that will be executed using a data manager package. I'm finding if there isn't a record (null) in the scope it doesn't treat it as a zero and subsequently won't result in a new record.
Here's an example to try and create a new ending inventory. BINVR and SBOPR are two metrics for beginning inventory and NETSPURR are purchases.
//Beg Inv Retail + Purchases- Relief
*XDIM_MEMBERSET VERSION = V_WORKING
*XDIM_MEMBERSET METRICS = BINVR, SBOPR
*XDIM_MEMBERSET CHANNEL = DS_ENT
*XDIM_MEMBERSET SCENARIO = DEPT_CURR_FCST, CLASS_CURR_FCST
*XDIM_MEMBERSET TIMEWEEK = 1.0001
*XDIM_MEMBERSET FISCALYEAR = %FISCALYEAR_SET%
*XDIM_MEMBERSET DPC = %DPC_SET%
*XDIM_MAXMEMBERS DPC = 25
*WHEN DPC.INPUT_FILTER
*IS C,O
*WHEN METRICS
*IS BINVR
*REC(EXPRESSION=((%VALUE%)+([METRICS].[NETSPURR],[CHANNEL].[DS_STRTCOM])-([METRICS].[RELIEF],[CHANNEL].[DS_STRTCOM])),METRICS="EINVR")
*IS SBOPR
*REC(EXPRESSION=((%VALUE%)+([METRICS].[NETSPURR],[CHANNEL].[DS_STRTCOM])-([METRICS].[RELIEF],[CHANNEL].[DS_STRTCOM])),METRICS="SEOPR")
*ENDWHEN
*ENDWHEN
*COMMIT
When there is a record if %VALUE% a new record is generated.
BINVR 1000 | NETSPURR 1000| RELIEF 750| result EINVR 1250
When it's null, no recorded is generated
BINVR null | NETSPURR 1000| RELIEF 750 |expected result EINVR 250
BINVR null | NETSPURR 1000| RELIEF 750 |actual result EINVR null
Is there a way to have %VALUE% treated as 0 to generate a new record?
Thanks in advance!