If you are ever embarrassed to have to create a cost center by code, this job may serve as inspiration:
static void createCostCenter(Args _args) { str 30 _costCenter = "0815"; // Cost center id to create OMOperatingUnit omOperatingUnit; NumberSeqFormHandler numberSeqFormHandler; NumberSeq numberSeq; if (_costCenter) { if (!OMOperatingUnit::findName( _costCenter, OMOperatingUnitType::OMCostCenter)) { ttsbegin; numberSeq = NumberSeq::newGetNumFromId( OMOperatingUnit::getNumberSequenceReference().NumberSequenceId); omOperatingUnit.clear(); omOperatingUnit.initValue(); omOperatingUnit.omOperatingUnitNumber = numberSeq.num(); omOperatingUnit.Name = _costCenter; // Id used as name omOperatingUnit.NameAlias = _costCenter; omOperatingUnit.omOperatingUnitType = OMOperatingUnitType::OMCostCenter; omOperatingUnit.LanguageId = CompanyInfo::languageId(); if (omOperatingUnit.validateWrite()) { omOperatingUnit.insert(); } ttscommit; } } }
If you are ever embarrassed to have to create a cost center by code, this job may serve as inspiration: