As a newbie in SAP, I always spend my time looking for a freee ebooks or pdf on SAP. Sure there are so many sites, webpages, blogs that offer information on SAP but not all of them are helpful. If I have any questions on SAP, I go directly at SAP Help to search for the answer. If I did not find what I’m looking for then I go to SDN (SAP Developers Network) to look for the answer, If I still didn’t find what I’m looking for, then I’ll post my problem on under the category that most fits my question.
I also recommend dbebooks as a great source of free SAP ebooks and pdf articles. And also, SAP Material is a great source of information on SAP that helps me in many ways.
Cool SAP Advertisement
I was randomly watching videos on youtube and I stumble upon this cool video ads of SAP.
SAP* Password Reset
When you forgot the password of SAP* user on a certain client on SAP, you could always reset it by deleting its record on your database.
DELETE FROM <db name>.USR02
WHERE BNAME=’SAP*’ AND MANDT=’<client no.>’
On the script above, <db name> is the database name of your system which is usually the same with system id and <client no.> is of course the specific client you want a password reset of SAP* user. Let say my system id is “flq” and i want to reset the password of SAP* on client 100, my script would be like this:
DELETE FROM flq.USR02
WHERE BNAME=’SAP*’ AND MANDT=’100′
Once you successfully run this script on your database, you could now log on to your system on a specific client by using SAP* and password = pass.
Note: SAP* user is activated when parameter login/no_automatic_user_sapstar is set to 0(zero).
SAP client copy
We always use client copy during the initial installation of the R/3 system. We create new clients by copying client 000 which is always available when you install the R/3 system. Other than that, we also use client copy to create test clients, deve clients, playground clients, training clients, production clients, etc. You could initially create new clients through tcode SCC4 and copy a client through tcode SCCL.
When copying a client, you could always select a components you want to be copied with the use of Copy Profiles. I googled for a list of copy profiles and help.sap.com always comes in handy. Here’s a list of common copy profiles for client copy.
SAP_USER - Users, user roles and authorization profiles are copied. The client is not reset.
SAP_UONL - User without authorization profile and role
SAP_PROF - Only authorization profile and roles
SAP_CUST - Client-specific customizing including authorization profile is copied. The application data is deleted, the user data is retained.
SAP_CUSV - SAP_CUST with variants
SAP_UCUS - SAP_CUST with user master data
SAP_UCSV - SAP_UCUS with variants
SAP_ALL - All client data and local data is copied.
SAP_APPL - SAP_ALL without user master data
SAP_AAPX - SAP_ALL without authorization profile and roles
Also remember that copying clients requires a large amount of system resources so always ensure that enough resources and database storage space are available.
Setting the NavigateUrl property of a hyperlink control in gridview is very easy. But what if you want to pass the value of a specific field in your gridview as a url parameter of your hyperlink control? Well here’s how to do it.
Let say we have a customer list in a gridview and an edit link on the first column and customer id, name, and address on the following columns shown on the image below. Now we want to set the url of our edit link to customerEdit.aspx and at the same time pass the value of the customer id column as a url parameter.

To do this, create a template field for your first column and create a hyperlink control for your item template (See code below). Don’t forget to set the ID of this control because we will use it as reference. You will notice that we didn’t set the value of its navigateUrl property yet, it is because we want to set it row by row while we populate the gridview.
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID=”EditLink” Text=”Edit…” runat=”server” />
</ItemTemplate>
</asp:TemplateField>
If you want your link to be an image instead of a text, you could always use the ImageUrl property of the hyperlink control.
<asp:HyperLink ID=”EditLink” ImageUrl=”~/Image/edit.png” runat=”server” />
In this example, my image “edit.png” is located inside the Image folder of my web application root directory.
Now lets move on to the next step, the setting of NavigateUrl property. We will set this property in each row while our datasource populates our gridview. To do this, we will be writing our code in the RowDataBound event of our gridview.
Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As _ System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
Dim myLink As HyperLink = CType(e.Row.FindControl(”EditLink”), HyperLink)
myLink.NavigateUrl = “CustomerEdit.aspx?CustomerId=” & e.Row.Cells(1).Text
End If
End Sub
The hyperlink control that we created will only be available on datarows, that’s why we have to check the rowtype of each row before we proceed on setting the hyperlink’s navigateUrl property. If we did not put the line If e.Row.RowType = DataControlRowType.DataRow, we will end up searching for a hyperlink control that is not available on the given row.
After we checked the rowtype and confirmed that the row is a datarow, we then now create a hyperlink variable called “myLink”. We use the code CType(e.Row.FindControl(”EditLink”), HyperLink) to search for the control on the current row with ID=”EditLink” and convert it to a hyperlink type control. We then set this control as the value of our hyperlink variable called “myLink”.
We now have access on a hyperlink control in a given row through “myLink” variable. In this example, we set its navigateUrl property to customerEdit.aspx and pass the value of customer id located in the 2nd column of our gridview as a url parameter called “customerID”.


