Prueba
 
SORTA %subarr(emp : 1 : numEmp);
 
en V6R1 tampoco se puede especificar un subcampo en %SUBARR, el primer 
parámentro es siembre el nombre del array. Es a partir de V7R1, con la 
estructura array(*).subcampo, cuando se puede especificar el campo de 
clasificación.
 
Javier Mora



________________________________

        De: [email protected] 
[mailto:[email protected]] En nombre de alberto
        Enviado el: lunes, 18 de noviembre de 2013 11:43
        Para: forum.help400
        Asunto: RE: Ordenar matriz con %subarr
        
        
        Hola. Esto lo estoy probando en el AS de desarrollo con una V6R1. Ahora 
lo probaré en el de producción que tiene una V7R1 a ver qué tal. 
        Por cierto, en el V6R1 tambien he probado sin el * : SORTA 
%subarr(emp.name : 1 : numEmp); 
        y tampoco me compila. Bueno, creo que de hecho he probado unas 20 
combinaciones y no me compila en ninguna :( 
        
        
        
        De:        "Javier Mora" <[email protected]> 
        Para:        "forum.help400" <[email protected]> 
        Fecha:        18/11/2013 11:20 
        Asunto:        RE: Ordenar matriz con %subarr 
        
________________________________




        ¿Versión de S.O.? Si no me equivoco, %SUBARR está disponible en V6R1 (o 
como mucho V5R4). La característica 'array(*).subcampo' está disponible a parti 
de V7R1. Yo estoy en V6R1 y tampoco me compila el programa. 
          
        Un saludo, 
          
        Javier Mora 
        
        
________________________________

        De: [email protected] 
[mailto:[email protected] 
<mailto:[email protected]> ] En nombre de alberto
        Enviado el: lunes, 18 de noviembre de 2013 9:51
        Para: forum.help400
        Asunto: Ordenar matriz con %subarr
        
        Hola Foro 
        Nunca había tenido la necesidad de ordenar un array, básicamente porque 
siempre he podido crearlo en un orden determinado, pero ahora me he encontrado 
con esta necesidad y estoy intentando llevarlo a cabo. con un SORTA. Como mi 
array es del tipo DS y no están llenos todos los elementos, he seguido las 
indicaciones de IBM y uso el %subarr para indicar qué elementos quiero ordenar. 
        He seguido todas las indicaciones, y no me compila, me dice que el 
primer parámetro de %subarr NO es una matriz. Pero lo bueno es que me he 
copiado tal cual el ejemplo de IBM, 
        D emp             DS                  QUALIFIED DIM(25)
        D   name                        25A   VARYING
        D   salary                       9P 2
        D numEmp          S             10I 0 
        
        // Initialize the data structure 
        emp(1).name = 'Maria';
        emp(1).salary = 1100;
        emp(2).name = 'Pablo';
        emp(2).salary = 1200;
        emp(3).name = 'Bill';
        emp(3).salary = 1000;
        emp(4).name = 'Alex';
        emp(4).salary = 1300;
        numEmp = 4; 
        SORTA %subarr(emp(*).name : 1 : numEmp); 
        
        
http://pic.dhe.ibm.com/infocenter/iadthelp/v8r0/index.jsp?topic=%2Fcom.ibm.etools.iseries.langref.doc%2Fevfrilsh1006.htm
 
<http://pic.dhe.ibm.com/infocenter/iadthelp/v8r0/index.jsp?topic=%2Fcom.ibm.etools.iseries.langref.doc%2Fevfrilsh1006.htm>
  
        y me da exactamente el mismo error 
        Alguno de vosotros cade servir el sorta con %subarr?? 
        Me podéis dar un ejemplo que funcione? 
        Gracias____________________________________________________
        Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd 
<http://bit.ly/db68dd>  )
        Forum.Help400 © Publicaciones Help400, S.L. 
        

____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

Responder a