smartfield annotation - valuehelp dropdown - does not show description - annotations

I have a problem where the smartfield (build in xml view using WebIDE) does not show the description of the key field instead just shows the key field in both the dropdown list columns.
example : 1(1) and the expectation is 1( local tax ) .
My service is built using tcode : SEGW and using WebIDE to develop the ui and annotation for the dropdown as a fixed list.
I see a solution smartfield annotation - valuehelp dropdown , but I am unable to add the sap:text to my service in SEGW.
Problem :
Issue Screenshot
Annotation in WebIDE:
</Annotations>
<Annotations Target="Metadata.ET_FV60Header/Pmethod">
<Annotation Term="Common.Text" String="Text1"/>
<Annotation Term="Common.ValueListWithFixedValues" Bool="true"/>
<Annotation Term="Common.ValueList">
<Record>
<PropertyValue Property="CollectionPath" String="VH_PmtMethSet"/>
<PropertyValue Property="Parameters">
<Collection>
<Record Type="Common.ValueListParameterInOut">
<PropertyValue Property="LocalDataProperty" PropertyPath="Pmethod"/>
<PropertyValue Property="ValueListProperty" String="Zlsch"/>
<Annotation Term="Common.Label" String="Text1"/>
</Record>
<Record Type="Common.ValueListParameterDisplayOnly">
<PropertyValue Property="ValueListProperty" String="Text1"/>
</Record>
</Collection>
</PropertyValue>
</Record>
</Annotation>
</Annotations>

I was able to solve the problem by adding the property "sap:text" to my entity definition in SAP using the following;
Open the corresponding ZCL*MPC_EXT class using tcode SE80 or SE24.
Redefine the method "DEFINE" under the above class. Additional properties can be added here in this method for services created via tcode : SEGW.
Code to be added under DEFINE method
** ET_Entity is my Value Help Entity data model name ( not entity set)
** FIELD_ID is the key property under the above entity to which we want to display the description in the dropdown list.
** FIELD_DESC is the property that contains the description.
Entity metadata :
Entity Data definition for Value Help( as Drop Down list )

You could do the same by adding a further annotation (targeting a specific property of the "helper" entity set) directly in WebIDE as follows:
<Annotations Target="Metadata.VH_PmtMeth/Zlsch">
<Annotation Term="Common.Text" Path="Text1"/>
</Annotations>

Related

How to to overwrite Properties of search fields of Smart Filter Bar using local annotation file

I’m trying to overwrite smart filter bar search fields properties such as “Label”, “Required” using local annotations file
Annotation file - annotation related to ArtcleNumber field
<Annotations xmlns="http://docs.oasis-open.org/odata/ns/edm"
Target="XXX/ArticleNumber">
<Annotation Term="Common.ValueList">
<Record>
<PropertyValue Property="Label" String="Article"/>
<PropertyValue Property="CollectionPath"
String="ArticleFilterSet"/>
<PropertyValue Property="SearchSupported"
Bool="true"/>
<PropertyValue Property="Parameters">
<Collection>
<Record Type="Common.ValueListParameterOut">
<PropertyValue Property="LocalDataProperty"
PropertyPath="ArticleNumber"/>
<PropertyValue Property="ValueListProperty"
String="Article"/>
</Record>
<Record Type="Common.ValueListParameterDisplayOnly">
<PropertyValue Property="ValueListProperty" String="Article"/>
</Record>
</Collection>
</PropertyValue>
</Record>
</Annotation>
</Annotations>
But Label is not getting overwrite from annotation file. Still It is taken from back end service metadata file
Please Help me on this. thanks

WiX Bootstrapper: How do I set burn variables from the command line?

Using WiX 3.7 and .NET 4.0.
How does one set burn variables when running a WiX bootstrapper EXE from the command line?
First of all, the burn variables that you wish to set need to be set as Overridable. To do this you must include the follow namespace in your WXS: xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" and if you're using Visual Studio like me you need to include WixBalExtension.dll in your project references. Next you need to add the following attribute to all of the burn variables that you want to set via the command line: bal:Overridable="yes".
Now you can set the variables via the command line in this fashion:
BootstrapperSetup.exe /i /passive MyBurnVariable1=1 MyBurnVariable2=2
Below is an example of a WXS file that satifies all of the conditions described above:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
<Bundle Name="MyProduct" Version="1.0.0" Manufacturer="MyManufacturer" UpgradeCode="PUT-UPGRADE-CODE-HERE">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense">
<bal:WixStandardBootstrapperApplication LicenseUrl="MyLicense.htm" ThemeFile="MyThemeFile.xml" LocalizationFile="MyLocFile.wxl" />
</BootstrapperApplicationRef>
<Variable Name="MyBurnVariable1" bal:Overridable="yes" Type="numeric" Value="0" />
<Variable Name="MyBurnVariable2" bal:Overridable="yes" Type="numeric" Value="0" />
<Chain>
<MsiPackage Id="MyFirstMsiPackage"
SourceFile="first.msi"
InstallCondition="MyBurnVariable1 = 1" />
<MsiPackage Id="MySecondMsiPackage"
SourceFile="second.msi">
<MsiProperty Name="MY_PROPERTY" Value="[MyBurnVariable2]" />
</MsiPackage>
</Chain>
</Bundle>
</Wix>

How to add bunch of external tools into Visual Studio IDE using Powershell command?

I'm able to add third party tools by manually using External Tools - which is available in the Visual Studio IDE. But my requirement is, need to add more tools by executing powershell script. Is this possible?
Yes, you could use StudioShell to work with Visual Studio's DTE object. See here and here for some examples.
You could also do this using an exported xml file, or just create on in your powershell script like what is done here
Basic jist of it:
param($installPath, $toolsPath, $package, $project)
# Determine fully qualified path to a temp file
$fileName = [System.IO.Path]::GetTempPath() + [System.Guid]::NewGuid().ToString() + ".vssettings";
# Create User Settings file:
'<UserSettings>
<ApplicationIdentity version="9.0"/>
<ToolsOptions/>
<Category name="Environment_Group" RegisteredName="Environment_Group">
<Category name="Environment_ExternalTools" Category="{E8FAE9E8-FBA2-4474-B134-AB0FFCFB291D}" Package="{DA9FB551-C724-11d0-AE1F-00A0C90FFFC3}" RegisteredName="Environment_ExternalTools" PackageName="Visual Studio Environment Package">
<PropertyValue name="Launch Powershell.Command">powershell.exe</PropertyValue>
<PropertyValue name="Launch Powershell.Arguments">"& ''$(ProjectDir)\Myscript.ps1''"</PropertyValue>
<PropertyValue name="Launch Powershell.InitialDirectory">"$(ProjectDir)"</PropertyValue>
<PropertyValue name="Launch Powershell.SourceKeyName"/>
<PropertyValue name="Launch Powershell.UseOutputWindow">true</PropertyValue>
<PropertyValue name="Launch Powershell.PromptForArguments">false</PropertyValue>
<PropertyValue name="Launch Powershell.CloseOnExit">true</PropertyValue>
<PropertyValue name="Launch Powershell.IsGUIapp">false</PropertyValue>
<PropertyValue name="Launch Powershell.SaveAllDocs">true</PropertyValue>
<PropertyValue name="Launch Powershell.UseTaskList">false</PropertyValue>
<PropertyValue name="Launch Powershell.Unicode">false</PropertyValue>
<PropertyValue name="Launch Powershell.Package">{00000000-0000-0000-0000-000000000000}</PropertyValue>
<PropertyValue name="Launch Powershell.NameID">0</PropertyValue>
<PropertyValue name="ToolNames">Launch Powershell</PropertyValue>
</Category>
</Category>
</UserSettings>' >> $fileName
# Perform the import of the custom tool
$project.DTE.ExecuteCommand("Tools.ImportandExportSettings", "/import:""$fileName""");
"--Remove file"
Remove-Item -path $fileName
NOTE: In order to utilize the Visual Studio DTE, you need to use a third party extension such as PSCX (PowerShell Community Extension)

Using text input parameter on cruisecontrol dashboard

In my Cruisecontrol task, I wish to xcopy code from a folder name, specified by the user on the dashboard. Is there a way to show a text input box on my CC dashboard along my project, which can be used in the ccnet.config file during xcopy? Or is this too wishful?
It turns out that CruiseControl.net has now added support for parameters.
A configuration similar to below needs to be added to the node of your ccnet.config:
<parameters>
<selectParameter>
<name>TargetSite</name>
<allowedValues>
<value name="DEV">DEV</value>
<value name="AT">AT</value>
</allowedValues>
</selectParameter>
<selectParameter>
<name>Operation</name>
<allowedValues>
<value name="start">start</value>
<value name="stop">stop</value>
</allowedValues>
</selectParameter>
</parameters>
Doing so would show up these as input parameters when you do a force start!
These parameters, can then be used as variables in the such as $[TargetSite]

Use version qualifier replacement in buckminster

In my cspex I have action that creates product
<public name="create.product" actor="ant">
<actorProperties>
<property key="buildFile" value="build/product.ant" />
<property key="targets" value="create.product" />
</actorProperties>
<properties>
<property key="profile" value="iitProfile" />
<property key="iu" value="iit.product" />
</properties>
<prerequisites alias="repository">
<attribute name="site.p2" />
</prerequisites>
<products alias="destination" base="${buckminster.output}">
<path path="product.${target.ws}.${target.os}.${target.arch}/" />
</products>
</public>
When the final product is being build, folder created looks like this product.${target.ws}.${target.os}.${target.arch}. How can I append qualifier replacement that I set via qualifier.replacement property? I thought I could do something like product.${target.ws}.${target.os}.${target.arch}_{qualifier.replacement} where qualifier.replacement is the property that was set during execution of buckminster.versionQualifier.
I know when I execute action site.p2.zip qualifier replacement is being appended to the name of the file, so how can I use this in my other actions? Do I have execute buckminster.versionQualifier task myself?
thanks!
Opened enhancement about this on eclipse bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=321753