Quantcast
Channel: SCN : All Content - SAP Business One (Español)
Viewing all articles
Browse latest Browse all 982

Error en SQL (Divide by zero error encountered)

$
0
0

Ayuda este es mi query he intentado resolverlo pero no encuentro la solución, gracias....

 

 

Select

T10.[# O/V],

T10.[Estado],

T10.[Fecha O/C],

T10.[SEMANA O/C],

T10.[Mes O/C],

T10.[Año O/C],

T10.[Bimestre O/C.],

T10.[Codigo],

T10.[Cliente],

T10.[Grupo Cliente],

T10.[Vendedor],

T10.[# O/C],

T10.[ESTADO COTIZ.],

ISNULL(SUM(ISNULL(T10.[Total Sin Dscto],0.00)),0.00) as 'Total Sin Dscto',

ISNULL(SUM(ISNULL(T10.[Dscto. Total],0.00)),0.00) as 'Dscto. Total',

ISNULL(SUM(ISNULL(T10.[Total],0.00)),0.00) as 'Total',

ISNULL(SUM(ISNULL(T10.[WAC Total],0.00)),0.00) as 'WAC Total'

from

(SELECT   

'# O/V' = v.docnum,

'Estado' = ([SBO_DYNAFLUX_PRODUCCION].[dbo].[FN_ESTADO_VENTA](v.DocEntry, lv.LineNum)),

'Fecha O/C' = v.U_INT_FECOC,

'SEMANA O/C'=DATEPART(wk, v.U_INT_FECOC),

'Mes O/C' = Month(v.u_int_fecoc),

'Año O/C' = Year(v.u_int_fecoc),

'Bimestre O/C.' = floor(((month(v.U_INT_FECOC)) - 1) / 2) + 1,

'Codigo' = c.CardCode,

'Cliente' = c.CardName,

'Grupo Cliente' = d.GroupName,

'Tipo Cliente' = ISNULL(c.U_HAK_TIPCLI,''),

'Vendedor' = vend.slpname,

'% Comision Vendedor' =

CASE WHEN len(isnull(v.U_INT_SEGVEN, '')) > 0 THEN 100.00 - ISNULL(v.U_HAK_PORVEN,0.00) ELSE 100.00 END,

'Cant. Vendedores' = CASE WHEN len(isnull(v.U_INT_SEGVEN, '')) > 0 THEN 2 ELSE 1 END,

--'Moneda Origen' = CASE v.cursource WHEN 'L' THEN 'SOL' ELSE v.DocCur END,

'ESTADO COTIZ.'=

CASE v.U_INT_ESTCOT

WHEN 'C' THEN 'CALIENTE'

WHEN 'F' THEN 'FRIO'

WHEN 'T' THEN 'TIBIO'

END,

'Total Sin Dscto' =

Round(

CASE lv.Currency

WHEN 'USD' THEN lv.PriceBefDi

WHEN 'EUR' THEN (lv.PriceBefDi*(Select Rate from ORTT where RateDate = v.CreateDate and Currency = 'EUR'))/v.sysrate

ELSE lv.PriceBefDi / v.sysrate END * lv.Quantity /

(CASE WHEN len(isnull(v.U_INT_SEGVEN,

                       '')) > 0 THEN (100/(100 - isnull(v.u_HAK_PORVEN,0.00))) ELSE 1 END), 2),

'Dscto. Total' =

ROUND(lv.DiscPrcnt / 100 *

(

CASE lv.Currency

WHEN 'USD' THEN lv.PriceBefDi

WHEN 'EUR' THEN (lv.PriceBefDi*(Select Rate from ORTT where RateDate = v.CreateDate and Currency = 'EUR'))/v.sysrate

ELSE lv.PriceBefDi / v.sysrate END)

                      * lv.Quantity / (CASE WHEN len(isnull(v.U_INT_SEGVEN, '')) > 0 THEN (100/(100 - isnull(v.u_HAK_PORVEN,0.00))) ELSE 1 END), 2),

'Total' =

round(

CASE v.DocCur

WHEN 'USD' THEN lv.TotalFrgn

WHEN 'EUR' THEN (lv.TotalFrgn*(Select Rate from ORTT where RateDate = v.CreateDate and Currency = 'EUR'))/v.sysrate

ELSE lv.LineTotal / v.SysRate END / (CASE WHEN len(isnull(v.U_INT_SEGVEN, ''))

                      > 0 THEN (100/(100 - isnull(v.u_HAK_PORVEN,0.00))) ELSE 1 END), 2),

'# O/C' = v.U_INT_ORDCOM, v.U_INT_ESTCOT,

'Estado OV' =

                          (SELECT     descr

                            FROM          UFD1

                            WHERE      TableID = 'ORDR' AND FieldID = 65 AND FldValue = v.U_INT_ESTCOT), v.U_INT_FECOC, 'Fec. Despacho' =

                          (SELECT     TOP 1 DocDate

                            FROM          ODLN

                            WHERE      DocEntry = lv.TrgetEntry AND ObjType = lv.TargetType), 'Mes Despacho' = Month

                          ((SELECT     TOP 1 DocDate

                              FROM         ODLN

                              WHERE     DocEntry = lv.TrgetEntry AND ObjType = lv.TargetType)), 'Año Despacho' = YEAR

                          ((SELECT     TOP 1 DocDate

                              FROM         ODLN

                              WHERE     DocEntry = lv.TrgetEntry AND ObjType = lv.TargetType)), 'Fec. Conta' = v.DocDate, 'Mes Fec. Conta' = Month(v.DocDate),

                      'Año Fec. Conta' = YEAR(v.DocDate), 'Fec. Doc.' = v.taxdate, 'Mes Fec' = MONTH(v.taxdate), 'Año. Doc.' = Year(v.taxdate), 'Bimestre Doc.' = floor(((month(v.taxdate)) - 1)

                       / 2) + 1, 'Marca' =

                          (SELECT     m.FirmName

                            FROM          omrc m

                            WHERE      i.FirmCode = m.FirmCode), 'Grupo ' = g.ItmsGrpNam, 'Sub Grupo' =

                          (SELECT     sg.U_INT_DESGRU

                            FROM          [@INT_SUBGRU] sg

                            WHERE      sg.Code = i.U_INT_SUBGRU), 'Unidad Estrategica' =

                          (SELECT     name

                            FROM          [@UNEST]

                            WHERE      code = g.u_unest), 'Modelo ' = U_INT_MODART, 'Código Art.' = lv.ItemCode, 'Desc. Art.' = lv.Dscription,

                      'Cantidad Solicitada' = lv.Quantity,

                      'WAC Total' = ROUND((i.AvgPrice /

                          (SELECT     Rate

                            FROM          ORTT

                            WHERE      currency = 'USD' AND RateDate = CONVERT(date, GETDATE())))*lv.Quantity, 2)

/* el valor se convierte a dolares con el t.c del di de hoy / NO APLICA AL 2DO VENDEDOR */

   FROM ORDR v INNER JOIN

                      RDR1 lv ON (v.DocEntry = lv.DocEntry) INNER JOIN

                      OSLP vend ON (vend.slpcode = v.slpcode) INNER JOIN

                      OITM i ON (lv.ItemCode = i.ItemCode) INNER JOIN

                      OITB g ON (i.ItmsGrpCod = g.ItmsGrpCod) INNER JOIN

                      OCRD c ON (v.CardCode = c.CardCode) INNER JOIN

                      OCRG d ON (c.GroupCode = d.GroupCode)

UNION ALL

/* union para el segundo vendedor*/

SELECT v.docnum,

'Estado' = ([SBO_DYNAFLUX_PRODUCCION].[dbo].[FN_ESTADO_VENTA](v.DocEntry, lv.LineNum)),

'Fecha O/C' = v.U_INT_FECOC,

'SEMANA O/C'=DATEPART(wk, v.U_INT_FECOC),

'Mes O/C' = Month(v.u_int_fecoc),

'Año O/C' = Year(v.u_int_fecoc),

'Bimestre O/C.' = floor(((month(v.U_INT_FECOC)) - 1) / 2) + 1,

'Codigo' = c.CardCode,

'Cliente' = c.CardName,

'Grupo Cliente' = d.GroupName,

'Tipo Cliente' = ISNULL(c.U_HAK_TIPCLI,''),

vend.slpname,

'% Comision Vendedor' =

CASE WHEN len(isnull(v.U_INT_SEGVEN, '')) > 0 THEN ISNULL(v.U_HAK_PORVEN,0.00) ELSE 0.00 END,

'NroVendedores' = CASE WHEN len(isnull(v.U_INT_SEGVEN, '')) > 0 THEN 2 ELSE 1 END,

--'Moneda' = CASE v.cursource WHEN 'L' THEN 'SOL' ELSE v.DocCur END,

'ESTADO COTIZ.'=

CASE v.U_INT_ESTCOT

WHEN 'C' THEN 'CALIENTE'

WHEN 'F' THEN 'FRIO'

WHEN 'T' THEN 'TIBIO'

END,

'TotalSinDscto' =

Round(

CASE lv.Currency

WHEN 'USD' THEN lv.PriceBefDi

WHEN 'EUR' THEN (lv.PriceBefDi*(Select Rate from ORTT where RateDate = v.CreateDate and Currency = 'EUR'))/v.sysrate

ELSE lv.PriceBefDi / v.sysrate END * lv.Quantity / (CASE WHEN len(isnull(v.U_INT_SEGVEN,

                       '')) > 0 THEN (100/(CASE WHEN ISNULL(v.u_HAK_PORVEN,0.00) = 0.00 THEN 100 ELSE ISNULL(v.u_HAK_PORVEN,0.00) END)) ELSE 1 END) , 2),

'DsctTotal' =

ROUND(lv.DiscPrcnt / 100 *

(

CASE lv.Currency

WHEN 'USD' THEN lv.PriceBefDi

WHEN 'EUR' THEN (lv.PriceBefDi*(Select Rate from ORTT where RateDate = v.CreateDate and Currency = 'EUR'))/v.sysrate

ELSE lv.PriceBefDi / v.sysrate END)

                      * lv.Quantity / (CASE WHEN len(isnull(v.U_INT_SEGVEN, '')) > 0 THEN (100/(CASE WHEN ISNULL(v.u_HAK_PORVEN,0.00) = 0.00 THEN 100 ELSE ISNULL(v.u_HAK_PORVEN,0.00) END)) ELSE 1 END) , 2),

'Total' =

round(

CASE v.DocCur

WHEN 'USD' THEN lv.TotalFrgn

WHEN 'EUR' THEN (lv.TotalFrgn*(Select Rate from ORTT where RateDate = v.CreateDate and Currency = 'EUR'))/v.sysrate

ELSE lv.LineTotal / v.SysRate END / (CASE WHEN len(isnull(v.U_INT_SEGVEN, ''))

                      > 0 THEN (100/(CASE WHEN ISNULL(v.u_HAK_PORVEN,0.00) = 0.00 THEN 100 ELSE ISNULL(v.u_HAK_PORVEN,0.00) END))

                      ELSE 1 END) , 2),

                    

                      v.U_INT_ORDCOM, v.U_INT_ESTCOT,

'Estado' =

                          (SELECT     descr

                            FROM          UFD1

                            WHERE      TableID = 'ORDR' AND FieldID = 65 AND FldValue = v.U_INT_ESTCOT), v.U_INT_FECOC, 'Fec. Despacho' =

                          (SELECT     TOP 1 DocDate

                            FROM          ODLN

                            WHERE      DocEntry = lv.TrgetEntry AND ObjType = lv.TargetType), 'Mes Despacho' = Month

                          ((SELECT     TOP 1 DocDate

                              FROM         ODLN

                              WHERE     DocEntry = lv.TrgetEntry AND ObjType = lv.TargetType)), 'Año Despacho' = YEAR

                          ((SELECT     TOP 1 DocDate

                              FROM         ODLN

                              WHERE     DocEntry = lv.TrgetEntry AND ObjType = lv.TargetType)), 'Fec. Conta' = v.DocDate, 'Mes Fec. Conta' = Month(v.DocDate),

                      'Año Fec. Conta' = YEAR(v.DocDate), 'Fec. Doc.' = v.taxdate, 'Mes Fec' = MONTH(v.taxdate), 'Año. Doc.' = Year(v.taxdate), 'Bimestre Doc.' = floor(((month(v.taxdate)) - 1)

                       / 2) + 1, 'Marca' =

                          (SELECT     m.FirmName

                            FROM          omrc m

                            WHERE      i.FirmCode = m.FirmCode), g.ItmsGrpNam, 'SubGrupo' =

                          (SELECT     sg.U_INT_DESGRU

                            FROM          [@INT_SUBGRU] sg

                            WHERE      sg.Code = i.U_INT_SUBGRU), 'UnidadEstrategica' =

                          (SELECT     name

                            FROM          [@UNEST]

                            WHERE      code = g.u_unest), U_INT_MODART, lv.ItemCode, lv.Dscription,

                            'CantidadSolicitada' = 0,

                      'WAC Total' = 0

                      FROM ORDR v INNER JOIN

                      RDR1 lv ON (v.DocEntry = lv.DocEntry) INNER JOIN

                      OSLP vend ON vend.SlpCode = CONVERT(int, LEFT(v.U_INT_SEGVEN, CHARINDEX('-', v.U_INT_SEGVEN, 0) - 1)) INNER JOIN

                      OITM i ON (lv.ItemCode = i.ItemCode) INNER JOIN

                      OITB g ON (i.ItmsGrpCod = g.ItmsGrpCod) INNER JOIN

                      OCRD c ON (v.CardCode = c.CardCode) inner join

                      OCRG d ON (c.GroupCode = d.GroupCode)

                      ) T10

                      GROUP BY

                      T10.[# O/V],T10.[Estado],T10.[Fecha O/C],T10.[SEMANA O/C],T10.[Mes O/C],T10.[Año O/C],

T10.[Bimestre O/C.],T10.[Codigo],T10.[Cliente],T10.[Grupo Cliente],T10.[Vendedor],T10.[# O/C],T10.[ESTADO COTIZ.]

HAVING T10.[Estado] NOT IN ('Anulada con Devolucion','Anulada con N.C','Cancelada en O/V')


Viewing all articles
Browse latest Browse all 982

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>