Hi,
It’s a basic Development to display information’s in Different-2 charts.
Note: – For display information in chart IGS Server should be active in SAP System.
Input: –
Output: –
Source Code: –
REPORT ZCHART_PRO.
TYPE-POOLS: VRM.
DATA: G_NAME TYPE VRM_ID,
GIT_LIST TYPE VRM_VALUES,
GFL_LIST LIKE LINE OF GIT_LIST.
DATA: g_rfc TYPE char32 VALUE ‘IGS_RFC_DEST’.
DATA: cl_html TYPE REF TO cl_gui_html_viewer,
CL_CON TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
cl_chart TYPE REF TO cl_igs_chart,
git_html TYPE w3htmltabtype,
gfl_html TYPE w3html,
git_igs TYPE igs_data_tab,
gfl_igs TYPE igs_data,
g_url TYPE w3url,
g_bool TYPE c,
g_str TYPE string,
g_no TYPE i.
DATA: git_cont TYPE w3param–cont_type,
git_sub TYPE w3param–cont_type,
g_len TYPE i,
git_mine TYPE w3mimetabtype,
git_htm TYPE w3htmltabtype.
DATA: p_no TYPE i,
g_width TYPE i,
g_height TYPE i,
P_CTYPE TYPE CHAR2.
DATA: G_UCOMM TYPE SY–UCOMM.
INITIALIZATION.
CALL METHOD cl_igs_data=>is_registered_type
EXPORTING
destination = g_rfc
type = cl_igs_chart=>interpreter_type
RECEIVING
rval = g_bool
EXCEPTIONS
rfc_communication_error = 1
rfc_system_error = 2
internal_error = 3
OTHERS = 4.
IF sy–subrc <> 0.
MESSAGE ‘No “Chart” interpreter installed on IGS’ TYPE ‘E’.
ENDIF.
START-OF-SELECTION.
CALL SCREEN 9000.
END-OF-SELECTION.
*&———————————————————————*
*& Module STATUS_9000 OUTPUT
*&———————————————————————*
* text
*———————————————————————-*
MODULE status_9000 OUTPUT.
SET PF-STATUS ‘9000MENU’.
SET TITLEBAR ‘9000INFO’.
IF GFL_LIST IS INITIAL.
PERFORM SUB_ADD_CHART_TYPE.
ENDIF.
IF CL_CON IS INITIAL.
CREATE OBJECT cl_con
EXPORTING
container_name = ‘HTML’.
IF sy–subrc <> 0.
ENDIF.
ENDIF.
IF cl_html IS INITIAL.
CREATE OBJECT cl_html
EXPORTING
parent = cl_con.
ENDIF.
CALL METHOD CL_HTML->DO_REFRESH.
IF cl_chart IS INITIAL.
CREATE OBJECT cl_chart.
ENDIF.
cl_gfw=>its_rfc_dest = g_rfc.
CALL METHOD cl_html->load_data
EXPORTING
type = git_cont
subtype = git_sub
size = g_len
IMPORTING
assigned_url = g_url
CHANGING
data_table = git_mine
EXCEPTIONS
dp_invalid_parameter = 1
dp_error_general = 2
cntl_error = 3
* html_syntax_notcorrect = 4
OTHERS = 5.
IF sy–subrc <> 0.
MESSAGE ‘ERROR’ TYPE ‘E’.
ENDIF.
CONCATENATE ‘<HTML><HEAD><TITLE>Chart By Praveer</TITLE></HEAD>’
‘<BODY BGCOLOR=#DEDEC8>’
‘<MAP NAME = CHART>’ INTO gfl_html–line.
APPEND gfl_html TO git_html.
APPEND LINES OF git_htm TO git_html.
CONCATENATE ‘</MAP>’
‘<IMG SRC=”‘ g_url ‘” USEMAP=#CHART BORDER=0>’
‘</BODY></HTML>’ INTO gfl_html–line.
APPEND gfl_html TO git_html.
CALL METHOD cl_html->load_data
EXPORTING
type = ‘TEXT’
subtype = ‘HTML’
IMPORTING
assigned_url = g_url
CHANGING
data_table = git_html.
CALL METHOD cl_html->show_url
EXPORTING
url = g_url.
ENDMODULE. ” STATUS_9000 OUTPUT
*&———————————————————————*
*& Form SUB_ADD_CHART_TYPE
*&———————————————————————*
form SUB_ADD_CHART_TYPE .
REFRESH: GIT_LIST.
G_NAME = ‘P_CTYPE’.
GFL_LIST–KEY = ’01’.GFL_LIST–TEXT = ‘TREND’.APPEND GFL_LIST TO GIT_LIST.
GFL_LIST–KEY = ’02’.GFL_LIST–TEXT = ‘LINES’.APPEND GFL_LIST TO GIT_LIST.
GFL_LIST–KEY = ’03’.GFL_LIST–TEXT = ‘LINES_3D’.APPEND GFL_LIST TO GIT_LIST.
GFL_LIST–KEY = ’04’.GFL_LIST–TEXT = ‘AREA’.APPEND GFL_LIST TO GIT_LIST.
GFL_LIST–KEY = ’05’.GFL_LIST–TEXT = ‘AREA_3D’.APPEND GFL_LIST TO GIT_LIST.
GFL_LIST–KEY = ’06’.GFL_LIST–TEXT = ‘AREA_STACKED’.APPEND GFL_LIST TO GIT_LIST.
GFL_LIST–KEY = ’07’.GFL_LIST–TEXT = ‘AREA_STACKED_3D’.APPEND GFL_LIST TO GIT_LIST.
GFL_LIST–KEY = ’08’.GFL_LIST–TEXT = ‘BARS’.APPEND GFL_LIST TO GIT_LIST.
GFL_LIST–KEY = ’09’.GFL_LIST–TEXT = ‘BARS_3D’.APPEND GFL_LIST TO GIT_LIST.
GFL_LIST–KEY = ’10’.GFL_LIST–TEXT = ‘BARS_STACKED’.APPEND GFL_LIST TO GIT_LIST.
GFL_LIST–KEY = ’11’.GFL_LIST–TEXT = ‘BARS_STACKED_3D’.APPEND GFL_LIST TO GIT_LIST.
GFL_LIST–KEY = ’12’.GFL_LIST–TEXT = ‘COLS’.APPEND GFL_LIST TO GIT_LIST.
GFL_LIST–KEY = ’13’.GFL_LIST–TEXT = ‘COLS_3D’.APPEND GFL_LIST TO GIT_LIST.
GFL_LIST–KEY = ’14’.GFL_LIST–TEXT = ‘COLS_STACKED’.APPEND GFL_LIST TO GIT_LIST.
GFL_LIST–KEY = ’15’.GFL_LIST–TEXT = ‘COLS_STACKED_3D’.APPEND GFL_LIST TO GIT_LIST.
GFL_LIST–KEY = ’16’.GFL_LIST–TEXT = ‘PIE’.APPEND GFL_LIST TO GIT_LIST.
GFL_LIST–KEY = ’17’.GFL_LIST–TEXT = ‘PIE_3D’.APPEND GFL_LIST TO GIT_LIST.
GFL_LIST–KEY = ’18’.GFL_LIST–TEXT = ‘PIE_EX’.APPEND GFL_LIST TO GIT_LIST.
GFL_LIST–KEY = ’19’.GFL_LIST–TEXT = ‘PIE_EX_3D’.APPEND GFL_LIST TO GIT_LIST.
CALL FUNCTION ‘VRM_SET_VALUES’
EXPORTING
ID = G_NAME
VALUES = GIT_LIST
EXCEPTIONS
ID_ILLEGAL_NAME = 1
OTHERS = 2.
endform. ” SUB_ADD_CHART_TYPE
*&———————————————————————*
*& Form SET_CHART_TYPE
*&———————————————————————*
form SET_CHART_TYPE .
CASE P_CTYPE.
WHEN ’01’.
cl_chart->type = cl_igs_chart=>co_type_TREND.
WHEN ’02’.
cl_chart->type = cl_igs_chart=>co_type_LINES.
WHEN ’03’.
cl_chart->type = cl_igs_chart=>CO_TYPE_LINES_3D.
WHEN ’04’.
cl_chart->type = cl_igs_chart=>co_type_AREA.
WHEN ’05’.
cl_chart->type = cl_igs_chart=>co_type_AREA_3D.
WHEN ’06’.
cl_chart->type = cl_igs_chart=>co_type_AREA_STACKED.
WHEN ’07’.
cl_chart->type = cl_igs_chart=>co_type_AREA_STACKED_3D.
WHEN ’08’.
cl_chart->type = cl_igs_chart=>co_type_BARS.
WHEN ’09’.
cl_chart->type = cl_igs_chart=>co_type_BARS_3D.
WHEN ’10’.
cl_chart->type = cl_igs_chart=>co_type_BARS_STACKED.
WHEN ’11’.
cl_chart->type = cl_igs_chart=>CO_TYPE_BARS_STACKED_3D.
WHEN ’12’.
cl_chart->type = cl_igs_chart=>co_type_COLS.
WHEN ’13’.
cl_chart->type = cl_igs_chart=>co_type_COLS_3D.
WHEN ’14’.
cl_chart->type = cl_igs_chart=>co_type_COLS_STACKED.
WHEN ’15’.
cl_chart->type = cl_igs_chart=>co_type_COLS_STACKED_3D.
WHEN ’16’.
cl_chart->type = cl_igs_chart=>co_type_PIE.
WHEN ’17’.
cl_chart->type = cl_igs_chart=>co_type_PIE_3D.
WHEN ’18’.
cl_chart->type = cl_igs_chart=>co_type_PIE_EX.
WHEN ’19’.
cl_chart->type = cl_igs_chart=>co_type_PIE_EX_3D.
ENDCASE.
endform. ” SET_CHART_TYPE
*&———————————————————————*
*& Module USER_COMMAND_9000 INPUT
*&———————————————————————*
* text
*———————————————————————-*
module USER_COMMAND_9000 input.
CASE G_UCOMM.
WHEN ‘VIEW’.
REFRESH: git_html, git_igs.
IF cl_chart IS INITIAL.
CREATE OBJECT cl_chart.
ELSE.
FREE cl_chart.
CREATE OBJECT cl_chart.
ENDIF.
PERFORM SET_CHART_TYPE.
cl_chart->width = g_width.
cl_chart->height = g_height.
g_no = p_no.
DO p_no TIMES.
g_str = g_no * 10.
g_no = g_no – 1.
gfl_igs–groupid = ‘Praveer’.
CONCATENATE ‘INCRS’ g_str INTO gfl_igs–x.
gfl_igs–y = g_str.
APPEND gfl_igs TO git_igs.
ENDDO.
cl_chart->data = git_igs.
REFRESH: GIT_MINE, GIT_HTM.
CLEAR: G_LEN, GIT_CONT.
CALL METHOD cl_chart->send
IMPORTING
content_type = git_cont
content_length = g_len
content = git_mine
imagemap = git_htm
EXCEPTIONS
rfc_communication_error = 1
rfc_system_error = 2
internal_error = 3
OTHERS = 4.
IF sy–subrc NE 0.
MESSAGE ‘ERROR’ TYPE ‘E’.
ENDIF.
SPLIT git_cont AT ‘/’ INTO git_cont git_sub.
WHEN ‘BACK’.
LEAVE PROGRAM.
WHEN ‘EXIT’.
LEAVE PROGRAM.
ENDCASE.
endmodule. ” USER_COMMAND_9000 INPUT
Screen: –
Screen Logic: –
PROCESS BEFORE OUTPUT.
MODULE STATUS_9000.
*
PROCESS AFTER INPUT.
MODULE USER_COMMAND_9000.
Thanks & Regards
Praveer Kumar Sen.