‎2008 May 27 7:48 AM
‎2008 May 27 7:50 AM
Hi,
&----
*& Report ZJE_ALV_GRID
*&
&----
*&
*&
&----
REPORT zje_alv_grid.
TABLES: kna1,vbak.
DATA: it_vbak TYPE TABLE OF vbak,
wa_vbak TYPE vbak.
DATA: obj_ctrl TYPE REF TO cl_gui_custom_container,
obj_alv TYPE REF TO cl_gui_alv_grid.
SELECT-OPTIONS: s_kunnr FOR kna1-kunnr DEFAULT 1 TO 1000.
START-OF-SELECTION.
SELECT *
FROM vbak
INTO TABLE it_vbak
WHERE kunnr IN s_kunnr.
CALL SCREEN '318' .
&----
*& Module STATUS_0318 OUTPUT
&----
text
----
MODULE status_0318 OUTPUT.
SET PF-STATUS 'ALV_STATUS'.
SET TITLEBAR 'xxx'.
CREATE OBJECT obj_ctrl
EXPORTING
container_name = 'CUSTOM'.
CREATE OBJECT obj_alv
EXPORTING
i_parent = obj_ctrl.
ENDMODULE. " STATUS_0318 OUTPUT
&----
*& Module ALV OUTPUT
&----
text
----
MODULE alv OUTPUT.
CALL METHOD obj_alv->set_table_for_first_display
EXPORTING
i_buffer_active =
i_bypassing_buffer =
i_consistency_check =
i_structure_name = 'VBAK'
is_variant =
i_save =
i_default = 'X'
is_layout =
is_print =
it_special_groups =
it_toolbar_excluding =
it_hyperlink =
it_alv_graphics =
it_except_qinfo =
ir_salv_adapter =
CHANGING
it_outtab = it_vbak
it_fieldcatalog =
it_sort =
it_filter =
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDMODULE. " ALV OUTPUT
&----
*& Module CONTROL INPUT
&----
text
----
MODULE control INPUT.
CALL METHOD obj_ctrl->free
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE PROGRAM.
WHEN 'EXIT'.
LEAVE PROGRAM.
WHEN 'CANCEL'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE. " CONTROL INPUT
Refer this link.
Regards,
Jagadish
‎2008 May 27 7:50 AM
Hi,
&----
*& Report ZJE_ALV_GRID
*&
&----
*&
*&
&----
REPORT zje_alv_grid.
TABLES: kna1,vbak.
DATA: it_vbak TYPE TABLE OF vbak,
wa_vbak TYPE vbak.
DATA: obj_ctrl TYPE REF TO cl_gui_custom_container,
obj_alv TYPE REF TO cl_gui_alv_grid.
SELECT-OPTIONS: s_kunnr FOR kna1-kunnr DEFAULT 1 TO 1000.
START-OF-SELECTION.
SELECT *
FROM vbak
INTO TABLE it_vbak
WHERE kunnr IN s_kunnr.
CALL SCREEN '318' .
&----
*& Module STATUS_0318 OUTPUT
&----
text
----
MODULE status_0318 OUTPUT.
SET PF-STATUS 'ALV_STATUS'.
SET TITLEBAR 'xxx'.
CREATE OBJECT obj_ctrl
EXPORTING
container_name = 'CUSTOM'.
CREATE OBJECT obj_alv
EXPORTING
i_parent = obj_ctrl.
ENDMODULE. " STATUS_0318 OUTPUT
&----
*& Module ALV OUTPUT
&----
text
----
MODULE alv OUTPUT.
CALL METHOD obj_alv->set_table_for_first_display
EXPORTING
i_buffer_active =
i_bypassing_buffer =
i_consistency_check =
i_structure_name = 'VBAK'
is_variant =
i_save =
i_default = 'X'
is_layout =
is_print =
it_special_groups =
it_toolbar_excluding =
it_hyperlink =
it_alv_graphics =
it_except_qinfo =
ir_salv_adapter =
CHANGING
it_outtab = it_vbak
it_fieldcatalog =
it_sort =
it_filter =
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDMODULE. " ALV OUTPUT
&----
*& Module CONTROL INPUT
&----
text
----
MODULE control INPUT.
CALL METHOD obj_ctrl->free
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE PROGRAM.
WHEN 'EXIT'.
LEAVE PROGRAM.
WHEN 'CANCEL'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE. " CONTROL INPUT
Refer this link.
Regards,
Jagadish
‎2008 May 27 7:51 AM
HI,
see these examples
DATA:t_mara TYPE TABLE OF mara.
DATA:FCAT TYPE LVC_T_FCAT.
DATA:G_CONTAINER TYPE SCRFNAME VALUE 'TABC',"TABC is the container name in screen 101
GRID TYPE REF TO CL_GUI_ALV_GRID,
G_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.
set screen 101.
MODULE STATUS_0101 output.
IF G_CUSTOM_CONTAINER IS INITIAL.
CREATE OBJECT G_CUSTOM_CONTAINER "CREATING OBJECT FOR CUSTOM CONTAINER
EXPORTING CONTAINER_NAME = G_CONTAINER.
CREATE OBJECT GRID "CREATING GRID IN WRKBNCH SCREEN
EXPORTING I_PARENT = G_CUSTOM_CONTAINER.
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
I_STRUCTURE_NAME = 'MARA'
CHANGING
CT_FIELDCAT = FCAT[].
SELECT * from mara into table t_mara.
CALL METHOD GRID->SET_TABLE_FOR_FIRST_DISPLAY
CHANGING
IT_FIELDCATALOG = FCAT[]
IT_OUTTAB = t_MARA.
ENDIF.
ENDMODULE.
flow logic of screen 101:
PROCESS BEFORE OUTPUT.
MODULE STATUS_0101.
PROCESS AFTER INPUT.
***************************************************************************
DATA:G_DOCKING_CONTAINER_1 TYPE REF TO CL_GUI_DOCKING_CONTAINER,
g_grid TYPE REF TO CL_GUI_ALV_GRID.
DATA:itab like sflight occurs 0 with header line,
okcode like sy-ucomm.
select * from sflight into table itab.
set screen 101.
MODULE STATUS_0101 OUTPUT.
SET PF-STATUS 'MENU'.
SET TITLEBAR 'TIT'.
perform create_and_init_controls.
ENDMODULE. " STATUS_0101 OUTPUT
FORM create_and_init_controls .
CREATE OBJECT G_DOCKING_CONTAINER_1
EXPORTING
REPID = sy-repid
DYNNR = '101'
SIDE = cl_gui_docking_container=>DOCK_AT_top
EXTENSION = 100.
CREATE OBJECT G_GRID
EXPORTING
I_PARENT = G_DOCKING_CONTAINER_1.
CALL METHOD G_GRID->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_STRUCTURE_NAME = 'SFLIGHT'
CHANGING
IT_OUTTAB = itab[].
ENDFORM. " create_and_init_controls
MODULE user_command_0101 INPUT.
CASE okcode.
WHEN 'BACK'.
SET SCREEN 0.
ENDCASE.
ENDMODULE. " user_command_0101 INPUT
flow logic of screen 101:
PROCESS BEFORE OUTPUT.
MODULE STATUS_0101.
PROCESS AFTER INPUT.
MODULE user_command_0101.
rgds,
bharat.
‎2008 May 27 7:51 AM
Hi
Check this sample code.
REPORT ztest1234 MESSAGE-ID zz .
DATA: g_grid TYPE REF TO cl_gui_alv_grid. "First
DATA: l_valid TYPE c,
v_flag,
v_data_change,
v_row TYPE lvc_s_row,
v_column TYPE lvc_s_col,
v_row_num TYPE lvc_s_roid.
DATA: ok_code LIKE sy-ucomm,
save_ok LIKE sy-ucomm,
g_container1 TYPE scrfname VALUE 'CON', "First Container
gs_layout TYPE lvc_s_layo.
DATA:BEGIN OF itab OCCURS 0,
vbeln LIKE likp-vbeln,
posnr LIKE lips-posnr,
lfdat LIKE lips-vfdat,
box(1),
handle_style TYPE lvc_t_styl,
END OF itab.
*----------------------------------------------------------------------*
* CLASS lcl_event_handler DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_event_handler DEFINITION .
PUBLIC SECTION .
METHODS:
**Hot spot Handler
handle_hotspot_click FOR EVENT hotspot_click OF cl_gui_alv_grid
IMPORTING e_row_id e_column_id es_row_no,
**Double Click Handler
handle_double_click FOR EVENT double_click OF cl_gui_alv_grid
IMPORTING e_row e_column es_row_no.
ENDCLASS. "lcl_event_handler DEFINITION
*----------------------------------------------------------------------*
* CLASS lcl_event_handler IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_event_handler IMPLEMENTATION.
*Handle Hotspot Click
METHOD handle_hotspot_click .
CLEAR: v_row,v_column,v_row_num.
v_row = e_row_id.
v_column = e_column_id.
v_row_num = es_row_no.
MESSAGE i000 WITH v_row 'clicked'.
ENDMETHOD. "lcl_event_handler
*Handle Double Click
METHOD handle_double_click.
CLEAR: v_row,v_column,v_row_num.
v_row = e_row.
v_column = e_column.
v_row_num = es_row_no.
IF e_column = 'VBELN'.
read table itab into itab index v_row.
SET PARAMETER ID 'VL' FIELD itab-vbeln.
CALL TRANSACTION 'VL03N' AND SKIP FIRST SCREEN.
ENDIF.
IF e_column = 'POSNR'.
MESSAGE i000 WITH 'Click on POSNR row number ' e_row.
"with this row num you can get the data
ENDIF.
ENDMETHOD. "handle_double_click
ENDCLASS. "LCL_EVENT_HANDLER IMPLEMENTATION
DATA: g_custom_container TYPE REF TO cl_gui_custom_container,"Container1
g_handler TYPE REF TO lcl_event_handler. "handler
*fieldcatalog for first and second report
data: it_fieldcat TYPE lvc_t_fcat,
x_fieldcat TYPE lvc_s_fcat,
ls_vari TYPE disvariant.
START-OF-SELECTION.
SELECT vbeln
posnr
FROM lips
UP TO 20 ROWS
INTO CORRESPONDING FIELDS OF TABLE itab.
END-OF-SELECTION.
IF NOT itab[] IS INITIAL.
CALL SCREEN 100.
ELSE.
MESSAGE i002 WITH 'NO DATA FOR THE SELECTION'(004).
ENDIF.
*&---------------------------------------------------------------------*
*& Form create_and_init_alv
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM create_and_init_alv .
DATA: lt_exclude TYPE ui_functions.
"First Grid
CREATE OBJECT g_custom_container
EXPORTING container_name = g_container1.
CREATE OBJECT g_grid
EXPORTING i_parent = g_custom_container.
* SET a TITLEBAR for the grid control
CLEAR gs_layout.
gs_layout-grid_title = text-003.
gs_layout-zebra = space.
gs_layout-cwidth_opt = 'X'.
gs_layout-no_rowmark = 'X'.
gs_layout-box_fname = 'BOX'.
gs_layout-ctab_fname = 'CELLCOLOR'.
gs_layout-stylefname = 'HANDLE_STYLE'.
CREATE OBJECT g_handler.
SET HANDLER g_handler->handle_double_click FOR g_grid.
SET HANDLER g_handler->handle_hotspot_click FOR g_grid.
DATA: ls_outatb LIKE LINE OF itab,
v_index TYPE sy-tabix.
DATA: ls_edit TYPE lvc_s_styl,
lt_edit TYPE lvc_t_styl.
LOOP AT itab INTO ls_outatb WHERE posnr = '000010'.
v_index = sy-tabix.
ls_edit-fieldname = 'VBELN'.
ls_edit-style = cl_gui_alv_grid=>mc_style_disabled.
ls_edit-style2 = space.
ls_edit-style3 = space.
ls_edit-style4 = space.
ls_edit-maxlen = 8.
INSERT ls_edit INTO TABLE lt_edit.
INSERT lines of lt_edit INTO TABLE ls_outatb-handle_style.
MODIFY itab INDEX v_index FROM ls_outatb TRANSPORTING
handle_style.
ENDLOOP.
* setting focus for created grid control
CALL METHOD cl_gui_control=>set_focus
EXPORTING
control = g_grid.
* build fieldcat and set editable for date and reason code
* edit enabled.
* ASSIGN a handle for the dropdown listbox.
PERFORM build_fieldcat.
* optionally restrict generic functions to 'change only'.
* (the user shall not be able to add new lines).
PERFORM exclude_tb_functions CHANGING lt_exclude.
**Vaiant to save the layout
ls_vari-report = sy-repid.
ls_vari-handle = space.
ls_vari-log_group = space.
ls_vari-username = space.
ls_vari-variant = space.
ls_vari-text = space.
ls_vari-dependvars = space.
**Calling the Method for ALV output for First Grid
CALL METHOD g_grid->set_table_for_first_display
EXPORTING
it_toolbar_excluding = lt_exclude
is_variant = ls_vari
is_layout = gs_layout
i_save = 'A'
CHANGING
it_fieldcatalog = it_fieldcat
it_outtab = itab[].
ENDFORM. "CREATE_AND_INIT_ALV
*&---------------------------------------------------------------------*
*& Form exclude_tb_functions
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->PT_EXCLUDE text
*----------------------------------------------------------------------*
FORM exclude_tb_functions CHANGING pt_exclude TYPE ui_functions.
* only allow to change data not to create new entries (exclude
* generic functions).
DATA ls_exclude TYPE ui_func.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_copy_row.
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_delete_row.
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_append_row.
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_insert_row.
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_move_row.
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_copy.
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_cut.
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_paste.
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_paste_new_row.
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_undo.
APPEND ls_exclude TO pt_exclude.
ENDFORM. " EXCLUDE_TB_FUNCTIONS
*&---------------------------------------------------------------------*
*& Form build_fieldcat
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM build_fieldcat .
DATA: l_pos TYPE i.
l_pos = l_pos + 1.
x_fieldcat-scrtext_m = 'Delivery'(024).
x_fieldcat-fieldname = 'VBELN'.
x_fieldcat-tabname = 'ITAB'.
x_fieldcat-col_pos = l_pos.
x_fieldcat-no_zero = 'X'.
x_fieldcat-outputlen = '10'.
APPEND x_fieldcat TO it_fieldcat.
CLEAR x_fieldcat.
l_pos = l_pos + 1.
x_fieldcat-scrtext_m = 'Item'(025).
x_fieldcat-fieldname = 'POSNR'.
x_fieldcat-tabname = 'ITAB'.
x_fieldcat-col_pos = l_pos.
x_fieldcat-outputlen = '5'.
APPEND x_fieldcat TO it_fieldcat.
CLEAR x_fieldcat.
l_pos = l_pos + 1.
x_fieldcat-scrtext_m = 'Del Date'(015).
x_fieldcat-fieldname = 'LFDAT'.
x_fieldcat-tabname = 'ITAB'.
x_fieldcat-col_pos = l_pos.
x_fieldcat-outputlen = '10'.
APPEND x_fieldcat TO it_fieldcat.
CLEAR x_fieldcat.
l_pos = l_pos + 1.
ENDFORM. " build_fieldcat
*----------------------------------------------------------------------*
* MODULE status_0100 OUTPUT
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
SET PF-STATUS 'MAIN100'.
SET TITLEBAR 'MAIN100'.
IF g_custom_container IS INITIAL.
**Initializing the grid and calling the fm to Display the O/P
PERFORM create_and_init_alv.
ENDIF.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
MODULE user_command_0100 INPUT.
CASE sy-ucomm.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPU
‎2008 May 27 7:52 AM
HI
Check the following link
[url] http://www.saptechnical.com/Tutorials/ALV/Styles/demo.htm
Thanks
Edited by: Anurodh Jindal on May 27, 2008 8:52 AM
‎2008 May 27 7:52 AM
REPORT zbcalv_grid_test .
CLASS :cl_gui_alv_grid DEFINITION LOAD,
cl_gui_custom_container DEFINITION LOAD.
DATA: BEGIN OF itab OCCURS 0,
matnr TYPE mara-matnr,
mtart TYPE mara-mtart,
END OF itab.
***SCREEN VARIABLE
DATA: ok_code LIKE sy-ucomm,
gv_valid(1) TYPE c.
*****ALV DATA DECLARATION
DATA : gs_layout TYPE lvc_s_layo,
container TYPE REF TO cl_gui_custom_container,
g_grid TYPE REF TO cl_gui_alv_grid.
**************START-OF-SELECTION*********
START-OF-SELECTION.
CALL SCREEN 1000.
&----
*& Module STATUS_1000 OUTPUT
&----
text
-
MODULE status_1000 OUTPUT.
SET PF-STATUS 'STATUS1'.
SET TITLEBAR 'xxx'.
SELECT matnr mtart
FROM mara UP TO 10 ROWS
INTO TABLE itab.
IF sy-subrc = 0.
CREATE OBJECT container
EXPORTING
PARENT =
container_name = 'CONTAINER'
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5
OTHERS = 6.
gs_layout-cwidth_opt = 'X'.
CREATE OBJECT g_grid
EXPORTING
I_SHELLSTYLE = 0
I_LIFETIME =
i_parent = container
I_APPL_EVENTS = space
I_PARENTDBG =
I_APPLOGPARENT =
I_GRAPHICSPARENT =
I_NAME =
EXCEPTIONS
error_cntl_create = 1
error_cntl_init = 2
error_cntl_link = 3
error_dp_create = 4
OTHERS = 5.
CALL METHOD g_grid->set_table_for_first_display
EXPORTING
I_BUFFER_ACTIVE =
I_BYPASSING_BUFFER =
I_CONSISTENCY_CHECK =
i_structure_name = 'MARA'
IS_VARIANT =
I_SAVE =
I_DEFAULT = 'X'
is_layout = gs_layout
IS_PRINT =
IT_SPECIAL_GROUPS =
IT_TOOLBAR_EXCLUDING =
IT_HYPERLINK =
IT_ALV_GRAPHICS =
IT_EXCEPT_QINFO =
CHANGING
it_outtab = itab[]
IT_FIELDCATALOG = T_FIELDCAT
IT_SORT =
IT_FILTER =
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.
ENDIF.
ENDMODULE. " STATUS_1000 OUTPUT
&----
*& Module USER_COMMAND_1000 INPUT
&----
text
-
module USER_COMMAND_1000 input.
***USER INTERATION ON SCREEN 100
CASE ok_code.
WHEN '&F03'.
LEAVE program.
WHEN OTHERS.
LEAVE TO SCREEN 0.
ENDCASE.
endmodule. " USER_COMMAND_1000 INPUT
Or
Reward points..
‎2008 May 27 7:55 AM
Hi,
Please find the example code.
REPORT ZTEST_ALV.
data : dntab type STANDARD TABLE OF dntab,
wa_dntab TYPE dntab,
dref TYPE REF TO data.
data: i_fcat type lvc_t_fcat,
wa_fcat type lvc_s_fcat,
tab_name TYPE ddobjname,
gr_table TYPE REF TO cl_salv_table.
FIELD-SYMBOLS : <newtab> TYPE table.
PARAMETERS: table type ddobjname.
tab_name = table.
START-OF-SELECTION.
CALL FUNCTION 'NAMETAB_GET'
EXPORTING
LANGU = SY-LANGU
ONLY = ' '
TABNAME = tab_name
IMPORTING
HEADER =
RC =
TABLES
NAMETAB = dntab.
EXCEPTIONS
INTERNAL_ERROR = 1
TABLE_HAS_NO_FIELDS = 2
TABLE_NOT_ACTIV = 3
NO_TEXTS_FOUND = 4
OTHERS = 5
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT dntab INTO wa_dntab.
wa_fcat-fieldname = wa_dntab-fieldname.
wa_fcat-ref_field = wa_dntab-fieldname.
wa_fcat-ref_table = wa_dntab-tabname.
APPEND wa_fcat TO i_fcat .
ENDLOOP.
*CALL METHOD cl_alv_table_create=>create_dynamic_table
*EXPORTING
*it_fieldcatalog = i_fcat
*IMPORTING
*ep_table = dref.
ASSIGN dref-> TO <newtab>.
CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
EXPORTING
I_STYLE_TABLE =
IT_FIELDCATALOG = i_fcat
I_LENGTH_IN_BYTE =
IMPORTING
EP_TABLE = dref.
E_STYLE_FNAME =
EXCEPTIONS
GENERATE_SUBPOOL_DIR_FULL = 1
others = 2
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
assign dref->* to <newtab>.
select * from (tab_name) into table <newtab> UP TO 25 ROWS.
TRY.
CALL METHOD CL_SALV_TABLE=>FACTORY
EXPORTING
LIST_DISPLAY = IF_SALV_C_BOOL_SAP=>false
R_CONTAINER =
CONTAINER_NAME =
IMPORTING
R_SALV_TABLE = gr_table
CHANGING
T_TABLE = <newtab>.
.
CATCH CX_SALV_MSG .
ENDTRY.
CALL METHOD GR_TABLE->DISPLAY
thanks,
anil
‎2008 May 27 7:58 AM
&----
*& Include ZHR_BIKE_TRANSFER_TOP
&----
TABLES : ZCLUB_WORK_TAB,pa0001,t001p,t500p,tvv1t,tvv2t,tvv3t,tvgrt,tvkbt,PA0040,PA0000,PA0002.
data : messg type ref to IF_HRPA_MESSAGE_HANDLER.
DATA : it_icm TYPE TABLE OF ZICM_CALENDAR,
wa_icm TYPE ZICM_CALENDAR.
DATA: monthd TYPE p,
days1 TYPE i .
DATA: no_cal_day TYPE i.
DATA : it_p0040 TYPE TABLE OF pa0040,
wa_p0040 TYPE pa0040.
DATA : l_space(10) TYPE N." value space.
DATA : C(10),
flag,
flag1,flg,flg1.
DATA : year type gjahr,
pernr(8),
CYCLE(2).
DATA : count(2),count1 type i,count2 type i.
DATA : date type D,DATE1 TYPE D.
DATA : it_club TYPE TABLE OF ZCLUB_WORK_TAB,
wa_club TYPE ZCLUB_WORK_TAB.
DATA : it_p0001 TYPE TABLE OF pa0001,
wa_p0001 TYPE pa0001.
DATA : it_p0000 TYPE TABLE OF pa0000,
wa_p0000 TYPE pa0000.
DATA : it_t500p TYPE TABLE OF t500p,
wa_t500p TYPE t500p,
it_t001p TYPE TABLE OF t001p,
wa_t001p TYPE t001p.
DATA : TOTAL TYPE I.
*data : GROSS TYPE I.
TYPES : BEGIN OF it_disp1,
pernr TYPE persno, " Personal No
ename TYPE EMNAM,
werks TYPE WERKS,
btrtl TYPE BTRTL,
NAME1 TYPE PBTXT,
BTEXT TYPE BTRTX,
gjahr type gjahr,
pernr1 TYPE persno, " Personal No
gjahr1 type gjahr,
gtext(20),
sbu TYPE ZSBU,
area TYPE ZAREA,
region TYPE ZREGION,
vkbur TYPE vkbur,
vkgrp TYPE vkgrp,
doj TYPE begda,
los(4),
days(4)," TYPE i,
gross1 type i,
gross2 type i,
gross3 type i,
gross4 type i,
gross5 type i,
gross6 type i,
gross7 type i,
gross8 type i,
gross9 type i,
gross10 type i,
gross11 type i,
gross12 type i,
gross13 type i,
make TYPE zmake,
model TYPE zmodel,
regno TYPE zregno,
engno TYPE zengno,
chno TYPE zchno,
cost TYPE zcost,
tdate TYPE begda,
gross1(5),
gross2(5),
gross3(5),
gross4(5),
gross5(5),
gross6(5),
gross7(5),
gross8(5),
gross9(5),
gross10(5),
gross11(5),
gross12(5),
gross13(5),
total type i,
count type i,
color(4),
END OF it_disp1.
DATA : it_disp TYPE TABLE OF it_disp1,
wa_disp TYPE it_disp1.
*TYPES:BEGIN OF ty_sales,
pernr LIKE zhrsales-pernr,
vbeln LIKE zhrsales-vbeln,
posnr LIKE zhrsales-posnr,
fkdat LIKE zhrsales-fkdat,
fkimg LIKE zhrsales-fkimg,
END OF ty_sales.
*
*DATA:it_sales TYPE STANDARD TABLE OF ty_sales.
*DATA:wa_sales LIKE LINE OF it_sales.
*
*TYPES:BEGIN OF ty_month,
pernr(10),
fkimg LIKE zhrsales-fkimg,
days TYPE i,
END OF ty_month.
*
*DATA:it_month TYPE STANDARD TABLE OF ty_month.
*
*DATA:wa_month LIKE LINE OF it_month.
DATA :g_repid LIKE sy-repid.
*& Declaration for position
DATA: pos TYPE i,
text(255).
*
**& Alv declarations
*TYPE-POOLS: slis.
*DATA: t_fieldcat TYPE slis_t_fieldcat_alv,
g_repid LIKE sy-repid,
t_listevents TYPE slis_t_event,
t_listevents1 TYPE slis_t_event,
t_listheader TYPE slis_t_listheader,
t_listheader1 TYPE slis_t_listheader,
d_tabix LIKE sy-tabix,
ls_fieldcat TYPE slis_fieldcat_alv,
wa_listevents TYPE slis_alv_event,
wa_listevents1 TYPE slis_alv_event,
wa_listheader TYPE slis_listheader,
wa_listheader1 TYPE slis_listheader,
gd_layout TYPE slis_layout_alv,
g_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE',
g_top_of_page1 TYPE slis_formname VALUE 'TOP_OF_PAGE1',
it_sort TYPE TABLE OF slis_sortinfo_alv,
ls_sort LIKE LINE OF it_sort,
set_pf_status TYPE slis_formname.
*----
OOPS
----
Declaration for ALV catolog and layout.
----
DATA : t_layout TYPE lvc_s_layo,
wa_field TYPE lvc_s_fcat,
t_field TYPE lvc_t_fcat.
----
Declaration for view ALV catolog and layout.
----
DATA : t_layout1 TYPE lvc_s_layo,
t_field1 TYPE lvc_t_fcat,
wa_field1 TYPE lvc_s_fcat.
----
Data declarations
----
DATA : ok_code TYPE sy-ucomm,
save_ok LIKE ok_code.
DATA : v_custom_cont TYPE REF TO cl_gui_custom_container.
DATA : v_dyndoc_id TYPE REF TO cl_dd_document.
DATA : v_splitter TYPE REF TO cl_gui_splitter_container.
DATA : v_top_cont TYPE REF TO cl_gui_container.
DATA : v_grid_cont TYPE REF TO cl_gui_container.
*data : V_handler TYPE REF TO lcl_event_handler. "handle
DATA : v_alv TYPE REF TO cl_gui_alv_grid.
DATA : v_container1 TYPE REF TO cl_gui_custom_container.
DATA : v_alv1 TYPE REF TO cl_gui_alv_grid.
DATA : O_DYNDOC_ID TYPE REF TO CL_DD_DOCUMENT.
DATA: w_idx LIKE sy-tabix,
w_sno type i,
w_lin type i.
DATA: w_invno LIKE rseg-belnr,
w_gjahr LIKE rseg-gjahr,
w_awkey LIKE bkpf-awkey.
DATA: t_fieldcat TYPE lvc_t_fcat WITH HEADER LINE,
t_sort TYPE lvc_t_sort WITH HEADER LINE,
wa_text TYPE SDYDO_TEXT_ELEMENT,
wa_ldat(10) type c,
wa_hdat(10) type c,
wa_text1 type SDYDO_TEXT_ELEMENT,
wa_end type SDYDO_TEXT_ELEMENT,
wa_desc type SDYDO_TEXT_ELEMENT,
wa_lin(20) type c,
w_low like sy-datum,
w_high like sy-datum,
w_events type CNTL_SIMPLE_EVENTS.
*----
END
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS : P_PERNR TYPE ZCLUB_WORK_TAB-PERNR OBLIGATORY MATCHCODE OBJECT premn .
SELECT-OPTIONS : p_mon FOR pa0002-gbmon NO INTERVALS NO-EXTENSION OBLIGATORY,
P_GJAHR FOR ZCLUB_WORK_TAB-GJAHR NO INTERVALS NO-EXTENSION OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
PARAMETERS : R1 RADIOBUTTON GROUP rb1,
R2 RADIOBUTTON GROUP rb1.
SELECTION-SCREEN END OF BLOCK b2.
*&----
**& Report ZHR_BIKE_TRANSFER_REPORT
**&
*&----
**&
**&
*&----
*
REPORT ZHR_BIKE_TRANSFER_REPORT1.
INCLUDE ZHR_BIKE_TRANSFER_TOP1.
----
I N I T I A L I Z A T I O N
----
INITIALIZATION.
g_repid = sy-repid.
----
CLASS handle_event DEFINITION
----
CLASS handle_event DEFINITION.
PUBLIC SECTION.
METHODS: top_of_page FOR EVENT top_of_page OF cl_gui_alv_grid
IMPORTING e_dyndoc_id.
ENDCLASS.
----
CLASS handle_event IMPLEMENTATION
----
CLASS handle_event IMPLEMENTATION.
METHOD top_of_page.
Top-of-page event
PERFORM event_top_of_page USING v_dyndoc_id.
ENDMETHOD. "top_of_page
ENDCLASS.
DATA : handler_event TYPE REF TO handle_event.
----
Start of selection.
----
START-OF-SELECTION.
PERFORM fetch_data.
PERFORM display_data.
CALL SCREEN 9001.
END-OF-SELECTION.
----
MODULE STATUS_9001 OUTPUT *
----
MODULE status_9001 OUTPUT.
SET PF-STATUS '001'.
PERFORM create_top_con.
PERFORM create_grid_con.
CALL METHOD v_dyndoc_id->initialize_document
EXPORTING
background_color = cl_dd_area=>col_textarea.
Processing events
CALL METHOD v_alv->list_processing_events
EXPORTING
i_event_name = 'TOP_OF_PAGE'
i_dyndoc_id = v_dyndoc_id.
ENDMODULE. " STATUS_9001 OUTPUT
*&----
*
*& Module USER_COMMAND_9001 INPUT
*&----
MODULE user_command_9001 INPUT.
*
save_ok = ok_code.
*
CLEAR ok_code.
CASE sy-ucomm.
WHEN 'BACK' OR 'CANCEL' OR 'EXIT'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. " USER_COMMAND_9001 INPUT
&----
*& Form fetch_data
&----
text
----
--> p1 text
<-- p2 text
----
form fetch_data .
CONCATENATE P_GJAHR-LOW P_MON-LOW '01' INTO DATE.
CALL FUNCTION 'HR_JP_MONTH_BEGIN_END_DATE'
EXPORTING
iv_date = DATE
IMPORTING
EV_MONTH_END_DATE = DATE1.
SELECT SINGLE * FROM PA0040 INTO WA_P0040 WHERE PERNR = P_PERNR AND SUBTY = '27'
AND BEGDA BETWEEN DATE AND DATE1.
IF sy-subrc = 0.
SELECT SINGLE * FROM PA0000 WHERE PERNR = P_PERNR
AND stat2 = '3'.
IF sy-subrc = 0.
REFRESH it_sales.
SELECT pernr vbeln posnr fkdat fkimg
FROM zhrsales
INTO TABLE it_sales
WHERE pernr EQ p_pernr.
SELECT * from zclub_work_tab INTO TABLE it_club WHERE pernr = P_pernr.
CASE sy-subrc.
WHEN '0'.
SELECT * from zicm_calendar INTO TABLE it_icm FOR ALL ENTRIES IN it_club
WHERE zcycle = it_club-cycle
AND gjahr = it_club-gjahr.
ENDCASE.
ENDIF.
ENDIF.
SORT it_club ascending by gjahr cycle.
*----
no of months with bike
CLEAR no_cal_day.
CALL FUNCTION 'HR_SGPBS_YRS_MTHS_DAYS'
EXPORTING
beg_da = wa_p0040-begda
end_da = wa_p0040-endda
IMPORTING
no_cal_day = no_cal_day
EXCEPTIONS
DATEINT_ERROR = 1
OTHERS = 2.
.
LOOP AT it_sales INTO wa_sales WHERE fkdat BETWEEN wa_p0040-begda AND wa_p0040-endda.
wa_month-pernr = wa_sales-pernr.
wa_month-fkimg = wa_sales-fkimg.
wa_month-days = no_cal_day.
COLLECT wa_month INTO it_month.
CLEAR :wa_month.
CLEAR wa_sales.
ENDLOOP.
CLEAR cycle.
*----
FLAG = 1.
FLAG1 = 1.
FLG1 = 1.
LOOP AT IT_CLUB INTO WA_CLUB." WHERE pernr = wa_p0040-pernr.
IF flg1 = 1.
PERNR = WA_CLUB-PERNR.
FLAG = 1.
ENDIF.
IF PERNR <> WA_CLUB-PERNR.
flg = 1.
FLAG = 1.
**************
FLAG1 = 1.
**********
ENDIF.
IF flg = 1.
PERNR = WA_CLUB-PERNR.
clear cycle.
ENDIF.
IF FLAG1 = 1.
YEAR = WA_CLUB-GJAHR.
endif.
if flag = 1.
if year = WA_CLUB-GJAHR.
PERFORM format_data.
else.
clear year.
year = WA_CLUB-GJAHR.
flag = 2.
clear cycle.
ENDIF.
endif.
if flag = 2.
if year = WA_CLUB-GJAHR.
PERFORM format_data1.
else.
clear year.
year = WA_CLUB-GJAHR.
flag = 3.
clear cycle.
endif.
endif.
if flag = 3.
PERFORM format_data1.
ENDIF..
CLEAR : flg1,flg,flag1,wa_club,wa_icm,WA_DISP.
ENDLOOP.
*-----calculations for LOS and other
c = 1.
LOOP AT it_disp INTO wa_disp.
IF c = 1.
wa_disp-total = wa_disp-gross1 + wa_disp-gross2 + wa_disp-gross3 + wa_disp-gross4 + wa_disp-gross5 + wa_disp-gross6 +
wa_disp-gross7 + wa_disp-gross8 + wa_disp-gross9 + wa_disp-gross10 + wa_disp-gross11 + wa_disp-gross12
+ wa_disp-gross13.
total = wa_disp-total.
*----bike details.
wa_disp-make = wa_p0040-zzmake.
wa_disp-model = wa_p0040-zzmodel.
wa_disp-regno = wa_p0040-zzregno.
wa_disp-engno = wa_p0040-zzengno.
wa_disp-chno = wa_p0040-zzchno.
wa_disp-cost = wa_p0040-zzcost.
IF wa_p0040-zzdate IS NOT INITIAL.
wa_disp-tdate = wa_p0040-zzdate.
ELSE.
wa_disp-tdate = wa_p0040-endda.
*
ENDIF.
*
wa_disp-make = wa_p0040-zzmake.
*--hire date
CALL FUNCTION 'HR_ECM_GET_HIRE_DATE'
EXPORTING
pernr = wa_disp-pernr
SELECTION_END_DATE = '99991231'
message_handler = messg
IMPORTING
HIRE_DATE = wa_disp-doj.
*--pa0001 informations
SELECT SINGLE * FROM pa0001 WHERE pernr = wa_disp-pernr AND endda = '99991231'.
wa_disp-ename = pa0001-ename.
wa_disp-werks = pa0001-werks.
wa_disp-btrtl = pa0001-btrtl.
wa_disp-sbu = pa0001-zzsbu.
wa_disp-area = pa0001-zzarea.
wa_disp-region = pa0001-zzregion.
SELECT single * FROM t500p WHERE persa = wa_disp-werks AND BUKRS = 'EFL'.
wa_disp-name1 = t500p-name1.
SELECT single * FROM t001p WHERE btrtl = wa_disp-btrtl AND molga = '40'.
wa_disp-btext = t001p-btext.
SELECT single * FROM zclub_work_tab WHERE pernr = wa_disp-pernr.
wa_disp-vkbur = zclub_work_tab-vkbur.
wa_disp-vkgrp = zclub_work_tab-vkgrp.
*----calculating LOS in months
CLEAR monthd.
CALL FUNCTION 'HR_ECM_GET_NUMBER_OF_MONTHS'
EXPORTING
begda = wa_p0040-begda
endda = wa_p0040-endda
days_min = '15'
message_handler = messg
IMPORTING
months = monthd.
wa_disp-los = monthd.
IF monthd IS NOT INITIAL.
READ TABLE it_month INTO wa_month WITH KEY pernr = wa_disp-pernr.
IF sy-subrc = 0.
days1 = no_cal_day / 30.
wa_disp-days = days1.
wa_final-fkimg = wa_month-fkimg.
wa_final-avgsale = wa_month-fkimg * 30 / wa_month-days.
ENDIF.
ENDIF.
WA_DISP-COLOR = 'C200'.
MODIFY it_disp FROM wa_disp TRANSPORTING total doj ename werks btrtl sbu area region name1
btext vkbur vkgrp los days COLOR." make model regno engno chno cost tdate.
ELSEIF c = 2 OR c = 3.
wa_disp-total = wa_disp-gross1 + wa_disp-gross2 + wa_disp-gross3 + wa_disp-gross4 + wa_disp-gross5 + wa_disp-gross6 +
wa_disp-gross7 + wa_disp-gross8 + wa_disp-gross9 + wa_disp-gross10 + wa_disp-gross11 + wa_disp-gross12
+ wa_disp-gross13 + total.
IF c = 2.
WA_DISP-COLOR = 'C210'.
ELSE.
WA_DISP-COLOR = 'C200'.
ENDIF.
wa_disp-gjahr = wa_disp-gjahr1.
MODIFY it_disp FROM wa_disp TRANSPORTING total gjahr COLOR.
CLEAR total.
total = wa_disp-total.
ENDIF.
c = c + 1.
CLEAR wa_disp.
ENDLOOP.
endform. " fetch_data
----
FORM display_data *
----
FORM display_data.
PERFORM field_catalog.
PERFORM field_layout.
ENDFORM.
&----
*& Form format_data
&----
text
----
--> p1 text
<-- p2 text
----
form format_data .
*-------cycle1
IF wa_club-cycle = '01' AND count LT 25.
IF cycle = space .
READ TABLE it_icm INTO wa_icm WITH KEY zcycle = wa_club-cycle
gjahr = wa_club-gjahr.
IF sy-subrc = 0.
IF ( wa_p0040-begda BETWEEN wa_icm-guebg AND wa_icm-gueen ).
wa_disp-pernr = wa_club-pernr.
wa_disp-gjahr = wa_club-gjahr.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '01'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross1 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross1 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ENDIF.
ENDIF.
ELSE.
count = count + 1.
IF r1 = 'X'.
wa_disp-gross1 = wa_club-netsalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross1 WHERE gtext = 'NetSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ELSE.
wa_disp-gross1 = wa_club-grosssalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross1 WHERE gtext = 'GrossSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ENDIF.
ENDIF.
PERFORM cal_cycle1.
*-------cycle2
ELSEIF wa_club-cycle = '02' AND count LT 25.
IF cycle = space.
READ TABLE it_icm INTO wa_icm WITH KEY zcycle = wa_club-cycle
gjahr = wa_club-gjahr.
IF sy-subrc = 0.
IF ( wa_p0040-begda BETWEEN wa_icm-guebg AND wa_icm-gueen ).
wa_disp-pernr = wa_club-pernr.
wa_disp-gjahr = wa_club-gjahr.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '02'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross2 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross2 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ENDIF.
ENDIF.
ELSE.
count = count + 1.
IF r1 = 'X'.
wa_disp-gross2 = wa_club-netsalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross2 WHERE gtext = 'NetSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ELSE.
wa_disp-gross2 = wa_club-grosssalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross2 WHERE gtext = 'GrossSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ENDIF.
ENDIF.
PERFORM cal_cycle2.
*----
CYCLE-3
ELSEIF wa_club-cycle = '03' AND count LT 25.
IF cycle = space.
READ TABLE it_icm INTO wa_icm WITH KEY zcycle = wa_club-cycle
gjahr = wa_club-gjahr.
IF sy-subrc = 0.
IF ( wa_p0040-begda BETWEEN wa_icm-guebg AND wa_icm-gueen ).
wa_disp-pernr = wa_club-pernr.
wa_disp-gjahr = wa_club-gjahr.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '03'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross3 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross3 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ENDIF.
ENDIF.
ELSE.
count = count + 1.
IF r1 = 'X'.
wa_disp-gross3 = wa_club-netsalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross3 WHERE gtext = 'NetSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ELSE.
wa_disp-gross3 = wa_club-grosssalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross3 WHERE gtext = 'GrossSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ENDIF.
ENDIF.
PERFORM cal_cycle3.
*------cycle 4
ELSEIF wa_club-cycle = '04' AND count LT 25.
IF cycle eq space.
READ TABLE it_icm INTO wa_icm WITH KEY zcycle = wa_club-cycle
gjahr = wa_club-gjahr.
IF sy-subrc = 0.
IF ( wa_p0040-begda BETWEEN wa_icm-guebg AND wa_icm-gueen ).
wa_disp-pernr = wa_club-pernr.
wa_disp-gjahr = wa_club-gjahr.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '04'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross4 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross4 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ENDIF.
ENDIF.
ELSE.
READ TABLE it_icm INTO wa_icm WITH KEY zcycle = wa_club-cycle
gjahr = wa_club-gjahr.
IF r1 = 'X'.
wa_disp-gross4 = wa_club-netsalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross4 WHERE gtext = 'NetSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ELSE.
wa_disp-gross4 = wa_club-grosssalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross4 WHERE gtext = 'GrossSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ENDIF.
count = count + 1.
ENDIF.
PERFORM cal_cycle4.
*------cycle 5
ELSEIF wa_club-cycle = '05' AND count LT 25.
IF cycle eq space.
READ TABLE it_icm INTO wa_icm WITH KEY zcycle = wa_club-cycle
gjahr = wa_club-gjahr.
IF sy-subrc = 0.
IF ( wa_p0040-begda BETWEEN wa_icm-guebg AND wa_icm-gueen ).
wa_disp-pernr = wa_club-pernr.
wa_disp-gjahr = wa_club-gjahr.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '05'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross5 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross5 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ENDIF.
ENDIF.
ELSE.
IF r1 = 'X'.
wa_disp-gross5 = wa_club-netsalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross5 WHERE gtext = 'NetSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ELSE.
wa_disp-gross5 = wa_club-grosssalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross5 WHERE gtext = 'GrossSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ENDIF.
count = count + 1.
ENDIF.
PERFORM cal_cycle5.
*------cycle 6
ELSEIF wa_club-cycle = '06' AND count LT 25.
IF cycle eq space.
READ TABLE it_icm INTO wa_icm WITH KEY zcycle = wa_club-cycle
gjahr = wa_club-gjahr.
IF sy-subrc = 0.
IF ( wa_p0040-begda BETWEEN wa_icm-guebg AND wa_icm-gueen ).
wa_disp-pernr = wa_club-pernr.
wa_disp-gjahr = wa_club-gjahr.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '06'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross6 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross6 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ENDIF.
ENDIF.
ELSE.
IF r1 = 'X'.
wa_disp-gross6 = wa_club-netsalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross6 WHERE gtext = 'NetSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ELSE.
wa_disp-gross6 = wa_club-grosssalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross6 WHERE gtext = 'GrossSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ENDIF.
count = count + 1.
ENDIF.
PERFORM cal_cycle6.
*------cycle 7
ELSEIF wa_club-cycle = '07' AND count LT 25.
IF cycle eq space.
READ TABLE it_icm INTO wa_icm WITH KEY zcycle = wa_club-cycle
gjahr = wa_club-gjahr.
IF sy-subrc = 0.
IF ( wa_p0040-begda BETWEEN wa_icm-guebg AND wa_icm-gueen ).
wa_disp-pernr = wa_club-pernr.
wa_disp-gjahr = wa_club-gjahr.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '07'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross7 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross7 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ENDIF.
ENDIF.
ELSE.
IF r1 = 'X'.
wa_disp-gross7 = wa_club-netsalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross7 WHERE gtext = 'NetSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ELSE.
wa_disp-gross7 = wa_club-grosssalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross7 WHERE gtext = 'GrossSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ENDIF.
count = count + 1.
ENDIF.
PERFORM cal_cycle7.
*------cycle 8
ELSEIF wa_club-cycle = '08' AND count LT 25.
IF cycle eq space.
READ TABLE it_icm INTO wa_icm WITH KEY zcycle = wa_club-cycle
gjahr = wa_club-gjahr.
IF sy-subrc = 0.
IF ( wa_p0040-begda BETWEEN wa_icm-guebg AND wa_icm-gueen ).
wa_disp-pernr = wa_club-pernr.
wa_disp-gjahr = wa_club-gjahr.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '08'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross8 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross8 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ENDIF.
ENDIF.
ELSE.
IF r1 = 'X'.
wa_disp-gross8 = wa_club-netsalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross8 WHERE gtext = 'NetSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ELSE.
wa_disp-gross8 = wa_club-grosssalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross8 WHERE gtext = 'GrossSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ENDIF.
count = count + 1.
ENDIF.
PERFORM cal_cycle8.
*------cycle 9
ELSEIF wa_club-cycle = '09' AND count LT 25.
IF cycle eq space.
READ TABLE it_icm INTO wa_icm WITH KEY zcycle = wa_club-cycle
gjahr = wa_club-gjahr.
IF sy-subrc = 0.
IF ( wa_p0040-begda BETWEEN wa_icm-guebg AND wa_icm-gueen ).
wa_disp-pernr = wa_club-pernr.
wa_disp-gjahr = wa_club-gjahr.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '09'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross9 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross9 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ENDIF.
ENDIF.
ELSE.
IF r1 = 'X'.
wa_disp-gross9 = wa_club-netsalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross9 WHERE gtext = 'NetSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ELSE.
wa_disp-gross9 = wa_club-grosssalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross9 WHERE gtext = 'GrossSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ENDIF.
count = count + 1.
ENDIF.
PERFORM cal_cycle9.
*------cycle 10
ELSEIF wa_club-cycle = '10' AND count LT 25.
IF cycle eq space.
READ TABLE it_icm INTO wa_icm WITH KEY zcycle = wa_club-cycle
gjahr = wa_club-gjahr.
IF sy-subrc = 0.
IF ( wa_p0040-begda BETWEEN wa_icm-guebg AND wa_icm-gueen ).
wa_disp-pernr = wa_club-pernr.
wa_disp-gjahr = wa_club-gjahr.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '10'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross10 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross10 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ENDIF.
ENDIF.
ELSE.
IF r1 = 'X'.
wa_disp-gross10 = wa_club-netsalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross10 WHERE gtext = 'NetSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ELSE.
wa_disp-gross10 = wa_club-grosssalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross10 WHERE gtext = 'GrossSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ENDIF.
count = count + 1.
ENDIF.
PERFORM cal_cycle10.
*------cycle 11
ELSEIF wa_club-cycle = '11' AND count LT 25.
IF cycle eq space.
READ TABLE it_icm INTO wa_icm WITH KEY zcycle = wa_club-cycle
gjahr = wa_club-gjahr.
IF sy-subrc = 0.
IF ( wa_p0040-begda BETWEEN wa_icm-guebg AND wa_icm-gueen ).
wa_disp-pernr = wa_club-pernr.
wa_disp-gjahr = wa_club-gjahr.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '11'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross11 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross11 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ENDIF.
ENDIF.
ELSE.
IF r1 = 'X'.
wa_disp-gross11 = wa_club-netsalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross11 WHERE gtext = 'NetSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ELSE.
wa_disp-gross11 = wa_club-grosssalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross11 WHERE gtext = 'GrossSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ENDIF.
count = count + 1.
ENDIF.
PERFORM cal_cycle11.
*------cycle 12
ELSEIF wa_club-cycle = '12' AND count LT 25.
IF cycle eq space.
READ TABLE it_icm INTO wa_icm WITH KEY zcycle = wa_club-cycle
gjahr = wa_club-gjahr.
IF sy-subrc = 0.
IF ( wa_p0040-begda BETWEEN wa_icm-guebg AND wa_icm-gueen ).
wa_disp-pernr = wa_club-pernr.
wa_disp-gjahr = wa_club-gjahr.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '12'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross12 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross12 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ENDIF.
ENDIF.
ELSE.
IF r1 = 'X'.
wa_disp-gross12 = wa_club-netsalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross12 WHERE gtext = 'NetSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ELSE.
wa_disp-gross12 = wa_club-grosssalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross12 WHERE gtext = 'GrossSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ENDIF.
count = count + 1.
ENDIF.
PERFORM cal_cycle12.
*------cycle 13
ELSEIF wa_club-cycle = '13' AND count LT 25.
IF cycle eq space.
READ TABLE it_icm INTO wa_icm WITH KEY zcycle = wa_club-cycle
gjahr = wa_club-gjahr.
IF sy-subrc = 0.
IF ( wa_p0040-begda BETWEEN wa_icm-guebg AND wa_icm-gueen ).
wa_disp-pernr = wa_club-pernr.
wa_disp-gjahr = wa_club-gjahr.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '13'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross13 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross13 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ENDIF.
ENDIF.
ELSE.
IF r1 = 'X'.
wa_disp-gross13 = wa_club-netsalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross13 WHERE gtext = 'NetSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ELSE.
wa_disp-gross13 = wa_club-grosssalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross13 WHERE gtext = 'GrossSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ENDIF.
count = count + 1.
ENDIF.
PERFORM cal_cycle13.
ENDIF.
endform. " format_data
&----
*& Form format_data1
&----
text
----
--> p1 text
<-- p2 text
----
form format_data1 .
*-------cycle1
IF wa_club-cycle = '01' AND count LE 23.
IF cycle = space AND it_disp[] IS INITIAL.
READ TABLE it_icm INTO wa_icm WITH KEY zcycle = wa_club-cycle
gjahr = wa_club-gjahr.
IF sy-subrc = 0.
IF ( wa_p0040-begda BETWEEN wa_icm-guebg AND wa_icm-gueen ).
wa_disp-pernr = wa_club-pernr.
wa_disp-gjahr = wa_club-gjahr.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '01'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross1 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross1 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ENDIF.
ENDIF.
ELSEIF cycle = space AND it_disp[] IS NOT INITIAL.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '01'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross1 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross1 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ELSE.
IF r1 = 'X'.
wa_disp-gross1 = wa_club-netsalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross1 WHERE gtext = 'NetSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ELSE.
wa_disp-gross1 = wa_club-grosssalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross1 WHERE gtext = 'GrossSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ENDIF.
cycle = '01'.
count = count + 1.
ENDIF.
PERFORM cal_cycle1.
*-------cycle2
ELSEIF wa_club-cycle = '02' AND count LE 23.
IF cycle = space AND it_disp[] IS INITIAL.
READ TABLE it_icm INTO wa_icm WITH KEY zcycle = wa_club-cycle
gjahr = wa_club-gjahr.
IF sy-subrc = 0.
IF ( wa_p0040-begda BETWEEN wa_icm-guebg AND wa_icm-gueen ).
wa_disp-pernr = wa_club-pernr.
wa_disp-gjahr = wa_club-gjahr.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '01'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross2 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross2 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ENDIF.
ENDIF.
ELSEIF cycle = space AND it_disp[] IS NOT INITIAL.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '02'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross2 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross2 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ELSE.
IF r1 = 'X'.
wa_disp-gross2 = wa_club-netsalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross2 WHERE gtext = 'NetSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ELSE.
wa_disp-gross2 = wa_club-grosssalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross2 WHERE gtext = 'GrossSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ENDIF.
cycle = '02'.
count = count + 1.
ENDIF.
PERFORM cal_cycle2.
*----
CYCLE-3
ELSEIF wa_club-cycle = '03' AND count LE 23.
IF cycle = space AND it_disp[] IS INITIAL.
READ TABLE it_icm INTO wa_icm WITH KEY zcycle = wa_club-cycle
gjahr = wa_club-gjahr.
IF sy-subrc = 0.
IF ( wa_p0040-begda BETWEEN wa_icm-guebg AND wa_icm-gueen ).
wa_disp-pernr = wa_club-pernr.
wa_disp-gjahr = wa_club-gjahr.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '03'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross1 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross3 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ENDIF.
ENDIF.
ELSEIF cycle = space AND it_disp[] IS NOT INITIAL.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '03'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross3 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross3 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ELSE.
IF r1 = 'X'.
wa_disp-gross3 = wa_club-netsalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross3 WHERE gtext = 'NetSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ELSE.
wa_disp-gross3 = wa_club-grosssalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross3 WHERE gtext = 'GrossSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ENDIF.
cycle = '03'.
count = count + 1.
ENDIF.
PERFORM cal_cycle3.
*------cycle 4
ELSEIF wa_club-cycle = '04' AND count LE 23.
IF cycle = space AND it_disp[] IS INITIAL.
READ TABLE it_icm INTO wa_icm WITH KEY zcycle = wa_club-cycle
gjahr = wa_club-gjahr.
IF sy-subrc = 0.
IF ( wa_p0040-begda BETWEEN wa_icm-guebg AND wa_icm-gueen ).
wa_disp-pernr = wa_club-pernr.
wa_disp-gjahr = wa_club-gjahr.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '04'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross4 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross4 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ENDIF.
ENDIF.
ELSEIF cycle = space AND it_disp[] IS NOT INITIAL.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '04'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross4 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross4 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ELSE.
IF r1 = 'X'.
wa_disp-gross4 = wa_club-netsalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross4 WHERE gtext = 'NetSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ELSE.
wa_disp-gross4 = wa_club-grosssalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross4 WHERE gtext = 'GrossSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ENDIF.
cycle = '04'.
count = count + 1.
ENDIF.
PERFORM cal_cycle4.
*------cycle 5
ELSEIF wa_club-cycle = '05' AND count LE 23.
IF cycle = space AND it_disp[] IS INITIAL.
READ TABLE it_icm INTO wa_icm WITH KEY zcycle = wa_club-cycle
gjahr = wa_club-gjahr.
IF sy-subrc = 0.
IF ( wa_p0040-begda BETWEEN wa_icm-guebg AND wa_icm-gueen ).
wa_disp-pernr = wa_club-pernr.
wa_disp-gjahr = wa_club-gjahr.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '05'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross5 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross5 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ENDIF.
ENDIF.
ELSEIF cycle = space AND it_disp[] IS NOT INITIAL.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '05'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross5 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross5 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ELSE.
IF r1 = 'X'.
wa_disp-gross5 = wa_club-netsalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross5 WHERE gtext = 'NetSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ELSE.
wa_disp-gross5 = wa_club-grosssalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross5 WHERE gtext = 'GrossSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ENDIF.
cycle = '05'.
count = count + 1.
ENDIF.
PERFORM cal_cycle5.
*------cycle 6
ELSEIF wa_club-cycle = '06' AND count LE 23.
IF cycle = space AND it_disp[] IS INITIAL.
READ TABLE it_icm INTO wa_icm WITH KEY zcycle = wa_club-cycle
gjahr = wa_club-gjahr.
IF sy-subrc = 0.
IF ( wa_p0040-begda BETWEEN wa_icm-guebg AND wa_icm-gueen ).
wa_disp-pernr = wa_club-pernr.
wa_disp-gjahr = wa_club-gjahr.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '06'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross6 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross6 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ENDIF.
ENDIF.
ELSEIF cycle = space AND it_disp[] IS NOT INITIAL.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '01'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross6 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross6 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ELSE.
IF r1 = 'X'.
wa_disp-gross6 = wa_club-netsalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross6 WHERE gtext = 'NetSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ELSE.
wa_disp-gross6 = wa_club-grosssalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross6 WHERE gtext = 'GrossSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ENDIF.
cycle = '06'.
count = count + 1.
ENDIF.
PERFORM cal_cycle6.
*------cycle 7
ELSEIF wa_club-cycle = '07' AND count LE 23.
IF cycle = space AND it_disp[] IS INITIAL.
READ TABLE it_icm INTO wa_icm WITH KEY zcycle = wa_club-cycle
gjahr = wa_club-gjahr.
IF sy-subrc = 0.
IF ( wa_p0040-begda BETWEEN wa_icm-guebg AND wa_icm-gueen ).
wa_disp-pernr = wa_club-pernr.
wa_disp-gjahr = wa_club-gjahr.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '07'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross7 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross7 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ENDIF.
ENDIF.
ELSEIF cycle = space AND it_disp[] IS NOT INITIAL.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '07'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross7 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross7 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ELSE.
IF r1 = 'X'.
wa_disp-gross7 = wa_club-netsalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross7 WHERE gtext = 'NetSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ELSE.
wa_disp-gross7 = wa_club-grosssalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross7 WHERE gtext = 'GrossSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ENDIF.
cycle = '07'.
count = count + 1.
ENDIF.
PERFORM cal_cycle7.
*------cycle 8
ELSEIF wa_club-cycle = '08' AND count LE 23.
IF cycle = space AND it_disp[] IS INITIAL.
READ TABLE it_icm INTO wa_icm WITH KEY zcycle = wa_club-cycle
gjahr = wa_club-gjahr.
IF sy-subrc = 0.
IF ( wa_p0040-begda BETWEEN wa_icm-guebg AND wa_icm-gueen ).
wa_disp-pernr = wa_club-pernr.
wa_disp-gjahr = wa_club-gjahr.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '08'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross8 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross8 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ENDIF.
ENDIF.
ELSEIF cycle = space AND it_disp[] IS NOT INITIAL.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '08'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross8 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross8 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ELSE.
IF r1 = 'X'.
wa_disp-gross8 = wa_club-netsalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross8 WHERE gtext = 'NetSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ELSE.
wa_disp-gross8 = wa_club-grosssalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross8 WHERE gtext = 'GrossSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ENDIF.
cycle = '08'.
count = count + 1.
ENDIF.
PERFORM cal_cycle8.
*------cycle 9
ELSEIF wa_club-cycle = '09' AND count LE 23.
IF cycle = space AND it_disp[] IS INITIAL.
READ TABLE it_icm INTO wa_icm WITH KEY zcycle = wa_club-cycle
gjahr = wa_club-gjahr.
IF sy-subrc = 0.
IF ( wa_p0040-begda BETWEEN wa_icm-guebg AND wa_icm-gueen ).
wa_disp-pernr = wa_club-pernr.
wa_disp-gjahr = wa_club-gjahr.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '09'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross9 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross9 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ENDIF.
ENDIF.
ELSEIF cycle = space AND it_disp[] IS NOT INITIAL.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '09'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross9 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross9 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ELSE.
IF r1 = 'X'.
wa_disp-gross9 = wa_club-netsalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross9 WHERE gtext = 'NetSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ELSE.
wa_disp-gross9 = wa_club-grosssalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross9 WHERE gtext = 'GrossSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ENDIF.
cycle = '09'.
count = count + 1.
ENDIF.
PERFORM cal_cycle9.
*------cycle 10
ELSEIF wa_club-cycle = '10' AND count LE 23.
IF cycle = space AND it_disp[] IS INITIAL.
READ TABLE it_icm INTO wa_icm WITH KEY zcycle = wa_club-cycle
gjahr = wa_club-gjahr.
IF sy-subrc = 0.
IF ( wa_p0040-begda BETWEEN wa_icm-guebg AND wa_icm-gueen ).
wa_disp-pernr = wa_club-pernr.
wa_disp-gjahr = wa_club-gjahr.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '10'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross10 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross10 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ENDIF.
ENDIF.
ELSEIF cycle = space AND it_disp[] IS NOT INITIAL.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '10'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross10 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross10 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ELSE.
IF r1 = 'X'.
wa_disp-gross10 = wa_club-netsalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross10 WHERE gtext = 'NetSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ELSE.
wa_disp-gross10 = wa_club-grosssalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross10 WHERE gtext = 'GrossSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ENDIF.
cycle = '10'.
count = count + 1.
ENDIF.
PERFORM cal_cycle10.
*------cycle 11
ELSEIF wa_club-cycle = '11' AND count LE 23.
IF cycle = space AND it_disp[] IS INITIAL.
READ TABLE it_icm INTO wa_icm WITH KEY zcycle = wa_club-cycle
gjahr = wa_club-gjahr.
IF sy-subrc = 0.
IF ( wa_p0040-begda BETWEEN wa_icm-guebg AND wa_icm-gueen ).
wa_disp-pernr = wa_club-pernr.
wa_disp-gjahr = wa_club-gjahr.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '11'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross11 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross11 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ENDIF.
ENDIF.
ELSEIF cycle = space AND it_disp[] IS NOT INITIAL.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '11'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross11 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross11 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ELSE.
IF r1 = 'X'.
wa_disp-gross11 = wa_club-netsalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross11 WHERE gtext = 'NetSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ELSE.
wa_disp-gross11 = wa_club-grosssalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross11 WHERE gtext = 'GrossSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ENDIF.
cycle = '11'.
count = count + 1.
ENDIF.
PERFORM cal_cycle11.
*------cycle 12
ELSEIF wa_club-cycle = '12' AND count LE 23.
IF cycle = space AND it_disp[] IS INITIAL.
READ TABLE it_icm INTO wa_icm WITH KEY zcycle = wa_club-cycle
gjahr = wa_club-gjahr.
IF sy-subrc = 0.
IF ( wa_p0040-begda BETWEEN wa_icm-guebg AND wa_icm-gueen ).
wa_disp-pernr = wa_club-pernr.
wa_disp-gjahr = wa_club-gjahr.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '12'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross12 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross12 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ENDIF.
ENDIF.
ELSEIF cycle = space AND it_disp[] IS NOT INITIAL.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '12'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross12 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross12 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ELSE.
IF r1 = 'X'.
wa_disp-gross12 = wa_club-netsalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross12 WHERE gtext = 'NetSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ELSE.
wa_disp-gross12 = wa_club-grosssalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross12 WHERE gtext = 'GrossSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ENDIF.
cycle = '12'.
count = count + 1.
ENDIF.
PERFORM cal_cycle12.
*------cycle 13
ELSEIF wa_club-cycle = '13' AND count LE 23.
IF cycle = space AND it_disp[] IS INITIAL.
READ TABLE it_icm INTO wa_icm WITH KEY zcycle = wa_club-cycle
gjahr = wa_club-gjahr.
IF sy-subrc = 0.
IF ( wa_p0040-begda BETWEEN wa_icm-guebg AND wa_icm-gueen ).
wa_disp-pernr = wa_club-pernr.
wa_disp-gjahr = wa_club-gjahr.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '13'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross13 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross13 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ENDIF.
ENDIF.
ELSEIF cycle = space AND it_disp[] IS NOT INITIAL.
wa_disp-pernr1 = wa_club-pernr.
wa_disp-gjahr1 = wa_club-gjahr.
CYCLE = '13'.
count = count + 1.
IF r1 = 'X'.
wa_disp-gtext = 'NetSelf'.
wa_disp-gross13 = wa_club-netsalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ELSEIF r2 = 'X'.
wa_disp-gtext = 'GrossSelf'.
wa_disp-gross13 = wa_club-grosssalesself.
APPEND wa_disp TO it_disp.
clear : wa_disp-pernr, wa_disp-gjahr.
ENDIF.
ELSE.
IF r1 = 'X'.
wa_disp-gross13 = wa_club-netsalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross13 WHERE gtext = 'NetSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ELSE.
wa_disp-gross13 = wa_club-grosssalesself.
MODIFY it_disp FROM wa_disp TRANSPORTING gross13 WHERE gtext = 'GrossSelf' AND GJAHR1 = year AND PERNR1 = PERNR.
ENDIF.
count = count + 1.
cycle = '13'.
ENDIF.
PERFORM cal_cycle13.
ENDIF.
*
*
endform. " format_data1
&----
*& Form cal_cycle1
&----
text
----
--> p1 text
<-- p2 text
----
form cal_cycle1 .
IF count le 12.
count1 = wa_disp-gross1 + count1.
ELSEIF count GT 12.
count2 = wa_disp-gross1 + count2.
ENDIF.
endform. " cal_cycle1
&----
*& Form cal_cycle2
&----
text
----
--> p1 text
<-- p2 text
----
form cal_cycle2 .
IF count le 12.
count1 = wa_disp-gross2 + count1.
ELSEIF count GT 12.
count2 = wa_disp-gross2 + count2.
ENDIF.
endform. " cal_cycle2
&----
*& Form cal_cycle3
&----
text
----
--> p1 text
<-- p2 text
----
form cal_cycle3 .
IF count le 12.
count1 = wa_disp-gross3 + count1.
ELSEIF count GT 12.
count2 = wa_disp-gross3 + count2.
ENDIF.
endform. " cal_cycle3
&----
*& Form cal_cycle4
&----
text
----
--> p1 text
<-- p2 text
----
form cal_cycle4 .
IF count le 12.
count1 = wa_disp-gross4 + count1.
ELSEIF count GT 12.
count2 = wa_disp-gross4 + count2.
ENDIF.
endform. " cal_cycle4
&----
*& Form cal_cycle5
&----
text
----
--> p1 text
<-- p2 text
----
form cal_cycle5 .
IF count le 12.
count1 = wa_disp-gross5 + count1.
ELSEIF count GT 12.
count2 = wa_disp-gross5 + count2.
ENDIF.
endform. " cal_cycle5
&----
*& Form cal_cycle6
&----
text
----
--> p1 text
<-- p2 text
----
form cal_cycle6 .
IF count le 12.
count1 = wa_disp-gross6 + count1.
ELSEIF count GT 12.
count2 = wa_disp-gross6 + count2.
ENDIF.
endform. " cal_cycle6
&----
*& Form cal_cycle7
&----
text
----
--> p1 text
<-- p2 text
----
form cal_cycle7 .
IF count le 12.
count1 = wa_disp-gross7 + count1.
ELSEIF count GT 12.
count2 = wa_disp-gross7 + count2.
ENDIF.
endform. " cal_cycle7
&----
*& Form cal_cycle8
&----
text
----
--> p1 text
<-- p2 text
----
form cal_cycle8 .
IF count le 12.
count1 = wa_disp-gross8 + count1.
ELSEIF count GT 12.
count2 = wa_disp-gross8 + count2.
ENDIF.
endform. " cal_cycle8
&----
*& Form cal_cycle9
&----
text
----
--> p1 text
<-- p2 text
----
form cal_cycle9 .
IF count le 12.
count1 = wa_disp-gross9 + count1.
ELSEIF count GT 12.
count2 = wa_disp-gross9 + count2.
ENDIF.
endform. " cal_cycle9
&----
*& Form cal_cycle10
&----
text
----
--> p1 text
<-- p2 text
----
form cal_cycle10 .
IF count le 12.
count1 = wa_disp-gross10 + count1.
ELSEIF count GT 12.
count2 = wa_disp-gross10 + count2.
ENDIF.
endform. " cal_cycle10
&----
*& Form cal_cycle11
&----
text
----
--> p1 text
<-- p2 text
----
form cal_cycle11 .
IF count le 12.
count1 = wa_disp-gross11 + count1.
ELSEIF count GT 12.
count2 = wa_disp-gross11 + count2.
ENDIF.
endform. " cal_cycle11
&----
*& Form cal_cycle12
&----
text
----
--> p1 text
<-- p2 text
----
form cal_cycle12 .
IF count le 12.
count1 = wa_disp-gross12 + count1.
ELSEIF count GT 12.
count2 = wa_disp-gross12 + count2.
ENDIF.
endform. " cal_cycle12
&----
*& Form cal_cycle3
&----
text
----
--> p1 text
<-- p2 text
----
form cal_cycle13 .
IF count le 12.
count1 = wa_disp-gross13 + count1.
ELSEIF count GT 12.
count2 = wa_disp-gross13 + count2.
ENDIF.
endform. " cal_cycle13
**************************************************************8
*&----
*
*& Form field_catalog
*&----
*
FORM field_catalog.
wa_field-fieldname = 'PERNR'.
wa_field-reptext = 'Personal No'.
wa_field-checkbox = 'X'.
wa_field-edit = 'X'.
wa_field-outputlen = '13'.
APPEND wa_field TO t_field.
CLEAR wa_field.
wa_field-fieldname = 'ENAME'.
wa_field-reptext = 'Name'.
wa_field-outputlen = '20'.
APPEND wa_field TO t_field.
CLEAR wa_field.
wa_field-fieldname = 'WERKS'.
wa_field-reptext = 'PA'.
wa_field-outputlen = '4'.
APPEND wa_field TO t_field.
CLEAR wa_field.
wa_field-fieldname = 'NAME1'.
wa_field-reptext = 'Personal Area'.
wa_field-outputlen = '15'.
APPEND wa_field TO t_field.
CLEAR wa_field.
wa_field-fieldname = 'BTRTL'.
wa_field-reptext = 'PSA'.
wa_field-outputlen = '4'.
APPEND wa_field TO t_field.
CLEAR wa_field.
wa_field-fieldname = 'BTEXT'.
wa_field-reptext = 'Personal Subarea'.
wa_field-outputlen = '18'.
APPEND wa_field TO t_field.
CLEAR wa_field.
wa_field-fieldname = 'REGION'.
wa_field-reptext = 'Region'.
wa_field-outputlen = '8'.
APPEND wa_field TO t_field.
CLEAR wa_field.
wa_field-fieldname = 'SBU'.
wa_field-reptext = 'Sbu'.
wa_field-outputlen = '4'.
APPEND wa_field TO t_field.
CLEAR wa_field.
wa_field-fieldname = 'AREA'.
wa_field-reptext = 'Area'.
wa_field-outputlen = '4'.
APPEND wa_field TO t_field.
CLEAR wa_field.
wa_field-fieldname = 'VKBUR'.
wa_field-reptext = 'SO'.
wa_field-outputlen = '4'.
APPEND wa_field TO t_field.
CLEAR wa_field.
wa_field-fieldname = 'VKGRP'.
wa_field-reptext = 'SG'.
wa_field-outputlen = '4'.
APPEND wa_field TO t_field.
CLEAR wa_field.
wa_field-fieldname = 'DOJ'.
wa_field-reptext = 'DOJ'.
wa_field-outputlen = '10'.
APPEND wa_field TO t_field.
CLEAR wa_field.
wa_field-fieldname = 'LOS'.
wa_field-reptext = 'LOS In Months'.
wa_field-outputlen = '10'.
APPEND wa_field TO t_field.
CLEAR wa_field.
wa_field-fieldname = 'DAYS'.
wa_field-reptext = 'No Of Months With Bike'.
wa_field-outputlen = '13'.
APPEND wa_field TO t_field.
CLEAR wa_field.
wa_field-fieldname = 'GJAHR'.
wa_field-reptext = 'Year'.
wa_field-outputlen = '10'.
APPEND wa_field TO t_field.
CLEAR wa_field.
wa_field-fieldname = 'GTEXT'.
wa_field-outputlen = '13'.
wa_field-reptext = 'Description'.
APPEND wa_field TO t_field.
CLEAR wa_field.
wa_field-fieldname = 'GROSS1'.
wa_field-reptext = 'Cycle 1'.
wa_field-outputlen = '7'.
APPEND wa_field TO t_field.
CLEAR wa_field.
wa_field-fieldname = 'GROSS2'.
wa_field-reptext = 'Cycle 2'.
wa_field-outputlen = '7'.
APPEND wa_field TO t_field.
CLEAR wa_field.
wa_field-fieldname = 'GROSS3'.
wa_field-reptext = 'Cycle 3'.
wa_field-outputlen = '7'.
APPEND wa_field TO t_field.
CLEAR wa_field.
wa_field-fieldname = 'GROSS4'.
wa_field-reptext = 'Cycle 4'.
wa_field-outputlen = '7'.
APPEND wa_field TO t_field.
CLEAR wa_field.
wa_field-fieldname = 'GROSS5'.
wa_field-reptext = 'Cycle 5'.
wa_field-outputlen = '7'.
APPEND wa_field TO t_field.
CLEAR wa_field.
wa_field-fieldname = 'GROSS6'.
wa_field-reptext = 'Cycle 6'.
wa_field-outputlen = '7'.
APPEND wa_field TO t_field.
CLEAR wa_field.
wa_field-fieldname = 'GROSS7'.
wa_field-reptext = 'Cycle 7'.
wa_field-outputlen = '7'.
APPEND wa_field TO t_field.
CLEAR wa_field.
wa_field-fieldname = 'GROSS8'.
wa_field-reptext = 'Cycle 8'.
wa_field-outputlen = '7'.
APPEND wa_field TO t_field.
CLEAR wa_field.
wa_field-fieldname = 'GROSS9'.
wa_field-reptext = 'Cycle 9'.
wa_field-outputlen = '7'.
APPEND wa_field TO t_field.
CLEAR wa_field.
wa_field-fieldname = 'GROSS10'.
wa_field-reptext = 'Cycle 10'.
wa_field-outputlen = '7'.
APPEND wa_field TO t_field.
CLEAR wa_field.
wa_field-fieldname = 'GROSS11'.
wa_field-reptext = 'Cycle 11'.
wa_field-outputlen = '7'.
APPEND wa_field TO t_field.
CLEAR wa_field.
wa_field-fieldname = 'GROSS12'.
wa_field-reptext = 'Cycle 12'.
wa_field-outputlen = '7'.
APPEND wa_field TO t_field.
CLEAR wa_field.
wa_field-fieldname = 'GROSS13'.
wa_field-reptext = 'Cycle 13'.
wa_field-outputlen = '7'.
APPEND wa_field TO t_field.
CLEAR wa_field.
ENDFORM. " field_catalog
*&----
*
*& Form field_layout
*&----
*
FORM field_layout.
T_LAYOUT-ZEBRA = 'X'.
t_layout-no_rowmark = 'X'.
*
t_layout-info_fname = 'COLOR'.
t_layout-grid_title = 'Bike Transfer Performance Check Report'.
ENDFORM. " field_layout
*----
FORM event_top_of_page USING dg_dyndoc_id TYPE REF TO cl_dd_document.
DATA : dl_text(255) TYPE c. "Text
DATA : TEXT(225),
count3(25),
count4(25),date12(10).
count3 = count1.
count4 = count2.
CALL METHOD dg_dyndoc_id->add_text
EXPORTING
text = 'Bike Transfer Performance Check Report'
sap_style = cl_dd_area=>heading
sap_fontsize = cl_dd_area=>large
sap_color = cl_dd_area=>list_heading_int.
*----for new line1
CALL METHOD dg_dyndoc_id->new_line.
CALL METHOD dg_dyndoc_id->new_line.
CLEAR : dl_text.
program ID
dl_text = 'Employee No :'.
CALL METHOD dg_dyndoc_id->add_gap.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_heading_int.
CLEAR : dl_text.
dl_text = p_pernr.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_negative_inv.
CLEAR : dl_text.
CALL METHOD dg_dyndoc_id->add_gap
EXPORTING
width = 100.
dl_text = 'Date Of Issue Year :'.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_heading_int.
CLEAR : dl_text.
concatenate wa_p0040-begda6(2) wa_p0040-begda4(2) wa_p0040-begda+0(4) INTO date12 SEPARATED By '.'.
dl_text = DATE12.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_negative_inv.
CLEAR : dl_text.
*---new line 2
CALL METHOD dg_dyndoc_id->new_line.
CLEAR : dl_text.
dl_text = 'Month :'.
CALL METHOD dg_dyndoc_id->add_gap.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_heading_int.
CLEAR : dl_text.
dl_text = p_mon-LOW.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_negative_inv.
CLEAR : dl_text.
CALL METHOD dg_dyndoc_id->add_gap
EXPORTING
width = 128.
dl_text = 'Make :'.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_heading_int.
CLEAR : dl_text.
dl_text = wa_p0040-zzmake.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_negative_inv.
CLEAR : dl_text.
*---new line 3
CALL METHOD dg_dyndoc_id->new_line.
CLEAR : dl_text.
dl_text = 'Bike Issue Year :'.
CALL METHOD dg_dyndoc_id->add_gap.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_heading_int.
CLEAR : dl_text.
dl_text = p_gjahr-LOW.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_negative_inv.
CLEAR : dl_text.
CALL METHOD dg_dyndoc_id->add_gap
EXPORTING
width = 106.
dl_text = 'Model :'.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_heading_int.
CLEAR : dl_text.
dl_text = wa_p0040-zzmodel.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_negative_inv.
CLEAR : dl_text.
*---new line 4
CALL METHOD dg_dyndoc_id->new_line.
CLEAR : dl_text.
dl_text = 'Total For First 12 Cycles :'.
CALL METHOD dg_dyndoc_id->add_gap.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_heading_int.
CLEAR : dl_text.
dl_text = count3.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_negative_inv.
CLEAR : dl_text.
CALL METHOD dg_dyndoc_id->add_gap
EXPORTING
width = 96.
dl_text = 'Register No :'.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_heading_int.
CLEAR : dl_text.
dl_text = wa_p0040-zzregno.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_negative_inv.
CLEAR : dl_text.
*---new line 5
CALL METHOD dg_dyndoc_id->new_line.
CLEAR : dl_text.
dl_text = 'Total For Last 12 Cycles :'.
CALL METHOD dg_dyndoc_id->add_gap.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_heading_int.
CLEAR : dl_text.
dl_text = count4.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_negative_inv.
CLEAR : dl_text.
CALL METHOD dg_dyndoc_id->add_gap
EXPORTING
width = 96.
dl_text = 'Engine No :'.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_heading_int.
CLEAR : dl_text.
dl_text = wa_p0040-zzengno.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_negative_inv.
CLEAR : dl_text.
*---new line 6
CALL METHOD dg_dyndoc_id->new_line.
CLEAR : dl_text.
clear count3.
count3 = count1 + count2.
dl_text = 'Total For 24 Months :'.
CALL METHOD dg_dyndoc_id->add_gap.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_heading_int.
CLEAR : dl_text.
dl_text = count3.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_negative_inv.
CLEAR : dl_text.
CALL METHOD dg_dyndoc_id->add_gap
EXPORTING
width = 102.
dl_text = 'Chasis No :'.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_heading_int.
CLEAR : dl_text.
dl_text = wa_p0040-zzchno.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_negative_inv.
CLEAR : dl_text.
clear count4.
count4 = 360 - count3.
*---new line 7
CALL METHOD dg_dyndoc_id->new_line.
CLEAR : dl_text.
dl_text = 'Balance To Be Achieved :'.
CALL METHOD dg_dyndoc_id->add_gap.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_heading_int.
CLEAR : dl_text.
dl_text = count4.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_negative_inv.
CLEAR : dl_text.
CALL METHOD dg_dyndoc_id->add_gap
EXPORTING
width = 93.
dl_text = 'Cost in INR :'.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_heading_int.
CLEAR : dl_text.
dl_text = wa_p0040-zzcost.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_negative_inv.
CLEAR : dl_text.
*---new line 8
CALL METHOD dg_dyndoc_id->new_line.
CLEAR : dl_text.
dl_text = 'Note :'.
CALL METHOD dg_dyndoc_id->add_gap.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_heading_int.
CLEAR : dl_text.
IF count3 = 360.
dl_text = 'Performance Norms Met Transfer Bike'.
ELSEIF count3 LT 360.
dl_text = 'Performance Norms Not Met Extend OYBS Period'.
ENDIF.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_negative_inv.
CLEAR : dl_text.
CALL METHOD dg_dyndoc_id->add_gap
EXPORTING
width = 46.
dl_text = 'Date Of Transfer :'.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_heading_int.
CLEAR : dl_text.
CLEAR date12.
IF wa_p0040-zzdate IS NOT INITIAL.
concatenate wa_p0040-zzdate6(2) wa_p0040-zzdate4(2) wa_p0040-zzdate+0(4) INTO date12 SEPARATED By '.'.
dl_text = date12.
ELSE.
concatenate wa_p0040-endda6(2) wa_p0040-endda4(2) wa_p0040-endda+0(4) INTO date12 SEPARATED By '.'.
dl_text = date12.
ENDIF.
CALL METHOD v_dyndoc_id->add_text
EXPORTING
text = dl_text.
sap_emphasis = cl_dd_area=>heading
sap_color = cl_dd_area=>list_negative_inv.
CLEAR : dl_text.
*----
CALL METHOD dg_dyndoc_id->add_gap
*
EXPORTING
*
width = 200.
*
*
CALL METHOD v_dyndoc_id->add_picture
*
EXPORTING
*
picture_id = 'ENJOYSAP_LOGO'.
*
*
Add new-line
*
CALL METHOD dg_dyndoc_id->new_line.
*
*
CALL METHOD dg_dyndoc_id->new_line.
*
*
*
CLEAR : dl_text.
*
*
program ID
*
dl_text = 'Program Name :'.
*
**
*
CALL METHOD dg_dyndoc_id->add_gap.
*
**
*
CALL METHOD v_dyndoc_id->add_text
*
EXPORTING
*
text = dl_text
*
sap_emphasis = cl_dd_area=>heading
*
sap_color = cl_dd_area=>list_heading_int.
*
**
*
CLEAR dl_text.
*
**
*
dl_text = sy-repid.
*
**
*
CALL METHOD v_dyndoc_id->add_text
*
EXPORTING
*
text = dl_text
*
sap_emphasis = cl_dd_area=>heading
*
sap_color = cl_dd_area=>list_negative_inv.
*
*
Add new-line
*
CALL METHOD dg_dyndoc_id->new_line.
*
*
*
CLEAR : dl_text.
*
*
*
CLEAR : dl_text.
*
*
program ID
*
dl_text = 'User Name :'.
*
*
CALL METHOD dg_dyndoc_id->add_gap.
*
*
CALL METHOD v_dyndoc_id->add_text
*
EXPORTING
*
text = dl_text
*
sap_emphasis = cl_dd_area=>heading.
*
sap_color = cl_dd_area=>list_heading_int.
*
*
CLEAR dl_text.
*
*
dl_text = sy-uname.
*
*
CALL METHOD v_dyndoc_id->add_text
*
EXPORTING
*
text = dl_text
*
sap_emphasis = cl_dd_area=>heading
*
sap_color = cl_dd_area=>list_negative_inv.
*
*
Add new-line
*
CALL METHOD dg_dyndoc_id->new_line.
*
*
*
CLEAR : dl_text.
*
*
Run Date
*
dl_text = 'Run Date :'.
*
*
CALL METHOD dg_dyndoc_id->add_gap.
*
*
CALL METHOD v_dyndoc_id->add_text
*
EXPORTING
*
text = dl_text
*
sap_emphasis = cl_dd_area=>heading
*
sap_color = cl_dd_area=>list_heading_int.
*
*
CLEAR dl_text.
*
*
Move date
*
WRITE sy-datum TO dl_text.
*
*
CALL METHOD v_dyndoc_id->add_text
*
EXPORTING
*
text = dl_text
*
sap_emphasis = cl_dd_area=>heading
*
sap_color = cl_dd_area=>list_negative_inv.
*
*
Add new-line
*
CALL METHOD dg_dyndoc_id->new_line.
*
*
CLEAR : dl_text.
*
*
**Time
*
dl_text = 'Time :'.
*
*
CALL METHOD dg_dyndoc_id->add_gap.
*
*
CALL METHOD v_dyndoc_id->add_text
*
EXPORTING
*
text = dl_text
*
sap_emphasis = cl_dd_area=>heading
*
sap_color = cl_dd_area=>list_heading_int.
*
*
CLEAR dl_text.
*
*
Move time
*
WRITE sy-uzeit TO dl_text.
*
*
CALL METHOD v_dyndoc_id->add_text
*
EXPORTING
*
text = dl_text
*
sap_emphasis = cl_dd_area=>heading
*
sap_color = cl_dd_area=>list_negative_inv.
*
*
Add new-line
*
CALL METHOD dg_dyndoc_id->new_line.
*
*
CALL METHOD v_dyndoc_id->display_document
EXPORTING
REUSE_CONTROL = 'X'
reuse_registration = 'X'
parent = v_top_cont.
*PERFORM DISPLAY.
ENDFORM. " EVENT_TOP_OF_PAGE
***********************************************************************
*&----
*
*& Form create_top_con
*&----
FORM create_top_con.
DATA: g_grid TYPE REF TO cl_gui_alv_grid.
CREATE OBJECT v_custom_cont
EXPORTING container_name = 'CUSTOM'.
Create TOP-Document
CREATE OBJECT v_dyndoc_id
EXPORTING style = 'ALV_GRID'.
Create Splitter for custom_container
CREATE OBJECT v_splitter
EXPORTING parent = v_custom_cont
rows = 2
columns = 1.
CALL METHOD v_splitter->get_container
EXPORTING
row = 1
column = 1
RECEIVING
container = v_top_cont.
CALL METHOD v_splitter->get_container
EXPORTING
row = 2
column = 1
RECEIVING
container = v_grid_cont.
Set height for g_parent_html
CALL METHOD v_splitter->set_row_height
EXPORTING
id = 1
height = 35.
ENDFORM. " create_top_con
*&----
*
*& Form create_grid_con
*&----
*
FORM create_grid_con.
*
CREATE OBJECT v_container
*
EXPORTING
*
container_name = 'CUSTOM'.
CREATE OBJECT v_alv
EXPORTING
i_parent = v_grid_cont.
CREATE OBJECT handler_event.
SET HANDLER handler_event->top_of_page FOR v_alv.
CALL METHOD v_alv->set_table_for_first_display
*
EXPORTING
*
I_BYPASSING_BUFFER =
*
I_BUFFER_ACTIVE =
*
I_CONSISTENCY_CHECK =
*
I_STRUCTURE_NAME =
*
IS_VARIANT =
*
i_save = 'A'
*
I_DEFAULT = 'X'
*
is_layout = t_layout
*
IS_PRINT =
*
T_SPECIAL_GROUPS =
*
T_TOOLBAR_EXCLUDING =
*
T_HYPERLINK =
*
T_ALV_GRAPHICS =
*
CHANGING
*
it_outtab = It_disp[]
*
it_fieldcatalog = t_field[]
*
T_SORT =
*
T_FILTER =
*
EXCEPTIONS
*
INVALID_PARAMETER_COMBINATION = 1
*
PROGRAM_ERROR = 2
*
TOO_MANY_LINES = 3
*
others = 4
*
.
*
IF sy-subrc <> 0.
*
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
call method v_alv->set_table_for_first_display
exporting
is_variant = w_variant
i_save = 'X'
i_default = 'X'
is_layout = t_layout
it_toolbar_excluding = w_exclude1
changing
it_outtab = it_disp[]
it_fieldcatalog = t_field[]
it_sort = t_sort[]
exceptions
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
others = 4.
ENDFORM. " create_grid_con
if it is usefull Plz Reward
Regards
Anbu