Um in einer Funktion, die über das SysOperation-Framework umgesetzt wurde, dem Benutzer einen Finanzdimensionswert einer bestimmten Dimension als Parameter anzubieten, kann man sich des folgenden Codes bedienen:
Diese Webseite verwendet Cookies, um Benutzern einen besseren Service anzubieten. Wenn Sie weiterhin auf der Seite bleiben, stimmen Sie der Verwendung von Cookies zu.
Mehr dazu
Um in einer Funktion, die über das SysOperation-Framework umgesetzt wurde, dem Benutzer einen Finanzdimensionswert einer bestimmten Dimension als Parameter anzubieten, kann man sich des folgenden Codes bedienen:
DataContract
[ DataContractAttribute ,SysOperationContractProcessingAttribute(classStr(SysOperationTemplateUIBuilder)) ] internal final class SysOperationTemplateDC implements SysOperationValidatable { private DimensionValue myDimensionValue; [ DataMember, SysOperationLabelAttribute(literalStr("@SYS105870")), SysOperationDisplayOrderAttribute('3') ] public DimensionValue parmMyDimensionValue(DimensionValue _dimensionValue = myDimensionValue) { myDimensionValue = _dimensionValue; return myDimensionValue; } }UI-Builder
internal final class SysOperationTemplateUIBuilder extends SysOperationAutomaticUIBuilder { private DialogField myDimensionValueField; public void postBuild() { super(); myDimensionValueField= this.bindInfo().getDialogField( this.dataContractObject(), methodStr(SysOperationTemplateDC, parmMyDimensionValue)); if (myDimensionValueField) { myDimensionValueField.lookupButton(FormLookupButton::Always); } } public void postRun() { super(); // register overrides for form control events myDimensionValueField.registerOverrideMethod( methodStr(FormStringControl, lookup), methodStr(SysOperationTemplateUIBuilder, lookupMyDimension), this); } public void lookupMyDimension(FormStringControl _dimensionValueControl) { Name dimensionAttributeName = "CostCenter"; if (_dimensionValueControl != null) { // Construct arguments for the custom lookup Args args = new Args(); args.name(formStr(DimensionLookup)); args.lookupValue(_dimensionValueControl.text()); args.caller(_dimensionValueControl); DimensionAttribute dimensionAttribute = DimensionAttribute::findByLocalizedName( dimensionAttributeName, false, SystemParameters::find().SystemLanguageId); args.lookupField(dimensionAttribute.ValueAttribute); args.record(dimensionAttribute); // Do the lookup FormRun lookupFormRun = classFactory.formRunClass(args); lookupFormRun.init(); _dimensionValueControl.performFormLookup(lookupFormRun); } } }