MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   ordenar estructura GS_IT_GEN (foro/showthread.php?t=11450)

davidffh 03/03/08 14:02:36

ordenar estructura GS_IT_GEN
 
Hola a todos:

Tengo un "Z" del smartform estándard SDLE_SHP_DELNOTE (Nota de entrega), lo que necesito es ordenar la estructura GS_IT_GEN por el campo MATL_GROUP.

EL Smartform hace el Loop así:

Tabla interna X IS_DLV_DELNOTE-IT_GEN INTO GS_IT_GEN

Si ordeno así: SORT IS_DLV_DELNOTE-IT_GEN BY MATL_GROUP

me da este error:
"IS_DLV_DELNOTE-IT_GEN" is a table of the kind SORTED. You cannot use the SORT command with this type of table.

y si ordeno así: SORT GS_IT_GEN BY MATL_GROUP

me da este error:
"GS_IT_GEN" is not an internal table - the "OCCURS n" specification is missing.

Así que no se que hacer para poder ordenar por grupo de material (MATL_GRUP), también he tratado de agrupar por MATL_GROUP y no me da resultado en Criterios de Clasificación.

LouieBoy 03/03/08 14:09:25

Buenas, Si es una tabla sort, tienes un problema, ya q como te dice el DUMP no puedes ordenar tablas de tipo sort.
Todo lo que se me ocurren son chapucillas:

1-creas una tabla interna con la misma estructura pero de tipo standard, haces un volcado y ya puedes ordenar.
2-Si utilizas en smartform, signifca que el programa de impresion no es estandard por lo que puedes tratar de modificar la copia Z y ordenarlo cuando hace la seleccion. (habria que ver el codigo)


Si a alguien se le ocurre algo mejor, por favor que lo ponga, que esto es muy poco ortodoxo.. :D

Saludos,

LouieBoy

abapconsultoria 03/03/08 14:14:28

Que tal. Tal como dice LouieBoy no se puede ordenar una tabla de tipo sort. La alternativa que suministro es la unica via. Por otro lado no se puede ordenar una estructura. A eso se debe el segundo error que arroja.

Saludos.

Javier.

davidffh 04/03/08 15:40:46

Ok;

Yo soy nuevo en ABAP, necesitaría que me dijeran como hacer el volcado de datos de la GS_IT_GEN a una estructura que yo crearía.

David Fúnez

abapconsultoria 04/03/08 16:08:33

Por asignacion simple. Se realiza un move y listo (en caso que el tipo de estructara sea el mismo). Si no es estructura similar pero lso campos llevan los mismos nombres podes hacer un MOVE-CORRRESPONDING.Si no es ninguna de estas opciones campo por campo.

Todavia no entiendo si lo que queres hacer es ordenar la tabla por otro criterio o si queres hacer otra cosa.

Saludos.

Javier.


Husos Horarios son GMT. La hora en este momento es 08:55:39.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web