Hombre, pues no me iría mal algún ejemplo, porque aparte de este caso que he expuesto, tengo previsto trabajar en arrays dinámicas en otro programa, y la verdad, que en RPG/ILE no sé cómo hacerlo. Gracias
De: "Javier Mora" <[email protected]> Para: "forum.help400" <[email protected]> Fecha: 18/11/2013 13:16 Asunto: RE: Ordenar matriz con %subarr Yo, para clasificar un array con subcampos (o multidimensional) utilizo la función qsort() de C. Al principio puede ser que sea difícil de entender y programar, pero una vez la dominas te permite programar criterios de clasificación muy complejos. Si te interesa puedo buscar algún ejemplo. Javier Mora De: [email protected] [ mailto:[email protected]] En nombre de alberto Enviado el: lunes, 18 de noviembre de 2013 12:47 Para: forum.help400 Asunto: RE: Ordenar matriz con %subarr Hola No compila, pero tampoco me serviría, porque en mi array(la mia, no la del ejemplo) tengo tres campos posibles para ordenar, y los tengo que ir alternando. He probado una manera más 'tradicional' como la siguiente: D DS D Registro 40 Dim(10) Ascend D name 25A Overlay(Registro) D Inz(*hival) D salary 8S 0 Overlay(Registro:*next) /free // Initialize the data structure name(1) = 'Maria'; salary(1) = 1100; name(2) = 'Pablo'; salary(2) = 1200; name(3) = 'Bill'; salary(3) = 1000; name(4) = 'Alex'; salary(4) = 1300; SORTA name; *inlr=*on; Y en el ejemplo funciona. La probaré en mi programa a ver. Saludos y gracias!! De: "Javier Mora" <[email protected]> Para: "forum.help400" <[email protected]> Fecha: 18/11/2013 12:21 Asunto: RE: Ordenar matriz con %subarr 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]] 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 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 ) Forum.Help400 © Publicaciones Help400, S.L. ____________________________________________________ Únete a Recursos AS400, nuestra Comunidad ( 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.
____________________________________________________ Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 © Publicaciones Help400, S.L.

