Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

std programs

Former Member
0 Likes
464

hi,

i would like to know SAP standard prog's where pagedown and pageup buttons are applicable..when page down it need to scrool down the list and when page up it need to scrool up the list...

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
438

Hi

Your flow screen should be like this:

PROCESS PBO.

MODULE INIT_PAGE.

LOOP.

MODULE READ_ITAB.

ENDLOOP.

PROCESS PAI.

LOOP.

MODULE GET_ROWS_DISPLAED.

MODULE MODIFY_ITAB.

ENDLOOP.

MODULE GET_TOT_LINE.

-


MODULE INIT_PAGE.

IF TOP_LINE = 0.

TOP_LINE = 1.

ENDIF.

ENDMODULE.

MODULE READ_ITAB.

CURSOR = TOP_LINE + SY-STEPL - 1.

READ TABLE ITAB INDEX CURSOR.

IF SY-SUBRC <> 0.

CLEAR ITAB.

ENDIF.

ENDMODULE.

-


MODULE GET_TOT_LINE.

DESCRIBE TABLE ITAB LINES TOT_LINE.

ENDMODULE.

MODULE GET_ROWS_DISPLAED.

DISP_LINE = SY-LOOPC.

ENDMODULE.

MODULE MODIFY_ITAB.

CURSOR = TOP_LINE + SY-STEPL - 1.

MODIFY ITAB INDEX CURSOR.

ENDMODULE.

MODULE USER_COMMAND.

MODULE USER_COMMAND.

CASE OK_CODE.

WHEN 'PG_DW'.

TOP_LINE = TOP_LINE - DISP_LINE.

IF TOP_LINE < 1. TOP_LINE = 1. ENDIF.

WHEN 'PG_UP'.

TOP_LINE = TOP_LINE + DISP_LINE.

IF TOP_LINE > DISP_LINE. TOP_LINE = DISP_LINE. ENDIF

ENDCASE.

ENDMODULE.

Regards,

Priyanka.

3 REPLIES 3
Read only

Former Member
0 Likes
439

Hi

Your flow screen should be like this:

PROCESS PBO.

MODULE INIT_PAGE.

LOOP.

MODULE READ_ITAB.

ENDLOOP.

PROCESS PAI.

LOOP.

MODULE GET_ROWS_DISPLAED.

MODULE MODIFY_ITAB.

ENDLOOP.

MODULE GET_TOT_LINE.

-


MODULE INIT_PAGE.

IF TOP_LINE = 0.

TOP_LINE = 1.

ENDIF.

ENDMODULE.

MODULE READ_ITAB.

CURSOR = TOP_LINE + SY-STEPL - 1.

READ TABLE ITAB INDEX CURSOR.

IF SY-SUBRC <> 0.

CLEAR ITAB.

ENDIF.

ENDMODULE.

-


MODULE GET_TOT_LINE.

DESCRIBE TABLE ITAB LINES TOT_LINE.

ENDMODULE.

MODULE GET_ROWS_DISPLAED.

DISP_LINE = SY-LOOPC.

ENDMODULE.

MODULE MODIFY_ITAB.

CURSOR = TOP_LINE + SY-STEPL - 1.

MODIFY ITAB INDEX CURSOR.

ENDMODULE.

MODULE USER_COMMAND.

MODULE USER_COMMAND.

CASE OK_CODE.

WHEN 'PG_DW'.

TOP_LINE = TOP_LINE - DISP_LINE.

IF TOP_LINE < 1. TOP_LINE = 1. ENDIF.

WHEN 'PG_UP'.

TOP_LINE = TOP_LINE + DISP_LINE.

IF TOP_LINE > DISP_LINE. TOP_LINE = DISP_LINE. ENDIF

ENDCASE.

ENDMODULE.

Regards,

Priyanka.

Read only

0 Likes
438

Hi Neelam,

Thanks for ur response,can u let me know abt top_line??

Read only

Former Member
0 Likes
438

Hi,

Check the SAP Standard Program :

<b>DEMO_DYNPRO_TABCONT_LOOP</b>.

Code :

CONTROLS flights TYPE TABLEVIEW USING SCREEN 100.

DATA: ok_code TYPE sy-ucomm,

save_ok TYPE sy-ucomm.

DATA: itab TYPE TABLE OF demo_conn,

fill TYPE i.

TABLES demo_conn.

DATA: lines TYPE i,

limit TYPE i.

SELECT * FROM spfli INTO CORRESPONDING FIELDS OF TABLE itab.

CALL SCREEN 100.

MODULE status_0100 OUTPUT.

SET PF-STATUS 'SCREEN_100'.

DESCRIBE TABLE itab LINES fill.

flights-lines = fill.

ENDMODULE.

MODULE fill_table_control OUTPUT.

READ TABLE itab INTO demo_conn INDEX flights-current_line.

ENDMODULE.

MODULE cancel INPUT.

LEAVE PROGRAM.

ENDMODULE.

MODULE read_table_control INPUT.

lines = sy-loopc.

MODIFY itab FROM demo_conn INDEX flights-current_line.

ENDMODULE.

MODULE user_command_0100 INPUT.

save_ok = ok_code.

CLEAR ok_code.

CASE save_ok.

WHEN 'NEXT_LINE'.

flights-top_line = flights-top_line + 1.

limit = fill - lines + 1.

IF flights-top_line > limit.

flights-top_line = limit.

ENDIF.

WHEN 'PREV_LINE'.

flights-top_line = flights-top_line - 1.

IF flights-top_line < 0.

flights-top_line = 0.

ENDIF.

WHEN 'NEXT_PAGE'.

flights-top_line = flights-top_line + lines.

limit = fill - lines + 1.

IF flights-top_line > limit.

flights-top_line = limit.

ENDIF.

WHEN 'PREV_PAGE'.

flights-top_line = flights-top_line - lines.

IF flights-top_line < 0.

flights-top_line = 0.

ENDIF.

WHEN 'LAST_PAGE'.

flights-top_line = fill - lines + 1.

WHEN 'FIRST_PAGE'.

flights-top_line = 0.

ENDCASE.

ENDMODULE.

See the Structure <b>CXTAB_CONTROL</b> which has all the attribute of Table Control

Here Top_line is the attribute of CONTROLS or you can say Table Control , Top_line is topmost displayed row for next PBO . Set at time of PAI by the position of the vertical slider box.

Regards

Deepak.