Global data in Function Group

Hello Consultants,
my requirement is, i have created one function group and it holds around 6 function modules. when i call my first FM in the group, i want to pass header data and store as a global data and i want to use the same data in other FM also. I don't want pass the same data all the times. how is it possible?
I tried by declaring as STATICS but no use..:-(
Thanks a lot in advance...
Rgds,
Mohan

Hi Mohan,
The best Idea is to use the Global Definition in TOP include at Function Group level.
You may be loosing data.. .Because U may have called this FM in Different reports...
If u call all FMs in SAME report then the Global Data will remain present all the time.. there is no second thought about that..
Please reward this if u are convinced....:)
DARSHAN

Similar Messages

  • What's the lifecycle of Global Data in Function Group?

    Hello,
    I thought the Global Data in function group will be cleaned for each call stack. While it seems not so.
    With a BSP web application, it seems the global data of the function group would persist untill the session times out.
    I didn't find exact description regarding this. Could anybody help clarify this? For web session and SAPGUI session.
    Thanks and regards,
    Said

    hi,
    based on my understanding of the global data in the funtion group, let's say, when you call a FM a in FG b,  all of the content in the FG b is loaded into the stack. so the global data is cleaned after your program or transaction is complete.  but this will not happen when the called FM is finished, coz when you call a FM , the whole FG is loaded, so if you call FM c in FG b after you callling FM a, your program will not load the whole FG again.

  • Global declaration in function group.

    I have a function group within which i have 6 function modules. I want to declare global data in the function group which can be used in all the function modules. Is it possible? If yes then please give me the details..
    Thanks,
    Abhishek

    Each function module is nothing but INCLUDE program. So, if you see the list of includes, there will be a TOP include which is common and will be accessible to all other function modules.
    You can declare variables there.
    Regards,
    Ravi
    Note - Please mark all the helpful answers

  • Function group in tablenaintenance generator.

    hi experts,
           can anybody please tell me why we create a function group
          while creating a table maintenance generator?
    what is the utility of creating a function group.
    regards
    pankaj

    Function Groups
    Function groups are containers for function modules. You cannot execute a function group. When you call a function module, the system loads the whole of its function group into the internal session of the calling program (if it has not already been loaded). For further information, refer to Organization of External Procedure Calls.
    The following diagram shows the structure of a function group: The name of a function group, fgrpcan be up to 26 characters long. This is used by the system to create the components of the group (main program and corresponding include programs). When you create a function group or function module in the Function Builder , the main program and include programs are generated automatically.
    The main program SAPLfgrp contains nothing but the INCLUDE statements for the following include programs:
    キ LfgrpTOP. This contains the FUNCTION-POOL statement (equivalent for a function group of the REPORT or PROGRAMstatement) and global data declarations for the entire function group.
    キ LfgrpUXX. This contains further INCLUDEstatements for the include programs LfgrpU01, LfgrpU02,... These includes contain the actual function modules.
    キ The include programs LfgrpF01, LfgrpF02,... can contain the coding of subroutines that can be called with internal subroutine calls from all function modules of the group.
    The creation of these INCLUDE programs is supported from the ABAP Workbench by forward navigation (for example creation of a subroutine include by double clicking on the name of a subroutine in a PERFORM statement within a function module).
    You cannot declare a COMMON PART in a function group. Function groups have their own table work areas (TABLES). Function groups encapsulate data. In this respect, they are a precursor of ABAP Objects (see From Function Groups to Objects ).
    All of the function modules in a function group can access the global data of the group. For this reason, you should place all function modules that use the same data in a single function group. For example, if you have a set of function modules that all use the same internal table, you could place them in a function group containing the table definition in its global data.
    Function groups, like executable programs and module pools, can contain screens (selection screens and lists) as components. User input is processed either in dialog modules or in the corresponding event blocks in the main program of the function group. There are special include programs in which you can write this code. In this way, you can use function groups to encapsulate single screens or screen sequences.
    In SAP, it is a function group - instead of function - that is loaded into active memory.
    Function ( or function module ) is the one that you call from the program to do things.
    A function group contains functionally related function modules, global variables and procedures .
    To display / edit function module you use SE37,
    To display / edit function group you use SE80 .
    Reward if found helpful,
    regards
    palak

  • How to declare constant across a function group?

    Hi,
    I want to define constants for use within a whole function group. How could it be done?
    Thanks,
    Said

    You can maintain constansts or global variable in the 'Global Data' of function group.
    Please go to the function group through SE37 transaction and select display or change. in the Popup select for mainprogram in the mainprogram you can see the a include program which will be with 'Global Data'. this is the section where you can maintain the global variables.
    Ex;
      include lwbabaptop.                        " Global Data
    Thanks,

  • Function modules and function groups

    Hi alll
       Can anybody explain me abt function module and function groups...please
    Thanks and Regards
    vijaya

    <b>Function groups</b> are containers for function modules. You cannot execute a function group. When you call an function module, the system loads the whole of its function group into the internal session of the calling program (if it has not already been loaded).
    The name of a function group can be up to 26 characters long. This is used by the system to create the components of the group (main program and corresponding include programs). When you create a function group or
    function module in the Function Builder [Ext.] , the main program and include programs are generated automatically.
    When you create a new function group, the system automatically creates a main program containing two includes. Like any other programs and includes, you can display them in the Repository Browser.
    The name of the main program is assigned by the system. This is made up of the prefix SAPL followed by the function group name. For example, the main program for function group SXXX is called SAPLSXXX.
    The names of the include files begin with L followed by the name of the function group, and conclude with UXX ( or TOP for the TOP include). The TOP include contains global data declarations that are used by all of the function modules in the function group. The other include file within the main program is used to hold the function modules within the group.
    You cannot declare a COMMON PART in a function group. Function groups have their own table work areas (TABLES). Function groups encapsulate data.
    All of the function modules in a function group can access the global data of the group. For this
    reason, you should place all function modules that use the same data in a single function group.
    For example, if you have a set of function modules that all use the same internal table, you could
    place them in a function group containing the table definition in its global data.
    Like executable programs (type 1) and module pools (type M), function groups can contain screens, selection screens, and lists. User input is processed either in dialog modules or in the corresponding event blocks in the main program of the function group. There are special include programs in which you can write this code. In this way, you can use function groups to
    encapsulate single screens or screen sequences.
    For function module, have a look at
    http://help.sap.com/saphelp_nw04/helpdata/en/26/64f623fa8911d386e70000e82011b8/content.htm
    I hope it helps.
    Best Regards,
    Vibha

  • Programming an Exit in a Maintenance View Function Group

    Hi all,
    I have the requirement to fill some administrative data fields of a table which is maintained using a generated maintenance dialog and a maintenance function group. Does anyone have an example of how one can do this?I defined a subroutine to be called before the data is saved to the database, but I have no clue where exactly I must implement this subroutine and how i can reach the data of function group, or which data to reach?Thanks.
    Kind Regards,
    Sukru

    Hi Sukru,
    go to your table maintenance, throught SE11 or directly SE56.
    Set your table name and go to menu Environment > Modifications.
    There you can enhance your table maintenance.
    Just remember that if you regenerate source code you will lose your custom modifications.
    Regards,
    Frisoni

  • Global data declaration in a function group..

    hi,
    i have created a function group and created 2 FM in that. Both use some common data declarations so i declared those variables in the top include of the function group named LZFGXXXTOP.
    is this include automatically recognized in my FM or do i have to include it ? sample statements please ..
    thks

    Sorry Rich, I fail to understand what you are saying.
    in simple terms, i need to have some common data declarations for 2 function modules in a function group. Can u pl outline the steps I need to follow ? also i need to have a common set of form routines (FORM ENDFORM) to be used in these 2 function modules, where do i create these ?
    thks a lot

  • Exporting data from one function group to another

    Dear all,
    can you pls provide the solution for the below.
    in my requirement two function groups are there. one is standard function group & other is user specific function grp.
    in the standard FGRP i have one SAP standard screen xxx, & one user created screen yyy. from xxx screen call goes to the yyy screen. then from yyy  call goes to the screen zzz which is in user specific FGRP.
    how to export the data (i.e from structure) from screen yyy which is in one FGRP to screen zzz which is in some other FGRP.
    Regards
    Venkat

    Venkata,
    The receiving FM should have a parameter under TABLES for your structure.  You have to put the structure data in an internal table, and then read table ... index 1 to retrieve it both in the FM, and in the calling program.  Upon return to the calling program you wil again need to read table ... index 1 to retreive it and restore it to the structure you process in your calling program.

  • Creation and Change Date for Tcode and Function Groups

    Hello All,
    I need to display the Creation and Change Dates for Custom Tcodes and Function Groups in a Report. Can anyone please let me know the logic of retrieving it.
    regards,
    Mahesh

    Hi,
    TADIR and TRDIR is the tables where you can find all these data
    Regards
    Sudheer

  • Global data declaring/using in Function modules

    Hi,
    I have declared an internal table(say ITAB1) in the top include.Appending the values through FM1(function module).
    I am using the same through FM2 (Tables ITAB1).
    ( Function group is same for both FM1 and FM2 )
    but i am not getting the values in the ITAB1.
    Can anyone help me....
    Thanks in advance
    KB

    Bhavani,
    I don't think it works that way. If you are accessing that variable with in that function module you will be able to access that table.
    As you are calling another function module else where, the execution memory is different and the previous variables will not exist any more. However, if you call function2 with function1 it should work.
    The other way could using the EXPORT and IMPORT commands. Then you should be able to access the data.
    Regards,
    Ravi
    Note : Please reward points, if this helps you.

  • A list of global objects of the  function group "bbp_bid_inv"

    Hi everyone,
    Somebody have a list of all (or some) global objects ( i mean : internal tables, structures, transparent tables, ...etc) of the function group "bbp_bid_inv" ?
    Thanks & regards

    find out in se 80
    cheers!

  • Where to set up a TYPE-POOL Declaration in a Function Group ?

    Hi,
    I ve got a Function Group.
    I set up a Function Module in the Function Group.
    I must use  TABLES I_T_SELECT TYPE SBIWA_T_SELECT.
    I get the error:
    Type pool SBIWA has not been declared
    Message no. FL031
    Diagnosis
    You used a type from type pool & in the interface of a function module.
    Procedure
    For the program to be syntactically correct, you must
    declare the type pool in the global data declaration of the
    function group using the 'TYPE-POOLS: &.' statement.
    Where / How do I set up a Type Pool in the global data declaration of the
    function group ?
    Where / what is the global data Declaration of the Function Group ?
    Thank You
    Best Wishes
    Martin

    Hello Martin,
    First off:
    TABLES I_T_SELECT TYPE SBIWA_T_SELECT.
    Correct me if I'm mistaken here, but tables is expecting a name of a DDIC structure. It is then creating a work area using that structure.
    If you have to declare an internal table, the correct code would be:
    DATA i_t_select TYPE TABLE OF sbiwa_t_select.
    Or:
    TABLES sbiwa_t_select.
    Regarding your questions:
    A global data declaration of a function group is just what it says, a point where you can declare your data usable for the whole function group.
    This is usually an Include.
    That said, you can fix your issue by creating an Include in your function group.
    Within that include you have to write:
    TYPE-POOLS: pool1, pool2, pool3.
    or, in case you only have one type pool:
    TYPE-POOLsbiwa
    After creating the include, you have to point your function module to that file.
    INCLUDE include_name.
    Kind regards,
    Michael

  • Global vairable in Function module

    Hello Friends,
    How to declare a global variable in function module, other than declaring in Function group/data section of function module.
    Regards
    Elini.P

    Hi Elini,
    You can declare the global data after the ENDFUNCTION statement in your function module if you wish, or you can include your own include in the TOP include.
    Actually you can declare global data just about anywhere in your function group as long as its not in between statments like FORM ENDFORM or FUNCTION ENDFUNCTION.
    I agree with Anand, though, why?
    Cheers,
    Brad

  • Function Groups and Function Modules

    Hi,
    Can anyone give me the detail steps for creating Function Group and then from that function group creation of function module with example?
    Regards,
    Chandru

    Hi,
    Function Group creation -
           A function group is a program that contains function modules. With each R/3 system, SAP supplies more than 5,000 pre-existing function groups.
         In total, they contain more than 30,000 function modules. If the functionality you require is not already covered by these SAP-supplied function modules, you can also create your own function groups and function modules.
          We can put all the relevant function modules under one function group and all the global variables can be declared in this FG.
    FG Creation:
    1)     Function group can be created in SE80. There choose the 'Function Group' from the list of objects.
    2)    Then give a name for ur function group (starts with Y or Z) and press ENTER.
    3)   The click 'YES' in the create object dialog box and give a short desc. for this FG and save.
    Function Module:
                 A function module is the last of the four main ABAP/4 modularization units. It is very similar to an external subroutine in these ways:
    Both exist within an external program.
    Both enable parameters to be passed and returned.
    Parameters can be passed by value, by value and result, or by reference.
    The major differences between function modules and external subroutines are the following:
    Function modules have a special screen used for defining parameters-parameters are not defined via ABAP/4 statements.
    tables work areas are not shared between the function module and the calling program.
    Different syntax is used to call a function module than to call a subroutine.
    Leaving a function module is accomplished via the raise statement instead of check, exit, or stop.
    A function module name has a practical minimum length of three characters and a maximum length of 30 characters. Customer function modules must begin with Y_ or Z_. The name of each function module is unique within the entire R/3 system.
    Defining Data within a Function Module
    Data definitions within function modules are similar to those of subroutines.
    Within a function module, use the data statement to define local variables that are reinitialized each time the function module is called. Use the statics statement to define local variables that are allocated the first time the function module is called. The value of a static variable is remembered between calls.
    Define parameters within the function module interface to create local definitions of variables that are passed into the function module and returned from it (see the next section).
    You cannot use the local statement within a function module. Instead, globalized interface parameters serve the same purpose. See the following section on defining global data to learn about local and global interface parameters.
    Defining the Function Module Interface
    To pass parameters to a function module, you must define a function module interface. The function module interface is the description of the parameters that are passed to and received from the function module. It is also simply known as the interface. In the remainder of this chapter, I will refer to the function module interface simply as the interface.
    To define parameters, you must go to one of two parameter definition screens:
    1) Import/Export Parameter Interface
    2) Table Parameters/Exceptions Interface
    Then in the FM interface screen, give the following
    1) Import parameters
    2) Export parameters
    3) Changing parameters
    Then give
    1) Define internal table parameters
    2) Document exceptions
    You enter the name of the parameter in the first column and the attributes of the parameter in the remaining columns. Enter one parameter per row.
    Import parameters are variables or field strings that contain values passed into the function module from the calling program. These values originate outside of the function module and they are imported into it.
    Export parameters are variables or field strings that contain values returned from the function module. These values originate within the function module and they are exported out of it.
    Changing parameters are variables or field strings that contain values that are passed into the function module, changed by the code within the function module, and then returned. These values originate outside the function module. They are passed into it, changed, and passed back.
    Table parameters are internal tables that are passed to the function module, changed within it, and returned. The internal tables must be defined in the calling program.
    An exception is a name for an error that occurs within a function module. Exceptions are described in detail in the following section.
    Syntax for the call function Statement
    The following is the syntax for the call function statement.
    call function 'F'
        [exporting   p1 = v1 ... ]
        [importing   p2 = v2 ... ]
        [changing    p3 = v3 ... ]
        [tables      p4 = it ... ]
        [exceptions  x1 = n [others = n]].
    where:
    F is the function module name.
    p1 through p4 are parameter names defined in the function module interface.
    v1 through v3 are variable or field string names defined within the calling program.
    it is an internal table defined within the calling program.
    n is any integer literal; n cannot be a variable.
    x1 is an exception name raised within the function module.
    The following points apply:
    All additions are optional.
    call function is a single statement. Do not place periods or commas after parameters or exception names.
    The function module name must be coded in uppercase. If it is coded in lowercase, the function will not be found and a short dump will result.
    Use the call function statement to transfer control to a function module and specify parameters. Figure 19.9 illustrates how parameters are passed to and received from the function module.
    sample FM
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                = ' '
      I_BUFFER_ACTIVE                   = ' '
      I_CALLBACK_PROGRAM                = ' '
      I_CALLBACK_PF_STATUS_SET          = ' '
      I_CALLBACK_USER_COMMAND           = ' '
      I_CALLBACK_TOP_OF_PAGE            = ' '
      I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
      I_GRID_TITLE                      =
      I_GRID_SETTINGS                   =
      IS_LAYOUT                         =
      IT_FIELDCAT                       =
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         = 'X'
      I_SAVE                            = ' '
      IS_VARIANT                        =
      IT_EVENTS                         =
      IT_EVENT_EXIT                     =
      IS_PRINT                          =
      IS_REPREP_ID                      =
      I_SCREEN_START_COLUMN             = 0
      I_SCREEN_START_LINE               = 0
      I_SCREEN_END_COLUMN               = 0
      I_SCREEN_END_LINE                 = 0
      I_HTML_HEIGHT_TOP                 = 0
      I_HTML_HEIGHT_END                 = 0
      IT_ALV_GRAPHICS                   =
      IT_HYPERLINK                      =
      IT_ADD_FIELDCAT                   =
      IT_EXCEPT_QINFO                   =
      IR_SALV_FULLSCREEN_ADAPTER        =
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
      TABLES
        t_outtab                          =
    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.
    Example
    1  report ztx1905.
    2  parameters: op1 type i default 2,   "operand 1
    3              op2 type i default 3.   "operand 2
    4  data rslt type p decimals 2.        "result
    5
    6  call function 'Z_TX_DIV'
    7       exporting
    8            p1      = op1
    9            p2      = op2
    10      importing
    11           p3      = rslt.
    12
    13 write: / op1, '/', op2, '=', rslt.
    Regards,
    Shanthi.P
    Reward points if useful ****
    Edited by: shanthi ps on Jan 26, 2008 12:03 PM

Maybe you are looking for

  • Studio 12: C compiler generates bad code with -m64 -KPIC -xO2

    Hello, after upgrading my Solaris 10/x64 machine from Studio 11 to Studio 12 some problems were fixed, but others came up; like this one: I have a code snippet that obviously causes the C compiler to generate wrong code if compiled with options -m64

  • Double clicking on file doesn't open file in Photoshop

    I've tried all the well-known fixes for this and they don't work. I'm on a Power Mac G5, 2MHz, running OS X 10.4.11, and Photoshop CS. I've been through the fixes for "can't open in Photoshop from double clicking file on desktop"-reinstalling Photosh

  • Cannot print PDF files on Mac OS X

    Hi, since some update from Reader 8.1 to 8.1.2 I cannot print PDF files anymore. Meanwhile I installed Reader 9, but with no luck. If I crank up the preferences I get the error "Failed to load an application resource (internal error)." ... maybe ther

  • Is it possible to draw image ouside Paint?

    i m working j2me midp1.0, i want to draw an image directly from method call by pasing required arguments. Wat is way to do that. Also tel me how to do the same in midp2.0. send me some code example if you have.

  • What is the use of ls_fcat-hotspot  in alv

    hi everybody, i have a editable alv report can anybody tell what is the use of ls_fcat-hotspot in alv and how to use it. can anybody help out how to use other components of field catalog if possible with examples. regards, venu.