| Quintiq file version 2.0 | 
| #parent: #root | 
| StaticMethod GetColumnXML ( | 
|   const constcontent LocalRows rows, | 
|   const LocalColumn column, | 
|   const Strings attributeNames, | 
|   String type, | 
|   const MacroPlan macroPlan | 
| ) const as String | 
| { | 
|   TextBody: | 
|   [* | 
|     // rislai Jun-21-2024 (created) | 
|     // rislai Jun-20-2024 (created) | 
|     columnXML := ""; | 
|     cells := selectsortedset( column, LocalCell.astype( LocalCell_DemandComparison ), cell, | 
|                                   exists( rows,Elements,element,element = cell.LocalRow()), cell.LocalRow().Index()); | 
|     if( type = "data" ){ | 
|       columnXML := ""; | 
|       if( column.IsAttrbuteColumn() ){ | 
|         columnXML := "<column><name>" + column.Name() + "</name><type>String</type>";  | 
|       }else{ | 
|         columnXML := "<column><name>" + column.Name() + "</name><type>Number</type>";  | 
|       } | 
|       traverse ( cells, Elements, cell ) { | 
|         traverse( attributeNames ,Elements,e ){ | 
|           cellXML := '<cell value="' + cell.GetAttributeByName( e ) + '"/>' | 
|           columnXML := columnXML + cellXML; | 
|         } | 
|       } | 
|       columnXML := columnXML + "</column>"; | 
|     } | 
|     if( type = "attribute" ){ | 
|       columnXML0_1 := "<column><name>Sales Segment</name><type>String</type>"; | 
|       columnXML0_2 := "<column><name>Generation</name><type>String</type>"; | 
|       columnXML0_3 := "<column><name>MQB/MLB</name><type>String</type>"; | 
|       columnXML0_4 := "<column><name>功率</name><type>String</type>"; | 
|        | 
|       columnXML1 := "<column><name>Product ID</name><type>String</type>"; | 
|       columnXML2 := "<column><name>Attribute</name><type>String</type>"; | 
|        | 
|       traverse ( cells, Elements, cell ) { | 
|         flag := true; | 
|         traverse( attributeNames ,Elements,e ){ | 
|           if( flag ){ | 
|             cellXML := '<cell value="' + cell.LocalRow().Name() + '"/>' | 
|             columnXML1 := columnXML1 + cellXML; | 
|              | 
|             salesSegment := select( cell.LocalRow().LocalTable(),LocalColumn.LocalCell.astype( LocalCell_DemandComparison ),temp_cell,temp_cell.LocalRow() = cell.LocalRow() and temp_cell.LocalColumn().Name() = "产地"); | 
|             if( not isnull( salesSegment )){ | 
|               cellXML0_1 := '<cell value="' + ifexpr( salesSegment.BaseVersionValue() <> "空",salesSegment.BaseVersionValue(),salesSegment.CompareVersionValue()) + '"/>'; | 
|               columnXML0_1 := columnXML0_1 + cellXML0_1; | 
|             }else{ | 
|               cellXML0_1 := '<cell value="  "/>' | 
|               columnXML0_1 := columnXML0_1 + cellXML0_1; | 
|             } | 
|              | 
|             product := select( macroPlan,Product_MP,product,product.ID() = cell.LocalRow().Name() ); | 
|             if( not isnull( product )){ | 
|               cellXML0_2 := '<cell value="' + product.Generation() + '"/>'; | 
|               cellXML0_3 := '<cell value="' + product.MQBMLB() + '"/>'; | 
|               cellXML0_4 := '<cell value="' + product.Power() + '"/>'; | 
|               columnXML0_2 := columnXML0_2 + cellXML0_2; | 
|               columnXML0_3 := columnXML0_3 + cellXML0_3; | 
|               columnXML0_4 := columnXML0_4 + cellXML0_4; | 
|             }else{ | 
|               cellXML0_2 := '<cell value="  "/>'; | 
|               cellXML0_3 := '<cell value="  "/>'; | 
|               cellXML0_4 := '<cell value="  "/>'; | 
|               columnXML0_2 := columnXML0_2 + cellXML0_2; | 
|               columnXML0_3 := columnXML0_3 + cellXML0_3; | 
|               columnXML0_4 := columnXML0_4 + cellXML0_4; | 
|             } | 
|              | 
|             flag := false; | 
|           }else{ | 
|             cellXML := '<cell value="  "/>' | 
|             columnXML1 := columnXML1 + cellXML; | 
|             cellXML0_1 := '<cell value="  "/>' | 
|             cellXML0_2 := '<cell value="  "/>'; | 
|             cellXML0_3 := '<cell value="  "/>'; | 
|             cellXML0_4 := '<cell value="  "/>'; | 
|             columnXML0_1 := columnXML0_1 + cellXML0_1; | 
|             columnXML0_2 := columnXML0_2 + cellXML0_2; | 
|             columnXML0_3 := columnXML0_3 + cellXML0_3; | 
|             columnXML0_4 := columnXML0_4 + cellXML0_4; | 
|           } | 
|           cellXML := '<cell value="' + e + '"/>' | 
|           columnXML2 := columnXML2 + cellXML; | 
|         } | 
|       } | 
|       columnXML := columnXML0_1 + "</column>" + columnXML0_2 + "</column>" + columnXML0_3 + "</column>" + columnXML0_4 + "</column>" + columnXML1 + "</column>" + columnXML2 + "</column>"; | 
|     } | 
|       | 
|     return columnXML; | 
|   *] | 
| } |