..3 Printing program
Create a report Z_CHART_COMP and paste below code:
REPORT z_chart_comp .
* declare the context
DATA gt_context TYPE zcontext_chart_comp .
* fill the context
PERFORM fill_context .
* call the form
CALL FUNCTION 'ZXLWB_CALLFORM'
EXPORTING
iv_formname = 'CHART_COMP'
iv_context_ref = gt_context
EXCEPTIONS
process_terminated = 1
OTHERS = 2.
IF sy-subrc NE 0 .
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 .
ENDIF .
*&---------------------------------------------------------------------*
*& Form fill_context
*&---------------------------------------------------------------------*
FORM fill_context .
DATA:
ls_comp TYPE zcontext_chart_comp_s ,
ls_dataset TYPE zcontext_chart_dataset_s ,
lv_random_number TYPE i .
SELECT butxt
INTO ls_comp-company
FROM t001
UP TO 10 ROWS .
CLEAR ls_comp-dataset[] .
DO 4 TIMES .
CLEAR ls_dataset .
CLEAR lv_random_number .
ls_dataset-quarter = sy-index .
* get random Sales
CALL FUNCTION 'BKK_RANDOM'
EXPORTING
i_modulo = 10000
IMPORTING
e_random_number = lv_random_number .
ls_dataset-sales = lv_random_number + 50000 .
* get random Advertizing
CALL FUNCTION 'BKK_RANDOM'
EXPORTING
i_modulo = 5000
IMPORTING
e_random_number = lv_random_number .
ls_dataset-advertizing = lv_random_number + 10000 .
APPEND ls_dataset TO ls_comp-dataset .
ENDDO .
INSERT ls_comp INTO TABLE gt_context .
ENDSELECT .
ENDFORM . "fill_context