From b9581c0113b0ee6fcc3661bc34c3ed0e3aa1f5c9 Mon Sep 17 00:00:00 2001 From: Alessandro Iannacci Date: Wed, 17 Jun 2015 14:12:53 +0200 Subject: [PATCH] Specify abap type in bind table method - Added new field in the field catalog (ABAP_TYPE) - Added the abap type management in the BIND_TABLE method --- ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk | 41 ++++++++++++++++++++++++---- ZA2X/TABL/ZEXCEL_S_FIELDCATALOG.slnk | 1 + 2 files changed, 37 insertions(+), 5 deletions(-) diff --git a/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk b/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk index 005a500..9159448 100644 --- a/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk +++ b/ZA2X/CLAS/ZCL_EXCEL_WORKSHEET.slnk @@ -2812,25 +2812,56 @@ ENDCLASS. "lcl_gui_alv_grid DEFINITION " issue #290 Add formula support in table IF <ls_field_catalog>-formula EQ abap_true. IF <ls_field_catalog>-style IS NOT INITIAL. - me->set_cell( ip_column = lv_column_alpha + IF <ls_field_catalog>-abap_type IS NOT INITIAL. + me->set_cell( ip_column = lv_column_alpha ip_row = lv_row_int ip_formula = <fs_fldval> + ip_abap_type = <ls_field_catalog>-abap_type ip_style = <ls_field_catalog>-style ). + ELSE. + me->set_cell( ip_column = lv_column_alpha + ip_row = lv_row_int + ip_formula = <fs_fldval> + ip_style = <ls_field_catalog>-style ). + ENDIF. ELSE. - me->set_cell( ip_column = lv_column_alpha + IF <ls_field_catalog>-abap_type IS NOT INITIAL. + me->set_cell( ip_column = lv_column_alpha ip_row = lv_row_int - ip_formula = <fs_fldval> ). + + ip_formula = <fs_fldval> + ip_abap_type = <ls_field_catalog>-abap_type ). + ELSE. + me->set_cell( ip_column = lv_column_alpha + ip_row = lv_row_int + ip_formula = <fs_fldval> ). + ENDIF. ENDIF. ELSE. IF <ls_field_catalog>-style IS NOT INITIAL. - me->set_cell( ip_column = lv_column_alpha + IF <ls_field_catalog>-abap_type IS NOT INITIAL. + me->set_cell( ip_column = lv_column_alpha ip_row = lv_row_int ip_value = <fs_fldval> + ip_abap_type = <ls_field_catalog>-abap_type ip_style = <ls_field_catalog>-style ). + ELSE. + me->set_cell( ip_column = lv_column_alpha + ip_row = lv_row_int + ip_value = <fs_fldval> + ip_style = <ls_field_catalog>-style ). + ENDIF. ELSE. - me->set_cell( ip_column = lv_column_alpha + IF <ls_field_catalog>-abap_type IS NOT INITIAL. + me->set_cell( ip_column = lv_column_alpha ip_row = lv_row_int + ip_abap_type = <ls_field_catalog>-abap_type ip_value = <fs_fldval> ). + ELSE. + me->set_cell( ip_column = lv_column_alpha + ip_row = lv_row_int + ip_value = <fs_fldval> ). + ENDIF. ENDIF. ENDIF. ADD 1 TO lv_row_int. diff --git a/ZA2X/TABL/ZEXCEL_S_FIELDCATALOG.slnk b/ZA2X/TABL/ZEXCEL_S_FIELDCATALOG.slnk index 2752a5a..9119d9c 100644 --- a/ZA2X/TABL/ZEXCEL_S_FIELDCATALOG.slnk +++ b/ZA2X/TABL/ZEXCEL_S_FIELDCATALOG.slnk @@ -14,4 +14,5 @@ +