Hi Masa,
On top of work status protection you can use additional methods to prevent rejected records (that may alarm users that something is going wrong):
1. For input form you can use combination of dynamic EPMReadOnlyData, cell locking and validation rule applied using formatting sheet.
2. For DM package it's easy to create script to correctly process the single CATEGORY member (scope time periods based on start month property of CATEGORY). To be able to run script for multiple CATEGORY members you can use the following trick:
Implement RUNLOGIC_PH badi, that allows parallel script run (How To Implement the RUNLOGIC_PH Keyword in SAP... | SCN).
Main script will contain:
START_BAdI RUNLOGIC_PH
QUERY = OFF
WRITE = ON
LOGIC = LOGIC_FOR_SINGLE_CATEGORY.LGF
APPSET = SOME_ENVIRONMENT
APP = SOME_MODEL
DIMENSION CATEGORY=%CATEGORY_SET%
CHANGED=CATEGORY
DEBUG = OFF
END_BAdI
"CHANGED=CATEGORY" - means that LOGIC_FOR_SINGLE_CATEGORY.LGF will be executed for each CATEGORY member individually.
Vadim