Basis Notes From Folkszone

download Basis Notes From Folkszone

of 25

Transcript of Basis Notes From Folkszone

  • 8/2/2019 Basis Notes From Folkszone

    1/25

    What is a SAP Landscape? What is my role in a SAP implementation?

    The SAP Landscape is like a layout of a complex garden you have areas for roses, and areasfor lilacs, and it is all laid out in proper form. A SAP landscape can range from one SAPinstance with one client and one user who does all the input into the instance via keyboard to

    dozens of instances with hundreds of clients and thousands of users, with keyboard input, RFC(Remote Function Calls) and ALE (Automatic Link Exchange) from other SAP instances, linksto external databases, EDI (Electronic Data Interchange) via flat file from banks, vendors, etc.,and RF units in the warehouse. In other words, a SAP landscape can be very simple, or verycomplex. A bed of petunias, or the Hanging Gardens of Babylon.

    A normal SAP landscape consists of a Development (DEV) instance, a Quality Assurance (QAS)or Test (TST) instance, and a Production instance (PRD). Some very small implementations willhave only a DEV and PRD instance, with the DEV instance containing a QAS client for testing

    purposes.

    A non-Production SAP server should have 2 (preferably more) processors, at least 4 gig ofmemory, and at least 100g of disk space. A Production SAP server should have at least 4processors, from 4 to 8 gig of memory, and at least 200g of disk space. A hefty server with 6 8processors, 6 8 gig of memory, and at lease 200g of disk space can host two SAPinstances. This can be done for DEV and QAS but PRD should never share a server with anyother SAP instance.

    The SAP instances form the core of a SAP landscape. The other installed SAP products areperipheral to the SAP instances.

    y What is a SAP Instance?A SAP instance is all the components created by the SAPinst program who all share the samedatabase. There are three mandatory sub-instances; the Database Instance (DB), the Central

    Instance (CI), and the Dialog Instance (DI) aka Application Server. This is the minimumconfiguration of any SAP instance. There can be multiple DIs but only one DB and only oneActive CI which means that a copy of the CI can exist for High Availability but only one of theCIs can be active at any given time. You will hear about SAP being multi-tiered and that term isreferencing these three layers. Sometimes you might see other SAP tiers like ITS but thatreally isnt a separate tier, it used to be an additional piece of software working with IIS, andnow ITS is part of Basis/WAS so it is part of the CI Tier. These layers, plus other SAP writtensoftware, are also known as the SAP Business Framework.

  • 8/2/2019 Basis Notes From Folkszone

    2/25

    You can probably guess at what the DB contains. There are any number of tables in a SAPinstance, from 21,000 to 38,000. Many have four or five character names that are usuallyabbreviations of things like USR for user, MANDT for client, etc. You could guess that USR is

    short for user. But MANDT? So, we add one more variable to the equation those four or fivecharacter names are abbreviations of German words. Needless to say, trying to look at SAP froma typical DBA prospective is almost impossible. Fortunately, SAP supplies the tools for you tomanage all these tables.

    The Central Instance is a lump term for all the SAP executables, the installed OS file structure,and anything that is placed on the OS to support and communicate with the SAP instance. Ittalks to the database, handles requests made by the application server(s), and sends back theinformation. Other software products often call this the middleware layer.

    The Dialog Instance connects the users to the CI, passes the issued requests to the CI, and sendsthe returned results to the users session. SAP uses a client piece called SAPGui which handlesthe user-to-DI communication on the users workstation.

    These are the three main pieces of a SAP instance installation. There are other parts that can beadded for various sub-access and external tasks. For a Development SAP instance or a Quality

    & Assurance or Test SAP instance, all three layers are normally installed on the sameserver. For a Production SAP instance, the DB/CI are often installed on one server and the DI onanother server for load balancing purposes. It should be noted that the installation of a CIinstance automatically installs a DI which can be used by everyone if needed, be used only asneeded by Basis staff, or never be used.

    Instance can be a difficult term to understand almost every major database applies this term tothe installation of the database software. So if you see reference to an Oracle instance, thismeans the installation of the Oracle software. An Oracle database is the creation of a new empty

    database within that Oracle instance.

    Understanding the Startup and Shutdown prodedures may help solidify this layer concept.

  • 8/2/2019 Basis Notes From Folkszone

    3/25

    The normal SAP instance start up consists of three parts: starting the SAP OS Collector, startingthe Oracle Listener, and starting the SAP instance. The process mainly goes like this: oralogs on and starts the Oracle Listener then adm logs on and runs the startsap script.

    What? You say we missed a step? What happened to the SAP OS Collector?

    The startsap script takes care of the SAP OS Collector for us. When the SAP Instance starts upvia the startsap script, it checks to see if saposcol is up and running whether from the root userstarting it manually or from another SAP Instance already starting it up, it doesnt matter. Ifsaposcol is up and running, the script simply moves on to the next step. If it is not, the scriptstarts saposcol as root and then proceeds. So the SAP OS Collector gets handled one way oranother.

    However, you may need to bring up multiple Oracle Listeners depending on the databaseconfiguration. If the MCOD installation option was used then only one Oracle Listener is usedsince both databases share one Oracle listening port which is normally 1527. If, however, twoOracle instances were installed, and each database uses its own unique Oracle listening port, thenmultiple listeners must be started. The startup procedure for each SAP Instance would be exactlythe same as if only one SAP Instance resided on the server.

    The process to stop the SAP instance is close to being the reverse of the startprocedure. adm stops the SAP Instance, ora stops the Oracle Listener, and root stopsthe SAP OS Collector. The only real difference is that saposcol is not automatically stopped bythe stopsap script there may be other SAP instances on the server which means this softwareneeds to stay up and running to gather OS information until that instance comes down.

    One thing to note the Oracle Listener does not start the database, it simply watches port 1527for any database related activity. The startsap and stopsap scripts handling the startup, mount,

    opening, and shutdown of the database. None of this activity could occur if the listener was notpolling port 1527, relaying the requested database function, and returning the results throughthe same port.

    The adm and ora users are assigned environment variables using the SAP installationrun that identify them as users of a specific Oracle database and SAP instance. So when oraabc

  • 8/2/2019 Basis Notes From Folkszone

    4/25

    starts the lsnrctl program with the lsnrctl start command, oraabcs environment variables tellthe server which database for which the listener is to listen.

    yWhat are the different kinds of SAP software? What kind of hardware will they need?

    Although the most common flavor is SAP is called R/3. This is SAPs main ERP product thathandles Financials, Controlling, Logistics, Sales, Human Resources, and lots and lots of otherERP stuff. All these modules that is what the functional people call them live in and usecommon data in one SAP instance. All the modules are installed during a SAP instanceinstallation. Whether all the modules are implemented is up to the SAP customer.

    Each SAP flavor must be installed in its own SAP instance. Products such as APO (Advanced

    Planning & Optimization), BW (Business Warehouse), CRM (Customer RelationshipManagement), SRM (Supplier Relationship Management), SolMan (Solution Manager), andSCM (Supply Chain Management) are all SAP flavors installed into their own instances all ofwhich are pretty much installed the same way installed with a DB, CI and DI - and the processis pretty much the same depending on the age of the product. Just like SAPs product line, itsinstallation program SAPinst has changed over the years as well.

    In addtion, there are add-ons supplied by SAP. Products such as plug-ins for communicatingwith other SAP instances; the SAP Learning Solution, Sarbanes-Oxley, Best Practices, etc. can

    be added to an existing SAP instance. These add-on products are what the name implies theyadd more functions and data on to an regular SAP instances.

    Some SAP transactions communicate with external software but the functionality is either in theSAP instance or out on your network or on the internet. SAP transactions like SCOT use built-incommunication ports for the use of sending email from SAP to a SMTP server. TransactionSICF activates business packages for access via the internet.

    RFC Remote Function Calls can originate in the SAP instance and go out to talk to someother product that knows what to do with the request passed, and information is send back intothe SAP instance. And, of course, an SAP instance can talk to another SAP instance using RFC for example, this is how the Transpost Management System moves changed from one instanceto another. There are also products written by SAP partners which can be accessed externallyfrom a SAP instance: products like Vertex which is a Sales Tax database, and BSI whichcalculates payroll taxes.

  • 8/2/2019 Basis Notes From Folkszone

    5/25

    As for hardware, SAP has special hardware sizing software on which it trains its hardwarepartners like IBM, HP, Dell, etc. They have worked together to create templates for very small,small, medium, large, and very large SAP landscapes. Once you contact the hardware vendor of

    your choice, they will meet with you to calculate your SAPs a unit of measurement SAP usesto estimate workload decide into which category your company fits. From there it is prettymuch a plug-in the company data and spit out a sizing reports.

    Lets get this out into the open early: a Basis consultant does not do hardware sizing. Normally,they will look at the sizing report from your hardware vendor and tell you if they think it is tooweak or too strong. That is about all you can expect of them their career could be very short-lived if they say Hey, they are just trying to get you to purchase some really expensive boxesthat you just dont need!. Remember, SAP created the sizing program and trained this hardware

    vendor on it and that is what your quotes will be based. Anything critical said about the proposalcould get back to all sorts of people who could more or less hurt you in certain circles. Im nottalking about punching you out or stalking you. More along the lines of every problem messageyou open with SAP gets its priority bumped down to like a -5.

    Also, we recommend that you get hardware estimates from more than one hardwarevendor. Even if you mentally are locked into an IBM box running AIX and Oracle, it doesnthurt to see what the other platforms are selling for. And it doesnt hurt if rumor gets back to IBMthat you are talking to Dell. Playing hardware vendors against one another can lead to some

    hefty discounts given by a vendor who doesnt want to see a sale walk out the door.

    You can get a head start on the hardware sizing process by reading the documents available athttp://service.sap.com/sizing. If nothing else, you can impress your hardware vendor bysprouting out all these SAP terms like SAPs and High Availability and SANs.

    Besides servers for your database and SAP instances, you might need other servers for your SAP

    landscape depending on the complexity of your SAP implementation. At the very least, you willneed an additional not-too-hefty server for a Solution Manager instance which is what SAP isnow requiring as the tunnel to get into your SAP landscape; youll need a small server havinga public IP address and located in your DMZ for your OSS connection. More about this later.

  • 8/2/2019 Basis Notes From Folkszone

    6/25

    And there may be a need for Portals servers, UME server, a SAPConsole server the list goeson and on. As stated earlier, a SAP landscape can be very simple or very complex.

    Remote installation on your SAP servers can make the installation task simpler it is alwaysmore comfortable to do the work from your own workstation than having to sit in a cold, noisycomputer room. The Basis group of Hitachi recommends Terminal Services aka RemoteDesktop for this work. PCAnywhere and products such as Tight VNC do not possess thestability of Terminal Services.

    y How does SAP get installed?First, it must be noted that only the SAP company is allowed to KT (Knowledge Transfer)installation information. Clients may watch all they wish during installation, and are encouragedto install and delete sandbox instances on a spare server rather than let it gather dust. Butinstallation is not part of your purchased Technical Knowledge Transfer package.

    Without getting into the little details, here is what gets done during the typical SAP install thework that gets done after the hardware has been installed into the network and DNS:

    1. Make all server configuration adjustments as specified in the SAP installation guide.

    2. Download and install JDK 1.4x you can use JRE 1.4.x if you arent going to use the

    ABAP add-on.

    3. Install the database software.

    4. Patch the database software.

    5. Run SAPinst to install the CI and default DI instances.

    6. Run SAPinst to install the DB instance.

    7. Run SAPinst to install any additional DI instances.

    8. Download and install the most current SAP kernel.

  • 8/2/2019 Basis Notes From Folkszone

    7/25

    9. Current the TMS for the SAP instance.

    10. Download and apply all outstanding SAP patches.

    11. Request and apply the permanent license key.

    12. Do remaining post-installation work such as connecting SAP Online Help, creating clients,adding users, etc.

    Normally the post installation work takes 2 - 4x the amount of time of the actualinstallation. The installation itself normally take a one eight hour working day and the post-installation work two eight-hour working days for a total of three working days to install a SAPinstance. This regardless if it is a DEV, QAS, or PRD instance.

    y What is a SAP client?OK, we have the concept of a SAP instance, and that instance has a database which containsthousands of tables which contain a whole bunch of rows. After SAP is installed, these tablesneed to have some base data in order for customization and configuration to begin. Like stateabbreviations, country codes, HR titles, etc.

    SAP provides a subset of this data so that the Basis team can get in the new instance, addthemselves a user ID in client 000 our client - and start the real work. We dont want tomess this subset of data up so we need to populate it to a work place for the Functional Teamto do their work. Or several work places.

    The base SAP instance comes with two clients: 000 and 066. Forget client 066, it is used bySAP when you get close to GoLive and you want an EarlyWatch report. This is optional and Ibelieve a fee is involved for this service.

    All the base or subset data is contained in client 000. Also, client 000 is where the Basis Teamdoes a lot of its maintenance like patching. The Basis Team people are the only implementationmembers who will ever have access to client 000. You can think of client 000 as the owner of allthe client independent data in the SAP instance. Explanation in a minute.

  • 8/2/2019 Basis Notes From Folkszone

    8/25

    So, in order to let the Functional Team do their own thing without screwing anything up, wecreate a new client for them. Think of a client as a view of the database. If you log into client000, you can see all client independent data like the ABAP programs and all the data that isdependent on client 000 only. If you log into client 100, you see all client independent data like the ABAP programs and all the data that is dependent on client 100. You cant see the

    data that is dependent on client 110 while you are logged on to client 100.

    Thus the concept of client dependent and client independent data. All rows in some tables areaccessible from any client like T000, the Data Dictionary tables, tables that contain the ABAPprograms, printers, etc. These are said to be client independent. Data like users, companies,vendors, customers, etc. are client dependent. You have to go into a specific client in order tosee this data.

    y How do I create a new client?This is a pretty easy procedure. Basically, you add a new logical system in transaction SALE,create a new client in transaction SCC4 using the logical system you created previously, create aRFC target destination using transaction SM59 with the same name of the logical name, create aRFC source using transaction SM59 for the source or from client, log on to the new client, andschedule a client copy from the source client to the destination or to client. Thats all there isdo it

    When you bring up a new SAP instance, you add a client 100 and schedule a client copy fromclient 000 to client 100. This is called a local client copy since the source or from client iscontained within the same SAP instance as the target or to client. When you add a new SAPinstance to your landscape, like QAS, you might want to copy client 100 in the DEV instance toclient 200 in the QAS instance. This would be a remote client copy.

    A client copy is destructive in other words, all the data in the target client is deleted during theclient copy. So the procedure is not just for creating new clients but refreshing existingdata. The only exception to this rule is the using the SAP_CUST profile to do the copy it willleave all the data in the target client intact with the exception of the user master data which willbe deleted and replaced with the source clients user master data. You can even mix and match,the data from one client and the user data from another, and copying them both at the same timein the same client copy run.

  • 8/2/2019 Basis Notes From Folkszone

    9/25

    A client is created using transaction SCC4 and at the time of creation you must specify what typeof client it will be. Is it to be used to create configuration changes that are to be transported toQAS and PRD? Is it a reference client, frozen so it can be used to refresh the data contained in

    test clients? Can both client-dependent and client-independent data be changed in this client, oronly client-dependent data, or no changes allowed at all? These various types of client have theirown labels to the SAP implementation team: golden client, unit test client, configuration client,ABAP client, production client, etc. If someone references a client with which you are notfamiliar, be sure to ask for clarification so that the wrong client does not end up being the sourceclient for a client copy!

    y What is this permanent key stuff?When a SAP instance is first installed, it installs with a temporary license that expires in 4weeks. You must request a permanent license key via the SAP Marketplace. More about that

    later.y How do the users communicate with the SAP instance?

    Well, of course, you need to add them to the SAP instance. Then the user has to be able toconnect to the application layer in some from. Normally this is using the SAP supplied programSAPGui which is installed on a users workstation, but here are other ways such as connecting toa Citrix server on which SAP is installed or connecting from the internet using a SAP product viaPortals, ITS, or some other product, or using one of the SAGUi alternatives like SAPGui forJava.

    SAP uses some common ports no matter where it has been installed. The first instance installedon a server is labeled as System Number 00. It would use ports 3600 for the Dispatcher, 3300for the Gateway, and 3600 for the Message Server. If you had a second SAP instance installedon the same SAP server, it would normally use the next available number in the port range. SoSAP instance #2 would be System Number 01, use port 3601 for the Dispatcher, 3301 for theGateway, and 3601 for the Message Server. As long as a user can access these ports from hisworkstation, he can log on via the SAPGui installed on his workstation.

    y How do I limit what my users can do when they log on to a SAP instance?SAP user security is done via roles. A role is basically a group of transactions, authorizations,and authorization objects bundled together for use by a group of users with common functional

  • 8/2/2019 Basis Notes From Folkszone

    10/25

    needs. This group definition is saved and generates a profile which is attached to the SAP userwho needs it.

    People often get intimidated by SAP security there are thousands of transactions,authorizations, and objects. It helps to think of all this is simplistic terms.

    Lets say you have a user who needs access to one transaction in the SAP instance. All he needsto do it log on, go to transaction SPAD, and print a list of available printers. That is his wholejob, to create this printer list once a day. So he needs the authorizations that allow him to log onto SAP, to go to the SPAD transaction, and to print the list to any available printer. He has * toall printers. He basically needs a role containing the transaction he is allowed to do, SPAD, andthe authorization object S_SPO_DEV set to all because he can see and print to any printer.

    Then lets says a new check printer gets added to SAP, and we dont want the user to be able toprint his printer list to the new check printer. So we change authorization object S_SPO_DEV toa list containing authorizations for the printers to which he can print, excluding the checkprinter. His dropdown list for printers wont even show the new printer now. And he will beable to print to any printer in his printer authorizations list.

    This is a simplistic example but you can see how it works. SAP security can be very tight orvery loose. In general, it is loose in DEV, using a modification of the SAP_ALL profile sort ofGod-like powers and what the Basis people normally use since it already exists and why make arole that does the very same thing? - to allow every DEV user to do everything with theexception of Basis tasks. QAS may be a little tighter, or a combination, allowing the userSAP_ALL during training but limiting the user to his/her PRD role in another client on the lastday so he can test the role he will really use out. In PRD, of course, users should only receivethe rights to only what they absolutely need to do.

    y How do I patch a SAP instance? How often should I do it?There are three different types of a SAP patch: support packages, kernel replacements, and SAPNotes aka OSS Notes.

  • 8/2/2019 Basis Notes From Folkszone

    11/25

    Support packages are used to make ABAP code and functionality changes. ABAP is thelanguage in which SAP is written and it is pronounced AAAA-bop and not AAAAA-bap. Support packages contain a group of ABAP fixes that must be installed via transaction

    SPAM from within a SAP instance. You apply these fixes in a specific order: Basis, ABA(Application Basis patches the software that supports the interaction of SAPGui with the SAPinstance), APPL (application functional patches), and then plug-ins, etc. that also exist in theinstance because add-ons and stuff have to be patched too. After you apply support packages toa SAP instance, you need to regenerate all the ABAP loads so that users dont have to sitwatching Compiling messages the first time a changed ABAP program is called.

    Kernel patches are simply a replacement of the SAP executables on the OS level. This is alwaysdone to a new SAP instance and most likely done following a support package application run.

    SAP Notes or OSS Notes contain a patch or two to solve an immediate problem. The Basisstaff either manually applies an ABAP code fix or uses the SNOTE transaction in the SAPinstance to apply the fixes. There are times, however, when the note contains instructions thatmust be done manually in other words, things must be done that SNOTE cannotdo. Eventually, as the SAP Note corrections become more and more, SAP will group themtogether and release a new support package so that they can be applied en masse and not one-by-one.

    In order to download any of these patches, you must log in and download them from the SAPMarketplace athttp://service.sap.com/patches. And you must have a valid OSS ID aka SAPFront-end User ID or s number with the rights to access the patches webpage.

    Other products, such as J2EE, are patched via a combination of deployment of packages andreplacement of OS executables.

    In general, you should schedule your support package maintenance often enough to preventshell-shock to users due to massive changes in the SAPGui screens, and rarely enough that youdont spend all your time preparing for the next support package application window. Often,patch application is driven by an identified problem that can be fixed via a support packagereferenced by SAP.

  • 8/2/2019 Basis Notes From Folkszone

    12/25

    Just make sure to get a list of all the packages that will be applied, and use the SAP Notes Side-Effects tool off the SAP Support Packages in Detail site at http://service.sap.com/patches to get alist of everything that is changed during patching for your Functional team leads.

    y What are all these numbers? s number, license number, etc.When you become a new SAP customer, SAP assigns you a customer number. This number islike any other customer number you assign your own customers, or that companies assign to you.It uniquely identifies your company to SAP.

    Once you sign your software license, each of the SAP components you purchase is assignan installation number. So, you signed a mySAP.com Business Suite license? Then you will beassigned an installation number for R/3, another installation number for BW, another installationnumber for CRM, etc. You also signed a license for KW? That would be another installationnumber. SAP sometimes splits existing products out to other divisions, so you may even beassigned a second customer number with new installation numbers assigned under that number.SAP did that with Enterprise Portals. An installation number identifies a customers SAP

    component. If you open a problem under your R/3 installation number, SAP knows that theproblem is going to deal with R/3 and not CRM, BW, etc.

    A few weeks later, SAP shipped your installation kits and you installed R/3. Four weeks later

    your users get a message saying that the license has expired. But you signed your licenseagreement! When an SAP instance is installed, it gets assigned a temporary license key that isgood for approximately four weeks. You need to request a permanent license key as soon as youfinish your installation of the SAP instance. How? First, you will need yourhardware key. Thisidentifies your operating system information so SAP can generate a key that is not only good foryour SAP version but for your hardware as well. To see your hardware key, log on as admand go to a command prompt. Type saplicense -get and your hardware key will be displayed.Jot it down, you will need it later. The hardware key for NT is different than, for example, the

    hardware key for AIX. So if you change your SAP license from AIX to NT, you will need tomake sure that your company is attached to the new hardware key or you wont be able torequest new permanent license keys.

    To request your new permanent license key, go to http://service.sap.com/licensekey. Use thiswebsite to give SAP information on which SAP flavor your have installed. You will have toprovide your hardware key as well. SAP will generate the new key and e-mail you a text file.

    Save the text file on your SAP server, log on as adm, and go to a command prompt. Typesaplicense -install ifile=. Your key should be installed!In later versions of R/3, you can use the SLICENSE transaction as well.

  • 8/2/2019 Basis Notes From Folkszone

    13/25

    Now your system is flying! But your ABAPers sign on for the first time, and they need to add anew program to upload master data. When they enter se38 they get a message asking fortheir developer key. This key is generated by SAP as well, and is used to register your superusers who will be responsible for adding new code and changing SAP-owned code. Goto http://service.sap.com/sscr to register your programmers. Once you have the developer key,

    give it to your ABAPer and he can enter it into the system. He will only have to supply it onceper SAP instance.

    Now your ABAPers are cranking out code, your system is humming, and then! Pow! Thedreaded short dump hits you when you arent looking. You look up the error code and find avalid OSS note to fix the problem. You log on to apply the advance correction, your giveyourself a developer key, go to transaction se37, but a new popup wont go away, it keeps askingfor an access key for R3TR FUGR XXXXXXXXXXXXXXXXX. You must get an objectkey in order to modify an SAP-owned object. Since SAP owns all the ABAP code that comeswith the SAP instance, you have to get a key in order to apply the advance correction. Again,you would use http://service.sap.com/sscr, this time to generate an object key.

    All this SAP website access also demands that you have an OSS User ID, or as it is nowknown, SAP Service Marketplace User ID or S Number. The user ID to perform the tasksoutlined in this message must have administration rights. You should have received yourprimary OSS ID when you got your SAP license. If you have not received a primary OSS ID, oryour SAP reseller seems to have control of your primary OSS ID, contact SAP AG to resolve theproblem. Your OSS ID is connected to your SAP customer number, so if you have twocustomer numbers, you will receive two OSS IDs. Make sure to limit the powers of anysubsequent OSS IDs generated by the Basis group. More on this later.

    SAP has recently complicated the license scenario by introducing user licenses. Do not confuse

    your software license keys with SAP licensing of the usage of named users. These are twodifferent things! Usage by users of an SAP instance will be monitored by your auditing team,and normally the only function of the Basis group in this regard is using su01 to register thetype of each user.

    Now there is only one other really important number you need to know: the phone number foryour Basis technical consultant!

    y How do I add users? Do I have to add them all to each client one-by-one?You use transaction SU01 to add and change users. If you want to copy the users from client100 to the users in client 110, you can do a special kind of client copy that is non-destructive. When the profile SAP_USER is used during a client copy, just the user master datais copied from the source client over the target client, and the rest of the database is left intact.

  • 8/2/2019 Basis Notes From Folkszone

    14/25

    No matter how you manage your user security, there is no getting around the fact that you haveto manually add them all to at least client at some time or another. The best way is to add themall to client 100 in DEV since that is the Golden client and should never be refreshed or

    written over by a client copy. Once you have them all in one spot, you can use a client copy forjust user master data and pop all the clients wherever you want them.

    There is another way to add users to clients called Central User Administration (CUA). CUAallows you to designate one client in the SAP landscape that is the parent of all or specifiedclients, both local and remote. When you add a new user to the parent client, the child clients getpopulated with this data. Thus, one user add will trigger others within the instance and to otherSAP instances as well. This technique should only be used on clients that are not to be refreshedin the future.

    y Do I have to add printers to each client too?

    No, printers are client independent data. Once you add a printer using the SPAD transaction inan instance, it is available to all clients in that instance.

    y So what does the Functional Team do in their own little client(s)?They do configuration and customization. Think of configuration equal to you going intoOutlook on your workstation and changing things in your Tools -> Options. You change yourCalendar Default Reminder to 5 minutes instead of the default 15 minutes. Now, multiple thatby about 1000x and you have an idea of what configuration entails. This configuration coverstax rules, country codes, company codes, sales regions, sales areas, sales pipeline, all that stufftechnical people really dont want to know.

    Customization is changes made to SAP-owned objects when configuration does not have anoption for what you need to do. For example, SAP comes with several canned Sales Invoicedocuments. If none of them contain a format you can use, your Functional Team will work withan ABAP consultant to create a new Sales Invoice document that better suits your companysneeds.

  • 8/2/2019 Basis Notes From Folkszone

    15/25

    Depending on the configuration and customization changes made, the SAP instance may forceyou to register these changes in the form of transport. The implementation will try to group allthese changes into transports that contain all the work done for a project or a unit of work so that

    they can be moved to QAS and later PRD easily.

    The TMS (Transport Management System) is used to move these transports between SAPinstances. Movement of these changes between clients in the DEV instance can be done by thefunctional people using SCC1. What goes on in the DEV instance mostly never is important toBasis. Once the changes need to go to QAS, the Basis team takes over and uses TMS to movethem for the functional team.

    TMS movement can be very loose or very tight. Some shops simply release a transport and thensend email to the Basis group asking them to move the transport into QAS, and later into PRDduring off hours. This is called manual TMS control.

    Some companies schedule jobs to move any transport found in the QAS queue to QAS at a settime once or twice a day. The transport is also moved into the PRD queue where is staysawaiting approval. Once the transport has been tested in QAS and is ready for PRD, the projectsupervisor and/or system administrator uses a transaction to OK the change import into PRD

    which releases the transport in the PRD queue which gets imported into PRD during the nextscheduled PRD TMS job run. The method is automatic and requires little intervention by theBasis Team.

    Most companies use some combination of these methods. There are several variations such asmoving changes to client groups in DEV the same time the change is imported into QAS, andimporting the change into multiple clients across the landscape.

    The TMS tool is used by the SPAM and SAINT transactions in order to manage the supportpackages waiting to be applied which is why it is one of the first post-installation steps that mustbe done in a new installation. All the SAP instances of a particular flavor share a transportdirectory which is normally owned by the DEV instance since it is the first instanceinstalled. Different SAP flavors need their own SAP transport directory, meaning all CRMinstances share a TMS, all BW instances share a TMS, etc. Very few transports can safely be

  • 8/2/2019 Basis Notes From Folkszone

    16/25

    cross-instance applied since not only the SAP flavor should be the same but the Basis version aswell.

    ABAP programmers are special. No only do they create new ABAP programs, theysometimes have to change existing ABAP program. These programs are SAP-owned so thingscan get a little sticky. Whether adding a new program or changing an old one, everyprogrammer need a developers key that we previously discussed. This will be fine for newprograms, programs that should either begin with Y or Z. So if you hear someone referenceZ programs, you know what they are talking about, it is a general term to refer to all home-grown SAP programs and include not only the programs whose names begin with the letter Zbut the ones that being with Y as well.

    SAP doesnt like programmers just going in and changing ABAP code that it owns . Andremember, ABAP programs are client independent, so if a bug gets into a program from a changemade by a programmer in client 120, it affects client 000, 100, 110, etc., all clients share oneversion of the ABAP programmer. As a form of security and to allow better tracking of SAP-owned objects, a key must be generated at http://service.sap.com/sscr - SAP Software ChangeRegistration that is unique to the object about to be changed. Only the Basis group can do this,programmers cannot request SSCR key on their own, or that is the way your Basis group shouldmake it work. Basis has control over the other S numbers generated against your SAP license,and you have to have a S number with administration rights in order to generate a DevelopersKey or an Object Key. So, genereally, when adding a new S number for a non-Basis groupperson, allow note searching and any message to SAP options on, and everything else off.

    y What factors affect SAP Performance?Like every other complex piece of software, performance in a SAP instance depends on manyfactors. So you often have to play detective to find the core of your problem.

    The most common complaint is when a SAP instance is cycled meaning stopped andrestarted. As we touched on earlier, a SAP instance is comprised of millions of lines of ABAPcode which are generated into load objects. When a SAP instance is stopped and restarted, alldata and program information is flushed from SAPs internal buffers. So every time a new SAPprogram needs to run after being cycled, the needed program has to be read and then placed in

  • 8/2/2019 Basis Notes From Folkszone

    17/25

    the program buffers for use. Not only that, if the ABAP code for that program has been changedor the load object invalidated in any way like a kernel replacement that added newfunctionality, etc - the program must FIRST be recompiled and then loaded into the buffer. Thenext time the program is called, it will execute faster since its load object is already out there inthe buffer. The most commonly used programs in a SAP instance number in the thousands, so as

    the day goes by, SAP response time goes faster since getting a hit in the buffer for a certainprogram happens more and more often. But there might come a time when some of these fastprogram have to be switched out of the buffer because their date/timestamp is the oldest of allthe programs in the buffer, and the buffer is full. Buffer swapping can slow a SAP instancedown.

    Another factor that often causes a slow down or even a hanging SAP instance is failure todump the database log. This occurs more often in Oracle instances since a MS SQL Serverdatabase will just keep growing until there is no more room on the hard drive, which is

    something rather easy to spot. Many people fail to process the ReDo files created by an Oracledatabase by backing them up to tape and informing BRBACKUP that they have been processed,and they just keep accumulating until there is no place else to put them. This can cause thedatabase to hang which causes the SAP instance to hang. For a DEV or QAS instance, mostDBAs turn off log archiving. On PRD instances where a backup should occur nightly, a taskcan be scheduled to delete all ReDo files older than 2 or 3 days as long as the archive files arebacked up when the rest of the SAP instance is backed up. Another common problem withOracle is if the logging and automatic archiving are turned off. Both should be never both beoff to prevent the archiver from getting stuck.

    It is possible for someone or something to get into an infinite loop and just keep eating up yourCPU. Transaction SM50 shows you what is running at any given moment. Almost everyprocess shown in SM50 has a corresponding process on the server side. You can use the processID in SM50 to investigate the corresponding tasks on the server. You can normally use SM50 tocancel any hung processes but sometimes you have to go to the OS level and cancel theprocess there.

    Server space is not just critical on the hard disk where the logs are created. Any shortage of harddisk space on a SAP server should be corrected at once. SAP is like any other software; it usesTEMP space, and generates other type logs, like job logs and print logs. You want to make surethere is plenty of space available on all your SAP server drives.

  • 8/2/2019 Basis Notes From Folkszone

    18/25

    Index rebuilds and statistics jobs should be scheduled on all your SAP instances on a monthlybasis. This will keep your database tuned and efficient. Any time you do a mass program regenusing transaction SGEN, you should schedule a statistics run on the database as well.

    Every SAP instance contains three profiles that let us tune and adjust various parameters such asbuffer size, default client, number of processes, etc. Rarely will you touch two of these, theDEFAULT.PFL and START_DVEBMGS00_. The third,_DVEBMGS00_, you will probably spend the rest of your SAP careerchanging. Erroneously changing one of these profiles is common reason why a SAP instancethat was working perfectly in the past wont come up now. That is why even though you makeyour changes to the profile using transaction RZ10, once you activate it, it gets written as a flatfile out on your instance server. So if a parameter change causes your SAP to fail during startup,you can undo the changes with VI on UNIX or notepad on Windows.

    UNIX commands used for SAP administration:

    1. stopsap/startsap for stopping/starting SAP+ DB, stopsap r3/startsap r3 for stopping/starting R3

    2. Cdpro for checking the profiles path SAPMNT//profile

    3. Cdexe for checking the kernel folder

    4. find . -name filename -print for checking the file in the present directory

    5. dpmon pf= , jcmon pf=

    6. df -k, bdf for checking all file system usages; df -k ., bdf. for individual file usages

  • 8/2/2019 Basis Notes From Folkszone

    19/25

    7. ls -lrt for listing of files according to the date modified

    8. du -a | sort -k 1n,1 for sorting the files in a recursive manner.

    9. h for listing previous used commands.

    10. rm < file> for removing file, gzip for zipping the file.

    11. Ps -ef is to check the how many running process and Kill any running process

    12. gunzip to unzip file

    13. tar -xvzf file name to run the zip folder of file content

    14. mv mo from one path to another

    15. Rf remove forcifully any file

    16. Make command to effect any coading content

    17. make clean to clean the effect of make command

    18. cp coppy from one location to another

  • 8/2/2019 Basis Notes From Folkszone

    20/25

    19. pwd check the current directory

    Configuring TMS - Transport Management System

    1. Log on to client 000 of the SAP instance to serve as the Domain Controller.

    2. Go to transaction SE06.

    3. Click on thePerform Post Installation Actions button.

    4. Go to transaction STMS.

    5. You should see a popup box with the title TMS: Configure TransportDomain. If the popup doesnt say that, press F6 to change to thecorrect popup box.

    6. Fill in the TMS: Configure Transport Domain popup with theDescription, Name of DOMAIN_, and the description of theTransport Domain. Then clickSave.

    7. On the Transport Management System screen (if you arent there, back out until you are),assuming that this is the first SAP instance and there are no otherinstalled SAP instances in your landscape yet, and assuming that youwant your transport requests to be transportable and not local only,click on Overview Systems.

  • 8/2/2019 Basis Notes From Folkszone

    21/25

    8. On the System Overview Domain Domain_ screen, clickSAPSystem Create External System. Fill in QAS if you are going to have a three systemconfiguration or PRD if you are going to have a two system configuration, or make up a

    if you are never really going to have another SAP system. Fill in the rest of the informationincluding thePath which is assumed to be\\:\usr\sap\trans for NT or /usr/sap/trans for UNIX.ClickEnvironment Transport Routes.

    9. On theDisplay Transport Routes screen, click the User Settings button, turn onthe Hiergraphical List Editor, and click the Continue button. Back out of the screen and thengo back in you should see the list in a text mode which makes it easier to handle.

    10. On theDisplay Transport Routes screen, click theDisplayChange button to toggle intoChange Mode.

    11. On the Change Transport Routes screen, clickConfiguration StandardConfigurationDevelopmentandProduction System.

    12. Fill in theDevelopment and Production System popup, using your current SAP system SIDas theDevelopment system and the SAP instance you created in step #8 as theProduction system.Click the mark to Continue.

    13. Back on the Change Transport Routes screen, click the Save icon and confirm all the popupquestions.

    14. On the Change Transport Routes screen, back out until you can once more see theTransportManagement System screen. ClickOverview Systems.

    15. On theDisplay TMS Configuration: System XXXscreen, double-click the TMS Domaindomain controller SAP instance.

  • 8/2/2019 Basis Notes From Folkszone

    22/25

    16. On theDisplay TMS Configuration: System XXXscreen, click theDisplayChangebuttonto toggle into Change Mode. Click the Communication tab and make sure that the TransportGroup Name is correct. It should contain of the Domain Controller in the format of

    DOMAIN_ where is the System ID of the SAP Domain controller. Use thedropdown to find the correct entry it the field is blank. Click the Transport Tooltab. Verify thatthe information on the tab is correct and click theInsert Row button. Add aParameterof CTCand a Value of 1. Click theSave button.

    17. Do step #16 for every system in your TMS Domain, making sure to change allTransportGroup Names are the same and the CTC row is added to each with a value of 1.

    18. Save your way back the the main STMS screen.

    Step by Step Procedure to copy a Client to the Remote SAP Server.

    y Logon to destination SAP servery Use Transaction Code SCC4y Go to change modey

    Create a new client, assign client number & description as per requesty Logoff from current client.y Login to newly created client in destination SAP server using the following credentials :

    i. Client Number : Newly created one

    ii User Id : SAP*

    iii Password : PASS

    y Use Transaction Code SM59 to create a RFC Connection for client copy if does not existalready.

    y RFC Connection should have Target Server as Destination and the test results should sayConnection test OK

  • 8/2/2019 Basis Notes From Folkszone

    23/25

    y Use SCC9 Transaction code to go to client copy screen.

    y Give profile as per the request.y Select RFC destination created for the purpose for the source client to client copyy Use Transaction code SCC3 for monitoring the progress of client copy

    ___________________________________________________________________Golden rules for CLIENT Copies

    1. Master data can not be copied without copying transactional data and transactional data

    can not be copied without copying master data.2. Application data (transactional and master) should not be copied without copyingconfiguration data.

    3. Client copy requires a valid client as the destination client. Make sure that the client existsin T000 table and you can logon to that client.

    4. The transport system and the transport management system of 4.0 are the only proper toolto be use to keep multiple systems in sync by transporting development and customizing changesto another instance.

    5. When you copy a client from one system to another, client-independent tables should onlybe copied if they are not yet modified in the target system.

    6. We recommend the users to read all the OSS notes regarding client copy that applies totheir SAP release. It is always better to schedule the client copy job in the background for thenight run when normal work is not taking place.

    7. Always check the database space before performing a client copy.

    8. To avoid data inconsistencies all the users working in the source and target clients should

    logoff from the system.9. RSCLICHK program should be run in the target system remotely before doing a clientexport. This program will give information about the missing definitions from the data dictionaryin the target. After executing this program and getting successful results you can ensure that theclient copy will have no problems. In case some tables are different; you can use SE11 tocompare and adjust the table structure in both the system before the client copy. A remote testclient copy also can be executed to know the differences between source client and target client.

  • 8/2/2019 Basis Notes From Folkszone

    24/25

    10. If you are not in release 2.2 then do not use R3trans to copy a client.

    Step by Step Procedure to create a copy of a client locally in the same SAP server.

    1. Logon to SAP server

    2. Use Transaction Code SCC4

    3. Go to change mode

    4. Create a new client, assign client number & description as per request

    5. Logoff from current client.

    6. Login to newly created client using the following credentials :

    i. Client Number : Newly created oneii. User Id : SAP*

    iii. Password : PASS

    7. Use Transaction Code SCCL for local client copy

    8. Give reference client for copy and profile as per the request

    9. Use SCC3 Transaction code to monitor progress of Client Copy.

    Golden rules for CLIENT Copies

    1. Master data can not be copied without copying transactional data and transactional datacan not be copied without copying master data.

    2. Application data (transactional and master) should not be copied without copyingconfiguration data.

    3. Client copy requires a valid client as the destination client. Make sure that the client existsin T000 table and you can logon to that client.

  • 8/2/2019 Basis Notes From Folkszone

    25/25

    4. The transport system and the transport management system of 4.0 are the only proper toolto be use to keep multiple systems in sync by transporting development and customizing changesto another instance.

    5. When you copy a client from one system to another, client-independent tables should only

    be copied if they are not yet modified in the target system.6. We recommend the users to read all the OSS notes regarding client copy that applies totheir SAP release. It is always better to schedule the client copy job in the background for thenight run when normal work is not taking place.

    7. Always check the database space before performing a client copy.

    8. To avoid data inconsistencies all the users working in the source and target clients shouldlogoff from the system.

    9

    . RSCLICHK program should be run in the target system remotely before doing a clientexport. This program will give information about the missing definitions from the data dictionaryin the target. After executing this program and getting successful results you can ensure that theclient copy will have no problems. In case some tables are different; you can use SE11 tocompare and adjust the table structure in both the system before the client copy. A remote testclient copy also can be executed to know the differences between source client and target client.

    10. If you are not in release 2.2 then do not use R3trans to copy a client.