Logon to system DEV failed (System DEV does not support Eclipse based ABAP Development Tools) - abap

I get that error:
Logon to system DEV failed (System DEV does not support Eclipse based ABAP Development Tools)
I have the credentials to the SAP system and I have already setup ABAP in Eclipse. But whenever I try to logon I get that error.

There are also a couple steps which need to be done in the backend system in order to allow connections from Eclipse. There is a guide Configuring the ABAP Back-end for ABAP Development Tools on help.sap.com which outlines all the steps.
But the tl;dr is:
The SAP NetWeaver version must support ADT. The lowest version is 7.3 EHP 1, but some higher versions might also require a certain Service Pack. See the document linked above for the complete list.
The developers using Eclipse need the roles SAP_BC_DWB_ABAPDEVELOPER and SAP_BC_DWB_WBDISPLAY (or roles with equivalent permissions). You can assign roles with transaction SU01.
The following ICF services need to be enabled in transaction SICF:
default_host > sap > public > bc > abap > docu
default_host > sap > public > bc > abap > toolsdocu
default_host > sap > bc > abap > docu
default_host > sap > bc > abap > toolsdocu
default_host > sap > bc > adt
default_host > sap > bc > webdynpro > sap
The following system profile parameters need to be set in transaction RZ11:
login/create_sso2_ticket = 3
login/accept_sso2_ticket = 1

Related

Sonar Buildbreaker Skip Failing the Build

I am using Jenkins job to build .Net project. I have added sonar analysis.
D:\Temp\tools\Scanner_MSBuild-2.2\MSBuild.SonarQube.Runner.exe begin /k:myproj /n:myproj-full /v:1.0.0 /s:D:\Temp\SonarQube.Analysis.xml
I have updated "SonarQube.Analysis.xml" with required sonar url and login credentials. But it fails with following error:
Pre-processing started.
Preparing working directories...
SonarQube Scanner for MSBuild 2.2
09:07:00.437 Updating build integration targets...
09:07:00.451 Fetching analysis configuration settings...
09:07:01.239 Could not find a file on the SonarQube server. URL: https:///api/qualityprofiles/search?defaults=true
09:07:01.239 Pre-processing failed. Exit code: 1
I tried following:
D:\Temp\tools\Scanner_MSBuild-2.2\MSBuild.SonarQube.Runner.exe begin /k:myproj /n:myproj-full /v:1.0.0 /s:D:\Temp\SonarQube.Analysis.xml -Dsonar.buildbreaker.skip=true
But it threw error that -Dsonar.buildbreaker.skip=true is not recognised command. By default buildbreaker is set to false and I am not able to make it true via commandline. SonarQube version I am using is below 5.2.
How do I fix this?
Thank you
If you're using the 'Begin Analysis' and 'End Analysis' build steps, then configuring your server URL in SonarQube.Analysis.xml won't get you far (as you've learned).
Instead, you need to configure the location of your server at the global level as described in the docs. Briefly:
Manage Jenkins > Configure System > SonarQube configuration
Add SonarQube
fill in your server info.
Then double check that that server instance is selected in your build steps (if you have only one server configured, build steps will default to it). And analyze.

SonarQube integration in TeamCity for .NET C# projecs

I'm facig some issues with SonarQube integration in TeamCity with MSBuild.
Basically our nightly build using SonarQube is split into 5 steps:
1 - SonarQube Initialization
MSBuild.SonarQube.Runner.exe begin
/k:"tsmm-%sonar.project%"
/n:"%sonar.project%"
/v:"%sonar.project.version%"
/d:sonar.host.url="%sonar.host.url%"
/d:sonar.cs.dotcover.reportsPaths="coverage-report.html"
/d:sonar.cs.nunit.reportsPaths="nunit-results.xml"
/d:sonar.verbose=true
/d:sonar.jdbc.username="%sonar.jdbc.username%"
/d:sonar.jdbc.password="%sonar.jdbc.password%"
/d:sonar.jdbc.url="%sonar.jdbc.url%"
2 - Muggets restauration
3 - MSBuild
4 - Tests via NUnit
5 - Result publication to SonarQube
MSBuild.SonarQube.Runner.exe end
/d:sonar.scm.disabled=true
/d:sonar.jdbc.username="%sonar.jdbc.username%"
/d:sonar.jdbc.password="%sonar.jdbc.password%"
When the TeamCity is running the build definition above, everything is going fine until it reach the step no. 5 as stated in the build log:
Step 5/5: Publish to SonarQube (Command Line)
ERROR: Error during Sonar runner execution
org.sonar.runner.impl.RunnerException: Unable to execute Sonar
at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91)
...
Caused by: org.sonar.api.utils.SonarException: SCM URL should be provided. Please review "sonar.scm.url" parameter (or the <scm> section of pom.xml if you are using Maven).
I went through different resources including the official one there: http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+MSBuild
But could not manage to find out any proper explanation, I also tried to disable the scm support as mentioned on that page: http://docs.sonarqube.org/display/SONAR/SCM+support
by adding /d:sonar.scm.disabled=true to the step 1 but it does not change anything.
The sonar.jdbc.* properties are only for older versions of SonarQube and if you are on a newer than 5.4, you should not set them.
To authenticate to SonarQube you need to use the sonar.login and sonar.password properties, as described in the article below:
http://docs.sonarqube.org/display/SCAN/From+the+Command+Line#FromtheCommandLine-Analyzeaproject
In all cases, if you have older SonarQube, I would strongly recommend upgrading to the LTS (long term support) version:
https://www.sonarqube.org/downloads/

Eclipse Plug-in Product DB Connection

We have an in-house developed Eclipse Plug-in product which is deployed as an exe. It has been running for many years now and the original developer long gone. We do need to migrate the product onto a new server from a desktop. There is no java know-how in the organization.
While I did read about export the plug-in as an executable, I cannot for the life of me figure out where the DB Connection string is defined.
I see references to it as below:
addField(new StringFieldEditor(PreferenceConstants.P_CONNECTION_SERVER_NAME, "Server Name:", getFieldEditorParent()));
addField(new StringFieldEditor(PreferenceConstants.P_CONNECTION_SERVER_PORT, "Server Port:", getFieldEditorParent()));
String[][] authModes = new String[][]{{"Windows Authentication","0"},{"SQL Server Authentication","1"}};
addField(new RadioGroupFieldEditor(PreferenceConstants.P_CONNECTION_AUTH_MODE,
"Server Authentication Mode",
2,
authModes, getFieldEditorParent(), true));
However, I cannot dig to th elocation where the server name and port are defined. Looked in "IAApplication.product", build.properties,config.ini,plugin.xml,plugin_customization.ini files, but couldn't locate it.
Any ideas on where this could be defined? In Eclipse preferences or elsewhere?
Any help in this regard will greatly be appreciated.
This appears to be using standard Eclipse preferences.
The preferences are stored in the workspace in the .metadata/.plugins/org.eclipse.core.runtime/.settings directory with a file name of plugin-id.prefs. This is a Java properties file.

How do I upgrade a Chef SQL Server Cookbook to use Enterprise Edition?

I've got a Chef cookbook from GitHub. It installs SQL Server 2012 Standard Edition. Our DBA has upgraded our database code to utilize features that can only be found on SQL Server 2012 Enterprise Edition. Since this cookbook is used to generate our test environments, we must now alter this cookbook to deploy SQL Server 2012 Enterprise.
Looking at the helper.rb file in the cookbook,
require 'chef/mixin/shell_out'
module SqlServer
class Helper
extend Chef::Mixin::ShellOut
def self.firewall_rule_enabled?(rule_name=nil)
cmd = shell_out("netsh advfirewall firewall show rule \"#{rule_name}\"")
cmd.stderr.empty? && (cmd.stdout =~ /Enabled:\s*Yes/i)
end
def self.sql_server_url(version, x86_64)
if x86_64
case version
when '2008R2'
'http://download.microsoft.com/download/D/1/8/D1869DEC-2638-4854-81B7-0F37455F35EA/SQLEXPR_x64_ENU.exe'
when '2012'
'http://download.microsoft.com/download/8/D/D/8DD7BDBA-CEF7-4D8E-8C16-D9F69527F909/ENU/x64/SQLEXPR_x64_ENU.exe'
end
else
case version
when '2008R2'
'http://download.microsoft.com/download/D/1/8/D1869DEC-2638-4854-81B7-0F37455F35EA/SQLEXPR32_x86_ENU.exe'
when '2012'
'http://download.microsoft.com/download/8/D/D/8DD7BDBA-CEF7-4D8E-8C16-D9F69527F909/ENU/x86/SQLEXPR_x86_ENU.exe'
end
end
end
it seems that it gets the install media from
http://download.microsoft.com/download/8/D/D/8DD7BDBA-CEF7-4D8E-8C16-D9F69527F909/ENU/x64/SQLEXPR_x64_ENU.exe
When I look on MSDN (which we have access to) I don't see that the Enterprise Edition is available to download as a .EXE, only as an .ISO.
How can I alter this cookbook to deploy from an ISO instead of a EXE, assuming that I have full access to the ISO?
Re-write second half of the server.rb
Download the ISO from repo
remote_file 'C:\LocalPath' do
source
end
Mount the ISO (you can also use Chef built-in mount resource)
powershell_script 'mount_it' do
code <<-EOH
Mount-DiskImage -ImagePath "C:\PATH\TO\ISO\FILE"
EOH
end
Use MixLib::ShellOut and get the Drive name (if you don't have it hardcoded mount with a drive letter), replace the part ##### with the volume name.
output = Mixlib::ShellOut.new('(gwmi -Class Win32_LogicalDisk | Where-Object {$_.VolumeName -eq "#####"}).DeviceID')
drive_name = output.run_command.stdout
Once you know the drive the ISO mounts on, then you will be able to find the local path to the installation .EXE file.
Install using windows_package or powershell_script block
Quoting the attributes file from your link
# Set these to specify the URL, checksum, and package name. Otherwise, the cookbook will
# use default values based on the value of node['sql_server']['version'] and the
# server architecture (x86 or x64).
default['sql_server']['server']['url'] = nil
default['sql_server']['server']['checksum'] = nil
default['sql_server']['server']['package_name'] = nil
So you just have to set those values to a local package (on a internal http server for example) in a wrapper cookbook for this cookbook to install the enterprise version.

RTC Server Integration BF Server

I am trying to integrate RTC server with BF Server for continuous integration of projects using ant scripts.
But somehow I am not able to connect them together.
I am refering this tutorial as a reference
https://jazz.net/library/article/607
Some information about my config :
RTC Server running on : 8.X.X.1
BF Server running on :8.X.X.2
BF agent running on : 8.X.X.3
Can anybody point me any tutorial or link for reference.
In reference to the above mentioned tutorial link , I have some questions.
Qns 1: In the tutorial I am not able to find out where ANT should be installed ?
Qns 2: Is RTC and JAZZ Source control are same thing ?
Qns 3: From the tutorial it is saying I have to use buildtoolkit , and its location is /jazz/buildsystem/buildtoolkit. But somehow I am not able to figure out rtc_install_Path. Can anybody help me in finding out the default location of RTC Install Path.
Qns 4 : What and How to configure RTC so that it can trigger the build in BF server as soon as some new code is checked in ?
Any help is appreciated.
Update :
I found answers for Qns 1 and Qns 3 , but for 2 and 4 , I am still searching
Qns 2: Is RTC and JAZZ Source control are same thing ?
Ans 2: Jazz Source Control (Jazz SCM) is part of RTC. RTC has also additional capabilities like working on workitems, plans etc.
For 4 I would reccommend you asking on jazz.net forum.
Ans 1 : Ant should be installed on the BF agent.
Ans 3 : When you install the buildtoolkit on the BF agent it will create a directory structure something like this /jazz/buildsystem/buildtoolkit under /opt/IBM.
Ans 4 :From the eclipse RTC client I have to schedule the build on a time basis(e.g every 60 mins) and after this it will check in every 60 mins for the new code checked in and trigger the build if there is any new code checked in last 60 mins.
Build Forge is not that smart that it can initiate the build as soon as somecode is checked in ,contrary it waits on the scheduled time to initiate the build.