Learning Abap the easier way


Step by step learning ABAP

ABAP stands for Advanced Business Applicatian Programming. The ABAP programming language was originally used by SAP developers to develop the SAP R/3 platform. It was also intended to be used by SAP customers to enhance SAP applications customers can develop custom reports and interfaces with ABAP programming. The language is fairly easy to learn for programmers but it is not a tool for direct use by non-programmers. Good programming skills, including knowledge of relational database design and preferably also of object-oriented concepts, are required to create ABAP programs.


If you are new to ABAP, there are 2 point you should learn first, in following order:
1. Explore Data Dictionary
Data dictionary is a workplace for defining table, define data type, display table content.
Go to transaction code SE11 (SAP Menu->Tools->ABAP Workbench->Development->Data Dictionary).
Then enjoy exploring data dictionary.
2. Create ABAP Report
Go to transaction code SE38 (SAP Menu->Tools->ABAP Workbench->Development->ABAP Editor), and try to write your first program.

Here are other useful links for beginner:
ABAP Overview in Wikipedia
Blog Series in SAP Developer Network



Some sample examples are:

- Defining Tabs On Selection Screen.

- Sample Report Program Using ListBox Parameters.

- Push Buttons On Selection Screen.

- Define ICON'S On The Selection Screen.

- Define Tab Strip In Selection Screen.

- Example - Selection Screen Parameters.

- Selection Screen To Restrict Options.

- Select Input Only Through F4 (Value On Request).

- Selection Screen With Radio Buttons.

- Selection Screen With Push Buttons.

- Selection Screen Events.

- Selection Screen With Push Buttons With Events.

- Display LOGO On Selection Screen. 


Here are a few links to Sample Report Programs on ALV Grid / List Display :

- Traffic Light In An ALV Report Program.

- Display ALV Report In Different Language.

- ALV Pop Up To Select The Options & Display Them.

- Example On Blocking ALV List/Grid Display.

- Change The Layout Of The ALV List/Grid Display.

- Add Color In ALV List/Grid Display.

- Use Of Double Click On ALV Grid/List Display.

- Hierarchical ALV Grid/List Display Report Program.

- Header In Bold - ALV Grid/List Display.

- Double Click On ALV Grid/List Report.

- ALV Interactive (Double Clicking).

- Simple Example On How To Display Table Data In ALV Grid/List Display.

- Change Of ALV Grid/ List Layout (VARIANT).

- Repeating Colors In ALV Grid/List Display.

- Display Data From MARA Table In ALV Grid Display.

- Convert ALV Rows Into Column.

- ALV Pop Up Screen To Select.

- ALV Heading At Center & At The End Of Page.

- ALV Blocked In HR ABAP.

- ALV With Some Columns In Bold Letters.

- ALV Data In Different Languages.

- ALV Hierarchical For Tables.   


Here is a list of sample program on HR ABAP:-


- HR TABLES.

- HR Tables & Infotypes.

- HR T-Codes.

- Sample HR Report Program On Macros.

- Get The Manager Of The Employee.

- Creating An HR Infotype Step By Step.

- Creating HR Report Category In PNP Logical Database.

- Fetching The Entry Or Joining Date For Employees.

- Fetching HR Data In Different Ways.

- Get Managers List For All The Organization Units.

- Get Employees List Working Under An Organization Unit.

- Retrieve Manager For An Employee.

- Generate Compensation Statement Report.

- Fetch HR Data Or Records From HR Database Tables.

- Using Macros In HR ABAP Report Program.

- Get The List Of Employees With Experience.

- BADI HRECM00_BDG0001 - Upload Initial Budgets From Excel Sheet.

- Get Employee Picture In Selection Screen.

- Unified Access to All HR Infotypes.

- F4(Value On Request) For Organization Unit In HR Report Program.

- Employee Pay Scale Report Program.

- Finding Job Code For Position.

- Ordering (Descending ) Org. Unit For An Organization.

- Display Details about Organization unit, Position or Job In HR ABAP.

- First & Last Working Date Of An Employee.

- Get All The Existing Organization Units.

Here is a list of sample program on HR ABAP:-


- HR TABLES.

- HR Tables & Infotypes.

- HR T-Codes.

- Sample HR Report Program On Macros.

- Get The Manager Of The Employee.

- Creating An HR Infotype Step By Step.

- Creating HR Report Category In PNP Logical Database.

- Fetching The Entry Or Joining Date For Employees.

- Fetching HR Data In Different Ways.

- Get Managers List For All The Organization Units.

- Get Employees List Working Under An Organization Unit.

- Retrieve Manager For An Employee.

- Generate Compensation Statement Report.

- Fetch HR Data Or Records From HR Database Tables.

- Using Macros In HR ABAP Report Program.

- Get The List Of Employees With Experience.

- BADI HRECM00_BDG0001 - Upload Initial Budgets From Excel Sheet.

- Get Employee Picture In Selection Screen.

- Unified Access to All HR Infotypes.

- F4(Value On Request) For Organization Unit In HR Report Program.

- Employee Pay Scale Report Program.

- Finding Job Code For Position.

- Ordering (Descending ) Org. Unit For An Organization.

Here is a list of sample program on HR ABAP:-


- HR TABLES.

- HR Tables & Infotypes.

- HR T-Codes.

- Sample HR Report Program On Macros.

- Get The Manager Of The Employee.

- Creating An HR Infotype Step By Step.

- Creating HR Report Category In PNP Logical Database.

- Fetching The Entry Or Joining Date For Employees.

- Fetching HR Data In Different Ways.

- Get Managers List For All The Organization Units.

- Get Employees List Working Under An Organization Unit.

- Retrieve Manager For An Employee.

- Generate Compensation Statement Report.

- Fetch HR Data Or Records From HR Database Tables.

- Using Macros In HR ABAP Report Program.

- Get The List Of Employees With Experience.

- BADI HRECM00_BDG0001 - Upload Initial Budgets From Excel Sheet.

- Get Employee Picture In Selection Screen.

- Unified Access to All HR Infotypes.

- F4(Value On Request) For Organization Unit In HR Report Program.

- Employee Pay Scale Report Program.

- Finding Job Code For Position.

- Ordering (Descending ) Org. Unit For An Organization.

Project Support Basis: How to maintain and monitor background jobs via SA...

Project Support Basis: How to maintain and monitor background jobs via SA...: The following document provides general procedures for creating, maintaining, and monitoring background (batch) jobs in SAP.  The procedu...

How to maintain and monitor background jobs via SAP

The following document provides general procedures for creating, maintaining, and monitoring background (batch) jobs in SAP.  The procedures explain the most basic and common activities.  However, the creation and maintenance of SAP background jobs can become quite complex, and much of the detail is beyond the scope of this document.

AUDIENCE

All system maintenance personnel should review this document.

REFERENCES

For more information the following sources are recommended:
BC - System Administration Guide, Chapter 4: Managing Background Processing
SAP Extended Help (Select Extended Help from the Help menu while in transaction)

PROCEDURE

Creating a Background (Batch) Job in SAP

  1. To create a background job in SAP, enter the Define Background Job screen by using transaction code  SM36 or menu path System ® Services ® Background jobs ® Job definition.
  2. Enter a descriptive job name in the Job name field.  See document 15020 for naming conventions and reference.
  3. Enter the background job priority in the Job class field.  The different priority levels, from highest to lowest, are A, B, and C.  The job class determines how the background jobs are queued.  Jobs that are absolutely crucial should be classified as A, those that must run, but can be delayed without causing great disruption to operations should be classified as B, and jobs that the least imperitive to business functions (such as most reports, for example) should be classified as C.
  4. Enter the host (server) that will run the background job in the Target host field.  Click the down arrow on the right side of the field to get a listing of possible entries.  If this field is empty, the job will run on the host (server) that you are logged into.
  5. To schedule the background job, click on the Start time pushbutton.  This will bring up the Start Time pop-up window.
  6. There are several scheduling options:
  • Immediate   This option will be used on several occasions:   
      - When a job is run on request by a user.
      - When a job fails and must be restarted.
      - For some monthend jobs or jobs with dependencies on other platforms, they may need
      to be run when resources are available, or there predesessor jobs finish.
  • Date/Time   The date and time the job will release.  It may not start until resources are            available.  If a job is scheduled to be periodic, it will release at that time the next day,       week, month, etc based on the selected period.
  • After job      Jobs with dependencies will be scheduled to release upon completion of its       predecessor.  A status indicator may be checked.  If it is, the successor job will only release if the predecessor finishes completeley.
  • After event  Jobs may be set to release after pre-defined events are raised.  These events can           be coded into ABAP/4 programs.
  • At operation mode    These jobs will release when operation mode switching completes.  This would be useful  if many batch jobs need to be released around the same time.  They can be set to release when the operation mode switches a number of dialogue sessions to batch, ensuring adequate resources.
To schedule the background job according to one of the options, click the corresponding pushbutton at the top of the window.  After the selection, the appropriate entry fields will become active in the window.  The two most common options will probably be Immediate and Date/Time.
To schedule a background job to run immediately, click the Immediate pushbutton, and then the active Save button.  No additional entries are required.
To schedule a background job according to a specific date and time, click the Date/Time pushbutton.  Several fields will appear.  Enter the desired values in the Scheduled start fields.  Entries in these fields are required.  The background job will be released at this data and time but may wait in a queue.  To prevent a job waiting in the queue from running after a certain time, enter the desired values in the No start after fields.  The values in the Date fields should follow the default format for the login ID used.  (To determine this format, use transaction SU50 or menu path System ® User profile ® User defaults to see the user defaults.)  The values in the Time fields should be in military format.
When either the Immediate or Date/Time options are chosen, the Periodic job click box will appear at the bottom of the screen.  Click this box if you want to run this job at periodic intervals.  Options for periodic scheduling appear when the Period values pushbutton is clicked.  The background job will run at periodic intervals after the first background job runs.  In addition, a Restrictions pushbutton will appear.  In the Restrictions window, there are several options.  Click only on workdays to limit the days the job releases on.   You limit these days by specifying a calendar at the bottom of the window.  Separate calendars for Monday to Friday, Monday to Saturday, Everyday, and others will be created.  One of four buttons must also be set.  Always Execute will cause the job to releasee according to its period valued REGARDLESS OF ANY WORKDAY/CALENDAR RESTRICTIONS.  This is the default value, but it should almost always be changed.  Cancel Job will simply cancel the job on non-workdays.  Move to previous day will release the job on the workday previous to the date determined by the period value.  Move to next workday will release the job on the next available workday. To schedule a background according to the other options, use the F1 function key to obtain more information.
  1. After entering all the scheduling information, click the Save pushbutton.  This will bring back the Define Background Job screen.
  2. Click the Steps pushbutton to bring up the Step List and Create Step 1 windows.  These windows define the program(s) that will run in the background. 
  3. To run an ABAP/4 program, click the ABAP/4 pushbutton. 
10.  Enter the name of the ABAP/4 program in the Name field and, if necessary, enter the variant in the Variant field.  A variant specifies the set of parameters that an SAP program needs to execute.  To get a list of variants that have been created for a program click the Variant list pushbutton.  (Variants may defined in the ABAP/4 Program Development: Initial Screen using transaction code SE38 or menu path Tools ® CASE ® Development ® Program maintenance ® ABAP/4 development.)
11.  When an ABAP/4 program uses write statements, these write statements are printed, rather than displayed on a screen , when the program runs in the background.  The print job will use the print specifications of the login ID used.  (To determine these specifications, use transaction SU50 or menu path System ® User profile ® User defaults to see the user defaults.)  To change the print specifications, such as the printer, click the Print specifications pushbutton.
12.  Note that external programs on the UNIX platform may be executed using the SAP scheduler.  This will probably not be too common, but to do so, click the External program pushbutton.  Enter the information in the Name and Parameter fields.  For more information, use the F1 function key.
13.  Once the background program has been defined, click the Save pushbutton.  This will save one “step,”  which will now appear on the Step List screen.
14.  A background job may execute more than one program.  To specify additional programs, click the Create pushbutton on the Step List screen and repeat numbers 9 through 13 above for the Create Step 2 screen and so on.  The Step List screen also allows the list of programs for a background job to be changed using the different pushbuttons at the top.
15.  After the programs for a background job have been completely specified, click the icon with the green arrow to return to the original Define Background Job screen.
16.  Click the Save (yellow folder) icon to save the background job definition and submit it.

Maintaining and Monitoring Scheduled Background Jobs

  1. To maintain or monitor SAP background jobs, enter the Select Background Jobs screen by using transaction code  SM37 or menu path System ® Services ® Background jobs ® Job overview.  The window is a selection screen.  A listing of background jobs will appear according to this window.
  2. The following fields are available to query all background jobs.
  • Job name - To find a particular job, enter the job name in this field.  To find all job names, enter *.
  • User name - To find jobs created by a particular user, enter the user ID in this field.  To find jobs by all users, enter *.
  • Start From/To Date/Time - To find jobs with start times in a particular interval, enter the beginning of the interval in the From Date and Time fields and the end of the interval in the To Date and Time fields.  The beginning or end of the interval may be left open.  The values in the Date fields should follow the default format for the login ID used.  (To determine this format, use transaction SU50 or menu path System ® User profile ® User defaults to see the user defaults.)  The values in the Time fields should be in military format.
  • Start at event - To find jobs that were triggered by an event, enter the event in this field.  Leave the field blank if it is not applicable.
  • Jobs Status - To find jobs with a particular status, select the click box associated with each status.  More than one status may be chosen.  Select all click boxes to get a listing of jobs, regardless of status.  The statuses include:
    • Scheduled - This status applies to background jobs that have been defined by users who do not have the authority to kick them off.  These jobs must be released by users who do have this authority or else they will not run at their start times.
    • Released - This status applies to background jobs that will run at their start times.
    • Ready - This status applies to background jobs that have been kicked off at their start times but have been queued to run.
    • Active - This status applies to background jobs that are currently running.
    • Finished - This status applies to background jobs that completed normally.
    • Cancelled - This status applies to background jobs that ended abnormally.
    • Jobs without start date - To find jobs without a start date, select this click box.
    • Jobs with previous job - To find jobs with previous jobs, select this click box.
The number of jobs selected will decrease as more criteria are chosen.  To find more information on possible entries for each field, select the field and select the F1 function key.
  1. Once the selection criteria have been specified, click the Execute pushbutton.  This will bring up the Job Overview: Alphabetic screen, which gives a listing of jobs that satisfy the criteria with the status of each job.
  2. By default, the jobs are listed alphabetically.  To sort the list by different criteria, select Sort from the Edit menu.
  3. Click the Refresh pushbutton to update the information listed on the overview screen.
  4. To maintain a specific background job or obtain information about it, select the job by clicking its job name in the list.  The following pushbuttons provide several options:
  • Job log - Click this pushbutton to display the results of a completed background job.
  • Display - Click this pushbutton to display general data about a job.
  • Release - Click this pushbutton to release a scheduled job.  A user may schedule a job, but if the user does not have the proper authorization, the job remains in scheduled status.  It will not run until, an authorized user has released it.  Jobs created by authorized users are automatically released.
  • Spool list - Click this pushbutton to display a background job’s spool requests (print/fax jobs).
  • Steps - Click this pushbutton to display a background job’s Steps List (the programs that it will or has run).
Other options are provided in the Job menu.  These include:
  • Schedule job - Select this to cancel, release, or repeat an existing job.
  • Copy - Select this to copy an existing job to a new one.
  • Delete - Select this to delete a job.
  • Change - Select this to change or modify the definition of a job that has not run yet.
  • Capture - Select this to capture a job that is currently running and run it in the current on-line session.
  • Cancel job - Select this to cancel a job that is currently running.

Status Monitoring for SAP Netweaver - Java Systems

Summary

While running BI Web templates or running any Java based applications, the resources in Java needs to be monitored to find any issues or bottlenecks.
The cycle starts when a user initiates a request by accessing a web template or a java application. The request passes through different resources in the Java stack before it reaches the Database.
The scenario for monitoring may be different for each landscape. If you are experiencing performance issues or downtime for Java systems in a production environment, or if you are performing a load or stress test for Java reports on a Test system, it's required to monitor each resource in the Java process cycle. If you find any of the resource being highly utilized, you would be able to tweak the parameters to make the system stable.
You can use Wily Introscope with Solution Manager for extensive Java monitoring and alerting. This document will help you monitor Java systems with the Monitoring service in Visual Administrator

How to access the Monitoring Service in Visual Administrator?

In folder usr\sap\SID\DVEBMGS00\j2ee\admin execute go.bat
Configure your connections and enter the password to access the visual administrator
After entering the Visual administrator, navigate to services (in Dispatcher or Server Node). Expand Services and select the Monitoring Service. The monitoring services will be displayed in the right side.

Do we need to use all of these monitors to know the status of the system?

Understanding on how the cycle works is a must to know. If you know how a request moves through each component in the cycle, you will also know what all areas need to be monitored. Following areas explains the details on how the request gets processed.

How does a Request get processed?


 

Request processing in the Dispatcher

1) A client request is sent via HTTP to the Java system
2) Server Socket Listeners accept it at the HTTP port in the dispatcher
Info- If so many requests occur at the same time that they cannot be transferred immediately, they wait in a socket queue
3) The request is transferred to the Connections Manipulator and is provided with a connection there.4) Every request provided with a connection is assigned a system thread in System Thread Manager
            Info- If all threads are already active, the request in the WaitingTasksQueue waits for a free system thread5) The SessionQueue in which the system thread has stored the request belongs to Cluster Management.
Info - This is where communication is controlled between dispatcher and server
6) The dispatcher cluster management transfers the session with the corresponding data to the cluster management of server

Request Processing in the Server

7) The incoming request is transferred with the data to be sent to the System Thread Manager and is assigned a system thread
8) The HTTP Service Provider in the server counts the incoming requests since the server start and returns response codes
9) The request is now transferred to an Application Thread. Like the system thread, the Application Thread Manager possesses a pool of threads
Info- If all threads are already active, the request in the WaitingTasksQueue waits for a free application thread
10) Depending on the application, the thread is then transferred to the EJB container, Web Container etc
11) The actual program initiation starts while the database access starts according the JDBC Connector service
Note: While going through this whole process from the connection manipulator to where the request reaches the database, memory is used very heavily. You should monitor the Memory Monitors in each Server Node to see the usage
As not all monitors needed to be treated with the same urgency, the following list gives the classification of the list of monitors
Important Alert Monitors
Connections Manipulator Monitor (in Dispatcher)
HTTP Provider Service Monitor (in Dispatcher)
System Threads Pool Monitor (in Dispatcher)
Application Threads Pool Monitor (in Server)
Cluster Management Monitor (in Server)
Memory Monitor (in Services)

What can you monitor in the Connections Manipulator for Dispatcher?


In Visual Administrator, Expand Dispatcher > Services > Monitors In Root > Kernel > Connections Manipulator
CurrentPoolSize
No. of connections maintained in the pool
HTTP Connections count
Current number of HTTP connections
P4ConnectionsCount
Current number of P4 connections
 
These are informative monitors. You can monitor the connections with this service

What can you monitor in System Thread Manager for Dispatcher?


In Visual Administrator, Expand Dispatcher > Services > Monitors
In Root > Kernel > System Thread Manager  
ActiveThreadsCount
Number of threads currently used
MaximumThreadPoolSize
Maximum size of the system thread pool
ThreadPoolPercentage
Percentage Load of the thread Pool
WaitingTasksCount
The number of tasks for which there is no thread available


This is an important monitor. More importantly you will need to monitor the system threads in the server node.
Info- You can increase or decrease the number of System Threads via ConfigTool. Make sure you follow all the recommendations while changing the values.

What can you monitor in the Cluster Management monitor for Dispatcher?


In Visual Administrator, Expand Dispatcher > Services > Monitors In Root > Kernel > Cluster Management > SessionContextCommunication > http

CurrentSessionQueueSize
Current number of sessions in this processor in the session queue
TotalSessionBytesRecieved
The number of Bytes received in the session
TotalSessionBytesSent
The number of Bytes sent during the session
These are informative monitors. The Bytes sent from the dispatcher and the bytes received from the server node will be displayed. The Byes received will be greater than the Bytes sent.

 What can you monitor in System Thread Manager for the Server?


In Visual Administrator, Expand Server Node > Services > Monitors
In Root > Kernel > System Thread Manager
ActiveThreadsCount
Number of threads currently used
MaximumThreadPoolSize
Maximum size of the system thread pool
ThreadPoolPercentage
Percentage Load of the thread Pool
WaitingTasksCount
The number of tasks for which there is no thread available
This is a very important monitor. You can view the Minimum and Maximum Thread pool size. You can monitor the Active Threads in the system with reference to the Maximum available threads. If the system has to wait for Threads, the Waiting Tasks Count will increase and alert. The signal lights would change from Green to Yellow and then to Red.
Info- You can increase or decrease the number of System Threads via ConfigTool. Make sure you follow all the recommendations while changing the values.

 What can you monitor in the HTTP Service Provider?


In Visual Administrator, Expand Server Node > Services > Monitors
In Root > Services > Http Provider
ReturnedResponseCounts
2xx, 3xx, 4xx, 5xx response codes or errors
AllRequestsCount
The number of requests since the server start
This is also and informative monitor. Before the end users or the testers could come to you with an error message, you can monitor and see how many web requests have errors. This would help you to proactively find any issues in the test scripts or in the application

What can you monitor in Application Thread Manager?


In Visual Administrator, Expand Dispatcher > Services > Monitors In Root > Kernel > Application Thread Manager
ActiveThreadsCount
Number of threads currently used
MaximumThreadPoolSize
Maximum size of the application thread pool
ThreadPoolPercentage
Percentage Load of the thread Pool
WaitingTasksCount
The number of tasks for which there is no thread available
This is another important monitor set. You can monitor the Minimum and Maximum Thread pool size. If the numbers of required threads required are not available with reference to the Maximum threads, the request goes to Waiting. This will be visible in the WaitingTasksCount monitor. The signal lights change from green to yellow and to red according to the severity of the issue. If the Applcation threads are completely used up, this could create critical issues in the system.
Info - You can change the number of Application Threads in Configtool. Please follow the SAP recommendations before any changes are made.

What can you monitor in the Memory Monitor?


In Visual Administrator, Expand Dispatcher > Services > Monitors In Root >Services >Memory
Allocated Memory
Part of the Memory which is ready for use
Available Memory
The total available memory
Used Memory
Used Memory
This is a very important monitor. You can view the Minimum (Xms) and Maximum (Xmx) Heap memory in this monitor. The memory used can be monitored in percentile in the Used Memory monitor. The allocated memory monitor will be the Xmx. The Available memory is the free heap memory within Java.
When the memory is used up to 80%, the alert monitor changes to Yellow and if the memory available reaches the critical mark, the signal light will change to red. A Full GC is usually triggered by the system when the memory usage reaches high. This would allocate more heap memory in the system. If the GC cannot help, your Java instance could even shut down.
Info - You can increase or decrease your memory settings in Config Tool. Heap memory, Xmx, Xms etc are the settings to alter the memory values. Be very careful to follow SAP recommendations before you change the values.

History 

The History Tab in each monitor set will show you information on the Maximum usage. You can also set the configurations in the configuration button.
* *

Recommendations:

  • If you are having issues with a custom Java application, make sure the application is completely tuned before you try changing the Java parameters
  • If you have issues with a BI Web Template, analyse the report carefully and tune it before you change the Java parameters
  • If you are executing Java tests via Loadrunner or any other Testing tool, make sure your script is working in order. Some of the Java errors which you see would relate to the script issues
  • If you are having issues with Application Threads, System Threads or Memory, try to increase the server nodes rather than increasing the Heap memory or Applcaition threads     

Client / Server Architecture in R/3

The three-tire client /server architecture consist of a presentation layer, an application layer, and a database layer

Hardware Point: these three layer can run separately on different computers or all together on the same computer.

Presentation Layer
The presentation layer in R/3 is consist of the SAP Graphical User Interface (SAPGUI)
The SAPGUI (SAP Graphical User Interface) accepts the user input and passes it ot the next layer the application layer for the further processing the SAPGUI accept the data from the application layer and presents the data to the user. Each R/3 session is performed thorough a SAPGUI.

The Application layer

User requests are passed from the presentation layer to the R/3 application layer. This is where the actual calculations and evaluation are preformed. Data that is needed to perform these calculations and evolutions is requires from the database layer. The incoming data is processed by the application layer and passed to the database.

The Database Layer
The database layer consists of a relational Database Management System (RDBMS). Data is exchanged between the application processes and the RDBMS through the SQL interface. The data is an R/3 System is stored in one database on one computer. The name of the database determines the name of the R/3 System this name is consist of three characters either uppercase letters and or numbers bases ex D10, K11 (the first character must be an uppercase letter) The abbreviation SID (short System Identifier)

The database administrator task
1. Database backup and data restorations if error occur
2. Configuration
3. Flow control and optimization
4. Memory management
5. Data reorganization
6. Software maintenance and installation

Internet Transaction Server
The R/3 System is connected to the internet through the Internet Transition Server. The ITS consists of two software components the A-gate process(Application Fate) and the W-gate process(web Gate)

A-gate process establishes the connection to the R/3 application server

W-gate process establishes the connection to the web server. Both components communicate with each other using the TCP/IP protocol.
(Dynamic Information and Action Gateway protocol)
ISAPI (Microsoft Information server API)
Internet Application Components (IACs)

Client
From a commercial law, organizational and technical viewpoint, a closed unit within an R/3 System with separate master records within a table.

A Client is an independent business unit within the R/3 System

Default Clients
The R/3 System contains the default clients. 000, 001, and 066. You should not make any changes to these clients. 000 is used specifically for R/3 release upgrades and to import certain R/3 configuration settings. Settings made in these client are usually valid throughout the whole R/3 System.

SAP R/3 Glossary

SAP R/3 has introduced a slew of new terms in the field of information technology. Keep those terms in mind if you want to grasp this field even better.

ALE (Application Link Enabling)
It allows for the integration of many R/3 systems while maintaining complete interactivity. This allows for the development of distributed enterprise applications.

Application server
In the R/3 client/server model, the application server is used to run business application programmes. The application modules are loaded into the application server as needed from the database server. As a result, the application server simply needs storage space to support UNIX, Swapping, and the SAP runtime environment. 

Batch Input
A method for safely entering data. For background interfaces, it ensures application data integrity. It acts as if someone is typing. Also see direct input.

CATT (Computer Aided Test Tool)
In test procedures, it lets you to integrate and automate sequences of repeatable transactions. CATT decreases the number of manual tests required and forces you to test in a systematic manner, with input values and expected test outcomes defined. 

CCMS (Computer Center Management System)
You can use it to keep track of, control, and configure your R/3 system. This suite of tools allows you to assess and distribute client workloads as well as report on system component resource use.

Central System
Both application and database software are executed on a single machine in an R/3 central system. 

Client
A self-contained unit in an R/3 system with its own master records and tables in terms of commercial, organisational, and technical concepts. 

Client/Server System
Client/server systems are built in modules, with sender/receiver relationships between components. In a client/server interaction, software components can also be used.

Communication Server
It might be a router, a bridge, or a gateway that connects local and wide area networks. The communication server in R/3 systems must handle the TCP/IP protocol over wide area networks. 

Company code
The lowest organisational unit for which a complete set of self-contained accounts can be prepared for external reporting purposes. This entails recording all relevant transactions and producing all supporting papers for legally necessary financial statements such balance sheets and profit and loss statements.

Computer type
The R/3 system works with a variety of SAP platform partners' computers, including Bull, DEC, IBM, and HP. Sufficient CPU performance is required for a certain computer type to be suitable. 


CPI-C (Common Programming Interface-Communications)
IBM introduced the Common Programming Interface of Communication as a high-level interface to SNA/LU6-2. SAP uses CPI-C to facilitate program-to-program communication between R/3 and external systems, and it is the subject of the X/Open standardisation. SAP provides TCP/IP-based CPI-C libraries.

Correction
It keeps track of all the items that a developer has modified or created. It also manages any customizations that have been kept.

CSP
A method to assist SAP personnel in providing full client assistance.

Data base server
In the R/3 client/server model, the data base server houses SAP application code and data. It also handles batch jobs and the SAP update software.


Direct Input
A new method for safely entering data. For background interfaces, it ensures application data integrity. Also see batch input.

Dispatcher
The R/3 agent in the system that recognises the task type (on-line, update, batch, etc.) and routes the job to an idle work process.

EarlyWatch
It's a service that involves having your R/3 installation evaluated on a regular basis by SAP professionals in order to maintain good system uptime and data throughput at all times.

Ethernet
It is a bus topology LAN design. The data transfer rate is 10 MBit/s.

FDDI (Fiber Distributed Data Interchange)
It is a local high-speed network with ring topology based on light wave conductors. The transmission speed is 100 MBit/s. 

Field status
Indicator that specifies whether a field can take an entry in the entry screen or if it must be filled.
Firewall
It is a means of controlling access through a public network to a private network. 

FTP (File Transfer Protocol)
It is the most commonly used file transmission protocol of the TCP/IP protocol family. 

GUI (Graphic User Interface)
A graphical interface used by SAP environment as part of the three tiers. It is normally called user frontend. 

IDES (International Demonstration and Education System)
It is a model of an international firm. It is a separate demonstration and education system for speeding up the pilot process. 

IMG (Implementation Management Guide)
It is a hierarchical structure that reflects the R/3 component hierarchy and contains every configuration activity. Released from version 3.0 onwards. 

Instance
It means application server and each one has its own set of work processes. 

IDoc (Intermediate Document)
An IDoc is a data container for data exchange between SAP systems or between an SAP system and an external system. 

ITS (Internet Transaction Server)
It links the R/3 application server with one or more Web servers, thus enabling the R/3 to communicate with the Internet. 

Kernel
It means a standard core previously configured. A set of default parameters delivered with the system. 

LAN (Local Area Network)
It is a network foa a tightly limited area with high level data transmission performance. Common LANs include Ethernet, Token Ring and FDDI. These LANs support different transport protocols, such as TCP/IP and IPX. 

Matchcode
A tool for finding specific record. It is made up of search terms. It is used to find possible entries for an input field. 

Number range
A range of numbers that are laid down per file for the assignment of document numbers. It can be internal (carried out automatically by the system) or external (carried out manually by the user). 

OLE
It is a technique introduced by Microsoft to incorporate objects of one application into another.

OSS (Online Service System)
SAP's Online Service System offers fast and effective help for R/3 System problems. It is also the basic element of communications between customers, partners, and SAP.

Repair
It contains all the objects that a developer has changed but the originals of the objects are located in another system.

RFC
A way to implement communication between application programs via Abap/4 function call.

Semaphores
When a work process locks a resource, it sets a semaphore. Another work process that also wants to access it must then wait.

SysID
A set of three letters or number that identify a system. Some sets are not allowed because they are used by SAP. They are informed when the system is installed.

TCP/IP
It is the most widely used transport protocol for open systems. R/3 clients and servers communicate using TCP/IP.
Telnet
It provides terminal access to hosts using TCP/IP protocol. It is a well-known command among Systems Administrators.

Token Ring
It is a LAN architecture with ring topology. The transmission speed is 4 MBit/s or 16 MBit/s. This involves a 'free token' which circles the loop picking up transmissions. The receiver station places a confirmation bit into the busy token. As soon as the busy token reaches the sender station again, it is converted back to a free token and sent on to the next station.

Transport
It is a request to transport objects from the software development environment, identified as the source system, to the specified target system.

WAN (Wide Area Networks)
They are normally operated either by the telephone company or by private companies that offer leased lines, switched lines or packet lines.

Work process
Work processes perform the bulk of the processing carried out by SAP systems. They perform dialog steps in user transactions and carry out updates, lock management, printing services, and so on.

Workbench
The ABAP/4 Workbench, a graphical programming environment, is used to create application programs. The programming tools are accessed using buttons, dialogs and windows.

Workflow
It consists of time and logical sequence of work items, which are processed by human agents or mechanical processing units.

X.25
It is a standardized network access protocol for the packet switching network. The maximum transmission speed is 64 KBit/s.



Summary Of Solution Manager Installation

Start off with the installation master cd look for sapinst, before you do that do the following below:-

PREPARATION
1) Prepare a directory called workdir or sapinst
2)store all the downloads and unzip them follow by label it to eg kernel or mssql
3)prepare JDK1.4.2_27 for x64 bit depending on your environment
4)download the JCE and replace the file in the JKD installed in item 1 in jre/lib/security directory
INSTALL DATABASE
5) install the MSSQL-->open the folder-->x86-->enterprise edition-->servers-->setup.exe
6) Error occured during MSSQL either manual or using SQLVBS pls refer to sap note 896566 ( you need to have your computer name all caps)
- Microsoft Distributed Transaction Coordinator (MSDTC) must be running before starting the sql
- Follow the procedure in 4.1.2.1 Installing the SQL Server 2005 Database Server
Software Manually and goto procedure section which will tell you what are needed to populate the tabs during installationl
( installation will take 30-1hr )
- enable named pipes in MSSQL2005 its in the installation manual
- 4.1.2.2 Installing the SQL Server 2005 Native Client Software
Manually
SAPINST
7) start the sapinst and the process will guide you all the way through.
Installation is in progress!!!! now at step 15/43
Error while starting the instance
Execution of
SAP Solution Manager 4.0 Support Release 4 > SAP Systems > MS SQL Server > Central System > Central System
has been completed successfully.
Installation completed!!!!
POST Installation
do according to post installation steps....
SGEN
excute stop and start of SQL and R/3
execute RDBMS housekeeping jobs in SQL studio

Different Options in BRRESTORE



Different Options in BRRESTORE


1. brrestore -b last -m all

Restore all tablespaces without the control file and online redo log files, starting from the last successful backup.

2. brrestore -b bcnmhluz.aft -m full

Restore all the files from backup bcnmhluz.aft , including the control file and the online redo log files. Restore the mirror copies of the control file and the online redo log files.


3. brrestore -m /usr/sap/C11/SYS/profile

Restore the SAP profiles.


4. brrestore -m /usr/sap/C11/SYS/exe/run:sapdba

Restore the SAPDBA executable.


5. brrestore -m /oracle/C11/sapdata1=/oracle/C11/sapdata5

Restore all the database data files that were originally stored in the subdirectories of /oracle/C11/sapdata1 in directory /oracle/C11/sapdata5 .


6. brrestore -b last -m 1-10,01-04,0

Restore all the database data files with ORACLE file IDs from 1 through 10, the four online redo log files, and the control file starting from the last successful backup. Restore the mirror copies of the control file and the online redo log files.


7. brrestore -m 0

Restore the control file. Restore the mirror copies of the control file.


8. brrestore -b last -m /oracle/C11/sapdata2/ddicd_5/ddicd.data5

Restore a database data file starting from the last successful backup.


9. brrestore -a 200-220

Restore the archived redo log files with the log sequence numbers from 200 through 220 into the archiving directory.


10. brrestore -a 40-70=/oracle/C11/sapbackup, 71-90=/oracle/C11/sapreorg

Restore the archived redo log files with the log sequence numbers from 40 through 70 in directory sapbackup and those with the log sequence numbers from 71 through 90 in directory /oracle/C11/sapreorg .


11. brrestore -a 40-69,70-100=/oracle/C11/sapbackup

Restore the archived redo log files with the log sequence numbers from 40 through 69 in the archiving directory, and those with the log sequence numbers from 70 through 100 in directory sapbackup .


12. brrestore -n det_log

Restore a detail log to the local working directory.


How to build a PHYSICAL Standby Database (DRS)

How to build a PHYSICAL Standby Database (DRS)
1. Preparing Physical Standby Database Server
Preparing a server to for the PHYSICAL Standby Database
You will need a standalone server, preferably a server with similar specification
(CPU,RAM,Storage) with the Primary Database server.
On the Physical Standby Database, install similar version of SAP and Oracle. Once this is
done you can start building/configuring the Physical Standby Database.
2. Convert Primary Database to use SPFILE
Make sure the Primary Database is using SPFILE instead of PFILE this step is crucial as
with SPFILE no time will be required when adjusting/altering Oracle SPFILE.
To verify whether the database is running in SPFILE, please issue the following
command,
SQL>show parameter pfile;
If the database is running in SPFILE, there will be a file path under the VALUE column
showing the location of SPFILE. If there is no file path under the VALUE column, the
database is using PFILE.
To convert primary Database to use SPFILE, issue the following command.
SQL>create spfile from pfile;
If this is a Microsoft Clustered with Oracle Failsafe Database Server, you will need to
modified the init_OFSSID.ora located at ORACLEHOME\database and include the line
Spfile=ORACLEHOME\database\spfileSID.ora
Kindly restart the Oracle Database to take effect.
3. Enable Forced Logging on Primary Database
This is a must for the DRS to function, please issue the following command,
SQL>alter database force logging;
If you see the error message, ORA-12920: database is already in force logging mode.
This is fine as the database is already in Forced Logging Mode.
This statement may take a considerable amount of time to complete, because it waits for
all un-logged direct write I/O operations to finish.
4. Backup the Primary Database to the Standby Database
Use the following script to backup the Database,
SQL>select 'alter tablespace '||tablespace_name||' begin
backup;' from dba_tablespaces
where contents !='TEMPORARY';
This will set all the tablespace except Temporary tablespace to backup mode .
Copy all the oracle datafile, offline redo logs, parameter file and password file to the
Standby Database.
This process may take hours to complete as it depends on the size of the Primary database
and the method of transfer.
Once this is completed, issue the following command,
SQL>select 'alter tablespace '||tablespace_name||' end
backup;' from dba_tablespaces
where contents !='TEMPORARY';
This will end the backup mode of all the tablespace except Temporary tablespace .
5.Creating Standby Controlfile
A standby contrilfile is needed for the STANDBY Database. To create a standby
controlfile, issue the following command,
SQL>alter database create standby controlfile as
‘c:\standby.ctl’;
Copy the standby controlfile to the Standby Database and place it accordingly.
Usually in the following location,
I. OriglogA\cntrl
II. Saparch\cntrl
III.Sapdata1\cntrl
The location of the control file is specifying in the Oracle PFILE. Please rename the file
name accordingly.
6.Modifying TNSNAMES.ORA for both PRIMARY and STANDBY Database
In order for both STANDBY and PRIMARY Database to communicate, we must modify
the TNSNAMES.ORA.
Before modifying the TNSNAMES.ORA, used Windows ping utility and make sure both
servers are able to ping each other. If this is not possible, resolve this issue first.
Open the PRIMARY Database and browse to
ORACLEHOME\network\admin\TNSNAMES.ora
Within the file you will see similar description as below,
SID.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (COMMUNITY = SAP.WORLD)(PROTOCOL = TCP)(HOST = IP address)(PORT =
1527))
)
(CONNECT_DATA =
(SID = SID)
(GLOBAL_NAME = SID..WORLD)
)
)
Copy the entire description as above and paste it in the STANDBY Database
TNSNAMES.ora
On the STANDBY Database’s TNSNAMES.ora copy the similar description and paste it
in the PRIMARY Database TNSNAMES.ora and modified the first line by including
_DR before .WORLD
SID_DR.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (COMMUNITY = SAP.WORLD)(PROTOCOL = TCP)(HOST = IP address)(PORT =
1527))
)
(CONNECT_DATA =
(SID = SID)
(GLOBAL_NAME = SID..WORLD)
)
)
When this is done, perform a test from both Primary and Standby Database by using the
following command.
On the Primary Database,
C:\>tnsping SID_dr
TNS Ping Utility for 32-bit Windows: Version 9.2.0.8.0 - Production on 02-JAN-20
08 17:05:25
Copyright (c) 1997, 2006, Oracle Corporation. All rights reserved.
Used parameter files:
D:\oracle\SID\920\network\admin\sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (SDU = 32768) (ADDRESS_LIST = (ADDRESS = (C
OMMUNITY = SAP.WORLD)(PROTOCOL = TCP)(HOST = hostname)(PORT = 1527)))
(CONNECT_DAT
A = (SID = SID) (GLOBAL_NAME = SID.WORLD)))
OK (20 msec)
On the Standby Database,
C:\>tnsping SID
TNS Ping Utility for 32-bit Windows: Version 9.2.0.8.0 - Production on 02-JAN-20
08 17:03:19
Copyright (c) 1997, 2006, Oracle Corporation. All rights reserved.
Used parameter files:
E:\oracle\DPF\920\network\admin\sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION= (ADDRESS_LIST= (ADDRESS= (PROTOCOL=TCP)
(Hos
t=Ip address) (Port=1521)) (ADDRESS= (COMMUNITY=SAP.WORLD) (PROTOCOL=TCP)
(Ho
st=Ip address) (Port=1527))) (CONNECT_DATA= (SID=SID) (GLOBAL_NAME=SID.WORLD)
))
OK (20 msec)
Both tnsping results must be OK for the DR to work.
7. Add In Initialization Parameters For Primary and Standby Database.
In the Primary Database, add in the following by logging into SQL PLUS.
SQL>alter system set fal_client=’SID’;
SQL>alter system set fal_server=’SID_DR’;
SQL>alter system set log_archive_dest_2=’SERVICE=SID_DR’;
SQL>alter system set log_arhive_dest_state_2=’ENABLE’;
In the Standby database, add in the following manually by editing the initSID.ora,
Standby_file_management=AUTO
remote_archive_enable=TRUE
fal_client=SID_DR
fal_server=SID
standby_archive_dest=’LOCATION=U:\oracle\SID\oraarch\SIDarch’
8. Convert Standby Database to SPFILE
Logging into SQL PLUS by using sqlplus /nolog followed by connect / as sysdba.
Execute the following command,
SQL>create spfile from pfile;
Followed by
SQL>shutdown immediate;
9. Starting Up and Enabling Log Shipment To Standby Database
Logging into SQL PLUS by using sqlplus /nolog followed by connect / as sysdba.
Execute the following command,
SQL> startup nomount;
SQL> alter database mount standby database;
If there’s no error message, the Standby Database is up.
To apply the offline archive logs backed up previously, issued the following command,
SQL> recover automatic standby database until cancel;
When the recovery is completed, issue the following command to start the log shipment
service.
SQL>alter database recover managed standby database
disconnect from session;
On the primary Database issue the following command from SQL prompt,
SQL>alter system switch logfile;
This will generate new offline archive log on the primary and you can verify whether this
new log file has been shipped to the Standby Database.
10.Monitoring The Log Shipment Service
The following SQL Script is useful in monitoring the Physical Standby Database,
select * from (select sequence#,applied,first_time from v$archived_log
order by first_time desc)
where rownum <10;
It will display out the list of archived log files that has been applied to the Physical
Standby Database.
This SQL Script will provide you the status of the Log Shipment Service.
select process,status,thread#,sequence#,block#,blocks from v$managed_standby;
11. Physical Standby Database Maintenance.
From time to time, offline archived log that has been generated in the Primary Database
will be shipped to the Physical Standby Database. This will result in the physical standby
database running out of disk space to store new incoming offline archive log from
Primary Database.
To provide ample disk space for new incoming offline archive log, we will need to clean
up all the successfully applied offline redo logs.
Follow these steps to clean up the successfully applied archived log file:
- Determine which archived log file have been successfully applied to DRS site: See
the section “Monitoring the log shipment service” above
- Delete the successfully applied archived log file on the physical standby database in
the folder X:\oracle\SID\oraarch (standby_archive_dest parameter on DRS site)
To determine whether an archive gap exist, use the following query,
SQL>select * from v$archive_gap;
If the return results are “no rows selected” that means there’s no archive gap detected.
If a record returns, manual intervention will be required.
Example of a record,
THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#
-------- -------------- --------------
1 32545 32548
From the record above, we can see that the physical standby database is currently missing
logs from sequence 32545 to sequence 32548. Hence, we will need to manually copy
these files from the primary database to the physical standby database’s archived log
directory.
Issue the following command to stop the log shipment service,
SQL>alter database recover managed standby database cancel;
Start copy the missing offline log files from Primary database to Physical Standby
Database.
Once all the files are copied and placed in the archived log directory, issue the following
command,
SQL> ALTER DATABASE REGISTER LOGFILE
'X:\oracle\SID\oraarch\SIDARCHARC32545.001';
SQL> ALTER DATABASE REGISTER LOGFILE
'X:\oracle\SID\oraarch\SIDARCHARC32546.001';
SQL> ALTER DATABASE REGISTER LOGFILE
'X:\oracle\SID\oraarch\SIDARCHARC32547.001';
SQL> ALTER DATABASE REGISTER LOGFILE
'X:\oracle\SID\oraarch\SIDARCHARC32548.001';
When this is completed, restart the managed recovery operations by issuing the following
command,
SQL> alter database recover managed standby database
disconnect from session;
12. Switchover Operations
A database switchover is a role reversal between the Primary and its Standby databases.
A switchover operation guarantees no data loss when Standby Redo Logs are used. This
is typically done for planned maintenance of the Primary system. During the switchover,
the Primary databases transitions to a Standby role and the Standby database transitions
to the Primary role. The transition occurs without having to recreate either database.
Prerequisite
• Verify that BOTH the Primary and Standby database has the following files
under the directory ‘D:\oracle\DPF\920\database’ to support role transition.
Name Contents
Primary DB log_archive_dest_state_2='ENABLE'
Standby DB log_archive_dest_state_2='DEFER'
• Verify that there is network connectivity between the Primary and Standby
sites.
• Verify that all the Oraarch, MirrlogA,B,Orriglog A,B is in the exact same
drive and folder for both Primary DB and Standby DB. This is important as it
will ensure no data loss during switchover.
• For switchover operations involving a Physical Standby database, the Primary
database instance must be OPEN and the Standby database must be
MOUNTED.
• To verify this, perform the following steps:
On the Primary database, issue the following query:
SQL> SELECT STATUS FROM V$INSTANCE;
STATUS
------
OPEN
1 row selected
On the Standby database, at the SQL> prompt, issue the following
query:
SQL> SELECT STATUS FROM V$INSTANCE;
STATUS
------
MOUNTED
1 row selected
12.1 Perform the Switchover
• Convert the Primary database to the new Standby:
On the Primary database, at the SQL> prompt, issue the following
command:
SQL> alter database commit to switchover to physical
standby with session shutdown;
Database altered.
Shutdown the former Primary database.
SQL> shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.
Create SPFILE using the command
SQL> create spfile from pfile=’?\database\initDPFsb.ora’;
File Created
Start the new Physical Standby Database
SQL> startup nomount;
Mount the new Physical Standby Database
SQL>alter database mount standby database;
Database Altered
• Convert the Physical Standby to the new Primary role:
On the Standby database, at the SQL> prompt, issue the following
command:
SQL> alter database commit to switchover to primary with
session shutdown;
Database altered.
Shutdown new Primary database:
SQL> shutdown immediate
ORA-01507: database not mounted.
ORACLE instance shut down.
Create SPFILE for the new Primary database
SQL>Create spfile from pfile=’?\database\initDPFpr.ora’;
Startup the new primary database.
SQL>startup;
• Start managed recovery on the new Standby database:
On the new Standby database, at the SQL> prompt, issue the following
command:
SQL> alter database recover managed standby database
disconnect from session;
Database Altered
12.2 Verify the new Primary and Standby databases are working
Identify the existing archived redo log files on the Standby database.
At the SQL> prompt on the Standby database, issue the following
query:
SQL> select sequence#, first_time, next_time
from v$archived_log order by sequence#;
SEQUENCE# FIRST_TIME NEXT_TIME
---------- --------------- ---------
927 24-NOV-05 25-NOV-05
928 25-NOV-05 26-NOV-05
929 26-NOV-05 27-NOV-05
930 27-NOV-05 28-NOV-05
Archive the current log on the New Primary database. At the SQL>
prompt on the Primary database, issue the following command:
SQL> alter system archive log current;
System altered.
Verify that the new archived redo log file was received by the Standby
database. At the SQL> prompt on the Standby database, issue the
following query:
SQL> select sequence#, first_time, next_time
from v$archived_log order by sequence#;
SEQUENCE# FIRST_TIME NEXT_TIME
---------- --------------- ---------
927 24-NOV-05 25-NOV-05
928 25-NOV-05 26-NOV-05
929 26-NOV-05 27-NOV-05
930 27-NOV-05 28-NOV-05
931 27-NOV-05 28-NOV-05
Now that we know the archived redo log files are being shipped to the
Standby database successfully, we need to verify that they are being applied to
the Standby database.
Verify that the new archived redo log files are being applied on the
Standby database. At the SQL> prompt on the Standby database, issue
the following query:
SQL> select sequence#, applied from v$archived_log
order by sequence#;
SEQUENCE# APP
---------- ---
927 YES
928 YES
929 YES
930 YES
931 YES
Verify that the Primary database is in “Maximum Availability” mode.
At the SQL> prompt on the Primary database, issue the following
query:
SQL> select protection_level, protection_mode from
v$database;
PROTECTION_LEVEL PROTECTION_MODE
-------------------- --------------------
MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE


current production had below directory structure

D:\ Origlog and Mirrlog

F:\ sapdata1 -5

Now after restore to new directory structure

R:\origlogA and mirrlogB
T:\origligB and mirrlogA
V:\sapdata1-4

we would need to insert the below log_file_name_convert and db_file_name_convert to identify the directory structure.


SQL>alter database create standby controlfile as ‘c:\standby.ctl’;

DB_FILE_NAME_CONVERT=('/u01/app/oracle/oradata/RECOVER2', '/u01/app/oracle/oradata/RECLONE','/u01/oradata/RECOVER2','/u01/oradata/RECLONE')
LOG_FILE_NAME_CONVERT=('/u01/app/oracle/flash_recovery_area/RECOVER2', '/u01/app/oracle/flash_recovery_area/RECLONE')

alter system set DB_FILE_NAME_CONVERT='D:\oracle\ATC\','V:\oracle\ATC\';


*.db_file_name_convert='D:\oracle\ATC\','V:\oracle\ATC\'
*.LOG_FILE_NAME_CONVERT='D:\oracle\ATC\oraarch','U:\oracle\ATC\oraarch'