Report: Z_R_ALV
REPORT z_r_alv. CLASS gcl_event_handler DEFINITION DEFERRED. "Data Declaration INCLUDE z_r_alv_top. "Class Declaration INCLUDE z_r_alv_cl. "Screen Module Declaration INCLUDE z_r_alv_mod. "Subroutines Declaraion INCLUDE z_r_alv_sub. START-OF-SELECTION. CALL SCREEN 1100.
Include: Z_R_ALV_TOP
*&---------------------------------------------------------------------* *& Include Z_R_ALV_TOP *&---------------------------------------------------------------------* TYPES: BEGIN OF gty_extract, call_req_id TYPE zzcall_req_id, object TYPE zzobjname, serviceid TYPE zzcall_sys_id, servicekey TYPE zzcall_sys_key, batch_size TYPE zzbsize, compression TYPE zzkdpcompress, mdata TYPE zzkdpchar1, format TYPE zzkdpformat, projections TYPE string, selections TYPE string, numb_of_lines TYPE zzkdpnolines, from_date TYPE zztimestamp, to_date TYPE zztimestamp, extract_mode TYPE zzkdpchar1, execution_mode TYPE zzkdpchar1, response_mode TYPE zzkdpchar1, celltab TYPE lvc_t_styl, END OF gty_extract, gtt_extract TYPE STANDARD TABLE OF gty_extract, gtt_t_f4 TYPE STANDARD TABLE OF lvc_s_f4. DATA: gt_extract TYPE STANDARD TABLE OF gty_extract, go_container TYPE scrfname VALUE 'CONT1', go_grid1 TYPE REF TO cl_gui_alv_grid, go_custom_container TYPE REF TO cl_gui_docking_container, gs_layout TYPE lvc_s_layo, gv_max TYPE i VALUE 100.Include: Z_R_ALV_CL*&---------------------------------------------------------------------* *& Include Z_R_ALV_CL *&---------------------------------------------------------------------* ************************************************************************************************* *LOCAL CLASS DEFINITION ************************************************************************************************* *Class definition to handle the ONF4 event CLASS gcl_event_handler DEFINITION. PUBLIC SECTION. METHODS: on_f4 FOR EVENT onf4 OF cl_gui_alv_grid IMPORTING sender e_fieldname e_fieldvalue es_row_no er_event_data et_bad_cells e_display. ENDCLASS. "lcl_event_handler DEFINITION ************************************************************************************************* *LOCAL CLASS IMPLEMENTATION ************************************************************************************************* *Class implementation to handle the ONF4 event CLASS gcl_event_handler IMPLEMENTATION. METHOD on_f4. TYPES: BEGIN OF lty_exe_mode, mode TYPE zzkdpchar1, END OF lty_exe_mode. DATA: lt_data TYPE STANDARD TABLE OF lty_exe_mode, lt_ret TYPE STANDARD TABLE OF ddshretval, ls_data LIKE LINE OF lt_data, ls_sel LIKE LINE OF lt_ret, ls_modi TYPE lvc_s_modi, ls_stable TYPE lvc_s_stbl. FIELD-SYMBOLS: <lfs_extract> TYPE gty_extract. CASE e_fieldname. WHEN 'EXECUTION_MODE'. "Add the custom F4 values; here we are adding 2 values 'Uncertain' and 'Relevant' for the field STATE IF lt_data[] IS INITIAL. ls_data-mode = 'B'. APPEND ls_data TO lt_data. CLEAR ls_data. ls_data-mode = 'R'. APPEND ls_data TO lt_data. ENDIF. "Call the function module to display the custom F4 values CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' EXPORTING retfield = 'MODE' window_title = 'Execution Mode' value_org = 'S' TABLES value_tab = lt_data[] return_tab = lt_ret[] EXCEPTIONS parameter_error = 1 no_values_found = 2 OTHERS = 3. IF sy-subrc = 0. READ TABLE lt_ret INTO ls_sel INDEX 1. IF sy-subrc EQ 0. READ TABLE gt_extract INDEX es_row_no-row_id ASSIGNING <lfs_extract>. IF sy-subrc EQ 0. <lfs_extract>-execution_mode = ls_sel-fieldval. IF go_grid1 IS BOUND. ls_stable-row = abap_true. ls_stable-col = abap_true. CALL METHOD go_grid1->refresh_table_display EXPORTING is_stable = ls_stable EXCEPTIONS finished = 1 OTHERS = 2. IF sy-subrc <> 0. * Implement suitable error handling here ENDIF. ENDIF. ENDIF. ENDIF. ENDIF. WHEN 'PROJECTIONS'. "Write the code for the other columns WHEN OTHERS. ENDCASE. er_event_data->m_event_handled = abap_true. "(to inform grid that f4 was handled manually) ENDMETHOD. ENDCLASS. "lcl_event_handler IMPLEMENTATIONInclude: Z_R_ALV_MOD*&---------------------------------------------------------------------* *& Include Z_R_ALV_MOD *&---------------------------------------------------------------------* *---------------------------------------------------------------------* * MODULE PBO OUTPUT * *---------------------------------------------------------------------* MODULE status_1100 OUTPUT. SET PF-STATUS 'PF_STATUS'. "Preapre the ALV PERFORM prepare_alv. ENDMODULE. "pbo OUTPUT *---------------------------------------------------------------------* * MODULE PAI INPUT * *---------------------------------------------------------------------* MODULE user_command_1100 INPUT. * save_ok = ok_code. * CLEAR ok_code. CASE sy-ucomm. WHEN '&EXE'. CALL METHOD go_grid1->check_changed_data. WHEN OTHERS. ENDCASE. ENDMODULE. "pai INPUTInclude: Z_R_ALV_SUB*&---------------------------------------------------------------------* *& Include Z_R_ALV_SUB *&---------------------------------------------------------------------* *---------------------------------------------------------------------* * PREPARE_ALV * *---------------------------------------------------------------------* FORM prepare_alv. DATA: lt_fieldcatalog TYPE lvc_t_fcat, lt_f4 TYPE lvc_t_f4, lt_f4_tmp TYPE gtt_t_f4, lo_event_obj TYPE REF TO gcl_event_handler. IF go_custom_container IS INITIAL. CREATE OBJECT go_custom_container EXPORTING repid = sy-repid dynnr = '1100' ratio = '90' EXCEPTIONS cntl_error = 1 cntl_system_error = 2 create_error = 3 lifetime_error = 4 lifetime_dynpro_dynpro_link = 5 OTHERS = 6. IF sy-subrc <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. CREATE OBJECT go_grid1 EXPORTING i_parent = go_custom_container. "Build Field Catalog PERFORM populate_fcat USING '1' 'CALL_REQ_ID' 'Call Req ID' CHANGING lt_fieldcatalog. PERFORM populate_fcat USING '2' 'OBJECT' 'Object' CHANGING lt_fieldcatalog. PERFORM populate_fcat USING '3' 'SERVICEID' 'Service ID' CHANGING lt_fieldcatalog. PERFORM populate_fcat USING '4' 'SERVICEKEY' 'Service Key' CHANGING lt_fieldcatalog. PERFORM populate_fcat USING '5' 'BATCH_SIZE' 'Batch Size' CHANGING lt_fieldcatalog. PERFORM populate_fcat USING '6' 'COMPRESSION' 'Compression' CHANGING lt_fieldcatalog. PERFORM populate_fcat USING '7' 'MDATA' 'MDATA' CHANGING lt_fieldcatalog. PERFORM populate_fcat USING '8' 'FORMAT' 'Format' CHANGING lt_fieldcatalog. PERFORM populate_fcat USING '9' 'PROJECTIONS' 'Projection' CHANGING lt_fieldcatalog. PERFORM populate_fcat USING '10' 'SELECTIONS' 'Selection' CHANGING lt_fieldcatalog. PERFORM populate_fcat USING '11' 'NUMB_OF_LINES' 'Number of lines' CHANGING lt_fieldcatalog. PERFORM populate_fcat USING '12' 'FROM_DATE' 'From Date' CHANGING lt_fieldcatalog. PERFORM populate_fcat USING '13' 'TO_DATE' 'To Date' CHANGING lt_fieldcatalog. PERFORM populate_fcat USING '14' 'EXTRACT_MODE' 'Extract Mode' CHANGING lt_fieldcatalog. PERFORM populate_fcat USING '15' 'EXECUTION_MODE' 'Execution Mode' CHANGING lt_fieldcatalog. PERFORM populate_fcat USING '16' 'RESPONSE_MODE' 'Response Mode' CHANGING lt_fieldcatalog. "Prepare F4 help PERFORM prepare_f4 USING 'PROJECTIONS' CHANGING lt_f4_tmp. PERFORM prepare_f4 USING 'EXECUTION_MODE' CHANGING lt_f4_tmp. "Register for F4 lt_f4[] = lt_f4_tmp[]. CREATE OBJECT lo_event_obj. SET HANDLER lo_event_obj->on_f4 FOR go_grid1. CALL METHOD go_grid1->register_f4_for_fields EXPORTING it_f4 = lt_f4. "enable for input PERFORM enable_input_cell CHANGING gt_extract. "add new entry PERFORM add_new_entry CHANGING gt_extract. PERFORM add_new_entry CHANGING gt_extract. CALL METHOD go_grid1->set_table_for_first_display EXPORTING i_structure_name = 'GTY_EXTRACT' is_layout = gs_layout CHANGING it_fieldcatalog = lt_fieldcatalog it_outtab = gt_extract[]. ENDIF. ENDFORM. *---------------------------------------------------------------------* * PREPARE_F4 * *---------------------------------------------------------------------* FORM prepare_f4 USING pv_fieldname TYPE lvc_fname CHANGING ct_f4 TYPE gtt_t_f4. DATA: ls_f4 LIKE LINE OF ct_f4. ls_f4-fieldname = pv_fieldname. ls_f4-register = abap_true. ls_f4-getbefore = space. ls_f4-chngeafter = space. APPEND ls_f4 TO ct_f4. ENDFORM. *---------------------------------------------------------------------* * ADD_NEW_ENTRY * *---------------------------------------------------------------------* FORM add_new_entry CHANGING ct_extract TYPE gtt_extract. FIELD-SYMBOLS: <lfs_extract> LIKE LINE OF ct_extract. APPEND INITIAL LINE TO gt_extract ASSIGNING <lfs_extract>. <lfs_extract>-serviceid = '1001'. <lfs_extract>-batch_size = '2000'. <lfs_extract>-compression = 'GZIP'. <lfs_extract>-format = 'JSON'. <lfs_extract>-extract_mode = 'F'. <lfs_extract>-execution_mode = 'B'. <lfs_extract>-response_mode = 'H'. ENDFORM. *---------------------------------------------------------------------* * ENABLE_INPUT_CELL * *---------------------------------------------------------------------* FORM enable_input_cell CHANGING ct_extract TYPE gtt_extract. DATA: lt_celltab TYPE lvc_t_styl, l_mode TYPE raw4, lv_index TYPE i. FIELD-SYMBOLS: <lfs_extract> LIKE LINE OF ct_extract, <lfs_celltab> LIKE LINE OF lt_celltab. l_mode = cl_gui_alv_grid=>mc_style_enabled. LOOP AT ct_extract ASSIGNING <lfs_extract>. lv_index = sy-tabix. CLEAR: lt_celltab[]. APPEND INITIAL LINE TO lt_celltab ASSIGNING <lfs_celltab>. <lfs_celltab>-fieldname = 'CALL_REQ_ID'. <lfs_celltab>-style = l_mode. APPEND INITIAL LINE TO lt_celltab ASSIGNING <lfs_celltab>. <lfs_celltab>-fieldname = 'OBJECT'. <lfs_celltab>-style = l_mode. APPEND INITIAL LINE TO lt_celltab ASSIGNING <lfs_celltab>. <lfs_celltab>-fieldname = 'SERVICEID'. <lfs_celltab>-style = l_mode. APPEND INITIAL LINE TO lt_celltab ASSIGNING <lfs_celltab>. <lfs_celltab>-fieldname = 'SERVICEKEY'. <lfs_celltab>-style = l_mode. APPEND INITIAL LINE TO lt_celltab ASSIGNING <lfs_celltab>. <lfs_celltab>-fieldname = 'BATCH_SIZE'. <lfs_celltab>-style = l_mode. APPEND INITIAL LINE TO lt_celltab ASSIGNING <lfs_celltab>. <lfs_celltab>-fieldname = 'COMPRESSION'. <lfs_celltab>-style = l_mode. APPEND INITIAL LINE TO lt_celltab ASSIGNING <lfs_celltab>. <lfs_celltab>-fieldname = 'MDATA'. <lfs_celltab>-style = l_mode. APPEND INITIAL LINE TO lt_celltab ASSIGNING <lfs_celltab>. <lfs_celltab>-fieldname = 'FORMAT'. <lfs_celltab>-style = l_mode. APPEND INITIAL LINE TO lt_celltab ASSIGNING <lfs_celltab>. <lfs_celltab>-fieldname = 'PROJECTIONS'. <lfs_celltab>-style = l_mode. APPEND INITIAL LINE TO lt_celltab ASSIGNING <lfs_celltab>. <lfs_celltab>-fieldname = 'SELECTIONS'. <lfs_celltab>-style = l_mode. APPEND INITIAL LINE TO lt_celltab ASSIGNING <lfs_celltab>. <lfs_celltab>-fieldname = 'NUMB_OF_LINES'. <lfs_celltab>-style = l_mode. APPEND INITIAL LINE TO lt_celltab ASSIGNING <lfs_celltab>. <lfs_celltab>-fieldname = 'FROM_DATE'. <lfs_celltab>-style = l_mode. APPEND INITIAL LINE TO lt_celltab ASSIGNING <lfs_celltab>. <lfs_celltab>-fieldname = 'TO_DATE'. <lfs_celltab>-style = l_mode. APPEND INITIAL LINE TO lt_celltab ASSIGNING <lfs_celltab>. <lfs_celltab>-fieldname = 'EXTRACT_MODE'. <lfs_celltab>-style = l_mode. APPEND INITIAL LINE TO lt_celltab ASSIGNING <lfs_celltab>. <lfs_celltab>-fieldname = 'EXECUTION_MODE'. <lfs_celltab>-style = l_mode. APPEND INITIAL LINE TO lt_celltab ASSIGNING <lfs_celltab>. <lfs_celltab>-fieldname = 'RESPONSE_MODE'. <lfs_celltab>-style = l_mode. <lfs_extract>-celltab[] = lt_celltab[]. CLEAR: lt_celltab[]. ENDLOOP. "set edit enabled cells ready for input CALL METHOD go_grid1->set_ready_for_input EXPORTING i_ready_for_input = 1. ENDFORM. *---------------------------------------------------------------------* * FORM EXIT_PROGRAM * *---------------------------------------------------------------------* FORM exit_program. LEAVE PROGRAM. ENDFORM. "exit_program *---------------------------------------------------------------------* * FORM POPULATE_FCAT * *---------------------------------------------------------------------* FORM populate_fcat USING pv_col_pos TYPE lvc_colpos pv_fieldname TYPE lvc_fname pv_scrtext_m TYPE scrtext_m CHANGING ct_fcat TYPE lvc_t_fcat. FIELD-SYMBOLS: <lfs_fieldcatalog> LIKE LINE OF ct_fcat. APPEND INITIAL LINE TO ct_fcat ASSIGNING <lfs_fieldcatalog>. <lfs_fieldcatalog>-col_pos = pv_col_pos. <lfs_fieldcatalog>-edit = abap_true. <lfs_fieldcatalog>-fieldname = pv_fieldname. <lfs_fieldcatalog>-scrtext_m = pv_scrtext_m. IF pv_fieldname = 'EXECUTION_MODE' OR pv_fieldname = 'PROJECTIONS'. <lfs_fieldcatalog>-f4availabl = abap_true. ENDIF. ENDFORM. "populate_fcat
Your ex motherly connection by using your girlfriend young people came across as crucial that you your ex, notably when considering nursing a baby them all. https://imgur.com/a/QkIZzsx https://imgur.com/a/8QoZjKR https://imgur.com/a/PrktPTF https://imgur.com/a/PHvdRZb https://imgur.com/a/v10OuxM https://imgur.com/a/NBa4chC https://imgur.com/a/62GKlq4
ReplyDeleteTransactional emails are system-generated emails triggered by user activities on websites or applications. They include invoices, OTPs, welcome emails, and delivery updates. Businesses rely on transactional emails to provide timely information, improve customer satisfaction, and maintain consistent communication with users.
ReplyDelete