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

update the data into the ZTABLE fields thru program logic ..?

Former Member
0 Likes
997

hi all,

i have ZTABLE1,ZTABLE2,ZTABLE3, and this tables like ALV grids using object methods.

in the same table fields now i wanted to update the data into the ZTABLE fields thru program logic .

could anyone please help me ....

please provide if anyone of have any program logic that would be helpfull to me.

thanks in advance...

srinivas....

1 REPLY 1
Read only

Former Member
0 Likes
678

Hi Srinivas,

The following statements are used to upload the data into custom tables.

1. Modify

2. Update

3. Insert

if you are using OO ALV, you should enable the 'SAVE' button in the main toolbar. if the user press the save button, then you should upload the data to the custom table.

please find the example code, in this example 'PERFORM F_SAVE_DATA'(here i gave the message only, you write your own logic here) is used to save the data in custom table.

Report Program: ZB_ALVOOPS_TEST

Line:-----

REPORT ZB_ALVOOPS_TEST MESSAGE-ID ZCR_MESSAGES.

----


  • Top Include - Global Data Declaration *

----


INCLUDE ZB_ALVOOPS_TEST_TOP.

----


  • SEL Include - Selection Screen *

----


INCLUDE ZB_ALVOOPS_TEST_SEL.

----


  • AT SELECTION SCREEN *

----


----


  • Initialization Event *

----


INITIALIZATION.

  • Initialize Screen Number.

PERFORM F_INITIALIZE.

  • Initialize Field Catalog for ALV Grid.

PERFORM F_INITIALIZE_GRID.

END-OF-SELECTION.

----


  • Call Display Screen *

----


CALL SCREEN 9000.

----


  • Event Handler - Class Definition and Implementation *

----


INCLUDE ZB_ALVOOPS_TEST_CL01.

----


  • PBO Event - Module Implementation *

----


INCLUDE ZB_ALVOOPS_TEST_PBO.

----


  • PAI Event - Module Implementation *

----


INCLUDE ZB_ALVOOPS_TEST_PAI.

----


  • Subroutine Include *

----


INCLUDE ZB_ALVOOPS_TEST_F01.

Include: ZB_ALVOOPS_TEST_TOP

Line:-------

----


  • Type Declaration For Internal Tables *

----


  • Collection Data

TYPES: BEGIN OF TY_MARA ,

MATNR TYPE MATNR , " Material

VPSTA TYPE VPSTA , " Maintenance status of complete material

MTART TYPE MTART , " Material Type

MBRSH TYPE MBRSH , " Industry Sector

MATKL TYPE MATKL , " Material Group

BISMT TYPE BISMT , " Old material number

MEINS TYPE MEINS , " Base Unit of Measure

BSTME TYPE BSTME , " Order unit

BRGEW TYPE BRGEW , " Gross weight

MAKTX TYPE MAKTX , " Material Description

ROWCOLOR TYPE CHAR4 , " Row Color

END OF TY_MARA .

----


  • Flag *

----


DATA: FG_REFRESH TYPE XFLD , " Used to Refresh ALV

FG_SAVE TYPE XFLD . " Data Saved Or Not.

----


  • Internal Table Declaration *

----


DATA: IT_MARA TYPE STANDARD TABLE OF TY_MARA , " Internal table for Material

WA_MARA TYPE TY_MARA . " Workarea for Material

----


  • Variable Declaration For General Constants *

----


CONSTANTS: C_SCREEN_SELECT TYPE SYDYNNR VALUE '9001' , " Selection Screen Number

C_SCREEN_SELECT_NIL TYPE SYDYNNR VALUE '9002' , " Empty Screen Number

C_STATUS9000 TYPE CHAR10 VALUE 'STATUS9000' , " PF-Status

C_TITLEBAR TYPE CHAR4 VALUE '9000' , " Title Bar

C_ISSUE_CONTAINER TYPE SCRFNAME VALUE 'WORKCONTAINER', " Container Name (Screen Painter)

C_BUTTON_TYPE TYPE CHAR1 VALUE '3' , " Button Type

C_EXECUTE TYPE CHAR4 VALUE 'SELE' , " Functions 'SELE' -> Execute

C_BACK TYPE CHAR4 VALUE 'BACK' , " Functions 'BACK' -> Back to main screen

C_ENTER TYPE CHAR5 VALUE 'ENTER' , " Functions 'ENTER' -> No Action

C_SEL01 TYPE CHAR5 VALUE 'SEL01' , " Functions 'SEL01' -> Toggle Function

C_SAVE TYPE CHAR4 VALUE 'SAVE' , " Functions 'SAVE' -> Save Function

C_REFRESH TYPE CHAR7 VALUE 'REFRESH' , " Functions 'REFRESH' -> Clear and Fres All objects

C_ADD_MI TYPE CHAR6 VALUE 'ADD_MI' , " Functions 'ADD_MI' -> Add New Media Issue

C_TRUE TYPE CHAR1 VALUE 'X' , " Set X value

C_REQUIRED TYPE CHAR1 VALUE '1' , " Un-Confirmed Qty field obligatory or not.

C_INPUT TYPE CHAR1 VALUE '0' , " Reason field should not be input.

C_ALV_SAVE TYPE CHAR1 VALUE 'A' , " ALV

C_ERROR TYPE CHAR1 VALUE 'E' , " Error Type

C_SIGN TYPE CHAR1 VALUE 'I' , " Sign

C_OPTION TYPE CHAR2 VALUE 'EQ' , " Option.

C_COMMIT_WAIT TYPE CHAR1 VALUE '5' , " Waiting to update in DB

C_TABNAME TYPE CHAR1 VALUE '1' , " Parameter (ALV)

C_CANCEL TYPE CHAR1 VALUE 'N' , " Cancel

C_YES TYPE CHAR1 VALUE 'J' . " Yes.

----


  • Variable Declaration For Container and ALV Grid *

----


DATA: OBJ_CUST_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER , " Container Class

OBJ_CUST_GRID TYPE REF TO CL_GUI_ALV_GRID . " ALV Grid Class

----


  • Field Catalog Declaration For Container and ALV Grid *

----


DATA: IT_FIELDCAT TYPE LVC_T_FCAT , " Field Catalog

IT_EXCLUDE TYPE UI_FUNCTIONS , " Standard Function Exclude from ALV

WA_FIELDCAT TYPE LVC_S_FCAT , " For Field Catalog

WA_LAYOUT TYPE LVC_S_LAYO . " ALV Layout

----


  • Global Variable Declaration *

----


DATA: OK_CODE TYPE SY-UCOMM , " OK CODE ( Screen Attribute Don't Change the var.name)

G_SAVE_CODE TYPE SY-UCOMM , " OK CODE

G_ANSWER TYPE CHAR1 , " OK or Cancel.

G_SELECTION_DYNNR TYPE SYDYNNR , " Screen Number

G_ERROR_TEXT TYPE CHAR128 , " Error Text

G_SELECTION_TOGGLE_TEXT TYPE CHAR50 , " Toggle Text, Value: Hide Selection, Show Selection

G_MATNR TYPE MATNR , " Material

G_SMATNR TYPE MATNR , " Material

G_SMTART TYPE MTART . " Material Type

Include: ZB_ALVOOPS_TEST_SEL

Line:-------

  • Selection Screen

SELECTION-SCREEN BEGIN OF SCREEN 9001 AS SUBSCREEN .

SELECTION-SCREEN BEGIN OF BLOCK SELECTION WITH FRAME TITLE TEXT-001 .

SELECT-OPTIONS: S_MATNR FOR G_SMATNR , " Material

S_MTART FOR G_SMTART . " Material Type

SELECTION-SCREEN END OF BLOCK SELECTION .

SELECTION-SCREEN END OF SCREEN 9001 .

  • Empty Selection

SELECTION-SCREEN BEGIN OF SCREEN 9002 AS SUBSCREEN .

SELECTION-SCREEN BEGIN OF BLOCK SELECTION_NIL WITH FRAME TITLE TEXT-002 .

  • Nil

SELECTION-SCREEN END OF BLOCK SELECTION_NIL .

SELECTION-SCREEN END OF SCREEN 9002 .

Include: ZB_ALVOOPS_TEST_CL01

Line:-------

----


  • CLASS lcl_event_handler DEFINITION *

----


  • Event Handler Class Definition *

----


CLASS LCL_EVENT_HANDLER DEFINITION.

PUBLIC SECTION.

METHODS:

HANDLER_TOOLBAR FOR EVENT TOOLBAR OF CL_GUI_ALV_GRID

IMPORTING E_OBJECT E_INTERACTIVE ,

HANDLER_USER_COMMAND FOR EVENT USER_COMMAND OF CL_GUI_ALV_GRID

IMPORTING E_UCOMM .

ENDCLASS. "lcl_event_handler DEFINITION

----


  • CLASS lcl_event_handler IMPLEMENTATION *

----


  • Event Class Implementation. *

----


CLASS LCL_EVENT_HANDLER IMPLEMENTATION.

  • Toolbar -----Create 'Add Issue' button

METHOD HANDLER_TOOLBAR.

DATA: L_WA_TOOLBAR TYPE STB_BUTTON. " Toolbar

CLEAR: L_WA_TOOLBAR.

  • Button Type

L_WA_TOOLBAR-BUTN_TYPE = C_BUTTON_TYPE . " 3.

APPEND L_WA_TOOLBAR TO E_OBJECT->MT_TOOLBAR.

  • Add Issue Button.

CLEAR: L_WA_TOOLBAR.

L_WA_TOOLBAR-FUNCTION = 'ADD_MI' . " 'ADD_MI' .

L_WA_TOOLBAR-ICON = 'ICON_CREATE'.

L_WA_TOOLBAR-QUICKINFO = 'CREATE' . " 'Add Issue'.

L_WA_TOOLBAR-TEXT = 'CREATE' . " 'Add Issue'.

L_WA_TOOLBAR-DISABLED = ''.

APPEND L_WA_TOOLBAR TO E_OBJECT->MT_TOOLBAR.

CLEAR: L_WA_TOOLBAR.

ENDMETHOD. "handler_toolbar

  • User Actions Events-- Handle 'Add Issue' Button Click.

METHOD HANDLER_USER_COMMAND.

CASE E_UCOMM.

  • Add Issue Button.

WHEN C_ADD_MI.

IF NOT G_MATNR IS INITIAL.

FG_REFRESH = C_TRUE.

PERFORM F_ADD_MEDIAISSUE.

ENDIF.

ENDCASE.

  • Refresh Control

CALL METHOD CL_GUI_CFW=>FLUSH

EXCEPTIONS

CNTL_SYSTEM_ERROR = 1

CNTL_ERROR = 2

OTHERS = 3.

  • Handle Exceptions

IF SY-SUBRC <> 0.

CASE SY-SUBRC.

WHEN 1.

G_ERROR_TEXT = TEXT-026. " 'Control System Error'.

WHEN 2.

G_ERROR_TEXT = TEXT-027. " 'Control CL_GUI_CFW Has Raised Error'.

ENDCASE.

MESSAGE G_ERROR_TEXT TYPE 'E'.

ENDIF.

  • Refresh Alv Grid.

PERFORM F_REFRESH_GRID.

ENDMETHOD. "handler_user_command

ENDCLASS. "lcl_event_handler IMPLEMENTATION

  • Object Ref. Event Class.

DATA: OBJ_EVENT_HANDLER TYPE REF TO LCL_EVENT_HANDLER.

Include: ZB_ALVOOPS_TEST_PBO

Line:----


----


  • Module STATUS_9000 OUTPUT *

----


  • Set PF-Status *

----


MODULE STATUS_9000 OUTPUT.

  • PF Status

SET PF-STATUS C_STATUS9000 .

SET TITLEBAR C_TITLEBAR .

ENDMODULE. " STATUS_9000 OUTPUT

----


  • Module Create_Alvgrid OUTPUT *

----


  • Create Or Refresh ALV Grid *

----


MODULE CREATE_ALVGRID OUTPUT.

PERFORM F_PROCESS_ALV .

PERFORM F_REFRESH_GRID.

ENDMODULE. " create_alvgrid OUTPUT

Include: ZB_ALVOOPS_TEST_PAI

Line:----


----


  • Module exit_command INPUT *

----


  • Exit Command ( Cancel and Exit ) *

----


MODULE EXIT_COMMAND INPUT.

LEAVE PROGRAM.

ENDMODULE. " exit_command INPUT

----


  • Module user_command_9000 INPUT *

----


  • User Command - Process toolbar Events *

----


MODULE USER_COMMAND_9000 INPUT.

  • Take an Action based on user Input

G_SAVE_CODE = OK_CODE.

CLEAR OK_CODE.

CASE G_SAVE_CODE.

  • Back

WHEN C_BACK .

  • Raise the Confirmation Message When User not saved the data.

IF FG_SAVE = C_YES.

PERFORM F_EXITCHECK CHANGING G_ANSWER .

IF G_ANSWER = C_YES.

PERFORM F_SAVE_DATA.

ELSE.

CLEAR G_SAVE_CODE.

ENDIF.

CLEAR: FG_SAVE.

ENDIF.

LEAVE PROGRAM.

  • Enter

WHEN C_ENTER.

  • Execute ( F8 )

WHEN C_EXECUTE .

IF IT_MARA IS INITIAL.

PERFORM F_SELECTMATERIAL.

ENDIF.

  • Toggle Button

WHEN C_SEL01.

PERFORM F_TOGGLE_SELECTION_SCREEN. " USING ok_code.

  • SAVE ( CTRL+S )

WHEN C_SAVE.

IF NOT G_MATNR IS INITIAL.

PERFORM F_SAVE_DATA.

CLEAR: G_MATNR.

ENDIF.

  • New Entry ( CTRL+F1 )

WHEN C_REFRESH.

PERFORM F_REFRESH_DATA.

ENDCASE.

ENDMODULE. " user_command_9000 INPUT

Include: ZB_ALVOOPS_TEST_F01

Line:----


----


  • Form f_toggle_selection_screen *

----


  • Toggle Function - Hide Selection / Show Selection *

----


FORM F_TOGGLE_SELECTION_SCREEN.

  • Toggle Function

IF G_SELECTION_DYNNR = C_SCREEN_SELECT.

G_SELECTION_DYNNR = C_SCREEN_SELECT_NIL.

G_SELECTION_TOGGLE_TEXT = TEXT-902.

ELSE.

G_SELECTION_DYNNR = C_SCREEN_SELECT.

G_SELECTION_TOGGLE_TEXT = TEXT-901.

ENDIF.

ENDFORM. " f_toggle_selection_screen

----


  • Form f_initialize

----


  • Initialize Screen Number and Text

----


FORM F_INITIALIZE .

  • Initialize Screen Number

G_SELECTION_DYNNR = C_SCREEN_SELECT.

G_SELECTION_TOGGLE_TEXT = TEXT-901.

ENDFORM. "f_initialize

----


  • Form f_selectmaterial *

----


FORM F_SELECTMATERIAL .

  • Select the data from Mara Table

SELECT A~MATNR

A~VPSTA

A~MTART

A~MBRSH

A~MATKL

A~BISMT

A~MEINS

A~BSTME

A~BRGEW

B~MAKTX

INTO TABLE IT_MARA

FROM MARA AS A INNER JOIN MAKT AS B ON AMATNR = BMATNR

WHERE A~MATNR IN S_MATNR

AND A~MTART IN S_MTART

AND B~SPRAS = 'EN'.

IF SY-SUBRC = 0.

FG_REFRESH = C_TRUE.

FG_SAVE = C_YES .

G_MATNR = C_TRUE.

LOOP AT IT_MARA INTO WA_MARA WHERE BRGEW >= 200.

WA_MARA-ROWCOLOR = 'C310'.

MODIFY IT_MARA FROM WA_MARA.

ENDLOOP.

ELSE.

MESSAGE 'No data Found' TYPE 'E'.

ENDIF.

ENDFORM. " f_selectmaterial

----


  • Form f_initialize_grid *

----


  • Initialize Field Catalog. *

----


FORM F_INITIALIZE_GRID .

  • field catalog

PERFORM F_ATTRFCAT USING :

'MATNR' '1' '0' TEXT-005 '15' '0' 'X' ' ' ' ',

'VPSTA' '1' '1' TEXT-006 '15' '0' 'X' ' ' ' ',

'MTART' '1' '2' TEXT-007 '15' '0' ' ' ' ' ' ',

'MBRSH' '1' '3' TEXT-008 '15' '0' ' ' ' ' ' ',

'MATKL' '1' '4' TEXT-009 '15' '0' ' ' 'X' ' ',

'BISMT' '1' '5' TEXT-010 '15' '0' ' ' ' ' ' ',

'MEINS' '1' '6' TEXT-011 '15' '0' ' ' ' ' ' ',

'BSTME' '1' '7' TEXT-012 '15' '0' ' ' ' ' ' ',

'MAKTX' '1' '8' TEXT-013 '15' '0' ' ' ' ' 'C711',

'BRGEW' '1' '9' TEXT-014 '15' '0' ' ' ' ' ' '.

  • Set Editable Fields in ALV.

PERFORM F_SETEDIT_FIELDS CHANGING IT_FIELDCAT.

ENDFORM. "f_initialize_grid

----


  • Form f_setedit_fields *

----


  • Set Editable Fields in ALV *

----


  • C_IT_FIELDCAT <-- Field Catalog *

----


FORM F_SETEDIT_FIELDS CHANGING C_IT_FIELDCAT TYPE LVC_T_FCAT.

  • Local Variable Declaration.

DATA: LS_FIELDCAT LIKE LINE OF C_IT_FIELDCAT. " Field Catalog

  • Create Editable Fields.

LOOP AT C_IT_FIELDCAT INTO LS_FIELDCAT.

CASE LS_FIELDCAT-FIELDNAME.

WHEN 'BRGEW'.

LS_FIELDCAT-EDIT = C_TRUE.

WHEN 'MAKTX'.

LS_FIELDCAT-EDIT = C_TRUE.

ENDCASE.

MODIFY C_IT_FIELDCAT FROM LS_FIELDCAT.

ENDLOOP.

ENDFORM. " f_setedit_fields

----


  • Form f_attrfcat *

----


  • Update Field Catalog Internal Table *

----


  • U_FIELDNAME --> Field Name *

  • U_ROW_POS --> Row Position *

  • U_COL_POS --> Column Position *

  • U_SELTEXT_L --> Display Column Heading *

  • U_OUTPUTLEN --> Heading Output Length *

  • U_DECIMALS_OUT --> Number of decimal places in output *

  • U_KEY --> Key in ALV Display *

  • U_FIX --> Existence of fixed values *

----


FORM F_ATTRFCAT USING

U_FIELDNAME TYPE SLIS_FIELDNAME

U_ROW_POS TYPE SYCUROW

U_COL_POS TYPE SYCUCOL

U_SELTEXT_L TYPE SCRTEXT_L

U_OUTPUTLEN TYPE OUTPUTLEN

U_DECIMALS_OUT TYPE CHAR1

U_KEY TYPE CHAR1

U_FIX TYPE VALEXI

U_COL_COLOR TYPE LVC_EMPHSZ.

  • Update field catalog.

WA_FIELDCAT-FIELDNAME = U_FIELDNAME.

WA_FIELDCAT-ROW_POS = U_ROW_POS.

WA_FIELDCAT-COL_POS = U_COL_POS.

WA_FIELDCAT-COLTEXT = U_SELTEXT_L.

WA_FIELDCAT-SELTEXT = U_SELTEXT_L.

WA_FIELDCAT-OUTPUTLEN = U_OUTPUTLEN.

WA_FIELDCAT-DECIMALS_O = U_DECIMALS_OUT.

WA_FIELDCAT-KEY = U_KEY.

WA_FIELDCAT-VALEXI = U_FIX.

WA_FIELDCAT-EMPHASIZE = U_COL_COLOR.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

ENDFORM. "ATTR_FCAT

----


  • Form f_refresh_data *

----


  • Clear All the objects used in the program ( Data Related ) *

----


FORM F_REFRESH_DATA .

  • Clear All the Objects Used in Our Program.

CLEAR: S_MATNR ,

S_MTART ,

IT_MARA ,

OK_CODE ,

FG_REFRESH ,

FG_SAVE ,

G_SAVE_CODE ,

G_MATNR .

FREE: S_MATNR ,

S_MTART ,

IT_MARA ,

OK_CODE ,

FG_REFRESH ,

FG_SAVE ,

G_SAVE_CODE ,

G_MATNR .

  • Refresh Alv.

FG_REFRESH = C_TRUE.

ENDFORM. " f_refresh_data

----


  • Form f_process_alv *

----


  • 1. Create Custom Container *

  • 2. Create ALV Grid *

  • 3. Exclude Standard Functions *

  • 4. Display the ALV *

  • 5. Register the Events. *

----


FORM F_PROCESS_ALV .

  • Display ALV

  • Custom Container

IF OBJ_CUST_CONTAINER IS INITIAL.

CREATE OBJECT OBJ_CUST_CONTAINER

EXPORTING

CONTAINER_NAME = C_ISSUE_CONTAINER.

  • ALV Grid

IF OBJ_CUST_GRID IS INITIAL.

CREATE OBJECT OBJ_CUST_GRID

EXPORTING

I_PARENT = OBJ_CUST_CONTAINER.

ENDIF.

  • Exclude Standard Functions

PERFORM F_EXCLUDETOOLBAR USING OBJ_CUST_GRID

CHANGING IT_EXCLUDE.

  • Layout.

WA_LAYOUT-CWIDTH_OPT = C_TRUE.

WA_LAYOUT-INFO_FNAME = 'ROWCOLOR'.

  • ALV Grid Display

CALL METHOD OBJ_CUST_GRID->SET_TABLE_FOR_FIRST_DISPLAY

EXPORTING

IS_LAYOUT = WA_LAYOUT

IT_TOOLBAR_EXCLUDING = IT_EXCLUDE

I_SAVE = C_ALV_SAVE

CHANGING

IT_FIELDCATALOG = IT_FIELDCAT[]

IT_OUTTAB = IT_MARA.

ENDIF.

  • Register Editable ALV Events

CALL METHOD OBJ_CUST_GRID->REGISTER_EDIT_EVENT

EXPORTING

I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_MODIFIED

EXCEPTIONS

ERROR = 1

OTHERS = 2.

*Create Object for Custom Event Handler Class if the ref. object is

*initial.

IF OBJ_EVENT_HANDLER IS INITIAL.

CREATE OBJECT OBJ_EVENT_HANDLER.

ENDIF.

  • Register Events

SET HANDLER: OBJ_EVENT_HANDLER->HANDLER_TOOLBAR FOR

OBJ_CUST_GRID,

OBJ_EVENT_HANDLER->HANDLER_USER_COMMAND FOR

OBJ_CUST_GRID.

  • Set Toolbar

CALL METHOD OBJ_CUST_GRID->SET_TOOLBAR_INTERACTIVE.

ENDFORM. " f_process_alv

----


  • Form f_excludetoolbar *

----


  • Exclude Standard Functions from ALV *

----


  • U_OBJ_CUST_GRID --> Instant for CL_GUI_ALV_GRID *

  • C_IT_EXCLUDE <-- Internal table for Exclude *

----


FORM F_EXCLUDETOOLBAR USING U_OBJ_CUST_GRID TYPE REF TO CL_GUI_ALV_GRID

CHANGING C_IT_EXCLUDE TYPE UI_FUNCTIONS.

  • Exclude Standard Functions

CLEAR: C_IT_EXCLUDE.

APPEND U_OBJ_CUST_GRID->MC_FC_CHECK TO C_IT_EXCLUDE.

APPEND U_OBJ_CUST_GRID->MC_FC_REFRESH TO C_IT_EXCLUDE.

APPEND U_OBJ_CUST_GRID->MC_FC_LOC_COPY TO C_IT_EXCLUDE.

APPEND U_OBJ_CUST_GRID->MC_FC_LOC_COPY_ROW TO C_IT_EXCLUDE.

APPEND U_OBJ_CUST_GRID->MC_FC_LOC_CUT TO C_IT_EXCLUDE.

APPEND U_OBJ_CUST_GRID->MC_FC_LOC_DELETE_ROW TO C_IT_EXCLUDE.

APPEND U_OBJ_CUST_GRID->MC_FC_LOC_APPEND_ROW TO C_IT_EXCLUDE.

APPEND U_OBJ_CUST_GRID->MC_FC_LOC_INSERT_ROW TO C_IT_EXCLUDE.

APPEND U_OBJ_CUST_GRID->MC_FC_LOC_MOVE_ROW TO C_IT_EXCLUDE.

APPEND U_OBJ_CUST_GRID->MC_FC_LOC_PASTE TO C_IT_EXCLUDE.

APPEND U_OBJ_CUST_GRID->MC_FC_LOC_PASTE_NEW_ROW TO C_IT_EXCLUDE.

APPEND U_OBJ_CUST_GRID->MC_FC_LOC_UNDO TO C_IT_EXCLUDE.

ENDFORM. " f_excludetoolbar

----


  • Form f_create_returnrequest *

----


  • Create Return Request based on the Work container ( ALV Grid Data) *

----


FORM F_CREATE_RETURNREQUEST.

  • Message to save

ENDFORM. " f_create_returnrequest

----


  • Form f_add_mediaissue *

----


  • Create New Media Issue if the user click 'ADD ISSUE' Button. *

  • 1. Get the Input From User *

  • 2. Get Total Delivery and Return Quantity *

  • 3. Append to Final internal table *

----


FORM F_ADD_MEDIAISSUE .

  • Local Variable Declaration.

MESSAGE 'Add Button Clicked' TYPE 'I'.

ENDFORM. " f_add_mediaissue

----


  • Form f_refresh_grid *

----


  • Refresh ALV Grid *

----


FORM F_REFRESH_GRID .

  • Refresh ALV Grid.

IF FG_REFRESH IS NOT INITIAL.

CALL METHOD OBJ_CUST_GRID->REFRESH_TABLE_DISPLAY.

CLEAR: FG_REFRESH.

ENDIF.

ENDFORM. " f_refresh_grid

----


  • Form f_getcollectissue *

----


FORM F_GETCOLLECTISSUE .

  • Collection Plan Data

ENDFORM. " f_getcollectissue

----


  • Form f_perpare_final *

----


FORM F_PERPARE_FINAL .

  • Perpare Final Internal table

ENDFORM. " f_perpare_final

----


  • Form f_validate_data *

----


FORM F_VALIDATE_DATA.

  • Message if any data validation.

ENDFORM. " f_validate_data

----


  • Form f_modify_final *

----


  • Update Actual Delivery Qty and Return Qty in Final Internal table *

----


----


  • Form f_save_data *

----


  • Save the Data When User Click 'Save' Button *

----


FORM F_SAVE_DATA .

  • Message

MESSAGE 'Save Button Clicked' TYPE 'I'.

ENDFORM. "f_save_data

----


  • Form f_exitcheck *

----


  • When User Exit from the Transaction then Raise Confirmation message*

----


  • C_ANSWER <-- OK or Cancel. *

----


FORM F_EXITCHECK CHANGING C_ANSWER TYPE CHAR1.

  • Security Check.

C_ANSWER = C_CANCEL.

CALL FUNCTION 'POPUP_TO_CONFIRM_DATA_LOSS'

EXPORTING

TITEL = TEXT-039

IMPORTING

ANSWER = C_ANSWER.

ENDFORM. "f_exitcheck

Screen Numer : 9000

Line:------

PROCESS BEFORE OUTPUT.

MODULE STATUS_9000.

CALL SUBSCREEN: SELECTIONSCREEN INCLUDING SY-CPROG G_SELECTION_DYNNR.

MODULE CREATE_ALVGRID.

PROCESS AFTER INPUT.

MODULE EXIT_COMMAND AT EXIT-COMMAND.

CALL SUBSCREEN: SELECTIONSCREEN.

MODULE USER_COMMAND_9000.

pls reward if it is useful