PDA

Ver la Versión Completa : Mover estructuras


zocter
28/04/08, 07:10:20
Buenos días

Estamos haciendo un Upgrade de 4.7 a 6.0.

Tenemos la siguiente sentencia

MOVE s1 TO s2, donde s1 es de tipo de la estructura PRELP
s2 es de tipo de la estructura P0008.

Las estructuras son de distinto tipo.

El problema es que en el sistema 4.7 el Move hace el mapeo de campos, pero en 6.0 no los hace y da un dump.

Hemos probado a usar la funcion 'PI_BP_MOVE_UNICODE' pero parece que los decimales y cantidades no los mueve bien.

¿Algún consejo que no sea ir mapeando a mano campo a campo?

Gracias de antemano.

Saludos.

ballan
28/04/08, 08:47:36
Prueba a poner move-corresponding

zocter
28/04/08, 10:58:14
El problema es que las estructuras no tienen los mismos campos, es decir en la estructura origen tenemos un char250 que tenemos que mapear en la estructura 2 que tiene un monton de chars más pequeños, decimales,....

Esta es la estructura 1

PERNR
INFTY
SUBTY
OBJPS
SPRPS
ENDDA
BEGDA
SEQNR
AEDTM
UNAME
HISTO
ITXEX
REFEX
ORDEX
ITBLD
PREAS
FLAG1
FLAG2
FLAG3
FLAG4
RESE1
RESE2
GRPVL
DATA1 CHAR de 250
DATA2
DATA3
DATA4
DATA5
DATA6

Esta es la estructura 2

PERNR
INFTY
SUBTY
OBJPS
SPRPS
ENDDA
BEGDA
SEQNR
AEDTM
UNAME
HISTO
ITXEX
REFEX
ORDEX
ITBLD
PREAS
FLAG1
FLAG2
FLAG3
FLAG4
RESE1
RESE2
GRPVL
TRFAR
TRFGB
TRFGR
TRFST
STVOR
ORZST
PARTN
WAERS
VGLTA
VGLGB
VGLGR
VGLST
VGLSV
BSGRD
DIVGV
ANSAL
FALGK
FALGR
LGA01
BET01
ANZ01
EIN01
OPK01
LGA02
BET02
ANZ02
EIN02
OPK02
LGA03
BET03
ANZ03
EIN03
OPK03
LGA04
BET04
ANZ04
........


Es el char de 250 que tenemos que corresponder con el resto de campos.

Con el move-corresponding copiaría solo los campos con el mismo nombre.

Gracias por la ayuda de todos modos.