The REPORT and PROGRAM statements currently have the same function. They allow you to specify the message class of the program and the formatting options for its default list. Whether a program is executable or can only be started using a transaction code depends exclusively on the program type and not on the statement that introduces it. However, executable programs should always begin with a REPORT statement, and module pools always with a PROGRAM statement. Subroutine pools (type S programs) should also always begin with a PROGRAM statement.
The introductory statement FUNCTION-POOL declares a program in which you can define function modules. At runtime, function pool programs are loaded in to a new program group with their own user dialogs and their own shared data areas in the internal session of the calling program. For this reason, function groups (type F programs) must always begin with a FUNCTION-POOL statement. This is usually generated by the Function Builder. Type 1, M, or S programs should not begin with a FUNCTION-POOL statement, since they would then not share common data areas with the caller. However, in exceptional cases, you can introduce a type 1 or type M program with FUNCTION-POOL to ensure that externally-called subroutines can process their own screens. As in the REPORT and PROGRAM statements, you can specify the message class and standard list formatting options of the program in the FUNCTION-POOL statement.
The introductory statement CLASS-POOL can only be used for class or interface definitions (type K or J programs). A program introduced with the CLASS-POOL statement can only contain global type definitions and definitions of classes and interfaces. The CLASS-POOL statement is generated automatically where required by the Class Builder - you should not insert it into programs manually.
The introductory statement TYPE-POOL can only be used for type groups (type T programs). A program introduced with the TYPE-POOL statement can only contain global type definitions and constants declarations. The CLASS-POOL statement is generated automatically where required by the ABAP Dictionary - you should not insert it into programs manually.
If you create a new function group..Automatically it creates a function pool..
Go to SE37.. IN the menu..choose.. GOTO -> FUNCTION GROUP -> CREATE GROUP.
The FUNCTION-POOL statement is equivalent to the REPORT statement and introduces a function group.
In general, a programmer never writes this statement himself. When a function group is created, the system automatically generates this statement in a standard include.
The use of the statement is primarily to inform the ABAP system that the current program is a function group.
We find such a terminoloty in case of Type Groups as well. If you need to include a type group in your program, you use the TYPE-POOLS statement.
Go se80...enter the function group name and hit enter..tree will be listed ..you will righ-click on the function group name and choose copy.. It will ask you what function modules you want to copy, just copy all and make sure to following the naming convention, start with Z_ then you can copy and modify any includes that you need.
Function-Pool is nothing but a abap program where you can defineFunciton Modules...
When you call a function module from a function group that has notalready been loaded in an internal session, an additional program groupis created and into which the function group to which the functionmodule belongs is loaded. The additionl program group, along with itsdata, exists for the rest of the time of the internal session.
Just when we view the Program for the Function Group it shows as Function Pool. When we view the Function group associated with Function Module, it displays Function group.
This can be viewed using SE37--> Goto --> Function Groups --> Display/Create/Change
function group is nothing having no.of function modules client independent
function pool: group of function groups client independent
<REMOVED BY MODERATOR>
Edited by: Runal Singh on Apr 22, 2008 4:49 PM
Edited by: Alvaro Tejada Galindo on Apr 22, 2008 5:36 PM
Function pool and fucntion group both are same.If you want to create a function module ..before that you have to create one function group..you can create function group in SE37 itself...but for that function group you can't create documentation in SE37...so for that purpose we create fucntion pool with same name of function group in SE38 and type as F.within this program whatever code you write..all function modules can acess globally which you include for one function group.
<REMOVED BY MODERATOR>
Edited by: Alvaro Tejada Galindo on Apr 22, 2008 5:37 PM