Mover estructuras

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • zocter
    Member
    • nov
    • 36

    #1

    Mover estructuras

    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
    Senior Member
    • oct
    • 671

    #2
    Prueba a poner move-corresponding

    Comentario

    • zocter
      Member
      • nov
      • 36

      #3
      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.

      Comentario

      Trabajando...