<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: graphical report ? in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/graphical-report/m-p/2650375#M610908</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here is an example - don't forget to reward points!!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;report  GRAPHICS_GUI_CE_DEMO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;global data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: G_CE_CONTAINER   type ref to CL_GUI_CUSTOM_CONTAINER.&lt;/P&gt;&lt;P&gt;data: G_CE_NEW_CONTAINER   type ref to CL_GUI_CUSTOM_CONTAINER.&lt;/P&gt;&lt;P&gt;data: G_CE_VIEWER      type ref to CL_GUI_CHART_ENGINE.&lt;/P&gt;&lt;P&gt;data: G_CE_VIEWER_NEW  type ref to CL_GUI_CHART_ENGINE.&lt;/P&gt;&lt;P&gt;data: G_IXML           type ref to IF_IXML.&lt;/P&gt;&lt;P&gt;data: G_IXML_SF        type ref to IF_IXML_STREAM_FACTORY.&lt;/P&gt;&lt;P&gt;data: G_DESIGN_MODE    type C.&lt;/P&gt;&lt;P&gt;data: G_VALUE_CHANGE   type C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: G_SAVE_OKCODE    like SY-UCOMM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;dynpro data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: OKCODE        like SY-UCOMM,&lt;/P&gt;&lt;P&gt;      GT_SFLIGHT type table of SFLIGHT,&lt;/P&gt;&lt;P&gt;      G_REPID like SY-REPID,&lt;/P&gt;&lt;P&gt;      G_MAX type I value 100,&lt;/P&gt;&lt;P&gt;      MYCONTAINER type SCRFNAME value 'NEW_CONTAINER',&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;reference to custom container: neccessary to bind ALV Control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CUSTOM_CONTAINER type ref to CL_GUI_CUSTOM_CONTAINER,&lt;/P&gt;&lt;P&gt;      GRID1  type ref to CL_GUI_ALV_GRID.&lt;/P&gt;&lt;P&gt;*.........................................................&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;'x_save' contains a flag to control which kind of a layout the user&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;can save (see below).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;'gs_layout' identifies a layout. It must contain&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;at least the report-id.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;§ 1.Declare a structure of type DISVARIANT to identify a layout&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  and a variable to define the saving options for users.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: X_SAVE,                          "for Parameter I_SAVE&lt;/P&gt;&lt;P&gt;      GS_LAYOUT type DISVARIANT.      "for parameter IS_VARIANT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;event handler&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;class LCL_CE_VIEWER_EH definition.&lt;/P&gt;&lt;P&gt;  public section.&lt;/P&gt;&lt;P&gt;    methods ON_CLICK for event CLICK of CL_GUI_CHART_ENGINE&lt;/P&gt;&lt;P&gt;      importing&lt;/P&gt;&lt;P&gt;        ELEMENT SERIES POINT.&lt;/P&gt;&lt;P&gt;    methods ON_VALUE_CHANGE for event VALUE_CHANGE of&lt;/P&gt;&lt;P&gt;    CL_GUI_CHART_ENGINE&lt;/P&gt;&lt;P&gt;      importing&lt;/P&gt;&lt;P&gt;        SERIES POINT VALUE.&lt;/P&gt;&lt;P&gt;    methods ON_PROPERTY_CHANGE for event PROPERTY_CHANGE of&lt;/P&gt;&lt;P&gt;    CL_GUI_CHART_ENGINE&lt;/P&gt;&lt;P&gt;      importing&lt;/P&gt;&lt;P&gt;        ELEMENT NAME VALUE.&lt;/P&gt;&lt;P&gt;endclass.                    "lcl_ce_viewer_eh DEFINITION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: G_CE_VIEWER_EH type ref to LCL_CE_VIEWER_EH.&lt;/P&gt;&lt;P&gt;data: G_CE_VIEWER_EH_NEW type ref to LCL_CE_VIEWER_EH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;entry point&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;  select * from SFLIGHT into table GT_SFLIGHT up to G_MAX rows.&lt;/P&gt;&lt;P&gt;*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;/P&gt;&lt;P&gt;  clear GS_LAYOUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create global objects&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  G_IXML = CL_IXML=&amp;gt;CREATE( ).&lt;/P&gt;&lt;P&gt;  G_IXML_SF = G_IXML-&amp;gt;CREATE_STREAM_FACTORY( ).&lt;/P&gt;&lt;P&gt;  G_REPID = SY-REPID.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;§ 2.At least field REPORT of this structure has to be filled!&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  GS_LAYOUT-REPORT = G_REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  X_SAVE = 'A'.   "The user may save all types of a layout&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call screen '100'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ENDREPORT  GRAPHICS_GUI_CE_DEMO.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  STATUS_0100  OUTPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;module STATUS_0100 output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: L_IXML_DATA_DOC   type ref to IF_IXML_DOCUMENT,&lt;/P&gt;&lt;P&gt;        L_IXML_CUSTOM_DOC type ref to IF_IXML_DOCUMENT,&lt;/P&gt;&lt;P&gt;        L_OSTREAM         type ref to IF_IXML_OSTREAM,&lt;/P&gt;&lt;P&gt;        L_XSTR            type XSTRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  set pf-status '100'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if G_CE_CONTAINER is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    create object G_CE_CONTAINER&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        CONTAINER_NAME = 'CONTAINER'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    create object G_CE_VIEWER&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        PARENT = G_CE_CONTAINER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    create object G_CE_VIEWER_EH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    set handler G_CE_VIEWER_EH-&amp;gt;ON_CLICK for G_CE_VIEWER.&lt;/P&gt;&lt;P&gt;    set handler G_CE_VIEWER_EH-&amp;gt;ON_VALUE_CHANGE for G_CE_VIEWER.&lt;/P&gt;&lt;P&gt;    set handler G_CE_VIEWER_EH-&amp;gt;ON_PROPERTY_CHANGE for G_CE_VIEWER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform CREATE_DATA_DEMO using L_IXML_DATA_DOC.&lt;/P&gt;&lt;P&gt;    L_OSTREAM = G_IXML_SF-&amp;gt;CREATE_OSTREAM_XSTRING( L_XSTR ).&lt;/P&gt;&lt;P&gt;    call method L_IXML_DATA_DOC-&amp;gt;RENDER&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        OSTREAM = L_OSTREAM.&lt;/P&gt;&lt;P&gt;    G_CE_VIEWER-&amp;gt;SET_DATA( XDATA = L_XSTR ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clear L_XSTR.&lt;/P&gt;&lt;P&gt;    perform CREATE_CUSTOM_DEMO using L_IXML_CUSTOM_DOC.&lt;/P&gt;&lt;P&gt;    L_OSTREAM = G_IXML_SF-&amp;gt;CREATE_OSTREAM_XSTRING( L_XSTR ).&lt;/P&gt;&lt;P&gt;    call method L_IXML_CUSTOM_DOC-&amp;gt;RENDER&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        OSTREAM = L_OSTREAM.&lt;/P&gt;&lt;P&gt;    G_CE_VIEWER-&amp;gt;SET_CUSTOMIZING( XDATA = L_XSTR ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call method G_CE_VIEWER-&amp;gt;RENDER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if CUSTOM_CONTAINER is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create a custom container control for our ALV Control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    create object CUSTOM_CONTAINER&lt;/P&gt;&lt;P&gt;        exporting&lt;/P&gt;&lt;P&gt;            CONTAINER_NAME = MYCONTAINER&lt;/P&gt;&lt;P&gt;        exceptions&lt;/P&gt;&lt;P&gt;            CNTL_ERROR = 1&lt;/P&gt;&lt;P&gt;            CNTL_SYSTEM_ERROR = 2&lt;/P&gt;&lt;P&gt;            CREATE_ERROR = 3&lt;/P&gt;&lt;P&gt;            LIFETIME_ERROR = 4&lt;/P&gt;&lt;P&gt;            LIFETIME_DYNPRO_DYNPRO_LINK = 5.&lt;/P&gt;&lt;P&gt;    if SY-SUBRC ne 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;add your handling, for example&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      call function 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;        exporting&lt;/P&gt;&lt;P&gt;          TITEL = G_REPID&lt;/P&gt;&lt;P&gt;          TXT2  = SY-SUBRC&lt;/P&gt;&lt;P&gt;          TXT1  = 'The control could not be created'(510).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    create object GRID1&lt;/P&gt;&lt;P&gt;          exporting I_PARENT = CUSTOM_CONTAINER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;§ 4.Transfer your structure and your variable using parameters&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IS_VARIANT and I_SAVE of method set_table_for_first_display.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    call method GRID1-&amp;gt;SET_TABLE_FOR_FIRST_DISPLAY&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        I_STRUCTURE_NAME = 'SFLIGHT'&lt;/P&gt;&lt;P&gt;        IS_VARIANT       = GS_LAYOUT "&amp;amp;see below&lt;/P&gt;&lt;P&gt;        I_SAVE           = X_SAVE     "&amp;amp;see below&lt;/P&gt;&lt;P&gt;        I_DEFAULT        = 'X'&lt;/P&gt;&lt;P&gt;      changing&lt;/P&gt;&lt;P&gt;        IT_OUTTAB        = GT_SFLIGHT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;amp; If you leave out the these parameters, the menu beneath&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the layout icon disappears.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endmodule.                 " STATUS_0100  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  USER_COMMAND_0100  INPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;module USER_COMMAND_0100 input.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  G_SAVE_OKCODE = OKCODE.&lt;/P&gt;&lt;P&gt;  clear OKCODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  case G_SAVE_OKCODE.&lt;/P&gt;&lt;P&gt;    when 'DESIGN'.&lt;/P&gt;&lt;P&gt;      perform TOGGLE_DESIGN_MODE.&lt;/P&gt;&lt;P&gt;    when 'VALUE'.&lt;/P&gt;&lt;P&gt;      perform TOGGLE_VALUE_CHANGE.&lt;/P&gt;&lt;P&gt;    when 'SAVE'.&lt;/P&gt;&lt;P&gt;      perform SAVE_CUSTOMIZING.&lt;/P&gt;&lt;P&gt;    when 'PRINT'.&lt;/P&gt;&lt;P&gt;      perform PRINT.&lt;/P&gt;&lt;P&gt;    when 'EXIT'.&lt;/P&gt;&lt;P&gt;      leave program.&lt;/P&gt;&lt;P&gt;    when 'BACK'.&lt;/P&gt;&lt;P&gt;      leave program.&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endmodule.                 " USER_COMMAND_0100  INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      IMPLEMENTATION&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;class CL_ABAP_CHAR_UTILITIES definition load.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  create_data_demo&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form CREATE_DATA_DEMO using P_IXML_DOC type ref to IF_IXML_DOCUMENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: L_SIMPLECHARTDATA    type ref to IF_IXML_ELEMENT,&lt;/P&gt;&lt;P&gt;        L_CATEGORIES         type ref to IF_IXML_ELEMENT,&lt;/P&gt;&lt;P&gt;        L_SERIES             type ref to IF_IXML_ELEMENT,&lt;/P&gt;&lt;P&gt;        L_ELEMENT            type ref to IF_IXML_ELEMENT,&lt;/P&gt;&lt;P&gt;        L_ENCODING           type ref to IF_IXML_ENCODING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  P_IXML_DOC = G_IXML-&amp;gt;CREATE_DOCUMENT( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_ENCODING = G_IXML-&amp;gt;CREATE_ENCODING(&lt;/P&gt;&lt;P&gt;    BYTE_ORDER = IF_IXML_ENCODING=&amp;gt;CO_LITTLE_ENDIAN&lt;/P&gt;&lt;P&gt;    CHARACTER_SET = 'utf-8' ).&lt;/P&gt;&lt;P&gt;  P_IXML_DOC-&amp;gt;SET_ENCODING( L_ENCODING ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_SIMPLECHARTDATA = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'SimpleChartData' PARENT = P_IXML_DOC ).&lt;/P&gt;&lt;P&gt;  L_CATEGORIES = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'Categories' PARENT = L_SIMPLECHARTDATA ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'C' PARENT = L_CATEGORIES ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( '1st quarter' ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'C' PARENT = L_CATEGORIES ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( '2nd quarter' ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'C' PARENT = L_CATEGORIES ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( '3rd quarter' ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'C' PARENT = L_CATEGORIES ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( '4th quarter' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_SERIES = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'Series' PARENT = L_SIMPLECHARTDATA ).&lt;/P&gt;&lt;P&gt;  L_SERIES-&amp;gt;SET_ATTRIBUTE( NAME = 'label' VALUE = 'Coffee' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'S' PARENT = L_SERIES ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( '94' ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'S' PARENT = L_SERIES ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( '110' ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'S' PARENT = L_SERIES ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( '139' ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'S' PARENT = L_SERIES ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( '192' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_SERIES = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'Series' PARENT = L_SIMPLECHARTDATA ).&lt;/P&gt;&lt;P&gt;  L_SERIES-&amp;gt;SET_ATTRIBUTE( NAME = 'label' VALUE = 'Espresso' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'S' PARENT = L_SERIES ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( '35' ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'S' PARENT = L_SERIES ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( '39' ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'S' PARENT = L_SERIES ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( '38' ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'S' PARENT = L_SERIES ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( '59' ).&lt;/P&gt;&lt;P&gt;endform.                    " create_data_demo&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  create_custom_demo&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form CREATE_CUSTOM_DEMO using P_IXML_DOC type ref to IF_IXML_DOCUMENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: L_ROOT            type ref to IF_IXML_ELEMENT,&lt;/P&gt;&lt;P&gt;        L_GLOBALSETTINGS  type ref to IF_IXML_ELEMENT,&lt;/P&gt;&lt;P&gt;        L_DEFAULT         type ref to IF_IXML_ELEMENT,&lt;/P&gt;&lt;P&gt;        L_ELEMENTS        type ref to IF_IXML_ELEMENT,&lt;/P&gt;&lt;P&gt;        L_CHARTELEMENTS   type ref to IF_IXML_ELEMENT,&lt;/P&gt;&lt;P&gt;        L_TITLE           type ref to IF_IXML_ELEMENT,&lt;/P&gt;&lt;P&gt;        L_ELEMENT            type ref to IF_IXML_ELEMENT,&lt;/P&gt;&lt;P&gt;        L_ENCODING           type ref to IF_IXML_ENCODING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  P_IXML_DOC = G_IXML-&amp;gt;CREATE_DOCUMENT( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_ENCODING = G_IXML-&amp;gt;CREATE_ENCODING(&lt;/P&gt;&lt;P&gt;    BYTE_ORDER = IF_IXML_ENCODING=&amp;gt;CO_LITTLE_ENDIAN&lt;/P&gt;&lt;P&gt;    CHARACTER_SET = 'utf-8' ).&lt;/P&gt;&lt;P&gt;  P_IXML_DOC-&amp;gt;SET_ENCODING( L_ENCODING ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_ROOT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'SAPChartCustomizing' PARENT = P_IXML_DOC ).&lt;/P&gt;&lt;P&gt;  L_ROOT-&amp;gt;SET_ATTRIBUTE( NAME = 'version' VALUE = '1.1' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_GLOBALSETTINGS = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'GlobalSettings' PARENT = L_ROOT ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'FileType' PARENT = L_GLOBALSETTINGS ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( 'PNG' ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'Dimension' PARENT = L_GLOBALSETTINGS ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( 'PseudoThree' ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'Width' PARENT = L_GLOBALSETTINGS ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( '640' ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'Height' PARENT = L_GLOBALSETTINGS ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( '360' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_DEFAULT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'Defaults' PARENT = L_GLOBALSETTINGS ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'FontFamily' PARENT = L_DEFAULT ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( 'Arial' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_ELEMENTS = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'Elements' PARENT = L_ROOT ).&lt;/P&gt;&lt;P&gt;  L_CHARTELEMENTS = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'ChartElements' PARENT = L_ELEMENTS ).&lt;/P&gt;&lt;P&gt;  L_TITLE = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'Title' PARENT = L_CHARTELEMENTS ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'Extension' PARENT = L_TITLE ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( 'href="sapevent:onclick?Title"' ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'Caption' PARENT = L_TITLE ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( 'Caffeine Consumption' ).&lt;/P&gt;&lt;P&gt;endform.                    " create_custom_demo&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  toggle_design_mode&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form TOGGLE_DESIGN_MODE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: L_WIN_CHART       type ref to CL_GUI_CHART_ENGINE_WIN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  catch system-exceptions MOVE_CAST_ERROR = 1.&lt;/P&gt;&lt;P&gt;    L_WIN_CHART ?= G_CE_VIEWER-&amp;gt;GET_CONTROL( ).&lt;/P&gt;&lt;P&gt;  endcatch.&lt;/P&gt;&lt;P&gt;  if SY-SUBRC is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if G_DESIGN_MODE is initial.&lt;/P&gt;&lt;P&gt;      G_DESIGN_MODE = 'X'.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      G_DESIGN_MODE = ' '.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_WIN_CHART-&amp;gt;SET_DESIGN_MODE( FLAG = G_DESIGN_MODE EVENT = 'X' ).&lt;/P&gt;&lt;P&gt;    L_WIN_CHART-&amp;gt;RESTRICT_CHART_TYPES( CHARTTYPES = 'Columns|Lines' ).&lt;/P&gt;&lt;P&gt;    L_WIN_CHART-&amp;gt;RESTRICT_PROPERTY_EVENTS( EVENTS = 'ChartType' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " toggle_design_mode&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  toggle_value_change&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form TOGGLE_VALUE_CHANGE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: L_WIN_CHART       type ref to CL_GUI_CHART_ENGINE_WIN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  catch system-exceptions MOVE_CAST_ERROR = 1.&lt;/P&gt;&lt;P&gt;    L_WIN_CHART ?= G_CE_VIEWER-&amp;gt;GET_CONTROL( ).&lt;/P&gt;&lt;P&gt;  endcatch.&lt;/P&gt;&lt;P&gt;  if SY-SUBRC is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if G_VALUE_CHANGE is initial.&lt;/P&gt;&lt;P&gt;      G_VALUE_CHANGE = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      L_WIN_CHART-&amp;gt;ENABLE_VALUE_CHANGE( ).&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      G_VALUE_CHANGE = ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      L_WIN_CHART-&amp;gt;DISABLE_VALUE_CHANGE( ).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " toggle_value_change&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  save_customizing&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form SAVE_CUSTOMIZING .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: L_XML_CUSTOMIZING type W3HTMLTABTYPE,&lt;/P&gt;&lt;P&gt;        L_WIN_CHART       type ref to CL_GUI_CHART_ENGINE_WIN,&lt;/P&gt;&lt;P&gt;        L_FILENAME        type STRING,&lt;/P&gt;&lt;P&gt;        L_FILEPATH        type STRING,&lt;/P&gt;&lt;P&gt;        L_FILESIZE        type I,&lt;/P&gt;&lt;P&gt;        L_PATH            type STRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  catch system-exceptions MOVE_CAST_ERROR = 1.&lt;/P&gt;&lt;P&gt;    L_WIN_CHART ?= G_CE_VIEWER-&amp;gt;GET_CONTROL( ).&lt;/P&gt;&lt;P&gt;  endcatch.&lt;/P&gt;&lt;P&gt;  if SY-SUBRC is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_WIN_CHART-&amp;gt;GET_CUSTOMIZING(&lt;/P&gt;&lt;P&gt;      importing&lt;/P&gt;&lt;P&gt;        DATA_TABLE = L_XML_CUSTOMIZING&lt;/P&gt;&lt;P&gt;    ).&lt;/P&gt;&lt;P&gt;    describe table L_XML_CUSTOMIZING lines L_FILESIZE.&lt;/P&gt;&lt;P&gt;    multiply L_FILESIZE by 255.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_FILENAME = 'customizing.xml'.&lt;/P&gt;&lt;P&gt;    call method CL_GUI_FRONTEND_SERVICES=&amp;gt;FILE_SAVE_DIALOG&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        DEFAULT_FILE_NAME = L_FILENAME&lt;/P&gt;&lt;P&gt;      changing&lt;/P&gt;&lt;P&gt;        FILENAME          = L_FILENAME&lt;/P&gt;&lt;P&gt;        PATH              = L_PATH&lt;/P&gt;&lt;P&gt;        FULLPATH          = L_FILEPATH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if not L_FILEPATH is initial.&lt;/P&gt;&lt;P&gt;      call method CL_GUI_FRONTEND_SERVICES=&amp;gt;GUI_DOWNLOAD&lt;/P&gt;&lt;P&gt;        exporting&lt;/P&gt;&lt;P&gt;          FILETYPE         = 'BIN'&lt;/P&gt;&lt;P&gt;          FILENAME         = L_FILEPATH&lt;/P&gt;&lt;P&gt;          BIN_FILESIZE     = L_FILESIZE&lt;/P&gt;&lt;P&gt;        changing&lt;/P&gt;&lt;P&gt;          DATA_TAB         = L_XML_CUSTOMIZING&lt;/P&gt;&lt;P&gt;        exceptions&lt;/P&gt;&lt;P&gt;          FILE_WRITE_ERROR = 1&lt;/P&gt;&lt;P&gt;          others           = 22.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " save_customizing&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  print&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form PRINT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: L_WIN_CHART       type ref to CL_GUI_CHART_ENGINE_WIN,&lt;/P&gt;&lt;P&gt;        L_S_PRINT_PARAMETERS type PRI_PARAMS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'GET_PRINT_PARAMETERS'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      DESTINATION            = 'LOCL'&lt;/P&gt;&lt;P&gt;      MODE                   = 'CURRENT'&lt;/P&gt;&lt;P&gt;      NO_DIALOG              = ''&lt;/P&gt;&lt;P&gt;    importing&lt;/P&gt;&lt;P&gt;      OUT_PARAMETERS         = L_S_PRINT_PARAMETERS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     VALID                  = L_VALID&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      ARCHIVE_INFO_NOT_FOUND = 1&lt;/P&gt;&lt;P&gt;      INVALID_PRINT_PARAMS   = 2&lt;/P&gt;&lt;P&gt;      INVALID_ARCHIVE_PARAMS = 3&lt;/P&gt;&lt;P&gt;      others                 = 4.&lt;/P&gt;&lt;P&gt;  if SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    BREAK USCGXS22.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  catch system-exceptions MOVE_CAST_ERROR = 1.&lt;/P&gt;&lt;P&gt;    L_WIN_CHART ?= G_CE_VIEWER-&amp;gt;GET_CONTROL( ).&lt;/P&gt;&lt;P&gt;  endcatch.&lt;/P&gt;&lt;P&gt;  if SY-SUBRC is initial.&lt;/P&gt;&lt;P&gt;    new-page print on parameters L_S_PRINT_PARAMETERS no dialog.&lt;/P&gt;&lt;P&gt;    L_WIN_CHART-&amp;gt;PRINT( ).&lt;/P&gt;&lt;P&gt;    new-page print off.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " print&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Clas  lcl_ce_viewer_eh&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;class LCL_CE_VIEWER_EH implementation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  method ON_CLICK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    data: L_MSG    type STRING,&lt;/P&gt;&lt;P&gt;          L_SERIES type STRING,&lt;/P&gt;&lt;P&gt;          L_POINT  type STRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_SERIES = SERIES.&lt;/P&gt;&lt;P&gt;    L_POINT = POINT.&lt;/P&gt;&lt;P&gt;    concatenate 'Element clicked:'(M01) ELEMENT&lt;/P&gt;&lt;P&gt;                'Series:'(T01) L_SERIES&lt;/P&gt;&lt;P&gt;                'Point:'(T02) L_POINT&lt;/P&gt;&lt;P&gt;           into L_MSG separated by SPACE.&lt;/P&gt;&lt;P&gt;    message L_MSG type 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endmethod.                    "on_click&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  method ON_VALUE_CHANGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    data: L_MSG    type STRING,&lt;/P&gt;&lt;P&gt;          L_SERIES type STRING,&lt;/P&gt;&lt;P&gt;          L_POINT  type STRING,&lt;/P&gt;&lt;P&gt;          L_VALUE  type STRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_SERIES = SERIES.&lt;/P&gt;&lt;P&gt;    L_POINT = POINT.&lt;/P&gt;&lt;P&gt;    L_VALUE = VALUE.&lt;/P&gt;&lt;P&gt;    concatenate 'Value changed:'(M02)&lt;/P&gt;&lt;P&gt;                'Series:'(T01) L_SERIES&lt;/P&gt;&lt;P&gt;                'Point:'(T02) L_POINT&lt;/P&gt;&lt;P&gt;                'Value:'(T03) L_VALUE&lt;/P&gt;&lt;P&gt;           into L_MSG separated by SPACE.&lt;/P&gt;&lt;P&gt;    message L_MSG type 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endmethod.                    "on_value_change&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  method ON_PROPERTY_CHANGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    data: L_MSG    type STRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    concatenate 'Property changed:'(M03)&lt;/P&gt;&lt;P&gt;                'Element:'(T04) ELEMENT&lt;/P&gt;&lt;P&gt;                'Name:'(T05) NAME&lt;/P&gt;&lt;P&gt;                'Value:'(T03) VALUE&lt;/P&gt;&lt;P&gt;           into L_MSG separated by SPACE.&lt;/P&gt;&lt;P&gt;    message L_MSG type 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endmethod.                    "on_property_change&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endclass.                    "lcl_ce_viewer_eh IMPLEMENTATION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 13 Aug 2007 18:01:51 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-08-13T18:01:51Z</dc:date>
    <item>
      <title>graphical report ?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/graphical-report/m-p/2650374#M610907</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;how to create a graphical report ?plz forward me one example of graphical report ?&lt;/P&gt;&lt;P&gt;                       or&lt;/P&gt;&lt;P&gt;how to convert normal report to graphical report ?steps plzzzzzzzzz ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 Aug 2007 17:50:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/graphical-report/m-p/2650374#M610907</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-13T17:50:59Z</dc:date>
    </item>
    <item>
      <title>Re: graphical report ?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/graphical-report/m-p/2650375#M610908</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here is an example - don't forget to reward points!!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;report  GRAPHICS_GUI_CE_DEMO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;global data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: G_CE_CONTAINER   type ref to CL_GUI_CUSTOM_CONTAINER.&lt;/P&gt;&lt;P&gt;data: G_CE_NEW_CONTAINER   type ref to CL_GUI_CUSTOM_CONTAINER.&lt;/P&gt;&lt;P&gt;data: G_CE_VIEWER      type ref to CL_GUI_CHART_ENGINE.&lt;/P&gt;&lt;P&gt;data: G_CE_VIEWER_NEW  type ref to CL_GUI_CHART_ENGINE.&lt;/P&gt;&lt;P&gt;data: G_IXML           type ref to IF_IXML.&lt;/P&gt;&lt;P&gt;data: G_IXML_SF        type ref to IF_IXML_STREAM_FACTORY.&lt;/P&gt;&lt;P&gt;data: G_DESIGN_MODE    type C.&lt;/P&gt;&lt;P&gt;data: G_VALUE_CHANGE   type C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: G_SAVE_OKCODE    like SY-UCOMM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;dynpro data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: OKCODE        like SY-UCOMM,&lt;/P&gt;&lt;P&gt;      GT_SFLIGHT type table of SFLIGHT,&lt;/P&gt;&lt;P&gt;      G_REPID like SY-REPID,&lt;/P&gt;&lt;P&gt;      G_MAX type I value 100,&lt;/P&gt;&lt;P&gt;      MYCONTAINER type SCRFNAME value 'NEW_CONTAINER',&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;reference to custom container: neccessary to bind ALV Control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CUSTOM_CONTAINER type ref to CL_GUI_CUSTOM_CONTAINER,&lt;/P&gt;&lt;P&gt;      GRID1  type ref to CL_GUI_ALV_GRID.&lt;/P&gt;&lt;P&gt;*.........................................................&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;'x_save' contains a flag to control which kind of a layout the user&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;can save (see below).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;'gs_layout' identifies a layout. It must contain&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;at least the report-id.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;§ 1.Declare a structure of type DISVARIANT to identify a layout&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  and a variable to define the saving options for users.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: X_SAVE,                          "for Parameter I_SAVE&lt;/P&gt;&lt;P&gt;      GS_LAYOUT type DISVARIANT.      "for parameter IS_VARIANT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;event handler&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;class LCL_CE_VIEWER_EH definition.&lt;/P&gt;&lt;P&gt;  public section.&lt;/P&gt;&lt;P&gt;    methods ON_CLICK for event CLICK of CL_GUI_CHART_ENGINE&lt;/P&gt;&lt;P&gt;      importing&lt;/P&gt;&lt;P&gt;        ELEMENT SERIES POINT.&lt;/P&gt;&lt;P&gt;    methods ON_VALUE_CHANGE for event VALUE_CHANGE of&lt;/P&gt;&lt;P&gt;    CL_GUI_CHART_ENGINE&lt;/P&gt;&lt;P&gt;      importing&lt;/P&gt;&lt;P&gt;        SERIES POINT VALUE.&lt;/P&gt;&lt;P&gt;    methods ON_PROPERTY_CHANGE for event PROPERTY_CHANGE of&lt;/P&gt;&lt;P&gt;    CL_GUI_CHART_ENGINE&lt;/P&gt;&lt;P&gt;      importing&lt;/P&gt;&lt;P&gt;        ELEMENT NAME VALUE.&lt;/P&gt;&lt;P&gt;endclass.                    "lcl_ce_viewer_eh DEFINITION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: G_CE_VIEWER_EH type ref to LCL_CE_VIEWER_EH.&lt;/P&gt;&lt;P&gt;data: G_CE_VIEWER_EH_NEW type ref to LCL_CE_VIEWER_EH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;entry point&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;  select * from SFLIGHT into table GT_SFLIGHT up to G_MAX rows.&lt;/P&gt;&lt;P&gt;*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;/P&gt;&lt;P&gt;  clear GS_LAYOUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create global objects&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  G_IXML = CL_IXML=&amp;gt;CREATE( ).&lt;/P&gt;&lt;P&gt;  G_IXML_SF = G_IXML-&amp;gt;CREATE_STREAM_FACTORY( ).&lt;/P&gt;&lt;P&gt;  G_REPID = SY-REPID.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;§ 2.At least field REPORT of this structure has to be filled!&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  GS_LAYOUT-REPORT = G_REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  X_SAVE = 'A'.   "The user may save all types of a layout&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call screen '100'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ENDREPORT  GRAPHICS_GUI_CE_DEMO.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  STATUS_0100  OUTPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;module STATUS_0100 output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: L_IXML_DATA_DOC   type ref to IF_IXML_DOCUMENT,&lt;/P&gt;&lt;P&gt;        L_IXML_CUSTOM_DOC type ref to IF_IXML_DOCUMENT,&lt;/P&gt;&lt;P&gt;        L_OSTREAM         type ref to IF_IXML_OSTREAM,&lt;/P&gt;&lt;P&gt;        L_XSTR            type XSTRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  set pf-status '100'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if G_CE_CONTAINER is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    create object G_CE_CONTAINER&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        CONTAINER_NAME = 'CONTAINER'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    create object G_CE_VIEWER&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        PARENT = G_CE_CONTAINER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    create object G_CE_VIEWER_EH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    set handler G_CE_VIEWER_EH-&amp;gt;ON_CLICK for G_CE_VIEWER.&lt;/P&gt;&lt;P&gt;    set handler G_CE_VIEWER_EH-&amp;gt;ON_VALUE_CHANGE for G_CE_VIEWER.&lt;/P&gt;&lt;P&gt;    set handler G_CE_VIEWER_EH-&amp;gt;ON_PROPERTY_CHANGE for G_CE_VIEWER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform CREATE_DATA_DEMO using L_IXML_DATA_DOC.&lt;/P&gt;&lt;P&gt;    L_OSTREAM = G_IXML_SF-&amp;gt;CREATE_OSTREAM_XSTRING( L_XSTR ).&lt;/P&gt;&lt;P&gt;    call method L_IXML_DATA_DOC-&amp;gt;RENDER&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        OSTREAM = L_OSTREAM.&lt;/P&gt;&lt;P&gt;    G_CE_VIEWER-&amp;gt;SET_DATA( XDATA = L_XSTR ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clear L_XSTR.&lt;/P&gt;&lt;P&gt;    perform CREATE_CUSTOM_DEMO using L_IXML_CUSTOM_DOC.&lt;/P&gt;&lt;P&gt;    L_OSTREAM = G_IXML_SF-&amp;gt;CREATE_OSTREAM_XSTRING( L_XSTR ).&lt;/P&gt;&lt;P&gt;    call method L_IXML_CUSTOM_DOC-&amp;gt;RENDER&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        OSTREAM = L_OSTREAM.&lt;/P&gt;&lt;P&gt;    G_CE_VIEWER-&amp;gt;SET_CUSTOMIZING( XDATA = L_XSTR ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call method G_CE_VIEWER-&amp;gt;RENDER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if CUSTOM_CONTAINER is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create a custom container control for our ALV Control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    create object CUSTOM_CONTAINER&lt;/P&gt;&lt;P&gt;        exporting&lt;/P&gt;&lt;P&gt;            CONTAINER_NAME = MYCONTAINER&lt;/P&gt;&lt;P&gt;        exceptions&lt;/P&gt;&lt;P&gt;            CNTL_ERROR = 1&lt;/P&gt;&lt;P&gt;            CNTL_SYSTEM_ERROR = 2&lt;/P&gt;&lt;P&gt;            CREATE_ERROR = 3&lt;/P&gt;&lt;P&gt;            LIFETIME_ERROR = 4&lt;/P&gt;&lt;P&gt;            LIFETIME_DYNPRO_DYNPRO_LINK = 5.&lt;/P&gt;&lt;P&gt;    if SY-SUBRC ne 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;add your handling, for example&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      call function 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;        exporting&lt;/P&gt;&lt;P&gt;          TITEL = G_REPID&lt;/P&gt;&lt;P&gt;          TXT2  = SY-SUBRC&lt;/P&gt;&lt;P&gt;          TXT1  = 'The control could not be created'(510).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    create object GRID1&lt;/P&gt;&lt;P&gt;          exporting I_PARENT = CUSTOM_CONTAINER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;§ 4.Transfer your structure and your variable using parameters&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IS_VARIANT and I_SAVE of method set_table_for_first_display.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    call method GRID1-&amp;gt;SET_TABLE_FOR_FIRST_DISPLAY&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        I_STRUCTURE_NAME = 'SFLIGHT'&lt;/P&gt;&lt;P&gt;        IS_VARIANT       = GS_LAYOUT "&amp;amp;see below&lt;/P&gt;&lt;P&gt;        I_SAVE           = X_SAVE     "&amp;amp;see below&lt;/P&gt;&lt;P&gt;        I_DEFAULT        = 'X'&lt;/P&gt;&lt;P&gt;      changing&lt;/P&gt;&lt;P&gt;        IT_OUTTAB        = GT_SFLIGHT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;amp; If you leave out the these parameters, the menu beneath&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the layout icon disappears.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endmodule.                 " STATUS_0100  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  USER_COMMAND_0100  INPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;module USER_COMMAND_0100 input.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  G_SAVE_OKCODE = OKCODE.&lt;/P&gt;&lt;P&gt;  clear OKCODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  case G_SAVE_OKCODE.&lt;/P&gt;&lt;P&gt;    when 'DESIGN'.&lt;/P&gt;&lt;P&gt;      perform TOGGLE_DESIGN_MODE.&lt;/P&gt;&lt;P&gt;    when 'VALUE'.&lt;/P&gt;&lt;P&gt;      perform TOGGLE_VALUE_CHANGE.&lt;/P&gt;&lt;P&gt;    when 'SAVE'.&lt;/P&gt;&lt;P&gt;      perform SAVE_CUSTOMIZING.&lt;/P&gt;&lt;P&gt;    when 'PRINT'.&lt;/P&gt;&lt;P&gt;      perform PRINT.&lt;/P&gt;&lt;P&gt;    when 'EXIT'.&lt;/P&gt;&lt;P&gt;      leave program.&lt;/P&gt;&lt;P&gt;    when 'BACK'.&lt;/P&gt;&lt;P&gt;      leave program.&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endmodule.                 " USER_COMMAND_0100  INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      IMPLEMENTATION&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;class CL_ABAP_CHAR_UTILITIES definition load.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  create_data_demo&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form CREATE_DATA_DEMO using P_IXML_DOC type ref to IF_IXML_DOCUMENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: L_SIMPLECHARTDATA    type ref to IF_IXML_ELEMENT,&lt;/P&gt;&lt;P&gt;        L_CATEGORIES         type ref to IF_IXML_ELEMENT,&lt;/P&gt;&lt;P&gt;        L_SERIES             type ref to IF_IXML_ELEMENT,&lt;/P&gt;&lt;P&gt;        L_ELEMENT            type ref to IF_IXML_ELEMENT,&lt;/P&gt;&lt;P&gt;        L_ENCODING           type ref to IF_IXML_ENCODING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  P_IXML_DOC = G_IXML-&amp;gt;CREATE_DOCUMENT( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_ENCODING = G_IXML-&amp;gt;CREATE_ENCODING(&lt;/P&gt;&lt;P&gt;    BYTE_ORDER = IF_IXML_ENCODING=&amp;gt;CO_LITTLE_ENDIAN&lt;/P&gt;&lt;P&gt;    CHARACTER_SET = 'utf-8' ).&lt;/P&gt;&lt;P&gt;  P_IXML_DOC-&amp;gt;SET_ENCODING( L_ENCODING ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_SIMPLECHARTDATA = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'SimpleChartData' PARENT = P_IXML_DOC ).&lt;/P&gt;&lt;P&gt;  L_CATEGORIES = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'Categories' PARENT = L_SIMPLECHARTDATA ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'C' PARENT = L_CATEGORIES ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( '1st quarter' ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'C' PARENT = L_CATEGORIES ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( '2nd quarter' ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'C' PARENT = L_CATEGORIES ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( '3rd quarter' ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'C' PARENT = L_CATEGORIES ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( '4th quarter' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_SERIES = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'Series' PARENT = L_SIMPLECHARTDATA ).&lt;/P&gt;&lt;P&gt;  L_SERIES-&amp;gt;SET_ATTRIBUTE( NAME = 'label' VALUE = 'Coffee' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'S' PARENT = L_SERIES ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( '94' ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'S' PARENT = L_SERIES ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( '110' ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'S' PARENT = L_SERIES ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( '139' ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'S' PARENT = L_SERIES ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( '192' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_SERIES = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'Series' PARENT = L_SIMPLECHARTDATA ).&lt;/P&gt;&lt;P&gt;  L_SERIES-&amp;gt;SET_ATTRIBUTE( NAME = 'label' VALUE = 'Espresso' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'S' PARENT = L_SERIES ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( '35' ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'S' PARENT = L_SERIES ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( '39' ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'S' PARENT = L_SERIES ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( '38' ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'S' PARENT = L_SERIES ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( '59' ).&lt;/P&gt;&lt;P&gt;endform.                    " create_data_demo&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  create_custom_demo&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form CREATE_CUSTOM_DEMO using P_IXML_DOC type ref to IF_IXML_DOCUMENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: L_ROOT            type ref to IF_IXML_ELEMENT,&lt;/P&gt;&lt;P&gt;        L_GLOBALSETTINGS  type ref to IF_IXML_ELEMENT,&lt;/P&gt;&lt;P&gt;        L_DEFAULT         type ref to IF_IXML_ELEMENT,&lt;/P&gt;&lt;P&gt;        L_ELEMENTS        type ref to IF_IXML_ELEMENT,&lt;/P&gt;&lt;P&gt;        L_CHARTELEMENTS   type ref to IF_IXML_ELEMENT,&lt;/P&gt;&lt;P&gt;        L_TITLE           type ref to IF_IXML_ELEMENT,&lt;/P&gt;&lt;P&gt;        L_ELEMENT            type ref to IF_IXML_ELEMENT,&lt;/P&gt;&lt;P&gt;        L_ENCODING           type ref to IF_IXML_ENCODING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  P_IXML_DOC = G_IXML-&amp;gt;CREATE_DOCUMENT( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_ENCODING = G_IXML-&amp;gt;CREATE_ENCODING(&lt;/P&gt;&lt;P&gt;    BYTE_ORDER = IF_IXML_ENCODING=&amp;gt;CO_LITTLE_ENDIAN&lt;/P&gt;&lt;P&gt;    CHARACTER_SET = 'utf-8' ).&lt;/P&gt;&lt;P&gt;  P_IXML_DOC-&amp;gt;SET_ENCODING( L_ENCODING ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_ROOT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'SAPChartCustomizing' PARENT = P_IXML_DOC ).&lt;/P&gt;&lt;P&gt;  L_ROOT-&amp;gt;SET_ATTRIBUTE( NAME = 'version' VALUE = '1.1' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_GLOBALSETTINGS = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'GlobalSettings' PARENT = L_ROOT ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'FileType' PARENT = L_GLOBALSETTINGS ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( 'PNG' ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'Dimension' PARENT = L_GLOBALSETTINGS ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( 'PseudoThree' ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'Width' PARENT = L_GLOBALSETTINGS ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( '640' ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'Height' PARENT = L_GLOBALSETTINGS ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( '360' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_DEFAULT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'Defaults' PARENT = L_GLOBALSETTINGS ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'FontFamily' PARENT = L_DEFAULT ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( 'Arial' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_ELEMENTS = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'Elements' PARENT = L_ROOT ).&lt;/P&gt;&lt;P&gt;  L_CHARTELEMENTS = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'ChartElements' PARENT = L_ELEMENTS ).&lt;/P&gt;&lt;P&gt;  L_TITLE = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'Title' PARENT = L_CHARTELEMENTS ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'Extension' PARENT = L_TITLE ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( 'href="sapevent:onclick?Title"' ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT = P_IXML_DOC-&amp;gt;CREATE_SIMPLE_ELEMENT(&lt;/P&gt;&lt;P&gt;            NAME = 'Caption' PARENT = L_TITLE ).&lt;/P&gt;&lt;P&gt;  L_ELEMENT-&amp;gt;IF_IXML_NODE~SET_VALUE( 'Caffeine Consumption' ).&lt;/P&gt;&lt;P&gt;endform.                    " create_custom_demo&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  toggle_design_mode&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form TOGGLE_DESIGN_MODE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: L_WIN_CHART       type ref to CL_GUI_CHART_ENGINE_WIN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  catch system-exceptions MOVE_CAST_ERROR = 1.&lt;/P&gt;&lt;P&gt;    L_WIN_CHART ?= G_CE_VIEWER-&amp;gt;GET_CONTROL( ).&lt;/P&gt;&lt;P&gt;  endcatch.&lt;/P&gt;&lt;P&gt;  if SY-SUBRC is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if G_DESIGN_MODE is initial.&lt;/P&gt;&lt;P&gt;      G_DESIGN_MODE = 'X'.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      G_DESIGN_MODE = ' '.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_WIN_CHART-&amp;gt;SET_DESIGN_MODE( FLAG = G_DESIGN_MODE EVENT = 'X' ).&lt;/P&gt;&lt;P&gt;    L_WIN_CHART-&amp;gt;RESTRICT_CHART_TYPES( CHARTTYPES = 'Columns|Lines' ).&lt;/P&gt;&lt;P&gt;    L_WIN_CHART-&amp;gt;RESTRICT_PROPERTY_EVENTS( EVENTS = 'ChartType' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " toggle_design_mode&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  toggle_value_change&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form TOGGLE_VALUE_CHANGE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: L_WIN_CHART       type ref to CL_GUI_CHART_ENGINE_WIN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  catch system-exceptions MOVE_CAST_ERROR = 1.&lt;/P&gt;&lt;P&gt;    L_WIN_CHART ?= G_CE_VIEWER-&amp;gt;GET_CONTROL( ).&lt;/P&gt;&lt;P&gt;  endcatch.&lt;/P&gt;&lt;P&gt;  if SY-SUBRC is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if G_VALUE_CHANGE is initial.&lt;/P&gt;&lt;P&gt;      G_VALUE_CHANGE = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      L_WIN_CHART-&amp;gt;ENABLE_VALUE_CHANGE( ).&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      G_VALUE_CHANGE = ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      L_WIN_CHART-&amp;gt;DISABLE_VALUE_CHANGE( ).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " toggle_value_change&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  save_customizing&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form SAVE_CUSTOMIZING .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: L_XML_CUSTOMIZING type W3HTMLTABTYPE,&lt;/P&gt;&lt;P&gt;        L_WIN_CHART       type ref to CL_GUI_CHART_ENGINE_WIN,&lt;/P&gt;&lt;P&gt;        L_FILENAME        type STRING,&lt;/P&gt;&lt;P&gt;        L_FILEPATH        type STRING,&lt;/P&gt;&lt;P&gt;        L_FILESIZE        type I,&lt;/P&gt;&lt;P&gt;        L_PATH            type STRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  catch system-exceptions MOVE_CAST_ERROR = 1.&lt;/P&gt;&lt;P&gt;    L_WIN_CHART ?= G_CE_VIEWER-&amp;gt;GET_CONTROL( ).&lt;/P&gt;&lt;P&gt;  endcatch.&lt;/P&gt;&lt;P&gt;  if SY-SUBRC is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_WIN_CHART-&amp;gt;GET_CUSTOMIZING(&lt;/P&gt;&lt;P&gt;      importing&lt;/P&gt;&lt;P&gt;        DATA_TABLE = L_XML_CUSTOMIZING&lt;/P&gt;&lt;P&gt;    ).&lt;/P&gt;&lt;P&gt;    describe table L_XML_CUSTOMIZING lines L_FILESIZE.&lt;/P&gt;&lt;P&gt;    multiply L_FILESIZE by 255.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_FILENAME = 'customizing.xml'.&lt;/P&gt;&lt;P&gt;    call method CL_GUI_FRONTEND_SERVICES=&amp;gt;FILE_SAVE_DIALOG&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        DEFAULT_FILE_NAME = L_FILENAME&lt;/P&gt;&lt;P&gt;      changing&lt;/P&gt;&lt;P&gt;        FILENAME          = L_FILENAME&lt;/P&gt;&lt;P&gt;        PATH              = L_PATH&lt;/P&gt;&lt;P&gt;        FULLPATH          = L_FILEPATH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if not L_FILEPATH is initial.&lt;/P&gt;&lt;P&gt;      call method CL_GUI_FRONTEND_SERVICES=&amp;gt;GUI_DOWNLOAD&lt;/P&gt;&lt;P&gt;        exporting&lt;/P&gt;&lt;P&gt;          FILETYPE         = 'BIN'&lt;/P&gt;&lt;P&gt;          FILENAME         = L_FILEPATH&lt;/P&gt;&lt;P&gt;          BIN_FILESIZE     = L_FILESIZE&lt;/P&gt;&lt;P&gt;        changing&lt;/P&gt;&lt;P&gt;          DATA_TAB         = L_XML_CUSTOMIZING&lt;/P&gt;&lt;P&gt;        exceptions&lt;/P&gt;&lt;P&gt;          FILE_WRITE_ERROR = 1&lt;/P&gt;&lt;P&gt;          others           = 22.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " save_customizing&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  print&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form PRINT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: L_WIN_CHART       type ref to CL_GUI_CHART_ENGINE_WIN,&lt;/P&gt;&lt;P&gt;        L_S_PRINT_PARAMETERS type PRI_PARAMS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'GET_PRINT_PARAMETERS'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      DESTINATION            = 'LOCL'&lt;/P&gt;&lt;P&gt;      MODE                   = 'CURRENT'&lt;/P&gt;&lt;P&gt;      NO_DIALOG              = ''&lt;/P&gt;&lt;P&gt;    importing&lt;/P&gt;&lt;P&gt;      OUT_PARAMETERS         = L_S_PRINT_PARAMETERS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     VALID                  = L_VALID&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      ARCHIVE_INFO_NOT_FOUND = 1&lt;/P&gt;&lt;P&gt;      INVALID_PRINT_PARAMS   = 2&lt;/P&gt;&lt;P&gt;      INVALID_ARCHIVE_PARAMS = 3&lt;/P&gt;&lt;P&gt;      others                 = 4.&lt;/P&gt;&lt;P&gt;  if SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    BREAK USCGXS22.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  catch system-exceptions MOVE_CAST_ERROR = 1.&lt;/P&gt;&lt;P&gt;    L_WIN_CHART ?= G_CE_VIEWER-&amp;gt;GET_CONTROL( ).&lt;/P&gt;&lt;P&gt;  endcatch.&lt;/P&gt;&lt;P&gt;  if SY-SUBRC is initial.&lt;/P&gt;&lt;P&gt;    new-page print on parameters L_S_PRINT_PARAMETERS no dialog.&lt;/P&gt;&lt;P&gt;    L_WIN_CHART-&amp;gt;PRINT( ).&lt;/P&gt;&lt;P&gt;    new-page print off.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " print&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Clas  lcl_ce_viewer_eh&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;class LCL_CE_VIEWER_EH implementation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  method ON_CLICK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    data: L_MSG    type STRING,&lt;/P&gt;&lt;P&gt;          L_SERIES type STRING,&lt;/P&gt;&lt;P&gt;          L_POINT  type STRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_SERIES = SERIES.&lt;/P&gt;&lt;P&gt;    L_POINT = POINT.&lt;/P&gt;&lt;P&gt;    concatenate 'Element clicked:'(M01) ELEMENT&lt;/P&gt;&lt;P&gt;                'Series:'(T01) L_SERIES&lt;/P&gt;&lt;P&gt;                'Point:'(T02) L_POINT&lt;/P&gt;&lt;P&gt;           into L_MSG separated by SPACE.&lt;/P&gt;&lt;P&gt;    message L_MSG type 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endmethod.                    "on_click&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  method ON_VALUE_CHANGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    data: L_MSG    type STRING,&lt;/P&gt;&lt;P&gt;          L_SERIES type STRING,&lt;/P&gt;&lt;P&gt;          L_POINT  type STRING,&lt;/P&gt;&lt;P&gt;          L_VALUE  type STRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_SERIES = SERIES.&lt;/P&gt;&lt;P&gt;    L_POINT = POINT.&lt;/P&gt;&lt;P&gt;    L_VALUE = VALUE.&lt;/P&gt;&lt;P&gt;    concatenate 'Value changed:'(M02)&lt;/P&gt;&lt;P&gt;                'Series:'(T01) L_SERIES&lt;/P&gt;&lt;P&gt;                'Point:'(T02) L_POINT&lt;/P&gt;&lt;P&gt;                'Value:'(T03) L_VALUE&lt;/P&gt;&lt;P&gt;           into L_MSG separated by SPACE.&lt;/P&gt;&lt;P&gt;    message L_MSG type 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endmethod.                    "on_value_change&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  method ON_PROPERTY_CHANGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    data: L_MSG    type STRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    concatenate 'Property changed:'(M03)&lt;/P&gt;&lt;P&gt;                'Element:'(T04) ELEMENT&lt;/P&gt;&lt;P&gt;                'Name:'(T05) NAME&lt;/P&gt;&lt;P&gt;                'Value:'(T03) VALUE&lt;/P&gt;&lt;P&gt;           into L_MSG separated by SPACE.&lt;/P&gt;&lt;P&gt;    message L_MSG type 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endmethod.                    "on_property_change&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endclass.                    "lcl_ce_viewer_eh IMPLEMENTATION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 Aug 2007 18:01:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/graphical-report/m-p/2650375#M610908</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-13T18:01:51Z</dc:date>
    </item>
    <item>
      <title>Re: graphical report ?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/graphical-report/m-p/2650376#M610909</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Try these way:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;1st Example:&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[code]&lt;/P&gt;&lt;P&gt;REPORT zmar_graphics .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This program illustrates a call to SAP Business Graphics. *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Each row in the DATA table contains one text label and a *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;single numeric value. *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF data OCCURS 1,&lt;/P&gt;&lt;P&gt;text(25),&lt;/P&gt;&lt;P&gt;value TYPE p,&lt;/P&gt;&lt;P&gt;END OF data.&lt;/P&gt;&lt;P&gt;DATA: tcol1(5) VALUE '#1991'.&lt;/P&gt;&lt;P&gt;DATA: title(25) VALUE 'Sales'.&lt;/P&gt;&lt;P&gt;SET PF-STATUS 'GRAF'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data-text = 'Product_1'.&lt;/P&gt;&lt;P&gt;data-value = 153470.&lt;/P&gt;&lt;P&gt;APPEND data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data-text = 'Product_2'.&lt;/P&gt;&lt;P&gt;data-value = 253150.&lt;/P&gt;&lt;P&gt;APPEND data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data-text = 'Product_3'.&lt;/P&gt;&lt;P&gt;data-value = 53470.&lt;/P&gt;&lt;P&gt;APPEND data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data-text = 'Product_4'.&lt;/P&gt;&lt;P&gt;data-value = 182000.&lt;/P&gt;&lt;P&gt;APPEND data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data-text = 'Product_5'.&lt;/P&gt;&lt;P&gt;data-value = 92410.&lt;/P&gt;&lt;P&gt;APPEND data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE: / 'Products',22 tcol1.&lt;/P&gt;&lt;P&gt;SKIP 2.&lt;/P&gt;&lt;P&gt;LOOP AT data.&lt;/P&gt;&lt;P&gt;  WRITE: / data-text, 12 data-value.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PF11: Put out a 2D graphic *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT PF11.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GRAPH_2D'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            titl = title&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            data = data.&lt;/P&gt;&lt;P&gt;[/code]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------------------------------" /&gt;&lt;P&gt;&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;2nd Example:&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[code]&lt;/P&gt;&lt;P&gt;REPORT zmar_graphics1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Data for 2D-Modification&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF data OCCURS 1,&lt;/P&gt;&lt;P&gt;text(25),&lt;/P&gt;&lt;P&gt;value TYPE p,&lt;/P&gt;&lt;P&gt;END OF data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: tcol1(5) VALUE '#1993'.&lt;/P&gt;&lt;P&gt;DATA: title(25) VALUE 'Merchandise 1993'.&lt;/P&gt;&lt;P&gt;DATA: tit2(10) VALUE 'Product'.&lt;/P&gt;&lt;P&gt;DATA: mod_row(5), mod_col(5), mod_val(20).&lt;/P&gt;&lt;P&gt;DATA: m_typ, b_typ, busg_stat.&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS: &amp;lt;f&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data-text = 'Refrigerators'.&lt;/P&gt;&lt;P&gt;data-value = 12345.&lt;/P&gt;&lt;P&gt;APPEND data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data-text = 'Freezers'.&lt;/P&gt;&lt;P&gt;data-value = 22222.&lt;/P&gt;&lt;P&gt;APPEND data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data-text = 'Ovens'.&lt;/P&gt;&lt;P&gt;data-value = 11111.&lt;/P&gt;&lt;P&gt;APPEND data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data-text = 'Dishwashers'.&lt;/P&gt;&lt;P&gt;data-value = 54321.&lt;/P&gt;&lt;P&gt;APPEND data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM output_2d.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT PF08.&lt;/P&gt;&lt;P&gt;  busg_stat = space. "// start and wait&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Event-Loop&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'GRAPH_2D'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              stat       = busg_stat&lt;/P&gt;&lt;P&gt;              inform     = '7'  "// allow modify&lt;/P&gt;&lt;P&gt;              mail_allow = 'X'  "// allow mail&lt;/P&gt;&lt;P&gt;         IMPORTING&lt;/P&gt;&lt;P&gt;              m_typ      = m_typ&lt;/P&gt;&lt;P&gt;              b_typ      = b_typ&lt;/P&gt;&lt;P&gt;              mod_row    = mod_row&lt;/P&gt;&lt;P&gt;              mod_col    = mod_col&lt;/P&gt;&lt;P&gt;              mod_val    = mod_val&lt;/P&gt;&lt;P&gt;         TABLES&lt;/P&gt;&lt;P&gt;              data       = data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    busg_stat = '4'. "// Just wait next time&lt;/P&gt;&lt;P&gt;    CASE m_typ.&lt;/P&gt;&lt;P&gt;      WHEN 'D'. "// Programm ended&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      WHEN 'I'. "// Valid message&lt;/P&gt;&lt;P&gt;        IF b_typ = 'M'. "// Modify-event&lt;/P&gt;&lt;P&gt;          READ TABLE data INDEX mod_row.&lt;/P&gt;&lt;P&gt;          ASSIGN COMPONENT mod_col OF STRUCTURE data TO &amp;lt;f&amp;gt;.&lt;/P&gt;&lt;P&gt;          &amp;lt;f&amp;gt; = mod_val.&lt;/P&gt;&lt;P&gt;          MODIFY data INDEX mod_row.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF b_typ = 'S'. "// Select-event (ignored)&lt;/P&gt;&lt;P&gt;        ENDIF. "// For element (MOD_ROW-MOD_COL)&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;  PERFORM output_2d.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM OUTPUT_2D (Show the actual data)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM output_2d.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE: / 'Products',22 tcol1.&lt;/P&gt;&lt;P&gt;  SKIP 2.&lt;/P&gt;&lt;P&gt;  LOOP AT data.&lt;/P&gt;&lt;P&gt;    WRITE: / data-text, 22 data-value.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;[/code]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------------------------------" /&gt;&lt;P&gt;&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;3rd Example:&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;[code]&lt;/P&gt;&lt;P&gt;REPORT zmar_graphics3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF hpgl OCCURS 1,&lt;/P&gt;&lt;P&gt;entry(128),&lt;/P&gt;&lt;P&gt;END OF hpgl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hpgl = 'SP6;PUPA0,0;'. APPEND hpgl.&lt;/P&gt;&lt;P&gt;hpgl = 'PDPA100,100,100,200,200,200,200,100,100,100;'. APPEND hpgl.&lt;/P&gt;&lt;P&gt;hpgl = 'SP1;PUPA100,150;'. APPEND hpgl.&lt;/P&gt;&lt;P&gt;hpgl = 'PDPA100,150,150,200,200,150,150,100,100,150;'. APPEND hpgl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'GRAPH_HPGL'&lt;/P&gt;&lt;P&gt;     TABLES&lt;/P&gt;&lt;P&gt;          data = hpgl.&lt;/P&gt;&lt;P&gt;[/code]&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------------------------------" /&gt;&lt;P&gt;&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;4th Example:&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;[code]&lt;/P&gt;&lt;P&gt;REPORT zmar_graphics4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF objt OCCURS 1. "// Object Attributes&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE gpoobjt.&lt;/P&gt;&lt;P&gt;DATA: END OF objt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF area_tab OCCURS 1. "// Areas (unused)&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE gpoarea.&lt;/P&gt;&lt;P&gt;DATA: END OF area_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF col_text OCCURS 1, "// Value columns&lt;/P&gt;&lt;P&gt;c(40),&lt;/P&gt;&lt;P&gt;END OF col_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF values OCCURS 1, "// Object fields&lt;/P&gt;&lt;P&gt;p1 TYPE p,&lt;/P&gt;&lt;P&gt;p2 TYPE p,&lt;/P&gt;&lt;P&gt;p3 TYPE p,&lt;/P&gt;&lt;P&gt;p4 TYPE p,&lt;/P&gt;&lt;P&gt;p5 TYPE p,&lt;/P&gt;&lt;P&gt;p6 TYPE p,&lt;/P&gt;&lt;P&gt;p7 TYPE p,&lt;/P&gt;&lt;P&gt;p8 TYPE p,&lt;/P&gt;&lt;P&gt;p9 TYPE p,&lt;/P&gt;&lt;P&gt;END OF values.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF axis OCCURS 4.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE gpoaxis.&lt;/P&gt;&lt;P&gt;DATA: END OF axis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA save LIKE sy-tabix.&lt;/P&gt;&lt;P&gt;SET PF-STATUS 'GRAF'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constraints: Number of VALUES rows == Number of OBJT rows&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;: Num of VALUES columns == Number of COL_TEXT rows&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Column title for $OBJD::VALTIT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;col_text = '% Market share'. APPEND col_text.&lt;/P&gt;&lt;P&gt;col_text = '% Growth'. APPEND col_text.&lt;/P&gt;&lt;P&gt;col_text = 'Sales'. APPEND col_text.&lt;/P&gt;&lt;P&gt;col_text = 'Market share trend'. APPEND col_text.&lt;/P&gt;&lt;P&gt;col_text = 'Growth trend'. APPEND col_text.&lt;/P&gt;&lt;P&gt;col_text = 'Fixed costs'. APPEND col_text.&lt;/P&gt;&lt;P&gt;col_text = 'Overhead costs'. APPEND col_text.&lt;/P&gt;&lt;P&gt;col_text = 'Admin. costs'. APPEND col_text.&lt;/P&gt;&lt;P&gt;col_text = 'Estimated profits'. APPEND col_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Attributes for $AXIS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;axis-pos = 'RIGHT'.&lt;/P&gt;&lt;P&gt;axis-backclr = 'DARKGRAY'.&lt;/P&gt;&lt;P&gt;axis-textclr = 'WHITE'.&lt;/P&gt;&lt;P&gt;axis-scalclr = 'WHITE'.&lt;/P&gt;&lt;P&gt;axis-shadow = 'N'.&lt;/P&gt;&lt;P&gt;axis-ticks = '50'.&lt;/P&gt;&lt;P&gt;axis-start = '0'.&lt;/P&gt;&lt;P&gt;axis-end = '100'.&lt;/P&gt;&lt;P&gt;APPEND axis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;axis-pos = 'TOP'.&lt;/P&gt;&lt;P&gt;axis-backclr = 'DARKGRAY'.&lt;/P&gt;&lt;P&gt;axis-textclr = 'WHITE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;axis-scalclr = 'WHITE'.&lt;/P&gt;&lt;P&gt;axis-shadow = space.&lt;/P&gt;&lt;P&gt;axis-ticks = '50'.&lt;/P&gt;&lt;P&gt;axis-start = '0'.&lt;/P&gt;&lt;P&gt;axis-end = '100'.&lt;/P&gt;&lt;P&gt;APPEND axis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;axis-pos = 'LEFT'.&lt;/P&gt;&lt;P&gt;axis-backclr = 'DARKGRAY'.&lt;/P&gt;&lt;P&gt;axis-textclr = 'WHITE'.&lt;/P&gt;&lt;P&gt;axis-scalclr = 'WHITE'.&lt;/P&gt;&lt;P&gt;axis-shadow = 'N'.&lt;/P&gt;&lt;P&gt;axis-ticks = '10'.&lt;/P&gt;&lt;P&gt;axis-start = '0'.&lt;/P&gt;&lt;P&gt;axis-end = '100'.&lt;/P&gt;&lt;P&gt;APPEND axis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;axis-pos = 'BOTTOM'.&lt;/P&gt;&lt;P&gt;axis-backclr = 'DARKGRAY'.&lt;/P&gt;&lt;P&gt;axis-textclr = 'WHITE'.&lt;/P&gt;&lt;P&gt;axis-scalclr = 'WHITE'.&lt;/P&gt;&lt;P&gt;axis-shadow = 'N'.&lt;/P&gt;&lt;P&gt;axis-ticks = '50'.&lt;/P&gt;&lt;P&gt;axis-start = '0'.&lt;/P&gt;&lt;P&gt;axis-end = '100'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND axis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Objects&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*BJT-LINECLR = 'WHITE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;1. Trend line&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;objt-form = 'RECTANGLE'.&lt;/P&gt;&lt;P&gt;objt-fillclr = 'YELLOW'.&lt;/P&gt;&lt;P&gt;objt-textclr = 'BLUE'.&lt;/P&gt;&lt;P&gt;objt-title = 'Clarion 1990'.&lt;/P&gt;&lt;P&gt;objt-info = 'Sales in 1990'.&lt;/P&gt;&lt;P&gt;values-p1 = 10.&lt;/P&gt;&lt;P&gt;values-p2 = 20.&lt;/P&gt;&lt;P&gt;values-p3 = 10000.&lt;/P&gt;&lt;P&gt;values-p4 = 22.&lt;/P&gt;&lt;P&gt;values-p5 = 22.&lt;/P&gt;&lt;P&gt;values-p6 = 400.&lt;/P&gt;&lt;P&gt;values-p7 = 300.&lt;/P&gt;&lt;P&gt;values-p8 = 200.&lt;/P&gt;&lt;P&gt;values-p9 = 100.&lt;/P&gt;&lt;P&gt;APPEND objt.&lt;/P&gt;&lt;P&gt;APPEND values.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;objt-form = 'RECTANGLE'.&lt;/P&gt;&lt;P&gt;objt-fillclr = 'YELLOW'.&lt;/P&gt;&lt;P&gt;objt-textclr = 'BLUE'.&lt;/P&gt;&lt;P&gt;objt-title = 'Clarion 1991'.&lt;/P&gt;&lt;P&gt;objt-info = 'Sales in 1991'.&lt;/P&gt;&lt;P&gt;values-p1 = 22.&lt;/P&gt;&lt;P&gt;values-p2 = 22.&lt;/P&gt;&lt;P&gt;values-p3 = 15000.&lt;/P&gt;&lt;P&gt;values-p4 = 45.&lt;/P&gt;&lt;P&gt;values-p5 = 35.&lt;/P&gt;&lt;P&gt;values-p6 = 100.&lt;/P&gt;&lt;P&gt;values-p7 = 200.&lt;/P&gt;&lt;P&gt;values-p8 = 300.&lt;/P&gt;&lt;P&gt;values-p9 = 400.&lt;/P&gt;&lt;P&gt;APPEND objt.&lt;/P&gt;&lt;P&gt;APPEND values.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;objt-form = 'RECTANGLE'.&lt;/P&gt;&lt;P&gt;objt-fillclr = 'YELLOW'.&lt;/P&gt;&lt;P&gt;objt-textclr = 'BLUE'.&lt;/P&gt;&lt;P&gt;objt-title = 'Clarion 1992'.&lt;/P&gt;&lt;P&gt;objt-info = 'Sales in 1992'.&lt;/P&gt;&lt;P&gt;values-p1 = 45.&lt;/P&gt;&lt;P&gt;values-p2 = 35.&lt;/P&gt;&lt;P&gt;values-p3 = 22000.&lt;/P&gt;&lt;P&gt;values-p4 = 62.&lt;/P&gt;&lt;P&gt;values-p5 = 33.&lt;/P&gt;&lt;P&gt;values-p6 = 20.&lt;/P&gt;&lt;P&gt;values-p7 = 40.&lt;/P&gt;&lt;P&gt;values-p8 = 80.&lt;/P&gt;&lt;P&gt;values-p9 = 160.&lt;/P&gt;&lt;P&gt;APPEND objt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND values.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;objt-form = 'RECTANGLE'.&lt;/P&gt;&lt;P&gt;objt-fillclr = 'YELLOW'.&lt;/P&gt;&lt;P&gt;objt-textclr = 'BLUE'.&lt;/P&gt;&lt;P&gt;objt-title = 'Clarion 1993'.&lt;/P&gt;&lt;P&gt;objt-info = 'Sales in 1993'.&lt;/P&gt;&lt;P&gt;values-p1 = 62.&lt;/P&gt;&lt;P&gt;values-p2 = 33.&lt;/P&gt;&lt;P&gt;values-p3 = 12000.&lt;/P&gt;&lt;P&gt;values-p4 = 62.&lt;/P&gt;&lt;P&gt;values-p5 = 33.&lt;/P&gt;&lt;P&gt;values-p6 = 600.&lt;/P&gt;&lt;P&gt;values-p7 = 700.&lt;/P&gt;&lt;P&gt;values-p8 = 600.&lt;/P&gt;&lt;P&gt;values-p9 = 700.&lt;/P&gt;&lt;P&gt;APPEND objt.&lt;/P&gt;&lt;P&gt;APPEND values.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;2. Trend line&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;objt-form = 'CIRCLE'.&lt;/P&gt;&lt;P&gt;objt-fillclr = 'GREEN'.&lt;/P&gt;&lt;P&gt;objt-textclr = 'BLUE'.&lt;/P&gt;&lt;P&gt;objt-title = 'Sony 1988'.&lt;/P&gt;&lt;P&gt;objt-info = 'Sony UX400/CD, Sales in 1988'.&lt;/P&gt;&lt;P&gt;values-p1 = 2.&lt;/P&gt;&lt;P&gt;values-p2 = 50.&lt;/P&gt;&lt;P&gt;values-p3 = 2500.&lt;/P&gt;&lt;P&gt;values-p4 = 26.&lt;/P&gt;&lt;P&gt;values-p5 = 57.&lt;/P&gt;&lt;P&gt;values-p6 = 100.&lt;/P&gt;&lt;P&gt;values-p7 = 700.&lt;/P&gt;&lt;P&gt;values-p8 = 20.&lt;/P&gt;&lt;P&gt;values-p9 = 50.&lt;/P&gt;&lt;P&gt;APPEND objt.&lt;/P&gt;&lt;P&gt;APPEND values.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;objt-form = 'CIRCLE'.&lt;/P&gt;&lt;P&gt;objt-fillclr = 'GREEN'.&lt;/P&gt;&lt;P&gt;objt-textclr = 'BLUE'.&lt;/P&gt;&lt;P&gt;objt-title = 'Sony 1989'.&lt;/P&gt;&lt;P&gt;objt-info = 'Sony UX400/CD, Sales in 1989'.&lt;/P&gt;&lt;P&gt;values-p1 = 26.&lt;/P&gt;&lt;P&gt;values-p2 = 57.&lt;/P&gt;&lt;P&gt;values-p3 = 3500.&lt;/P&gt;&lt;P&gt;values-p4 = 58.&lt;/P&gt;&lt;P&gt;values-p5 = 70.&lt;/P&gt;&lt;P&gt;values-p6 = 100.&lt;/P&gt;&lt;P&gt;values-p7 = 600.&lt;/P&gt;&lt;P&gt;values-p8 = 20.&lt;/P&gt;&lt;P&gt;values-p9 = 70.&lt;/P&gt;&lt;P&gt;APPEND objt.&lt;/P&gt;&lt;P&gt;APPEND values.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;objt-form = 'CIRCLE'.&lt;/P&gt;&lt;P&gt;objt-fillclr = 'GREEN'.&lt;/P&gt;&lt;P&gt;objt-textclr = 'BLUE'.&lt;/P&gt;&lt;P&gt;objt-title = 'Sony 1990'.&lt;/P&gt;&lt;P&gt;objt-info = 'Sony UX400/CD, Sales in 1990'.&lt;/P&gt;&lt;P&gt;values-p1 = 58.&lt;/P&gt;&lt;P&gt;values-p2 = 70.&lt;/P&gt;&lt;P&gt;values-p3 = 11000.&lt;/P&gt;&lt;P&gt;values-p4 = 79.&lt;/P&gt;&lt;P&gt;values-p5 = 68.&lt;/P&gt;&lt;P&gt;values-p6 = 100.&lt;/P&gt;&lt;P&gt;values-p7 = 500.&lt;/P&gt;&lt;P&gt;values-p8 = 25.&lt;/P&gt;&lt;P&gt;values-p9 = 90.&lt;/P&gt;&lt;P&gt;APPEND objt.&lt;/P&gt;&lt;P&gt;APPEND values.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;objt-form = 'CIRCLE'.&lt;/P&gt;&lt;P&gt;objt-fillclr = 'GREEN'.&lt;/P&gt;&lt;P&gt;objt-textclr = 'BLUE'.&lt;/P&gt;&lt;P&gt;objt-title = 'Sony 1991'.&lt;/P&gt;&lt;P&gt;objt-info = 'Sony UX400/CD, Sales 1991'.&lt;/P&gt;&lt;P&gt;values-p1 = 79.&lt;/P&gt;&lt;P&gt;values-p2 = 68.&lt;/P&gt;&lt;P&gt;values-p3 = 13000.&lt;/P&gt;&lt;P&gt;values-p4 = 87.&lt;/P&gt;&lt;P&gt;values-p5 = 54.&lt;/P&gt;&lt;P&gt;values-p6 = 100.&lt;/P&gt;&lt;P&gt;values-p7 = 430.&lt;/P&gt;&lt;P&gt;values-p8 = 45.&lt;/P&gt;&lt;P&gt;values-p9 = 120.&lt;/P&gt;&lt;P&gt;APPEND objt.&lt;/P&gt;&lt;P&gt;APPEND values.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;objt-form = 'CIRCLE'.&lt;/P&gt;&lt;P&gt;objt-fillclr = 'GREEN'.&lt;/P&gt;&lt;P&gt;objt-textclr = 'BLUE'.&lt;/P&gt;&lt;P&gt;objt-title = 'Sony 1992'.&lt;/P&gt;&lt;P&gt;objt-info = 'Sony UX400/CD, Sales in 1992'.&lt;/P&gt;&lt;P&gt;values-p1 = 87.&lt;/P&gt;&lt;P&gt;values-p2 = 54.&lt;/P&gt;&lt;P&gt;values-p3 = 13500.&lt;/P&gt;&lt;P&gt;values-p4 = 80.&lt;/P&gt;&lt;P&gt;values-p5 = 34.&lt;/P&gt;&lt;P&gt;values-p6 = 90.&lt;/P&gt;&lt;P&gt;values-p7 = 390.&lt;/P&gt;&lt;P&gt;values-p8 = 44.&lt;/P&gt;&lt;P&gt;values-p9 = 150.&lt;/P&gt;&lt;P&gt;APPEND objt.&lt;/P&gt;&lt;P&gt;APPEND values.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;objt-form = 'CIRCLE'.&lt;/P&gt;&lt;P&gt;objt-fillclr = 'GREEN'.&lt;/P&gt;&lt;P&gt;objt-textclr = 'BLUE'.&lt;/P&gt;&lt;P&gt;objt-title = 'Sony 1993'.&lt;/P&gt;&lt;P&gt;objt-info = 'Sony UX400/CD, Sales in 1993'.&lt;/P&gt;&lt;P&gt;values-p1 = 80.&lt;/P&gt;&lt;P&gt;values-p2 = 34.&lt;/P&gt;&lt;P&gt;values-p3 = 23000.&lt;/P&gt;&lt;P&gt;values-p4 = 80. "// Line to itself&lt;/P&gt;&lt;P&gt;values-p5 = 34.&lt;/P&gt;&lt;P&gt;values-p6 = 90.&lt;/P&gt;&lt;P&gt;values-p7 = 370.&lt;/P&gt;&lt;P&gt;values-p8 = 47.&lt;/P&gt;&lt;P&gt;values-p9 = 165.&lt;/P&gt;&lt;P&gt;APPEND objt.&lt;/P&gt;&lt;P&gt;APPEND values.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;area_tab-form = 'RECTANGLE'.&lt;/P&gt;&lt;P&gt;area_tab-fillclr = 'RED'.&lt;/P&gt;&lt;P&gt;area_tab-xfrom = '10'.&lt;/P&gt;&lt;P&gt;area_tab-yfrom = '70'.&lt;/P&gt;&lt;P&gt;area_tab-xto = '40'.&lt;/P&gt;&lt;P&gt;area_tab-yto = '90'.&lt;/P&gt;&lt;P&gt;area_tab-title = 'Winner takes all'.&lt;/P&gt;&lt;P&gt;APPEND area_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT objt.&lt;/P&gt;&lt;P&gt;  WRITE: / objt-title(20).&lt;/P&gt;&lt;P&gt;  save = sy-tabix.&lt;/P&gt;&lt;P&gt;  READ TABLE values INDEX save.&lt;/P&gt;&lt;P&gt;  WRITE 25 values-p3.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT PF11.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GRAPH_PORT'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            title_title   = 'Trend-Portfolio for Sony and Clarion Radio'&lt;/P&gt;&lt;P&gt;            title_info    = 'The two objects over several years'&lt;/P&gt;&lt;P&gt;            title_textclr = 'YELLOW'&lt;/P&gt;&lt;P&gt;            title_backclr = 'DARKGRAY'&lt;/P&gt;&lt;P&gt;            title_size    = '2'&lt;/P&gt;&lt;P&gt;            frm_backclr   = 'GRAY'&lt;/P&gt;&lt;P&gt;            frm_cordclr   = 'WHITE'&lt;/P&gt;&lt;P&gt;            frm_scalclr   = 'WHITE'&lt;/P&gt;&lt;P&gt;            frm_scalmod   = 'LONGDASH'&lt;/P&gt;&lt;P&gt;            frm_gridx     = '10'&lt;/P&gt;&lt;P&gt;            frm_gridy     = '10'&lt;/P&gt;&lt;P&gt;            frm_shadow    = 'X'&lt;/P&gt;&lt;P&gt;            obj_xval      = '0'&lt;/P&gt;&lt;P&gt;            obj_yval      = '1'&lt;/P&gt;&lt;P&gt;            obj_sval      = '2'&lt;/P&gt;&lt;P&gt;            obj_xarr      = '3'&lt;/P&gt;&lt;P&gt;            obj_yarr      = '4'&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            axis          = axis&lt;/P&gt;&lt;P&gt;            col_text      = col_text&lt;/P&gt;&lt;P&gt;            objt          = objt&lt;/P&gt;&lt;P&gt;            values        = values&lt;/P&gt;&lt;P&gt;            area_tab      = area_tab.&lt;/P&gt;&lt;P&gt;[/code]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Marcelo Ramos&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 Aug 2007 18:05:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/graphical-report/m-p/2650376#M610909</guid>
      <dc:creator>marcelo_ramos1</dc:creator>
      <dc:date>2007-08-13T18:05:14Z</dc:date>
    </item>
  </channel>
</rss>

