sdt類型的說明和應用

在gx中有結構體類型(structure data  type )

我們需要先定義此結構類型,如 &ArrayList     (Collection = true)

item :

            no   decimal(8)   編號

            num  decimal(8)  數量

應用:在grid中的每一行數據,彙總合計,如果有相同編號的,數量要累加,最後出合計的報表。

思路:可以添加每行數據到結構體,爲了結構體數據之編號保持唯一性,如果存在,數量相加,如果不存在,則添加。       

for  each line
       &found_flag = 'N'

       for &i = 1 to &ArrayList.count
             if &no = &ArrayList.item(&i).no  //比較編號,如果相同,數量累加

                  &ArrayList.item(&i).num += &num

                  &found_flag = 'Y'
                 
                  exit  //找到後,就不繼續比較了,因爲肯定沒有相同編號,節約時間,提高效率

             endif

      endfor

      if &found_flag <> 'Y' 
         &ArrayListItem.no = &no
         &ArrayListItem.num = &num
         &ArrayList.Add(&ArrayListItem)
      endif

endfor

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章