What is the functionality CALL METHOD CL_GUI_CFW= FLUSH

Hi,
What is the functionality of method "FLUSH" in class CL_GUI_CFW
Should it be used after every call method CL_GUI_FRONTEND_SERVICES=>......
What is the purpose of using it? What happens if we don't use it?

hi
good
The class CL_GUI_CFW contains static methods that apply to all instantiated custom controls when you call them.
You can force a synchronization point in your program by calling a method that is not buffered, or by calling the static method FLUSH.
CLASS event_handler IMPLEMENTATION.
  METHOD handle_f1.
    DATA row TYPE i.
    MESSAGE i888(sabapdocu) WITH text-003.
    CALL METHOD sender->get_selection_pos
         IMPORTING from_line = row.
    CALL METHOD sender->get_line_text
         EXPORTING line_number = row
         IMPORTING text = field.
    CALL METHOD cl_gui_cfw=>set_new_ok_code 
         EXPORTING new_code = 'F1'.         
    CALL METHOD cl_gui_cfw=>flush.
  ENDMETHOD.
thanks
mrutyun^

Similar Messages

  • What's the chain of methods called for painting components?

    Hi, I'm trying to find out at what point components are painted within a container, as in what methods are being called for that component to be rendered to the graphics context.
    I've tried watching for calls going to paint, paintAll and paintComponents, but if a component has been added to a container it seems that even if I override all of those methods of the container the components that have been added still get displayed.
    So I suppose I have two questions:
    * - What is the chain of methods called when a container is told to paint/repaint itself?
    * - What are the purpose of paintAll & paintComponents, I can't find anything that actually uses these calls.
    Thanks in advance,
    L

    Well it seems that the paint method of the component is being called from sun.awt.RepaintArea.paint(...) which itself is being kicked off from handling an event that's been thrown.
    That's clearer now....but has anyone seen when paintAll, paintComponents or the printXXX counterparts have actually been called by a part Sun's code? I can see how they (Sun) would advocate a practice lke this, but it would seem kinda lame for them to suggest it and then for them not to use it themselves.....that's why I think there's probably something in the JRE that does call these methods at sometime....can anyone cast some light on this?

  • CALL METHOD CL_GUI_CFW= DISPATCH.

    what is the use of CALL METHOD CL_GUI_CFW=>DISPATCH. one?

    Hi Vinay.
    I would like to suggest,
    [SDN - Reference for Usage of CALL METHOD cl_gui_cfw=>dispatch|cl_gui_cfw=>dispatch;
    [SDN - Reference for Issue in cl_gui_cfw=>dispatch|About CL_GUI_ALV_GRID's event-handling & PAI/PBO;
    Hope that's usefull.
    Good Luck & Regards.
    Harsh Dave

  • What are the function modules used in CRM_ORDER_STATUS

    Hi,
    what are the function modules used in CRM_ORDER_STATUS(BADI) IN THIS METHOD AFTER_CHANGE...

    Hi,
    http://scn.sap.com/thread/3202739
    AFTER_CHANGE
    ABAP ABAP Code
    Follow-Up Action After Status Change
    BEFORE_CHANGE
    ABAP ABAP Code
    Checks for Status Changeability
    Sample code to set date on status change ------
    INCLUDE crm_direct.
       DATA : ls_status       TYPE crmt_status_wrk.
       DATA : lv_process_type TYPE crmt_process_type.
       DATA : lit_appointment TYPE crmt_appointment_wrkt.
       DATA : wa_appointment  TYPE crmt_appointment_wrk.
       DATA : ls_appoint      TYPE crmt_appointment_com.
       DATA : lt_appoint      TYPE  crmt_appointment_comt.
       DATA : ls_input_field  TYPE crmt_input_field.
       DATA : lt_input_field  TYPE crmt_input_field_tab.
       DATA : ls_fieldnames   TYPE crmt_input_field_names.
       DATA : lt_fieldnames   TYPE crmt_input_field_names_tab.
       DATA : lt_exception    TYPE crmt_exception_t.
       DATA : lv_timestamp    TYPE sc_tstfro.
       DATA : lt_header_guid  TYPE crmt_object_guid_tab.
       DATA : lt_req_objects  TYPE crmt_object_name_tab.
       ls_status = is_status_wrk.
    *Get process type
       CALL FUNCTION 'CRM_INTLAY_GET_PROCESS_TYPE'
         EXPORTING
           iv_orderadm_h_guid = ls_status-guid
         IMPORTING
           ev_process_type    = lv_process_type.
    * Check process type
       IF lv_process_type = 'ZZZ'.
         INSERT ls_status-guid INTO TABLE lt_header_guid.
         INSERT gc_object_name-appointment INTO TABLE lt_req_objects.
    **Get appoinment data
         CALL FUNCTION 'CRM_ORDER_READ'
           EXPORTING
             it_header_guid            = lt_header_guid
             iv_mode                     = gc_mode-display
             it_requested_objects   = lt_req_objects
           IMPORTING
             et_appointment       = lit_appointment
           EXCEPTIONS
             document_not_found   = 1
             error_occurred       = 2
             document_locked      = 3
             no_change_authority  = 4
             no_display_authority = 5
             no_change_allowed    = 6
             OTHERS               = 7.
         IF sy-subrc NE 0.
           EXIT.
         ENDIF.
    *read item level data
         READ TABLE lit_appointment INTO wa_appointment WITH KEY ref_kind = 'B'.
         IF sy-subrc = 0.
    *      *Time-stamp set to as per current date and time.
           CONVERT DATE sy-datum TIME sy-uzeit INTO TIME STAMP lv_timestamp
             TIME ZONE sy-zonlo.
    *Fill appoinment structure
           ls_appoint-ref_guid = wa_appointment-ref_guid."appoinment gid
           ls_appoint-ref_kind = 'B'."Item
           ls_appoint-ref_handle  = '0000000000'.
           ls_appoint-appt_type = 'ZSERV_CLOSE'."c_appt_type .
           ls_appoint-timestamp_from = lv_timestamp.
           ls_appoint-timezone_from   = 'GMTUK'."time zone
           ls_appoint-mode = ''.
           ls_appoint-rule_name   = 'TODAY'.
           INSERT ls_appoint INTO TABLE lt_appoint.
           ls_input_field-ref_guid = wa_appointment-ref_guid.
           ls_input_field-ref_kind = 'B'.
           ls_input_field-objectname = 'APPOINTMENT'.
           ls_input_field-logical_key = 'ZSTATUS_NEW'.
    *Fill input fields
           ls_fieldnames-fieldname = 'TIMESTAMP_FROM'.
           INSERT ls_fieldnames INTO TABLE ls_input_field-field_names.
           INSERT ls_input_field INTO TABLE lt_input_field.
           CLEAR lt_fieldnames[].CLEAR ls_fieldnames. CLEAR ls_input_field.
    *To update date
           CALL FUNCTION 'CRM_APPT_MAINTAIN_MULTI_OW'
             EXPORTING
               iv_ref_guid        = wa_appointment-ref_guid
               iv_ref_kind        = 'B'
               it_appointment_com = lt_appoint
             CHANGING
               ct_input_fields    = lt_input_field
             EXCEPTIONS
               OTHERS             = 1.
         ENDIF.
       ENDIF.
    Standard BADI Order_Save will take care to save into database.
    Regards,
    Sumeet

  • How do I get what does the function does.

    Hello.
    I want to get what the function actually does like in
    javascript:
    object.onmouseout
    what has hot a result of this:
    function anonymus() {
    what ever the function does
    but in flash I tried to use this:
    object.onEnterFrame
    but I get this
    [type Function]
    Thanks

    I'm not sure I understand...but then I'm not entirely
    familiar with javascript... do you mean that you want to access the
    actionscript definition of the function? You can't do that (except
    maybe with a decompiler).
    to call a function and get the result you use the open and
    close braces, with arguments if required (for example):
    object.onEnterFrame()
    or
    object.doMyThing("with this argument")
    or just
    doMyThing()
    depending on where its defined and current scope.
    but if you do trace(doMyThing) or trace(object.doMyThing)
    it will trace: [type Function]
    this is normal. In the same way that an object's string
    output is [object Object] if you try to trace it. The difference
    with an object is that you can access its properties and method
    names (functions) without knowing them if they are not hidden by
    using a for in loop. But you can't (AFAIK) get anything related to
    the contents/definition of a function (or method) at runtime.

  • What is the function module which uploads excel file data into tcodes

    Hi,
    i want to upload data in cs01 tcode.
    but data is excel sheet while i am trying to use gui_upload it is not being possible for me to upload data.
    can any one tell me what is the function module?
    can any send me the steps how to uplaod data if it is in excelsheet?
    thanks & regards
    naveen
    Moderator message: FAQ, please search for available information before asking.
    locked by: Thomas Zloch on Aug 18, 2010 1:46 PM

    Hi,
       Try the below sample code u ll get an idea of uploading using 'TEXT_CONVERT_XLS_TO_SAP'.
    REPORT  zupload_excel_to_itab.
    TYPE-POOLS: truxs.
    PARAMETERS: p_file TYPE  rlgrap-filename.
    TYPES: BEGIN OF t_datatab,
          col1(30)    TYPE c,
          col2(30)    TYPE c,
          col3(30)    TYPE c,
          END OF t_datatab.
    DATA: it_datatab type standard table of t_datatab,
          wa_datatab type t_datatab.
    DATA: it_raw TYPE truxs_t_text_data.
    At selection screen
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          field_name = 'P_FILE'
        IMPORTING
          file_name  = p_file.
    *START-OF-SELECTION.
    START-OF-SELECTION.
      CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
        EXPORTING
        I_FIELD_SEPERATOR        =
          i_line_header            =  'X'
          i_tab_raw_data           =  it_raw       " WORK TABLE
          i_filename               =  p_file
        TABLES
          i_tab_converted_data     = it_datatab[]    "ACTUAL DATA
       EXCEPTIONS
          conversion_failed        = 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.
    END-OF-SELECTION.
    END-OF-SELECTION.
      LOOP AT it_datatab INTO wa_datatab.
        WRITE:/ wa_datatab-col1,
                wa_datatab-col2,
                wa_datatab-col3.
      ENDLOOP.
    Thanks & Regrads,
    Neela.

  • What is the function module to calculate "years of services" in HR?

    What is the function module to calculate "years of services" in HR?

    hi ,
    following function module will help you to find the years of service
    CALL FUNCTION 'HR_HK_TOTAL_YOS' "HR-HK: Calculate an employee's total years of service
      EXPORTING
        years1 =                    " pea_scryy     Years of service
        months1 =                   " pea_scrmm     Months of service
        days1 =                     " pea_scrdd     Days of service
        years2 =                    " pea_scryy     Credit years of service
        months2 =                   " pea_scrmm     Credit months of service
        days2 =                     " pea_scrdd     Credit days of service
      output_format = '01'        " char2         Format to display the output
      IMPORTING
        years =                     " pea_scryy     Total years of service
        months =                    " pea_scrmm     Total months of service
        days =                      " pea_scrdd     Total days of service
        .  "  HR_HK_TOTAL_YOS
    thanks u..

  • Can you tell me what is the function modue to get POPUP box

    Hi Folks,
    can you tell me what is the function module to get the POPUP box.
    Thanks in Advance,
    Lakshmi

    Hai use
    POPUP_TO_CONFIRM
    check the following Code
    CONCATENATE 'Send selected spools to the: '
                 altdest
                ' Printer.' INTO V_TXTQUES SEPARATED BY SPACE.
    CALL FUNCTION 'POPUP_TO_CONFIRM'
      EXPORTING
        TITLEBAR                    = C_TITLEBAR
      DIAGNOSE_OBJECT             = ' '
        TEXT_QUESTION               = V_TXTQUES
      TEXT_BUTTON_1               = 'Ja'(001)
      ICON_BUTTON_1               = ' '
      TEXT_BUTTON_2               = 'Nein'(002)
      ICON_BUTTON_2               = ' '
      DEFAULT_BUTTON              = '1'
       DISPLAY_CANCEL_BUTTON       = ' '
      USERDEFINED_F1_HELP         = ' '
       START_COLUMN                = 6
       START_ROW                   = 6
      POPUP_TYPE                  =
      IV_QUICKINFO_BUTTON_1       = ' '
      IV_QUICKINFO_BUTTON_2       = ' '
      IMPORTING
        ANSWER                      = D_ANSWER
    TABLES
      PARAMETER                   =
    EXCEPTIONS
       TEXT_NOT_FOUND              = 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.
    IF D_ANSWER = '1'.
    Thanks & regards
    Sreenivasulu P

  • What is the function code of create new session?

    what is the function code of create new session?
    thanks...

    Hi
    Please put a "/n" (to open a new session after killing the current session)
    or "/o" (to open a new session without killing the current session)
    or "/i" (to end the current session) before the below T Codes as per your requirement...
    <u><b>For more Tcodes check the following</b></u>
    =>smartforms - Smartforms (SAP Form Builder to Create and Adjust Forms)
    =>cmod - Enhancements, User Exits (Project Tool to coordinate changes into projects for the purpose of activating all user exits for a particular project)
    =>sale - ALE Customizing
    =>bale - Distribution Administration (ALE)
    =>wedi - IDOC Type and EDI Basis
    =>shdb - BDC (Transaction Recorder)
    =>lsmw - LSMW
    =>bapi - BAPI
    =>spau - Display Modified DE Objects
    =>spdd - Display Modified DDIC Objects
    =>sara - central idoc archiving
    =>stms - Transport Management System
    =>wedi - IDOC Type and EDI Basis (IDOC Configuration)
    =>bd21 - Analyze change pointers - create IDOC from change pointer
    =>bd10 - Send Material Master
    =>bd12 - Send Customer Master
    =>bd14 - Send Vendor Master
    =>bd50 - Activate Change Pointer for Message Type
    =>bd55 - Conversion rule user exit (Link conversion rule user exit to the different system \ partner combinations)
    =>bd54 - Maintain Logical Systems
    =>bd71 - Distribute Customer Model
    =>bd87 - Process Inbound IDOCs
    =>bd88 - Process Outbound IDOCs
    =>bdm2 - Cross-system IDOC Reporting
    =>bdm7 - ALE Audit - statistical analyses
    =>bdm8 - ALE Audit - sending confirmations
    =>bd61 - Activate Change Pointer generally
    =>bmv0 - Direct Input Data Transfer Administration
    =>rz04 - Operation Mode
    =>rz12 - RFC Server Group Maintenance
    =>sar3 - Archiving object customizing
    =>s001 - SAPoffice Inbox
    =>s010 - Standards Texts (SAP Script)
    =>se01 - Transport Organizer (Extended View - Performing and managing the transport of development object across different systems)
    =>se09 - Transport (Workbench) Organizer (Controlling and keeping track of Development work and Development Objects)
    =>se24 - Class Builder (BAPI)
    =>se30 - Runtime Analysis
    =>se36 - LDB
    =>se37 - Function Builder
    =>se38 - ABAP Editor (to modify ABAP programs)
    =>se39 - Split-Screen-Editor
    =>se11 - ABAP Dictionary
    =>se16 - Data Browser (Table contents display)
    =>se41 - Menu Painter
    =>se51 - Screen Painter
    =>se71 - SAPScript Forms
    =>se73 - SAPScript Font Maintenance
    =>se75 - Graphic Objects and Graphic IDs Sapscript Settings
    =>se78 - Administration of Form Graphics (Import Graphics into SAP System)
    =>se80 - Object Navigator
    =>se84 - ABAP Repository Information (search for SAP objects)
    =>se91 - Message Maintenance
    =>se93 - Maintain T codes
    =>su01 - User Maintenance (Security)
    =>su02 - Maintain Authorization Profiles
    =>su03 - Maintain Authorizations
    =>slg1 - Evaluate Application Log
    =>sm12 - Lock Entries
    =>sm21 - System Logs
    =>sm36 - Background Job Scheduling
    =>sm37 - Background Job Monitoring (display batch jobs)
    =>sm31 - Table Maintenance
    =>sm30 - Calling View Maintenance
    =>sm35 - Batch Input Monitoring (Error Logs)
    =>sm50 - Process Overview
    =>sm58 - Transactional RFC Monitoring
    =>sm59 - Maintain RFC Destinations (Define RFC Configuration)
    =>snro - Number Range Objects (for IDOCs)
    =>scc4 - Client Overview (Create, Quick Delete, Modify)
    =>spro - Customizing, Execute Project
    =>sp01 - Spool Administration
    =>sq01 - Maintain SAP Queries
    =>st02 - Buffer Analysis (Status Overview)
    =>st03 - Workflow Analysis
    =>st05 - Performance SQL trace (Tracking the Database calls from the System Transaction and Programs)
    =>st22 - ABAP Dump Analysis, check logical runtime errors
    =>/h - ABAP Debugger
    =>we02 - Display IDOC
    =>we05 - IDOC lists
    =>we07 - IDOC statistics
    =>we12 - Inbound processing of outbound file - convert outbound to inbound file
    =>we14 - Process (dispatch) IDOCs through Port - RSEOUT00
    =>we15 - Outbound IDOC from NAST - message control
    =>we16 - Inbound File
    =>we18 - Generate status file
    =>we19 - Test tool
    =>we20 - Add new Message Type to Partner Profile
    =>we21 - Maintain Port Definition
    =>we30 - IDOC Type development
    =>we31 - IDOC Segment development
    =>we41 - Process Code Outbound
    =>we42 - Process Code Inbound
    =>we46 - IDoc Administration
    =>we47 - Status Code Maintenance
    =>we57 - Assign function module to logical message and IDoc type
    =>we63 - IDOC Type for Parser Output
    =>we82 - Assign IDOC to Message Type
    =>we60 - IDOC Documentation - IDOC Types
    =>we61 - IDOC Documentation - IDOC Record Types
    =>we81 - Create new IDOC Message Types
    =>we82 - Assign IDOC to Message Type
    =>pa20 - Display HR Master Data
    =>pa30 - Maintain HR Master Data
    =>bd59 - Create and assign Filter Object Type for Message Type
    =>bd64 - Maintenance of ALE or any other Distribution Model
    =>db02 - Storage Management and Database Performance
    =>db14 - Database monitor
    =>se18 - BADI definitions
    =>se19 - BADI implementations
    =>fd03 - Accounts Receivable Master Data (Display Customer in Accounting)
    =>me22 - Change Purchase Order
    =>me21 - Create Purchase Order
    =>me51 - Create Purchase Requisition
    <u><b>Official source of SAP T Codes -</b></u>Go to se11 or se16 and view table entries for
    TSTC and TSTCT. This will give you the Transaction List.
    Reward all helpfull answers
    Regards
    Pavan

  • What is the functionality of unicode in 4.7

    hi gurus
    can anyone
    inform me
    what is the functionality of unicode in 4.7
    thank u
    regards
    kals.

    Before release 6.10, SAP supported different codes for representing characters of different fonts, for example ASCII, EBCDIC as single-byte code pages or double-bytecode pages:
    ASCII (American Standard Code for Information Interchange) encodes every character with one byte. This means that a maximum of 256 characters can be displayed (strictly speaking, standard ASCII only encodes one character using 7 bit and can therefore only represent 128 characters. The extension to 8 bit is introduced with ISO-8859). Examples of common code pages are ISO-8859-1 for Western European, or ISO-8859-5 for Cyrillic fonts.
    EBCDIC (Extended Binary Coded Decimal Interchange) also encodes each character using one byte, and can therefore also represent 256 characters. For example,EBCDIC 0697/0500 is an IBM format that has been used on the AS400 platform for Western European fonts.
    Double byte code pages require between 1 and 2 bytes per character. This enables the representation of 65,536 characters, of which only 10,000 to 15,000 characters are normally used. For example, the code page SJIS is used for Japanese and BIG5 for traditional Chinese fonts.
    Using these character sets, all languages can be handled individually in one ABAP-based SAP system. Difficulties arise if texts from different incompatible character sets are mixed in one central system. The exchange of data between systems with incompatible character sets can also lead to problems.
    The solution to this problem is the use of a character set that includes all characters at once. This is realized by Unicode Unicode (ISO/IEC 10646) . A variety of Unicode character representations is possible for the Unicode character set, for example UTF, in which a character can occupy between one and four bytes.
    From release 6.10, the SAP NetWeaver Application Server supports both Unicode and non-Unicode systems. Non-Unicode systems are conventional ABAP systems, in which one character is usually represented by one byte. Unicode systems are ABAP systems that are based on a Unicode character set and which have a corresponding underlying operating system, including a database.
    Before release 6.10, many ABAP programming methods were based on the fact that one character corresponds to one byte. Before a system is converted to Unicode, ABAP programs must therefore be modified at all points where an explicit or implicit assumption is made about the internal length of a character.
    ABAP supports this conversion using new syntax rules and new language constructs, whereby emphasis was placed on retaining as much of the existing source code as possible. As a preparation for the conversion to Unicode - but also independently of whether a system will actually be converted to Unicode - the checkbox Unicode checks active can be selected in the program properties. The transaction UCCHECK supports the activation of this check for existing programs. If this property is set, the program is identified as a Unicode program. In a Unicode program, an additional stricter syntax check is performed than in non-Unicode programs. In some cases, statements must also be enhanced by using new additions. A syntactically correct Unicode program will normally run with the same semantics and the same results in Unicode and non-Unicode systems. (Exceptions to this rule are low-level programs that query and evaluate the number of bytes per character). Programs that are required to run in both systems should therefore also be tested on both platforms.
    In a Unicode system, only Unicode programs can be executed. Before converting to a Unicode system, the profile parameter abap/unicode_check should be set to "ON" so that only the execution of Unicode programs is permitted. Non-Unicode programs can only be executed in non-Unicode systems. All language constructs that have been introduced for Unicode programs can, however, also be used in non-Unicode programs.
    It has been established that existing programs that have been programmed with no errors mostly fulfill the new Unicode rules and therefore require very little modification. Conversely, most programs that require significant changes are due to an error-prone and therefore questionable programming style. Even if you are not planning a conversion to a Unicode system, Unicode programs are preferable because they are more easily maintained and less prone to errors. Just as outdated and dangerous language constructs are declared obsolete and are no longer permitted for use in ABAP Objects, the rules for Unicode programs also offer increased security when programming, for example when working with character fields and mixed structures. This applies particularly for the storage of external data (for example using the file interface), which has been completely reviewed for use in Unicode programs. When creating a new program, SAP therefore recommends that you always identify the program as a Unicode program, and older programs can be converted to Unicode in stages.

  • What are the function modules used in interactive ALV and parameters?

    what are the function modules used in interactive ALV and parameters?

    hi sunil
    check these links,
    About ALV:
    http://www.geocities.com/mpioud/Abap_programs.html
    ALV Group Heading
    http://www.sap-img.com/fu037.htm
    and few more,
    ALV
    1. Please give me general info on ALV.
    http://www.sapfans.com/forums/viewtopic.php?t=58286
    http://www.sapfans.com/forums/viewtopic.php?t=76490
    http://www.sapfans.com/forums/viewtopic.php?t=20591
    http://www.sapfans.com/forums/viewtopic.php?t=66305 - this one discusses which way should you use - ABAP Objects calls or simple function modules.
    2. How do I program double click in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=11601
    http://www.sapfans.com/forums/viewtopic.php?t=23010
    3. How do I add subtotals (I have problem to add them)...
    http://www.sapfans.com/forums/viewtopic.php?t=20386
    http://www.sapfans.com/forums/viewtopic.php?t=85191
    http://www.sapfans.com/forums/viewtopic.php?t=88401
    http://www.sapfans.com/forums/viewtopic.php?t=17335
    4. How to add list heading like top-of-page in ABAP lists?
    http://www.sapfans.com/forums/viewtopic.php?t=58775
    http://www.sapfans.com/forums/viewtopic.php?t=60550
    http://www.sapfans.com/forums/viewtopic.php?t=16629
    5. How to print page number / total number of pages X/XX in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=29597 (no direct solution)
    6. ALV printing problems. The favourite is: The first page shows the number of records selected but I don't need this.
    http://www.sapfans.com/forums/viewtopic.php?t=64320
    http://www.sapfans.com/forums/viewtopic.php?t=44477
    7. How can I set the cell color in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=52107
    8. How do I print a logo/graphics in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=81149
    http://www.sapfans.com/forums/viewtopic.php?t=35498
    http://www.sapfans.com/forums/viewtopic.php?t=5013
    9. How do I create and use input-enabled fields in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=84933
    http://www.sapfans.com/forums/viewtopic.php?t=69878
    10. How can I use ALV for reports that are going to be run in background?
    http://www.sapfans.com/forums/viewtopic.php?t=83243
    http://www.sapfans.com/forums/viewtopic.php?t=19224
    11. How can I display an icon in ALV? (Common requirement is traffic light icon).
    http://www.sapfans.com/forums/viewtopic.php?t=79424
    http://www.sapfans.com/forums/viewtopic.php?t=24512
    12. How can I display a checkbox in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=88376
    http://www.sapfans.com/forums/viewtopic.php?t=40968
    http://www.sapfans.com/forums/viewtopic.php?t=6919
    also run the folowing code and see
    check this sample code.you will be well versed with all the events of a interactive alv report.mark points if useful.
    *& Report ZALV4_INTERACTIVE *
    *& interactive alvs *
    REPORT ZALV4_INTERACTIVE NO STANDARD PAGE HEADING
    MESSAGE-ID ZMSG
    LINE-COUNT 37(3)
    LINE-SIZE 134.
    TYPE-POOLS : SLIS.
    TABLES DECLARATION ********************
    TABLES : VBRK, " BILLING MASTERS TABLE
    VBRP. " BILLING ITEM TABLE
    TYPES DECLARATION ********************
    TYPES : BEGIN OF TY_VBRK, " types for billing masters table
    VBELN TYPE VBRK-VBELN, " billing document
    WAERK TYPE VBRK-WAERK, " document currency
    VKORG TYPE VBRK-VKORG, " sales organization
    FKDAT TYPE VBRK-FKDAT, " billing date
    BUKRS TYPE VBRK-BUKRS, " company code
    BUTXT TYPE T001-BUTXT, " company name
    NETWR TYPE VBRK-NETWR, " net currency value
    LINE_COLOR(4) TYPE C,
    END OF TY_VBRK.
    TYPES : BEGIN OF TY_VBRP, " types for billing document item data
    POSNR TYPE VBRP-POSNR, " billing item
    FKIMG TYPE VBRP-FKIMG, " actual invoiced quantitty
    VRKME TYPE VBRP-VRKME, " sales unit
    NETWR TYPE VBRP-NETWR, " net currency value
    MATNR TYPE VBRP-MATNR, " material number
    ARKTX TYPE VBRP-ARKTX, " short text for sales order item
    END OF TY_VBRP.
    FIELD CATALOG ********************
    DATA : WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
    WA_FIELDCAT1 TYPE SLIS_FIELDCAT_ALV.
    LAYOUT DECLARATION ********************
    DATA : WA_LAYOUT TYPE SLIS_LAYOUT_ALV,
    WA_LAYOUT1 TYPE SLIS_LAYOUT_ALV.
    EVENTS DECLARATION ********************
    DATA : TY_EVENTS TYPE SLIS_ALV_EVENT,
    IT_EVENTS TYPE SLIS_T_EVENT.
    PF STATUS ********************
    DATA : PF_STATUS TYPE SLIS_FORMNAME VALUE 'SET_PF_STATUS'.
    USER COMMAND ********************
    DATA : USER_COMMAND TYPE SLIS_FORMNAME VALUE 'SET_USER_COMMAND',
    R_UCOMM LIKE SY-UCOMM.
    INTERNAL TABLES ********************
    DATA : IT_VBRK TYPE TABLE OF TY_VBRK, "internal table for billing master
    IT_VBRP TYPE TABLE OF TY_VBRP, "internal table for billing item
    *internal table for field catalog
    IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
    IT_FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV.
    WORK AREA ********************
    DATA : WA_VBRK LIKE LINE OF IT_VBRK, "work area for billing master
    WA_VBRP LIKE LINE OF IT_VBRP. "work area for billing item
    VARIABLE DECLARATION ********************
    DATA : V_DATE TYPE SY-DATUM, " variable to store date values
    V_VBELN TYPE VBRK-VBELN, " variable for billing document
    V_FKDAT TYPE VBRK-FKDAT, " variable for billing date
    V_FLAG(1). " variable for flag
    SELECTION SCREEN ********************
    SELECT-OPTIONS : S_VBELN FOR VBRK-VBELN , " Billing document
    S_FKDAT FOR VBRK-FKDAT, " Billing date
    S_MATNR FOR VBRP-MATNR. " Material number
    PARAMETERS : R1 RADIOBUTTON GROUP G1, "whole item details
    R2 RADIOBUTTON GROUP G1. "selected item details
    INITIALIZATION ********************
    INITIALIZATION.
    V_FLAG = 'X'.
    V_DATE = SY-DATUM - 20.
    S_FKDAT-SIGN = 'I'.
    S_FKDAT-OPTION = 'EQ'.
    S_FKDAT-LOW = V_DATE.
    S_FKDAT-HIGH = SY-DATUM.
    APPEND S_FKDAT.
    SELECTION SCREEN VALIDATION ********************
    AT SELECTION-SCREEN.
    PERFORM CONVERSION. " performs data conversion for input
    PERFORM VBELN_VALIDATE. " validating the billing document
    PERFORM FKDAT_VALIDATE. " validating the billing date
    START OF SELECTION ********************
    START-OF-SELECTION.
    SET TITLEBAR 'AAAA'.
    PERFORM VBRK_POPULATE. " populating the billing master detais
    PERFORM FIELDCATALOG. " designing the field catalog
    PERFORM EVENTS. " performing the events for top of page
    PERFORM DISP_BASICLIST." displaying the basic list
    *& Form VBELN_VALIDATE
    text validating the billing document
    --> p1 text
    <-- p2 text
    FORM VBELN_VALIDATE .
    IF S_VBELN IS INITIAL.
    MESSAGE E000 WITH 'Make entries in all required fields'.
    ELSE.
    SELECT SINGLE VBELN
    FROM VBRK
    INTO V_VBELN
    WHERE VBELN IN S_VBELN.
    IF SY-SUBRC <> 0.
    MESSAGE I000 WITH 'BILLING DOCUMENT DOESNT EXIST'.
    ENDIF.
    ENDIF.
    ENDFORM. " VBELN_VALIDATE
    *& Form FKDAT_VALIDATE
    text validating the billing date
    --> p1 text
    <-- p2 text
    FORM FKDAT_VALIDATE .
    SELECT SINGLE FKDAT
    FROM VBRK
    INTO V_FKDAT
    WHERE FKDAT IN S_FKDAT.
    IF SY-SUBRC <> 0.
    MESSAGE I000 WITH 'BILLING DATE DOESNT EXIST'.
    ENDIF.
    ENDFORM. " FKDAT_VALIDATE
    *& Form VBRK_POPULATE
    text populating the billing master details
    --> p1 text
    <-- p2 text
    FORM VBRK_POPULATE .
    DATA : LD_COLOR(1) TYPE C.
    LD_COLOR = 5.
    SELECT VBRK~VBELN
    VBRK~WAERK
    VBRK~VKORG
    VBRK~FKDAT
    VBRK~BUKRS
    VBRK~NETWR
    T001~BUTXT
    FROM VBRK INNER JOIN T001
    ON VBRKBUKRS = T001BUKRS
    INTO CORRESPONDING FIELDS OF TABLE IT_VBRK
    WHERE VBRK~VBELN IN S_VBELN AND
    VBRK~FKDAT IN S_FKDAT.
    LOOP AT IT_VBRK INTO WA_VBRK.
    LD_COLOR = LD_COLOR + 1.
    IF LD_COLOR = 8.
    LD_COLOR = 1.
    ENDIF.
    CONCATENATE 'C' LD_COLOR '10' INTO WA_VBRK-LINE_COLOR.
    MODIFY IT_VBRK FROM WA_VBRK.
    ENDLOOP.
    ENDFORM. " VBRK_POPULATE
    *& Form CONVERSION
    text data conversion to take leading zeroes into account
    --> p1 text
    <-- p2 text
    FORM CONVERSION .
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
    INPUT = S_VBELN
    IMPORTING
    OUTPUT = S_VBELN.
    ENDFORM. " CONVERSION
    *& Form DISP_BASICLIST
    text displaying the basic list
    --> p1 text
    <-- p2 text
    FORM DISP_BASICLIST .
    CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    EXPORTING
    I_INTERFACE_CHECK = ' '
    I_BYPASSING_BUFFER =
    I_BUFFER_ACTIVE = ' '
    I_CALLBACK_PROGRAM = SY-REPID
    I_CALLBACK_PF_STATUS_SET = PF_STATUS
    I_CALLBACK_USER_COMMAND = USER_COMMAND
    I_STRUCTURE_NAME =
    IS_LAYOUT = WA_LAYOUT
    IT_FIELDCAT = IT_FIELDCAT
    IT_EXCLUDING =
    IT_SPECIAL_GROUPS =
    IT_SORT =
    IT_FILTER =
    IS_SEL_HIDE =
    I_DEFAULT = 'X'
    I_SAVE = 'X'
    IS_VARIANT =
    IT_EVENTS = 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
    IMPORTING
    E_EXIT_CAUSED_BY_CALLER =
    ES_EXIT_CAUSED_BY_USER =
    TABLES
    T_OUTTAB = IT_VBRK
    EXCEPTIONS
    PROGRAM_ERROR = 1
    OTHERS = 2
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDFORM. " DISP_BASICLIST
    *& Form FIELDCATALOG
    text designing the field catalog
    --> p1 text
    <-- p2 text
    FORM FIELDCATALOG .
    WA_FIELDCAT-TABNAME = 'IT_VBRK'.
    WA_FIELDCAT-FIELDNAME = 'VBELN'.
    WA_FIELDCAT-SELTEXT_L = 'BILLING DOCUMENT'.
    WA_FIELDCAT-COL_POS = 1.
    WA_FIELDCAT-EMPHASIZE = 'C610'.
    WA_FIELDCAT-KEY = 'X'.
    WA_FIELDCAT-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    WA_FIELDCAT-TABNAME = 'IT_VBRK'.
    WA_FIELDCAT-FIELDNAME = 'WAERK'.
    WA_FIELDCAT-SELTEXT_L = 'DOCUMENT CURRENCY'.
    WA_FIELDCAT-COL_POS = 2.
    WA_FIELDCAT-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    WA_FIELDCAT-TABNAME = 'IT_VBRK'.
    WA_FIELDCAT-FIELDNAME = 'VKORG'.
    WA_FIELDCAT-SELTEXT_L = 'SALES ORGANIZATION'.
    WA_FIELDCAT-EMPHASIZE = 'C610'.
    WA_FIELDCAT-COL_POS = 3.
    WA_FIELDCAT-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    WA_FIELDCAT-TABNAME = 'IT_VBRK'.
    WA_FIELDCAT-FIELDNAME = 'FKDAT'.
    WA_FIELDCAT-SELTEXT_L = 'BILLING DATE'.
    WA_FIELDCAT-COL_POS = 4.
    WA_FIELDCAT-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    WA_FIELDCAT-TABNAME = 'IT_VBRK'.
    WA_FIELDCAT-FIELDNAME = 'BUKRS'.
    WA_FIELDCAT-SELTEXT_L = 'COMPANY CODE'.
    WA_FIELDCAT-COL_POS = 5.
    WA_FIELDCAT-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    WA_FIELDCAT-TABNAME = 'IT_VBRK'.
    WA_FIELDCAT-FIELDNAME = 'BUTXT'.
    WA_FIELDCAT-SELTEXT_L = 'COMPANY NAME'.
    WA_FIELDCAT-COL_POS = 6.
    WA_FIELDCAT-OUTPUTLEN = 25.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    WA_FIELDCAT-TABNAME = 'IT_VBRK'.
    WA_FIELDCAT-FIELDNAME = 'NETWR'.
    WA_FIELDCAT-SELTEXT_L = 'NET CURRENCY VALUE'.
    WA_FIELDCAT-COL_POS = 7.
    WA_FIELDCAT-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    WA_LAYOUT-ZEBRA = 'X'.
    WA_LAYOUT-INFO_FIELDNAME = 'LINE_COLOR'.
    ENDFORM. " FIELDCATALOG
    *& Form SET_PF_STATUS
    text set the pf status
    FORM SET_PF_STATUS USING EXTAB TYPE SLIS_T_EXTAB.
    SET PF-STATUS 'Z50658_PFSTATUS' EXCLUDING EXTAB.
    ENDFORM. "SET_PF_STATUS
    *& Form SET_USER_COMMAND
    text set the user command
    FORM SET_USER_COMMAND USING R_UCOMM
    RS_SELFIELD TYPE SLIS_SELFIELD.
    CASE R_UCOMM.
    WHEN 'CLICK'.
    IF R1 = 'X'.
    IF NOT IT_VBRK IS INITIAL.
    SELECT POSNR
    FKIMG
    VRKME
    NETWR
    MATNR
    ARKTX
    FROM VBRP
    INTO CORRESPONDING FIELDS OF TABLE IT_VBRP
    FOR ALL ENTRIES IN IT_VBRK
    WHERE VBELN = IT_VBRK-VBELN.
    IF SY-SUBRC <> 0.
    MESSAGE I000 WITH ' NO BILLING DETAILS FOUND'.
    ELSE.
    IF V_FLAG = 'X'.
    PERFORM DET_FIELDCATALOG.
    V_FLAG = ''.
    ENDIF.
    PERFORM DET_LISTDISPLAY.
    ENDIF.
    ENDIF.
    ENDIF.
    IF R2 = 'X'.
    READ TABLE IT_VBRK INTO WA_VBRK INDEX RS_SELFIELD-TABINDEX.
    IF SY-SUBRC = 0.
    SELECT SINGLE POSNR
    FKIMG
    VRKME
    NETWR
    MATNR
    ARKTX
    FROM VBRP
    INTO CORRESPONDING FIELDS OF WA_VBRP
    WHERE VBELN = WA_VBRK-VBELN.
    ENDIF.
    APPEND WA_VBRP TO IT_VBRP.
    ENDIF.
    IF V_FLAG = 'X'.
    PERFORM DET_FIELDCATALOG. "designing the field catalog for items
    V_FLAG = ''.
    ENDIF.
    PERFORM DET_LISTDISPLAY. "displaying the secondary list
    WHEN 'BACK'.
    LEAVE TO SCREEN 0.
    WHEN 'UP'.
    LEAVE TO SCREEN 0.
    WHEN 'CANCEL'.
    CALL TRANSACTION 'SE38'.
    ENDCASE.
    ENDFORM. "SET_USER_COMMAND
    *& Form DET_FIELDCATALOG
    text designing the field catalog for item details
    --> p1 text
    <-- p2 text
    FORM DET_FIELDCATALOG .
    WA_FIELDCAT1-TABNAME = 'IT_VBRP'.
    WA_FIELDCAT1-FIELDNAME = 'POSNR'.
    WA_FIELDCAT1-SELTEXT_L = 'BILLING ITEM'.
    WA_FIELDCAT1-COL_POS = 1.
    WA_FIELDCAT1-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
    CLEAR WA_FIELDCAT1.
    WA_FIELDCAT1-TABNAME = 'IT_VBRP'.
    WA_FIELDCAT1-FIELDNAME = 'FKIMG'.
    WA_FIELDCAT1-SELTEXT_L = 'INVOICE QUANTITY'.
    WA_FIELDCAT1-COL_POS = 2.
    WA_FIELDCAT1-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
    CLEAR WA_FIELDCAT1.
    WA_FIELDCAT1-TABNAME = 'IT_VBRP'.
    WA_FIELDCAT1-FIELDNAME = 'VRKME'.
    WA_FIELDCAT1-SELTEXT_L = 'SALES UNIT'.
    WA_FIELDCAT1-COL_POS = 3.
    WA_FIELDCAT1-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
    CLEAR WA_FIELDCAT1.
    WA_FIELDCAT1-TABNAME = 'IT_VBRP'.
    WA_FIELDCAT1-FIELDNAME = 'NETWR'.
    WA_FIELDCAT1-SELTEXT_L = 'NET CURRENCY VALUE'.
    WA_FIELDCAT1-COL_POS = 4.
    WA_FIELDCAT1-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
    CLEAR WA_FIELDCAT1.
    WA_FIELDCAT1-TABNAME = 'IT_VBRP'.
    WA_FIELDCAT1-FIELDNAME = 'MATNR'.
    WA_FIELDCAT1-SELTEXT_L = 'MATERIAL NUMBER'.
    WA_FIELDCAT1-COL_POS = 5.
    WA_FIELDCAT1-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
    CLEAR WA_FIELDCAT1.
    WA_FIELDCAT1-TABNAME = 'IT_VBRP'.
    WA_FIELDCAT1-FIELDNAME = 'ARKTX'.
    WA_FIELDCAT1-SELTEXT_L = 'SALES ORDER ITEM'.
    WA_FIELDCAT1-COL_POS = 6.
    WA_FIELDCAT1-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
    CLEAR WA_FIELDCAT1.
    WA_LAYOUT1-ZEBRA = 'X'.
    ENDFORM. " DET_FIELDCATALOG
    *& Form DET_LISTDISPLAY
    text displaying the secondary list
    --> p1 text
    <-- p2 text
    FORM DET_LISTDISPLAY .
    CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    EXPORTING
    I_INTERFACE_CHECK = ' '
    I_BYPASSING_BUFFER =
    I_BUFFER_ACTIVE = ' '
    I_CALLBACK_PROGRAM = SY-REPID
    I_CALLBACK_PF_STATUS_SET = ' '
    I_CALLBACK_USER_COMMAND = ' '
    I_STRUCTURE_NAME =
    IS_LAYOUT = WA_LAYOUT1
    IT_FIELDCAT = IT_FIELDCAT1
    IT_EXCLUDING =
    IT_SPECIAL_GROUPS =
    IT_SORT =
    IT_FILTER =
    IS_SEL_HIDE =
    I_DEFAULT = 'X'
    I_SAVE = ' '
    IS_VARIANT =
    IT_EVENTS = 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
    IMPORTING
    E_EXIT_CAUSED_BY_CALLER =
    ES_EXIT_CAUSED_BY_USER =
    TABLES
    T_OUTTAB = IT_VBRP
    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.
    CLEAR IT_VBRP[].
    ENDFORM. " DET_LISTDISPLAY
    *& Form EVENTS
    text
    --> p1 text
    <-- p2 text
    FORM EVENTS .
    CLEAR TY_EVENTS.
    TY_EVENTS-NAME = SLIS_EV_TOP_OF_PAGE.
    TY_EVENTS-FORM = 'TOP_OF_PAGE'.
    APPEND TY_EVENTS TO IT_EVENTS.
    ENDFORM. " EVENTS
    *& Form TOP_OF_PAGE
    text
    FORM TOP_OF_PAGE.
    SKIP.
    ULINE.
    WRITE :/2 ' DATE :', SY-DATUM,
    45 'INTELLIGROUP ASIA PVT LTD',
    110 'TIME :', SY-UZEIT.
    WRITE : /3 'USER :', SY-UNAME,
    45 'TITLE :', SY-TITLE,
    110 'PAGE :', SY-PAGNO.
    ULINE.
    SKIP.
    ENDFORM. "TOP_OF_PAGE
    Cheers
    navjot
    Reward with points if it is helpful
    Message was edited by:
            navjot sharma

  • What does the function skgesig_sigactionHandler() do?

    Hello,
    OS: RHEL 5.3
    OCCI: 11gR1 (11.1.0.7.0)
    From 11gR1, when a signal is received to my app, the function skgesig_sigactionHandler() is called.
    using namespace oracle::occi;
    int main()
    Environment* env = Environment::createEnvironment(oracle::occi::Environment::Mode(oracle::occi::Environment::THREADED_MUTEXED|oracle::occi::Environment::OBJECT));
    abort(); // abort intentionally
    return 0;
    (gdb) where
    #0 0x00000035b86306a7 in kill () from /lib64/libc.so.6
    #1 0x00002ba942a26317 in skgdbgcra () from /opt/oracle11/lib/libclntsh.so.11.1
    #2 0x00002ba942a231f2 in skgesigCrash () from /opt/oracle11/lib/libclntsh.so.11.1
    #3 0x00002ba942a233f1 in skgesig_sigactionHandler () from /opt/oracle11/lib/libclntsh.so.11.1
    #4 <signal handler called>
    #5 0x00000035b8630215 in raise () from /lib64/libc.so.6
    #6 0x00000035b8631cc0 in abort () from /lib64/libc.so.6
    #7 0x0000000000400f94 in main (argc=1, argv=0x7fff6a01d8a8) at test.cpp:126
    What does the function skgesig_sigactionHandler() do?
    If anyone knows it, please let me know.
    My app uses sigaction() for signal handling. So, I'm afraid of that my app will not work correctly.
    Any info, I will appreciate it.
    Thanks.
    Yoshitaka Egawa

    My apologies for my posting 3 threads of same contents.
    Please reply against the thread not yet answered.
    Thanks.
    Yoshitaka Egawa

  • Hi guru's what are the function modules are used in ALV

    hi guru's what are the function modules are used in ALV

    Hi vasu,
    There are some function modules which will enable to produce the  reports without much effort.
    All the definitions of internal tables, structures and constants are declared in a type-pool called SLIS.
    1. SIMPLE REPORT.
    The important function modules are
    a. Reuse_alv_list_display
    b. Reuse_alv_fieldcatalog_merge
    c. Reuse_alv_events_get
    d. Reuse_alv_commentary_write
    e. Reuse_alv_grid_display
    A. REUSE_ALV_LIST_DISPLAY : This is the function module which prints the data.
    The important parameters are :
    I. Export :
    i. I_callback_program : report id
    ii. I_callback_pf_status_set : routine where a user can set his own pf status or change the functionality of the existing pf status
    iii. I_callback_user_command : routine where the function codes are handled
    iv. I_structure name : name of the dictionary table
    v. Is_layout : structure to set the layout of the report
    vi. It_fieldcat : internal table with the list of all fields and their attributes which are to be printed (this table can be populated automatically by the function module REUSE_ALV_FIELDCATALOG_MERGE
    vii. It_events : internal table with a list of all possible events of ALV and their corresponding form names.
    II. Tables :
    i. t_outtab : internal table with the data to be output
    B. REUSE_ALV_FIELDCATALOG_MERGE : This function module is used to populate a fieldcatalog which is essential to display the data in ALV. If the output data is from a single dictionary table and all the columns are selected, then we need not exclusively create the field catalog. Its enough to mention the table name as a parameter(I_structure name) in the REUSE_ALV_LIST_DISPLAY. But in other cases we need to create it.
    The Important Parameters are :
    I. Export :
    i. I_program_name : report id
    ii. I_internal_tabname : the internal output table
    iii. I_inclname : include or the report name where all the dynamic forms are handled.
    II Changing
    ct_fieldcat : an internal table with the type SLIS_T_FIELDCAT_ALV which is
    declared in the type pool SLIS.
    C. REUSE_ALV_EVENTS_GET : Returns table of possible events for a list type
    Parameters :
    I. Import :
    Et_Events : The event table is returned with all possible CALLBACK events
    for the specified list type (column 'NAME'). For events to be processed by Callback, their 'FORM' field must be filled. If the field is initialized, the event is ignored. The entry can be read from the event table, the field 'FORM' filled and the entry modified using constants from the type pool SALV.
    II. Export :
    I_List_type :
    0 = simple list REUSE_ALV_LIST_DISPLAY
    1 = hierarchcal-sequential list REUSE_ALV_HIERSEQ_LIST_DISPLAY
    2 = simple block list REUSE_ALV_BLOCK_LIST_APPEND
    3 = hierarchical-sequential block list
    REUSE_ALV_BLOCK_LIST_HS_APPEND
    D. REUSE_ALV_COMMENTARY_WRITE : This is used in the Top-of-page event to print the headings and other comments for the list.
    Parameters :
    I. it_list_commentary : internal table with the headings of the type slis_t_listheader.
    This internal table has three fields :
    Typ : ‘H’ – header, ‘S’ – selection , ‘A’ - action
    Key : only when typ is ‘S’.
    Info : the text to be printed
    E. REUSE_ALV_GRID_DISPLAY : A new function in 4.6 version, to display the results in grid rather than as a preview.
    Parameters : same as reuse_alv_list_display
    This is an example for simple list.
    2. BLOCK REPORT
    This is used to have multiple lists continuously.
    The important functions used in this report are:
    A. REUSE_ALV_BLOCK_LIST_INIT
    B. REUSE_ALV_BLOCK_LIST_APPEND
    C. REUSE_ALV_BLOCK_LIST_HS_APPEND
    D. REUSE_ALV_BLOCK_LIST_DISPLAY
    A. REUSE_ALV_BLOCK_LIST_INIT
    Parameters:
    I. I_CALLBACK_PROGRAM
    II. I_CALLBACK_PF_STATUS_SET
    III. I_CALLBACK_USER_COMMAND
    This function module is used to set the default gui status etc.
    B. REUSE_ALV_BLOCK_LIST_APPEND
    Parameters :
    Export :
    I. is_layout : layout settings for block
    II. it_fieldcat : field catalog
    III. i_tabname : internal table name with output data
    IV. it_events : internal table with all possible events
    Tables :
    i. t_outtab : internal table with output data.
    This function module adds the data to the block.
    Repeat this function for all the different blocks to be displayed one after the other.
    C. REUSE_ALV_BLOCK_LIST_HS_APPEND
    This function module is used for hierarchical sequential blocks.
    D. REUSE_ALV_BLOCK_LIST_DISPLAY
    Parameters : All the parameters are optional.
    This function module display the list with data appended by the above function.
    Here the functions REUSE_ALV_FIELDCATALOG_MERGE, REUSE_ALV_EVENTS_GET, REUSE_ALV_COMMENTARY_WRITE can be used.
    3. Hierarchical reports :
    Hierarchical sequential list output.
    The function module is
    A. REUSE_ALV_HIERSEQ_LIST_DISPLAY
    Parameters:
    I. Export:
    i. I_CALLBACK_PROGRAM
    ii. I_CALLBACK_PF_STATUS_SET
    iii. I_CALLBACK_USER_COMMAND
    iv. IS_LAYOUT
    v. IT_FIELDCAT
    vi. IT_EVENTS
    vii. i_tabname_header : Name of the internal table in the program containing the
    output data of the highest hierarchy level.
    viii. i_tabname_item : Name of the internal table in the program containing the
    output data of the lowest hierarchy level.
    ix. is_keyinfo : This structure contains the header and item table field
    names which link the two tables (shared key).
    II. Tables
    i. t_outtab_header : Header table with data to be output
    ii. t_outtab_item : Name of the internal table in the program containing the
    output data of the lowest hierarchy level.
    slis_t_fieldcat_alv : This internal table contains the field attributes. This internal table can be populated automatically by using ‘REUSE_ALV_FIELDCATALOG_MERGE’.
    Important Attributes :
    A. col_pos : position of the column
    B. fieldname : internal fieldname
    C. tabname : internal table name
    D. ref_fieldname : fieldname (dictionary)
    E. ref_tabname : table (dictionary)
    F. key(1) : column with key-color
    G. icon(1) : icon
    H. symbol(1) : symbol
    I. checkbox(1) : checkbox
    J. just(1) : (R)ight (L)eft (C)ent.
    K. do_sum(1) : sum up
    L. no_out(1) : (O)blig.(X)no out
    M. outputlen : output length
    N. seltext_l : long key word
    O. seltext_m : middle key word
    P. seltext_s : short key word
    Q. reptext_ddic : heading (ddic)
    R. ddictxt(1) : (S)hort (M)iddle (L)ong
    S. datatype : datatype
    T. hotspot(1) : hotspot
    some theory regarding alv:
    This table tells ALV which events are processed by the caller by CALLBACK.
    The table of possible events per list type can be initialized using the module REUSE_ALV_EVENTS_GET.
    You can display the names of the constants in the type pools SLIS which represent the individual events using the individual test function in the function module
    REUSE_ALV_EVENT_NAMES_GET. Only events with a form routine name are processed.
    The table structure contains the fields:
    • IT_EVENTS-NAME
    Name of the Callback event.
    Possible Callback events:
    • Action
    USER_COMMAND USING R_UCOMM LIKE SY-UCOMM RS_SELFIELD TYPE SLIS_SELFIELD
    Process actions on the list
    As this is a frequently-used Callback event, the form routine can also be passed directly in the interface in the IMPORTING parameter I_CALLBACK_USER_COMMAND.
    PF_STATUS_SET USING RT_EXTAB TYPE SLIS_T_EXTAB
    If a user list status is to be set, it must be done in the form routine assigned to this event. The ALV function codes, which must not be active, are in the Parameter RT_EXTAB. This table must be passed with the SET PF-STATUS command (with inactive user function codes as well, if necessary).
    The STANDARD status of the function group SALV should be used as a template for a user-specific status.
    As this is a frequently-used Callback event, its form routine can also be passed directly in the interface in the IMPORTING parameter I_CALLBACK_PF_STATUS_SET.
    ITEM_DATA_EXPAND USING RS_SELFIELD TYPE SLIS_SELFIELD RFLG_ALL TYPE C
    Only relevant for hierarchical-sequential lists using the layout parameter IS_LAYOUT-EXPAND_FIELDNAME of the structure IS_LAYOUT.
    Exit for passing item entries (ITEM table) for a header record which was expanded interactively by the user.
    RS_SELFIELD-TABINDEX contains the header table index for which the item entries are to be put in the global item output table (T_OUTTAB_SLAVE). The Callback is only called if ALV has no items for a header which is to be expanded.
    RFLG_ALL is passed with 'X' if the user shows all items. The application must ensure that entries are not repeated in the item table. RS_SELFIELD is initial in this case.
    CALLER_EXIT USING RS_DATA Is called at the beginning of the function module to make special settings. It is not usually used.
    • List processing events
    IMPORTANT: The application Callback routine must not manipulate the internal output table and/or its header record. This restriction applies to all Callbacks which are called in the list output and run under the 'List processing events'.
    TOP_OF_LIST no USING parameter. Information output at the start of the list
    END_OF_LIST no USING parameter. Information output at the end of the list
    TOP_OF_PAGE no USING parameter
    Equivalent to the list processing TOP-OF-PAGE event
    END_OF_PAGE no USING parameter. Not available for hierarchical-sequential lists.
    Information output at the end of a page. This is only called for printing.
    TOP_OF_COVERPAGE no USING parameter
    The selection information and list status are output together (if they exist) on a separate page by default. See also the documentation of the parameters:
    IS_PRINT-NO_COVERPAGE
    IS_PRINT-NO_PRINT_SELINFOS
    IS_PRINT-NO_PRINT_LISTINFOS
    IS_LAYOUT-GET_SELINFOS
    The user can format the header area of the 'cover page' himself or herself by specifying a Callback routine for this event.
    END_OF_COVERPAGE no USING parameter
    Analogously to TOP_OF_COVERPAGE the user can add other information to the information output by ALV (selection information, list status) at this event.
    FOREIGN_TOP_OF_PAGE no USING parameter
    The Top-of-page event is always processed in ALV and is only passed to the caller via the Callback mechanism. This is still the case if the caller, e.g. by a user action, processes a branch list which was not formatted by ALV (e.g. a popup with additional information about the list record selected and displayed by ALV).
    In this case, top-of-page cannot be formatted by ALV analogously to the basic list, it must be handled completely by the caller. The event top-of-page still occurs in ALV. When ALV notices a top-of-page which was not caused by an ALV output, the form routine in FOREIGN_TOP_OF_PAGE is called.
    FOREIGN_END_OF_PAGE no USING parameter
    The event end-of-page is always processed in ALV and only passed to the caller via callback. This is still the case, e.g. when the caller processes a details list which was not formatted by ALV (e.g. a popup with further information about selected list records which were displayed by ALV).
    In this case, end-of-page cannot be formatted by ALV analogously to the basic list, it must be handled completely by the caller. The event end-of-page still occurs in ALV. When ALV notices an end-of-page that was not caused by an ALV output, the form routine in FOREIGN_END_OF_PAGE is called.
    BEFORE_LINE_OUTPUT USING RS_LINEINFO TYPE SLIS_LINEINFO
    Output information before each output line. Should only be used in justified cases because it costs a lot of performance.
    AFTER_LINE_OUTPUT USING RS_LINEINFO TYPE SLIS_LINEINFO
    Output information after each output line. Should only be used in justified cases because it costs a lot of performance.
    • Internal use only
    LIST_MODIFY USING R_TABNAME TYPE SLIS_TABNAME
    R_INDEX LIKE SY-TABIX
    R_INDEX_ITEM LIKE SY-TABIX
    R_INDEX_SUM LIKE SY-TABIX
    • IT_EVENTS-FORM
    Name of the form routine which should be called in the calling program at the event.
    Field_catalog:
    Field catalog with field descriptions
    2.7.1. Description
    Field catalog containing descriptions of the list output fields (usually a subset of the internal output table fields). A field catalog is required for every ALV list output.
    The field catalog for the output table is built-up in the caller's coding. The build-up can be completely or partially automated by calling the REUSE_ALV_FIELDCATALOG_MERGE module
    See also the documentation of the function module REUSE_ALV_FIELDCATALOG_MERGE.
    The minimal field catalog is documented under 'default'. The caller can use the other optional parameters to assign output attributes to a field which differ from the default.
    A field catalog need not be built-up and passed explicitly only under the following conditions:
    • The internal table to be output has the same structure as a Data Dictionary structure which is referred to in the internal table declaration using LIKE or INCLUDE STRUCTURE.
    • all fields in this structure are to be output
    • the structure name is passed to ALV in the parameter I_STRUCTURE_NAME.
    See also the documentation of the IMPORTING paramter I_STRUCTURE_NAME.
    Positioning
    • row_pos (row position)
    value set: 0, 1 - 3
    Only relevant if the list output is to be multi-line (two or three lines) by default.
    A multi-line list can also be defined by the user interactively if the default list is one-line.
    The parameter specifies the relative output line of the column in a multi-line list.
    • col_pos (column position)
    value set: 0, 1 - 60
    only relevant when the default relative column positions differ from the field catalog field sequence. The parameter specifies the relative column position of the field in the list output. The column order can be changed interactively by the user. If this parameter is initial for all field catalog entries, columns appear in the field catalog field sequence.
    Identification
    • fieldname (field name)
    value set: internal output table field name (required parameter)
    Name of the internal output table field which is described by this field catalog entry
    • tabname (internal output table)
    value set: SPACE, internal output table name
    This parameter is used in 'manual' field catalog build-up only for hierarchical-sequential lists.
    Name of the internal output table which contains the field FIELDCAT-FIELDNAME.
    Data Dictionary reference
    • ref_fieldname (reference field name)
    value set: SPACE, Data Dictionary field name
    Name of the Data Dictionary field referred to.
    This parameter is only used when the internal output table field described by the current field catalog entry has a reference to the Data Dictionary (not a program field), and the field name in the internal output table is different from the name of the field in the Data Dictionary. If the field names are identical, naming the Data Dictionary structure or table in the FIELDCAT-REF_TABNAME parameter is sufficient.
    • ref_tabname (reference table/structure field name)
    value set: SPACE, name of a Data Dictionary structure or table
    Structure or table name of the referred Data Dictionary field.
    This parameter is only used when the internal output table field described by the current field catalog entry has a Data Dictionary reference (not a program field).
    Reference to fields with currency/measurement unit
    Each internal output table sum or quantity field whose decimal places are to be formatted appropriately for the unit in the list must follow the convention:
    • the field is of data type QUAN or CURR (internal type P) (the field must really have this physical data type. Overwriting the physical data type with the parameter FIELDCAT-DATATYPE has no effect)
    • There is a field in the internal output table which contains the associated unit.
    • There is also an entry in the field catalog for the unit field.
    (If the unit is not to appear as a column in the list, and cannot be interactively displayed as a column, e.g. because it is always unambiguous and is therefore explicitly output by the caller in the list header, the field catalog units field entry can take the parameter FIELDCAT-TECH = 'X'.
    The association of a value field to a unit affects the output as follows:
    • appropriate decimal places display for the unit
    • an initialized field with a link to a non-initial unit is output as '0' for the unit (if FIELDCAT-NO_ZERO is initial). When this field is summed, this unit affects whether the units are homogeneous.
    • an initialized field with a link to an initial unit is output as SPACE. When this field is summed, the unit SPACE does not affect the homogeneity of the units.
    • When non-initial fields with an initial unit are summed, the unit SPACE is considered to be a unit.
    Link to currency unit
    • cfieldname (currency unit field name)
    value set: SPACE, output table field name
    Only relevant for amount columns with associated unit.
    Name of the internal output table field containing the currency unit associated with the amount field FIELDCAT-FIELDNAME. The field in FIELDCAT-CFIELDNAME must have its own field catalog entry.
    • ctabname (internal currency unit field output table)
    value set: SPACE, output table field name
    only relevant for hierarchical-sequential lists
    Name of the internal output table containing the FIELDCAT-CFIELDNAME field.
    Link to measurement unit
    • qfieldname (measurement unit field name)
    value set: SPACE, output table field name
    only relevant for quantity columns with unit link.
    Name of the internal output table field containing the measurement unit associated with the quantity field FIELDCAT-FIELDNAME.
    The field in FIELDCAT-QFIELDNAME must have its own field catalog entry.
    • qtabname (internal measurement unit field output table)
    value set: SPACE, output table field name
    only relevant for hierarchical-sequential lists
    Name of the internal output table containing the FIELDCAT-QFIELDNAME field.
    Column output options
    • outputlen (column width)
    value set: 0 (initial), n
    For fields with a Data Dictionary link this parameter can be left initial.
    For fields without a Data Dictionary link (program field) the parameter must be given the value of the desired field list output length (column width).
    initial = column width is the output length of the referred Data Dictionary field (domain).
    n = column width is n characters
    • key (key column)
    value set: SPACE, 'X' 'X' = kex field (key field output in color)
    Key fields can not be interactively hidden. Parameter FIELDCAT-NO_OUT must be left initial.
    For exceptions see the documentation of the FIELDCAT-KEY_SEL parameter.
    • key_sel (hideable key column)
    value set: SPACE, 'X'
    only relevant when FIELDCAT-KEY = 'X'
    Key field which can be hidden interactively.
    The key column sequence cannot be changed interactively by the user.
    The output is controlled by the FIELDCAT-NO_OUT parameter analogously to non-key fields.
    • no_out (field in field list)
    value set: SPACE, 'X' 'X' = field is not displayed in the current list.
    The user can interactively choose the field for output from the field list.
    The user can display the contents of these fields at line level using the 'Detail' function.
    See also the 'Detail screen' documentation of the parameter IS_LAYOUT.
    • tech (technical field)
    value set: SPACE, 'X' 'X' = technical field
    Field cannot be output in the list and cannot be displayed interactively.
    Field can only be used in the field catalog (not in IT_SORT, ...).
    • emphasize (highlight columns in color)
    value set: SPACE, 'X' or 'Cxyz' (x:'1'-'9'; y,z: '0'=off '1'=on)
    'X' = column is colored with the default column highlight color.
    'Cxyz' = column is colored with a coded color:
    • C: Color (coding must begin with C)
    • x: color number
    • y: bold
    • z: inverse
    • hotspot (column as hotspot)
    value set: SPACE, 'X'
    'X' = column cells are output as hotspots
    • fix_column (fix column)
    value set: SPACE, 'X'
    Not relevant for block lists (output of several lists consecutively)
    'X' = column fixed (does not scroll horizontally)
    All columns to be fixed must have this flag, starting from the left. If a column without this flag is output, only the columns to the left of this column are fixed. The user can change the column fixing interactively. See also the documentation of the Layout parameter
    IS_LAYOUT-NO_KEYFIX of the IMPORTING paramter IS_LAYOUT.
    • do_sum (sum over column)
    value set: SPACE, 'X' 'X' = a sum is to be calculated over this internal output table field.
    This function can also be called by the user interactively.
    • no_sum (sums forbidden)
    value set: SPACE, 'X' 'X' = no sum can be calculated over this field, although the data type of the field would allow summing.
    • input (column ready for input)
    Function not available
    Format column contents
    • icon
    value set: SPACE, 'X' 'X' = column contents to be output as an icon.
    The caller must consider the printability of icons.
    • symbol
    value set: SPACE, 'X' 'X' = column contents are to be output as a symbol.
    The internal output table column must be a valid symbol character.
    The caller must consider the printability of symbols.
    Symbols can usually be printed, but may not always be output correctly, depending on the printer configuration.
    • just (justification)
    value set: SPACE, 'R', 'L', 'C'
    Only relevant for fields of data type CHAR or NUMC
    ' ' = default justification for this data type
    'R' = right-justified output
    'L' = left-justified output
    'C' = centered output
    The justification of the column header always follows the justification of the columns. Independent justification of the column neader is not possible.
    • lzero (leading zeros)
    value set: SPACE, 'X'
    Only relevant for fields of data type NUMC
    ALV outputs NUMC fields right-justified without leading zeros by default.
    'X' = output with leading zeros
    Note: If a NUMC field is output left-justified or centered by FIELDCAT-JUST, leading zeros are output. If the output of leading zeros is suppressed by a Data Dictionary reference ALPHA conversion exit, the output is always left-justified.
    • no_sign (no +/- sign) Only relevant for value fields
    value set: SPACE, 'X' 'X' = value output without +/ sign
    • no_zero (suppress zeros) Only relevant for value fields
    value set: SPACE, 'X' 'X' = suppress zeros
    • edit_mask (field formatting)
    value set: SPACE, template
    template = see documentation of WRITE formatting option USING EDIT MASK template
    The output conversion conv can be made by template = '== conv'.
    Texts
    The following text parameters should be specified for program fields without a Data Dictionary reference. The texts are taken from the Data Dictionary for fields with a Data Dictionary reference. If this is not desired, the text parameters can also be specified. The Data Dictionary texts are then ignored. If the user changes the column width interactively, the column header text with the appropriate length is always used. The interactive function 'Optimize column width' takes account of both the field contents and the column headers: if all field contents are shorter than the shortest column header, the column width depends on the column header.
    The 'long field label' is also used in display variant definition, sort, etc. popups.
    • seltext_l (long field label)
    • seltext_m (medium field label)
    • seltext_s (short field label)
    • reptext_ddic (header)
    analogous to the Data element maintenance 'Header'
    The specified text is not necessarily output in the list, an optimum among all texts is sought.
    • ddictxt (specify text)
    value set: SPACE, 'L', 'M', 'S'
    You can specify with values 'L', 'M', and 'S', the keyword that should always be used as column header. If the column width changes, no attempt is made in this case to find an appropriate header for the new output width.
    Parameters for program fields without Data Dictionary reference
    see also 'Text' parameters
    • datatype (data type)
    value set: SPACE, Data Dictionary data type (CHAR, NUMC,...)
    Only relevant for fields without Data Dictionary reference
    Program field data type
    • ddic_outputlen (external output length)
    value set: 0 (initial), n
    Only relevant for fields without Data Dictionary reference whose output is nevertheless to be modified by a conversion exit.
    Prerequisites:
    • FIELDCAT-EDIT_MASK = '==conv'
    see also the documentation of the parameter FIELDCAT-EDIT_MASK
    • FIELDCAT-INTLEN = n
    see also the documentation of the parameter FIELDCAT-INTLEN
    n = external format field output length
    The column width FIELDCAT-OUTPUTLEN need not be the same as the external format output length (FIELDCAT-DDIC_OUTPUTLEN).
    • intlen (internal output length)
    value set: 0 (initial), n
    Only relevant for fields without Data Dictionary reference whose output is nevertheless to be modified by a conversion exit.
    Prerequisites:
    • FIELDCAT-EDIT_MASK = '==conv'
    see also the documentation of the parameter FIELDCAT-EDIT_MASK
    • FIELDCAT-DDIC_OUTPUTLEN = n
    see also the documentation of the parameter FIELDCAT-DDIC_OUTPUTLEN
    n = internal format field output length
    • rollname (data element)
    value set: SPACE, Data Dictionary data element name
    F1 help can be provided for a program field without a Data Dictionary reference, or F1 help which differs from the Data Dictionary help can be provided for a field with a Data Dictionary reference, using this parameter.
    When F1 help is called for this field, the documentation of the specified data element is displayed.
    If the FIELDCAT-ROLLNAME is initial for fields with a Data Dictionary reference, the documentation of the data element of the referred Data Dictionary field is output.
    Others
    • sp_group (field group key)
    value set: SPACE, CHAR(1)
    Field group key.
    Keys are assigned to group names in the IT_SPECIAL_GROUPS parameter (see also the documentation of the parameter IT_SPECIAL_GROUPS).
    When such an assignment is made in the field catalog and in IT_SPECIAL_GROUPS, the fields are grouped correspondingly in the display variant popup.
    • reprep (Report/Report interface selection criterion)
    value set: SPACE, 'X'
    Prerequisites:
    • The system contains the Report/Report interface (function group RSTI, table TRSTI)
    • Parameter LAYOUT-REPREP = 'X'
    (see also the documentation of the parameter LAYOUT-REPREP of the IMPORTING parameter IS_LAYOUT )
    'X' = When the Report/Report interface is called, the value of this field is passed in the selected interface start record as a selection criterion.
    2.7.2. Default
    • The following entries are usually sufficient for internal table fields with a reference to a field defined in the Data Dictionary :
    • fieldname
    • ref_tabname
    Notes:
    ALV gets the remaining information from the Data Dictionary.
    If no relative column position (COL_POS) is specified, the fields are output in the list in the order in which they were added to the field catalog.
    REF_FIELDNAME need only be specifid when the name of the internal table field differs from the name of the referred Data Dictionary field.
    Information which is explicitly entered in the field catalog is not overwritten by information from the Data Dictionary.
    Priority rule:
    Entries in the field catalog have priority over differing entries in the Data Dictionary.
    • The following entries are usually sufficient for internal table fields without a reference to the Data Dictionary (program fields):
    • fieldname
    • outputlen
    • datatype
    • seltext_s
    • seltext_m
    • seltext_l
    Notes:
    F1 help can be provided for program fields by assigning a data element to the parameter ROLLNAME.
    If the parameters SELTEXT_S, SELTEXT_M, SELTEXT_L, and REPTEXT_DDIC contain appropriate field labels, the program field column headers are also adjusted appropriately when the column width changes
    sites :
    http://www.sapdevelopment.co.uk/reporting/alv/alv_variousfcat.htm
    <b>plese reward if useful </b>
    Message was edited by:
            sunil kairam

  • What is the function module used to send an email

    hi
    what is the function module used to send an email

    Hello,
    Try this, It will help you. Sure.
    Regards,
    Rakesh.
    CLASS cl_abap_char_utilities DEFINITION LOAD.
      CONSTANTS:
      con_tab TYPE c VALUE cl_abap_char_utilities=>horizontal_tab,
      con_cret TYPE c VALUE cl_abap_char_utilities=>cr_lf.
      TYPES: BEGIN OF typ_item,
             asno(10) TYPE c,
             matnr TYPE mseg-matnr,
             maktx TYPE makt-maktx,
             menge TYPE mseg-menge,
             meins TYPE mseg-meins,
             END OF typ_item.
      DATA: wrk_menge(17) TYPE c.
      DATA: sum_srno TYPE i VALUE 0.
      DATA: wrk_srno TYPE n.
    *Internal tables
      DATA: it_std_objhdr  TYPE TABLE OF solisti1.
      DATA: it_std_objcnt  TYPE TABLE OF solisti1.
      DATA: it_std_rcvlst  TYPE TABLE OF somlreci1.
      DATA: it_std_objtxt  TYPE TABLE OF solisti1..
      DATA: it_std_objpack TYPE TABLE OF sopcklsti1 .
      DATA: it_std_cntbin  TYPE TABLE OF solisti1.
      DATA: it_std_items TYPE TABLE OF typ_item.
      DATA: is_items LIKE LINE OF it_std_items.
    *  DATA: it_attachment LIKE solisti1 OCCURS 0 WITH HEADER LINE.
    *  DATA: wa_attachment TYPE solisti1.
    * Internal structures
      DATA: is_docdata LIKE sodocchgi1.
      DATA: is_objhdr  LIKE LINE OF it_std_objhdr.
      DATA: is_objcnt  LIKE LINE OF it_std_objcnt.
      DATA: is_rcvlst  LIKE LINE OF it_std_rcvlst.
      DATA: is_objtxt  LIKE LINE OF it_std_objtxt.
      DATA: is_objpack LIKE LINE OF it_std_objpack.
      DATA: is_cntbin  LIKE LINE OF it_std_cntbin.
    *Work variables
      DATA: wrk_lines TYPE i.
      is_docdata-obj_descr = 'Movement of parts to processor'.
    *Cover letter of the mail
      is_objtxt = 'Dear Sir,'.
      APPEND is_objtxt TO it_std_objtxt.
      is_objtxt = ' '.
      APPEND is_objtxt TO it_std_objtxt.
      is_objtxt = text-001.
      APPEND is_objtxt TO it_std_objtxt.
      is_objtxt = text-002.
      APPEND is_objtxt TO it_std_objtxt.
      is_objtxt = text-003.
      APPEND is_objtxt TO it_std_objtxt.
      is_objtxt = ' '.
      APPEND is_objtxt TO it_std_objtxt.
      is_objtxt = 'Thanks n Regards,'.
      APPEND is_objtxt TO it_std_objtxt.
      is_objtxt = ' '.
      APPEND is_objtxt TO it_std_objtxt.
      is_objtxt = 'abc MOTORS'.
      APPEND is_objtxt TO it_std_objtxt.
    * Write Packing List (Main)
      DESCRIBE TABLE it_std_objtxt LINES wrk_lines.
      READ TABLE it_std_objtxt INTO is_objtxt INDEX wrk_lines.
      is_docdata-doc_size = ( wrk_lines - 1 ) * 255 + STRLEN( is_objtxt ).
      CLEAR is_objpack-transf_bin.
      is_objpack-head_start = 1.
      is_objpack-head_num   = 0.
      is_objpack-body_start = 1.
      is_objpack-body_num   = wrk_lines.
      is_objpack-doc_type   = 'RAW'.
      APPEND is_objpack TO it_std_objpack.
      BREAK-POINT.
    *loop for selecting the data into contents bin//// Excel.
      CONCATENATE 'SRNO' 'ASN no:' 'PARTNO' 'PART DESCRIPTION'
                  'QUANTITY' 'UNIT' INTO is_cntbin
      SEPARATED BY con_tab.
      CONCATENATE con_cret is_cntbin INTO is_cntbin.
      APPEND is_cntbin TO it_std_cntbin.
      LOOP AT it_std_items INTO is_items.
        sum_srno = sum_srno + 1.
        wrk_menge = is_items-menge.
        wrk_srno  = sum_srno.
        CONCATENATE wrk_srno is_items-asno is_items-matnr is_items-maktx
        wrk_menge is_items-meins
        INTO is_cntbin SEPARATED BY con_tab.
        CONCATENATE con_cret is_cntbin INTO is_cntbin.
        APPEND is_cntbin TO it_std_cntbin.
      ENDLOOP.
    *To be implemented later
    *  CONCATENATE 'EBELN' 'EBELP' 'AEDAT' 'MATNR'
    *  INTO it_attach SEPARATED BY con_tab.
    *  CONCATENATE con_cret it_attach INTO it_attach.
    *  APPEND it_attach.
    *  LOOP AT it_ekpo INTO wa_charekpo.
    *    CONCATENATE wa_charekpo-ebeln wa_charekpo-ebelp
    *    wa_charekpo-aedat wa_charekpo-matnr
    *    INTO it_attach SEPARATED BY con_tab.
    *    CONCATENATE con_cret it_attach INTO it_attach.
    *    APPEND it_attach.
    *  ENDLOOP.
    *ENDFORM. " BUILD_XLS_DATA_TABLE
      DESCRIBE TABLE it_std_cntbin LINES wrk_lines.
      READ TABLE it_std_cntbin INTO is_cntbin INDEX wrk_lines.
      is_objpack-doc_size   = ( wrk_lines - 1 ) * 255 +
                               STRLEN( is_cntbin ).
      is_objpack-transf_bin = 'X'.
      is_objpack-head_start = 1.
      is_objpack-head_num   = 0.
      is_objpack-body_start = 1.
      is_objpack-body_num   = wrk_lines.
      is_objpack-doc_type   = 'XLS'.
      is_objpack-obj_name   = 'Document File'.
      is_objpack-obj_descr  = 'Document File'.
      APPEND is_objpack TO it_std_objpack.
    *Start of testing code
      IF sy-uname = 'DEVELOPER'.
        is_rcvlst-receiver = sy-uname.
        is_rcvlst-rec_type = 'B'.
        is_rcvlst-express  = 'X'.
        APPEND is_rcvlst TO it_std_rcvlst.
        CLEAR is_rcvlst.
      ENDIF.
    *End of testing code
    *Creating the recepient list
      is_rcvlst-receiver = '[email protected]'.
      is_rcvlst-rec_type = 'U'.
      is_rcvlst-express  = 'X'.
      is_rcvlst-com_type = 'INT'.
      APPEND is_rcvlst TO it_std_rcvlst.
      is_rcvlst-receiver = '[email protected]'.
      is_rcvlst-copy     = 'X'.
      is_rcvlst-rec_type = 'U'.
      is_rcvlst-express  = 'X'.
      is_rcvlst-com_type = 'INT'.
      APPEND is_rcvlst TO it_std_rcvlst.
      BREAK-POINT.
      CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
        EXPORTING
          document_data                    = is_docdata
       put_in_outbox                    = 'X'
       commit_work                      = 'X'
    * IMPORTING
    *   SENT_TO_ALL                      =
    *   NEW_OBJECT_ID                    =
        TABLES
          packing_list                     = it_std_objpack
    *   OBJECT_HEADER                    =
       contents_bin                     = it_std_cntbin
       contents_txt                     = it_std_objtxt
    *   CONTENTS_HEX                     =
    *   OBJECT_PARA                      =
    *   OBJECT_PARB                      =
          receivers                        = it_std_rcvlst
    * EXCEPTIONS
    *   TOO_MANY_RECEIVERS               = 1
    *   DOCUMENT_NOT_SENT                = 2
    *   DOCUMENT_TYPE_NOT_EXIST          = 3
    *   OPERATION_NO_AUTHORIZATION       = 4
    *   PARAMETER_ERROR                  = 5
    *   X_ERROR                          = 6
    *   ENQUEUE_ERROR                    = 7
    *   OTHERS                           = 8
      IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      COMMIT WORK.

  • I have a new laptop and want to transfer my itunes music across from the old one. What's the easiest /quickest method?

    I have a new laptop and want to transfer my itunes music across from the old one. What's the easiest /quickest method?

    Refer to this article:
    iTunes: Back up your iTunes library by copying to an external hard drive
    http://support.apple.com/kb/HT1751

Maybe you are looking for

  • Acrobat 9 Pro Portfolio Editing Tools Disappeared?

    Hello, I created a portfolio in Acrobat 9 Pro. I saved the file. When I reopen the file, all of my editing tools which are usually in a menu bar on the top of the document, are no longer available to me, ie. the "form", "multi-media" tabs. There is o

  • OS X Mavericks won't let me view a slide show on PPT

    I upgraded my Mac to the OS X Mavericks few days ago. But, now I'm having issues with my PowerPoint slide show. When I click to view a slide show, my screen completely turns black. Also, I found my laptop to be slow and freezing at sometimes. I read

  • New iMacs - 27" i3 vs 27"i5

    I'm getting a new iMac and want to know how much of a difference in processing speed there will be between the i3 which has 2 cores on one processor and the 15 which has 4 cores. I'm planning on getting 16gb of ram for whichever one I get I'm a desig

  • Failed to install VirtualBox Guest Addition on Oracle Linux 6.1

    I can successfully install Oracle Linux 6.1 on VirtualBox 4.1. But failed to install VirtualBox Guest Additions with the following message: Building the main Guest Additions module [FAILED]. All other modules installed ok.

  • IPod touch and "Archive and Install"

    I recently had to perform an "Archive and Install" on my hard drive. Before that, I had been using an 80gb iPod Classic and using an 8gb iPod Touch on the same iTunes library. iPod Classic for music and the Touch for movies and internet. Since I perf