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

Search Help for Table Control not working properly

Former Member
0 Likes
819

Dear Friends,

I have a table control in my screen with fields like Date, BoxNo., Material, Excise From, Excise To etc. The user uses this screen to look for a box no. available for delivery and to note its other details for invoicing.

Obviously this table control shows hundreds of records, hence my user wants some sort of search criteria using which he can easily find the box no. of his interest. I understand that I'll have to configure a customized collective help for the same and I developed the same but somewhere I am commiting a mistake. The result of my search 'overwrites' the very first record every time, while I only want it to get 'highlited' within the table control.

Kindly advice how to go about it step-by-step.

Regards,

Alok.

Dear Friends,

I have a table control in my screen with fields like Date, BoxNo., Material, Excise From, Excise To etc. The user uses this screen to look for a box no. available for delivery and to note its other details for invoicing.

Obviously this table control shows hundreds of records, hence my user wants some sort of search criteria using which he can easily find the box no. of his interest. I understand that I'll have to configure a customized collective help for the same and I developed the same but somewhere I am commiting a mistake. The result of my search 'overwrites' the very first record every time, while I only want it to get 'highlited' within the table control.

Kindly advice how to go about it step-by-step.

Regards,

Alok.

6 REPLIES 6
Read only

Former Member
0 Likes
791

Hi,

Why don`t you make your table-control input off ? before the selection.

Further, send me ur code let me try mending it.

Rgds

Read only

0 Likes
791

Dear Zapper,

I's looking for you since morning, infact had left a message at your gmail adddress also. I understood the logic that you given to me yesterday but needs some guidance to implement the same. Can you come on any messenger so that we can interact.

Regards,

Alok.

Read only

0 Likes
791

Dear Zapper,

and the PBO and PAI events of my screen are as under:

PROCESS BEFORE OUTPUT.

MODULE STATUS_0100.

loop at it_VDELIVERY with control TC cursor TC-TOP_LINE.

module assign_data.

endloop.

PROCESS AFTER INPUT.

MODULE USER_COMMAND_0100.

MODULE EXIT AT EXIT-COMMAND.

LOOP AT IT_VDELIVERY.

module GET.

ENDLOOP.

Regards,

Read only

Former Member
0 Likes
791

Hi

So do you need a tool to search a certain record of table control and not a Search help?

You could create buttom for the research, after pushing it an popup is shown, here the user insert criteria u'll use to search the record/records.

In PBO you can change the attribute (by LOOP AT SCREEN/ENDLOOP) of the records satisfying the criteria.

Max

Read only

Former Member
0 Likes
791

Alok,

I`m currently off msg. lets do the talk thro SDN. Let me try my best ...

Rgds

Read only

0 Likes
791

Dear Zapper,

I am sending the code of my program to you. The code has to be added to the CASE ok-code = PBUT section. Please have a look.

if you need any clarification please ask.

&----


*& Report ZVBOXNODISPLAY1

*

*& *

&----


*& *

*& *

&----


REPORT ZVBOX_COPY MESSAGE-ID ZMESSAGE_LAT.

TABLES : LIKP,ZVDELIVERY1,LIPS.

controls:TC type tableview using screen 0100.

DATA:WS_SEL(1).

DATA:WS_INT_IDX TYPE I ,

WS_TAB_SIZE TYPE I.

DATA:V_VBELN LIKE LIKP-VBELN,

V_QTY LIKE LIPS-LFIMG,

TOT_QTY LIKE LIPS-LFIMG ,

V_BOXSIZE LIKE ZVDELIVERY1-BOX_SIZE1,

V_TOT LIKE ZVDELIVERY1-BOX_SIZE1,

LEFT_QTY LIKE ZVDELIVERY1-BOX_SIZE1,

MATERIAL1 LIKE MARA-MATNR,

PLANT LIKE ZVDELIVERY1-PLANT,

V_LFIMG LIKE LIPS-LFIMG.

DATA:V_TOTSIZE LIKE ZVDELIVERY1-BOX_SIZE1.

data ok_code like sy-ucomm.

DATA:

BEGIN OF IT_VDELIVERY OCCURS 0,

SNO LIKE ZVDELIVERY1-SNO,

DAT LIKE ZVDELIVERY1-DAT,

BOX_NO LIKE ZVDELIVERY1-BOX_NO,

BOX_SIZE1 LIKE ZVDELIVERY1-BOX_SIZE1,

EXCISE_FROM LIKE ZVDELIVERY1-EXCISE_FROM,

EXCISE_TO LIKE ZVDELIVERY1-EXCISE_TO,

STATUS LIKE ZVDELIVERY1-STATUS,

DEL_NO LIKE ZVDELIVERY1-DEL_NO,

PLANT LIKE ZVDELIVERY1-PLANT,

MATNR LIKE ZVDELIVERY1-MATNR,

END OF IT_VDELIVERY.

start-of-selection.

ZVDELIVERY1-DAT = IT_VDELIVERY-DAT.

ZVDELIVERY1-BOX_NO = IT_VDELIVERY-BOX_NO.

ZVDELIVERY1-BOX_SIZE1 = IT_VDELIVERY-BOX_SIZE1.

ZVDELIVERY1-EXCISE_FROM = IT_VDELIVERY-EXCISE_FROM.

ZVDELIVERY1-EXCISE_TO = IT_VDELIVERY-EXCISE_TO.

ZVDELIVERY1-STATUS = IT_VDELIVERY-STATUS.

ZVDELIVERY1-DEL_NO = IT_VDELIVERY-DEL_NO.

ZVDELIVERY1-PLANT = IT_VDELIVERY-PLANT.

ZVDELIVERY1-MATNR = IT_VDELIVERY-MATNR.

*CALL SCREEN 0100.

MODULE STATUS_0100 OUTPUT.

SET PF-STATUS 'ZVBOX_COPY'.

GET PARAMETER ID 'VBELN' FIELD V_VBELN.

refresh IT_VDELIVERY.

IF MATERIAL1 <> ' ' .

select SNO DAT BOX_NO BOX_SIZE1 EXCISE_FROM EXCISE_TO

STATUS DEL_NO PLANT MATNR

from ZVDELIVERY1 into CORRESPONDING FIELDS OF

table IT_VDELIVERY WHERE

PLANT = PLANT AND

MATNR = MATERIAL1 AND

( STATUS = 'A' OR DEL_NO = V_VBELN )

order by status BOX_NO .

ELSE.

select SNO DAT BOX_NO BOX_SIZE1 EXCISE_FROM EXCISE_TO

STATUS DEL_NO PLANT MATNR

from ZVDELIVERY1 into CORRESPONDING FIELDS OF

table IT_VDELIVERY WHERE

PLANT = PLANT AND

( STATUS = 'A' OR DEL_NO = V_VBELN )

order by status BOX_NO .

ENDIF.

ENDMODULE. " STATUS_0100 OUTPUT

&----


*& Module assign_data OUTPUT

&----


  • text

----


MODULE assign_data OUTPUT.

ZVDELIVERY1-DAT = IT_VDELIVERY-DAT.

ZVDELIVERY1-BOX_NO = IT_VDELIVERY-BOX_NO.

ZVDELIVERY1-BOX_SIZE1 = IT_VDELIVERY-BOX_SIZE1.

ZVDELIVERY1-EXCISE_FROM = IT_VDELIVERY-EXCISE_FROM.

ZVDELIVERY1-EXCISE_TO = IT_VDELIVERY-EXCISE_TO.

ZVDELIVERY1-STATUS = IT_VDELIVERY-STATUS.

ZVDELIVERY1-DEL_NO = IT_VDELIVERY-DEL_NO.

ZVDELIVERY1-PLANT = IT_VDELIVERY-PLANT.

ZVDELIVERY1-MATNR = IT_VDELIVERY-MATNR.

ENDMODULE. " assign_data OUTPUT

&----


*& Module read_table_control INPUT

&----


  • text

----


MODULE read_table_control INPUT.

ENDMODULE. " read_table_control INPUT

&----


*& Module USER_COMMAND_0100 INPUT

&----


  • text

----


MODULE USER_COMMAND_0100 INPUT.

ok_code = sy-ucomm.

CASE ok_code.

WHEN 'SAVE'.

  • READ TABLE TC-COLS WITH KEY SEL = 'X'.

  • IF sy-subrc = 0.

  • LOOP AT IT_VDELIVERY index sy-tabix.

  • DELETE it_VDELIVERY.

  • ENDLOOP.

  • ENDIF.

WHEN 'SEL'.

*TOT_QTY = 0.

*SELECT BOX_SIZE1 FROM ZVDELIVERY1 INTO V_BOXSIZE

*WHERE STATUS = 'D' AND DEL_NO = V_VBELN.

*V_TOT = V_TOT + V_BOXSIZE.

*ENDSELECT.

*

*TOT_QTY = V_TOT.

WHEN 'BACK'.

CALL SCREEN 0200.

**************************************For the Push Button firing Search

WHEN 'PBUT'.

ENDCASE.

*****************************************************

ENDMODULE. " USER_COMMAND_0100 INPUT

&----


*& Module EXIT INPUT

&----


  • text

----


MODULE EXIT INPUT.

LEAVE PROGRAM.

ENDMODULE. " EXIT INPUT

&----


*& Module GET INPUT

&----


  • text

----


MODULE GET INPUT.

WS_INT_IDX = TC-TOP_LINE.

WS_TAB_SIZE = SY-LOOPC.

CLEAR OK_CODE.

OK_CODE = SY-UCOMM.

IF WS_SEL = 'X' AND OK_CODE = 'SAVE'.

IF WS_SEL = 'X' .

CLEAR V_TOT.

V_TOT = V_TOT + ZVDELIVERY1-BOX_SIZE1.

SELECT SUM( BOX_SIZE1 ) FROM ZVDELIVERY1 INTO V_TOTSIZE WHERE

DEL_NO = V_VBELN AND MATNR = MATERIAL1 AND PLANT = PLANT.

ENDIF.

V_TOTSIZE = V_TOT + V_TOTSIZE.

SELECT SINGLE LFIMG FROM LIPS INTO V_LFIMG WHERE VBELN = V_VBELN AND

WERKS = PLANT AND MATNR = MATERIAL1.

IF V_TOTSIZE > V_LFIMG.

MESSAGE E005.

ELSE.

UPDATE ZVDELIVERY1 SET STATUS = 'D' DEL_NO = V_VBELN WHERE

BOX_NO = IT_VDELIVERY-BOX_NO.

EXIT.

ENDIF.

ENDIF.

IF WS_SEL = 'X' AND OK_CODE = 'CLEAR'.

UPDATE ZVDELIVERY1 SET STATUS = 'A' DEL_NO = ' ' WHERE

BOX_NO = IT_VDELIVERY-BOX_NO.

endif.

ENDMODULE. " GET INPUT

&----


*& Module USER_COMMAND_0200 INPUT

&----


  • text

----


MODULE USER_COMMAND_0200 INPUT.

ok_code = sy-ucomm.

CASE ok_code.

WHEN 'CONTINUE'.

CALL SCREEN 100.

WHEN 'EXIT'.

LEAVE PROGRAM.

ENDCASE.

ENDMODULE. " USER_COMMAND_0200 INPUT

&----


*& Module STATUS_0200 OUTPUT

&----


  • text

----


MODULE STATUS_0200 OUTPUT.

SET PF-STATUS 'ZVBOX_COPY'.

ENDMODULE. " STATUS_0200 OUTPUT

Rgds,

Alok.