<< Click here to Goto HomePage

     
     
Showing posts with label sap. Show all posts
Showing posts with label sap. Show all posts

Monday, April 23, 2007

How to discover the SAP systems in an organization and the SAP application components installed on them?


The System Landscape Directory of SAP NetWeaver (SLD) serves as a central information repository for your system landscape. A system landscape consists of a number of hardware and software components that depend on each other with regard to installation, software updates, and demands on interfaces.

Information in the SLD is used by various SAP tools, for example, for planning and performing upgrades to the system landscape (Software Lifecycle Manager of SAP NetWeaver), finding destination information for ABAP systems and Web services (Web Dynpro), and for maintaining development information by the SAP NetWeaver Development Infrastructure (NWDI).
Features

● The SLD stores information about all installable and installed components of a system landscape. It is based on the standard Common Information Model (CIM). The CIM standard is a general, extensible schema for describing the elements in a system landscape. SAP has enhanced the CIM standard with classes for SAP-specific content.

● SAP provides both a Web-based user interface (UI) for interactive access and client APIs for programmatic access in ABAP and Java.

● SAP provides information about installable SAP software, dependencies and recommended scenarios and regularly publishes updates on SAP Service Marketplace. You can browse this information in the software catalog views. You can also manually add information about third-party components to the SLD.

● SAP software components that are installed on technical systems are registered automatically and on a regular basis in the SLD. Thus the SLD always contains up-to-date information about the installed system landscape. You can view this information in the technical systems views, and can aggregate and group it in the landscapes views.

● In addition, you can use the SLD for name reservation in the NWDI. It contains the master list of all reserved names used in development, such as development component names, Java package names, and database object names.

● The Exchange Infrastructure (XI) uses the SLD to store information about business systems, which are logically connected to technical systems.

Tuesday, October 17, 2006

Yet another way to customize the Logon Screen in SAP Enterprise Portal


Hey Folks,

Here's another way of customizing the SAP Enterprise's Portal's Logon Page. This method seems to be very simple and straight forward, but I wasn't able to implement the steps as I run one of the latest versions of EP NW2004s Portal.

This process of customization works on all SPs of EP6 though ;)

So here are the steps:

1. Place your new image files here:
\J2E\JC00\j2ee\cluster\server0\apps\sap.com\com.sap.security.core.admin\servlet_jsp\logon\root\layout

2) Log on to the Portal as administrator and go here:
System Administration -> System Configuration -> UM Configuration.

3) Click on the "Direct Editing" tab.

4) Change the parameter:
ume.logon.branding_image=/logon/layout/YOUR_BRANDING_IMAGE_FILE.gif

5) Change the parameter:
ume.logon.branding_text=/logon/layout/YOUR_TEXT_IMAGE_FILE.gif

6) Click "Save all changes"

7) Restart the Portal

Enabling portal branding for specific user in SAP Enterprise Portal


If you want to enable portal branding for specific user in SAP Enterprise Portal the steps to follow are:

  1. Copy the standard SAP theme and save as new theme
  2. Create a Portal Desktop
  3. Changing the Main Rules

Let us look at step by step procedure
  1. Copy the standard SAP theme and save as new theme
    • Create the required Theme by following the path
      System Administration --> Portal Display --> Theme Editor.
    • Select any one of the already existing themes and save as your new theme.
    • Add your own logo and other settings for the saved theme.

  2. Create a Portal Desktop
    • Create a portal Desktop by following the path
      System Administration --> Portal Display --> Desktops and Display rules.
    • Expand the Portal content. Create your own folder.
    • Then go to Portal content --> Portal users --> Standard portal users -->Default framework page.
    • Copy this Default framework page and place in the folder you created.
    • Right click on the created folder and create new desktop.
    • Now Right click on the copied default framework page and Select Add Frameworkpage to Portal Desktop.
    • Now go to the place where you created the Theme and right click the theme and select Add theme to portal Desktop.
    • Now in the creation of the new portal desktop select the entries and select the button "Set Default" for both the options and then save


  3. Changing the Main Rules
    • Go to Portal content --> Portal Administrators -->Super administrators -->Main rules.
    • Right click and select edit object.
    • Click "Add IF Expression". Another IF statement is added. Already existing IF statement is necessarry.
    • Here you select If user = some user
    • Click the "Then" Statement.
      Now go to the Portal desktop you created and right click the portal desktop and select "Add portal desktop to expression".
    • Now save the rule collection.

    You are done for the user.
    Now close the browser and loggin with the specific user. After some time you will see the new portal branding for the specified user.

Monday, October 09, 2006

SAP NetWeaver clears Java EE 5 compatibility hurdle



SAP's NetWeaver has achieved compatibility with Java Enterprise Edition 5, enabling users to execute Java applications on the NetWeaver Application Server.

The compatibility allows the Netweaver platform to execute Java applications.

SAP has been offering Java compatibility since 2003, although it previously only supported the older version 1.3 when most competing vendors had support for version 1.4. SAP is the third to announce Java EE 5 compatibility, after Sun Microsystems and Tmax Soft.

Sun Microsystems unveiled Java EE 5 earlier this year. The platform is designed for server-based enterprise applications and was formerly known as J2EE.

The compatibility feature offers SAP a way to counter Oracle's criticism that its platform is lacking in openness.

Over 30 organisations have a licence for the Java EE technology, allowing them to develop their own application servers.

Tuesday, September 19, 2006

SAP Ranked #1 In Enterprise Software


SAP is the worldwide market leader in CRM, ERP, and supply chain software, according to a comprehensive new study by Gartner. With 26% of CRM market share, 29% of ERP market share, and 19% of SCM market share by total software revenue, SAP exceeded overall market growth rates in all three segments. It's no wonder more organizations are turning to SAP to become best-run businesses.

Thursday, September 07, 2006

Writing Hello World in ABAP


Hey ppl,

Here's a simple 2 lines code that will print-out the infamous "Hello World" in ABAP (Advanced Business Application Programming). Yup, you heard it write - ABAP!!!


REPORT ZHB00001.
*Hello world in ABAP/4 *
WRITE: 'Hello world'.


ABAP is one of many application-specific fourth-generation languages (4GLs) first developed in the 1980s.

It was originally the report language for SAP R/2, a platform that enabled large corporations to build mainframe business applications for materials management and financial and management accounting. ABAP used to be an abbreviation of Allgemeiner Berichtsaufbereitungsprozessor, the German for "generic report preparation processor", but was later renamed to Advanced Business Application Programming. ABAP was one of the first languages to include the concept of Logical Databases (LDBs), which provides a high level of abstraction from the basic database level.
ABAP was intended to be used by end users so that they could manipulate the data themselves, but the 4GL turned out to be too complex for ordinary users. High-level programming skills are still required to create ABAP programs.
ABAP remains the language for creating programs for the client-server
R/3 system, which SAP first released in 1992. As computer hardware evolved through the 1990s, more and more of SAP's applications and systems were written in ABAP. By 2001, all but the most basic functions were written in ABAP. In 1999, SAP released an object-oriented extension to ABAP called ABAP Objects, along with R/3 release 4.5.
SAP's most recent development platform,
NetWeaver, supports both ABAP and Java.

Wednesday, September 06, 2006

How to customize the Login Screen in SAP Enterprise Portal


Here are some simple steps to follow to customize your very own SAP Enterprise Portal Login Page.

The login page is part of the par file with the name com.sap.portal.runtime.logon.par

1) Copy the file with the above name from the following location (EP6 SP9 and higher). It has the additional ending ".bak", which you should remove on you local copy :

\\\j2ee\cluster\server<#>\apps\sap.com\irj\servlet_jsp\irj\root\WEB-INF\deployment\pcd\

2) Import the PAR file into Netweaver Developer Studio:
- Select File>Import .
- Choose the option PAR file. Select Next and a popup window appears.
- In the window you have 3 text fields: The location of the par file, a project name (which will also be the new par file name) and the location where the project should be saved. The project name should differ from the original SAP file to avoid overwriting of the original. It also works as a security blanket, in case you have an exception in your custom logon code or want to start from scratch again.



3) Check, that you have the following 2 JAR files under the subfolder /lib :
1. com.sap.portal.runtime.logon_api.jar
2. umelogonbase.jar

If you don't have these file, you will see a portal exception on the Logon page and the log file will have the entry:

Caused by: com.sapportals.portal.prt.core.broker.PortalComponentInstantiationException: Could not instantiate implementation class com.sapportals.portal.ume.component.logon.SAPMLogonCertComponent of Portal Component my.new.logon.certlogon because: Could not find implementation class

at com.sapportals.portal.prt.core.broker.PortalComponentItemFacade.getInstanceInternal...


The files you need are located in the original PAR file. Just open it with a Unzip Program and copy the files in your project.

Now you have your project prepared and you are ready for making changes.
The most important files for a customization are:
- images, which are stored under dist\layout
- JSP files, which are stored under dist\PORTAL-INF

All JSP pages include 3 additional files: The header (umLogonTopArea.txt), the bottom (umBotArea.txt) files, as well as the logon_proxy.txt .

Logon structure



The different pages in the Logon Par file are

Logon page : umLogonPage.jsp
Problem page : umLogonProblemPage.jsp
Help page (PW reset) : umHelpPage.jsp
Reset Password : umResetPasswordPage.jsp
Change Password Page: changePasswordPage.jsp
Certificate Logon : umLogonCertPage.jsp


Now enough about what elements we have. Let's customize ! But first make sure that you upload the new par-file, customize the authschemes.xml and restart the portal.


Changing Text

The text seen on the logon page is not in the JSP page, but in properties files which are called by tags like the Welcome text : <%=logonLocale.get("xtit_WELCOME")%>

In order to change "Welcome" to "Welcome to MyHR" you have to :
- Unzip the file umelogonbase.jar which you can find under dist\PORTAL-INF\lib
- Find the file "logonLabels_" which contains your language;
e.g. for german logonLabels_de.properties,
for russian logonLabels_ru.properties or
for English logonLabels_en.properties

The default is in the file logonLabels.properties .

- Find the key which is used in the tag (here it is xtit_WELCOME) and change the text after the equal sign.
- Save the changed file and create a updated JAR file using a zip program. The file needs to be named umelogonbase.jar, not umelogonbase.zip or umelogonbase.jar.zip.
- Put the JAR file back to dist\PORTAL-INF\lib.


Remove Support and Register links

The links are controlled with the UM settings
ume.logon.logon_help
ume.logon.selfreg

You could also just comment out the lines...

Change/add images

To exchange the two images, which are by default on the logon page, do the following steps:

  • Copy the image(s) you want to use in your project in the the folder dist/layout.
  • Find the < img src="" > you want to work on in the umBotArea.txt
  • Change the src attribute in the img tag to src="<%=webpath + "layout/myPic.gif" %>". The webpath is already defined in the file logon_proxy.txt and ready to use.


In the Netweaver portal 6.0 SP9 and higher you have 2 images on the right side.

Add a Document (e.g. Intro or FAQ)

You can add a document link to the logon page, which points to a KM document. Updating the Logon Document would then involve no transports,and if wanted an approval process. Less paperwork to worry....

1. Setup a folder Logon, e.g. under Public Documents and put in there the document you want to point to.
2. Setup the folder with Read access for the Anonymous Users group.
3. Create a KM Document iview and choose Anonymous as access, but don¡¦t change the path to the document yet.
4. Preview the document and note down the URL of this page (In most browsers Right-click outside the image and select Properties to get the URL).
5. In the iview add now the KM path an d preview it again to make sure that the path is correct.
6. In the logon page, create a link. The href value is the URL you noted down but starting with /irj and without the portal server name and port (otherwise you have to change it after every transport).

To spin this idea further you could show an XML form by putting that into an IFrame.

Dynamic Images and Links

I want to archive a Logon page that looks different for different user. The final PAR file should also work through the DEV, QUA (and sometimes Staging STG ) and PRD without changes in the code. The user will access the portal in all cases via different URLs. Hence we have to check the Request URL which can be accessed in a Java Servlet [getRequestURL()]. In the code below we look in which system we are:

<% String url = componentRequest.getServletRequest().getRequestURL().toString(); if (url.indexOf("portal-e.")!= -1){... } else if (url.indexOf("portal-d.")!= -1){... } else if (url.indexOf("portal-q.")!= -1){...} else if (url.indexOf("portal.")!= -1) {...} else{...} %>

Another idea is to have different views depending from which URL you are coming.
Using that URL, you could have your Multi-Tenant portal without waiting to NW 2004s.

Accepting a Policy with the first Logon

A problem somebody had in the forum was, that a brandnew user should be redirected the first time to a Policy iview, where the user has to accept the policy.

After the acceptance the iview should not appear anymore. The solution was to add an new attribute field in the User Profile

See :
http://help.sap.com/saphelp_nw04/helpdata/en/a3/d2ffd64602c149949ca3cf379dc295/content.htm

Authschemes.xml

I have now the new par file, but to have the portal reference on this PAR file, we need to customize and upload the customized authschemes.xml file through the Config-Tool of SAP WebAS.

When you edit the file, you should download the file to a local directory, edit it, and when uploading the edited file, create a new node in the configuration tree for it. In this way you do not loose the original version of the file.

1. Start the Config Tool by executing \j2ee\configtool\configtool.bat.
2. Navigate to cluster_data>server>persistent>com.sap.security.core.ume.service.
3. Switch to edit mode by clicking on the pencil which is at the upper right area.
4. In the tree, select authschemes.xml and choose Download. Save the file to your local directory
5. Edit the local file: To select the new PAR file as the Logon page change the occurrence of all substrings com.sap.portal.runtime.logon to your

project/PAR file name. All com.sap.portal.runtime.logon should be substituted with something like com.company.portal.runtime.logon (or whatever you project name is). Don’t remove the part behind it.
(These are the profiles in the portalapp.xml and have the names default, certlogon, basicauthentication, header, and anonymous).

6. Create a new node in the configuration tree in the Config-Tool for the edited file as follows:
a.Select the node com.sap.security.core.ume.service.
b. Choose the symbol for Creating a node below the selected node.
c. Select the type File-entry.
d. Choose Upload and select the custom file from your local directory.
e. Enter a name for the entry, for example, authschemes_myHR.xml. By default, the name of the uploaded file is used.
f. Choose Create.
g. Choose “Close window”.
h. The new node appears in the configuration tree.
i. Go to Global server configuration>services> com.sap.security.core.ume.service and edit the property login.authschemes.definition.file.
The value needs to be changed from authschemes.xml to authschemes_myHR.xml
j. Restart the Portal.


Your done :)

Tuesday, September 05, 2006

Which SAP Enterprise Portal server node am I running on?


It is often useful to be able to work out which server node of your SAP NetWeaver Enterprise Portal cluster you are connected to. For example, if you have an SAP NetWeaver Portal with a SID of ABC, consisting of two dispatchers (central instance 12 and dialog instance 13) each with two server nodes, you could be connected to instance 12 server0 or instance 12 server1 or instance 13 server0 or instance server1. If you are having some problems, the support people in your organization will need to know which server node to start looking at.

This blog entry will describe a code fragment that can be used in a portal component to present details of the current server node that you are connected to.

The good news is that most of the values we need to display are available as System properties, and so can be accessed via:


String SID = System.getProperty("SAPSYSTEMNAME").toString();
String num = System.getProperty("SAPSYSTEM").toString();
String dir = System.getProperty("user.dir").toString();
String sep = System.getProperty("file.separator").toString();
dir = dir.substring(1+dir.lastIndexOf(sep));
String me = System.getProperty("SAPMYNAME").toString();
me = me.substring(0,me.indexOf("_"));


We use the file.system property to work out if we are on a Windows or Unix type system, and then use that to skip to the last part of the user.dir property, whcih shows us if we are on server0, server1 etc...

To get our node number is a bit more complicated, and requires we find a property created as part of the use of DSR (Distributed Statistics Records). The property name contains the node ID, so we get a list of all the properties and run through the list finding a name that matches that node name...

Here's the code...


String node = "";
Enumeration props = System.getProperties().keys();
while (props.hasMoreElements())

{
String thisProp = props.nextElement().toString();
if (thisProp.startsWith("dsr."+me+"_") && thisProp.endsWith(".buffersize"))
node = thisProp.substring(5+thisProp.indexOf("_"+SID+"_"),thisProp.lastIndexOf("_"));
}


Now we need to present the details - I'll use some HTMLB structures, so remember to include an appropriate ServicesReference definition in portalapp.xml...

IPageContext myContext;
myContext = PageContextFactory.createPageContext(request, response);
Form myForm =myContext.createFormDocument("Where am I running?");

Group mySID = new Group();
mySID.setTitle("SID: "+SID);
mySID.setWidth("300");

Group host = new Group();
host.setTitle("Host: "+me);
host.setWidth("300");

mySID.addComponent(host);
Group myGroup = new Group();
host.addComponent(myGroup);
myGroup.setWidth("350");
myGroup.setTitle("Instance number: "+num);
myGroup.setDesign(GroupDesign.SAPCOLOR);

myForm.addComponent(mySID);

GridLayout gl = new GridLayout();
myGroup.addComponent(gl);
int row = 1;

InputField ifHere = new InputField("here");
ifHere.setString("You are here");
ifHere.setTooltip("standort");
ifHere.setEnabled(false);
InputField ifServer = new InputField("server");
ifServer.setString(dir);

ifServer.setEnabled(false);
Label label = new Label("Server number");
ifServer.setLabel(label);
gl.addComponent(row, 1, label);
gl.addComponent(row, 2, ifServer);
gl.addComponent(row, 3, ifHere);

row++;
InputField ifNode = new InputField("node");
ifNode.setString(node);
ifNode.setEnabled(false);
label = new Label("Node number");
ifNode.setLabel(label);
gl.addComponent(row, 1, label);
gl.addComponent(row, 2, ifNode);
gl.addComponent(row, 3, ifHere);

myContext.render();

When run, it should look similar to:


Friday, September 01, 2006

SAP Back in the Race for Best Employer


For the third year in a row, SAP is participating in a survey and competition to be selected "Germany's Best Employer." In 2005 and 2006, SAP won the award in the category for companies with more than 5,000 employees." In addition to Germany, SAP Andina y del Caribe, SAP Mexico, and SAP Chile have also been recognized with the "Great Place To Work award by their corresponding national Great Place to Work Institutes in 2006.


As in previous years, the contest is decided by employees chosen at random to participate in the survey. Those selected then have the chance to actively defend the title of "Great Place to Work." Tuesday, September 12, is the big day. Five hundred employees at SAP AG in Germany will receive an e-mail with a link to the online survey. The survey, which runs two weeks, contains 59 closed questions and one open-ended. It is completely anonymous.


The philosophy of the competition is to recognize and award prizes to the best employers in Germany. The Great Place to Work Institute Deutschland, the independent research and consulting institute psychonomics, and the Capital business magazine, have jointly organized the competition, which elects the top 100 companies.


In addition to the employee survey, the Culture Audit is another evaluation tool. For the Culture Audit, Human Resources is requested to present all HR programs, measures, and concepts, and to document these with appropriate materials, from flyers to film. The employee vote, however, carries the most weight.


The results of the competition are expected at the end of the year.