Machetes Varios

apuntes varios erp cwa logic ( ahora SoftLand Logic ) – sql y veremos que otra cosa

Cj – mantenimiento de ctas ctes


Programación SQL a Marzo…( bolilla: tiebreakers )

Supongo que dirán que no es tal, sino un “efecto visual”, tal como lo hicieron con el de Bs de Uso  
image003.pngimage004.jpgimage002.jpg

image001.png

Ref. version 2.3.7.7

(Burrada en la consulta de recuperación )

Rafa, te mando un material de estudio de SQL para los programadores de cwa, recomendales leer la sección TIEBREAKERS.

Cuando hay más de un movimiento que cumpla la condición, mezcla todo en uno solo trayendo cualquier cosa

Fijate en el sta lo que trae cuando le paso los siguientes parametros:

Cuentas Bancarias

Tipcpt : B

Codcpt : PNGRCC

Nro cheque desde, hasta : 1,1

Del sta

SELECT MAX(CJTBCO.CJTBCO_DESCRP)CJTBCO_DESCRP,

MAX(VTMCLH.VTMCLH_NOMBRE)VTMCLH_NOMBRE,

MAX(PVMPRH.PVMPRH_NOMBRE)PVMPRH_NOMBRE,

MAX(CJTCTA.CJTCTA_CTABAN)CJTCTA_CTABAN,

MAX(CJTCTA.CJTCTA_NRODOC)CJTCTA_NRODOC,

MAX(GRCFOR.GRCFOR_DESCRP)GRCFOR_DESCRP,

MAX(CJRMVI.CJRMVI_CHESUC)CJRMVI_CHESUC,

MAX(CJRMVI.CJRMVI_CHEQUE)CJRMVI_CHEQUE,

MAX(CJRMVI.CJRMVI_CODBCO)CJRMVI_CODBCO,

MAX(CJRMVI.CJRMVI_NROCVT)CJRMVI_NROCVT,

MAX(CJRMVI.CJRMVI_NROCPV)CJRMVI_NROCPV,

MAX(CJRMVI.CJRMVI_CUENTA)CJRMVI_CUENTA,

MAX(CJRMVI.CJRMVI_IMPORT)CJRMVI_IMPORT,

MAX(CJRMVI.CJRMVI_MODFOR)CJRMVI_MODFOR,

MAX(CJRMVI.CJRMVI_CODFOR)CJRMVI_CODFOR,

MAX(CJRMVI.CJRMVI_NROFOR)CJRMVI_NROFOR,

MAX(CJRMVI.CJRMVI_CATEGO)CJRMVI_CATEGO,

MAX(CJRMVI.CJRMVI_FCHVNC)CJRMVI_FCHVNC,

MAX(CJRMVI.CJRMVI_FCHAUX)CJRMVI_FCHAUX,

MAX(CJRMVI.CJRMVI_DOCFIR)CJRMVI_DOCFIR,

MAX(CJRMVI.CJRMVI_CLRING)CJRMVI_CLRING,

MAX(CJRMVI.CJRMVI_DEBHAB)CJRMVI_DEBHAB,

MAX(CJRMVI.CJRMVI_NROITM)CJRMVI_NROITM,

MAX(CJRMVI.CJRMVI_TIPDOC)CJRMVI_TIPDOC,

MAX(CJRMVI.CJRMVI_NRODOC)CJRMVI_NRODOC,

MAX(CJRMVI.CJRMVI_CTABAN)CJRMVI_CTABAN,

MAX(CJRMVI.CJRMVI_NROINT)CJRMVI_NROINT,

MAX(CJRMVI.CJRMVI_CTACTE)CJRMVI_CTACTE,

MAX(CJRMVI.CJRMVI_EMICHE)CJRMVI_EMICHE

FROM GRCFOR, {oj {oj {oj {oj {oj CJRMVI LEFT OUTER JOIN CJTBCO

ON CJRMVI.CJRMVI_CODBCO=CJTBCO.CJTBCO_CODBCO}

LEFT OUTER JOIN VTMCLH ON CJRMVI.CJRMVI_NROCVT=VTMCLH.VTMCLH_NROCTA}

LEFT OUTER JOIN PVMPRH ON CJRMVI.CJRMVI_NROCPV=PVMPRH.PVMPRH_NROCTA}

LEFT OUTER JOIN CJTCTA ON CJRMVI.CJRMVI_CTACTE=CJTCTA.CJTCTA_CTACTE}

LEFT OUTER JOIN GRCCOH ON CJRMVI.CJRMVI_TIPCPT=GRCCOH.GRCCOH_TIPCPT

AND CJRMVI.CJRMVI_CODCPT=GRCCOH.GRCCOH_CODCPT}

WHERE CJRMVI.CJRMVI_MODFOR = GRCFOR.GRCFOR_MODFOR

AND CJRMVI.CJRMVI_CODFOR = GRCFOR.GRCFOR_CODFOR AND CJRMVI_INDICA = ‘B’

AND CJRMVI_CTACTE=’PNGRCC’ AND CJRMVI_CHEQUE >=1 AND CJRMVI_CHEQUE <=1 A

ND CJRMVI_CHEQUE <> 0 GROUP BY CJRMVI_CTACTE, CJRMVI_CHEQUE,

CASE WHEN GRCCOH_PIDCHE = ‘N’ THEN CJRMVI_MODFOR + CJRMVI_CODFOR +

CONVERT(VARCHAR,CJRMVI_NROFOR) ELSE ‘A’ END HAVING (COUNT(*) =

CASE WHEN MAX(GRCCOH_PIDCHE) = ‘N’ THEN 1 ELSE COUNT(*) END)

AND SUM(CJRMVI_IMPDEB-CJRMVI_IMPHAB)<> 0

Tomando los MAX en forma descolgada, trae por ejemplo codfor: 01ZOPG ( orden de pago automatica ) con la descripcion “Transferencias Bancarias “ y el trae el max importe de no se que movimiento ( no me molesté en buscarlo ).

El update obviamente no actualiza nada

UPDATE CJRMVI SET CJRMVI_CHEQUE=2 ,CJRMVI_FCHVNC={d ‘2007-07-17’} ,CJRMVI_FCHAUX={d ‘2007-07-17′} ,CJRMVI_CLRING=24 WHERE CJRMVI_MODFOR=’CJ’ AND CJRMVI_CODFOR=’01ZOPG’ AND CJRMVI_NROFOR =329000002 AND CJRMVI_DEBHAB =’H’ AND CJRMVI_NROITM =111

Ya que no existe el movimiento 01ZOPG 329000002


octubre 8, 2007 - Posted by | 1. SotLand Logic, 1.3 CWA Errores, 1.4 CJ -Tesorería, Cwa Logic

Aún no hay comentarios.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: