RPG

156. 降順に SORT するには ?

RPG の SORTA 命令を使って降順に SORT するにも簡単であって
SORTA の対象となる配列に次のように DESCEND を指定すればよい。

-----------------------------------------------------------------------------------
0001.00 H DFTNAME(TESTSORT) DATEDIT(*YMD/)                                      
0002.00 F********** SORTのサンプル **************************************** 
0003.00 F*          降順に SORT する                                            
0004.00 F*****************************************************************      
0005.00 D CDR             S              4    DIM(3) CTDATA PERRCD(1)           
0006.00 D NMR             S             14    DIM(3) CTDATA PERRCD(1)           
0007.00 D STR             S             18    DIM(3) DESCEND                    
0008.00 C                   MOVEL     CDR           STR                         
0009.00 C                   MOVE      NMR           STR                         
0010.00 C* SORT 前のデータの表示                                                
0011.00 C     1             DO        3             N                 4 0       
0012.00 C     STR(N)        DSPLY                                               
0013.00 C                   END                                                 
0014.00 C     '*END OF DATA'DSPLY                   ANS               1         
0015.00 C*                                                                      
0016.00 C* SORTA によって降順に並べる                                           
0017.00 C                   SORTA     STR                                       
0018.00 C*                                                                      
0019.00 C     1             DO        3             N                 4 0       
0020.00 C     STR(N)        DSPLY                                               
0021.00 C                   END                                                 
0022.00 C     '*END OF SORT'DSPLY                   ANS               1         
0023.00 C                   SETON                                        LR     
0024.00 ** CDR        
0025.00 0002          
0026.00 0001          
0027.00 0003          
0028.00 ** NMR        
0029.00  ビデオデッキ 
0030.00  カラーTV   
0031.00  コンボ       
-----------------------------------------------------------------------------------