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

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

@ -49,85 +49,100 @@ Activate remaining Table Types (if any error occurs open the structure and doub
Hyperlinks Cleanup : 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 = lc_xml_node_relationship**
**parent = lo_document ).**
**lo_element->set_attribute_ns( name = lc_xml_attr_id**
**value = lv_value ).**
**lo_element->set_attribute_ns( name = lc_xml_attr_type**
**value = lc_xml_node_rid_link_tp ).**
lo_element = lo_document->create_simple_element( name = **lv_value = lo_link->get_url( ).**
lc_xml_node_relationship **lo_element->set_attribute_ns( name = lc_xml_attr_target**
parent = **value = lv_value ).**
lo_document ). **lo_element->set_attribute_ns( name = lc_xml_attr_target_mode**
lo_element->set_attribute_ns( name = lc_xml_attr_id **value = lc_xml_val_external ).**
value = lv_value ). **lo_element_root->append_child( new_child = lo_element ).**
lo_element->set_attribute_ns( name = lc_xml_attr_type **ENDWHILE.**
value = lc_xml_node_rid_link_tp ).
lv_value = lo_link->get_url( ).
lo_element->set_attribute_ns( name = lc_xml_attr_target
value = lv_value ).
lo_element->set_attribute_ns( name = lc_xml_attr_target_mode
value = lc_xml_val_external ).
lo_element_root->append_child( new_child = lo_element ).
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.
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
Find : Method : CREATE_DOCPROPS_CORE
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'. Find :
Replace with : **CONCATENATE lv_date lv_time INTO lv_value RESPECTING BLANKS.**
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' **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'.**
INTO lv_value.
There are two occurances to replace. 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' INTO lv_value.**
There are two occurances to replace.