Updated Getting ABAP2XLSX to work on a 620 System (markdown)

ivanfemia 2014-01-02 08:55:44 -08:00
parent cec7d0b047
commit 483f90b998

@ -51,61 +51,70 @@ Hyperlinks Cleanup :
The main issue is hyperlinks->get_iterator is unknown. Quick fix is to ignore any hyperlink functionality. The main issue is hyperlinks->get_iterator is unknown. Quick fix is to ignore any hyperlink functionality.
Class : ZCL_EXCEL_WORKSHEET Class : ZCL_EXCEL_WORKSHEET
Method : GET_HYPERLINKS_ITERATOR Method : GET_HYPERLINKS_ITERATOR
Comment out : eo_iterator = hyperlinks->get_iterator( ).
Comment out : **eo_iterator = hyperlinks->get_iterator( ).**
Class : ZCL_EXCEL_WORKSHEET Class : ZCL_EXCEL_WORKSHEET
Method : GET_HYPERLINKS_SIZE Method : GET_HYPERLINKS_SIZE
Comment out : ep_size = hyperlinks->size( ).
Comment out : **ep_size = hyperlinks->size( ).**
Class : ZCL_EXCEL_WRITER_2007 Class : ZCL_EXCEL_WRITER_2007
Method : CREATE_XL_SHEET_RELS Method : CREATE_XL_SHEET_RELS
Comment out : Comment out :
lo_iterator = io_worksheet->get_hyperlinks_iterator( ). **lo_iterator = io_worksheet->get_hyperlinks_iterator( ).**
WHILE lo_iterator->ZIF_OBJECT_COLLECTION_iterator~has_next( ) EQ **WHILE lo_iterator->ZIF_OBJECT_COLLECTION_iterator~has_next( ) EQ abap_true.**
abap_true. **lo_link ?= lo_iterator->ZIF_OBJECT_COLLECTION_iterator~get_next( ).**
lo_link ?= lo_iterator->ZIF_OBJECT_COLLECTION_iterator~get_next( ). **ADD 1 TO lv_relation_id.**
ADD 1 TO lv_relation_id.
lv_value = lv_relation_id. **lv_value = lv_relation_id.**
CONDENSE lv_value. **CONDENSE lv_value.**
CONCATENATE 'rId' lv_value INTO lv_value. **CONCATENATE 'rId' lv_value INTO lv_value.**
lo_element = lo_document->create_simple_element( name = **lo_element = lo_document->create_simple_element( name = lc_xml_node_relationship**
lc_xml_node_relationship **parent = lo_document ).**
parent = **lo_element->set_attribute_ns( name = lc_xml_attr_id**
lo_document ). **value = lv_value ).**
lo_element->set_attribute_ns( name = lc_xml_attr_id **lo_element->set_attribute_ns( name = lc_xml_attr_type**
value = lv_value ). **value = lc_xml_node_rid_link_tp ).**
lo_element->set_attribute_ns( name = lc_xml_attr_type
value = lc_xml_node_rid_link_tp ).
lv_value = lo_link->get_url( ). **lv_value = lo_link->get_url( ).**
lo_element->set_attribute_ns( name = lc_xml_attr_target **lo_element->set_attribute_ns( name = lc_xml_attr_target**
value = lv_value ). **value = lv_value ).**
lo_element->set_attribute_ns( name = lc_xml_attr_target_mode **lo_element->set_attribute_ns( name = lc_xml_attr_target_mode**
value = lc_xml_val_external ). **value = lc_xml_val_external ).**
lo_element_root->append_child( new_child = lo_element ). **lo_element_root->append_child( new_child = lo_element ).**
ENDWHILE. **ENDWHILE.**
And to help with any transport issues later on : And to help with any transport issues later on :
Class : ZCL_EXCEL_HYPERLINKS Class : ZCL_EXCEL_HYPERLINKS
Method : ADD Method : ADD
Comment out : data_validations->add( ip_data_validation ).
Comment out : **data_validations->add( ip_data_validation ).**
8a (Alternative to allow Hyperlinks - Tested with ABAP2XLSX version 6) - This is unconfirmed but it seems to be working for us. 8a (Alternative to allow Hyperlinks - Tested with ABAP2XLSX version 6) - This is unconfirmed but it seems to be working for us.
Class : ZCL_EXCEL_WORKSHEET Class : ZCL_EXCEL_WORKSHEET
Method : GET_HYPERLINKS_ITERATOR Method : GET_HYPERLINKS_ITERATOR
Change to:
eo_iterator = hyperlinks->zif_object_collection~get_iterator( ). Change to : **eo_iterator = hyperlinks->zif_object_collection~get_iterator( ).**
Class : ZCL_EXCEL_WORKSHEET Class : ZCL_EXCEL_WORKSHEET
Method : GET_HYPERLINKS_SIZE Method : GET_HYPERLINKS_SIZE
Change to:
ep_size = hyperlinks->zif_object_collection~size( ). Change to: **ep_size = hyperlinks->zif_object_collection~size( ).**
The Class ZCL_EXCEL_WRITER_2007 Method CREATE_XL_SHEET_RELS code can remain uncommented. The Class ZCL_EXCEL_WRITER_2007 Method CREATE_XL_SHEET_RELS code can remain uncommented.
@ -113,20 +122,26 @@ Method : GET_HYPERLINKS_SIZE
9. 620 is picky about parameter names being omitted if there is more than one possible parameter. Minor changes to the code are required in the following area : 9. 620 is picky about parameter names being omitted if there is more than one possible parameter. Minor changes to the code are required in the following area :
Class : ZCL_EXCEL_WORKSHEET Class : ZCL_EXCEL_WORKSHEET
Method : CALCULATE_COLUMN_WIDTHS Method : CALCULATE_COLUMN_WIDTHS
Find : column_dimension->set_width( <auto_size>-width ).
Replace with : call method column_dimension->set_width exporting ip_width = <auto_size>-width. Find : **column_dimension->set_width( <auto_size>-width ).**
Replace with : **call method column_dimension->set_width exporting ip_width = <auto_size>-width.**
10. 620 doesn't support CONCATENATE...RESPECTING BLANKS or REPLACE...REGEX... so this needs to be changed to a more traditional CONCATENATE. 10. 620 doesn't support CONCATENATE...RESPECTING BLANKS or REPLACE...REGEX... so this needs to be changed to a more traditional CONCATENATE.
Class : ZCL_EXCEL_WRITER_2007 Class : ZCL_EXCEL_WRITER_2007
Method : CREATE_DOCPROPS_CORE Method : CREATE_DOCPROPS_CORE
Find : Find :
CONCATENATE lv_date lv_time INTO lv_value RESPECTING BLANKS. **CONCATENATE lv_date lv_time INTO lv_value RESPECTING BLANKS.**
REPLACE ALL OCCURRENCES OF REGEX '([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})' IN lv_value WITH '$1-$2-$3T$4:$5:$6Z'. **REPLACE ALL OCCURRENCES OF REGEX '([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})' IN lv_value WITH '--T::Z'.**
Replace with : Replace with :
CONCATENATE lv_date+0(4) '-' lv_date+4(2) '-' lv_date+6(2) 'T' lv_time+0(2) ':' lv_time+2(2) ':' lv_time+4(2) 'Z' **CONCATENATE lv_date+0(4) '-' lv_date+4(2) '-' lv_date+6(2) 'T' lv_time+0(2) ':' lv_time+2(2) ':' lv_time+4(2) 'Z' INTO lv_value.**
INTO lv_value.
There are two occurances to replace. There are two occurances to replace.