2008 Mar 03 3:58 AM
Hi Experts,
I have created an interactive ALV whis is also having a checkbox field & a blank field for comments.
I have to save the chekbox value in a z table so that next time when the report run it wil not show those rows which are ticked my user earlier.
for user action a added the functionality to save button in toolbar but & putting a logic like below.
CASE r_ucomm.
WHEN '&DATA_SAVE'.
Loop at gt_final where cut = 'X'.
gt_ztable-aufnr = gt_final-aufnr.
gt_ztable-cut = gt_final-cut.
gt_ztable-probl = gt_final-probs.
INSERT zcut_list FROM gt_ztable.
ENDLOOP.
ENDCASE.
Still i am not getting anything in z table, even while debugging i found nothing in gt_final which is the internal table used for grid display.
Can anyone please guide me or send me some code which is someone did it earlier.
Regards,
Nik
Hi Experts,
I have created an interactive ALV whis is also having a checkbox field & a blank field for comments.
I have to save the chekbox value in a z table so that next time when the report run it wil not show those rows which are ticked my user earlier.
for user action a added the functionality to save button in toolbar but & putting a logic like below.
CASE r_ucomm.
WHEN '&DATA_SAVE'.
Loop at gt_final where cut = 'X'.
gt_ztable-aufnr = gt_final-aufnr.
gt_ztable-cut = gt_final-cut.
gt_ztable-probl = gt_final-probs.
INSERT zcut_list FROM gt_ztable.
ENDLOOP.
ENDCASE.
Still i am not getting anything in z table, even while debugging i found nothing in gt_final which is the internal table used for grid display.
Can anyone please guide me or send me some code which is someone did it earlier.
Regards,
Nik
2008 Mar 03 4:03 AM
Nothing in internal table gt_final means nothing in cut field which is for checkbox.
rest fields i have all values. even while debugging i found values in the empty field which i entered before save. but no value in checkbox field cut which i entered.
Regards,
Nik
2008 Mar 03 4:26 AM
Hi,
Use below statement
1. If gt_ztable is work area(structure) use below statement.
INSERT INTO zcut_list VALUES gt_ztable.
2.If gt_ztable is Internal table first append the values into internal table and the use below statement
gt_ztable-aufnr = gt_final-aufnr.
gt_ztable-cut = gt_final-cut.
gt_ztable-probl = gt_final-probs.
APPEND gt_ztable.
INSERT zcut_list FROM TABLE gt_ztable
2008 Mar 03 4:31 AM
Thanks for your reply.
But that will be the second step but i am not getting vaues of checkbox in my internal table gt_final. rest fields i am getting in the same table.
My question is After tick in the chekbox what i have to do to get that check value.
Regards,
nik
2008 Mar 03 7:11 AM
Below is the code for the ALV report, While debugging(breakpoint at user command) you will find that there is no value in gt_final-cut field which is for checkbox.
Can anyone help me for this.
&----
*& TABLES
&----
TABLES: AFKO, AFPO, AFVC, AFVV, T001W, VBEP, MARA.
TYPE-POOLS : slis.
&----
*& DATA-DECLARATION & INTERNAL TABLES
&----
DATA: p_matnr TYPE matnr,
p_werks type werks_d.
*Calling MRP1 on material click
DATA: lv_bilds LIKE t133a-bilds,
ls_t130m LIKE t130m,
ls_rmmg1 LIKE rmmg1,
lwa_view TYPE mbildtab,
lwa_auswg TYPE mgauswg,
lt_views TYPE STANDARD TABLE OF mbildtab INITIAL SIZE 0,
lt_auswg TYPE STANDARD TABLE OF mgauswg INITIAL SIZE 0.
*ALV Formatting tables /structures
DATA: gt_fieldcat TYPE slis_t_fieldcat_alv. "WITH HEADER LINE.
DATA: it_sort_subtotal TYPE slis_t_sortinfo_alv WITH HEADER LINE.
DATA: gt_events TYPE slis_t_event.
DATA: gs_layout TYPE slis_layout_alv.
DATA: gt_page TYPE slis_t_listheader.
DATA: gs_page TYPE slis_listheader.
DATA: v_repid LIKE sy-repid.
*ALV Formatting work area
DATA: w_fieldcat TYPE slis_fieldcat_alv.
DATA: w_events TYPE slis_alv_event.
*DATA: gt_ZTABLE LIKE ZCUT_LIST OCCURS 0 WITH HEADER LINE.
*DATA: it_zcut_list LIKE ZCUT_LIST OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF IT_AFVV OCCURS 0,
aplzl like afvv-aplzl,
aufpl like afvv-aufpl,
fsavd like afvv-fsavd,
vgw03 like afvv-vgw03,
END OF IT_AFVV.
DATA : BEGIN OF IT_AFVC OCCURS 0,
aufpl like afvc-aufpl,
werks like afvc-werks,
END OF IT_AFVC.
DATA : BEGIN OF IT_AFKO OCCURS 0,
aufnr like afko-aufnr,
plnbez like afko-plnbez,
maufnr like afko-maufnr,
aufpl like afko-aufpl,
END OF IT_AFKO.
DATA : BEGIN OF IT_VBEP OCCURS 0,
VBELN LIKE VBEP-VBELN,
POSNR LIKE VBEP-POSNR,
EDATU LIKE VBEP-EDATU,
END OF IT_VBEP.
DATA : BEGIN OF IT_AFPO OCCURS 0,
aufnr like afpo-aufnr,
kdauf like afpo-kdauf,
kdpos like afpo-kdpos,
pgmng like afpo-pgmng,
amein like afpo-amein,
matnr like afpo-matnr,
END OF IT_AFPO.
DATA : BEGIN OF IT_MARC OCCURS 0,
MATNR LIKE MARC-MATNR,
MATGR LIKE MARC-MATGR,
END OF IT_MARC.
DATA : BEGIN OF gt_final OCCURS 0,
matgr like marc-matgr,
vgw03 like afvv-vgw03,
fsavd like afvv-fsavd,
edatu type vbep-edatu,
item_no type i,
aufnr like afko-aufnr,
kdauf like afpo-kdauf,
kdpos like afpo-kdpos,
pgmng like afpo-pgmng,
amein like afpo-amein,
c_matnr like afpo-matnr,
c_maktx like makt-maktx,
matnr like afpo-matnr,
maktx like makt-maktx,
werks like afvc-werks,
cut(1) TYPE C,
probs type Char40,
END OF gt_final.
&----
*& SELECTION SCREEN
&----
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-002.
SELECT-OPTIONS : p_plant FOR t001W-werks OBLIGATORY .
SELECT-OPTIONS : p_date FOR AFVV-fsavd OBLIGATORY .
*SELECT-OPTIONS : p_rfgrp FOR afvc-rfgrp.
SELECT-OPTIONS : p_rfsch FOR afvc-rfsch.
SELECTION-SCREEN END OF BLOCK b1 .
&----
*& INITIALIZATION
&----
INITIALIZATION.
PERFORM build_events.
PERFORM build_page_header.
perform build_comment. "top_of_page - in initialization at present
&----
*& START-OF-SELECTION
&----
START-OF-SELECTION.
*--get data into internal table from database
PERFORM data_retrieve.
*--get data into final internal table after aging calculation.
PERFORM get_final.
*--ALV field catlog
PERFORM alv_declare_key_fields.
PERFORM build_fieldcat using gt_fieldcat.
gs_layout-zebra = 'X'.
gs_layout-box_fieldname = 'CUT'.
gs_layout-box_tabname = 'GT_FINAL'.
PERFORM alv_sorting.
PERFORM alv_it_sort_subtotal.
PERFORM alv grid display.
PERFORM alv_grid_display.
*&----
*
**& Form build_events
*&----
FORM build_events.
DATA: ls_event TYPE slis_alv_event.
*--to get event
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = gt_events.
*--read event on for command.
READ TABLE gt_events
WITH KEY name = slis_ev_user_command
INTO ls_event.
IF sy-subrc = 0.
MOVE slis_ev_user_command TO ls_event-form.
APPEND ls_event TO gt_events.
ENDIF.
*--read event on top-of-page.
READ TABLE gt_events
WITH KEY name = slis_ev_top_of_page
INTO ls_event.
IF sy-subrc = 0.
MOVE slis_ev_top_of_page TO ls_event-form.
APPEND ls_event TO gt_events.
ENDIF.
ENDFORM. " build_events
*&----
*
**& Form USER_COMMAND
**&----
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
DATA: lt_display like gt_final OCCURS 0 with header line.
set pf-stATUS 'YSTATUS'.
CASE r_ucomm.
BREAK-POINT.
WHEN '&DATA_SAVE'.
REFRESH lt_display.
CLEAR lt_display.
*gt_ztable-aufnr = gt_final-aufnr.
*gt_ztable-cut = gt_final-cut.
*gt_ztable-probl = gt_final-probs.
*INSERT zcut_list FROM gt_ztable.
ENDCASE.
READ TABLE gt_final INDEX rs_selfield-tabindex.
IF rs_selfield-fieldname = 'KDAUF'.
SET PARAMETER ID 'AUN' FIELD gt_final-KDAUF.
CALL TRANSACTION 'VA02' AND SKIP FIRST SCREEN.
ELSEIF rs_selfield-fieldname = 'AUFNR'.
SET PARAMETER ID 'ANR' FIELD gt_final-AUFNR.
CALL TRANSACTION 'CO02' AND SKIP FIRST SCREEN.
ENDIF.
ENDFORM. "user_command
*&----
**& Form top_of_page
*&----
FORM top_of_page.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = gt_page
i_logo = 'BZB_LOGO'."'ENJOYSAP_LOGO'.
ENDFORM. "top_of_page
*&----
**& Form build_page_header
*&----
*----
FORM build_page_header.
gs_page-typ = 'H'.
gs_page-info = 'Header 1'.
APPEND gs_page TO gt_page.
gs_page-typ = 'H'.
gs_page-info = 'Header 2'.
APPEND gs_page TO gt_page.
gs_page-typ = 'S'.
gs_page-key = 'And the winner is:'.
gs_page-info = 'Selection 1'.
APPEND gs_page TO gt_page.
gs_page-typ = 'S'.
gs_page-key = 'Runner up:'.
gs_page-info = 'Selection 2'.
APPEND gs_page TO gt_page.
gs_page-typ = 'A'.
gs_page-info = 'Action goes here'.
APPEND gs_page TO gt_page.
ENDFORM. " build_page_header
&----
*& Form data_retrieve
&----
To Retrieve data from tables
----
FORM data_retrieve .
AFVV selection
SELECT aplzl aufpl fsavd vgw03
FROM AFVV
INTO TABLE it_afvv
WHERE fsavd IN p_date.
IF NOT it_afvv[] IS INITIAL.
afvc selection
SELECT aufpl werks
FROM AFVC
INTO TABLE it_afvc
FOR ALL ENTRIES IN it_afvv
WHERE aufpl EQ it_afvv-aufpl
AND aplzl EQ it_afvv-aplzl
AND werks IN p_plant
AND rfgrp EQ '3'
AND rfsch IN p_rfsch.
IF NOT it_afvc[] IS INITIAL.
afko selection
SELECT aufnr plnbez maufnr aufpl
FROM afko "as a
INTO TABLE it_afko
FOR ALL ENTRIES IN it_afvc
WHERE aufpl EQ it_afvc-aufpl .
GROUP BY PLNBEZ AUFNR maufnr aufpl.
IF NOT it_afko[] IS INITIAL.
afpo selection
SELECT aufnr kdauf kdpos pgmng amein matnr
FROM afpo
INTO TABLE it_afpo
FOR ALL ENTRIES IN it_afko
WHERE aufnr EQ it_afko-aufnr.
IF NOT it_afpo[] IS INITIAL.
SELECT MATNR MATGR FROM MARC INTO TABLE IT_MARC
FOR ALL ENTRIES IN IT_AFPO
WHERE MATNR EQ IT_AFPO-MATNR.
SELECT VBELN POSNR EDATU FROM VBEP INTO TABLE IT_VBEP
FOR ALL ENTRIES IN IT_AFPO
WHERE VBELN EQ IT_AFPO-KDAUF
AND POSNR EQ IT_AFPO-KDPOS.
IF sy-subrc <> 0.
MESSAGE i001(319) WITH 'No Data exist for the given combination !' .
EXIT.
ENDIF.
endif.
ENDIF.
ENDIF.
ENDIF.
ENDFORM. " data_retrieve.
&----
*& Form get_final
&----
Get values in final internal table
----
FORM get_final.
DATA: i_day like dtresr-weekday.
***filling final internal table with gt_allow_sl3 table
gt_final-aufnr = it_afko-aufnr.
READ TABLE it_afpo WITH KEY aufnr = it_afko-aufnr.
READ TABLE it_marc with key matnr = it_afpo-matnr.
READ TABLE it_afvv WITH KEY Aufpl = it_afko-aufpl.
READ TABLE it_afvc WITH KEY Aufpl = it_afko-aufpl.
READ TABLE it_vbep WIth KEY vbeln = it_afpo-kdauf posnr = it_afpo-kdpos.
gt_final-matgr = it_marc-matgr.
gt_final-vgw03 = it_afvv-vgw03.
gt_final-fsavd = it_afvv-fsavd.
gt_final-edatu = it_vbep-edatu.
gt_final-item_no = '1'.
gt_final-kdauf = it_afpo-kdauf.
gt_final-kdpos = it_afpo-kdpos.
gt_final-pgmng = it_afpo-pgmng.
gt_final-amein = it_afpo-amein.
gt_final-werks = it_afvc-werks.
gt_final-matnr = it_afpo-matnr.
CALL FUNCTION 'SUPO_MD_MATERIAL_GET_TEXT'
EXPORTING
EV_MATNR = gt_final-matnr
EV_LANGU = 'EN'
IMPORTING
EV_MATTEXT = gt_final-maktx
EXCEPTIONS
NO_TEXT_FOUND = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF it_afko-maufnr EQ SPACE.
gt_final-c_matnr = it_afko-plnbez.
ELSE.
READ TABLE IT_AFPO WITH KEY AUFNR = IT_AFKO-MAUFNR.
gt_final-c_matnr = it_afpo-matnr.
ENDIF.
CALL FUNCTION 'SUPO_MD_MATERIAL_GET_TEXT'
EXPORTING
EV_MATNR = gt_final-c_matnr
EV_LANGU = 'EN'
IMPORTING
EV_MATTEXT = gt_final-c_maktx
EXCEPTIONS
NO_TEXT_FOUND = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
APPEND gt_final.
CLEAR :it_afko, it_afpo.
SORT gt_FINAL ASCENDING BY MATNR.
ENDIF.
ENDLOOP.
ENDFORM. "get_final
&----
*& Form alv_declare_key_fields
&----
text
----
FORM alv_declare_key_fields .
PERFORM ale_field_catagory
USING '1' 'MATGR' '' '' '' '' '' 'L' '' '' '' '' 'Product Group'.
PERFORM ale_field_catagory
USING '5' 'VGW03' '' '' '' '' '' 'L' '' '' '' '' 'Standard Time(Hrs)'.
PERFORM ale_field_catagory
USING '6' 'FSAVD' '' '' '' '' '' 'L' '' '' '' '' 'Date Required'.
PERFORM ale_field_catagory
USING '7' 'EDATU' '' '' '' '' '' 'L' '' '' '' '' 'Ref.Packing Date'.
PERFORM ale_field_catagory
USING '2' 'ITEM_NO' '' '' 'X' '' '' 'L' '' '' '' '' 'Item No.'.
PERFORM ale_field_catagory
USING '8' 'AUFNR' '' '' '' '' '' 'L' '' 'X' '' '' 'Order'.
PERFORM ale_field_catagory
USING '9' 'KDAUF' '' '' '' '' '' 'L' '' 'X' '' '' 'Sales Order'.
PERFORM ale_field_catagory
USING '10' 'KDPOS' '' '' '' '' '' 'L' '' '' '' '' 'Item'.
PERFORM ale_field_catagory
USING '11' 'PGMNG' '' '' '' '' '' 'L' '' '' '' '' 'Quantity'.
PERFORM ale_field_catagory
USING '12' 'AMEIN' '' '' '' '' '' 'L' '' '' '' '' 'Unit'.
PERFORM ale_field_catagory
USING '13' 'C_MATNR' '' '' '' '' '' 'L' '' '' '' '' 'Config. Material'.
PERFORM ale_field_catagory
USING '14' 'C_MAKTX' '' '' '' '' '' 'L' '' '' '' '' 'Description'.
PERFORM ale_field_catagory
USING '15' 'AUFNR' '' '' '' '' '' 'L' '' '' '' '' 'Order'.
PERFORM ale_field_catagory
USING '3' 'MATNR' '' '' '' '' '' 'L' '' 'X' '' '' 'Material'.
PERFORM ale_field_catagory
USING '4' 'MAKTX' '' '' '' '' '' 'L' '' '' '' '' 'Description'.
PERFORM ale_field_catagory
USING '16' 'CUT' '' '' '' 'X' 'X' 'L' '' '' '' '' 'Cut Check'.
PERFORM ale_field_catagory
USING '17' 'sort' '' '' '' '' '' 'L' '' '' '' '' 'Sorting code'.
PERFORM ale_field_catagory
USING '18' 'color' '' '' '' '' '' 'L' '' '' '' '' 'Color'.
PERFORM ale_field_catagory
USING '19' 'PROBS' '' '' '' 'X' '' 'L' '' '' '' '' 'Problems.'.
ENDFORM. " alv_declare_key_fields
&----
*& Form ale_field_catagory
&----
field display catlog
----
-->P_0404 text
-->P_0405 text
-->P_0406 text
-->P_0407 text
-->P_0408 text
-->P_0409 text
-->P_0410 text
-->P_0411 text
-->P_0412 text
-->P_0413 text
-->P_0414 text
-->P_0415 text
----
FORM ale_field_catagory USING col_pos
fieldname
key
no_zero
do_sum
edit
check
just
no_sum
hotspot
emphasize
icon
htext.
CLEAR w_fieldcat.
w_fieldcat-col_pos = col_pos .
w_fieldcat-fieldname = fieldname.
w_fieldcat-key = key.
w_fieldcat-no_zero = no_zero.
w_fieldcat-do_sum = do_sum.
w_fieldcat-edit = edit.
w_fieldcat-checkbox = check.
w_fieldcat-just = just.
w_fieldcat-no_sum = no_sum.
w_fieldcat-hotspot = hotspot.
w_fieldcat-emphasize = emphasize.
w_fieldcat-icon = icon.
w_fieldcat-seltext_l = htext.
APPEND w_fieldcat to gt_fieldcat.
ENDFORM. " ale_field_catagory
&----
*& Form CALL_MRP1
&----
Calling MRP1 on user command on a material
----
FORM CALL_MRP1 .
ENDFORM. " CALL_MRP1
&----
*& Form alv_it_sort_subtotal
&----
sort & subtotal
----
*
FORM alv_it_sort_subtotal .
PERFORM ale_sort
USING 'MATNR' 'X' 'X'.
ENDFORM. " alv_it_sort_subtotal
&----
*& Form ale_sort
&----
text
----
-->P_0734 text
-->P_0735 text
-->P_0736 text
----
FORM ale_sort USING fieldname
subtotal
up.
CLEAR it_sort_subtotal.
it_sort_subtotal-fieldname = fieldname.
it_sort_subtotal-subtot = subtotal.
it_sort_subtotal-up = up.
APPEND it_sort_subtotal.
ENDFORM. " ale_sort
&----
*& Form alv_grid_display
&----
text
----
FORM alv_grid_display .
*top of page event does not work without I_callback_program
v_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = v_repid
i_structure_name = 'BSID'
i_background_id = 'ALV_BACKGROUND'
i_grid_title = 'This is the grid title'
I_GRID_SETTINGS
i_callback_pf_status_set = 'YSTATUS'
i_callback_user_command = 'USER_COMMAND'
is_layout = gs_layout
it_fieldcat = gt_fieldcat[]
it_sort = it_sort_subtotal[]
it_events = gt_events[]
TABLES
t_outtab = gt_final "gt_bsid.
EXCEPTIONS
program_error = 1
OTHERS = 2
.
ENDFORM. " alv_grid_display
2008 Mar 08 1:30 AM
2009 Apr 26 1:26 PM
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |