Steps for creating a database index
Do we just create it from SE11? Does Basis needs to be involved for any furthur steps?
Hi Amrutha,
Indexes speed up data selection from the database. They consist of selected fields of a table, of which a copy is then made in sorted order. If you specify the index fields correctly in a condition in the WHERE or HAVING clause, the system only searches part of the index (index range scan). The primary index is always created automatically in the R/3 System. It consists of the primary key fields of the database table. This means that for each combination of fields in the index, there is a maximum of one line in the table. This kind of index is also known as UNIQUE. If you cannot use the primary index to determine the result set because, for example, none of the primary index fields occur in the WHERE or HAVING clause, the system searches through the entire table (full table scan). For this case, you can create secondary indexes, which can restrict the number of table entries searched to form the result set. You specify the fields of secondary indexes using the Abap Dictionary. You can also determine whether the index is unique or not. However, you should not create secondary indexes to cover all possible combinations of fields. Only create one if you select data by fields that are not contained in another index, and the performance is very poor. Furthermore, you should only create secondary indexes for database tables from which you mainly read, since indexes have to be updated each time the database table is changed. As a rule, secondary indexes should not contain more than four fields, and you should not have more than five indexes for a single database table. If a table has more than five indexes, you run the risk of the optimizer choosing the wrong one for a particular operation. For this reason, you should avoid indexes with overlapping contents. Secondary indexes should contain columns that you use frequently in a selection, and that are as highly selective as possible. The fewer table entries that can be selected by a certain column, the higher that column's selectivity. Place the most selective fields at the beginning of the index. Your secondary index should be so selective that each index entry corresponds to at most five percent of the table entries. If this is not the case, it is not worth creating the index. You should also avoid creating indexes for fields that are not always filled, where their value is initial for most entries in the table. If all of the columns in the SELECT clause are contained in the index, the system does not have to search the actual table data after reading from the index. If you have a SELECT clause with very few columns, you can improve performance dramatically by including these columns in a secondary index.
Index:
http://help.sap.com/saphelp_nw04/helpdata/en/cf/21eb20446011d189700000e8322d00/content.htm
Creating Secondary Index
http://help.sap.com/saphelp_nw04/helpdata/en/cf/21eb47446011d189700000e8322d00/content.htm
regards,
keerthi.
Similar Messages
-
BEST PRACTICES FOR CREATING DISCOVERER DATABASE CONNECTION -PUBLIC VS. PRIV
I have enabled SSO for Discoverer. So when you browse to http://host:port/discoverer/viewer you get prompted for your SSO
username/password. I have enabled users to create their own private
connections. I log in as portal and created a private connection. I then from
Oracle Portal create a portlet and add a discoverer worksheet using the private
connection that I created as the portal user. This works fine...users access
the portal they can see the worksheet. When they click the analyze link, the
users are prompted to enter a password for the private connection. The
following message is displayed:
The item you are requesting requires you to enter a password. This could occur because this is a private connection or
because the public connection password was invalid. Please enter the correct
password now to continue.
I originally created a public connection...and then follow the same steps from Oracle portal to create the portlet and display the
worksheet. Worksheet is displayed properly from Portal, when users click the
analyze link they are taken to Discoverer Viewer without having to enter a
password. The problem with this is that when a user browses to
http://host:port/discoverer/viewer they enter their SSO information and then
any user with an SSO account can see the public connection...very insecure!
When private connections are used, no connection information is displayed to
SSO users when logging into Discoverer Viewer.
For the very first step, when editing the Worksheet portlet from Portal, I enter the following for Database
Connections:
Publisher: I choose either the private or public connection that I created
Users Logged In: Display same data to all users using connection (Publisher's Connection)
Users Not Logged In: Do no display data
My question is what are the best practices for creating Discoverer Database
Connections.
Is there a way to create a public connection, but not display it in at http://host:port/discoverer/viewer?
Can I restrict access to http://host:port/discoverer/viewer to specific SSO users?
So overall, I want roughly 40 users to have access to my Portal Page Group. I then want to
display portlets with Discoverer worksheets. Certain worksheets I want to have
the ability to display the analyze link. When the SSO user clicks on this they
will be taken to Discoverer Viewer and prompted for no logon information. All
SSO users will see the same data...there is no need to restrict access based on
SSO username...1 database user will be set up in either the public or private
connection.You can make it happen by creating a private connection for 40 users by capi script and when creating portlet select 2nd option in Users Logged in section. In this the portlet uses there own private connection every time user logs in.
So that it won't ask for password.
Another thing is there is an option of entering password or not in ASC in discoverer section, if your version 10.1.2.2. Let me know if you need more information
thnaks
kiran -
What are the steps for merging of database files ?
hi
i have 23 datafiles in a tablespace .i want to merge these 23 datafiles into 4 to 5 datafiles.What are the steps for merging of database files
Edited by: mithun on Oct 22, 2011 11:29 PM>
i have 23 datafiles in a tablespace .i want to merge these 23 datafiles into no of
small no of datafiles.What are the steps for merging of database filesYou didn't mention your Oracle version.
See here for creating tablespaces http://www.adp-gmbh.ch/ora/sql/create_tablespace.html.
You can specify as many (or as few) datafiles as you like.
Then create tables in your new tablespace x_old_table_name(s) - you can Google this.
Then select the data from old_table_name(s) into x_old_table_name(s).
Drop old_table_name(s)
Rename x_old_table_name(s) old_table_name(s).
There may be a better way.
Paul... -
Can we create a database index?
Hi all..
Can we create a database index for a customised table? and later on can we change the same database index?
Also if possible please provide me with a suitable link for this topic.
ThanksHI
PLEASE REFER THE LINKS
1 <a href="http://72.14.203.104/search?q=cache:cHuHvVv9UfgJ:help.sap.com/saphelp_nw04/helpdata/en/cf/21f0f0446011d189700000e8322d00/content.htm+adatabaseindexIN+ABAP&hl=en&gl=in&ct=clnk&cd=1">Editing Tables and Indexes in the Database</a>
2 <a href="http://72.14.203.104/search?q=cache:mIR0TLmS_fsJ:help.sap.com/saphelp_nw04/helpdata/en/cf/21eb20446011d189700000e8322d00/content.htm+adatabaseindexIN+ABAP&hl=en&gl=in&ct=clnk&cd=2">Indexes</a>
<a href="http://help.sap.com/saphelp_nw04/helpdata/en/cf/21eb47446011d189700000e8322d00/content.htm">Creating Secondary Indexes</a>
IF THESE ARE USEFUL PLEASE REWARD POINTS
REGARDS
ANOOP
Message was edited by: ANOOP R.S -
Steps for creating a new BAPI function module
Hello experts,
Can any one send me steps for creating a new BAPI function module , I got a requirement to do like this,but I dont have any clue about how to create.
Please help !!!BAPI stands for Business Application Programming Interface.
There are 5 different steps in BAPI.
- Create BAPI Structure
- Create BAPI Function Module or API Method.
- Create BAPI object
- Release BAPI Function Module.
- Release BAPI object.
Step1. Creating BAPI Structure:
- Go to <SE11>.
- Select Data Type & Enter a name.
- Click on Create.
- Note: Always BAPI should be in a development class with request number (Not Local Object).
- Select Structure & hit ENTER.
- Enter the fields from your database. Make sure that the first field is the Primary Key Field.
- Then SAVE & ACTIVATE.
Step 2. Creating BAPI module:
- Enter TR.CODE <SE37>.
- Before entering any thing, from the present screen that you are in, select the menu
Goto -> Function Groups -> Create Group.
Enter a name (Note: This name Must start with ZBAPI)
Let this screen be as it is and open another window and there, enter TR.CODE <SE80).
Click on the Third ICON that says Inactive Objects.
Select the group that you just created and click on Activate.
Notice that the group you created will disappear from the list of inactive objects.
- Go back to <SE37> screen and enter a name and hit <ENTER>. Then enter the group name that you just created and activated.
NOTE: When you release a function module the respective group will be attached to that particular application. It cannot be used for any other application. NEVER include an already existing group that is attached to another module.
Now click on the first Tab that says [ATTRIBUTES] and select the radio button that says remote-enabled module since we will be accessing this from any external system.
Then click on the second tab that says [IMPORT].
Enter a PARAMETER NAME, TYPE and the structure you created in the first step. Also select the check box Pa. All remotely enabled functional modules MUST be Pa enabled, where Pa means Passed by Value and if you dont select Pa, then that means it will be passed by reference..
Then click on tab that says [EXPORT].
Enter the following as is in the first three fields
RETURN TYPE BAPIRETURN (These 3 field values are always same)
Here also select Pa meaning Pass by value.
Note: BAPIRETURN contains structure with message fields.
Then SAVE and ACTIVATE.
Step 3. Creating BAPI object:
- Enter Tr.Code <SWO1> (Note. It is letter O and not Zero).
- Enter a name and then click on create. Enter details.
NOTE: Make sure that that Object Type and Program name are SAME.
- Enter Application M, if you are using standard table Mara. If you are using your own database then select Z at the bottom.
- Then hit <ENTER>.
- Now we have to add Methods. High light METHODS and then select the following from the menu:
Goto Utilities -> API Methods -> Add Methods.
- Enter function Module name and hit <ENTER>.
- Select the second FORWARD ARROW button (>)to go to next step.
- Check if every thing looks ok and again click on FORWARD ARROW button (>).
- Then select YES and click on <SAVE>.
- Now on a different screen goto TR.CODE <SE37>. Enter Function Module name and select from the top menu Function Module -> Release -> Release.
- Goback to TR.CODE <SWO1>.
Here select the menu combination shown below in the same order.
- Edit -> Change Release Status -> Object Type Component -> To Implemented.
- Edit -> Change Release Status -> Object Type Component -> To Released.
- Edit -> Change Release Status -> Object Type -> To Implemented.
- Edit -> Change Release Status -> Object Type -> To Released.
- Then click on <SAVE>.
- Then click on Generate Button (4th button from left hand side looks like spinning wheel).
- Then Click on the button that says PROGRAM to see the source code.
To check if this is present in work flow goto TR.CODE <BAPI>.
Here it shows business object repository.
- First click on the middle button and then select ALL and hit ENTER.
- Goto tab [ALPHABETICAL] and look for the object that you created. This shows that the BAPI object has been created successfully.
regards,
aswin -
What are the basic steps for creating a content repository?
I am trying to create a document store on a file system (fsdb) that will hold files that are ftp's to that location. Is this possible using KM? If so, what are the basic steps for creating a file system repository and using it through KM? I have found stuff on help.sap.com but that only tells you what each component does not what actual steps need to be taken to setup KM, such as user rights , creating an entry point, so that all of KM is not visible, etc...
If anyone knows of any guides that show a step by step process that would be great too.
Thanks
PaulHi Paul
First of all you need to create a new repository
Suppose you want to add all the documents under folder Paul under C: Drive
(Even you can put whole documents of C: drive into Paul)
Navigate to System Admin -> System Configuration -> Knowledge management -> Content Management -> Repository Manager -> File System Repository
There you can create a new directory by clicking on button New
Give the parameters as follows :-
Name : Anything you like
Description : Anything you want
Prefix (must start with /) : Probably same as your repository name like \Paul
Lookup mode : caseless
Root Directory : C:\Paul
NOTE: This is the trick. You need to give the proper path means folder path which you want use as repository)
Repository Services : Any services you want
Property Search : Managercom.sapportals.wcm.repository.manager.generic.search.SimplePropertySearchManager
Security Manager : AclSecurityManager
ACL Manager Cache : ca_cm_rep_acl
The save it
Now see whether the same repository is coming under KM Content or not, if not may be after restart it will come.
I think the above information will help you. If still you have problem, please feel free to contect me.
Regards,
Chamkaur -
Steps for Creating a Report in Oracle Apps
I need the steps for creating a Report 2.5 in Oracle Apps.
Please let me know the steps involved in detail
Regards
ChoudaryFirst you create the report using reports 2.5. (You need to refer Application Developer's User Guide to understand Apps standards for customization)
Then register the report in Apps:
1) Define the executable
2) Place the executable in the appropriate directory (You need to refer Apps installation guide to find the directory structure for placing reports)
3) Define the concurrent program (Pay attention when you define program parameters and value sets associated)
4) Attach your report to the request group attached to your responsibility
5) Run the concurrent program using SRS (you will not see the report when you open Submit Requests Form, if you do have permission)
The above procedure is applicable if you are defining the report directly in your instance. If you are using chain link, then you may have to migrate the objects appropriately.
Some of the above activities are usually done by System Administrator and users are not given permissions. -
Steps for creating structural authorization profile using trans. OOSP
Dears,
Could someone please guide to the steps for creating a structural authorization profile using transaction OOSP, to authorize on the HR Payroll Area.
Thanks.
RedaHi,
There are comprehensive guidelines on help.sap.com for creation of structural authorizations: http://help.sap.com/saphelp_erp2004/helpdata/en/34/49ba3b3bf00152e10000000a114084/content.htm
However, please bear in mind that you cannot limit access to certain payroll area with structural authorization. For that you should use standard PA authorization object (you can use field organizational key to store Payroll Area VDSK1 in IT0001):
P_ORGIN http://help.sap.com/erp2005_ehp_02/helpdata/en/3e/b8b83b5b831f3be10000000a114084/content.htm
Cheers -
The Critical Problems for Creating Standby Database
The Critical Problems for Creating Standby Database:(I want to create a physical standby database on the same system of the primary database)
1. Should I copy all the backup datafiles, standby controlfile and password file to a same directory before the first time to mount the standby database?
2. Before mounting the standby database, Should I change the datafile's name to a new one in the standby controlfile? How to change them?
3. When issuing the command to mount the standby database, should I specify the controlfile's name.(using which controlfile to mount)
These problems are not clearly secified in Oracle documentations.Can you point us to the Windows specific documentation you refer to?
The parameter DB_FILE_NAME_CONVERT should take care of the new mapping for your datafiles (and LOG_FILE_NAME_CONVERT for logs), so you should be able to put them where you want and use the parameter to point Oracle to the correct location. You should not need to change the name in the controlfile.
Place your standby controlfiles where you have the control files defined in your parameter file and Oracle should recofgnise that it is a standby db. You should not need to specify which controlfiles to use (if this is even possible), your CONTROL_FILES init parameter points to them.
Not sure about the password file....my instances are on separate boxes and the password file has the same name on both primary and standby. -
hi sap gurus,
can i steps for creating abap query
plz help me on this.
regards,
balaji.t
09990019711Hi
Please check this link for a document on ABAP query. It explains the process step by step with screen shots..
http://www.auditware.co.uk/downloads/SAPQuery_step_thru.pdf
Thanks,
Ravi -
Steps for creating a SAP Remote cube.
Hello Experts,
Can you anyone list the steps for creating a SAP Remote cube please?
Any step by step guide will be of really great help.
Thanks in advance.
Regards,
Kumar.Creating VirtualProviders Based on Data Transfer Processes Locate the document in its SAP Library structure
Prerequisites
If you are using a DataSource as the source for a VirtualProvider, you have to allow direct access to this DataSource.
Procedure:
1. In the Data Warehousing Workbench under Modeling, choose the InfoProvider tree.
2. In the context menu, choose Create VirtualProvider.
3. As the type, select VirtualProvider based on data transfer process for direct access.
In terms of compatibility, a VirtualProvider that is based on a data transfer process with direct access can also be connected to an SAP source system using a 3.x InfoSource.
The Unique Source System Assignment indicator controls whether this source system assignment needs to be unique. If the indicator is set, you can select a maximum of one source system in the assignment dialog. If the indicator is not set, you can select multiple source systems. In this case, the VirtualProvider acts like a MultiProvider.
If the indicator is not set, characteristic 0LOGSYS is automatically added to the VirtualProvider when it is created. In the query, this characteristic allows you to select the source system dynamically: In each navigation step, the system only requests data from the assigned source systems whose logical system name fulfills the selection condition for characteristic 0LOGSYS.
4. Define the VirtualProvider by transferring the required InfoObjects. Activate the VirtualProvider.
5. In the context menu of the VirtualProvider, select Create Transformation. Define the transformation rules and activate them.
6. In the context menu of the VirtualProvider, select Create Data Transfer Process. DTP for Direct Access is the default value for the DTP type. Select the source for the VirtualProvider. Activate the data transfer process. See Structure linkCreating Data Transfer Process for Direct Accesss.
7. Activate direct access. In the context menu of the VirtualProvider, select Activate Direct Access. In the dialog box that appears, choose one or more data transfer processes and select This graphic is explained in the accompanying text Save Assignments.
Check this for little extra info:
/thread/142088 [original link is broken] -
URGENT:Diagnose The Steps for Creating a Standby Database
Why Following Steps Can Not Succeed? What are the problems?
The Steps of Creating a Physical Standby Database
SQL>alter system set db_recovery_file_dest_size=2000m scope=both;
SQL>alter system set db_recovery_file_dest='C:\oracle\product\10.2.0/flash_recovery_area' scope=both;
SQL> shutdown immediate
SQL> startup mount
SQL> alter database archivelog;
SQL>alter system set db_flashback_retention_target=120 scope=both;
SQL> alter database flashback on;
SQL> alter database force logging;
#The Primary Database Pfile after being edited
# Copyright (c) 1991, 2001, 2002 by Oracle Corporation
# SGA Memory
sga_target=370147328
# Job Queues
job_queue_processes=10
# Shared Server
dispatchers="(PROTOCOL=TCP) (SERVICE=orcl10XDB)"
# Miscellaneous
compatible=10.2.0.1.0
# Security and Auditing
audit_file_dest=C:\oracle\product\10.2.0/admin/orcl10/adump
remote_login_passwordfile=EXCLUSIVE
# Sort, Hash Joins, Bitmap Indexes
pga_aggregate_target=122683392
# Database Identification
db_domain=""
db_name=orcl10
# File Configuration
control_files=("C:\oracle\product\10.2.0\oradata\orcl10\control01.ctl", "C:\oracle\product\10.2.0\oradata\orcl10\control02.ctl", "C:\oracle\product\10.2.0\oradata\orcl10\control03.ctl")
db_recovery_file_dest=C:\oracle\product\10.2.0/flash_recovery_area
db_recovery_file_dest_size=2147483648
# Cursors and Library Cache
open_cursors=300
# System Managed Undo and Rollback Segments
undo_management=AUTO
undo_tablespace=UNDOTBS1
# Diagnostics and Statistics
background_dump_dest=C:\oracle\product\10.2.0/admin/orcl10/bdump
core_dump_dest=C:\oracle\product\10.2.0/admin/orcl10/cdump
user_dump_dest=C:\oracle\product\10.2.0/admin/orcl10/udump
# Processes and Sessions
processes=150
# Cache and I/O
db_block_size=8192
db_file_multiblock_read_count=16
DB_NAME=orcl10
DB_UNIQUE_NAME=orcl10
LOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl10,stdby4)'
LOG_ARCHIVE_DEST_1=
'LOCATION=/arch1/orcl10/
VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
DB_UNIQUE_NAME=orcl10'
LOG_ARCHIVE_DEST_2=
'SERVICE=stdby4 LGWR ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=stdby4'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc
LOG_ARCHIVE_MAX_PROCESSES=30
FAL_SERVER=stdby4
FAL_CLIENT=orcl10
DB_FILE_NAME_CONVERT='stdby4','orcl10'
LOG_FILE_NAME_CONVERT=
'/arch1/stdby4/','/arch1/orcl10/','/arch2/stdby4/','/arch2/orcl10/'
STANDBY_FILE_MANAGEMENT=AUTO
SQL> create spfile from pfile;
RMAN> connect target
RMAN> backup database;
###TheBackupHandle==C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL10\BACKUPSET\2007_11_06\O1_MF_NCSNF_TAG20071106T064915_3LZ7LRN8_.BKP
RMAN> backup datafile1,2,3,4,5;
C:\DocumentsandSettings\Administrator>mkdir C:\ORACLE\PRODUCT\10.2.0\ORADATA\temp\stdby4
SQL> alter database create standby controlfile as '/temp/stdby4.ctl';
SQL> create pfile='/temp/initstdby4.ora' from spfile;
#Pfile Edited for The Physical Standby Database
# Copyright (c) 1991, 2001, 2002 by Oracle Corporation
# SGA Memory
sga_target=370147328
# Job Queues
job_queue_processes=10
# Shared Server
dispatchers="(PROTOCOL=TCP) (SERVICE=stdby4XDB)"
# Miscellaneous
compatible=10.2.0.1.0
# Security and Auditing
audit_file_dest=C:\oracle\product\10.2.0/admin/stdby4/adump
remote_login_passwordfile=EXCLUSIVE
# Sort, Hash Joins, Bitmap Indexes
pga_aggregate_target=122683392
# Database Identification
db_domain=""
db_name=orcl9
# File Configuration
control_files=("C:\oracle\product\10.2.0\oradata\stdby4\control01.ctl", "C:\oracle\product\10.2.0\oradata\stdby4\control02.ctl", "C:\oracle\product\10.2.0\oradata\stdby4\control03.ctl")
db_recovery_file_dest=C:\oracle\product\10.2.0/stdby4/flash_recovery_area
db_recovery_file_dest_size=2147483648
# Cursors and Library Cache
open_cursors=300
# System Managed Undo and Rollback Segments
undo_management=AUTO
undo_tablespace=UNDOTBS1
# Diagnostics and Statistics
background_dump_dest=C:\oracle\product\10.2.0/admin/stdby4/bdump
core_dump_dest=C:\oracle\product\10.2.0/admin/stdby4/cdump
user_dump_dest=C:\oracle\product\10.2.0/admin/stdby4/udump
# Processes and Sessions
processes=150
# Cache and I/O
db_block_size=8192
db_file_multiblock_read_count=16
DB_UNIQUE_NAME=stdby4
LOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl10,stdby4)'
DB_FILE_NAME_CONVERT='orcl10','stdby4'
LOG_FILE_NAME_CONVERT=
'/arch1/orcl10/','/arch1/stdby4/','/arch2/orcl10/','/arch2/stdby4/'
LOG_ARCHIVE_FORMAT=log%t_%s_%r.arc
LOG_ARCHIVE_DEST_1=
'LOCATION=/arch1/stdby4/
VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
DB_UNIQUE_NAME=stdby4'
LOG_ARCHIVE_DEST_2=
'SERVICE=orcl10 LGWR ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=orcl10'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
STANDBY_FILE_MANAGEMENT=AUTO
FAL_SERVER=orcl10
FAL_CLIENT=stdby4
C:\Documents and Settings\Administrator>oradim -new -sid stdby4 -startmode manual
Create Listener and Network Service Name for Standby Database.Stop and start listener(not need)
SQL>create spfile from pfile='/temp/initstdby4.ora';
C:\Documents and Settings\Administrator>set oracle_sid=stdby4
SQL> startup mount;
ORA-01078: failure in processing system parameters
LRM-00109: ???????????????? 'C:\ORACLE\PRODUCT\10.2.0\DB_10\DATABASE\INITSTDBY4.ORA'
Message was edited by:
frank.qian
Message was edited by:
frank.qianyou have now two different pfiles: one in c:\temp\initstdby4.ora. and %ORACLE_HOME%\database\initstdby4.ora.
You are using the latter, as you didn't specify pfile= in your startup mount.
Also, if you are using a spfile, the only line in a pfile should be: spfile=....
In your pfile you are mixing up Unix like file locations with \ and Windows file locations with /
Could you please read the docs
more closely
more closely
more closely
and work
more carefully
more carefully
more carefully
It is very simple, but you must work carefully.
Sybrand Bakker
Senior Oracle DBA -
STEPS for creating IDOC .
I need to creat IDOC for whenever delivery is created .
Hi
Take the correct Idoc type and Message Type and process code from EDBAS and EDMSG tables and use
see the doc
Data Creation in Idoc
IDocs are text encoded documents with a rigid structure that are used to exchange data between R/3 and a foreign system. Instead of calling a program in the destination system directly, the data is first packed into an IDoc and then sent to the receiving system, where it is analyzed and properly processed. Therefore an IDoc data exchange is always an
asynchronous process. The significant difference between simple RFC-calls and IDoc data exchange is the fact, that every action performed on IDocs are protocolled by R/3 and IDocs can be reprocessed if an error occurred in one of the message steps.
While IDocs have to be understood as a data exchange protocol, EDI and ALE are typical use cases for IDocs. R/3 uses IDocs for both EDI and ALE to deliver data to the receiving system. ALE is basically the scheduling mechanism that defines when and between which partners and what kind of data will be exchanged on a regular or event triggered basis. Such a set-up is called an ALE-scenario.
IDoc is a intermediate document to exchange data between two SAP Systems.
*IDocs are structured ASCII files (or a virtual equivalent).
*Electronic Interchange Document
*They are the file format used by SAP R/3 to exchange data with foreign systems.
*Data Is transmitted in ASCII format, i.e. human readable form
*IDocs exchange messages
*IDocs are used like classical interface files
IDOC types are templates for specific message types depending on what is the business document, you want to exchange.
WE30 - you can create a IDOC type.
An IDOC with data, will have to be triggered by the application that is trying to send out the data.
FOr testing you can use WE19.
How to create idoc?
*WE30 - you can create a IDOC type
For more information in details on the same along with the examples can be viewed on:
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm#_Toc8400404
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a6620507d11d18ee90000e8366fc2/frameset.htm
http://www.sappoint.com/presentation.html
http://www.allsaplinks.com/idoc_search.html
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://www.erpgenie.com/sapedi/idoc_abap.htm
To Create Idoc we need to follow these steps:
Create Segment ( WE31)
Create Idoc Type ( WE30 )
Create Message Type ( WE81 )
Assign Idoc Type to Message Type ( WE82 )
Creating a Segment
Go to transaction code WE31
Enter the name for your segment type and click on the Create icon
Type the short text
Enter the variable names and data elements
Save it and go back
Go to Edit -> Set Release
Follow steps to create more number of segments
Create IDOC Type
Go to transaction code WE30
Enter the Object Name, select Basic type and click Create icon
Select the create new option and enter a description for your basic IDOC type and press enter
Select the IDOC Name and click Create icon
The system prompts us to enter a segment type and its attributes
Choose the appropriate values and press Enter
The system transfers the name of the segment type to the IDOC editor.
Follow these steps to add more number of segments to Parent or as Parent-child relation
Save it and go back
Go to Edit -> Set release
Create Message Type
Go to transaction code WE81
Change the details from Display mode to Change mode
After selection, the system will give this message The table is cross-client (see Help for further info). Press Enter
Click New Entries to create new Message Type
Fill details
Save it and go back
Assign Message Type to IDoc Type
Go to transaction code WE82
Change the details from Display mode to Change mode
After selection, the system will give this message The table is cross-client (see Help for further info). Press Enter.
Click New Entries to create new Message Type.
Fill details
Save it and go back
Check these out..
Re: How to create IDOC
Check below link. It will give the step by step procedure for IDOC creation.
http://www.supinfo-projects.com/cn/2005/idocs_en/2/
ALE/ IDOC
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sappoint.com/abap.html
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.docs
go trough these links.
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sappoint.com/abap.html
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.allsaplinks.com/idoc_sample.html
http://http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
An IDoc is simply a data container that is used to exchange information between any two processes that can understand the syntax and semantics of the data...
1.IDOCs are stored in the database. In the SAP system, IDOCs are stored in database tables.
2.IDOCs are independent of the sending and receiving systems.
3.IDOCs are independent of the direction of data exchange.
The two available process for IDOCs are
Outbound Process
Inbound Process
AND There are basically two types of IDOCs.
Basic IDOCs
Basic IDOC type defines the structure and format of the business document that is to be exchanged between two systems.
Extended IDOCs
Extending the functionality by adding more segments to existing Basic IDOCs.
To Create Idoc we need to follow these steps:
Create Segment ( WE31)
Create Idoc Type ( WE30)
Create Message Type ( WE81)
Assign Idoc Type to Message Type ( WE82)
imp links
http://www.allsaplinks.com/idoc_sample.html
http://www.sapgenie.com/sapedi/idoc_abap.htm
www.sappoint.com
--here u can find the ppts and basic seetings for ALE
http://sappoint.com/presentation.html
www.sapgenie.com
http://www.sapgenie.com/ale/index.htm
WE30 - you can create a IDOC type.
An IDOC with data, will have to be triggered by the application that is trying to send out the data.
Try this..Hope this will help.
>>>> SAP ALE & IDOC<<<<
Steps to configuration(Basis) >>
1. Create Logical System (LS) for each applicable ALE-enabled client
2. Link client to Logical System on the respective servers
3. Create background user, to be used by ALE(with authorizaton for ALE postings)
4. Create RFC Destinations(SM59)
5. Ports in Idoc processing(WE21)
6. Generate partner profiles for sending system
The functional configuration(Tcode: SALE)
Create a Customer Distribution Model (CDM);
Add appropriate message types and filters to the CDM;
Generate outbound partner profiles;
Distribute the CDM to the receiving systems; and
Generate inbound partner profiles on each of the clients.
Steps to customize a new IDoc >>>
1. Define IDoc Segment (WE31)
2. Convert Segments into an IDoc type (WE30)
3. Create a Message Type (WE81)
4. Create valid Combination of Message & IDoc type(WE82)
5. Define Processing Code(WE41 for OUT / WE42 for IN)
6. Define Partner Profile(WE20)
Important Transaction Codes:
SALE - IMG ALE Configuration root
WE20 - Manually maintain partner profiles
BD64 - Maintain customer distribution model
BD71 - Distribute customer distribution model
SM59 - Create RFC Destinations
BDM5 - Consistency check (Transaction scenarios)
BD82 - Generate Partner Profiles
BD61 - Activate Change Pointers - Globally
BD50 - Activate Change Pointer for Msg Type
BD52 - Activate change pointer per change.doc object
BD59 - Allocation object type -> IDOC type
BD56 - Maintain IDOC Segment Filters
BD53 - Reduction of Message Types
BD21 - Select Change Pointer
BD87 - Status Monitor for ALE Messages
BDM5 - Consistency check (Transaction scenarios)
BD62 - Define rules
BD79 - Maintain rules
BD55 - Defining settings for IDoc conversion
WEDI - ALE IDoc Administration
WE21 - Ports in Idoc processing
WE60 - IDoc documentation
SARA - IDoc archiving (Object type IDOC)
WE47 - IDoc status maintenance
WE07 - IDoc statistics
BALE - ALE Distribution Administration
WE05 - IDoc overview
BD87 - Inbound IDoc reprocessing
BD88 - Outbound IDoc reprocessing
BDM2 - IDoc Trace
BDM7 - IDoc Audit Analysis
BD21 - Create IDocs from change pointers
SM58 - Schedule RFC Failures
Basic config for Distributed data:
BD64: Maintain a Distributed Model
BD82: Generate Partner Profile
BD64: Distribute the distribution Model
Programs
RBDMIDOC Creating IDoc Type from Change Pointers
RSEOUT00 Process all selected IDocs (EDI)
RBDAPP01 - Inbound Processing of IDocs Ready for Transfer
RSARFCEX - Execute Calls Not Yet Executed
RBDMOIND - Status Conversion with Successful tRFC Execution
RBDMANIN - Start error handling for non-posted IDocs
RBDSTATE - Send Audit Confirmations
FOr testing you can use WE19.
<b>Reward points for useful Answers</b>
Regards
Anji -
Steps to create LOGICAL DATABASE in sap
hi guys,
i have gone through many documents about LDB. But, i didnt get the steps to create a LDB.
plz provide me with the steps to be followed to create a LDB.
thnx,
shivaa.Hi Shiva,
This might help you!
Logical database structures
There are three defining entities in an SAP logical database. You must be clear on all three in order to create and use one.
Table structure: Your logical database includes data from specified tables in SAP. There is a hierarchy among these tables defined by their foreign keys (all known to SAP), and you are going to define a customized relationship between select tables. This structure is unique and must be defined and saved.
Data selection: You may not want or need every item in the referenced tables that contributes to your customized database. There is a selection screen that permits you to pick and choose.
Database access programming: Once youu2019ve defined your logical database, SAP will generate the access subroutines needed to pull the data in the way you want it pulled.
Creating your own logical database
ABAP/4 (Advanced Business Application Programming language, version 4) is the language created by SAP for implementation and customization of its R/3 system. ABAP/4 comes loaded with many predefined logical databases that can construct and table just about any conventional business objects you might need in any canned SAP application. However, you can also create your own logical databases to construct any custom objects you care to define, as your application requires in ABAP/4. Hereu2019s a step-by-step guide:
1. Call up transaction SLDB (or transaction SE36). The path you want is Tools | ABAP Workbench | Development | Programming Environment | Logical Databases. This screen is called Logical Database Builder.
2. Enter an appropriate name in the logical database name field. You have three options on this screen: Create, Display, and Change. Choose Create.
3. Youu2019ll be prompted for a short text description of your new logical database. Enter one. Youu2019ll then be prompted to specify a development class.
4. Now comes the fun part! You must specify a root node, or a parent table, as the basis of your logical database structure. You can now place subsequent tables under the root table as needed to assemble the data object you want. You can access this tree from this point forward, to add additional tables, by selecting that root node and following the path Edit | Node | Create. Once youu2019ve saved the structure you define in this step, the system will generate the programming necessary to access your logical database. The best part is you donu2019t have to write a single line of code.
Watch out!
The use of very large tables will degrade the performance of a logical database, so be aware of that trade-off. Remember that some tables in SAP are very complex, so they will be problematic in any user-defined logical database.
Declaring a logical database
Hereu2019s another surprising feature of logical databases: You do not assign them in your ABAP/4 Code. Instead, the system requires that you specify logical databases as attributes. So when you are creating a report, have your logical database identifier (the name you gave it) on hand when you are defining its attributes on the Program Attributes screen. The Attributes section of the screen (the lower half) will include a Logical database field, where you can declare your logical database.
Logical databases for increasing efficiency
Why else would you want to create a logical database? Consider that the logical databases already available to you begin with a root node and proceed downward from there. If the data object you wish to construct consists of items that are all below the root node, you can use an existing logical database program to extract the data, then trim away what you donu2019t want using SELECT statementsu2014or you can increase the speed of the logical database program considerably by redefining the logical database for your object and starting with a table down in the chain. Either way, youu2019ll eliminate a great deal of overhead.
Reward if useful.
Thankyou,
Regards. -
Steps for Creating Report using LDB
hellow sirs
can u please tell Step by Step method for creating Reports using LDB method...
if possible with screen Shots..
thanking You
RahulHi,
Please refer the code below:
Use the PNP LDB for this program,
*: Report: ZP_POSTCODE :
*: Date : 2004 :
*: Description: Displays report of employees by postcode area, :
*: includes current travelling allowances (i.e. parking :
*: permit or transport card etc..) :
*: Use: Help encourage the use of car sharing and public :
*: transport where appropriate. :
REPORT zp_postcode.
type-pools: slis. "ALV Declarations
NODES: pernr.
INFOTYPES: 0000, 0001, 0002, 0006, 0008, 0014, 0105, 0121.
SELECTION-SCREEN BEGIN OF BLOCK pcode WITH FRAME TITLE text-s01.
SELECT-OPTIONS: so_pcode FOR p0006-pstlz.
SELECTION-SCREEN END OF BLOCK pcode.
TYPES: BEGIN OF t_output,
pernr TYPE p0001-pernr, "personnel name
anredtxt TYPE t522t-atext, "title (based on p0002-anred)
fname TYPE p0002-vorna, "first name
lname TYPE p0002-nachn, "last name
orgtx TYPE t527x-orgtx, "dept
fte TYPE p0008-bsgrd, "fte
parking(20) TYPE c,
payslip TYPE t526-sachn, "payslip address
telno TYPE p0105-usrid_long, "tel number(p0105-usrty = 0020)
email TYPE p0105-usrid_long, "email (p0105-usrty = MAIL)
postcode type p0006-pstlz,
END OF t_output.
DATA: it_output TYPE STANDARD TABLE OF t_output INITIAL SIZE 0,
wa_output TYPE t_output.
*ALV data declarations
data: fieldcatalog type slis_t_fieldcat_alv with header line,
gd_tab_group type slis_t_sp_group_alv,
gd_layout type slis_layout_alv,
gd_repid like sy-repid,
gt_events type slis_t_event,
gd_prntparams type slis_print_alv,
gd_count(6) type n,
gd_outtext(70) type c,
gd_lines type i.
*START-OF-SELECTION.
START-OF-SELECTION.
clear: gd_count.
GET pernr.
* Infotype 0121 is used to store multiple contracts for personnel.
* Field p0121-hpern contains the personnel number for the main contract.
PROVIDE * from p0121 between pn-begda and pn-endda.
* Check if main contract
if p0121-pernr ne p0121-hpern.
reject.
endif.
ENDPROVIDE.
add 1 to gd_count.
concatenate 'Processing personnel data'(m10) gd_count into gd_outtext
separated by ' '.
* Display indicator for employee count
perform progress_indicator using gd_outtext.
* Retrieve datd from infotypes
rp_provide_from_last p0000 space pn-begda pn-endda.
rp_provide_from_last p0001 space pn-begda pn-endda.
rp_provide_from_last p0002 space pn-begda pn-endda.
rp_provide_from_last p0006 space pn-begda pn-endda.
rp_provide_from_last p0008 space pn-begda pn-endda.
rp_provide_from_last p0014 space pn-begda pn-endda.
* Check post code
CHECK p0006-pstlz IN so_pcode. "cp
* Post code
wa_output-postcode = p0006-pstlz.
* Personnel number
wa_output-pernr = pernr-pernr.
* Personnel title
SELECT SINGLE atext
FROM t522t
INTO wa_output-anredtxt
WHERE sprsl EQ sy-langu AND
anred EQ p0002-anred.
* First name
wa_output-fname = p0002-vorna.
* Last name
wa_output-lname = p0002-nachn.
* Organizational Unit text (dept)
SELECT SINGLE orgtx
FROM t527x
INTO wa_output-orgtx
WHERE sprsl EQ sy-langu AND
orgeh EQ p0001-orgeh AND
endda GE sy-datum.
* FTE
wa_output-fte = p0008-bsgrd.
* Parking / travel deducted?
CASE p0014-lgart.
WHEN '7180' OR '7181' OR '7182'.
wa_output-parking = text-002.
WHEN '7183'.
wa_output-parking = text-001.
WHEN '7171' OR '7172' or '7173' or '7174' or
'7175' or '7176' or '7177' or '7178'.
wa_output-parking = text-003.
ENDCASE.
* Payslip Address
SELECT SINGLE sachn
FROM t526
INTO wa_output-payslip
WHERE werks EQ p0001-werks AND
sachx EQ p0001-sacha.
PROVIDE * from p0105 between pn-begda and pn-endda.
* Telephone numbers
if p0105-usrty = '0020'.
wa_output-telno = p0105-usrid_long.
endif.
* Email address
if p0105-usrty = 'MAIL'.
wa_output-email = p0105-usrid_long.
endif.
ENDPROVIDE.
append wa_output to it_output.
clear: wa_output.
*END-OF-SELECTION.
END-OF-SELECTION.
describe table it_output lines gd_lines.
if gd_lines gt 0.
perform build_fieldcatalog.
perform build_layout.
perform display_alv_report.
else.
message i003(zp) with 'No records found'.
endif.
*& Form PROGRESS_INDICATOR
* Displays progress indicator on SAP screen
form progress_indicator using p_text.
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
* PERCENTAGE = 0
text = p_text.
endform. " PROGRESS_INDICATOR
*& Form BUILD_FIELDCATALOG
* Build Fieldcatalog for ALV Report
form build_fieldcatalog.
fieldcatalog-fieldname = 'PERNR'.
fieldcatalog-seltext_m = 'Personnel No.'.
fieldcatalog-col_pos = 0.
fieldcatalog-outputlen = 10.
* fieldcatalog-emphasize = 'X'.
* fieldcatalog-key = 'X'.
* fieldcatalog-do_sum = 'X'.
* fieldcatalog-no_zero = 'X'.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'ANREDTXT'.
fieldcatalog-seltext_m = 'Title'.
fieldcatalog-col_pos = 1.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'FNAME'.
fieldcatalog-seltext_m = 'First Name'.
fieldcatalog-col_pos = 2.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'LNAME'.
fieldcatalog-seltext_m = 'Last Name'.
fieldcatalog-col_pos = 3.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'ORGTX'.
fieldcatalog-seltext_m = 'Department'.
fieldcatalog-col_pos = 4.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'FTE'.
fieldcatalog-seltext_m = 'FTE'.
fieldcatalog-col_pos = 5.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'PARKING'.
fieldcatalog-seltext_m = 'Parking/Metrocard'.
fieldcatalog-col_pos = 6.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'PAYSLIP'.
fieldcatalog-seltext_m = 'Payslip Add.'.
fieldcatalog-col_pos = 7.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'TELNO'.
fieldcatalog-seltext_m = 'Telephone'.
fieldcatalog-col_pos = 8.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'EMAIL'.
fieldcatalog-seltext_m = 'E-mail'.
fieldcatalog-col_pos = 9.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'POSTCODE'.
fieldcatalog-seltext_m = 'Post code'.
fieldcatalog-col_pos = 10.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
endform. " BUILD_FIELDCATALOG
*& Form BUILD_LAYOUT
* Build layout for ALV grid report
form build_layout.
gd_layout-no_input = 'X'.
gd_layout-colwidth_optimize = 'X'.
gd_layout-totals_text = 'Totals'(201).
gd_layout-zebra = 'X'.
endform. " BUILD_LAYOUT
*& Form DISPLAY_ALV_REPORT
* Display report using ALV grid
form display_alv_report.
gd_repid = sy-repid.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = gd_repid
is_layout = gd_layout
it_fieldcat = fieldcatalog[]
i_save = 'X'
tables
t_outtab = it_output
exceptions
program_error = 1
others = 2.
if sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
endform. " DISPLAY_ALV_REPORT
Maybe you are looking for
-
I am trying to load the trandsaction data from DSO to INFOCUBE. I am getting the following error message: "Error while updating to target Z_INFCUBE". Because of no proper error message I am not able to resolve the issue. Please suggest any solution f
-
How do i talk to a human being from Adobe?
need phone number please everytime i open a pdf i get a pop up to register now, register later, im tired of signing in to open a stupid pdf. i created and signed in and yet it still happens.
-
Some Interview Quesions answer required
I attended interview i dont know few answers. Can anyone provide me the answer?. 1.which platform is nwds based on and what is the jre for sap nw7.0 WAS. 2. Describe the different adminstrative tools. 3.Describe the central instance with diagram 4.wh
-
Pls help me , this is very urgent
I have a column called description with values as follows Admin Support Admin Support Admin Support Air Support Cable - Disaster Response Cable - Operational Support Cable - PMPP (Preparedness) Cable - Program Support Capacity Building Capacity Build
-
What pattern is followed when using FileFilter for filtering files ?
Hi All, FileFilter is used to filter files according to the condition specified. for example the code is FileFilter fileFilter = new FileFilter(){ public boolean accept(File inFile) { // To return whether it is a file return inFile.isFile(); // To re