12-03-2010 3:28 AM
HI experts..
I have two screens in reports..one is input screen and second one is table control..First time if i exceute the report data is displaying in table control..and vertical scroll bar is working..if come to back..and exceute agying scroain with same values that time if i am trying to scroll vertical..the control is automatically coming to back...as of now my code is..
MODULE DATA_RETRIVAL OUTPUT.
REFRESH LT_STOCK[].
IF LT_STOCK[] IS INITIAL and sy-UCOMM ne 'DELALL'.
SELECT MANDT WERKS MATNR LGOLIF LFGJA LFMON LABST
INSME SPEME RETME VMLAB VMINS VMSPE VMRET
LBVLA VMSAL ZRCVDQTY ZISSUEQTY FROM ZMABBSTOCK INTO TABLE LT_STOCK
WHERE WERKS IN WERKS AND
MATNR IN MATNR AND
LGOLIF IN LGOLIF AND
LFGJA IN LFGJA AND
LFMON IN LFMON.
IF sy-subrc NE 0.
MESSAGE 'No Table entries found for specified key' TYPE 'S'.
ENDIF.
move WERKS-Low to werks.
move MATNR-Low TO MATNR.
MOVE LGOLIF-LOW TO LGOLIF.
MOVE LFGJA-LOW TO LFGJA.
MOVE LFMON-LOW TO LFMON.
REFRESH CONTROL 'TABCON' FROM SCREEN '100'.
DESCRIBE TABLE LT_STOCK LINES LV_LINES.
TABCON-CURRENT_LINE = LV_LINES.
ENDIF.
ENDMODULE. " DATA_RETRIVAL OUTPUT
&----
*& Module POPULATE_DATA OUTPUT
&----
text
----
MODULE POPULATE_DATA OUTPUT.
MOVE-CORRESPONDING LS_STOCK TO ZMABBSTOCK.
ENDMODULE. " POPULATE_DATA OUTPUT
&----
*& Module STATUS_0100 OUTPUT
&----
text
----
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'ZSTATUS'.
SET TITLEBAR 'xxx'.
ENDMODULE. " STATUS_0100 OUTPUT
&----
*& Module USER_COMMAND_0100 INPUT
&----
text
----
MODULE USER_COMMAND_0100 INPUT.
CASE OK-CODE.
WHEN 'BACK'.
REFRESH CONTROL 'TABCON' FROM SCREEN '100'.
LEAVE TO SCREEN 0.
WHEN 'EXIT'.
LEAVE PROGRAM.
WHEN 'CANCEL'.
LEAVE PROGRAM.
WHEN 'DELALL'.
DELETE ZMABBSTOCK from TABLE LT_STOCK.
if sy-subrc eq 0.
MESSAGE 'All entries are deleted' TYPE 'S'.
COMMIT WORK.
endif.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
&----
*& Module DATA_DELETE INPUT
&----
text
----
MODULE DATA_DELETE INPUT.
CASE OK-CODE.
WHEN 'DELETE'.
IF LSEL = 'X' .
DELETE LT_STOCK WHERE MANDT = ZMABBSTOCK-MANDT AND
MATNR = ZMABBSTOCK-MATNR AND
LGOLIF = ZMABBSTOCK-LGOLIF AND
LFGJA = ZMABBSTOCK-LFGJA AND
LFMON = ZMABBSTOCK-LFMON.
IF SY-SUBRC eq 0.
DELETE ZMABBSTOCK FROM ZMABBSTOCK .
IF SY-SUBRC EQ 0.
MESSAGE 'Selected Entries are deleted' type 'S'.
commit work.
ENDIF.
ENDIF.
ENDIF.
ENDCASE.
ENDMODULE. " DATA_DELETE IN
can any body plzz help me out
12-03-2010 3:53 AM
Hi,
Scrolling triggers the PAI of the screen. They have no exclusive function code assigned to them. Please restrict those portions of the code in such a way that they don't get executed for other sy-ucomm.
12-03-2010 3:58 AM
Hi,
Clear OK_CODE in your program before leaving to another screen/showing any messages.
Regards,
Srini.
12-03-2010 5:51 AM
Hi srinii...
Thanks a lot for giving reply..my problem was solved with that clearing OK_CODE...
12-03-2010 4:40 AM
HI,
Creat two FIRST BACK FOR 100 SCREEN SECOND BACK FOR 200 screen.
Give the differen name to back's. on ok_code.
After that clear okcode.
MODULE DATA_RETRIVAL OUTPUT.
REFRESH LT_STOCK[].
IF LT_STOCK[] IS INITIAL and sy-UCOMM ne 'DELALL'.
SELECT MANDT WERKS MATNR LGOLIF LFGJA LFMON LABST
INSME SPEME RETME VMLAB VMINS VMSPE VMRET
LBVLA VMSAL ZRCVDQTY ZISSUEQTY FROM ZMABBSTOCK INTO TABLE LT_STOCK
WHERE WERKS IN WERKS AND
MATNR IN MATNR AND
LGOLIF IN LGOLIF AND
LFGJA IN LFGJA AND
LFMON IN LFMON.
IF sy-subrc NE 0.
MESSAGE 'No Table entries found for specified key' TYPE 'S'.
ENDIF.
move WERKS-Low to werks.
move MATNR-Low TO MATNR.
MOVE LGOLIF-LOW TO LGOLIF.
MOVE LFGJA-LOW TO LFGJA.
MOVE LFMON-LOW TO LFMON.
REFRESH CONTROL 'TABCON' FROM SCREEN '100'.
DESCRIBE TABLE LT_STOCK LINES LV_LINES.
TABCON-CURRENT_LINE = LV_LINES.
ENDIF.
ENDMODULE. " DATA_RETRIVAL OUTPUT
&----
*& Module POPULATE_DATA OUTPUT
&----
text
-
MODULE POPULATE_DATA OUTPUT.
REFRESH:ZMABBSTOCK.
MOVE-CORRESPONDING LS_STOCK TO ZMABBSTOCK.
ENDMODULE. " POPULATE_DATA OUTPUT
&----
*& Module STATUS_0100 OUTPUT
&----
text
-
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'ZSTATUS'.
SET TITLEBAR 'xxx'.
ENDMODULE. " STATUS_0100 OUTPUT
&----
*& Module USER_COMMAND_0100 INPUT
&----
text
-
MODULE USER_COMMAND_0100 INPUT.
CASE OK-CODE.
WHEN 'BACK'.
LEAVE TO SCREEN 100.
WHEN 'EXIT'.
LEAVE PROGRAM.
WHEN 'CANCEL'.
LEAVE PROGRAM.
WHEN 'DELALL'.
DELETE ZMABBSTOCK from TABLE LT_STOCK.
if sy-subrc eq 0.
MESSAGE 'All entries are deleted' TYPE 'S'.
COMMIT WORK.
endif.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
&----
*& Module DATA_DELETE INPUT
&----
text
-
MODULE DATA_DELETE INPUT.
CASE OK-CODE.
WHEN 'DELETE'.
IF LSEL = 'X' .
DELETE LT_STOCK WHERE MANDT = ZMABBSTOCK-MANDT AND
MATNR = ZMABBSTOCK-MATNR AND
LGOLIF = ZMABBSTOCK-LGOLIF AND
LFGJA = ZMABBSTOCK-LFGJA AND
LFMON = ZMABBSTOCK-LFMON.
IF SY-SUBRC eq 0.
DELETE ZMABBSTOCK FROM ZMABBSTOCK .
IF SY-SUBRC EQ 0.
MESSAGE 'Selected Entries are deleted' type 'S'.
commit work.
ENDIF.
ENDIF.
ENDIF.
ENDCASE.
ENDMODULE. " DATA_DELETE IN
regards
muralii