Quantcast
Channel: SCN : Blog List - SAP NetWeaver Application Server
Viewing all 81 articles
Browse latest View live

Your top 5 ABAP Dumps are ?

$
0
0

SAP basis administrators and system administrators working with SAP will
have experience with the system generating ABAP dumps in ST22 transaction
(various reasons).

In this blog I would like to share some experiences with some common ST22 dumps
and aim this blog at any new SAP basis people looking for general basic information
on this topic. If your experienced with SAP and have many years dealing with this topic
content then this is perhaps not for you but of course read on and enjoy anyway if you
want.

Before we cover some initial basics for our new readers I will explain why I titled this
blog 'Your top 5 ABAP Dumps are ?'. In this blog 5 commonly reported blogs that are generally
encountered will be included.

They are by no means "the top 5" ST22 dumps that will be reported
by an SAP system as these obviously would change from system to system but perhaps you have
cataloged your top 5 and would like to share them. Please feel free to add comment and reply
to this blog with your findings.

Some background for the new reader on this topic.

In order to list the ABAP runtime errors that have occurred you must log on to the affected ABAP system.

Next thing to do is to run the ABAP Dump Analysis using the transaction code ST22.

On the this screen you have the options to define the selection criteria that is searched for the whole list of stored runtime errors.

It is also possible to call the most current runtime errors: by clicking on the 'Today' button in the Standard selection group box, the system displays a list of runtime errors for the current day in reverse i.e. the newest files first.

ST22.PNG

Then a list will appear of all of the runtime errors relevant to the selection criteria.

You can sort the list according to various criteria.

sample st22 dumps.PNG

Ok, so everyone can now check on their system for any ABAP dumps and drill down for more information
into the selected dump reported.

Here is a selection of 5 common ST22 dumps encountered with a brief explaination and note. Do reply
to this blog with your top ABAP dumps (maybe your top 5) and share your experiences how you investigated
further and the impact they have on your daily administration tasks.

Some common ST22 dumps:

____________________________

1)

SYSTEM_CORE_DUMPED

In most situations SYSTEM_CORE_DUMPED is related to the R/3 system kernel. As generally advised and in keeping with best practice upgrade to the latest available kernel patch to solve the issue (see note SAP 19466).

Detailed analysis of the coredump at the Kernel will provide more reasons behind the dump.

2)

TSV_TNEW_PAGE_ALLOC_FAILED

In brief the ST22 DUMP 'TSV_TNEW_PAGE_ALLOC_FAILED' simply indicates an
exhaustion of available SAP memory resources by a process.

When this DUMP is reported more memory was requested by the SAP system because the program needed to expand an internal table. The memory resource was not vailable. When the available Extended Memory is exhausted the process will enter PRIV mode (seen in SM50) and will start to use Heap Memory (local memory). This will happen in this order in Windows or vice versa in Unix. A process in PRIV mode locks out any other user to use the corresponding work process. If there is enough memory for the process to finish no error is reported.


3)

SYSTEM_NO_TASK_STORAGE

SYSTEM_NO_TASK_STORAGE dumps are also address space/memory related.

The advised steps to take in relation to this dump is to refer to SAP notes 110172, 552209, 546361 for further details. This dump in general relates to 32-bit address space limitation regarding memory resources. On 32-bit platforms the long term solution is to use 64bit (regarding MS Windows see SAP note 996600).

Another possible cause for the dump SYSTEM_NO_TASK_STORAGE is running an old SAP collector. SAP do recommend to run with the latest available collector.


4)

CALL_FUNCTION_SINGLE_LOGIN_REJ

This dump is generally reported when there are insufficient authorization to login to the trusted system.
4 different error codes are related to CALL_FUNCTION_SINGLE_LOGIN_REJ

0 - Incorrect logon data for valid security ID.

1 - Calling system is not a Trusted Systemor security ID is invalid.

2 - Either user does not have RFC authorization (authorization object S_RFCACL), or a logon was performed using one of the protected users DDIC or SAP*.

3 - Time stamp of the logon data is invalid.

Refer the below SAP notes about CALL_FUNCTION_SINGLE_LOGIN_REJ dump:

986707 - No authorization to log on as a trusted system (RC=1)
128447 - Trusted/Trusting Systems
204039 - Authorization check in trusted system


5)

PXA_NO_SHARED_MEMORY

In most situations where the ST22 DUMP PXA_NO_SHARED_MEMORY occurs there is not enough contiguous address space to create the buffer of size
xMB Approx (where x is size in mega bytes).

The SAP note 129813 may be relevant as some DLLs may be positioned that are stopping the creation of this large buffer on Windows platforms.

Also SAP note 307976 gives information about this dump type PXA_NO_SHARED_MEMORY.

__________________________


If your common findings in ST22 are not listed above please do add comment with your frequent observations and share your experiences on this topic.

Do you find the actual ST22 dump empowers you to find and resolve the root cause of the dump?

Again, share your experience here with other users.

Thanks for reading.


Sorry, your browser/program is not supported by Web Dynpro!

$
0
0

Solution: SAP note 1347768

1. Change configuration of supported clients.

a) Open Visual Administrator. On the relevant server instance, navigate to "Services -> Configuration Adapter". In the detail view, a tree becomes visible. Navigate to "webdynpro -> sap.com -> tc~wd~dispwda -> "Propertysheet clients". Open this propertysheet in edit mode by pressing the "Edit" button on the toolbar.

b) Change following property in the propertysheet wizard. property

"msie6.recognition".

Default value is: "MSIE 6."

change custom value to: "MSIE" and click 'Apply custom' button.

c) Having done this, close the wizard and press again the "Edit" button to save the changes. Afterwards, a restart of the engine is required in order to make these changes effective. The WebDynpro runtime should now be able to allow the usage of Microsoft IE8 browser.

2. Change the compatibility view settings in IE8 browser.

a) In the browser, Go to menu Tools -> Compatibility View Settings.

b) Select the checkbox "Display all websites in Compatibility View" and click on the 'Close' button.

c) Close all browser sessions and then open a new browser window. The WebDynpro runtime should now be able to allow the usage of Microsoft IE8 browser

Emergency options for displaying short dumps.

$
0
0

In a follow up to my recent posting 'Your top 5 ABAP Dumps are?' here is an additional information blog for ST22 users for situations where normal ABAP dump analysis is not available.

 

Here are two emergency options for displaying short dumps in situations where the normal options are not possible.

 

The ST22 ABAP Dump Analysis uses SAP technologies as in ALV. Thus a higher level of usability is available but also a higher level of dependency exists too.

 

In a situation where transaction ST22 (ABAP Dump Analysis) does not start correctly or if short dumps in your system are not displayed correctly then there are two emergency options available. This means that in an emergency situation or a non-emergency but urgency is required to use ABAP dump analysis and ST22 cannot be started you can then continue to analyze problems with the assistance of short dumps.

 

1st Emergency option:

 

On the ST22 start screen, select the Use Old Dump Analyses option before you list the short dumps.

st22_emergency.PNG

 

ST22 with then switched to the old list technology for displaying dumps.

 

2nd Emergency option:

 

If you cannot start transaction ST22 then you can display short dumps in a simplified list form using the report RSNAPREAD.

 

In order to use the report RSNAPREAD you can proceed as follows:

 

Start transaction SE38 or SA38 and run the report RSNAPREAD. You can then enter a date for selecting the short dumps for viewing.

For example a date range from the 1st to the last day of the current month will display all short dumps for that selected month.

 

The report RSNAPREAD will provide a list of the selected short dumps that were created for the specified date range entered in the previous step.

When the listing is processed and displayed you can then proceed to open the short dump you want to view.

 

For technical reasons the report RSNAPREAD is only able to display the technical paragraphs from the short dump. For example the option exists to view contents such as ‘Contents of System Fields’ or ‘Selected Variables’ in the list display.

 

However be mindful that all headers are missing and all contents generated by ST22 with its section from the source text such as the introductory texts about the error or the Termination Information paragraph.

 

Thanks for reading and until next time......

Pssst, ABAP Detective, you got a second?

$
0
0

.

.

.

 

I was working the undercover squad, trying to take out a mob of no-ops that had infiltrated the infrastructure when I got a tip about a Code 16. Though I'm not on the regular ABAP force, I'm called in when the evidence points outside the straight and narrow ABAP world, to the seamy underbelly, I mean, the virtualization layer.  With the site reorganization, my old case notes might be hard to find, so I've started tagging them with abap_detective.  Maybe that will help the future Dr. Watsons. Suffice it to say that while I've not been reading as much ABAP as in the past, the transaction volumes, spurious behaviors and fatal endings have not escaped my vision.

 

The report, as often happens, was ambiguous. A job ended with a 16. More than one job, in fact. For those unfamiliar with ABAP policing protocol, a 16 is pretty bad news. You can survive an 8, certainly a 4, and definitely a 2 or a 1. But a 16, that's a one way trip to the place where they put a tag on your process. The place where the dumps go. It's not pretty. Sherlock Holmes had the Sign of Four. We have the Sign of Sixteen.

 

Unfortunately, the early warning signs of a 16 can be misleading. What the dispatchers told me was running the sheet again made the error go away. And the message they showed me from their snitches didn't mean anything. I should know better than to trust someone else's interpretation of a messages. In my world, you make your own error messages by running the bad code on your own. What better way to run bad code out of town, than to know the subroutines, log locations, and seedy variants.

 

Job scheduling

 

By no small coincidence, I started seeing error messages on another case in another domain that ended up solving the perp of the reports above. First a little background on that case, and then I tie the two together. We have a scheduling tool that interfaces with SAP. Like the voice of the dispatcher that comes on the police radio band and says it's time for your shift to be over. Anyway, it has a database tier, and an application tier, and various agents and customers. For the past couple years (much longer than I'd like to admit), we would have periodic time drifts. I don't mean the kind where you've worked a double shift, and your cruising down the highway in your Crown Victoria, startling to the horns of oncoming traffic jarring you awake, I'm talking about milliseconds of time added or subtracted per day. Wait, you might be saying, there's no quantum mechanics or relativity allowed in the ABAP world! Hang on, we're getting there.

 

What I observed was that one of the two systems used by this application had the wrong time. Looking at various logs (I keep scrupulous records, as any good ABAP or code detective would), I found the times diverting by a second or so per month.  No big deal, right? And in most cases, if a system were bounced monthly (perhaps to apply bandages to bleeding code injuries), that time difference would probably vanish. But these systems stay running for months at a time, no breaks.  All along, I suspected the OS, where the network time protocol (NTP) was misbehaving. I'll go more into that social deviance after a short digression about system time synchronization.

 

Ignoring daylight savings time, or other time zone changes, it's good practice to use a reference clock to keep your many systems on the proper time. In the UNIX world (and most other operating systems can use this, or a variation of it), a demon runs on the system, checking with one or more other systems what time they have. Assuming you've done your homework, you'd have some internal systems that are the primary reference for the remainder, and external systems that those check.  A few reference sites:

 

 

 

Briefly (way too briefly), there are reference machines one can (and should) use to keep your systems in line. Failure to do so will have dire consequences, as we relate shortly. In the meantime, the main clue I had was a periodic time drift, indicating a synchronization failure. I assumed the ntp daemon (service) was corrupt. But it wasn't.  Before asking for debugging to be turned on (which would reset the system clocks, causing the evidence to once again be hidden for weeks), I read some manual pages (gasp, I know), and ran some diagnostics.

 

Diagnostics

 

 

 

$ ntpdate -d time01.internal

 

12 Jun 09:23:43 ntpdate[20709430]: 3.4y

transmit(...)

delay 0.04185, dispersion 0.00038

offset 2.448537

 

12 Jun 09:23:43 ntpdate[20709430]: step time server 4.3.2.1 offset 2.448537

.

 

Log 1

 

The "-d" flag says to show what adjustments would be made, if permitted. This showed a 2.4 second (approximately) gap. While we're not dealing with atomic clocks here, and the thinnest of blue lines, anything over 1 second is bad.

 

 

 

$ ntpdate -d time02.internal

12 Jun 09:24:55 ntpdate[31981758]: 3.4y

transmit(...)

 

delay 0.04184, dispersion 0.00043

offset 0.276432

 

12 Jun 09:24:55 ntpdate[31981758]: adjust time server 4.3.2.5 offset 0.276432

.

 

Log 2

 

This says the other time reference site, if we relied on it, is around one-quarter second difference from the system I ran the command on.  In other words, the two reference sites are out of synch with each other.  As Mark Knopfler sang, "one of them must be wrong."

 

What about external reference clocks?

 

 

$ ntpdate -d 2.north-america.pool.ntp.org   

12 Jun 09:25:31 ntpdate[40042622]: 3.4y

transmit(207.32.191.59)

...

delay 0.04903, dispersion 0.00076

offset 2.504520

 

12 Jun 09:25:31 ntpdate[40042622]: step time server 207.32.191.59 offset 2.504520

.

 

Log 3

 

Also wrong by over 2 seconds.  With several other reference sites (from the NTP pools), I determined that we had a crooked timekeeper, right in our ranks.

 

Back to ABAP. What happens when the database and application server don't agree on what time it is?  Well, this, for one:

 

 

DateTimeMessage textMessage classMessage no.Message type
06/12/201222:51:15Job started00516S
06/12/201222:51:16Step 001 started (program [], variant [], user ID [])00550S
06/12/201222:51:25... file is being processed
BA238S
06/12/201222:55:02ABAP/4 processor: ZDATE_ILLEGAL_LOCTIME00671A
06/12/201222:55:02Job cancelled00518A

 

Table 1

 

I am showing similar errors in text, and in screen shot mode, to help the search engines, and to make the point. Other indications, as hinted above, don't show what caused the code 16. This shows "illegal local time".  The typical root causes are incorrect daylight savings time settings (one app server has one rule or setting, the other has another set), or one or more systems just aren't running a time service.  But we were!  Why were we out of synch?

 

illegal-time-error.png

 

Figure 1

 

What led me to look for the above was an message from years back, that is still in the ABAP systems: "big time diff".

 

 

Dev messages

 

$ grep -il "big time" dev*

dev_w3.old

dev_w51

dev_w52

dev_w53

dev_w53.old

[...]

 

M Tue Jun 12 04:13:37 2012

M  *** WARNING => big time diff 2265953896 [1396155766 3662109662]for stamp STAT_READSEQ, correct ???

 

Log 4

 

I found these on a few application server traces, but then, I knew where to look.  Often, what is seen in the trace files has a different interpretation in the job log.

 

 

 

Why were we out of synch?

 

 

Unfortunately, I can't reveal my sources, but I'll share a few lessons learned.

 

  • Don't use just 2 reference sites. Use 3.
  • Use the NTP pools as reference.
  • Make sure your reference sites exist.

 

For further reading, a few SCN forum posts, and a slightly interesting blog, more about daylight savings time than reference. Oh, and SAP Notes.  Better to read them before finding your watch has stopped.

 

SAPonLinuxNotesLinux reports "big time diff XXX for stamp YYY"
http://scn.sap.com/thread/1198057

ORA-1555 occurred...

*** WARNING => big time diff

http://scn.sap.com/thread/739725

 

N4S Test Drive under SuSe 10.3 ...

*** WARNING => big time diff

http://scn.sap.com/thread/1632847

 


Workprocesses stops and lock accumulates ...

*** WARNING => big time diff

http://scn.sap.com/thread/1579656


BW System crashed due to DB6_ADM_RUNSTATS...

*** WARNING => big time diff

Daylight Saving Time and Slowing Down The TimeDaylight Saving Time and Slowing Down The Time

 

 

447839ZDATE_ILLEGAL_LOCTIME
481835Analyzing the time zone settings
606374"WARNING: big time diff" in wp trace files on AIX
679615"big time diff" message in developer trace


 

 

Time to punch out the time clock and call this a wrap sheet.

WebRFC - simply calling an RFC from javascript

$
0
0

Just a couple of days ago I found myself confronted with a little problem.

 

I was asked to update data in an SAP system from a web page.

Initially I found all sorts of approaches - writing a custom BSP, developing my own WebDynPro page, post the data into some database and import it from there later...  But every single one of these approaches seemed way to complex for the task at hand.

 

But I did find one technology that seemed almost too simple: A WebRFC.

 

So what is it?

 

A WebRFC is an almost forgotten option to call a simple ABAP RFC through a simple URL, with URL encoded parameters.

 

Why simple ABAP RFC?

 

Due to the URL encoding you are a bit limited in passing table parameters and complex data types (just to be sure - you can deserialize in your RFC but lets not go there.)

 

Does it work with every RFC?

 

Well - there is a specific interface you have to implement. But you can always wrap the RFC you wrote a year back in a new WebRFC.

 

Now that we are throught the executive summary - I will walk you quickly through a sample on how you can use a WebRFC to generate some JSON which you can consume in your HTML5 application (hopefully you are using the SAPUI5 library).

 

Step 1: Create a regular function module


Open SE37, create a new function module (in this case I name it Z_SAMPLERFC) and assign it to a function group (in case you don't have one handy - you can create them in SE80).

There is no need to define it as remote enabled.

 

Step 2: Implement the right interface.

In order to make an RFC that can be used as a WebRFC it hast to comply to a defined interface.

Specifically we need to provide a couple of fields which will be populated by the WebRFC handler or provide it with our output.

There are two different sections of the interface, the table parameters as well as changing paramters.

 

So lets address the table parameters first.

If your system informs you during the interface definition that table parameters are obsolete, just acknowledge it by pressing ENTER ;-)

 

Open the tab called TABLES.

 

Here we need to define 3 different table parameters:

 

QUERY_STRING LIKE  W3QUERY (QUERY_STRING is the name of the variable, LIKE is its typing and W3QUERY is its actual type)

 

This table will contain the content the key-value pairs passed as url parameters to the WebRFC. More on this later.

 

HTML LIKE  W3HTML

 

This table will be filled with our output later by the called function module and returned to the client.

 

MIME LIKE  W3MIME

 

If we where to return an image or any other binary data we can use the MEMI table as a vehicle to passt it back to the client.

Since we will be generating JSON later on we will not be using the MIME table but the HTML table.

 

 

Besides the actual payload going in and out of our RFC there is some meta-data that can be provided through the WebRFC interface. This happens using the a number of changing parameters.

They need to be defined on the "Changing" tab:

 

Specifically we need to define the CONTENT-TYPE for the http response by setting the CONTENT_TYPE field. We will set a default value for it, but it cold also be changed bynamically within the function module.

CONTENT_TYPE LIKE  W3PARAM-CONT_TYPE DEFAULT 'application/json'

 

For MIME data its length has to be provided in the CONTENT_LENGTH variable, but since we are using HTML as the output table we can just leave it empty after defining it:

 

CONTENT_LENGTH LIKE  W3PARAM-CONT_LEN

 

The return code can be used to define whether the ITS session or the RFC connection are to remain open or get closed, after the call - the default value (0) which leaved the ITS session in place for later use, and terminate the RFC connection.

RETURN_CODE LIKE  W3PARAM-RET_CODE

 

Step 3:  Implementing some functionality behind the interface

 

As mentioned before WebRFC allows you to access your url parameters though the use of the QUERY_STRING table - which already breaks the parameters down for you as key-vlaue pairs.

In this first section of the code we get the value of a parameter called "_Name" into a variable called name.

 

DATA: name TYPE STRING.

SORT QUERY_STRING DESCENDING.

READ TABLE QUERY_STRING WITH KEY NAME = '_Name'.

name = QUERY_STRING-VALUE.

 

With the parameters available we can now do all sorts of ABAP magic ... or for the sake of this post, just return it to the caller as a JSON array:

 

this second section of the code creates a new html document for us - again a table contrainign lines... and we fill it with a bit of JSON and write it into the table HTML which we created earlier.

So overall the code looks like this:

 

DATA: htmldoc LIKE LINE OF HTML.

CONCATENATE '{"results": [ {"key": "name", "value": "' name '"}, {"key": "phone", "value": "911"}]}' INTO htmldoc-line.

INSERT htmldoc INTO TABLE HTML.

 

The overall function should look very much like this:

 

FUNCTION Z_SAMPLERFC.

*"----------------------------------------------------------------------

*"*"Local Interface:

*"  TABLES

*"      QUERY_STRING STRUCTURE  W3QUERY

*"      HTML STRUCTURE  W3HTML

*"      MIME STRUCTURE  W3MIME

*"  CHANGING

*"     REFERENCE(CONTENT_TYPE) TYPE  W3PARAM-CONT_TYPE DEFAULT

*"       'application/json'

*"     REFERENCE(CONTENT_LENGTH) TYPE  W3PARAM-CONT_LEN

*"     REFERENCE(RETURN_CODE) TYPE  W3PARAM-RET_CODE

*"----------------------------------------------------------------------

 

DATA: name TYPE STRING.

 

SORT QUERY_STRING DESCENDING.

READ TABLE QUERY_STRING WITH KEY NAME = '_Name'.

name = QUERY_STRING-VALUE.

 

DATA: htmldoc LIKE LINE OF HTML.

CONCATENATE '{"results": [ {"key": "name", "value": "' name '"}, {"key": "phone", "value": "911"}]}' INTO htmldoc-line.

INSERT htmldoc INTO TABLE HTML.

 

ENDFUNCTION.

 

As always don't forget to Check, Save and Activate the RFC.

 

Step 4: Activate the RFC as a WebRFC

 

Once that is done... remember the name of the RFC and launch SMW0 the Web Repository

From the Internet Release Menu -> Function Module (F7)

Put in the name of your RFC

and hit the open padlock icon to make it available in public.

 

Step 5: Call the RFC

http(s)://<your system>:<your port>/sap/bc/webrfc?_FUNCTION=Z_SAMPLERFC&_Name=<your name>

 

And you receive beautiful JSON back.

 

Step 6: Mind all the stuff not mentioned here

 

Make it real - of course you can add exceptions, return values and error handling, as well as input validation to your RFC - but this should help you get started - SAP ERP generating JSON using an RFC called through HTTP.

If you need to configure security for this service you can configure the service in SICF.

 

How much simpler can it get. 

 

Cheers!

Hey, ABAP Detective, you got 10 seconds?

$
0
0

I thought my watch had stopped. Or was running wild. It was happening again.  Just a few months after I cracked the case of the slipped time reference site in the case I called "Pssst, ABAP Detective, you got a second?", I found systems with differing times. My first clue was a message saying there were 7 seconds missing from a job. This time (no pun intended), the fault wasn't directly seen in an SAP system.  I started digging further.

 

In the last time drift episode, I found clues inside of SAP job logs that led me to review what sources of time synchronization were defined.  I couldn't just ask the railroad conductor where he got his timetable from before he blew the train whistle, I needed to discover it for myself. The first pattern was Windows systems having one time, yet UNIX systems having another.  When I first checked, it was seven seconds; when I looked later, it was up to 10 seconds and climbing.  Not a lot in the grand scheme of things, but if some timestamp got whacky the shippers could lose packages, or something.

 

Here were the lessons from the last drift:

 

  • Don't use just 2 reference sites. Use 3.
  • Use the NTP pools as reference.
  • Make sure your reference sites exist.

 

I could sense these didn't solve everything. To keep this tale short (and maybe sweet), I found out the Windows systems get their time from Active Directory domain controllers.  That's fine, if those controllers are straight.  If they're crooked, well, the whole continent was drifting out to sea with them, climate change or not.  My first new clue was to use a little-known Window utility, since "ntpdate" isn't part of the standard OS.

 

Rap sheet on remote reference system

 

 

$ w32tm /stripchart /computer:0.us.pool.ntp.org  /samples:5 /dataonly

Tracking 0.us.pool.ntp.org [64.95.243.61].

Collecting 5 samples.

The current time is 11/13/2012 4:50:01 PM (local time).

16:50:01, -10.5314154s

16:50:03, -10.5518846s

16:50:05, -10.5496261s

16:50:07, -10.5502981s

16:50:09, -10.5501962s

 

 

Rap sheet on domain controller

 

 

$ w32tm /stripchart /computer:domcol /samples:5 /dataonly

Tracking domcol [1.2.3.4].

Collecting 5 samples.

The current time is 11/13/2012 4:47:48 PM (local time).

16:47:48, -00.7965628s

16:47:50, -00.7883558s

16:47:52, -00.7879628s

16:47:54, -00.7953808s

16:47:56, -00.7793569s

 

 

  • MS information on w32tm.  "A tool used to diagnose problems occurring with Windows Time"

 

To make sure my head was on straight, my pocket watch was intact, and I wasn't looking at things in a mirror, I also found a distribution of NTP client for Windows, which included the same "ntpdate" command I had used to run down the culprits in the last chase.

 

 

 

C:\Program Files\NTP\bin>.\ntpdate.exe  -d 2.north-america.pool.ntp.org

15 Nov 02:40:24 ntpdate.exe[8040]: ntpdate 4.2.6p5@1.2349-o Jul 30 11:53:32 (UTC

+02:00) 2012  (1)

15 Nov 02:40:24 ntpdate.exe[8040]: Raised to realtime priority class

transmit(50.115.174.206)

receive(50.115.174.206)

transmit(64.73.32.135)

transmit(69.50.219.51)

receive(64.73.32.135)

[...]

receive(207.5.137.133)

server 50.115.174.206, port 123

stratum 2, precision -21, leap 00, trust 000

refid [50.115.174.206], delay 0.10367, dispersion 0.00319

transmitted 4, in filter 4

reference time:    d44ed3b3.36942e53  Thu, Nov 15 2012  2:36:35.213

originate timestamp: d44ed493.c8d76175  Thu, Nov 15 2012  2:40:19.784

transmit timestamp:  d44ed49f.329708c5  Thu, Nov 15 2012  2:40:31.197

filter delay:  0.15057  0.11934  0.10367  0.11923

         0.00000  0.00000  0.00000  0.00000

filter offset: -11.4821 -11.4584 -11.4598 -11.4600

         0.000000 0.000000 0.000000 0.000000

delay 0.10367, dispersion 0.00319

offset -11.459886


 

 

Pretty much the same result, though now, a day or so later, the delta is over 11 seconds.  I'm sure some of you are saying what difference does a few seconds make?  In my world, a lot.  It's not keeping me awake at night, but it's my mission to set the servers straight.  And if their controllers are crooked, well, we can vote them out of office, or we can take them downtown.

 

References

 

Crude purple crayon drawings

 


Figure 1

NTP-ERP-1.png

 


Figure 2

NTP-ERP-2.png

 


Figure 3

NTP-ERP-3.png

 


Figure 4

 

 

NTP-ERP-4.png

 


Figure 5

NTP-ERP-5.png

How the SAP Upgrade Grinch Almost Stole Christmas

$
0
0

Twas the Friday before Christmas, and all through the house
Not a creature was stirring, not even my spouse;
(Truth be told she was out earlier than most,
With finals to give and semester grades to post);

 

I was back home from consulting on the road,
with dread of expenses and timesheets to upload;
Doing the last-minute search for the right gift,
That might delight the special person on my list;

 

When from my work email there arose such a clatter,
I turned away from Twitter to see what was the matter.
The most urgent email was filled with despair,
"The upgrade, I fear, is damaged beyond repair".

 

With many apologies to Clement Moore and poetry fans everywhere, I could not resist having a bit of fun with this latest adventure in SAP upgrades. I could have continued with the poetry, however, I could not find anything to rhyme with MAIN_PROFEND/KX_CHANGE_PUPG!

 

BACKGROUND: The upgrade was from NW 7.01, SP16 BW to NW 7.31, SP 04 BI -- ABAP standalone. The upgrade of the sandbox system had been relatively uneventful, so I was definitely not expecting an issue with the BI development box. The MAIN_PROFEND phase is near the end of the Execution stage for the Software Update Manager -- very close to the completion of the entire upgrade.
Upgrade_error.jpg

The screenshot provides one clue that provides some hope for a solution: "see F:\******\SUM\abap\log\SAPCPE.OUT for details". As most Basis admins know, SAPCPE is the process that runs during the SAP startup process and is responsible for copying the executable files from the shared executable directory to the local executable directory. My first guess was a file permission problem or an executable running (like sapstartsrv). However, since this is a Windows 2008 server, it seemed somewhat unlikely. And of course, it had nothing to do with permissions. In the details of the log file was the message that 33 files were not found in the source directory. Of course all of the files were there. Comparisons with the sandbox server, the QAS and PRD servers could find not a single file missing from the directories.

 

All of this consumed around 4 hours of time searching SCN, ServiceMarketplace, Google and several rocks in the landscaping around my house without success. I finally searched ServiceMarketPlace for sapxxcpe.c (presumably a reference to the error line in the source code). This yielded SAP note 1785829 titled sapcpe failed to copy files". The issue is the continuing incompatibility of Windows and Unix text files -- specifically the Windows CR+LF character mis-interpretation by Unix. sapcpe uses the files are the *.lst files to determine the expected file inventory in the directory. As described by the note, I opened all 7 of these files in SAPpad and saved them with Unix-style LF character.

 

Fortunately for this SAP Basis consultant, SAP note 1785829 saved his Christmas shopping time (with a few hours to spare!). The upgrade was completed without further problems and the system turned over for testing -- after Christmas.

 

There are a few points that come to mind after this situation:

1) There is not a great volume of knowledge regarding SUM from the SCN community. There are 100s of notes and PDF documents without question. What is not out there are discussions --- with resolution or blogs providing insight into some of the problems that can be encountered.
2) Because of point 1, if you hit a problem with your upgrade do NOT limit your focus to only upgrades or installations. As this case proves, an issue that might occur during normal operation can also occur during an upgrade.
3) Windows and Unix have coexisted for over 30 years. Why do we still have this stupid new line incompatibility problem? And for SAP development: why can't an additional bit of code be written to check for this? Can I make this my first wish for the new year?

So accept this modest addition to the Software Update Manager knowledge store on SCN. And may you 2013 be filled with happiness, prosperity and NO upgrade problems.

Blog It Forward - Hussain Sehorewala

$
0
0

I had been tagged by Katya Shmuel almost a year back in her blog -> Blog It Forward - Katya Shmuel.


I hope this BIF blog encourages SCN members post their BIF blogs and again start the chain .

 

 

Untitled.jpg

 

 

 

 

 

Lets start with Introduction

 

I am a SAP Basis Specialist and SCN member for 6 years now. Currently I am working with IBM. .


 

Being in SAP Basis gives you new experiences every day (sure all Basis Forks will agree), including few days when you dont like your job. 

 

It is like living on the edge; with everyday comes in new technology, new challenge, new problems and new learnings.

 

Here is a SCN blog on what I have to say about my Job .

 

 

 

 

 

 

 

 

 

 

 

 

Let me list down activities that keep be busy and makes me happy

 

 

IMAG0033-1-1-1-1.jpgBiking

 

I like to ride when the weather is right and enjoy the most when I have a nice company .

 

That is my ride, which I had rode 500 Kms  (Mumbai to Pune and Back) in 2 days when i first got it. 

 

While the same is not true for driving. Driving is not much of a delight in cit like Mumbai.

 

Here is a blog about what I have to say about it: Lessons form Driving

 

Photography


I believe this passion for photography comes with my disposition of close observation,

Closing observing things , a habit that I might have developed due to inspecting server logs closely as part of Basis work.

I know it is unusual to link hobbies to your work.

 

Photography to me is like capturing time - space and presenting it the way to see. One of my mobile click showing London from the London Eye.

IMAG1204-7.jpg

 

SketchingIMAG1157.jpg

 


 

This is a new hobby I took up and I am happy I did.


And I realized I like to sketch portraits more then anything else.

 

 

IMAG1154.jpg

 

 

 

 

 

 

 

 

Its wonderful to learn how minute details make huge difference in how we look.

 

I wish to sketch landscapes of world famous places which I visit and admire.

 

 

 

 

 

 

 

Travelling


Even though I have seen very few cities and countries, I have been travelling all the while for work. Engineer from Mumbai University, got in placed in Satyam Computers in Hydrabad. After few days of training  got into a project in Chennai for job training. Then my job took to lot of different cities in India like Pune , Bangalore, Dheli and Mumbai .

I got a changes to work in Doha (Qatar) and right now I am in Coventry, United Kindom. Visited few places in United Kingdom like London, Scotland , Beriminghum, Lake district, peak district, Black Pool and Stradford.  If you have any more suggestion please leave a comment

 

 

Getting to two BIF Questions of my choice.

 

If you were 20 again, what would you study?

 

I would get a degree in Computer Engg, then would take up masters in Artificial intelligence and virtual Reality .

To add to that that I would like to get a study Management, which hopefully I should still manage to do.

 



 

· What do you most enjoy on SCN?

Personally  learning is very important for me.

SCN is fun beause it allows to to learn and share you learning as well.

In addtion  :

- Get insights into SAP from people acctually working on it at ground level.

- Get to know  talented people

- You get professional recognation if you provide quality contribution 

· What is the best resource of information in SCN?

I think Blogs are best source of information followed by forms.

 

Questions ask/forwarded by Katya Shmuel in her blog.


 

 

1.  What is your personal life dream?

 

 

  • Get my parent a nice retirement house
  • Get a worth while Management degree
  • Visiting most parts of the word
  • Author a book (Technical or non – technical)
  • Draw cartoons for magazine / newspaper

 

 


2.  What are your most significant achievements in life (both personal and professional)?


 

I believe my most significant achievements are yet to come.

Jokes apart; I would like to list my SCN achievements which are not many.

  • Was Top Contributor for my Company for last year
  • Prize for SCN Snotties
  • Top 10 Contibutor for SAP Idea place

 

 

 

 


3.  What is the best lesson your parents taught you?

 

  • Father – From him I have learnt to live happy a life, setting the right expectations from life and yourself.
  • Mother – She has tough me how to grow in life, step by step move ahead aiming at your next destination.

 


 

 

And  finally I will ask following fun questions

 

  1. Share a fun fact/story about yourself
  2. Which 5 things do you absolutely want to achieve in life?
  3. What is your dream Job ?

I am bloggin this forward to ricardo brunato

 

If you want me to forward it to you please leave a comment.


Problems with installing new license ?

$
0
0

After a system copy one can find himself struggling for installing the original system's license.

In SLICENSE t-code , after trying to install the license the following error appears:

"This system's system number is <NUMBER>, but there is a license key for system number <OTHER_NUMBER> in the license key file"

 

Trying to delete the current license will not work because the delete procedure checks the key to be deleted with the current system information.

 

So what can you do to resolve this situation ?

 

Here is the solution:

 

Using t-code SE14 drop table SAPLIKEY and regenerate it.

After that SLIENSE entries are gone and the original license can be installed.

 

Enjoy


How to connect JAVA app server to a different DB

$
0
0

Lets say you have a JAVA application server (EP or just Java app) connected to it's DB, and now you need to transfer the

DB to a different server (For consolidation purposes, hardware change, etc.)

The DBA exported the entire DB to a different server and gave you the new server name and DB port.

 

These are the steps* you need to do in order to connect your JAVA app server to the new DB:

 

* The backup of folders and files is only for reverting back in case it is needed

 

 

1. Create a backup of the entire profile folder by copying <drive>:\usr\sap\<SID>\sys\profile and renaming the copied folder to Profile_ORIG

2. In the original Profile folder go to oracle folder, edit tnsnames.ora file and replace the HOST with the remote DB Hostname and PORT with the remote port. (Details should be provided by DBA) SAVE.

3. In the original Profile folder edit DEFAULT.PFL file and replace SAPDBHOST = <REMOTE_DB_HOSTNAME> j2ee/dbhost = <REMOTE_DB_HOSTNAME>

4. Create a backup of the entire security folder by copying <drive>:\usr\sap\<SID>\SYS\global\security and renaming the copied folder to security_ORIG

5. Run configtool.bat from <drive>:\usr\sap\<SID>\JC##\j2ee\configtool

6. In the left pane select secure store

7. In the right pane, click on the line jdbc/pool/SID/Url

In the bottom edit the value "jdbc:oracle:thin:@<HOSTNAME>:<PORT>:<SID>" with the new server & port details ---> Press ADD !

8. Click on "Apply Changes" on the upper left corner

9. Click on "file" ----> "Reencrypt Secure Content"

10. Click on "Apply Changes" on the upper left corner (just to be on the safe side)

11. Exit the configtool.

12. Restart the JAVA app using MMC

 

If all is well - the JAVA app server will be connected to the new DB.

 

Important notes:

 

1. Troubleshoot problems after the DB change by inspecting dev_w0 log file in the work directory.

2. If the JAVA app server is a virutal machine - take a snapshot before you change anything. Reverting back is much easier this way.

 

Enjoy

 

 

 


SAP System startup Problems

$
0
0

One of the most sought after topic for a BASIS guy is to troubleshoot startup problems. Below is the list of some basic startup problems with solution. I am sure you will be find it very useful.

 

 

SAP System startup Problems:


Two places you need to check: Event Viewer (Application and System logs) and the SAP Management Console (MMC). Event Viewer can provide useful information and it may help you pinpoint where the problem resides. The SAP MMC gives you the ability to visually see the system status (green, yellow or red lights), view the work processes status and view the developer traces, which are stored in the "work" directory. Example: /usr/sap/TST/DVEBMGS00/work.


For a central SAP instance to start successfully, both the message server and the dispatcher need to start. If one of them or both fail to start, users cannot log in to the system. The following scenarios will illustrate possible causes of why an SAP instance might not start and the reason of the message:


"DISPATCHER EMERGENCY SHUTDOWN ".

Developer Traces:
dev_disp Dispatcher developer trace
dev_ms Message Server developer trace
dev_wp0 Work process 0 developer trace

 

 

The "services" file, which contains TCP and UDP services and their respective port numbers. This plain-text configuration file is located under winnt/system32/drivers/etc.Windows Task Manager (TASKMGR.exe), Event Viewer (EVENTVWR.exe).

Dispatcher Monitor (DPMON.exe), which is located under /usr/sap//sys/exe/run. Database logs.

 


1. Dispatcher does not start due to a port conflict

No work processes (disp+work.exe) exist in Task Manager.

Dispatcher shows status "stopped" in the SAP MMC.

Errors found in "dev_disp":

LOG Q0I=> NiPBind: bind (10048: WSAEADDRINUSE: Address already in use) [ninti.c 1488]
*** ERROR => NiIBind: service sapdp00 in use [nixxi.c 3936]
*** ERROR => NiIDgBind: NiBind (rc=-4) [nixxi.c 3505]
*** ERROR => DpCommInit: NiDgBind [dpxxdisp.c 7326]
*** DP_FATAL_ERROR => DpSapEnvInit: DpCommInit
*** DISPATCHER EMERGENCY SHUTDOWN ***


Problem Analysis
I highlighted the keywords in the error messages above: Address already in use Service sapdp00 in use The TCP port number assigned in the "services" file is being occupied by another application. Due to the conflict, the dispatcher shuts down.

Solution
If your server has a firewall client, disable it and attempt to start the SAP instance again.
If the instance starts successfully you can enable the client firewall back again.
If there is no firewall client at all, or if disabling it did not resolve the problem, edit the "services" file and check what port the appropriate "sapdp" is using.
If the instance number is 00, look for sapdp00. If the instance number is 01 look for sapdp01 and so on. You can use the following OS command to help you resolve port conflicts:
netstat -p TCP There are also utilities on the Internet that can help you list all the TCP and UDP ports a system is using.


2: Dispatcher dies due to a database connection problem

No database connections.No work processes

 

SAP MMC -> WP Table shows all processes as "ended".

   Errors found in "dev_disp":
C setuser 'tst' failed -- connect terminated
C failed to establish conn. 0
M ***LOG R19=> tskh_init, db_connect (DB-Connect 000256) [thxxhead.c 1102]
M in_ThErrHandle: 1
M *** ERROR => tskh_init: db_connect (step 1, th_errno 13, action 3, level 1) [thxxhead.c 8437]
*** ERROR => W0 (pid 2460) died [dpxxdisp.c 11651]
*** ERROR => W1 (pid 2468) died [dpxxdisp.c 11651]
*** ERROR => W2 (pid 2476) died [dpxxdisp.c 11651]. . .
*** ERROR => W11 (pid 2552) died [dpxxdisp.c 11651]
*** ERROR => W12 (pid 2592) died [dpxxdisp.c 11651]
my types changed after wp death/restart 0xbf --> 0x80
*** DP_FATAL_ERROR => DpEnvCheck: no more work processes
*** DISPATCHER EMERGENCY SHUTDOWN ***
DpModState: change server state from STARTING to SHUTDOWN


Problem Analysis
A connection to the database could not be established because either the SQL login specified in parameter "dbs/mss/schema" is set incorrectly or the SQL login was deleted from the database server. This parameter needs to be set in the DEFAULT.pfl system profile (under /usr/sap//sys/profile). In the messages above, we see that the SQL login 'tst' is expected but it does not exist at the database level.

Solution
Set the entry to the appropriate database owner. If the system is based on Basis <= 4.6 or if the system was upgraded from 4.x to 4.7 the database owner should be "dbo". But, if the system was installed from scratch and it's based on the Web AS 6.x the database owner should match the SID name in lower case. Example: if the SID is TST then the database owner should be "tst". If the parameter is set correctly in the DEFAULT.pfl profile check at the database level if the SQL login exists. If it doesn't, create it and give it database ownership to the .

3: SAP does not start at all: no message server and no dispatcher

The message server and the dispatcher do not start at all in the SAP MMC. The following error when trying to view the developer traces within the SAP MMC: The network path was not found. No new developer traces written to disk (under the "work" directory.)

Problem Analysis
The network shares "saploc" and "sapmnt" do not exist. That explains the "network path not found" message when attempting to view the developer traces within the SAP MMC.

Solution
Re-create the "saploc" and "sapmnt" network shares. Both need to be created on the /usr/sap directory


4: Users get "No logon possible" messages

Work processes start but no logins are possible.

Users get the login screen but the system does not log them in. Instead, they get this error: No logon possible (no hw ID received by mssg server).

In the SAP MMC, the message server (msg_server.exe) shows status "stopped".

The dev_ms file reports these errors:
[Thr 2548] *** ERROR => MsCommInit: NiBufListen(sapmsTST) (rc=NIESERV_UNKNOWN) [msxxserv.c 8163]
[Thr 2548] *** ERROR => MsSInit: MsSCommInit [msxxserv.c 1561]
[Thr 2548] *** ERROR => main: MsSInit [msxxserv.c 5023]
[Thr 2548] ***LOG Q02=> MsSHalt, MSStop (Msg Server 2900) [msxxserv.c 5078]

Problem Analysis
Work processes were able to start but the message server was not. The reason is because the "services" file is missing the SAP System Message Port entry. Example: SAPmsTST 3600/tcp

Solution
Edit the "services" file and add the entry. Then, re-start the instance. Make sure you specify the appropriate TCP port (e.g. 3600) for the message server.


5: The message server starts but the dispatcher doesn't

The dispatcher shows status "stopped" in the SAP MMC.

The "dev_disp" file shows these errors:
***LOG Q0A=> NiIServToNo, service_unknown (sapdp00) [nixxi.c 2580]
*** ERROR => DpCommInit: NiDgBind [dpxxdisp.c 7326]
*** DP_FATAL_ERROR => DpSapEnvInit: DpCommInit
*** DISPATCHER EMERGENCY SHUTDOWN ***

Problem Analysis
The keyword in the messages above is "service unknown" followed by the entry name "sapdp00". The dispatcher entry "sapdp00" is missing in the "services" file. Example: sapdp00 3200/tcp

Solution
Add the necessary entry in the "services" file. Example: sapdp00 3200/tcp Then, re-start the instance.


6: Work processes die soon after they start

All work processes die right after the instance is started.

The SAP MMC shows work processes with status "ended".

Only one work process shows status "wait".

An ABAP dump saying "PXA_NO_SHARED_MEMORY" is generated as soon as a user logs in.

The SAP MMC Syslog shows the following error multiple times: "SAP-Basis System: Shared Memory for PXA buffer not available".

Problem Analysis
The instance profile contains mis configured memory-related parameters. Most likely the "abap/buffersize" instance profile parameter is set to high.

Solution
Edit the instance system profile at the OS level under /usr/sap//sys/profile and lower the value assigned to "abap/buffersize". Then, restart the instance. Also, it's important to find out if any other memory parameter were changed. If not, the system should start once the adequate memory allocation has been set to the the "abap/buffersize" parameter.

 

 

 

Happy Reading 

 

 

Thanks ,

Muhammad Siddique

 


SAP on AWS: how about availability?

$
0
0

Do you know what the availability is for a single EC2 instance on AWS?

The availability is shown as 99,95%, but it is not guaranteed! That doesn’t sound good, but I will explain why this does not have to be an issue.

 

AWS delivers the tools and infrastructure so cheap that you can easily build a high available solution. You only have to remember that also for non-production SAP systems you need to create a basic high available solution.

 

For the non-production systems we can build a cheap high available solution based on an initial image and backup. After both SAP and the database is installed and the configuration is done you create an initial image called an Amazon Machine Image (AMI). This AMI can be stored in a different Availability Zone (this is a different datacenter in the same region) or even on a totally different Region. With this image you have a new instance up-and-running within 5 minutes. Besides this of course we need a restore of the data to be up-to-date. When you store your backups and archivelogs on AWS S3, it is automatically saved in multiple Availability Zones and the durability is 99,999999999%. So with this you have the cheapest solution for your non-production SAP systems.

 

For production systems lots of high available solution are possible, just like there are when you place your systems on-premise. The solution depends for example on the database vendor. But for production systems everyone is already aware. I just wanted to point out the risk and possible solution for the non-production systems.

 

Below is an example of a simple SAP architecture where the production system has a high available solution based on database replication to a second Availability Zone. For security reasons we use different subnets and different Security Groups (firewalls). The non-production systems are shown in one single Availability Zone, but we know to place the AMI’s and backups in the second Availability Zone. To be even more safe, you can not only use a second Availability Zone but even place it on another region. But this is more expensive and you have to think about laws and regulations for your data.

AWS SAP Architecture v0.1.jpg

Best regards,

Marco

Restart ICM for NetWeaver Java

$
0
0

ICM is the web server for NetWeaver Java >= 7.1. Request directed to the NetWeaver server pass first through ICM. ICM therefore is an additional layer between your application and the end user. From time to time a change to the ICM configuration may be needed to adjust the parameters or enable new access methods.

 

As an example, the access to port 50008 shall serve to show how to configure ICM and make the change effective.

 

In a default configuration, access to port 50008 is not enabled. The telnet port itself is active on NW AS Java, but not reachable for external request:

icm1.jpg

ICM configuration

 

To be able to reach port 50008, ICM needs to be configured to allow remote access to this port. To achieve this, just add the telnet port in the ICM configuration file.

  • File location: /usr/sap/<INST>/SYS/prfiles/<SYS>_J00_<name>
  • Parameter: icm/server_port_3 = PROT=TELNET,PORT=50008

PSMON

 

To make this change effective, ICM needs to be restarted. This is done using jsmon with the correct profile as parameter:

 

jmson pf=/usr/sap/<INST>/SYS/profile/<INST>_J00_<name>

 

The process related task explains how to restart ICM.

icm2.jpg

The command is: process restart <idx>. To get the ID of ICM, take a look at the process list. Issue the command: process view

icm3.jpg

The ID for ICM is 1 and the current state is running. To trigger a restart: process restart 1

icm4.jpg

Now the new configuration is effective and the telnet server of NW Java can be accessed.

icm5.jpg

Why does ICM not re-read the configuration when it was changed and applies the change on the fly? Don't ask me why SAP enforces a shutdown for a parameter change. Even worse that ICM is in front of your NetWeaver, so all current HTTP connections get lost and the end-user gets an error message. Hopefully the connection is only for a few seconds down, so the session data should still be valid and the users can continue with their work.

 

 

 

Why use psmon

 

Do not kill and restart the process like this:

 

Find the process ID.

icm6.jpg

Kill the icman process: kill -9 <processed>.

 

Then restart the process with the above shown parameters.

icm7.jpg

This will result in a 503 error message from ICM

icm8.jpg

SAP note 1772839 release date

$
0
0

SAP note 1772839 (Potential disclosure of persisted data in BC-SRV-ADR), which is a prerequisite note for note 1884563 (Incorrect check for city field) will be released only on the next patch date (13.08.2013).

 

SAP note 1884563 is a correction for the error message AM560, which will be raised, when a city name is entered, that contains a period "." or brackets "(" and ")".

Upgrade of Kernel from 7.11 to 7.21 EXT on a PI 7.1 EHP1

$
0
0

Upgrading a kernel was an easy move. But the growing complexity of SAP-systems, makes an
upgrade of the kernel more difficult than it was in the past.

 

I was motivated to change the kernel by the PAM on the SAP service marketplace. I checked the "lifetime" of the kernel by:

 

http://service.sap.com/pam

b1.jpg

  PAM-page

b2.jpg

 

searching my sap product

b3.jpg

Hmm bad news A System without supported kernel? No way !

I needed a new kernel and the newest was 7.21 EXT I looked at the PAM and found:

b4.jpg

In order to be able to do the kernel upgrade in a proper way, I searched for the necessary
notes. I found 3 essential notes for the kernel upgrade.

 

Note 1716826 - Usage of the downward compatible kernel 721 (EXT)

Note 1728283 - SAP Kernel 721: General Information

Note 1713986 - Installation of kernel 721 (EXT)

 

Now I had all the information I needed. The next task was to download the new kernel.

http://service.sap.com/patches -> Support Packages and Patches -> A - Z Index -> ....

 

And now a little happy question time:

Question: When I search the kernel for a SAP PI 7.1 EHP 1 system, where do I have to search?

1. S for SAP?

2. P for PI?

3. Z for Zorro?

Answer: No,  it's N for Netweaver -> 1 hour lost for the answer of this question

 

http://service.sap.com/patches -> Support Packages and Patches -> A - Z Index -> SAP NETWEAVER PI 7.1X -> SAP EHP1 FOR SAP NW PI 7.1 -> Entry by Component -> Application Server ABAP

 

I downloaded the following archives:

 

SAPCAR_315-20010445.EXE                 SAPCAR
DBATL720O10_31-20006704.SAR             DBATOOLS Package for Oracle 10g and 11g
SAPEXE_100-10011322.SAR                 Kernel Part I (database independent)
SAPEXEDB_100-10011323.SAR               Kernel Part II (database specific)
igsexe_5-20007786.sar                   Internet Graphic Server (IGS)
igshelper_3-10010245.sar                IGS Helper
sapwebdisp_421-20008606.sar             SAP Webdispatcher
SAPCRYPTOLIB_34-10010842.SAR            SAP Kryptolib
SAPHOSTAGENT147_147-20005726.SAR        SAPhostagent 7.20

 

 

After analyzing the 3 notes, I identified the next tasks:

 

1. ) check Note 1610716 - Correcting runtime objects with incorrect alignment
2.) update SAPJVM 5.1.047 to 5.1.084
3.) implement the latest SBP (SAP bundle patch)
4.) Upgrade the kernel

 

ok 4 tasks to do. Let's do it:

 

Task 1: check Note 1610716 - Correcting runtime objects with incorrect alignment

 

I had to implement Note 1610716 with the transaction SNOTE and I got the report RUT_NOTE_1610716. I started the report first with option check and after that with option repair. It ran several minutes. Task was done.

 

Task 2:  update SAPJVM 5.1.047 to 5.1.084


Ok, now I need to search all relevant notes for patching a SAPJVM. I found:

1683392 - SAP JVM 5.1 Patch-Collection 58 (Build 5.1.074)
1434916 - How to find out the SAP JVM build version
1367498 - Installationsvoraussetzungen für SAP JVM
1025085 - How to manually patch the SAPJVM
1133020 - Importieren eines SAP-JVM-Patchs in Application Server Java

 

With note 1434916 I was able to identify the SAPJVM-Version. I was not able to identify the version of sapjvm on the system information page:( In my opinion the system information page of NW 7.0 is much better than on NW 7.1! The system information page of NW 7.0 is more simple, but the information is well-arranged.

Note 1025085 states:
"Patching the SAP JVM on an SAP NetWeaver system is only supported using the Software Update Manager (SUM) or the Java Support Package Manager (JSPM)."
I chose the JSPM.

After patching sapjvm I started the system and... it started without any error and... no java page could be displayed

I posted my problem and a guru (big thanx to Reagan Benjamin) found the solution see:
http://scn.sap.com/thread/3388835 (No http page available after upgrade of SAPJVM)
After implementing Note 1625051 - "Wily Introscope agent: IllegalAccessError" the system runs fine again

ok next step:

 

 

 

Task 3) implement the latest SBP (SAP bundle patch)


Where can I find the SBP?
http://service.sap.com/patches -> Database and Database Patches (from other vendors) -> Oracle -> Oracle Patches 11.2.0.2.0

a) Checks
orasid> cd /oracle/SID/11203; bdf .
orasid> cd /oracle/stage/11203/database/SAP; bdf .
both filesystems should be 1GB free

 

b) Patche Opatch and MOPatch
orasid> setenv IHRDBMS /oracle/SID/11203; setenv OHRDBMS /oracle/SID/112_64; setenv ORACLE_HOME /oracle/SID/11203
orasid> cd /oracle/stage/11203/database/SAP
orasid> cp -p /inst_cd_sap/IA64/Oracle110203/updates/SAP_112035_201303/SAP_112035_201303_HPUXIA64.zip .
orasid> /inst_cd_sap/IA64/SOLMAN_71/unzip -qd $IHRDBMS/sapbundle SAP_112035_201303_HPUXIA64.zip 'SBP_112035_201303/OPatch/*'
orasid> mv $IHRDBMS/OPatch $IHRDBMS/OPatch-pre-SBP_112035_201303
orasid> mv $IHRDBMS/sapbundle/SBP_112035_201303/OPatch $IHRDBMS/OPatch
orasid> unzip -qd $IHRDBMS/sapbundle SAP_112035_201303_HPUXIA64.zip 'SBP_112035_201303/MOPatch/*'
orasid> test -d $IHRDBMS/MOPatch && mv $IHRDBMS/MOPatch $IHRDBMS/MOPatch-pre-SBP_112035_201303
orasid> mv $IHRDBMS/sapbundle/SBP_112035_201303/MOPatch $IHRDBMS/MOPatch

orasid> $ORACLE_HOME/OPatch/opatch version

b5.jpg

  orasid> $ORACLE_HOME/MOPatch/mopatch.sh -h

 

b6.jpg

The following versinos should be displayed:
OPatch version 11.2.0.3.1
MOPatch version 2.1.13

 

c) stop the system
sidadm> stopsap
orasid> lsnrctl stop
orasid> ps -efax | grep ora
no ora process should run!

 

d) install SBP

orasid> setenv ORACLE_HOME /oracle/SID/11203
orasid> cd /oracle/stage/11203/database/SAP
orasid> /bin/sh $ORACLE_HOME/MOPatch/mopatch.sh -v -s SAP_112035_201303_HPUXIA64.zip

b7.jpg

orasid> lsnrctl start

 

<open a new session>
oraSID> sqlplus "/as sysdba"
SQL> startup

 

<old session>
oraSID> cd $OHRDBMS/rdbms/admin
oraSID> env ORACLE_HOME=$OHRDBMS $OHRDBMS/bin/sqlplus "/as sysdba"

SQL> @?/sapbundle/SBP_112035_201303/catsbp.sql

b8.jpg

Hmmmm, INCOMPLETE. This is a word sap administrators don't like! After reading Note 1509324 I did as it was recommended in the note.

SQL> select action_time from registry$history group by action_time having count(*) > 1;

If rows appear then read OSS-Note: 1508602.

b9.jpg

no rows, great.


SQL> @?/rdbms/admin/utlrp.sql;

 

b10.jpg

SQL> shutdown

SQL> startup

SQL> @?/sapbundle/SBP_112035_201303/catsbp.sql

b11.jpg

No errors and two COMPLETEs. That was good.

I had to set two parameters ->

SQL> ALTER SYSTEM SET "_FIX_CONTROL"=
     '5099019:ON','5705630:ON','6055658:OFF','6399597:ON','6430500:ON',
     '6440977:ON','6626018:ON','6972291:ON','7168184:OFF','8937971:ON',
     '9196440:ON','9495669:ON','13077335:ON','13627489:ON','14255600:OFF',
     '14595273:ON' COMMENT='SAP_112035_201302 RECOMMENDED SETTINGS' SCOPE=SPFILE;

SQL> ALTER SYSTEM SET EVENT=
     '10027',
     '10028',
     '10142',
     '10183',
     '10191',
     '10995 level 2',
     '31991',
     '38068 level 100',
     '38085',
     '38087',
     '44951 level 1024'
     COMMENT='SAP_112035_201302 RECOMMENDED SETTINGS' SCOPE=SPFILE;

SQL> shutdown immediate
SQL> startup
SQL> shutdown immediate
SBP is installed, Task done!

 

Task 4: Upgrade the kernel

 

This is not as easy as it was in the good old days! Now you have to do some more steps. In the good old  days (when SAP ERP was R/3) you patched the system between 12:00 and 12:30 when users were at lunch! (Is it lunch or dinner? Hmm I don't know. Please excuse my bad English!) But today you have to do it on weekend.

So let's start.

 

Step 1: saphostagent upgrade

 

root> cd /tmp

root> mkdir saphostagent; cd saphostagent

root> /sapmnt/SID/SAPCAR -xvf /inst_cd_sap/IA64/kernel/PI_721_EXT_100/SAPHOSTAGENT147_147-20005726.SAR

root> ./saphostexec -upgrade

 

b12.jpg

 

Step 2: stop the system

 

Stopping the saphostagent:
root> /usr/sap/hostctrl/exe/saphostexec -stop
root> /usr/sap/hostctrl/exe/saposcol -k

b13.jpg

 

Stopping the sapwebdisp:

<user of sapwebdisp> stopsap all W90

b14.jpg

Stopping sapstartsrv:

 

sidadm> sapcontrol -nr <Systemnummer Instanz z.B. 00> -prot NI_HTTP -function StopService;

sidadm> sapcontrol -nr <Systemnummer ASCS> -prot NI_HTTP -function StopService;

sidadm> sapcontrol -nr <Systemnummer SCS> -prot NI_HTTP -function StopService;

sidadm> sapcontrol -nr <Systemnummer ERS> -prot NI_HTTP -function StopService;

b15.jpg

Deregister and stop CCMS-Agenten:

 

sidadm> cd /usr/sap/SID/SYS/exe/run/
sidadm> ./sapccm4x -u pf=/usr/sap/SID/SYS/profile/SID_DVEBMGS<Sy.Nr.>_<host>
sidadm> ./ccmsping -u pf=/usr/sap/SID/SYS/profile/SID_DVEBMGS<Sy.Nr.>_<host> -push -n<Sy.Nr>

 

stop Diagnosticagent
<D-Agentuser> stopsap SMDA90

b16.jpg

 

 

Step 3: Clear shared memory

 

sidadm> /usr/sap/SID/SYS/exe/run/showipc all
Shows all shared memorys of all systems.

 

sidadm> /usr/sap/SID/SYS/exe/run/cleanipc <SystemNrIPC> remove
Now check for open shared memory segments. There should be no segment
sidadm> /usr/sap/SID/SYS/exe/run/showipc all

b17.jpg

 

Step 4: get SAPCAR

 

sidadm> mkdir /tmp/sapcar
sidadm> cd /tmp/sapcar
sidadm> SAPCAR -xfv /<directory of sar-files>/SAPEXE_100-10011322.SAR
sidadm> cp SAPCAR /sapmnt/SID/

 

Step 5: removing the old kernel

 

root> cd /usr/sap/SID/SYS/exe/run/
root> rm -rf *

 

Step 6: implement the new kernel

 

sidadm> cd /usr/sap/SID/SYS/exe/run/
sidadm> /sapmnt/SID/SAPCAR -xfv /<directory of sar-files>/SAPEXE_100-10011322.SAR
sidadm> /sapmnt/SID/SAPCAR -xfv /<directory of sar-files>/SAPEXEDB_100-10011323.SAR
sidadm> /sapmnt/SID/SAPCAR -xfv /<directory of sar-files>/DBATL720O10_31-20006704.SAR
sidadm> /sapmnt/SID/SAPCAR -xfv /<directory of sar-files>/igsexe_5-20007786.sar

b18.jpg

 

Step 7: implement sapcryprtolib

 

sidadm> mkdir /tmp/sapcrypto
sidadm> cd /tmp/sapcrypto
sidadm> /sapmnt/SID/SAPCAR -xfv /<directory of sar-files>/SAPCRYPTOLIB_34-10010842.SAR
sidadm> cp -p hpia64-11.31-64/* /usr/sap/SID/SYS/exe/run/
sidadm> cp -p hpia64-11.31-64/ticket /usr/sap/SID/DVEBMGS<Sy.Nr>/sec

 

Step 8: start saproot

 

root> cd /usr/sap/SID/SYS/exe/run/
root> ./saproot.sh SID

b19.jpg

 

Step 9: install igshelper


sidadm> cd /usr/sap/SID/DVEBMGS<Sy.Nr.>; mv igs igs_old;
sidadm> /sapmnt/SID/SAPCAR -xfv /<directory of sar-files>/igshelper_3-10010245.sar

 

 

Step 10: new kernel for sapwebdisp

 

<user of sapwebdisp> cd /usr/sap/SWP_SID/SYS/exe/run
<user of sapwebdisp> rm -rf *
<user of sapwebdisp> /sapmnt/SID/SAPCAR -xfv /<directory of sar-files>/sapwebdisp_421-20008606.sar

 

 

Step 11: delete the exe-directories of all instances

root> cd /usr/sap/SID/DVEBMGS<Sy.Nr. of instance>/exe
root> rm -rf *

root> cd /usr/sap/SID/ASCS<Sy.Nr. of ASCS>/exe
root> rm -rf *

root> cd /usr/sap/SID/SCS<Sy.Nr. of SCS/exe
root> rm -rf *

root> cd /usr/sap/SID/ERS<Sy.Nr.of ERS>/exe
root> rm -rf *

 

 

Step 12: execute SAPCPE

It is recommended by sap to start sapcpe for every instance. Be aware to use the scs.lst file for the central services and the ERS!

For the central instance:

sidadm> cd /usr/sap/SID/DVEBMGS<Sy.Nr. instance>/work
sidadm> sapcpe pf=/usr/sap/SID/SYS/profile/SID_DVEBMGS<Sy.Nr. instance>_<host>

 

For the central services:

sidadm> cd /usr/sap/SID/SCS<Sy.Nr. SCS>/work
sidadm> sapcpe pf=/usr/sap/SID/SYS/profile/SID_SCS<Sy.Nr. SCS>_<host> list:/usr/sap/SID/SYS/exe/run/scs.lst

sidadm> cd /usr/sap/SID/ASCS<Sy.Nr. ASCS>/work
sidadm> sapcpe pf=/usr/sap/SID/SYS/profile/SID_ASCS<Sy.Nr. ASCS>_<host> list:/usr/sap/SID/SYS/exe/run/scs.lst

 

And for the Enhanced Replication Services (I only show it for one ERS because I'm too lazy;))

sidadm> cd /usr/sap/SID/ERS<Sy.Nr. ERS>/work
sidadm> sapcpe pf=/usr/sap/SID/SYS/profile/SID_ERS<Sy.Nr. ERS>_<host> list:/usr/sap/SID/SYS/exe/run/scs.lst

 

Last but not least the jvm needs it's binaries too:

sidadm> sapcpe /usr/sap/SID/SYS/profile/SID_DVEBMGS<Sy.Nr. instance>_<host> source:/sapmnt/SID/exe/jvm/hpia64/sapjvm_5.1.084 list:/sapmnt/SID/exe/jvm/hpia64/sapjvm_5.1.084/sapjvm_5.lst

 

Step 12:  post activities

Enter line 
rslg/new_layout = 9
in file /usr/sap/SIS/SYS/profile/DEFAULT.PFL
Then you have to delete the files of the syslog.

 

 

Final Step (13):  startsap


Puhhh 13 steps…I entered

 

sidam> startsap

b20.jpg

Sometimes startsap is a liar, so verified it:

 

sidadm> ps -efax | grep sap

b21.jpg

ok. ABAP was running, but J2EE is a diva. I took a look at the dev_server0 and…

b22.jpg

Thanx god java (the beast) is up and running

 

That was my adventure kernel patching a PI system. Finally I leaved the office and tried to relax at the rest of Sunday

 

Best regards

Willi Eimler


Important informations regarding the GOS new icon (notes 1851646 and 1415647)

$
0
0

Before using the functionality delivered with SAP note 1851646 please make sure that the prerequisites regarding: SAP BASIS Support Package, Kernel and SAP GUI version and patch levels are fulfilled from SAP note 1415647.

The code corrections delivered with 1851646 are created for older SAP BASIS Support Package levels too due to sustainability and code maintenance reasons. This doesn't mean, that the functionality can be used without fulfilling the requirements of note 1415647.

GOS check report is available in note 1873544

$
0
0

Are you experiencing a strange behavior in GOS? Icons for services not displayed as expected? Some functions are inactive or hidden which should not be? First check the possible custom modifications in GOS (tables SGOSATTR and SGOSCUST or the BAdI implementations etc.) using the GOS check report from note 1873544.

 

For more information check the GOS online help documentation here and the GOS FAQ here.

Nice Blog For All the changes in NW 7.3

$
0
0

What's new in SAP NetWeaver 7.3 - A Basis perspective Part-I

Posted by Ishteyaque Ahmad in SAP NetWeaver Administrator on May 22, 2012 11:41:22 AM

 

 

There are various materials present about features of SAP NetWeaver 7.3 but not all of them are directly useful for Basis people like us. So I thought to collect some of differences/features which I noticed.

I know some folks will say that not all features are introduced in 7.3 some of them were introduced in 7.1 and 7.2, but I am a greedy man and I wanted to increase number of features in this blog so I included them as well. Beside it will be helpful to those who haven't got chance to work with 7.1 or 7.2 and directly started working with 7.3.

So lets begin...

 

1. SAP NetWeaver 7.3 Goes Green

 

With NW7.3 you can save more energy from architectural perspective, you can get details of it here, I find it interesting.

http://scn.sap.com/community/sustainability/green-it/blog/2011/06/06/sap-netweaver-73-goes-green

 

2. SAP NetWeaver 7.3 – Lean Avatar

  • In the process integration, a Java-only, lightweight advanced adapter engine is now available for NetWeaver 7.3, eliminating the need to run SAP NetWeaver Process Integration (SAP NetWeaver PI) as a dual stack.
  • From SAP NetWeaver 7.30, customers can reduce their hardware needs as a result of common deployment options for all Java usage types, including enterprise portals, SAP NetWeaver BW, and SAP NetWeaver Composition Environment (SAP NetWeaver CE), with one unified Java application server.
  • NetWeaver Portal 7.3 uses half as much memory on average to execute navigations.
  • NetWeaver Portal 7.3 server node starts up much faster than 7.01, with improvement of 33% in average.

 

3. Instances Naming convention

As of SAP NetWeaver 7.1, the concept and naming of SAP system instances has changed. The terms “central instance” and “dialog instance” are no longer used. Instead, the SAP system consists of the following instances:

  • Application server instances

Application server instances can be installed as “primary application server instance” (PAS) or “additional application server instances” (AAS).

  • Central services instance
  • Database instance

 

4. The Central Services Instance ABAP - ASCS

The central services instance for ABAP (ASCS instance) is now installed with every SAP ABAP system distribution option: Standard System      Distributed System      High-Availability SystemThe enqueue replication server instance (ERS instance) can now be installed  together with the central services instance for every installation :

  • Standard System (optional)
  • Distributed System (optional)
  • High-Availability System (mandatory)

ERS.pngAt the time of SCS installation if we can select the above option it will install ERS instance as well.Though I am such a naive person who is failed to understand the purpose of having ERS instance on same host where we are having Enqueue server.

5. The Central Services Instance ABAP - ASCS

With new Installation Master for ABAP+Java, SAPInst does not provide option for separate ASCS and SCS Instance.  Though it can be separated manually after installation on different host.ASCS.png

6. Split Off ASCS Instance

SAPInst now has an option to "Split Off ASCS Instance"With the option Split Off ASCS Instance from Existing Primary Application Server Instance, you can split off an central services instance for ABAP (ASCS instance) from the primary application server instance of an existing ABAP system or ABAP+Java (dual-stack) system.ASCSsplit.png

7. Solution Manager Key

As of SAP NetWeaver 7.3, Solution-Manager-Key at the time of Installation is not asked/required by SAPInst.Even in previous installation people found out the way to generate the Solution Manager Key out of SolMan System.http://kohanov.com/tmp/sap_keys.vbs

8. Start Profile Merged

As of SAP NetWeaver 7.3, Start Profile has been removed as separate file.In earlier versions of NetWeaver there were 1 Default profile per SAP system, 1 Start profile per Instance and 1 Instance profile per instance.Now the Start profile contents are merged with Instance profile. With help of new Instance profile SAP processes are started and at the same time instance specific parameters are read.This removed total number of profile files. 1 Default profile per SAP System, 1 instance profile per instance.Now Profile Directory will look neater !!

9. JSPM (Java Support Package Manager) Initial credential requirement changed

  • While starting JSPM – SDM password is not being prompted, Instead you need to provide Java Admin User ID and password.

jspm.jpg

  • While deploying and upgrading components it needs restart of just Java and sometime complete SAP restart, for which Admin User ID at OS level and its password is asked.

jspm2.jpg

  • SDM is replaced with JSPM and directory SDM is altogether removed.

jspm3.jpg

  • Un-deployment of SCA’s/EAR files are not possible using JSPM. You have to use NWDI for this purpose.
  • No support for PAR files. All portal applications are now EAR (Enterprise Archive) based, PAR migration tool for converting PAR files to EAR files

10. JCMON changed menu

 

jcmon.jpg

After NetWeaver 7.01 JCMON menu 20: Local Administration Menu is non functional.

jcmon2.png

Select opton Solid Rock ....  name is funny I mean Rocks are solid anyway

and you will able to see which state of different components/nodes. Unlike previous version I didn't find refresh option here, so go back and come to this menu again for recent view.

 

11. Visual Admin Vs NWA

 

As of SAP NetWeaver 7.1, Visual Admin has been replaced with NWA

VA&NWA.png

 

12. Support Pack Stack

 

NW7.0SPLevel.png

Earlier in NetWeaver 7.0, For a Support Pack Stack the  release level of BW component was generally  2 release ahead of the ABAP and Basis component.

Now all components are  released on same level.

NW7.3SPLevel.png

Please continue with second part of this blog.

What's new in SAP NetWeaver 7.3 - A Basis perspective Part-II

The GOS Attachment list is active, but no attachment displayed in it

$
0
0

When you using GOS toolbox menu in some transactions the Attachment list service is active, but when you opened it there are no attachments in it. Previously this was the designed behavior when the application published GOS with more than one business object. Recently an enhancement was released in SAP note 1966453 in order to give the control to the customers to decide:

 

  • have a consistent behavior of the active / inactive status of the Attachment list, so when no attachment exists make the service always inactive or as usual active when there is least one attachment in it, but in this case some delays may occur when the GOS toolbox menu is opened

OR

  • have the standard behavior, so when the application publishes GOS with more then one business object the Attachment list stays always active and in this case no performance problems can happen

 

You can find more information about this in the GOS Troubleshooting guide under the section The Attachment list is active, but no attachment displayed in it and in SAP note 1966453.

Troubleshooting Guide for GOS

$
0
0

I would like to share with you that I'm currently engaged in one of my personal projects creating the Generic Object Services (GOS) Troubleshooting Guide.

Please check it and update me with your feedback in a direct message on SCN. More information about GOS can be found in the online help documentation.

The GOS FAQ (created in 2009 and updated frequently) can also provide helpful information regarding the most common questions in GOS, but I decided to create this troubleshooting guide to provide step-by-step guides for errors and questions on the behavior in different scenarios.

Viewing all 81 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>