Using Google Chrome?

Download my
free Chrome Extension, Power Notes Searcher, to make searching for and evaluating SAP notes, much easier.

Thursday, March 26, 2015

Call SAP Logon Pad with Custom saplogon.ini INI File

Scenario: You have your own custom saplogon.ini which is not locked down by the administrator.
You would like to launch the SAP LogonPad using this custom ini file.

Simply create a shortcut pointing to the LogonPad with the addition of the "/INI_FILE=" parameter:
"C:\Program Files\SAP\FrontEnd\SAPgui\saplogon.exe" /INI_FILE=C:\saplogon.ini

Tuesday, March 24, 2015

Checking Browsers for POODLE

If you're working in the Web industry and would like to know if the browser you're working with is susceptible to POODLE, then you can use the following link:

Tuesday, March 17, 2015

BW Table Types & Descriptions

A useful list of table types in a SAP BW system, including the proposed table name definitions and the SAP table where the list of those types of tables are stored.

SID table /BI0/S<characteristic>: RSDMSIDTAB
Text table /BI0/T<characteristic>: RSDMTXTTAB
Master data table (time-independent) /BI0/P<characteristic>: RSDMCHNTAB
Master data table (time-dependent) /BI0/Q<characteristic>: RSDMCHTTAB
View master data tables /BI0/M<characteristic>: RSDMCHKTAB
Attribute SID table (time-independent) /BI0/X<characteristic>: RSDMASITAB
Attribute SID table (time-dependent) /BI0/Y<characteristic>: RSDMASTTAB
SID view: /BI0/R<characteristic>: RSDMSIDVIEW
Hierarchy table /BI0/H<characteristic>: RSDMHIETAB
Hierarchy SID table /BI0/K<characteristic>: RSDMHSITAB
Hierarchy structure SID table: /BI0/I<characteristic>: RSDMINCTAB
Hierarchy interval table: /BI0/J<characteristic>: RSDMHINTAB
Hierarchy SID view /BI0/Z<characteristic>: RSDMHSIVIEW

Saturday, March 14, 2015

SAP PO 7.31 SPS14 JCO NoSuchMethodError

Scenario: We had an outbound interface from SAP PO which was an iDoc being sent to a SAP ABAP stack via HTTP, in the message monitoring log we saw:

javax.ejb.EJBException: nested exception is:

The message is retried and eventually set to NDLG.

The PO system was a fresh install of PO 7.31, then patched to base SPS13, then we had applied the base 7.31 SPS14 along with the available patches at the time.
During the error, we had the following component levels:

Name    Vendor Location               Version
AJAX-RUNTIME                     SAP AG 1000.
BASETABLES               SAP AG 1000.
BI-BASE-B                 SAP AG 1000.
BI-BASE-E                 SAP AG 1000.
BI-BASE-S                 SAP AG 1000.
BI-WDALV                SAP AG 1000.
BI-WDEXT                 SAP AG 1000.
BI_UDI               SAP AG 1000.
BPEM-ACC               SAP AG 1000.
BPEM-BASE               SAP AG 1000.
BPEM-BASIS               SAP AG 1000.
BPEM-BUILDT               SAP AG 1000.
BPEM-COLLAB               SAP AG 1000.
BPEM-CONTENT                    SAP AG 1000.
BPEM-CORE               SAP AG 1000.
BPEM-CUUI               SAP AG 1000.
BPEM-FACADE               SAP AG 1000.
BPEM-HIM               SAP AG 1000.
BPEM-MM               SAP AG 1000.
BPEM-MON               SAP AG 1000.
BPEM-PP                  SAP AG 1000.
BPEM-WDUI               SAP AG 1000.
BRMS-BASE               SAP AG 1000.
BRMS-BUILDT               SAP AG 1000.
BRMS-CORE               SAP AG 1000.
BRMS-FACADE               SAP AG 1000.
BRMS-MON               SAP AG 1000.
BRMS-WDUI               SAP AG 1000.
CAF               SAP AG 1000.
CAF-MF                     SAP AG 1000.
CAF-UI               SAP AG 1000.
CFG_ZA                     SAP AG 1000.
CFG_ZA_CE               SAP AG 1000.
COLLAB-ADP               SAP AG 1000.
COMP_BUILDT               SAP AG 1000.
CORE-TOOLS               SAP AG 1000.
CU-BASE-JAVA               SAP AG 1000.
CU-BASE-WD               SAP AG 1000.
CU-BASE-WD-EXT                 SAP AG 1000.
CU-WD4VC-ADPT                 SAP AG 1000.
DATA-MAPPING                   SAP AG 1000.
DI_CLIENTS               SAP AG 1000.
ECM-ADMIN               SAP AG 1000.
ECM-APPS               SAP AG 1000.
ECM-CORE               SAP AG 1000.
ECM-JEE-COMP                     SAP AG 1000.
ECM-STORE               SAP AG 1000.
ENGFACADE               SAP AG 1000.
ENGINEAPI               SAP AG 1000.
EP-ADMIN               SAP AG 1000.
EP-BASIS                   SAP AG 1000.
EP-BASIS-API               SAP AG 1000.
EP-CONNECTIVITY                SAP AG 1000.
EP-MODELING               SAP AG 1000.
EP-RUNTIME               SAP AG 1000.
EP_BUILDT               SAP AG 1000.
ESCONF_BUILDT                   SAP AG 1000.
ESI-UI               SAP AG 1000.
ESMP_BUILDT               SAP AG 1000.
ESP_FRAMEWORK               SAP AG 1000.
ESREG-BASIC               SAP AG 1000.
ESREG-SERVICES                   SAP AG 1000.
FP-INFRA                  SAP AG 1000.
FRAMEWORK               SAP AG 1000.
FRAMEWORK-EXT                SAP AG 1000.
GWJPO               SAP AG 1000.
INTG_VIS                 SAP AG 1000.
INTG_VIS_DCJ               SAP AG 1000.
J2EE-APPS                SAP AG 1000.
J2EE-FRMW               SAP AG 1000.
JSPM               SAP AG 1000.
KM-KW_JIKS               SAP AG 1000.
LM-CORE                  SAP AG 1000.
LM-CTS               SAP AG 1000.
LM-CTS-UI               SAP AG 1000.
LM-MODEL-BASE                  SAP AG 1000.
LM-MODEL-NW                     SAP AG 1000.
LM-SLD               SAP AG 1000.
LM-TOOLS                SAP AG 1000.
LMCFG               SAP AG 1000.
LMCTC               SAP AG 1000.
LMNWABASICAPPS               SAP AG 1000.
LMNWABASICCOMP               SAP AG 1000.
LMNWABASICMBEAN               SAP AG 1000.
LMNWACDP               SAP AG 1000.
LMNWATOOLS               SAP AG 1000.
LMNWAUIFRMRK                 SAP AG 1000.
MESSAGING               SAP AG 1000.
MMR_SERVER               SAP AG 1000.
MOIN_BUILDT               SAP AG 1000.
NWTEC               SAP AG 1000.
ODATA-CXF-EXT                    SAP AG 1000.
PI-SCP-BUILDT               SAP AG 1000.
PI-SCP-EXT               SAP AG 1000.
PIB2BAS2                  SAP AG 1000.
PIB2BOFTP               SAP AG 1000.
PIB2BPGP                 SAP AG 1000.
PIB2BSFTP                SAP AG 1000.
PIB2BTOOLKIT               SAP AG 1000.
PIB2BX400                SAP AG 1000.
SAP-XI3RDPARTY                  SAP AG 1000.
SAP_BUILDT               SAP AG 1000.
SAP_XIADMIN               SAP AG 1000.
SAP_XIAF                 SAP AG 1000.
SAP_XIESR               SAP AG 1000.
SAP_XIGUILIB               SAP AG 1000.
SAP_XITOOL               SAP AG 1000.
SEA-CORE                 SAP AG 1000.
SEA-FACADE               SAP AG 1000.
SEA-UI               SAP AG 1000.
SECURITY-EXT               SAP AG 1000.
SERVERCORE               SAP AG 1000.
SERVICE-COMP               SAP AG 1000.
SOAMON                 SAP AG 1000.
SOAMONBASIC                     SAP AG 1000.
SR-UI               SAP AG 1000.
SUPPORTTOOLS                    SAP AG 1000.
SWLIFECYCL               SAP AG 1000.
THL-CORE                 SAP AG 1000.
TM-WLUI                  SAP AG 1000.
UDDI               SAP AG 1000.
UISAPUI5_JAVA                    SAP AG 1000.
UKMS_JAVA               SAP AG 1000.
UMEADMIN               SAP AG 1000.
UWLJWF                   SAP AG 1000.
VCBASE                     SAP AG 1000.
VCCORERT               SAP AG 1000.
VCFRAMEWORK                    SAP AG 1000.
VCFREESTYLEKIT                    SAP AG 1000.
VCKITBI                     SAP AG 1000.
VTP_BUILDT               SAP AG 1000.
WD-ADOBE               SAP AG 1000.
WD-APPS                 SAP AG 1000.
WD-FLEX                   SAP AG 1000.
WD-RUNTIME               SAP AG 1000.
WD-RUNTIME-EXT               SAP AG 1000.
WDEXTENSIONS                    SAP AG 1000.
WSRM               SAP AG 1000.
XI_CNT_SAP_BASIS               SAP AG 1000.

We then downloaded the following patches and applied with SUM:

Name    Version                Current                PatchedLevel
AJAX-RUNTIME                1000. 1              2
CORE-TOOLS      1000. 1              2
ENGINEAPI         1000. 1              2
EP-BASIS              1000. 2              4
FRAMEWORK    1000. 0              1
FRAMEWORK-EXT           1000. 1              2
GWJPO 1000. 0              1
J2EE-APPS           1000. 1              4
J2EE-FRMW        1000. 1              3
LM-CORE             1000. 2              3
LM-CTS 1000. 0              1
MESSAGING      1000.
ODATA-CXF-EXT               1000. 0              1
SAP_XIAF            1000.
SAP_XIESR          1000.
SAP_XIGUILIB   1000. 1              2
SAP_XITOOL      1000. 1              2
SERVERCORE      1000. 1              5
SOAMON            1000. 1              3
SUPPORTTOOLS               1000. 0              1
WD-RUNTIME   1000. 2              4

This fixed the issue.

Thursday, January 29, 2015

Testing SAP BI Java Query Outside iView

To test a SAP BI Java query outside of an Enterprise Portal iView call, you can use the URL:

http://[EP Server]/irj/servlet/prt/portal/prtroot/pcd!3aportal_content!!2fplatform_add_ons!!2fiViews!

You should substitute "[EP Server]" with your SAP Enterprise Portal server hostname, and change "TEMP1" to be the name of the BEx query you wish to run.  You should take the same name as that used in the iView.

Thursday, January 22, 2015

Starting and Stopping Individual SAP AS Java Server Processes

Should you need to restart either manually or automatically (via script) a specific AS Java server node, it's possible to use the sapcontrol tool to provide precise control.
The method detailed below is based on the documentation provided here:

Performs a given control function (EnableProcess/StartProcess, DisableProcess/StopProcess,
SoftStopProcess, ActivateProcess, DeactivateProcess, RestartProcess, SoftRestartProcess,
DumpStackTrace, EnableDebugging, DisableDebugging, IncrementTrace, DecrementTrace) on a given AS
Java process. processname must match a process name in the AS Java process list returned by
J2EEGetProcessList. To perform AS Java instance-wide operations (StartInstance, StopInstance,
RestartInstance, BootInstance, RebootInstance), use processname “all”.
Based on the above information, we can query the AS Java processes for a specific AS Java instance, using the following command line as the sidadm user:

sidadm> sapcontrol -host [host] -nr [sys##] -function J2EEGetProcessList

You should substitute the "host" and "sys##" with the host of your application server (virtual host) and the SAP instance number.
The command will return a list of the processes that the instance is running.
For a 2 node AS Java system, you can see the Server0 and Server1 processes in the list.
To restart Server0 on the AS Java instance use the below command line as the sidadm user:

sidadm> sapcontrol -host [host] -nr [sys##] -function J2EEControlProcess "server0" "RestartProcess"

You should substitute the "host" and "sys##" with the host of your application server (virtual host) and the SAP instance number.
Change "server0" for "server1" if you want to restart server1.
Based on the above restart, you can monitor the restart by using the below command line to see when the restart is completed:
sidadm> sapcontrol -host [host] -nr [sys##] -function J2EEGetProcessList | awk -F, '{ if ( $2 != "" && FNR > 5 ){ print "Name: "$2"\t\tState: "$8"\t\tStarted: "$9 }}'

You should substitute the "host" and "sys##" with the host of your application server (virtual host) and the SAP instance number.

Thursday, January 15, 2015

Deploying SAP Portal JDBC Adapter SDA using Telnet

Once you've built a new file ready for deployment into the SAP AS Java, you have two options for deployment in a NW 731 system:
- Deploy using SUM
- Deploy using Telnet

The SUM method can be arduous, taking anywhere from 20 minutes to over a couple of hours if you don't already have the software.
Using Telnet is the lowest common denominator, uses existing software already installed and can take as little as 5-10 minutes.
As the <sid>adm user on the AS Java application server, use Telnet (must be installed on the Unix, Linux or Windows O/S, to perform the deployment:

sidadm> telnet 5<##>08

Once connected, you can query the version of the SDA: 


Development Component:
name: [], vendor: [], location: [SAP AG], version: [7.3113.20140808110905.0000], software type: [primary-library], csn component: [BC-XI-CON-AFW], dependencies: [[name: 'engine.j2ee14.facade', vendor: '']], archive type: [DC]

Then deploy your new SDA file:

deploy /tmp/  on_deploy_error=stop version_rule=all

Notice that you are disconnected from Telnet at this point.
You should wait around 5-10mins, then re-connect into Telnet as Administrator, then run get_result:

> get_result
The status of the deployed SDUs is Success.
Additional information:

[sdu id: []
sdu file path:
version status: [SAME]
deployment status: [Success]
description: []

That's it.

Thursday, January 08, 2015

Drop a SAP DB2 10.1 Database & Remove Instance

In case you have installed an IBM DB2 database instance using the SAP Software Provisioning Manager, and you would now like to remove this database and the DB2 software installation (SAP DB instance), then here's a quick method:

As db2<sid>:

db2<sid> # db2stop
db2<sid> # db2 drop database

Then as root:

# cd /db2/db2<sid>/db2_software/instance
# ./db2idrop db2<sid>

# cd /db2/db2<sid>/db2_software/install
# ./db2_deinstall -a

Finally, remove DB related directories (if necessary):

# rm -rf /db2/<SID>/db2dump/*
# rm -rf /db2/<SID>/log_dir/*
# rm -rf /db2/<SID>/*archlogs/*

Friday, January 02, 2015

Power Notes Searcher Updated to v1.2

First off, a Happy New Year to you!

During the festivities, I've managed to squeeze in a little time to make a couple of modifications to the Power Notes Searcher.  My free Google Chrome Extension for searching for SAP notes and helping you organise the SAP notes you find.

The changes include 1 fix to the Google Font API link which was no longer working due to Google's move to ensure that it's infrastructure is accessed via HTTPS.
I've also included some enhancements to the list of hard SAP links to useful areas of the SAP support site, such as the Support Package Stack schedule and the SL Toolset (for SUM and SWPM).
I also adjusted the link to the SWDC so that it now uses the new site (instead of the old

As a bonus, I increased the number of note tabs that can be opened in one go, from 5 to 10.
This means that entering 10 SAP notes into the search box (or omni box), will open all of them.
Finally, I increased the number of allowed SAP notes in the history, from 50 to 100.
I found that on a regular project for 1 system installation, I was regularly exceeding the 50 note limit.

With regards to up & coming features, well I originally meant to include the ability to tag notes listed in the history.  This would provide a way of saving favourite notes, plus saving specific notes as a project set or collection.
The initial core code for storing tags against notes is already built in, I just need to spend some time around the peripheral code creating the interface etc.  Let's hope I can get this done in the next few months.

In case you've not installed the extension, you can see the details here on the Google Chrome Extensions Web Store (or from the link on my initial blog post here).