What are the joins are available in abap.

Hi all,
What are all the joins are avaialble in abap. Can anyone explain me with examples.
thanxs in advance
hari

Hi,
There are two types of JOINS
INNER JOINS and OUTERJOINS
In the case of INNER JOIN only the records from tables for which the JOIN condition is met are retrieved.
In the case of OUTER JOIN you will get all the fields that are there in the LEFT table irrespective of the join condition.
Syntax
... [(] {dbtab_left [AS tabalias_left]} | join
{[INNER] JOIN}|{LEFT [OUTER] JOIN}
{dbtab_right [AS tabalias_right] ON join_cond} [)] ... .
Effect
The join syntax represents a recursively nestable join expression. A join expression consists of a left-hand and a right- hand side, which are joined either by means of [INNER] JOIN or LEFT [OUTER] JOIN . Depending on the type of join, a join expression can be either an inner ( INNER) or an outer (LEFT OUTER) join. Every join expression can be enclosed in round brackets. If a join expression is used, the SELECT command circumvents SAP buffering.
On the left-hand side, either a single database table, a view dbtab_left, or a join expression join can be specified. On the right-hand side, a single database table or a view dbtab_right as well as join conditions join_cond can be specified after ON. In this way, a maximum of 24 join expressions that join 25 database tables or views with each other can be specified after FROM.
AS can be used to specify an alternative table name tabalias for each of the specified database table names or for every view. A database table or a view can occur multiple times within a join expression and, in this case, have various alternative names.
The syntax of the join conditions join_cond is the same as that of the sql_cond conditions after the addition WHERE, with the following differences:
At least one comparison must be specified after ON.
Individual comparisons may be joined using AND only.
All comparisons must contain a column in the database table or the view dbtab_right on the right-hand side as an operand.
The following language elements may not be used: BETWEEN, LIKE, IN.
No sub-queries may be used.
For outer joins, only equality comparisons (=, EQ) are possible.
If an outer join occurs after FROM, the join condition of every join expression must contain at least one comparison between columns on the left-hand and the right-hand side.
In outer joins, all comparisons that contain columns as operands in the database table or the view dbtab_right on the right-hand side must be specified in the corresponding join condition. In the WHERE condition of the same SELECT command, these columns are not allowed as operands.
Resulting set for inner join
The inner join joins the columns of every selected line on the left- hand side with the columns of all lines on the right-hand side that jointly fulfil the join_cond condition. A line in the resulting set is created for every such line on the right-hand side. The content of the column on the left-hand side may be duplicated in this case. If none of the lines on the right-hand side fulfils the join_cond condition, no line is created in the resulting set.
Resulting set for outer join
The outer join basically creates the same resulting set as the inner join, with the difference that at least one line is created in the resulting set for every selected line on the left-hand side, even if no line on the right-hand side fulfils the join_cond condition. The columns on the right-hand side that do not fulfil the join_cond condition are filled with null values.
Example
Join the columns carrname, connid, fldate of the database tables scarr, spfli and sflight by means of two inner joins. A list is created of the flights from p_cityfr to p_cityto. Alternative names are used for every table.
PARAMETERS: p_cityfr TYPE spfli-cityfrom,
p_cityto TYPE spfli-cityto.
DATA: BEGIN OF wa,
fldate TYPE sflight-fldate,
carrname TYPE scarr-carrname,
connid TYPE spfli-connid,
END OF wa.
DATA itab LIKE SORTED TABLE OF wa
WITH UNIQUE KEY fldate carrname connid.
SELECT ccarrname pconnid f~fldate
INTO CORRESPONDING FIELDS OF TABLE itab
FROM ( ( scarr AS c
INNER JOIN spfli AS p ON pcarrid = ccarrid
AND p~cityfrom = p_cityfr
AND p~cityto = p_cityto )
INNER JOIN sflight AS f ON fcarrid = pcarrid
AND fconnid = pconnid ).
LOOP AT itab INTO wa.
WRITE: / wa-fldate, wa-carrname, wa-connid.
ENDLOOP.
Example
Join the columns carrid, carrname and connid of the database tables scarr and spfli using an outer join. The column connid is set to the null value for all flights that do not fly from p_cityfr. This null value is then converted to the appropriate initial value when it is transferred to the assigned data object. The LOOP returns all airlines that do not fly from p_cityfr.
PARAMETERS p_cityfr TYPE spfli-cityfrom.
DATA: BEGIN OF wa,
carrid TYPE scarr-carrid,
carrname TYPE scarr-carrname,
connid TYPE spfli-connid,
END OF wa,
itab LIKE SORTED TABLE OF wa
WITH NON-UNIQUE KEY carrid.
SELECT scarrid scarrname p~connid
INTO CORRESPONDING FIELDS OF TABLE itab
FROM scarr AS s
LEFT OUTER JOIN spfli AS p ON scarrid = pcarrid
AND p~cityfrom = p_cityfr.
LOOP AT itab INTO wa.
IF wa-connid = '0000'.
WRITE: / wa-carrid, wa-carrname.
ENDIF.
ENDLOOP.
Joins are used to fetch data fast from Database tables:
Tables are joined with the proper key fields to fetch the data properly.
If there are no proper key fields between tables don't use Joins;
Important thing is that don't USE JOINS FOR CLUSTER tableslike BSEG and KONV.
Only use for Transparenmt tables.
You can also use joins for the database VIews to fetch the data.
JOINS
... FROM tabref1 [INNER] JOIN tabref2 ON cond
Effect
The data is to be selected from transparent database tables and/or views determined by tabref1 and tabref2. tabref1 and tabref2 each have the same form as in variant 1 or are themselves Join expressions. The keyword INNER does not have to be specified. The database tables or views determined by tabref1 and tabref2 must be recognized by the ABAP Dictionary.
In a relational data structure, it is quite normal for data that belongs together to be split up across several tables to help the process of standardization (see relational databases). To regroup this information into a database query, you can link tables using the join command. This formulates conditions for the columns in the tables involved. The inner join contains all combinations of lines from the database table determined by tabref1 with lines from the table determined by tabref2, whose values together meet the logical condition (join condition) specified using ON>cond.
Inner join between table 1 and table 2, where column D in both tables in the join condition is set the same:
Table 1 Table 2
A
B
C
D
D
E
F
G
H
a1
b1
c1
1
1
e1
f1
g1
h1
a2
b2
c2
1
3
e2
f2
g2
h2
a3
b3
c3
2
4
e3
f3
g3
h3
a4
b4
c4
3
|--|||--|
Inner Join
A
B
C
D
D
E
F
G
H
a1
b1
c1
1
1
e1
f1
g1
h1
a2
b2
c2
1
1
e1
f1
g1
h1
a4
b4
c4
3
3
e2
f2
g2
h2
|--||||||||--|
Example
Output a list of all flights from Frankfurt to New York between September 10th and 20th, 2001 that are not sold out:
DATA: DATE LIKE SFLIGHT-FLDATE,
CARRID LIKE SFLIGHT-CARRID,
CONNID LIKE SFLIGHT-CONNID.
SELECT FCARRID FCONNID F~FLDATE
INTO (CARRID, CONNID, DATE)
FROM SFLIGHT AS F INNER JOIN SPFLI AS P
ON FCARRID = PCARRID AND
FCONNID = PCONNID
WHERE P~CITYFROM = 'FRANKFURT'
AND P~CITYTO = 'NEW YORK'
AND F~FLDATE BETWEEN '20010910' AND '20010920'
AND FSEATSOCC < FSEATSMAX.
WRITE: / DATE, CARRID, CONNID.
ENDSELECT.
If there are columns with the same name in both tables, you must distinguish between them by prefixing the field descriptor with the table name or a table alias.
Note
In order to determine the result of a SELECT command where the FROM clause contains a join, the database system first creates a temporary table containing the lines that meet the ON condition. The WHERE condition is then applied to the temporary table. It does not matter in an inner join whether the condition is in the ON or WHEREclause. The following example returns the same solution as the previous one.
Example
Output of a list of all flights from Frankfurt to New York between September 10th and 20th, 2001 that are not sold out:
DATA: DATE LIKE SFLIGHT-FLDATE,
CARRID LIKE SFLIGHT-CARRID,
CONNID LIKE SFLIGHT-CONNID.
SELECT FCARRID FCONNID F~FLDATE
INTO (CARRID, CONNID, DATE)
FROM SFLIGHT AS F INNER JOIN SPFLI AS P
ON FCARRID = PCARRID
WHERE FCONNID = PCONNID
AND P~CITYFROM = 'FRANKFURT'
AND P~CITYTO = 'NEW YORK'
AND F~FLDATE BETWEEN '20010910' AND '20010920'
AND FSEATSOCC < FSEATSMAX.
WRITE: / DATE, CARRID, CONNID.
ENDSELECT.
Note
Since not all of the database systems supported by SAP use the standard syntax for ON conditions, the syntax has been restricted. It only allows those joins that produce the same results on all of the supported database systems:
Only a table or view may appear to the right of the JOIN operator, not another join expression.
Only AND is possible in the ON condition as a logical operator.
Each comparison in the ON condition must contain a field from the right-hand table.
If an outer join occurs in the FROM clause, all the ON conditions must contain at least one "real" JOIN condition (a condition that contains a field from tabref1 amd a field from tabref2.
Note
In some cases, '*' may be specified in the SELECT clause, and an internal table or work area is entered into the INTO clause (instead of a list of fields). If so, the fields are written to the target area from left to right in the order in which the tables appear in the FROM clause, according to the structure of each table work area. There can then be gaps between table work areas if you use an Alignment Request. For this reason, you should define the target work area with reference to the types of the database tables, not simply by counting the total number of fields. For an example, see below:
Variant 3
... FROM tabref1 LEFT [OUTER] JOIN tabref2 ON cond
Effect
Selects the data from the transparent database tables and/or views specified in tabref1 and tabref2. tabref1 und tabref2 both have either the same form as in variant 1 or are themselves join expressions. The keyword OUTER can be omitted. The database tables or views specified in tabref1 and tabref2 must be recognized by the ABAP-Dictionary.
In order to determine the result of a SELECT command where the FROM clause contains a left outer join, the database system creates a temporary table containing the lines that meet the ON condition. The remaining fields from the left-hand table (tabref1) are then added to this table, and their corresponding fields from the right-hand table are filled with ZERO values. The system then applies the WHERE condition to the table.
Left outer join between table 1 and table 2 where column D in both tables set the join condition:
Table 1 Table 2
A
B
C
D
D
E
F
G
H
a1
b1
c1
1
1
e1
f1
g1
h1
a2
b2
c2
1
3
e2
f2
g2
h2
a3
b3
c3
2
4
e3
f3
g3
h3
a4
b4
c4
3
|--|||--|
Left Outer Join
A
B
C
D
D
E
F
G
H
a1
b1
c1
1
1
e1
f1
g1
h1
a2
b2
c2
1
1
e1
f1
g1
h1
a3
b3
c3
2
NULL
NULL
NULL
NULL
NULL
a4
b4
c4
3
3
e2
f2
g2
h2
|--||||||||--|
Example
Output a list of all custimers with their bookings for October 15th, 2001:
DATA: CUSTOMER TYPE SCUSTOM,
BOOKING TYPE SBOOK.
SELECT SCUSTOMNAME SCUSTOMPOSTCODE SCUSTOM~CITY
SBOOKFLDATE SBOOKCARRID SBOOKCONNID SBOOKBOOKID
INTO (CUSTOMER-NAME, CUSTOMER-POSTCODE, CUSTOMER-CITY,
BOOKING-FLDATE, BOOKING-CARRID, BOOKING-CONNID,
BOOKING-BOOKID)
FROM SCUSTOM LEFT OUTER JOIN SBOOK
ON SCUSTOMID = SBOOKCUSTOMID AND
SBOOK~FLDATE = '20011015'
ORDER BY SCUSTOMNAME SBOOKFLDATE.
WRITE: / CUSTOMER-NAME, CUSTOMER-POSTCODE, CUSTOMER-CITY,
BOOKING-FLDATE, BOOKING-CARRID, BOOKING-CONNID,
BOOKING-BOOKID.
ENDSELECT.
If there are columns with the same name in both tables, you must distinguish between them by prefixing the field descriptor with the table name or using an alias.
Note
For the resulting set of a SELECT command with a left outer join in the FROM clause, it is generally of crucial importance whether a logical condition is in the ON or WHERE condition. Since not all of the database systems supported by SAP themselves support the standard syntax and semantics of the left outer join, the syntax has been restricted to those cases that return the same solution in all database systems:
Only a table or view may come after the JOIN operator, not another join statement.
The only logical operator allowed in the ON condition is AND.
Each comparison in the ON condition must contain a field from the right-hand table.
Comparisons in the WHERE condition must not contain a field from the right-hand table.
The ON condition must contain at least one "real" JOIN condition (a condition in which a field from tabref1 as well as from tabref2 occurs).
Note
In some cases, '*' may be specivied as the field list in the SELECT clause, and an internal table or work area is entered in the INTO clause (instead of a list of fields). If so, the fields are written to the target area from left to right in the order in which the tables appear in the llen in der FROM clause, according to the structure of each table work area. There can be gaps between the table work areas if you use an Alignment Request. For this reason, you should define the target work area with reference to the types of the database tables, as in the following example (not simply by counting the total number of fields).
Example
Example of a JOIN with more than two tables: Select all flights from Frankfurt to New York between September 10th and 20th, 2001 where there are available places, and display the name of the airline.
DATA: BEGIN OF WA,
FLIGHT TYPE SFLIGHT,
PFLI TYPE SPFLI,
CARR TYPE SCARR,
END OF WA.
SELECT * INTO WA
FROM ( SFLIGHT AS F INNER JOIN SPFLI AS P
ON FCARRID = PCARRID AND
FCONNID = PCONNID )
INNER JOIN SCARR AS C
ON FCARRID = CCARRID
WHERE P~CITYFROM = 'FRANKFURT'
AND P~CITYTO = 'NEW YORK'
AND F~FLDATE BETWEEN '20010910' AND '20010920'
AND FSEATSOCC < FSEATSMAX.
WRITE: / WA-CARR-CARRNAME, WA-FLIGHT-FLDATE, WA-FLIGHT-CARRID,
WA-FLIGHT-CONNID.
ENDSELECT.
Regards,
Priyanka.

Similar Messages

  • What are infotypes in ABAP HR

    Hi all,
    what are infotypes in ABAP HR...
    and also can i get a brief idea about reporting in ABAP HR
    Thanks in advance
    cheers,
    Raghavesh

    Hi,
    An infotype is a 'record' or a 'screen' which holds data against an employee or PD object such as a position, org.unit etc.
    A table stores values about an infotype and the way it will function.
    Main program generates internal tables for infotypes at runtime.
    Infotypes have an associated database table and a structure .
    plzz refer to this thread also
    infotype
    infotypes
    0000 Events
    0001 Org assignment
    0002 Personal info
    0003 Payroll data
    0007 Work time
    0008 Basic pay
    0014 Reoccurring pay
    0015 1 X pay
    0027 Cost Center
    0041 Event Dates
    0057 Membership dues
    0165 Over ride to limits on deductions
    0167 Health
    0168 Insurance
    0169 Savings
    0170 Spending
    0194 Garnishment reduction
    0195 Garnishment order
    0207 Residence Tax
    0208 Work Tax
    0209 Unemployment Tax
    0210 Withholding
    0216 Garnishment adjustment
    0221 Adjustment
    0267 Off cycle
    2005 OT
    2010 Catts direct to cluster
    1000 Infotypes 1000 – 1999 are PD Relationship infotypes
    Rfere the links
    http://planetsap.com/hr_hrinfotypes.htm
    http://www.planetsap.com/HR_ABAP_Infotypes.htm
    http://72.14.203.104/search?q=cache:FfEG_19IAzoJ:www.planetsap.com/hr_abap_main_page.htmINFOTYPESIN+ABAP&hl=en&gl=in&ct=clnk&cd=6
    Rgds,
    Prakash

  • What is the latest update available for Mac OSX 10.5.8 that will allow me to get the latest update for iTunes.  I really need to update my iPhone and CAN'T!!  GRRRR!!!

    What is the latest update available for Mac OSX 10.5.8 that will allow me to get the latest update for iTunes.  I really need to update my iPhone and CAN'T!!  GRRRR!!!

    Minimally you need Snow Leopard or greater:
    Upgrade Paths to Snow Leopard, Lion, and/or Mountain Lion
    You can upgrade to Mountain Lion from Lion or directly from Snow Leopard. Mountain Lion can be downloaded from the Mac App Store for $19.99. To access the App Store you must have Snow Leopard 10.6.6 or later installed.
    Upgrading to Snow Leopard
    You can purchase Snow Leopard through the Apple Store: Mac OS X 10.6 Snow Leopard — Apple Store (U.S.). The price is $19.99 plus tax. You will be sent physical media by mail after placing your order.
    After you install Snow Leopard you will have to download and install the Mac OS X 10.6.8 Update Combo v1.1 to update Snow Leopard to 10.6.8 and give you access to the App Store. Access to the App Store enables you to download Mountain Lion if your computer meets the requirements.
         Snow Leopard General Requirements
           1. Mac computer with an Intel processor
           2. 1GB of memory
           3. 5GB of available disk space
           4. DVD drive for installation
           5. Some features require a compatible Internet service provider;
               fees may apply.
           6. Some features require Apple’s iCloud services; fees and
               terms apply.
    Upgrading to Lion
    If your computer does not meet the requirements to install Mountain Lion, it may still meet the requirements to install Lion.
    You can purchase Lion by contacting Customer Service: Contacting Apple for support and service — this includes international calling numbers. The cost is $19.99 (as it was before) plus tax.  It's a download. You will get an email containing a redemption code that you then use at the Mac App Store to download Lion. Save a copy of that installer to your Downloads folder because the installer deletes itself at the end of the installation.
         Lion System Requirements
           1. Mac computer with an Intel Core 2 Duo, Core i3, Core i5, Core i7,
               or Xeon processor
           2. 2GB of memory
           3. OS X v10.6.6 or later (v10.6.8 recommended)
           4. 7GB of available space
           5. Some features require an Apple ID; terms apply.
    Upgrading to Mountain Lion
    To upgrade to Mountain Lion you must have Snow Leopard 10.6.8 or Lion installed. Purchase and download Mountain Lion from the App Store. Sign in using your Apple ID. Mountain Lion is $19.99 plus tax. The file is quite large, over 4 GBs, so allow some time to download. It would be preferable to use Ethernet because it is nearly four times faster than wireless.
         OS X Mountain Lion — System Requirements
           Macs that can be upgraded to OS X Mountain Lion
             1. iMac (Mid 2007 or newer) — Model Identifier 7,1 or later
             2. MacBook (Late 2008 Aluminum, or Early 2009 or newer) —
                 Model Identifier 5,1 or later
             3. MacBook Pro (Mid/Late 2007 or newer) — Model Identifier 3,1 or later
             4. MacBook Air (Late 2008 or newer) — Model Identifier 2,1 or later
             5. Mac mini (Early 2009 or newer) — Model Identifier 3,1 or later
             6. Mac Pro (Early 2008 or newer) — Model Identifier 3,1 or later
             7. Xserve (Early 2009) — Model Identifier 3,1 or later
    To find the model identifier open System Profiler in the Utilities folder. It's displayed in the panel on the right.
    Are my applications compatible?
             See App Compatibility Table — RoaringApps.
         For a complete How-To introduction from Apple see Upgrade to OS X Mountain Lion.

  • What is the first step of an abaper after getting the FDS

    what is the first step of an abaper after getting the Functional Document ?what we have to do? how to analyze it , and how to face such interview questions on FDS TDS . any resource available.

    Hi,
    After getting the FDS , first understand the functionality of the requirment or take the help of the functional consultant and then start preparing TS ( TEchnical Specification) and do coding  and get your doe reveirewed and prepare test cases and do testign in sand box and quality environment and after having got the confrimation that the requirment is met then port it to production.
    Regards,
    Irfan
    Note: Please award helpful answers.

  • HT204149 What is the maximum resolution available for use with the Apple Mini DisplayPort to Dual-Link DVI adapter?

    What is the maximum resolution available for use with the Apple Mini DisplayPort to Dual-Link DVI adapter?

    Hey guys,
    I found out an answer by myself...
    The missing link : the MacBook Pro needs to be powered... as in you need to plug the charger in...
    In conclusion, you simply plug everything, turn on the MacBook Pro, close the lid, and there you go !

  • What is the Join condition between mtl_system_items_b and mtl_onhand_quantities_detail

    Hi,
    What is the Join condition between mtl_system_items_b and mtl_onhand_quantities_detail?
    Thanks & Regards,
    Hari Babu

    Please see the query in (Consolidate Onhand Quantity /Sum Quantity Zero in MTL_ONHAND_QUANTITIES_DETAIL (MOQD) / Concurrent Program Consolidate Inventory Onhand Quantities / Datafix for 0 Quantity Displayed For Finished Goods (Doc ID 353345.1)), is shows how to join those 2 tables.
    http://etrm.oracle.com
    Thanks,
    Hussein

  • What is the importance of 4 in  ABAP/4 , is there any other types

    hi friends,
    what is the importance of 4 in  ABAP/4 , is there any other types like that availble in ABAP.

    Hi Satish,
    Here's an interesting link ...
    http://en.wikipedia.org/wiki/Fourth-generation_programming_language
    I hope this serves your purpose of knowing about "Generation of Programming Languages" and even more
    Reward if useful!
    Cheers
    Kripa Rangachari

  • What is the top hierarchical class in abap

    What is the top hierarchical class in abap ? in java we have the class Object, that is on top of all the rest.
    Is there a similar class in ABAP ?
    Thanks

    Hi,
    Well actually there is a difference. In Java 'Object' is an actual class which is the root for all other classes (http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html). While in ABAP 'type ref to object' only means it is a reference to a class instance. An actual root class like Object in Java does not exist.
    Only for exception classes there is  a root: CX_ROOT...
    Regards, Gerd Rother

  • What is the Join Between structures (sdpartnerlist) and (vbak or komv )

    Hi Dear ,
    can anyone tell me that  " what is the  Join Between structures (sdpartnerlist) and (vbak or komv ) "
    or how can i join these structures .

    Please do your own research before asking others.
    Thread locked.
    Thomas

  • What is the latest SP available in 2004s

    What is the latest SP available in 2004s and what issues does it resolve?
    Thanks
    Message was edited by:
            Smitha P

    Hi,
    I hope, BW Support Package 11 for 7.00 is the latest one. I donot think that SP 12 is released yet.
    https://websmp230.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/spat/index.htm?sp1=SAPKW70011
    With rgds,
    Anil Kumar Sharma .P

  • What is the operating system available for Macbook Dual core Intel processor  system

    what is the operating system available for Macbook Dual core Intel processor  system

    Exactly what model? Do you really mean the old MacBook with the dual core processor or do you mean one using a Core 2 Duo  processor?
    The last OS X that runs on a dual core Mac would be:
    Upgrading to Snow Leopard
    You can purchase Snow Leopard through the Apple Store: Mac OS X 10.6 Snow Leopard - Apple Store (U.S.). The price is $19.99 plus tax. You will be sent physical media by mail after placing your order.
    After you install Snow Leopard you will have to download and install the Mac OS X 10.6.8 Update Combo v1.1 to update Snow Leopard to 10.6.8 and give you access to the App Store. Access to the App Store enables you to download Mountain Lion if your computer meets the requirements.
         Snow Leopard General Requirements
           1. Mac computer with an Intel processor
           2. 1GB of memory
           3. 5GB of available disk space
           4. DVD drive for installation
           5. Some features require a compatible Internet service provider;
               fees may apply.
           6. Some features require Apple’s iCloud services; fees and
               terms apply.

  • HT1444 What is the "software upgrade" available for the OS X 10.5.8?

    What is the "software upgrade" available for the OS X 10.5.8?

    Here is a link to buy Snow Leopard, but you need to wait to use it because the Apple Store is being updated, probably because of the meeting Apple has called for today.
    Snow Leopard Purchase

  • What Are Available Output Formats?

    What are the available output video formats from Final Cut Express? I tried to find that info in the online manual, but it is abit vague. I am wondering what all the available formats are.
    And, what is the common format to use to then author a DVD in iDVD as well as DVD Studio Pro. (BTW - can DVD Studio Pro be bought separately, or does it only come as part of Final Cut Pro?)

    Thanks. I guess by installing Flipmac, it adds output options?
    As you may have seen from my profile, I'm a PC user. I am about to buy my first Mac, a Mac Pro (glad I waited until after Xmas!). Anyway, I am familiar with formats like MPEG2, WMV and Avi. And, DivX which is an "add-in" too. But, not familiar with the native outputs from the various Mac programs. I would like to know what I am getting in too. Some work related projects I still need WMV format. So, Flipmac solves that I guess.
    Still, I would like to know what native output formats are available before additional downloads are installed, etc.

  • What are available patches on Oracle 10g 10.2.0.3

    Hi Guys,
    Just want to know which all patches are available on Oracle 10g 10.2.0.3?
    And how to find which patches are available on which oracle database version?
    Thanks in advance!
    Avinash.

    All patch details are listed on Metalink.
    http://metalink.oracle.com
    Christopher Soza
    Oracle BI DBA
    Orix Consultancy Services Ltd
    http://sozaman.blogspot.com

  • What is the use of  keyword SCAN ABAP-SOURCE

    Hello experts,
    what is the use of scan abap-source. please explain. what is tokens, statements, levels in that.

    Hi
    <b>SCAN</b>
    This statement is for internal use only.
    It cannot be used in application programs.
    <b>SCAN ABAP-SOURCE itab1 ...TOKENS INTO itab2
                           ...STATEMENTS INTO itab3.</b>
    Parts marked with " ..." are interchangeable
    <b>Addition 1</b>
    ... FROM n1
    <b>Addition 2</b>
    ... TO   n2
    Breaks down the source code table itab1 into tokens not from start to finish, but only from line n1 to line n2.
    The additions FROM n1 and TO n2 must, in this order, follow the specification of the source code table itab1.
    When using the start specification n1, use the addition WITHOUT TRMAC to ensure that there are no unnecessary database accesses to the table TRMAC.
    The end specification n2 is treated as "soft", i.e. a statement that begins on a line <= n2, but ends only on a line > n2, is returned completely.
    If the end specification n2 is split in a chain statement, only the split part up to the next comma is returned completely, not the entire chain statement up to the next period.
    Negative line specifications are not allowed and result in a runtime error.
    A line specification of 0 amounts essentially to no specification.
    If n1 number of lines in source code table, the scanner is not called (SY-SUBRC = 2).
    If n1 > n2 and n2 > 0, the scanner is not called (SY-SUBRC = 2).
    <b>
    Addition 3</b>
    ... KEYWORDS FROM itab4
    Does not return all statements, only those specified in the key word table itab4.
    If the key word table is empty (i.e. it contains 0 lines), all the statements are selected.
    The lines of the key word table are treated as a character field.
    To select a Native-SQL-statement or a macro definition, you can specify the pseudo key words EXEC_SQL or DEFINE_MACRO. It makes no difference whether the statements EXEC or DEFINE occur as well. Native SQL statements and macro definitions are returned as one statement (of type E or M even if the expansion of a macro definition results in more than one statement.
    If the key word table contains a blank line, blank statements are also selected.
    <b>Addition 4</b>
    ... LEVELS INTO itab5
    Stores details about each edited source code unit (source code table itab1 itself, expanded include-programs, expanded macro definitions) in the level table itab5.
    Specification of a level table makes sense only with the addition WITH INCLUDES.
    The level table itab5 must have the structure SLEVEL.
    The fields of the structure SLEVEL - and consequently the columns of the level table itab5 have the following meaning:
    TYPE
    Type of source code unit with the following possible values:
    P (Program)
    D (Internal DEFINE macro)
    R (Macro from table TRMAC)
    NAME
    Name of source code unit (name of include program, macro name)
    DEPTH
    Current nesting depth of source code unit (>= 1)
    LEVEL
    Index of superior (i.e. including or calling) source code unit in the level table (>= 1, if DEPTH >= 2, otherwise 0)
    STMNT
    Index of superior (i.e. including or calling) statement in the statement table (>= 1, if DEPTH >= 2, otherwise 0)
    FROM
    Index of first statement of source code unit in the statement table (>= 1)
    TO
    Index of last statement of source code unit in the statement table (>= 1)
    If the source code unit contains include programs or macro calls, the line range [ FROM, TO] in the statement table also covers the statements in subordinate source code units.
    <b>Addition 5</b>
    ...  STRUCTURES INTO itab6
    Details of the construction of the source text table are given in the structure table itab6.
    The structure table itab6 must have the structure SSTRUC.
    The fields in SSTRUC (which are also the columns of structure table itab6) have the following meanings:
    TYPE
    Type of the structure with possible values:
    P (Beginning of the source code)
    R (Subroutine)
    M (Macro, EXEC SQL)
    I (Loop)
    A (Case distinction)
    C (Condition in a case distinction)
    J (Goto command)
    D (Structured declaration)
    E (Event)
    S (Follow-on from simple structured statement)
    STMNT_TYPE
    The statement type of the beginning of the structure. The values are listed in the type pool SCAN in structure SCAN_STRUC_STMNT_TYPE.
    KEY_START
    Flags whether the start of the structure is described semantically ('X' if there is a special statement, otherwise ' ').
    KEY_END
    Flags whether the end of the structure is described semantically ('X' if there is a special statement, otherwise blank).
    STMNT_FROM
    Index of the first statement of the structure in the statement table itab3.
    STMNT_TO
    Index of the last statement of the structure in the statement table itab3.
    Index of the first substructure of the structure in structure table itab6.
    STRUC_TO
    Index of the last substructure of the structure in structure table itab6.
    BACK
    Index of the structure in the structure table itab6 that contains the structure as a substructure (0 if the structure is the root structure of a structure tree).
    <b>Addition 6</b>
    ... OVERFLOW INTO c1
    The addition is only allowed and required if the token table itab2 has the structure STOKEN or STOKEX.
    If a token is too large to be stored in the token table in the field STR, it is placed in the overflow area c1. The offset of the token in the overflow area then lies in the token table in the field OFF1.
    <b>Addition 7</b>
    ... WITH ANALYSIS
    Breaks down each token t = a+b(c) according to the logic of the RSYN key word >ANALY into its three components a, b and c.
    Offset and length of components a, b and c are stored in the fields LEN1, OFF2, LEN2, OFF3, and LEN3 in the token table. (The offset of OFF1 is always 0 and therefore not required.)
    If you specify the addition WITH ANALYSIS, the token table itab2 must have the structure STOKESX, so that the fields LEN1, OFF2, LEN2, OFF3 and LEN3 are available.
    If the token table has the structure STOKEX, you must consider the following:
    If the whole token exists in the token table, the offset specifications are relative to the token start. If the token is in the overflow area c1, the offset specifications are relative to the start of the overflow area.
    <b>Addition 8</b>
    ... WITH COMMENTS
    Returns comments also, with each individual comment representing a token. The system additionally stores entries for each full block of comments in the table itab3, differentiating between comments that occur within statements and those that occur at program level. In itab3, an entry for a comment within a statement always comes before the statement containing the comment.
    <b>Example</b>
    Look at the following program fragment. The preceding numbers are the indexes of the tokens.
    1    * An example  *
    2    * with scattered comments
    6    MOVE
    3    * Inserted comment 1
    7    X
    4    *  Inserted comment 2
    8    TO
    9    Y
    5    * Inserted comment 3
    SCAN then enters the following values for the components TYPE, FROM and TO (in this order from left to right) into itab3.
    'P' 1 2
      'S' 3 5
      'K' 6 9
    If the addition ... WITH COMMENTS is used, the table itab2 must have the line type STOKES or STOKESX.
    <b>Addition 9</b>
    ... WITH INCLUDES
    Also breaks down subordinate source code units (included programs, called macros) into tokens.
    You should normally combine the addition WITH INCLUDES with the addition LEVELS INTO itab5.
    If (at least) one included program does not exist, SY-SUBRC is set to 1 and the relevant INCLUDE statement is flagged in the statement table itab3 by the statement type J (instead of I), but the breakdown process continues. The level table itab5 contains no entry for include-programs that do not exist.
    If you combine WITH INCLUDES with WITHOUT TRMAC , TRMAC-Macros are not expanded because the system does not recognize them as subordinate source code units.
    When macro calls are expanded, no position specifications are available. The corresponding fields in the token table itab2 and the statement table itab3 are then set to 0.
    <b>Addition 10</b>
    ... WITH TYPE-POOLS
    This addition has the same effect as the WITH INCLUDES addition, except that with the former include programs belonging to type groups are broken down into tokens.
    <b>Addition 11</b>
    .. WITH LIST TOKENIZATION
    Tokens of the form (a1, a2, a3) are not returned as tokens but broken down into the elementary components.
    <b>Addition 12</b>
    ... WITHOUT TRMAC
    If a statement begins neither with an ABAP/4 key word nor with a DEFINE macro, the system does not check whether this is a TRMAC macro, but assumes an unknown statement. (Unknown statements are flagged in the statement table itab3 with a U in the field TYPE.)
    To avoid unnecessary database accesses to the table TRMAC, you should use the addition WITHOUT TRMAC whenever you assume that the source code to be scanned contains unknown statements. Unknown statements are particularly likely to occur if you use the addition FROM n1, because the scanner does not start at the beginning of the source code, but from a specified point.
    If you use WITHOUT TRMAC with WITH INCLUDES, TRMAC macros are not expanded because the system does not recognize them as subordinate source code units.
    <b>Addition 13</b>
    ... PROGRAM FROM c2
    <b>Addition 14</b>
    ... INCLUDE INTO c3
    <b>Addition 15</b>
    ... MESSAGE INTO c4
    <b>Addition 16</b>
    ... WORD    INTO c5
    <b>Addition 17</b>
    ... LINE    INTO n3
    <b>Addition 18</b>
    ... OFFSET  INTO n4
    The above additions have the same meaning as those for the
    SYNTAX-CHECK: statement: c2 is an input field for a program name to be assigned to the source code, while the fields c3, c4, c5, n3 and n4 are output fields in case an error occurs.
    To be able to analyze errors without modifying programs, use the additions INCLUDE, MESSAGE, WORD, LINE and OFFSET. These provide information about the errors which have occurred.
    <b>Variant 2</b>
    SCAN AND CHECK ABAP-SOURCE itab1 ...RESULT INTO itab2.
    Parts marked with " ..." are interchangeable
    <b>Extras:</b>
    1. ... PROGRAM FROM c1 2. ... INCLUDE INTO c2
    3. ... MESSAGE INTO c3
    4. ... WORD    INTO c4
    5. ... LINE    INTO n1
    6. ... OFFSET  INTO n2
    The syntax of the program in table itab1 is checked. During the check, all of the information from the program, such as statement structures, statements, tokens, data objects, types and do on are placed into the result field. This field must have the type SYSCH_RESULT, which is defined in type group SYSCH. You must therefore declare type group SYSCH in your ABAP-program using a TYPE-POOLS statement.
    &ABAP_ADDITION _1&
    ... PROGRAM FROM c1
    &ABAP_ADDITION _2&
    ... INCLUDE INTO c1
    &ABAP_ADDITION _3&
    ... MESSAGE INTO c3
    &ABAP_ADDITION _4&
    ... WORD    INTO c4
    &ABAP_ADDITION _5&
    ... LINE    INTO n1
    &ABAP_ADDITION _6&
    ... OFFSET  INTO n2
    The above additions have the same effect as the corresponding additions in the statement SYNTAX-CHECK: c1 is an input field for a program name to be assigned to the source code, the fields c2, c3, c4, n1 and n2 are output fields, used when errors occur.
    To enable you to analyze errors without having to modify the program, you should specify the INCLUDE, MESSAGE, WORD, LINE and OFFSET additions for the information about the error that occurred.
    <b>Reward if usefull</b>

Maybe you are looking for