| Quintiq file version 2.0 | 
| #parent: #root | 
| Method ParseRows | 
| { | 
|   TextBody: | 
|   [* | 
|     // yypsybs Jul-1-2023 (created) | 
|     totalRows := 0; | 
|     totalColumns := this.MatAttrSettingAndPlanStrategyDataColumn( relsize ); | 
|      | 
|     if ( totalColumns > 0 ) { | 
|       columnLongestList := maxset( this, MatAttrSettingAndPlanStrategyDataColumn, column, true, column.MatAttrSettingAndPlanStrategyDataCell( relsize ) ); | 
|       columnLongest := columnLongestList.First(); | 
|       totalRows := columnLongest.MatAttrSettingAndPlanStrategyDataCell( relsize ); | 
|        | 
|       this.MatAttrSettingAndPlanStrategyDataRow( relflush ); | 
|        | 
|       cells := construct( structured[MatAttrSettingAndPlanStrategyDataCell] ); | 
|       traverse ( this, MatAttrSettingAndPlanStrategyDataColumn, column ) { | 
|         cells.Add( column.FirstCellInColumn() ); | 
|       } | 
|        | 
|       for ( i := 0; i < totalRows; i++ ) { | 
|         assert( selectvalues( cells, Elements, c, true, c.MatAttrSettingAndPlanStrategyDataColumn().columnIndex() ).ToString( "" ) =  | 
|                 selectvalues( selectsortedset( cells, Elements, c, true, c.MatAttrSettingAndPlanStrategyDataColumn().columnIndex() ), Elements, c, true, c.MatAttrSettingAndPlanStrategyDataColumn().columnIndex() ).ToString( "" ), | 
|                 "Assertion error in MatAttrSettingAndPlanningStrategyDataTable::parseRows: Cells not sorted by column index" ); | 
|         row := this.MatAttrSettingAndPlanStrategyDataRow( relnew, rowNo := i ); | 
|          | 
|         newCells := construct( structured[MatAttrSettingAndPlanStrategyDataCell] ); | 
|          | 
|         traverse ( cells, Elements, c ) { | 
|           row.MatAttrSettingAndPlanStrategyDataCell( relinsert, c ); | 
|            | 
|           newCells.Add( c.NextCellInColumn() ); | 
|         } | 
|          | 
|         cells := &newCells; | 
|       } | 
|     } | 
|   *] | 
| } |