on 03-04-2010 3:29 PM
Tengo un query (gracias mauricio) que uso en procedimientos de autorizacion que revisa si el SN tiene facturas vencidas sin embargo si me paga de contado puede brincarse la autorizacion, el query es este:
declare @efectivo as nvarchar(1)
set @efectivo = (select $[ordr.U_contado])
if @efectivo ='N'
begin
SELECT Distinct 'TRUE'
FROM OINV T0
WHERE T0.DocStatus = 'O' AND
DateDiff(dd, T0.DocDueDate, CONVERT(DateTime, CONVERT(nvarchar(11),GetDate(),112),112)) >= 1
AND T0.CardCOde = $[$4.0.0]
AND (Select balance from ocrd where cardcode=$[$4.0.0]) > 0
end
Sin embargo a ultima hora tengo que hacer una modificacion para que tambien me verifique que no se exceda de credito el Socio de Negocio, vaya que pida autorizacion sin olvidar la primera parte que es si me paga de contado brincate todo.
Se que por default hay una autorizacion para esto pero no la puedo modificar para que si me paga de contado se la brinque, el query que estoy usando es algo parecido:
declare @efectivo as nvarchar(1)
set @efectivo = (select $[ordr.U_contado])
if @efectivo ='N'
begin
SELECT Distinct 'TRUE'
FROM OINV T0 INNER JOIN OCRD T1 ON T0.CardCode = T1.CardCode INNER JOIN ORDR T2 ON T1.CardCode = T2.CardCode
WHERE T0.DocStatus = 'O' AND
DateDiff(dd, T0.DocDueDate, CONVERT(DateTime, CONVERT(nvarchar(11),GetDate(),112),112)) >= 1
AND T0.CardCOde = $[$4.0.0] AND T1.balance+T2.Doctotal <= T1.creditline
end
Cabe aclarar que lo que quiero es que pida autorizacion desde la Orden de Venta(por eso agregue las tablas) y no se vaya a parar ya en la factura, eso pues quitaria tiempo y los clientes se molestarian que ya cuando van a hacer la factura se les detenga.
Alguna sugerencia?
Prueba asi
declare @efectivo as nvarchar(1)
declare @importe as decimal (19,6)
set @efectivo = (select $[ordr.U_contado])
set @importe=(select $[ordr.doctotal])
if @efectivo ='N'
begin
SELECT Distinct 'TRUE'
FROM OINV T0 INNER JOIN OCRD T1 ON T0.CardCode = T1.CardCode INNER JOIN ORDR T2 ON T1.CardCode = T2.CardCode
WHERE T0.DocStatus = 'O' AND
DateDiff(dd, T0.DocDueDate, CONVERT(DateTime, CONVERT(nvarchar(11),GetDate(),112),112)) >= 1
AND T0.CardCOde = $[$4.0.0] AND T1.balance+T2.Doctotal <= T1.creditline and T1.CreditLimit <=@importe
end
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Bueno ya probe:
declare @efectivo as nvarchar(1)
declare @importe as decimal (19,6)
set @efectivo = (select $[ordr.U_contado])
set @importe=(select $[ordr.doctotal])
if @efectivo ='N'
begin
SELECT Distinct 'TRUE'
FROM OINV T0 INNER JOIN OCRD T1 ON T0.CardCode = T1.CardCode INNER JOIN ORDR T2 ON T1.CardCode = T2.CardCode
WHERE T0.DocStatus = 'O' AND
DateDiff(dd, T0.DocDueDate, CONVERT(DateTime, CONVERT(nvarchar(11),GetDate(),112),112)) >= 1
AND T0.CardCOde = $[$4.0.0] AND T1.balance+@importe <= T1.creditline
end
Y no funciona, vaya se crea el documento apesar que excede el limite de credito
Si disculpa , me equivoque con ese campo
si no pon otro procedimiento de autorizacion al mismo documento que sea asi
declare @efectivo as nvarchar(1)
set @efectivo = (select $[ordr.U_contado])
if @efectivo ='N'
begin
SELECT 'TRUE' WHERE ($[$29.0.Number]+(SELECT T0.[Balance]+T0.[OrdersBal]
FROM OCRD T0 WHERE T0.[CardCode] = $[$4.0]) > (SELECT T0.[CreditLine]
FROM OCRD T0 WHERE T0.[CardCode] = $[$4.0]))
espero jale bien
Excelente, funciona usando los 2 querys en un mismo procedimiento, quiza deba separarlos para saber donde cae pero para eso hare pruebas, te falto el END al final pero ya se lo puse y funciono, para quien decida tomar este procedimiento en un futuro el codigo es:
declare @efectivo as nvarchar(1)
set @efectivo = (select $[ordr.U_contado])
if @efectivo ='N'
begin
SELECT 'TRUE' WHERE ($[$29.0.Number]+(SELECT T0.[Balance]+T0.[OrdersBal]
FROM OCRD T0 WHERE T0.[CardCode] = $[$4.0]) > (SELECT T0.[CreditLine]
FROM OCRD T0 WHERE T0.[CardCode] = $[$4.0]))
end
Para quien no sepa el
$[$29.0.Number]
significa que vaya y busque el campo de doctotal de la ordr que es la orden de venta.
Gracias Mauricio es bueno tener en el foro gente experimentada como tu en estas cosas.
Mauricio buen día, soy nuevo en esto de SAP, tengo la V. 9.1 mi problema es esto: requiero crear un proceso de autorización o alguna herramienta para que cuando un socio de negocios específico llegue o sobrepase su límite de crédito el vendedor requiera de una autorización para que pueda continuar con el proceso... es esto posible?
User | Count |
---|---|
94 | |
11 | |
11 | |
6 | |
6 | |
4 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.