Skip to Content
0
Former Member
Jun 06, 2008 at 10:55 AM

PAI not getting triggered.

23 Views

HI, I have a code as below.

The PAI module is not getting triggered.

I guess something small is missing but I am not getting it.

YOur help wud be appretiated and rewarded.

Thanks

=================

PROCESS BEFORE OUTPUT.

MODULE STATUS_0100.

LOOP WITH CONTROL TC.

MODULE FILL_TABLE_CONTROL.

ENDLOOP.

*

PROCESS AFTER INPUT.

MODULE USER_COMMAND_0100.

MODULE CANCEL AT EXIT-COMMAND.

LOOP WITH CONTROL TC.

module read_table_control.

ENDLOOP.

module user_command_0100.

======================

Program Code :

&----


*& Report ZSCD_TEST5

*&

&----


*&

*&

&----


REPORT ZSCD_TEST5.

DATA: BEGIN OF ITAB OCCURS 0,

PERNR TYPE PA0002-PERNR,

NACHN TYPE PA0002-NACHN,

VORNA TYPE PA0002-VORNA,

END OF ITAB.

CONTROLS TC TYPE TABLEVIEW USING SCREEN 100.

DATA: BEGIN OF WA_ITAB ,

PERNR TYPE PA0002-PERNR,

NACHN TYPE PA0002-NACHN,

VORNA TYPE PA0002-VORNA,

END OF wa_ITAB.

data : fill TYPE i.

DATA: ok_code TYPE sy-ucomm,

save_ok TYPE sy-ucomm.

DATA: lines TYPE i,

limit TYPE i.

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

PARAMETERS : P_LNAME LIKE PA0002-NACHN.

SELECTION-SCREEN END OF BLOCK B1.

start-of-selection.

select pernr nachn vorna from pa0002 into table itab where nachn = p_lname.

CALL SCREEN 100.

&----


*& Module STATUS_0100 OUTPUT

&----


text

-


MODULE STATUS_0100 OUTPUT.

SET PF-STATUS 'PF1'.

DESCRIBE TABLE itab LINES fill.

TC-lines = fill.

ENDMODULE. " STATUS_0100 OUTPUT

&----


*& Module CANCEL INPUT

&----


text

-


MODULE CANCEL INPUT.

LEAVE PROGRAM.

ENDMODULE. " CANCEL INPUT

&----


*& Module USER_COMMAND_0100 INPUT

&----


text

-


MODULE USER_COMMAND_0100 INPUT.

save_ok = ok_code.

CLEAR ok_code.

CASE save_ok.

WHEN 'NEXT_LINE'.

TC-top_line = TC-top_line + 1.

limit = fill - lines + 1.

IF TC-top_line > limit.

TC-top_line = limit.

ENDIF.

WHEN 'PREV_LINE'.

TC-top_line = TC-top_line - 1.

IF TC-top_line < 0.

TC-top_line = 0.

ENDIF.

WHEN 'NEXT_PAGE'.

TC-top_line = TC-top_line + lines.

limit = fill - lines + 1.

IF TC-top_line > limit.

TC-top_line = limit.

ENDIF.

WHEN 'PREV_PAGE'.

TC-top_line = TC-top_line - lines.

IF TC-top_line < 0.

TC-top_line = 0.

ENDIF.

WHEN 'LAST_PAGE'.

TC-top_line = fill - lines + 1.

WHEN 'FIRST_PAGE'.

TC-top_line = 0.

ENDCASE.

ENDMODULE. " USER_COMMAND_0100 INPUT

&----


*& Module READ_TABLE_CONTROL INPUT

&----


text

-


MODULE READ_TABLE_CONTROL INPUT.

lines = sy-loopc.

MODIFY itab from wa_itab INDEX TC-current_line.

ENDMODULE. " READ_TABLE_CONTROL INPUT

&----


*& Module FILL_TABLE_CONTROL OUTPUT

&----


text

-


MODULE FILL_TABLE_CONTROL OUTPUT.

READ TABLE itab into wa_itab INDEX TC-current_line.

ENDMODULE. " FILL_TABLE_CONTROL OUTPUT