Application Development 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: 

how to stored data after clicking checkbox save in database table

Former Member
0 Kudos

TYPE-pools: slis.

tables:mkpf,mseg,mard,COWB_COMP.

TYPES: BEGIN OF tp_data,

mblnr LIKE mseg-mblnr,

matnr LIKE mseg-matnr,

werks LIKE mard-werks,

lgort LIKE mard-lgort,

lgpbe LIKE mard-lgpbe,

charg LIKE mseg-charg,

bwart LIKE mseg-bwart,

budat LIKE mkpf-budat,

menge LIKE mseg-menge,

meins LIKE mseg-meins,

kostl LIKE mseg-kostl,

aufnr LIKE mseg-aufnr,

rsnum LIKE mseg-rsnum,

endkz like COWB_COMP-endkz,

END OF tp_data,

tp_tbl_data TYPE STANDARD TABLE OF tp_data.

*data: t_data like ztable occurs 0 with header line.

**

  • Constants

**

**

  • Data objects (variable declarations and definitions)

**

  • Report data to be shown.

DATA: it_data TYPE STANDARD TABLE OF tp_data.

  • Heading of the report.

DATA: t_heading TYPE slis_t_listheader.

========================== Selection Screen ==========================

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

SELECT-OPTIONS:smblnr FOR mseg-mblnr MODIF ID m1,

smatnr FOR mseg-matnr MODIF ID m2,

swerks FOR mard-werks MODIF ID m3,

slgort FOR mard-lgort MODIF ID m4,

slgpbe FOR mard-lgpbe MODIF ID m5,

scharg FOR mseg-charg MODIF ID m6,

sbwart FOR mseg-bwart MODIF ID m7,

skostl FOR mseg-kostl MODIF ID m8,

saufnr FOR mseg-aufnr MODIF ID m9,

srsnum FOR mseg-rsnum MODIF ID m10.

SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.

PARAMETERS:pre RADIOBUTTON GROUP radi USER-COMMAND ucomm DEFAULT 'X',

pse RADIOBUTTON GROUP radi,

bps RADIOBUTTON GROUP radi.

SELECTION-SCREEN END OF BLOCK b2.

SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.

PARAMETER:layout TYPE i.

SELECTION-SCREEN END OF BLOCK b3.

=========================== Event Blocks =============================

AT selection-SCREEN.

start-OF-selection.

PERFORM get_data USING it_data.

END-OF-selection.

PERFORM build_alv USING it_data t_heading.

=========================== Subroutines ==============================

&----


*& Form get_data

&----


  • Gets the information to be shown in the report.

----


FORM get_data USING t_data TYPE tp_tbl_data.

SELECT msegmblnr msegmatnr mardwerks mardlgort mardlgpbe msegcharg msegbwart mkpfbudat

msegmenge msegmeins msegkostl msegaufnr mseg~rsnum

INTO CORRESPONDING FIELDS OF TABLE t_data

FROM mseg

JOIN mard ON mardmatnr EQ msegmatnr

JOIN mkpf ON msegmblnr EQ mkpfmblnr

WHERE mseg~matnr IN smatnr.

ENDFORM. " get_data

&----


*& Form build_alv

&----


  • Builds and display the ALV Grid.

----


FORM build_alv USING t_data TYPE tp_tbl_data

t_heading TYPE slis_t_listheader.

  • ALV required data objects.

DATA: w_title TYPE lvc_title,

w_comm TYPE slis_formname,

w_status TYPE slis_formname,

x_layout TYPE slis_layout_alv,

t_event TYPE slis_t_event,

t_fieldcat TYPE slis_t_fieldcat_alv,

t_sort TYPE slis_t_sortinfo_alv.

REFRESH t_fieldcat.

REFRESH t_event.

REFRESH t_sort.

CLEAR x_layout.

CLEAR w_title.

  • Field Catalog

PERFORM set_fieldcat2 USING:

1 'MBLNR' 'MBLNR' 'MSEG' space space space space space space space space space space space space t_fieldcat ,

2 'MATNR' 'MATNR' 'MSEG' space space space space space space space space space space space space t_fieldcat ,

3 'WERKS' 'WERKS' 'MARD' space space space space space space space space space space space space t_fieldcat,

4 'LGORT' 'LGORT' 'MARD' space space space space space space space space space space space space t_fieldcat ,

5 'LGPBE' 'LGPBE' 'MARD' space space space space space space space space space space space space t_fieldcat ,

6 'CHARG' 'CHARG' 'MSEG' space space space space space space space space space space space space t_fieldcat ,

7 'BWART' 'BWART' 'MSEG' space space space space space space space space space space space space t_fieldcat,

8 'BUDAT' 'BUDAT' 'MKPF' space space space space space space space space space space space space t_fieldcat,

9 'MENGE' 'MENGE' 'MSEG' space space space space space space space space space space space space t_fieldcat,

10 'MEINS' 'MEINS' 'MSEG' space space space space space space space space space space space space t_fieldcat,

11 'KOSTL' 'KOSTL' 'MSEG' space space space space space space space space space space space space t_fieldcat,

12 'AUFNR' 'AUFNR' 'MSEG' space space space space space space space space space space space space t_fieldcat,

13 'RSNUM' 'RSNUM' 'MSEG' space space space space space space space space space space space space t_fieldcat,

14 'ENDKZ' 'ENDKZ' 'COWB_COMP' space space 'select' 'Select this row' 'Sel' 'Select this row' space space space 'X' 'X' space t_fieldcat.

  • Layout

x_layout-zebra = 'X'.

  • Top of page heading

PERFORM set_top_page_heading USING t_heading t_event.

  • Events

PERFORM set_events USING t_event.

  • GUI Status

w_status = ''.

  • User commands

w_comm = 'USER_COMMAND'.

  • Order

  • Example

  • PERFORM set_order USING '<field>' 'IT_DATA' 'X' space space t_sort.

PERFORM set_order USING 'MBLNR' 'IT_DATA' 'X' space 'X' t_sort.

  • PERFORM set_order USING 'EBELN' 'IT_DATA' 'X' space 'X' t_sort.

  • PERFORM set_order USING 'EBELP' 'IT_DATA' 'X' space space t_sort.

*

*

  • Displays the ALV grid

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_callback_program = sy-repid

it_fieldcat = t_fieldcat

is_layout = x_layout

it_sort = t_sort

i_callback_pf_status_set = w_status

i_callback_user_command = w_comm

i_save = 'X'

it_events = t_event

i_grid_title = w_title

TABLES

t_outtab = t_data

EXCEPTIONS

program_error = 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.

ENDFORM. " build_alv.

&----


*& Form set_top_page_heading

&----


  • Creates the report headings.

----


FORM set_top_page_heading USING t_heading TYPE slis_t_listheader

t_events TYPE slis_t_event.

DATA: x_heading TYPE slis_listheader,

x_event TYPE LINE OF slis_t_event.

  • Report title

CLEAR t_heading[].

CLEAR x_heading.

x_heading-typ = 'H'.

x_heading-info = 'Reporte Prueba'(001).

APPEND x_heading TO t_heading.

  • Program name

CLEAR x_heading.

x_heading-typ = 'S'.

x_heading-KEY = 'Program: '.

x_heading-info = sy-repid.

APPEND x_heading TO t_heading.

  • User who is running the report

CLEAR x_heading.

x_heading-typ = 'S'.

x_heading-KEY = 'User: '.

x_heading-info = sy-uname.

APPEND x_heading TO t_heading.

  • Date of execution

CLEAR x_heading.

x_heading-typ = 'S'.

x_heading-KEY = 'Date: '.

WRITE sy-datum TO x_heading-info.

APPEND x_heading TO t_heading.

  • Time of execution

CLEAR x_heading.

x_heading-typ = 'S'.

x_heading-KEY = 'Time: '.

WRITE sy-uzeit TO x_heading-info.

APPEND x_heading TO t_heading.

  • Top of page event

x_event-name = slis_ev_top_of_page.

x_event-FORM = 'TOP_OF_PAGE'.

APPEND x_event TO t_events.

ENDFORM.

&----


*& Form set_events

&----


  • Sets the events for ALV.

  • The TOP_OF_PAGE event is alredy being registered in

  • the set_top_page_heading subroutine.

----


FORM set_events USING t_events TYPE slis_t_event.

DATA: x_event TYPE LINE OF slis_t_event.

**

  • Example

  • -------

  • clear x_event.

  • x_event-name = .

  • x_event-form = .

  • append x_event to t_event.

**

ENDFORM.

&----


*& Form set_order

&----


  • Adds an entry to the order table.

----


FORM set_order USING p_fieldname p_tabname p_up p_down p_subtot

t_sort TYPE slis_t_sortinfo_alv.

DATA: x_sort TYPE slis_sortinfo_alv.

CLEAR x_sort.

x_sort-fieldname = p_fieldname.

x_sort-tabname = p_tabname.

x_sort-UP = p_up.

x_sort-down = p_down.

x_sort-subtot = p_subtot.

APPEND x_sort TO t_sort.

ENDFORM. "set_order

&----


*& Form set_fieldcat2

&----


  • Adds an entry to the field catalog.

----


FORM set_fieldcat2 USING p_colpos p_fieldname p_ref_fieldname p_ref_tabname

p_outputlen p_noout

p_seltext_m p_seltext_l p_seltext_s p_reptext_ddic p_ddictxt

p_hotspot p_showasicon p_checkbox p_edit

p_dosum

t_fieldcat TYPE slis_t_fieldcat_alv.

DATA: wa_fieldcat TYPE slis_fieldcat_alv.

CLEAR wa_fieldcat.

  • General settings

wa_fieldcat-fieldname = p_fieldname.

wa_fieldcat-col_pos = p_colpos.

wa_fieldcat-no_out = p_noout.

wa_fieldcat-HOTSPOT = p_hotspot.

wa_fieldcat-CHECKBOX = p_checkbox.

wa_fieldcat-ICON = p_showasicon.

wa_fieldcat-do_sum = p_dosum.

  • Set reference fieldname, tablenam and rollname.

  • If p_ref_tabname is not given, the ref_fieldname given is a data element.

  • If p_ref_tabname is given, the ref_fieldname given is a field of a table. In case ref_fieldname is not given, it is copied from the fieldname.

IF p_ref_tabname IS INITIAL.

wa_fieldcat-rollname = p_ref_fieldname.

ELSE.

wa_fieldcat-ref_tabname = p_ref_tabname.

IF p_ref_fieldname EQ space.

wa_fieldcat-ref_fieldname = wa_fieldcat-fieldname.

ELSE.

wa_fieldcat-ref_fieldname = p_ref_fieldname.

ENDIF.

ENDIF.

  • Set output length.

IF NOT p_outputlen IS INITIAL.

wa_fieldcat-outputlen = p_outputlen.

ENDIF.

  • Set text headers.

IF NOT p_seltext_m IS INITIAL.

wa_fieldcat-seltext_m = p_seltext_m.

ENDIF.

IF NOT p_seltext_l IS INITIAL.

wa_fieldcat-seltext_l = p_seltext_l.

ENDIF.

IF NOT p_seltext_s IS INITIAL.

wa_fieldcat-seltext_s = p_seltext_s.

ENDIF.

IF NOT p_reptext_ddic IS INITIAL.

wa_fieldcat-reptext_ddic = p_reptext_ddic.

ENDIF.

IF NOT p_ddictxt IS INITIAL.

wa_fieldcat-ddictxt = p_ddictxt.

ENDIF.

  • Set as editable or not.

IF p_edit IS NOT INITIAL.

wa_fieldcat-INPUT = 'X'.

wa_fieldcat-EDIT = 'X'.

ENDIF.

APPEND wa_fieldcat TO t_fieldcat.

ENDFORM. "set_fieldcat2

=========================== Subroutines called by ALV ================

&----


*& Form top_of_page

&----


  • Called on top_of_page ALV event.

  • Prints the heading.

----


FORM top_of_page.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

  • i_logo = 'XXXXX'

it_list_commentary = t_heading.

ENDFORM. " alv_top_of_page

&----


*& Form user_command

&----


  • Called on user_command ALV event.

  • Executes custom commands.

----


FORM user_command USING r_ucomm LIKE sy-ucomm

rs_selfield TYPE slis_selfield.

ENDFORM. "user_command

this is my code, how to store data after clicking checkbox in databasetable,

how to write that cide.

plz send me code.

1 REPLY 1

Former Member
0 Kudos

hi!,

use MODIFY to update data into the data base table.

regards

anjali