Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Error en sentencia join

Hola.

Necesito unir 2 campos de una TablaA a una TablaB, para lo que utilizo un left join o hago lo siguiente:

TablaC:

left join (TablaB)

load

     Campo1,

     Campo2,

     CampoClave

resident TablaA

En ambos casos da un error, es el siguiente: OUT OF VIRTUAL AND/OR LOGICAL MEMORY, allocating 2MB. ¿Alguien podría decirme qué siginifica este error, o si estoy haciendo algo mal?

Gracias.

1 Solution

Accepted Solutions
Not applicable
Author

Hola.

Ya hace unoas semanas encontré el error, al tener dos campos clave da error de memoria virtual.

Espero que a alguien le ayude.

View solution in original post

8 Replies
Not applicable
Author

Use the below code and remove the TableC:

and it should work

left join (TablaB)

load

     Campo1,

     Campo2,

     CampoClave

resident TablaA

Hope it helps

Not applicable
Author

Gracias por la respuesta, pero devuelve el error:

OUT OF VIRTUAL AND/OR LOGICAL MEMORY, ALLOCATING 2MB

Estoy desesperado.

Un saludo

Not applicable
Author

If possible upload the application and i can help you out.

erichshiino
Partner - Master
Partner - Master

Gabriel,

Yo creo que no necesita de la tablaC y necesita remover la tabla A despues del left join:

left join (TablaB)

load

     Campo1,

     Campo2,

     CampoClave

resident TablaA;

drop TablaA;

Not applicable
Author

Gracias por su respuestas Erich y Trytsk.

Se me olvidó comentar que tengo 2 campos clave, hago lo siguiente:

left join(tablaB)

load

campo1,

campo2,

campoclave1,

campoclave2

resident TablaA;

drop TablaA;

Si quito el campo clave2 devuelve el error antes mencionado, si utulizo el campoclave2 devuelve resultados falsos

ALBARAN_CABECERA:

LOAD

          B1COEJ&'_'& B1COSR&'_'& B1CONM AS NALBCAB,

          B1FVNM AS NFVALB,

          MAKEDATE(B1GEAN,B1GEME,B1GEDI) AS FECHA,

          B1CLCG AS CODIGO_CLIENTE_ENTREGA,

          B1CFCF AS REFERENCIA_FISCAL,

          B1GEBT AS IMPORTE,

          B1FVEJ&'_'& B1FVSR&'_'& B1FVNM AS ALBARANCAB_NFACT,

          B1GDD1&'_'& B1GDD2&'_'& B1GDD3 AS FECA_FACTURA,

          B1GDD1 AS A1,

          B1GDD2 AS A2,

          B1GDD3 AS A3;

          SQL SELECT *

FROM S65FCEEB.APLREMGEFI.B1;

ALBARAN_DETALLE:

LOAD

          B2COEJ&'_'& B2COSR&'_'& B2CONM AS NALBDET,

          MAKEDATE(B2GEAN,B2GEME,B2GEDI) AS FECHA,

          B2GELN AS LINEA1,

          B2GELI AS LINEA2,

          B2GELC AS LINEA3,

          B2GETD AS CARGO_ABONO,

          B2CFCF AS REFERENCIA_FISCAL,

          B2ARCG AS CODIGO_ARTICULO,

          B2ASCG AS CODIGO_SUBARTICULO,

          B2FMCG AS CODIGO_FAMILIA,

          B2FMSB AS CODIGO_SUBFAMILIA,

          B2GECN AS CANTIDAD,

          B2GEPR AS PRECIO,

          B2GEIM AS IMPORTE_ALBARAN,

          B2FVEJ&'_'& B2FVSR&'_'& B2FVNM AS ALBARANDET_NFACT;

SQL SELECT *

FROM S65FCEEB.APLREMGEFI.B2;

LEFT JOIN(ALBARAN_DETALLE)

LOAD

          A1,

          A2,

          REFERENCIA_FISCAL,

          FECHA

RESIDENT ALBARAN_CABECERA;

Not applicable
Author

Please try this out and it should work(Not tested).

ALBARAN_CABECERA:
LOAD
          B1COEJ&'_'& B1COSR&'_'& B1CONM AS NALBCAB,
          B1FVNM AS NFVALB,
          MAKEDATE(B1GEAN,B1GEME,B1GEDI) AS FECHA,
          B1CLCG AS CODIGO_CLIENTE_ENTREGA,
          B1CFCF AS REFERENCIA_FISCAL,
          B1GEBT AS IMPORTE,
          B1FVEJ&'_'& B1FVSR&'_'& B1FVNM AS ALBARANCAB_NFACT,
          B1GDD1&'_'& B1GDD2&'_'& B1GDD3 AS FECA_FACTURA,
          B1GDD1 AS A1,
          B1GDD2 AS A2,
          B1GDD3 AS A3;
          SQL SELECT *
FROM S65FCEEB.APLREMGEFI.B1;


ALBARAN_DETALLE:
LOAD
          B2COEJ&'_'& B2COSR&'_'& B2CONM AS NALBDET,
          MAKEDATE(B2GEAN,B2GEME,B2GEDI) AS FECHA1,
          B2GELN AS LINEA1,
          B2GELI AS LINEA2,
          B2GELC AS LINEA3,
          B2GETD AS CARGO_ABONO,
          B2CFCF AS REFERENCIA_FISCAL1,
          B2ARCG AS CODIGO_ARTICULO,
          B2ASCG AS CODIGO_SUBARTICULO,
          B2FMCG AS CODIGO_FAMILIA,
          B2FMSB AS CODIGO_SUBFAMILIA,
          B2GECN AS CANTIDAD,
          B2GEPR AS PRECIO,
          B2GEIM AS IMPORTE_ALBARAN,
          B2FVEJ&'_'& B2FVSR&'_'& B2FVNM AS ALBARANDET_NFACT;
SQL SELECT *
FROM S65FCEEB.APLREMGEFI.B2;


LEFT JOIN(ALBARAN_DETALLE)
LOAD
          A1 As New_A1,
          A2 AS New_A2,
          REFERENCIA_FISCAL as REFERENCIA_FISCAL1,
          FECHA  As FECHA1
RESIDENT ALBARAN_CABECERA;

Thanks

Talha

Not applicable
Author

Gracias por tu interés, pero sigue devolviendo error. Probaré y probaré y la solución encontraré.

Gracias por todo.

Un saludo

Not applicable
Author

Hola.

Ya hace unoas semanas encontré el error, al tener dos campos clave da error de memoria virtual.

Espero que a alguien le ayude.