Commentary write function module

Hi all ,
I am new to oo alv . I have a requirement of commentary write for header. Well i would like to know whether we should use the same reuse_alv_commentar_write function module even in oo alv or are there any other function modules. Give me any standard program if any?
sample code will be apprecited.

Hi,
Check out the includes,
BCALV_TEST_HEADER_PAI
BCALV_TEST_HEADER_PBO
Regards,
Azaz Ali.

Similar Messages

  • Possibility to write Functional module in "end routines"

    Hello guys,
    Can you please tell me whether we can write functional module in end routines or not??? If yes,then what is the procedure?
    Thanks in advance,
    Regards,
    Bunty.

    End routines are a feature of BI 7.0, allowing you to take the end results of a transformation, and muck it about with ABAP.
    It is not possible to WRITE function modules in end routines. But it is possible to use them. Function modules exist inside function groups - not end routines.

  • Function Module where-used list does not find update rule programs

    We have function modules called in update rules. The where-used list in the function builder does not find the update rule programs.
    For example, function DATE_GET_WEEK is called in an update rule to InfoCube YCUBE001. The activated program name for this update rule is GP3PWI6PKM5Y3K75A370DIS8I77. When I goto SE37, enter the function DATE_GET_WEEK, click the where-used button, check the programs option and search. The system does not find the program GP3PWI6PKM5Y3K75A370DIS8I77.
    Without this search capability it is difficult to do an impact analysis of changing function modules. Does anyone know of a solution?

    hi,
    i think the reason is the code of update rules' generated program are stored line by line in table(rsaabap), update rules program itself stored in table rsupdrout, link with field codeid, another useful table is rsupdinfo which store infocube, infosource related.  other info may stored in some other rs* and rsa* tables.
    try to create following program in your system, and run, type in the function module name, and will display out the update rules program id, with additional useful info : which infoprovider, infosource, and detail info of the routine and infoobject in the update rule that using that function module. you may modify the program to have better display out list.
    hope this helps.
    REPORT  Z_FM_UPDRUL_WHEREUSED.
    data : lv_sfm,
           lv_line type string,
           lv_where type string.
    tables : rsaabap,RSUPDROUT,rsupdinfo.
    select-options:
    s_fm for rsaabap-LINE.
    start-of-selection.
      loop at s_fm.
        concatenate s_fm-low ' ' into lv_sfm.
        concatenate '%' s_fm-low into lv_line.
        concatenate lv_line '%' into lv_line.
        write : / 'function module', 'update rule id', 'routine id', 'infoobject', 'infocube', 'infosource'.
        select * from rsaabap
        where line like lv_line and objvers = 'A'.
           select * from rsupdrout
           where codeid = rsaabap-codeid and objvers = 'A'.
             select single * from rsupdinfo
             where updid = rsupdrout-updid and objvers = 'A'.
               write: / lv_sfm, rsupdrout-updid, rsaabap-codeid,
                        rsupdrout-iciobjnm, rsupdinfo-infocube,
                        rsupdinfo-isource.
        endselect.
        endselect.
      endloop.

  • When are function modules written?

    Hai All,
                  FIRST OF ALL, HAPPY NEW YEAR.
               For custom extractions, when do we need to write function modules? Is it for Master data or anything in particular... I know this is very general and vague question. But can somebody give me some examples to help understand.
    Thank you very much.

    Hi,
    mostly you use function modules for extraction in case the data cannot easily be extracted by a view or from the table directly.
    1st example: If you need to read the change documents (cdhdr, cdpos) to get the new/changed/deleted data of one or more tables within a specific time frame (delta).
    2nd example: Your table contains a creation and a change date. You want to extract (via generic delta) all records created or changed in a specific time frame. As the change date is only populated after a change, you need to do a select on both date fields to get the delta.
    Hope this helps!
    regards
    Siggi

  • Testing Function Module before using in DataSource?

    Hi Experts,
    After writing a Function module for Transaction DataSouce (by copying RSAX_BIW_GET_DATA_SIMPLE), is there any way to test the Function Module before using in Transaction DataSource? (to see how many records it retrieves).
    Also can somebody please throw some light in understanding the source code of RSAX_BIW_GET_DATA_SIMPLE function module, as it has many declarations like E_T_DATA,
    I_T_SELECT which will be used in the new function module?
    Looks like, the function module RSAX_BIW_GET_DATA_SIMPLE uses only one table SPFLI.
    If it is just one table why do we need to write function module to extract data?
    Forgive me for my lack of ABAP knowledge.
    Thank you,
    Lakshmi

    The generic function moduel is used when there is no BW extractor and you cannot get to the data via a view or table
    The extractor is quite simple
    You create a extract strcuture of data to send to BW
    Then you create the function module - e_t_data takes on the extract structure
    The select options read data via the infopackage selection from BW (and thus when you create your datasource you shoudl click the fields to be select option)
    So in the ABAP
    You read the select option and put them into a range
    You select from which ever tables you need to in R3 and put into an itab
    You then loop aroudn the itab and manipulate the data or read other tables
    The data finally ends up in e_t_data
    The whole thing gets looped around based on the size of the data package - ie if it is 10000 records then the fetch next cursor after 10000 records will send the package of e_t_data out to the refc scheduler and down the line to BW - then the fetch next cursor will get the next 10000 records for the next
    I use this all the tiem (so sorry for the brain dump)
    I especially use it for virtual cubes - ie to get real time data from R3 from within BW - the data is not requested by ipak but by the query at runtime against a Virtual cube which connects to this generic extractor
    Note: this generic extractor can also live on the BW side - ie you can use it instead of APD to snapshot cube or DSO data to send as an ipak into another cube

  • Writing Function Modules

    Hi
    I want to learn how to write function modules in ABAP please guide me  how should I proceed to learn it as fast as I can.
    Are there any Demos or PDF documents for that.
    I have gone through ABAPDocu  but it has a lot of unwanted materials as well and I found it a bit unstructured to learn writing function modules.

    Hi,
    Please chek this link
    Function Groups
    http://help.sap.com/saphelp_nw70/helpdata/en/9f/db992335c111d1829f0000e829fbfe/content.htm
    Creating Function Modules
    http://help.sap.com/saphelp_nw70/helpdata/en/9f/db98fc35c111d1829f0000e829fbfe/content.htm
    Best regards,
    Brijesh

  • Unable to write, type anything in source code of a function module.

    Hi all,
    We have a registered name space for our client called /ABCD/EFG.
    I need to create a function module in the name space.
    So first I created a Function Group called /ABCD/EFG_FG in /ABCD/EFG. I activated it in se80.
    Then I created a Function Module called /ABCD/EFG_FM in /ABCD/EFG. I declared the import and export paramters and now I am trying to add the code in source code and the editor does not let me change the source code donu2019t know why.. and every thing is in grey color.
    Can some one tell me what is going wrong? Cant we write any logic in the function module that we create in registered name spaces? When I created the same function module as a local object in $TMP package I dint have any problem. Similarly I created the function module in a Z package and I dint have any problem but if I try to create the same function module in a registered name space it is getting created but it doesnu2019t not let me type anything in the source code of the function module.
    Did any body encounter this problem earlier? Kindly please help.
    Regards,
    Jessica Sam

    Rich,
    Thanks a lot, that worked. Now it lets me type and change the source code of the editor.
    But while i was turing off the assistant it showed me 2-3 messages saying that "i cannot track the changes" and that "during upgrade i cant track the changes " etc.
    So now i can type in source code and i am able to change in source code..but will the trurning of this assistant cause any problmes in future or during upgrade?
    Regards,
    Jessica Sam

  • How to write the exceptions in function module

    dear all,
         how to write the exceptions in function modules with example.
    thanq
    jyothi

    Hi,
    Raising Exceptions
    There are two ABAP statements for raising exceptions. They can only be used in function modules:
    RAISE except.
    und
    MESSAGE.....RAISING except.
    The effect of these statements depends on whether the calling program handles the exception or not. The calling program handles an exception If the name of the except exception or OTHERS is specified after the EXCEPTION option of the CALL FUNCTION statement.
    If the calling program does not handle the exception
    · The RAISEstatement terminates the program and switches to debugging mode.
    · The MESSAGE..... RAISING statement displays the specified message. Processing is continued in relation to the message type.
    If the calling program handles the exception, both statements return control to the program. No values are transferred. The MESSAGE..... RAISING statement does not display a message. Instead, it fills the system fields sy-msgid, sy-msgty, sy-msgno , and SY-MSGV1 to SY-MSGV4.
    Source Code of READ_SPFLI_INTO_TABLE
    The entire source code of READ_SPFLI_INTO_TABLE looks like this:
    FUNCTION read_spfli_into_table.
    ""Local Interface:
    *" IMPORTING
    *" VALUE(ID) LIKE SPFLI-CARRID DEFAULT 'LH '
    *" EXPORTING
    *" VALUE(ITAB) TYPE SPFLI_TAB
    *" EXCEPTIONS
    *" NOT_FOUND
    SELECT * FROM spfli INTO TABLE itab WHERE carrid = id.
    IF sy-subrc NE 0.
    MESSAGE e007(at) RAISING not_found.
    ENDIF.
    ENDFUNCTION.
    The function module reads all of the data from the database table SPFLI where the key field CARRID is equal to the import parameter ID and places the entries that it finds into the internal table spfli_tab. If it cannot find any entries, the exception NOT_FOUND is triggered with MESSAGE ... RAISING. Otherwise, the table is passed to the caller as an exporting parameter.
    Calling READ_SPFLI_INTO_TABLE
    The following program calls the function module READ_SPFLI_INTO_TABLE:
    REPORT demo_mod_tech_fb_read_spfli.
    PARAMETERS carrier TYPE s_carr_id.
    DATA: jtab TYPE spfli_tab,
    wa LIKE LINE OF jtab.
    CALL FUNCTION 'READ_SPFLI_INTO_TABLE'
    EXPORTING
    id = carrier
    IMPORTING
    itab = jtab
    EXCEPTIONS
    not_found = 1
    OTHERS = 2.
    CASE sy-subrc.
    WHEN 1.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno.
    WHEN 2.
    MESSAGE e702(at).
    ENDCASE.
    LOOP AT jtab INTO wa.
    WRITE: / wa-carrid, wa-connid, wa-cityfrom, wa-cityto.
    ENDLOOP.
    The actual parameters carrier and jtab have the same data types as their corresponding interface parameters in the function module. The exception NOT_FOUND is handled in the program. It displays the same message that the function module would have displayed had it handled the error.
    Or
    just have to decide what exceptions u want and under what conditions.
    then declarethese exeptions under the exceptions tab.
    in the source code of ur function module.
    if
    like this u can code .
    now when u call the function module in tme mainprogram.
    if some error occurs and u have declared a exception for this then it will set sy-subrc = value u give inthe call of this fm.
    in the fm u can program these sy-subrc values and trigger the code for ur exception.
    Please reward if useful
    Regards,
    Ravi
    Edited by: Ravikanth Alapati on Mar 27, 2008 9:36 AM

  • User exit function module include how to write the code

    hi all,
    i am creating user exit  for ME22N  using this enhance  MM06E005 .
    in this i created subscreen and set some fields .
    that data has to be stoe in EKPO.
    inside the include i have to write the logic plz guide me how to follow .
    once i enter it will store on wish internal table and wish internal table to shall i move to EKPO .
    If Tcode is ME23N how to display data in disable mode.
    Regards,
    Hari.

    This is the code inside the function module .
    once i enter data in custom field the below wish table it will store.
    FUNCTION EXIT_SAPMM06E_016.
    ""Lokale Schnittstelle:
    *"  IMPORTING
    *"     VALUE(I_EKPO) LIKE  EKPO STRUCTURE  EKPO
    *"     VALUE(I_AKTYP)
    *"     VALUE(I_CI_EKPO) LIKE  EKPO_CI STRUCTURE  EKPO_CI
    *"     VALUE(I_BSTYP) LIKE  EKKO-BSTYP
    *"     VALUE(I_NO_SCREEN)
    *"     VALUE(I_LFA1) LIKE  LFA1 STRUCTURE  LFA1
    *"     VALUE(I_LFM1) LIKE  LFM1 STRUCTURE  LFM1
    *"     VALUE(I_EKKO) LIKE  EKKO STRUCTURE  EKKO
    *"     VALUE(I_REKPO) LIKE  EKPO STRUCTURE  EKPO OPTIONAL
    *"     VALUE(I_KEKPO) LIKE  EKPO STRUCTURE  EKPO OPTIONAL
    *"     VALUE(I_AEKPO) LIKE  EKPO STRUCTURE  EKPO OPTIONAL
    *"     VALUE(I_REBAN) LIKE  EBAN STRUCTURE  EBAN OPTIONAL
    *"     VALUE(I_MT06E) LIKE  MT06E STRUCTURE  MT06E OPTIONAL
    *"     VALUE(I_EINA) LIKE  EINA STRUCTURE  EINA OPTIONAL
    *"     VALUE(I_EINE) LIKE  EINE STRUCTURE  EINE OPTIONAL
    *"     VALUE(I_EKPO_OLD) LIKE  EKPO STRUCTURE  EKPO OPTIONAL
    *"     VALUE(I_KOMP) LIKE  KOMP STRUCTURE  KOMP OPTIONAL
    *"     VALUE(I_ENJ_CALL) OPTIONAL
    *"  TABLES
    *"      TEKPO STRUCTURE  BEKPO OPTIONAL
    *"      TEKET STRUCTURE  BEKET OPTIONAL
    *"      TEKKN STRUCTURE  EKKNU OPTIONAL
    *"      TKOMV STRUCTURE  KOMV OPTIONAL
    INCLUDE ZXM06U41 .
    ENDFUNCTION.
    inside the INCLUDE ZXM06U41 .  i writen this code
    *&  Include           ZXM06U41
    DATA :
          FS_EKPO TYPE EKPO_CI.
    IF ( SY-TCODE EQ  'ME22N' OR SY-TCODE EQ 'ME23N'
          OR SY-TCODE EQ 'ME22' OR SY-TCODE EQ 'ME23' ) .
      LOOP AT TEKPO.
       IF ( TEKPO-EBELN EQ i_EKPO-EBELN
            AND TEKPO-EBELP EQ i_EKPO-EBELP ) .
        EKPO_CI-ZMATERIAL = TEKPO-ZMATERIAL.
        EKPO_CI-ZQUANTITY = TEKPO-ZQUANTITY.
        EKPO_CI-ZUNIT     = TEKPO-ZUNIT.
        EKPO_CI-ZPRICE    = TEKPO-ZPRICE.
        EKPO_CI-ZCURRENCY = TEKPO-ZCURRENCY.
       ENDIF.
      ENDLOOP.
    ENDIF.
    Regards,
    Hari.

  • Report Writer/Painter Function Module

    Hi all:
    Is there any way (function module, class method, etc) to obtain the information generated in the FI-CO Report Writer/Painter?
    Best Regards

    Dear Vicotor,
    Can you help me in the said function?
    Thanks
    Ayaz

  • How to write a function module?

    How can i write a function module that does the same thing as BAPI_FLIGHT_GETLIST in the SAP system?

    Hi
    Hope it will help you.
    Reward if help.
    Function Modules;
    Check this matter.
    Function Modules are Global ABAP programs created by SAP for reusable purpose.they have IMPORT,EXPORT and TABLE parameters, and EXCEPTIONS to through when error occurs.
    You can create them from TCode SE37.
    Go through the following doc:
    Function modules are cross-program, reusable procedures that are organized into function groups, and whose functions are implemented between the statements FUNCTION and ENDFUNCTION. Function modules and their interfaces are created in the Function Builder.
    Function Module Interfaces
    The parameter interface of a function module is defined in the Function Builder. It includes the definition of interface parameters and the specification of exceptions that can be triggered by a function module. The Function Builder automatically generates comment lines below the FUNCTION statement in the source code of the function module, which represent the interface of the function module with the following syntax:
    Syntax
    ... [IMPORTING parameters]
    [EXPORTING parameters]
    [CHANGING parameters]
    [TABLES table_parameters]
    [{RAISING|EXCEPTIONS} exc1 exc2 ...]
    The syntax and semantics of IMPORTING, EXPORTING, CHANGING, RAISING, and EXCEPTIONS mainly correspond to the definition of method interfaces with [CLASS-]METHODS. The additional option of defining table parameters using TABLES is obsolete.
    Interface parameters
    The interface parameters are defined on the relevant tab pages in the Function Builder.
    IMPORTING parameters are input parameters. When the function module is called, a suitable actual parameter must be specified for every non-optional input parameter. The content of the actual parameter is passed to the input parameter when the call is made. The content of an input parameter for which 'pass by reference' is defined cannot be changed in the function module.
    EXPORTING parameters are output parameters. When the function module is called, a suitable actual parameter can be specified for every output parameter. The content of an output parameter that is defined for 'pass by value' is transferred to the actual parameter if the function module is completed without errors. An output parameter that is defined for pass by reference is not initialized when the function module is called.
    CHANGING parameters are input and output parameters. When the function module is called, a suitable actual parameter must be specified for every non-optional input or output parameter. When the function module is called, the content of the actual parameter is passed to the input/output parameter, and when the function module is completed, the content of the input/output parameter is passed to the actual parameter.
    TABLES parameters are table parameters. Table parameters are obsolete CHANGING parameters that are typed as standard tables with a header line. If an internal table without a header line or a table body is passed as an actual parameter to a formal parameter of this type, an empty local header line is generated in the function module. If an internal table with a header line is used as an actual parameter, both the table body and the header line are passed to the function module. Pass by value is not possible in formal parameters defined using TABLES. Formal parameters defined with TABLES can be replaced by formal parameters defined with CHANGING. A local work area can be created for the internal table in the function module by using the addition LIKE LINE OF itab of the DATA statement.
    Exceptions
    The exception of a function module are defined on the Exceptions tab page in the Function Builder. Here you can select exception classes to define whether class-based exceptions are declared or non-class-based exception are defined. Class-based exceptions are represented in the above syntax by RAISING, and non-class-based exceptions are represented by EXCEPTIONS.
    The addition RAISING is used to declare class-based exceptions that can be propagated from the function module to the caller. Exceptions in the categories CX_STATIC_CHECK and CX_DYNAMIC_CHECK must be explicitly declared, otherwise a propagation can lead to an interface violation. A violation of the interface leads to the treatable exception CX_SY_NO_HANDLER. Exceptions of the category CX_NO_CHECK are implicitly always declared. The declaration of exceptions of the category CX_STATIC_CHECK is statically checked in the syntax check. For exceptions of the category CX_DYNAMIC_CHECK, the check is not performed until runtime. In a function module in which class-based exceptions are declared with the RAISING addition, the statement CATCH SYSTEM-EXCEPTIONS cannot be used. Instead, the relevant treatable exceptions should be handled in a TRY control structure.
    The addition EXCEPTIONS is used to define a list of non-class-based exceptions that can be triggered in the function module using the statements RAISE or MESSAGE RAISING. Exceptions defined in this way - as with formal parameters - are bound to the function module and cannot be propagated. If an exception of this type is triggered in a function module, and no return value has been assigned to it with the homonymous addition EXCEPTIONS of the CALL FUNCTION statement when the call was made, this leads to a runtime error.
    Note
    For new developments after release 6.10, SAP recommends that you work with class-based exceptions that are independent of the function module.
    RFC is a technology which is used to access a functions (Modules) from
    the remote systems.
    If a function module is set as remote enabled which can be access from
    the remote system via RFC.Eg: U can access the Remote enabled function modules in ur VB,Webdynpro,Java,Visual composer program.
    A function module can be set as remote enabled by SE37->Go to ur FM->click the option Button "remote enabled".
    But Normal function modules can not accessd from the remote system.
    Good Example for RFC enabled function module is : BAPI(Business Application Programming Interface)
    Note: All BAPIs are Remote enabled but not all remote enabled function modules are BAPI.
    CALLING A FUNCTION MODULE:
    1)In U ABAP Editor --> Click "Patter" ---> Selection Option Button "Call Function"
    --> Write the Corresponding FM name --> Hit Enter
    2)The appropriate import ,export Parameters will be displayed in ur editor
    3)Pass the Values Here.
    Also check these links.
    http://www.geocities.com/victorav15/sapr3/abapfun.html
    Check this link:
    http://help.sap.com/saphelp_erp2004/helpdata/en/9f/db988735c111d1829f0000e829fbfe/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/ef/d94b78ebf811d295b100a0c94260a5/frameset.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/43/41341147041806e10000000a1553f6/frameset.htm
    Check this link:
    http://help.sap.com/saphelp_erp2004/helpdata/en/9f/db988735c111d1829f0000e829fbfe/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/ef/d94b78ebf811d295b100a0c94260a5/frameset.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/43/41341147041806e10000000a1553f6/frameset.htm
    See the following links:
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/26/64f623fa8911d386e70000e82011b8/content.htm

  • Can we write leave program syntax in RFC function module.

    hello friends,
       can we write leave program syntax in RFC function module. Iam developing RFC Function module .
    useful answers will be awarded..
    Regards
    Kanth
    Edited by: Kanth on Mar 30, 2008 11:38 PM

    Don't use leave program in RFC function module. You can better use EXIT or RETURN. But when developing RFC modules you should use the return structure BAPIRET2 to store message generated in the calling system. So when you use EXIT or RETURN, first give a message so the calling program knows why the RFC module was exited.

  • How to find which function module write the relevant idoctype?

    Dear All,
    how to find which function module write the relevant idoctype?

    Hi,
    Generally the function modules of the idoc types are having a naming convention as IDOC_INPUT for inbound processing and IDOC_OUTPUT for outbound processing followed by the idoc type name
    for example : For IDOC type ORDERS
    the inbound function module will be IDOC_INPUT_ORDERS and for outbound IDOC_OUTPUT_ORDERSP
    In this way you can find the function module for a particular IDOC
    P.S: Hope this is what you have asked for
    Regards
    Sarves

  • Any function module/program to write-xml schema of a idoctype

    Hi experts,
    I need to write the xml format into an internal table.
    input---idoc type.
    output--xml schema file in an internal table/or in some file.
    Through we60 we can get the xml schema.but through some program i want to get it .how to go for it.
    Any function module do you suggest which fits to this requirement and do the work for me.
    For ex: idoc type--orders05
    Message was edited by:
    dasr r

    Hello Dasr
    There are several function modules available. Please check yourself if any of them matches your demands.
    EDIN                           IDoc: Eingangsverarbeitung
    IDOC_INBOUND_XML_VIA_HTTP      eingang über http
    IDOC_XML_FROM_FILE             IDoc: Eingangsverarbeitung vom XML über Dateischnittstelle
    IDOC_ADAPTER_MB                Message Broker IDoc Adapter
    IDX_IDOC_TO_XML                Konvertierung IDoc nach IDoc XML im XMB
    IDOC_XML1                      erweiterte Tabellenpflege (generiert)
    IDOC_XML_DISPLAY               Anzeigen eines IDocs in XML-Format mit XSL
    IDOC_XML_TRANSFORM             Anzeigen eines IDocs in XML-Format mit XSL
    Regards
      Uwe

  • Function Module to Pause / Wait write statement

    Hello Everyone !
    Write 'ABC'.
    Write 'XYZ'.
    In between this statement I want a pause.
    ABC should be displayed and after few seconds XYZ should be displayed.
    Which function module can be used for this ???

    Hi Vaibhav,
    The output screen's are passive in nature and cannot be refreshed, if your intention is to update the user with a message or something, you could use the status bar and issue the messages to the user, or use the FM SAPGUI_PROGRESS_INDICATOR below is a code snippet using the same.
    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
    EXPORTING
    *   PERCENTAGE       = 0
       text             = 'Hi.........'
    WAIT UP TO 5 SECONDS.
    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
    EXPORTING
    *   PERCENTAGE       = 0
       text             = 'Hi22222.......'
    WAIT UP TO 5 SECONDS.
    Regards,
    Chen

Maybe you are looking for