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

PAI not getting triggered.

Former Member
0 Likes
781

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

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

6 REPLIES 6
Read only

former_member673464
Active Contributor
0 Likes
753

hi,

I think you have not assigned ok_code in the screen.In the screen creation screen select the element list tab and select the general attr tab and in the give the name ok_code for picking ok code.

Regards,

Veeresh

Read only

0 Likes
753

OK_Code is indeed added.

Its not working.

Thanks for you rreply.

Read only

0 Likes
753

Give MODULE USER_COMMAND_0100 lik this

PROCESS AFTER INPUT.

MODULE CANCEL AT EXIT-COMMAND.

LOOP at itab WITH CONTROL TC.

module read_table_control.

ENDLOOP.

MODULE USER_COMMAND_0100.

siva

Read only

0 Likes
753

Give MODULE USER_COMMAND_0100 lik this

PROCESS AFTER INPUT.

MODULE CANCEL AT EXIT-COMMAND.

LOOP at itab WITH CONTROL TC.

module read_table_control.

ENDLOOP.

MODULE USER_COMMAND_0100.

siva

Read only

Former Member
0 Likes
753

hi,

let me copy your program .. and try to solve..so wait

SIva

Read only

Former Member
0 Likes
753

Check if you have activated Screen.