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; 
 | 
  *] 
 | 
} 
 |