How to Use a Grid to Capture Icon Placement?

Hi,
I'm working on an application that uses a 4 quadrant image as a layer.  There are numerous icons that need to be dragged by the user onto one of the 4 quadrants.  I need to save which icons were placed in each quadrant of the image.  Can I overlay a grid control that has each quadrant identified as a variable?  How would I go about saving to a new variable the icon name that was dragged and the quadrant name/number onto which it was placed?
Thanks,
Sid

ap_TonyTony: Though the attached file went a huge way toward helping, there's just one little caveat I haven't been able to iron out. To simplify things to the main problem, I brought in a clip with the things I'd like tracked into your project file and analyzed the marker point, just as I had been with my own project. One major difference, though, is you're somehow able to use the rectangle object itself, with the Match Move data attached, as the target of the Track Points behavior and I'm limited to using the rectangle object's Match Move data alone. That doesn't seem like a big deal, but if I'd like to, say, point at several things and have the arrow gracefully rotate between them and not abruptly move from Track Points behavior to Track Points behavior as they do the way I'm doing it, I can't do that. In your project file, I was able to easily keyframe the position change of the rectangle and the arrow followed it while continuing to motion track; it didn't interfere.
So I guess the question to answer is this: Why, in your project file, can the rectangle be put in the Track Points' "Source" well and have its Match Move data be used, and I have to put the rectangle's Match Move data in the well because the Track Point behavior doesn't pick up on the Match Move if I don't? I can attempt to word that more simply, if necessary.

Similar Messages

  • How to use ALV Grid?

    Hi,
    I am totally new to ALV Grids. Could you give a full example of creating a ALV Grid with 2 columns, thinking there is a internal table itab with itab-col1 & itab-col2. Please start from initialising variables and onwards.
    Thanks,
    Kishan

    Hi,
    Simple example of how to implement an ALV grid
    Note that this example uses table ZSFLIGHT. The table is equivalent to the table SFLIGHT.
    Steps:
    1.        Create an executable program (Report)
    2.        Create a screen (100) and place a custom container named ALV_CONTAINER on the screen
    3.        Create a Pushbutton. Give it the text Exit and the functioncode EXIT
    REPORT sapmz_hf_alv_grid .
    TABLES: zsflight.
    G L O B A L   I N T E R N  A L   T A B L E S
    DATA: gi_sflight TYPE STANDARD TABLE OF sflight.
    G L O B A L   D A T A
    DATA: ok_code LIKE sy-ucomm,
    g_wa_sflight LIKE sflight.
    Declare reference variables to the ALV grid and the container
    DATA:
    go_grid             TYPE REF TO cl_gui_alv_grid,
    go_custom_container TYPE REF TO cl_gui_custom_container.
    S T A R T - O F - S E L E C T I O N.
    START-OF-SELECTION.
    SET SCREEN '100'.
    *&      Module  USER_COMMAND_0100  INPUT
    MODULE user_command_0100 INPUT.
    CASE ok_code.
    WHEN 'EXIT'.
    LEAVE TO SCREEN 0.
    ENDCASE.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    *&      Module  STATUS_0100  OUTPUT
    MODULE status_0100 OUTPUT.
    Create objects
    IF go_custom_container IS INITIAL.
    CREATE OBJECT go_custom_container
    EXPORTING container_name = 'ALV_CONTAINER'.
    CREATE OBJECT go_grid
    EXPORTING
      i_parent = go_custom_container.
    PERFORM load_data_into_grid.
    ENDIF.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    *&      Form  load_data_into_grid
    FORM load_data_into_grid.
    Read data from table SFLIGHT
    SELECT *
    FROM zsflight
    INTO TABLE gi_sflight.
    Load data into the grid and display them
    CALL METHOD go_grid->set_table_for_first_display
    EXPORTING i_structure_name = 'SFLIGHT'
    CHANGING  it_outtab        = gi_sflight.
    ENDFORM.                    " load_data_into_grid
    Allow the user to save and reuse the layout
    A button can be shown on the grid toolbar, allowing the user to save and reuse a layout. The button looks like this: 
    See also example in SAP standard program BCALV_GRID_09.
    To do this use the parameters IS_VARIANT and I_SAVE of the set_table_for_first_display method. Note that the IS_VARIANT
    parameter must have the structure DISVARIANT.
    The I_SAVE "Options for saving layouts" parameter can have the following values:
    ·        U Only user specific layouts can be saved
    ·        X Only global layouts can be saved
    ·        A Both user specific and global layouts can be saved
    ·        Space Layouts can not be saved
    Add the following code to the example:
    FORM load_data_into_grid.
    DATA:
      For parameter IS_VARIANT
    l_layout TYPE disvariant.
    Code..........    
    Load data into the grid and display them
    l_layout-report = sy-repid.
    CALL METHOD go_grid->set_table_for_first_display
    EXPORTING i_structure_name = 'SFLIGHT'
         is_variant       = l_layout
         i_save           = 'A'
    CHANGING  it_outtab        = gi_
    Integrate user defined functions in the grid toolbar
    Possibilities:
    ·        Replace existing functions in the toolbar or context men with user defined functions
    ·        Add new functions to the toolbar or context menu
    Note that the whole toolbar can be removed using the IT_TOOLBAR_EXCLUDING parameter of the set_table_for_first_display
    method.
    See also example in SAP standard program BCALV_GRID_05
    1) To get access to the icons insert the following statement in the top of the program:
    TYPE-POOLS: icon.
    2) To allow the declaration of o_event_receiver before the lcl_event_receiver class is defined, declare it as deferred in the start of
    the program
    To allow the declaration of o_event_receiver before the lcl_event_receiver class is defined, declare it as deferred in the
    start of the program
    CLASS lcl_event_receiver DEFINITION DEFERRED.
    3) Declare reference to the event handler class
    DATA:
    o_event_receiver TYPE REF TO lcl_event_receiver.
    4) Class for event receiver. This class adds the new button to the toolbar and handles the event when the button is pushed
    CLASS lcl_event_receiver DEFINITION.
    PUBLIC SECTION.
    METHODS:
    handle_toolbar FOR EVENT toolbar OF cl_gui_alv_grid
    IMPORTING
    e_object e_interactive,
    handle_user_command FOR EVENT user_command OF cl_gui_alv_grid
    IMPORTING e_ucomm.
    ENDCLASS.
          CLASS lcl_event_receiver IMPLEMENTATION
    CLASS lcl_event_receiver IMPLEMENTATION.
    METHOD handle_toolbar.
    Event handler method for event toolbar.
    CONSTANTS:
    Constants for button type
    c_button_normal           TYPE i VALUE 0,
    c_menu_and_default_button TYPE i VALUE 1,
    c_menu                    TYPE i VALUE 2,
    c_separator               TYPE i VALUE 3,
    c_radio_button            TYPE i VALUE 4,
    c_checkbox                TYPE i VALUE 5,
    c_menu_entry              TYPE i VALUE 6.
    DATA:
    ls_toolbar  TYPE stb_button.
      Append seperator to the normal toolbar
    CLEAR ls_toolbar.
    MOVE c_separator TO ls_toolbar-butn_type..
    APPEND ls_toolbar TO e_object->mt_toolbar.
      Append a new button that to the toolbar. Use E_OBJECT of
      event toolbar. E_OBJECT is of type CL_ALV_EVENT_TOOLBAR_SET.
      This class has one attribute MT_TOOLBAR which is of table type
      TTB_BUTTON. The structure is STB_BUTTON
    CLEAR ls_toolbar.
    MOVE 'CHANGE'        TO ls_toolbar-function.
    MOVE  icon_change    TO ls_toolbar-icon.
    MOVE 'Change flight' TO ls_toolbar-quickinfo.
    MOVE 'Change'        TO ls_toolbar-text.
    MOVE ' '             TO ls_toolbar-disabled.
    APPEND ls_toolbar    TO e_object->mt_toolbar.
    ENDMETHOD.
    METHOD handle_user_command.
      Handle own functions defined in the toolbar
    CASE e_ucomm.
    WHEN 'CHANGE'.
    LEAVE TO SCREEN 0.
    ENDCASE.
    ENDMETHOD.
    ENDCLASS.
    5) In the PBO module, crate object for event handler and set handler
    CREATE OBJECT o_event_receiver.
    SET HANDLER o_event_receiver->handle_user_command FOR go_grid.
    SET HANDLER o_event_receiver->handle_toolbar FOR go_grid.
    6) In the PBO module after the CALL METHOD go_grid->set_table_for_first_display, raise event
    toolbar to show the modified toolbar
    CALL METHOD go_grid->set_toolbar_interactive.
    Set focus to the grid
    After CALL METHOD go_grid->set_table_for_first_display insert the following statement:
    CALL METHOD cl_gui_control=>set_focus EXPORTING control = go_grid.
    Set the title of the grid
    Fill the grid_title field of structure lvc_s_layo.
    Note that the structure lvc_s_layo can be used for to customize the grid appearance in many ways.
    DATA:
    ALV control: Layout structure
    gs_layout TYPE lvc_s_layo.
    Set grid title
    gs_layout-grid_title = 'Flights'.
    CALL METHOD go_grid->set_table_for_first_display
       EXPORTING i_structure_name = 'SFLIGHT'
                               is_layout               = gs_layout
       CHANGING   it_outtab               = gi_sflight.
    Customize the appearence of the grid
    The structure lvc_s_layo contains fields for setting graphical properties, displaying exceptions, calculating totals and enabling specific
    interaction options.
    Fill the apporpiate fields of structure lvc_s_layo and insert it as a parameter in the CALL METHOD
    go_grid->set_table_for_first_display. See the example under Set the title of the grid.
    If you want to change apperance after list output, use the methods get_frontend_layout and set_frontend_layout.
    Examples of fields in structure lvc_s_layo:
    GRID_TITLE Setting the title of the grid
    SEL_MODE. Selection mode, determines how rows can be selected. Can have the following values:
    ·        A Multiple columns, multiple rows with selection buttons.
    ·        B Simple selection, listbox, Single row/column
    ·        C Multiple rows without buttons
    ·        D Multiple rows with buttons and select all ICON
    Setting and getting selected rows (Columns) and read line contents
    You can read which rows of the grid that has been selected, and dynamic select rows of the grid using methods get_selected_rows
    and set_selected_rows. There are similar methods for columns.
    Note that the grid table always has the rows in the same sequence as displayed in the grid, thus you can use the index of the selected
    row(s) to read the information in the rows from the table. In the examples below the grid table is named gi_sflight.
    Data declaration:
    DATA:
    Internal table for indexes of selected rows
    gi_index_rows TYPE lvc_t_row,
    Information about 1 row
    g_selected_row LIKE lvc_s_row.
    Example 1: Reading index of selected row(s) and using it to read the grid table
    CALL METHOD go_grid->get_selected_rows
    IMPORTING
    et_index_rows = gi_index_rows.
    DESCRIBE TABLE gi_index_rows LINES l_lines.
    IF l_lines = 0.
    CALL FUNCTION 'POPUP_TO_DISPLAY_TEXT'
    EXPORTING
         textline1 = 'You must choose a valid line'.
    EXIT.
    ENDIF.
    LOOP AT gi_index_rows INTO g_selected_row.
    READ TABLE gi_sflight INDEX g_selected_row-index INTO g_wa_sflight.
    ENDIF.
    ENDLOOP.
    Example 2: Set selected row(s).
    DESCRIBE TABLE gi_index_rows LINES l_lines.
    IF l_lines > 0.
    CALL METHOD go_grid->set_selected_rows
    exporting
    it_index_rows = gi_index_rows.
    ENDIF.
    Make an Exception field ( = Traffic lights)
    There can be defined a column in the grid for display of traffic lights. This field is of type Char 1, and can contain the following values:
    ·        1 Red
    ·        2 Yellow
    ·        3 Green
    The name of the traffic light field is supplied inh the gs_layout-excp_fname used by method set_table_for_first_display.
    Example
    TYPES: BEGIN OF st_sflight.
    INCLUDE STRUCTURE zsflight.
    TYPES:  traffic_light TYPE c.
    TYPES: END OF st_sflight.
    TYPES: tt_sflight TYPE STANDARD TABLE OF st_sflight.
    DATA: gi_sflight TYPE tt_sflight.
      Set the exception field of the table
    LOOP AT gi_sflight INTO g_wa_sflight.
    IF g_wa_sflight-paymentsum < 100000.
    g_wa_sflight-traffic_light = '1'.
    ELSEIF g_wa_sflight-paymentsum => 100000 AND
        g_wa_sflight-paymentsum < 1000000.
    g_wa_sflight-traffic_light = '2'.
    ELSE.
    g_wa_sflight-traffic_light = '3'.
    ENDIF.
    MODIFY gi_sflight FROM g_wa_sflight.
    ENDLOOP.
      Name of the exception field (Traffic light field)
    gs_layout-excp_fname = 'TRAFFIC_LIGHT'.
      Grid setup for first display
    CALL METHOD go_grid->set_table_for_first_display
    EXPORTING i_structure_name = 'SFLIGHT'
                         is_layout               = gs_layout
    CHANGING  it_outtab                 = gi_sflight.
    Color a line
    The steps for coloring a line i the grid is much the same as making a traffic light.
    To color a line the structure of the  table must include a  Char 4 field  for color properties
    TYPES: BEGIN OF st_sflight.
    INCLUDE STRUCTURE zsflight.
          Field for line color
    types:  line_color(4) type c.
    TYPES: END OF st_sflight.
    TYPES: tt_sflight TYPE STANDARD TABLE OF st_sflight.
    DATA: gi_sflight TYPE tt_sflight.
    Loop trough the table to set the color properties of each line. The color properties field is
    Char 4 and the characters is set as follows:
    Char 1 = C = This is a color property
    Char 2 = 6 = Color code (1 - 7)
    Char 3 = Intensified on/of = 1 = on
    Char 4 = Inverse display = 0 = of
    LOOP AT gi_sflight INTO g_wa_sflight.
    IF g_wa_sflight-paymentsum < 100000.
    g_wa_sflight-line_color    = 'C610'.
    ENDIF.
    MODIFY gi_sflight FROM g_wa_sflight.
    ENDLOOP.
    Name of the color field
    gs_layout-info_fname = 'LINE_COLOR'.
    Grid setup for first display
    CALL METHOD go_grid->set_table_for_first_display
    EXPORTING i_structure_name = 'SFLIGHT'
                        is_layout                = gs_layout
    CHANGING  it_outtab                 = gi_sflight.
    Refresh grid display
    Use the grid method REFRESH_TABLE_DISPLAY
    Example:
    CALL METHOD go_grid->refresh_table_display.
    Complete code for the ALV grid example
    This example shows and ALV grid with flights. After selecting a line a change button can be pushed to display a change screen. After
    the changes have been saved, the ALV grid screen is displayed again, and the grid is updated with the changes.
    The example shows:
    ·        How to setup the ALV grid
    ·        How to ste focus to the grid
    ·        How to set the title of the grid
    ·        How to allow a user to save and reuse a grid layout (Variant)
    ·        How to customize the ALV grid toolbar
    ·        Refresh the grid
    ·        Set and get row selection and read line contents
    ·        Make and exception field (Traffic light)
    ·        Coloring a line
    Steps:
    ·        Create screen 100 with the ALV grid. Remember to include an exit button
    ·        Add a change button to the ALV grid toolbar
    ·        Create screen 200 the Change screen
    The screens: 
    The code:
    REPORT sapmz_hf_alv_grid .
    Type pool for icons - used in the toolbar
    TYPE-POOLS: icon.
    TABLES: zsflight.
    To allow the declaration of o_event_receiver before the
    lcl_event_receiver class is defined, decale it as deferred in the
    start of the program
    CLASS lcl_event_receiver DEFINITION DEFERRED.
    G L O B A L   I N T E R N  A L   T A B L E S
    *DATA: gi_sflight TYPE STANDARD TABLE OF sflight.
    To include a traffic light and/or color a line the structure of the
    table must include fields for the traffic light and/or the color
    TYPES: BEGIN OF st_sflight.
      INCLUDE STRUCTURE zsflight.
          Field for traffic light
    TYPES:  traffic_light TYPE c.
          Field for line color
    types:  line_color(4) type c.
    TYPES: END OF st_sflight.
    TYPES: tt_sflight TYPE STANDARD TABLE OF st_sflight.
    DATA: gi_sflight TYPE tt_sflight.
    G L O B A L   D A T A
    DATA: ok_code         LIKE sy-ucomm,
        Work area for internal table
    g_wa_sflight    TYPE st_sflight,
        ALV control: Layout structure
    gs_layout       TYPE lvc_s_layo.
    Declare reference variables to the ALV grid and the container
    DATA:
    go_grid             TYPE REF TO cl_gui_alv_grid,
    go_custom_container TYPE REF TO cl_gui_custom_container,
    o_event_receiver    TYPE REF TO lcl_event_receiver.
    DATA:
    Work area for screen 200
    g_screen200 LIKE zsflight.
    Data for storing information about selected rows in the grid
    DATA:
    Internal table
    gi_index_rows TYPE lvc_t_row,
    Information about 1 row
    g_selected_row LIKE lvc_s_row.
    C L A S S E S
    CLASS lcl_event_receiver DEFINITION.
    PUBLIC SECTION.
    METHODS:
    handle_toolbar FOR EVENT toolbar OF cl_gui_alv_grid
    IMPORTING
       e_object e_interactive,
    handle_user_command FOR EVENT user_command OF cl_gui_alv_grid
    IMPORTING e_ucomm.
    ENDCLASS.
          CLASS lcl_event_receiver IMPLEMENTATION
    CLASS lcl_event_receiver IMPLEMENTATION.
    METHOD handle_toolbar.
    Event handler method for event toolbar.
    CONSTANTS:
    Constants for button type
    c_button_normal           TYPE i VALUE 0,
    c_menu_and_default_button TYPE i VALUE 1,
    c_menu                    TYPE i VALUE 2,
    c_separator               TYPE i VALUE 3,
    c_radio_button            TYPE i VALUE 4,
    c_checkbox                TYPE i VALUE 5,
    c_menu_entry              TYPE i VALUE 6.
    DATA:
      ls_toolbar  TYPE stb_button.
      Append seperator to the normal toolbar
    CLEAR ls_toolbar.
    MOVE c_separator TO ls_toolbar-butn_type..
    APPEND ls_toolbar TO e_object->mt_toolbar.
      Append a new button that to the toolbar. Use E_OBJECT of
      event toolbar. E_OBJECT is of type CL_ALV_EVENT_TOOLBAR_SET.
      This class has one attribute MT_TOOLBAR which is of table type
      TTB_BUTTON. The structure is STB_BUTTON
    CLEAR ls_toolbar.
    MOVE 'CHANGE'        TO ls_toolbar-function.
    MOVE  icon_change    TO ls_toolbar-icon.
    MOVE 'Change flight' TO ls_toolbar-quickinfo.
    MOVE 'Change'        TO ls_toolbar-text.
    MOVE ' '             TO ls_toolbar-disabled.
    APPEND ls_toolbar    TO e_object->mt_toolbar.
    ENDMETHOD.
    METHOD handle_user_command.
      Handle own functions defined in the toolbar
    CASE e_ucomm.
    WHEN 'CHANGE'.
      PERFORM change_flight.
           LEAVE TO SCREEN 0.
    ENDCASE.
    ENDMETHOD.
    ENDCLASS.
    S T A R T - O F - S E L E C T I O N.
    START-OF-SELECTION.
    SET SCREEN '100'.
    *&      Module  USER_COMMAND_0100  INPUT
    MODULE user_command_0100 INPUT.
    CASE ok_code.
    WHEN 'EXIT'.
    LEAVE TO SCREEN 0.
    ENDCASE.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    *&      Module  STATUS_0100  OUTPUT
    MODULE status_0100 OUTPUT.
    DATA:
      For parameter IS_VARIANT that is sued to set up options for storing
      the grid layout as a variant in method set_table_for_first_display
    l_layout TYPE disvariant,
      Utillity field
    l_lines TYPE i.
    After returning from screen 200 the line that was selected before
    going to screen 200, should be selected again. The table gi_index_rows
    was the output table from the GET_SELECTED_ROWS method in form
    CHANGE_FLIGHT
    DESCRIBE TABLE gi_index_rows LINES l_lines.
    IF l_lines > 0.
    CALL METHOD go_grid->set_selected_rows
      EXPORTING
        it_index_rows = gi_index_rows.
    CALL METHOD cl_gui_cfw=>flush.
    REFRESH gi_index_rows.
    ENDIF.
    Read data and create objects
    IF go_custom_container IS INITIAL.
      Read data from datbase table
    PERFORM get_data.
      Create objects for container and ALV grid
    CREATE OBJECT go_custom_container
    EXPORTING container_name = 'ALV_CONTAINER'.
    CREATE OBJECT go_grid
    EXPORTING
      i_parent = go_custom_container.
      Create object for event_receiver class
      and set handlers
    CREATE OBJECT o_event_receiver.
    SET HANDLER o_event_receiver->handle_user_command FOR go_grid.
    SET HANDLER o_event_receiver->handle_toolbar FOR go_grid.
      Layout (Variant) for ALV grid
    l_layout-report = sy-repid. "Layout fo report
    Setup the grid layout using a variable of structure lvc_s_layo
      Set grid title
    gs_layout-grid_title = 'Flights'.
      Selection mode - Single row without buttons
      (This is the default  mode
    gs_layout-sel_mode = 'B'.
      Name of the exception field (Traffic light field) and the color
      field + set the exception and color field of the table
    gs_layout-excp_fname = 'TRAFFIC_LIGHT'.
    gs_layout-info_fname = 'LINE_COLOR'.
    LOOP AT gi_sflight INTO g_wa_sflight.
    IF g_wa_sflight-paymentsum < 100000.
          Value of traffic light field
      g_wa_sflight-traffic_light = '1'.
          Value of color field:
          C = Color, 6=Color 1=Intesified on, 0: Inverse display off
      g_wa_sflight-line_color    = 'C610'.
    ELSEIF g_wa_sflight-paymentsum => 100000 AND
           g_wa_sflight-paymentsum < 1000000.
      g_wa_sflight-traffic_light = '2'.
    ELSE.
      g_wa_sflight-traffic_light = '3'.
    ENDIF.
    MODIFY gi_sflight FROM g_wa_sflight.
    ENDLOOP.
      Grid setup for first display
    CALL METHOD go_grid->set_table_for_first_display
    EXPORTING i_structure_name = 'SFLIGHT'
              is_variant       = l_layout
              i_save           = 'A'
              is_layout        = gs_layout
    CHANGING  it_outtab        = gi_sflight.
    *-- End of grid setup -
      Raise event toolbar to show the modified toolbar
    CALL METHOD go_grid->set_toolbar_interactive.
      Set focus to the grid. This is not necessary in this
      example as there is only one control on the screen
    CALL METHOD cl_gui_control=>set_focus EXPORTING control = go_grid.
    ENDIF.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    *&      Module  USER_COMMAND_0200  INPUT
    MODULE user_command_0200 INPUT.
    CASE ok_code.
    WHEN 'EXIT200'.
    LEAVE TO SCREEN 100.
    WHEN'SAVE'.
    PERFORM save_changes.
    ENDCASE.
    ENDMODULE.                 " USER_COMMAND_0200  INPUT
    *&      Form  get_data
    FORM get_data.
    Read data from table SFLIGHT
    SELECT *
    FROM zsflight
    INTO TABLE gi_sflight.
    ENDFORM.                    " load_data_into_grid
    *&      Form  change_flight
    Reads the contents of the selected row in the grid, ans transfers
    the data to screen 200, where it can be changed and saved.
    FORM change_flight.
    DATA:l_lines TYPE i.
    REFRESH gi_index_rows.
    CLEAR   g_selected_row.
    Read index of selected rows
    CALL METHOD go_grid->get_selected_rows
    IMPORTING
    et_index_rows = gi_index_rows.
    Check if any row are selected at all. If not
    table  gi_index_rows will be empty
    DESCRIBE TABLE gi_index_rows LINES l_lines.
    IF l_lines = 0.
    CALL FUNCTION 'POPUP_TO_DISPLAY_TEXT'
       EXPORTING
            textline1 = 'You must choose a line'.
    EXIT.
    ENDIF.
    Read indexes of selected rows. In this example only one
    row can be selected as we are using gs_layout-sel_mode = 'B',
    so it is only ncessary to read the first entry in
    table gi_index_rows
    LOOP AT gi_index_rows INTO g_selected_row.
    IF sy-tabix = 1.
    READ TABLE gi_sflight INDEX g_selected_row-index INTO g_wa_sflight.
    ENDIF.
    ENDLOOP.
    Transfer data from the selected row to screenm 200 and show
    screen 200
    CLEAR g_screen200.
    MOVE-CORRESPONDING g_wa_sflight TO g_screen200.
    LEAVE TO SCREEN '200'.
    ENDFORM.                    " change_flight
    *&      Form  save_changes
    Changes made in screen 200 are written to the datbase table
    zsflight, and to the grid table gi_sflight, and the grid is
    updated with method refresh_table_display to display the changes
    FORM save_changes.
    DATA: l_traffic_light TYPE c.
    Update traffic light field
    Update database table
    MODIFY zsflight FROM g_screen200.
    Update grid table , traffic light field and color field.
    Note that it is necessary to use structure g_wa_sflight
    for the update, as the screen structure does not have a
    traffic light field
    MOVE-CORRESPONDING g_screen200 TO g_wa_sflight.
    IF g_wa_sflight-paymentsum < 100000.
    g_wa_sflight-traffic_light = '1'.
      C = Color, 6=Color 1=Intesified on, 0: Inverse display off
    g_wa_sflight-line_color    = 'C610'.
    ELSEIF g_wa_sflight-paymentsum => 100000 AND
       g_wa_sflight-paymentsum < 1000000.
    g_wa_sflight-traffic_light = '2'.
    clear g_wa_sflight-line_color.
    ELSE.
    g_wa_sflight-traffic_light = '3'.
    clear g_wa_sflight-line_color.
    ENDIF.
    MODIFY gi_sflight INDEX g_selected_row-index FROM g_wa_sflight.
    Refresh grid
    CALL METHOD go_grid->refresh_table_display.
    CALL METHOD cl_gui_cfw=>flush.
    LEAVE TO SCREEN '100'.
    ENDFORM.                    " save_changes
    rgds,
    latheesh

  • How to use OEM grid control to find any database not in archivelog mode?

    Hello,
    currently we have 130 databases, say, if I want to pick out any database currently NOT in archivelog mode, is there a quick way to find out ?
    by using OEM grid control
    or
    some trick similar,
    but really don't need to check each database manually.
    thank you very much!

    This query works in 12c - please run as SYSMAN.
    It is based on undocumented assumptions though +( AND key_value = 'NOARCHIVELOG')+.
      SELECT *
      FROM SYSMAN.MGMT$GROUP_DERIVED_MEMBERSHIPS O ,
        SYSMAN.MGMT$TARGET T ,
        sysman.MGMT$AVAILABILITY_CURRENT st
      WHERE
      o.member_target_type     IN ('oracle_database', 'rac_database')
      AND ( t.target_type           ='rac_database'
      OR (t.target_type             ='oracle_database'
      AND t.type_qualifier3        != 'RACINST'))
      AND o. member_target_guid     = t.target_guid
      AND t.target_guid             = st.target_guid
      AND st.availability_status    = 'Target Up'
      AND ( EXISTS
        (SELECT *
        FROM sysman.mgmt$metric_current i
        WHERE I.TARGET_GUID = O.MEMBER_TARGET_GUID
        AND metric_name     = 'archFull'
        AND Metric_Column   = 'archTotal'
        AND metric_label    = 'Archive Area'
        AND column_label    = 'Total Archive Area (KB)'
        AND key_value       = 'NOARCHIVELOG'
        ));Another way to achieve the goal is to push extended metrics (SELECT LOG_MODE FROM V$DATABASE) on each DB, and monitor the values they return to the repository. This is an example for a (slightly) different problem - http://iiotzov.wordpress.com/2012/08/08/how-to-use-the-new-oem-12c-metric-extensions-to-enforce-enterprise-wide-custom-policies .
    OEM Repository has many other great uses as well - http://iiotzov.files.wordpress.com/2012/05/oem-repository-a-second-look.doc , http://iiotzov.files.wordpress.com/2011/08/iotzov_oem_repository.pdf
    Iordan Iotzov
    http://iiotzov.wordpress.com/

  • Here's how to use your own custom Webclip icons for the sites you visit.

    This method is pretty much 95% taken from this URL: http://allinthehead.com/retro/319/how-to-set-an-apple-touch-icon-for-any-site , so credit where credit is due. The instructions are a bit hard to understand though, so I'll try to make it easier for everyone.
    Fortunately, this works for both Macs and PCs.
    INSTRUCTIONS:
    Requirements:
    - iPhone on 1.1.3 and any version of iTunes that can sync to iPhone
    - Adobe Photoshop or any other image editing program that can crop, alter image size, and save .png image files. (Recommended 24-bit .pngs as they are higher quality)
    - Apple Safari ( http://www.apple.com/safari/, and yes, you need it.)
    - A website or ftp where you can upload images and directly link to them, like Google Pages.
    Warning:
    - This requires you to sync your Safari bookmarks to your iPhone. You will probably lose all of your iPhone's bookmarks if you don't already sync your Safari bookmarks with your iPhone. Only proceed if you do not mind losing your iPhone's current bookmarks and do not mind re-entering them after the bookmark sync. NOTE: The bookmark sync DOES NOT get rid of your current Webclips though, so don't worry about those.
    Easy Steps:
    1) First, make sure that you are following these instructions in the Apple Safari web browser.
    2) Find an image you wish to make into a Webclip icon. (ex: I prefer to use movies.yahoo.com to look at movie showtimes, so I found an image of a movie reel from Google Image Search and decided to use that.)
    3) Open the image with your preferred image editor and crop your desired image into a perfect square. Resize that picture down to 57x57 pixels. Save as a 24-bit .png file. Upload the icon to your webpage or ftp. (ex: I ended up with this icon of a movie reel: http://ctolpin.googlepages.com/appleicon01.png )
    4) Select and copy the javascript code in this .txt file: http://ctolpin.googlepages.com/webclipcode.txt
    5) Go to Bookmarks and select "Add Bookmark..."
    6) Type in "Webclip Icon URL"
    7) Go to Bookmarks again and select "Show all Bookmarks."
    8) Right-click your new "Webclip Icon URL" bookmark and select "Edit Address"
    9) Paste your clipboard's contents into the field.
    10) Plug your iPhone into the computer if it's not connected already.
    11) In iTunes, select your iPhone from the right column. Select the Info tab. Scroll down to "Web Browser" and check "Sync bookmarks with: Safari" (obviously, make sure Safari is selected from the dropdown menu).
    12) Once your iPhone is synced, use your iPhone to navigate to your intended website target to make into a Webclip. Remember that Webclips save where you zoom in as well! (ex: For me, it was movies.yahoo.com and then entering in my zip code.)
    13) Once you've loaded your target website, open up the bookmarks in iPhone's Safari, select Bookmarks Bar, then select Webclip Icon URL.
    14) Type in the address of your uploaded icon. (ex: In my case, it is http://ctolpin.googlepages.com/appleicon01.png)
    15) iPhone's Safari will seem like it didn't do anything. However, add that webpage now to your home screen as a Webclip. Magic.
    Additional note:
    It is easiest to make a bunch of icons at first and to upload them. However, once that "Webclip Icon URL" bookmark is in your iPhone, there is no need to go back and do any of the computer Safari steps again
    My front page icons in order (Sorry Stocks, it's the second page for you!):
    Google, Wikipedia, Definr, Showtimes
    http://ctolpin.googlepages.com/iphonecampics007.jpg
    Message was edited by: LumpOfCole

     3 Go to the port forwarding section and copy down the Applied Rules. 
    Example:  
    Network Computer/Device: 192.168.1.100:63145
    Application & Ports Forward:  Application UDP Any -> 6347  
    Note: There may be up to three entries for each one of your Set Top Boxes.G
    Your display obviously is not like mine as mine does not dosplay the port associated with the ip address
    whatever, the STB's start at 192.168.1.100 and icement by 1 for each
    the port addr's will be 63145 alo incrementing by 1
    there is 1 entry for each in my pf list
    however each ip addr also has a port entry starting at 35000 also incrementing by 1 for each ip addr
    For some unknow reason these are duplicated e.g I appear to have 11 entries exaactly the same for each stb and as the fios services rules have no action switc there is nowhere to delete the extraneous garbage.
    Why do you clone the mac addr??

  • How to use Enjoy Reading? No icon. Compatible with FF 8?

    Downloaded Enjoy Reading. How to activate it? Want to print a recipe without all the ads, but can't figure out how to do it. Readability used to have an icon to click, but even that's gone. Do I have to open Applications just to use Enjoy Reading?

    Here's how to get photos from discs created with previous versions of iPhoto into your current iPhoto 9.5 library:
    1 - copy the library from the disk to the Desktop.
    2 - download and double click on the iPhoto Library Upgrader tool to launch it  and select the library on the Desktop to convert.
    3 - launch iPhoto 9.5 and open the newly converted library on the Desktop.
    4 - use the paid version of  iPhoto Library Manager to merge the library on the Desktop into the iPhoto 9.5 library in the Pictures folder.
    5 - confirm that all of the photos from the Destkop library have been successfully imported into the iPhoto 9.5 library before deleteing the library from the Desktop.
    6 - repeat Steps #1 - #5 for each library on a disk.
    Happy Holidays

  • How to use Profiler/XE to capture connection string properties (eg effectiveusername)

    Hi all,
    I'm trying to audit connections to a tabular cube to map usage patterns etc etc
    Problem is, any connections made via sharepoint come in using the sharepoint excel services account. The actual user that is making the connection is passed in via the EffectiveUser property on the connection string. I've not been able to find any info on
    how to add this to an extended event trace. Is it possible?
    Cheers,
    Jakub
    Jakub @ Adelaide, Australia Blog

    Hi jakubk,
    Glad to hear that the issue is resolved. Thanks for your sharing, other community members could benefit from your solution.
    Thanks,
    Lydia Zhang
    Lydia Zhang
    TechNet Community Support

  • Using geometric grid to cut up picture and rearrange

    Hi, I'm trying to find out how to cut up an image using a geometric grid and rearrange the pieces.
    Today I've learnt how to make my own grid in Illustrator, using a tutorial I've found, but I don't know if it's possible to do the same thing photoshop, other than horizontal/vertical lines? 
    I also need to learn how to use a grid to cut a picture along all of the lines once I've made it, so that I can rearrange some of them and perhaps move some of them out of place too.  Is there a command to do this, so that each part with have it's own layer? 
    Or even better (as I probably only want to slice small sections of the picture) a way to get the slice tool to follow the lines of the grid so that I can cut small sections exactly along the lines (I know you can do this with a horizontal/vertical grid, but not sure exactly how even to do that!)?
    Once it's done I want to hide the grid, so all that is left is the rearranged picture?
    The first, second and third pictures attached are the kind of grids that I want to make (I now know how to do this in Illustrator, but nor PS), to use as a template to cut up the picture, the third and forth pictures are as close as I can find to the outcome I want, with the faces rearranged (I think these were done by hand in these examples).
    I know there's a way of doing this, but not sure how to achieve it.  Is this something I can acheive in PS?
    Can anyone help?
    Thanks

    What I think is that's a lot to type on an iphone  -- said the man with phone-pole fingers.  :+)
    When in PS, select grid sections using the Path Seletion Tool: just click inside a grid segment, then click the selection icon (right there in the Path Palette), instead of using the Magic Wand Tool, which is meant to select based on color, much like color range. Selecting by path is far more accurate.
    Of course there are millions of ways to approach this. Scripting is not my idea of fun, so I choose to do this the "slow" way, and in fact, have been copying one grid section at a time, and moving it. This feels a lot more like illustration, as the image is developed slowly over time.
    Here is my procedure, once the grid path is in PS, and properly positioned:  (I've done it a thousand times now, so it rolls off my typing fingers like singing a song ...)
    1. Select the main image layer
    2. Key-A for Path Selection Tool
    3. In Paths Panel, click on the Grid Layer
    4. In main image window, click inside any single grid component, highlighting the path. (Shift-key-click for any additional path segments.)
    5. In Paths Panel, click the dotted-line Selection Icon. This makes the chosen path segment a selection.
    6. Copy
    7. Choose the top layer in Layers Panel
    8. Paste in Place (Command-Shift-V on Mac) -- this makes a new layer and places the copied section in position.
    9. Choose the new layer in Layers Panel
    10. Key-V for Move
    11. Select the grid layer in Path Panel (for visual reference)
    12. Move the new layer to the desired position
    I've stopped using snap to grid in Photoshop for this procedure. Rather, I'm depending on the grid itself to arrow-key final position of grid segments. Using this slow method has also allowed me to stop keeping a visual record of what has been copied. Before, I was trying to do this assembly-line-style, and this made a mess of trying to find individual segment layers after I had more than a few dozen layers. I would fear this same confusing result using a script to batch-process copying and pasting in position. It makes a huge mess.
    But if you do go this route, please share your results.
    I also periodically turn on and off the 50% opaque white layer just above the original image, as this aids greatly in seeing exactly where all my copied pieces are.
    I'm looking forward to seeing what you come up with. I'll also post my stuff, if and when when I get it there.

  • How to use?

    Any very basic tutorials for Logic Pro X? I just got it but I have no idea where to even start on how to use this program
    do u need a midi controller? can u just use the mouse any maybe keyboard? or maybe iPhone,iPad? to input the sounds?
    I dont want to spend all this money on equipment if I dont even know how to use the software in the first place lol
    if anyone has links or tutorials to atleast get the basics of making my first beat I would be very Happy
    Mahalo

    Start here:
    http://www.apple.com/support/logicpro/
    You'll be up and running before you know it!
    Cheers

  • How can I make GRID view the default view? The icons for view that used to be located in the upper right top of the page near the 'search library' are gone.

    How can I make GRID view the default view? The icons for view that used to be located in the upper right top of the page near the 'search library' are gone.

    99jon wrote:
    Perhaps it’s a design feature to speed up the Organizer launch.
    I am sure it is.
    - The normal use of the Organizer is not the folder view, it's the thumbnail view with an organization based on categories and folder. That way you should forget completely where your pictures are stored. Anyway, the folder view in the Explorer is not a map of the location of the different bits of your file, it's only a logical representation. That's easy to see when you are doing a defragmentation.
    - The folder view is useful even for those using normally the thumbnail view, but that is only for rare cases when you must change the folder organization, for instance moving files to another drive. The folder view is here to prevent you from changing things from the explorer and outside of the Organizer.
    - The new folder list view, which you find 'funny' is there to help better organizing using tags. Its huge advantage is that such a view is created extremely quickly by extracting the last subfolder in the media table : it's the way the database sees the folders, based on its own content,  totally ignoring the complex folder organization of your disk with media files or any unrelated other kind of data. You should use it in many cases, the main purpose being assigning tags when you have assigned descriptive folder names. I had suggested such a solution to prevent the long standing bugs in the folder view of previous versions.
    So yes, the purpose is:
    - to speed up switching modes
    - to help folder organization fans to migrate to tags organization
    - to hopefully get rid of the old folder organization bugs

  • How to Display Sub-Columns using ALV Grid

    Hi ,
      Could someone tell me how to display sub-columns under a parent column using ALV Grid. Do we have any standard Program which has this scenario. Please let me know.
    Thanks,
    Abaper.
    Message was edited by:
            ABAP'er

    you can check all with <b>BCALV* or RSDEMO*</b> in SE38 for all Std
    check below
    BCALV_DND_01                   Drag ALV Row to Tree Folder
    BCALV_DND_02                   Drag Icons from Tree to Rows of the Grid
    BCALV_GRID_DND_TREE            ALV Grid: Drag and Drop with ALV Tree
    BCALV_GRID_DND_TREE_SIMPLE     ALV GRID: Drag and drop with ALV tree (simple)
    BCALV_TEST_COLUMN_TREE         Program BCALV_TEST_COLUMN_TREE
    Rewards if useful............
    Minal

  • How to add ALV button using OO in module pool program using ALV grid

    Hello Gurus!!!
                  Want some tips related how to add button using ALV Grid(OO).
    I want to display the button for search, sort ....
                 Please suggest the step -by-step procedure for implementation of these button.
                 I am designing the code for transaction FB03. Header data has been displayed but want to display the line items.
                 Kindly suggest your answers.
    Thanks,
    Sachin

    Hi,
    CLASS SELSCR_APPLICATION DEFINITION DEFERRED.
    CLASS SELSCR_APPLICATION DEFINITION.
      PUBLIC SECTION.
       METHODS:
            HANDLE_TOOLBAR
            FOR EVENT TOOLBAR OF CL_GUI_ALV_GRID
                IMPORTING E_OBJECT  E_INTERACTIVE,
            HANDLE_USER_COMMAND
            FOR EVENT USER_COMMAND OF CL_GUI_ALV_GRID
                IMPORTING E_UCOMM.
    ENDCLASS.        "SELSCR_APPLICATION DEFINITION
    CLASS SELSCR_APPLICATION IMPLEMENTATION.
      METHOD HANDLE_TOOLBAR.
        DATA: LS_TOOLBAR  TYPE STB_BUTTON.
    append SAVE icon
        CLEAR LS_TOOLBAR.
        MOVE 'SAVE' TO LS_TOOLBAR-FUNCTION.
        MOVE ICON_SYSTEM_SAVE TO LS_TOOLBAR-ICON.
        MOVE 'Save' TO LS_TOOLBAR-QUICKINFO.
        MOVE ' '  TO LS_TOOLBAR-DISABLED.
        APPEND LS_TOOLBAR TO E_OBJECT->MT_TOOLBAR.
        CLEAR LS_TOOLBAR.
      ENDMETHOD.                    "handle_toolbar
      METHOD HANDLE_USER_COMMAND.
        CASE E_UCOMM.
          WHEN 'SAVE'.
              PERFORM UPDATE_FIELDS.
        ENDCASE.
      ENDMETHOD.
    ENDCLASS.                 "SELSCR_APPLICATION IMPLEMENTATION
    these lines should be after calling method SET_TABLE_FOR_FIRST_DISPLAY
    SET HANDLER G_APPLICATION1->HANDLE_TOOLBAR FOR GRID1.
            CALL METHOD grid1->set_toolbar_interactive.
    rgds,
    bharat.

  • How to  Use page parameter for 2 grids

    Hi All,
    I have 2 grids for 2 different DB's in a report.In this page view have business dim, user able to choose the
    business.So i'm using 2 prompts for 2 grids in business dim at page view.but user wants only once he gave the
    input.How to pass one grid page parameters to another grid?
    Plzzzz give any suggestions on this................
    Thanks

    Instead of using prompts and the page, you can put the selectable dimension onto the POV of both grids and set it to current user pov on both grids.
    This way it will work, but the drawback is that you cannot make user select multiple members for that dimension, which is possible with prompts.
    hope this helps
    Bulent

  • I can't read Or write I have been using the iPad With the accessibility icon Is there a video help them teach me how to use it more efficiently

    I cannot read or write I have been using the iPad With the accessibility icon  Is there a video to help teach me To learn how to use this accessibility more efficiently

    It sounds like you may have multiple problems, but none of them are likely to be caused by malware.
    First, the internet-related issues may be related to adware or a network compromise. I tend to lean more towards the latter, based on your description of the problem. See:
    http://www.adwaremedic.com/kb/baddns.php
    http://www.adwaremedic.com/kb/hackedrouter.php
    If investigation shows that this is not a network-specific issue, then it's probably adware. See my Adware Removal Guide for help finding and removing it. Note that you mention AdBlock as if it should have prevented this, but it's important to understand that ad blockers do not protect you against adware in any way. Neither would any kind of anti-virus software, which often doesn't detect adware.
    As for the other issues, it sounds like you've got some serious corruption. I would be inclined to say it sounds like a failing drive, except it sounds like you just got it replaced. How did you get all your files back after the new drive was installed?
    (Fair disclosure: I may receive compensation from links to my sites, TheSafeMac.com and AdwareMedic.com, in the form of buttons allowing for donations. Donations are not required to use my site or software.)

  • How to use IT_special_groups in ALV Grid ?

    Hi Abapers,
    Am new to ALv's
    am passing almost all parameters to ALV_GRID FM..!
    i dont no how to use of options Groups , Filters and I_sel_hide .
    event i find an Demo example related to Groups ..
    but while displaying the out put i didnt find any Changes ?
    could any one give an Example with using GROUPS , Filters and SEL_INFO ?
    Pls help me out to resolve this problem ..!
    Thanks & Regrds
    Rajeshk

    Hi,
    you can group your ALV columns into various groups using field SP_GROUP in field catalog. You assign name to these groups in the table IT_SPECIAL_GROUPS. User can restrict column selection to one of these groups (using name from the table) on the current layout window. More info can be found in [SAP documentation|http://help.sap.com/saphelp_nw04/helpdata/en/a2/64f7a2ee4f11d2b484006094192fe3/frameset.htm]
    Probably as you know you can filter selected records in ALV (icon with funnel). You can use table IT_FILTER to set up this filter.
    I am not sure about I_SEL_HIDE but as far as I remember ALV can display selection criteria from report which call ALV FM. So I assume that you can use this table to control displaying of them.
    BTW there is a really nice [reference for ALV|https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/e8a1d690-0201-0010-b7ad-d9719a415907?overridelayout=true].
    Cheers

  • How to use Jquery Data Grid in HTML

    can anyone please tell me how to use JQuery Data grid in my HTML page with example.
    I have one HTML page i want the standard JQuery Data Grid with search and pagination functionality.

    Guys I have got the solution
    thanks a lot
    please refer this link for JQGrid
    http://www.codeproject.com/Articles/609442/Using-JqGrid-in-ASP-NET

Maybe you are looking for

  • Events not showing in iCal after sync with iPhone

    A whole week of appointments don't show up in iCal after syncing with my iPhone - all the appointments are on my iPhone but they won't copy over. Funnily enough, the week that is not showing up is changing every Monday... Anyone seen this before?

  • XI Mapping - understanding contexts

    Hello, I have a PO idoc that I am trying to map from R/3 to a proxy in SUS (Supplier Self Services).  I need to allow each line item to have a "ship from location" address.  The Idoc structure looks like this: ZORDERS1.IDOC.E1EDP01.Z1EDPA1.PARVW = "Z

  • Why is FireFox 7.02 slower than FireFox 7.01?

    After upgrading FireFox to 7.02, the browser became really slow. The letters don't appear when I type. It only appears after I am done typing. Sometimes the pages don't load. And opening up a tab takes longer. Loading speed is very slow. My computer

  • Infos sur des sous ensembles d'un tableau

    Bonjour, Je viens pour vous demander des conseils sur ce forum, j'ai récupéré un programme dont je ne comprends pas l'utilisation sous ensemble d'un tableau. Ci-joint le schéma. Je ne vois pas l'intéret de l'utilisation du tableau ajouté et pourquoi

  • Sound stops and restarts randomly

    Hi to all, For some time now I am having a problem with the sound in my Mac book pro: - when I am listening something, either in iTunes, YouTube, etc, the sound stops and a red light flashes in the earphones plug. When I check in the Sound Preference