cancel
Showing results for 
Search instead for 
Did you mean: 

Tabla para Log de Modificaciones de ORDR (Ordenes de Venta)

Former Member
0 Kudos
2,764

Hola, buen dia

PUede alguien indicarme cual es la tabla para Log de Modificaciones de ORDR (Ordenes de Venta). Alguien me comentaba que podria ser la ARDR, sin emabrgo en las tablas no hay ninguna bajo ese nombre o uno parecido.

gracias de antemano

Accepted Solutions (0)

Answers (2)

Answers (2)

former_member188440
Active Contributor
0 Kudos

Buscala desde SQL , en que version de SAP estas?

felipe_loyolarodriguez
Active Contributor
0 Kudos

La tabla es la ADOC

debes seleccionar los que tengan el objtype = 17

Slds

Former Member
0 Kudos

Gracias!

Le comento lo que busco: encontrar todas las ordenes que han sido cerradas manualmente, y me parece que la unica forma es determinandolo por el log de modificaciones e identificando el estatus del pedido en C.

Asi recuperaria todas las que han sido canceladas a mano en este año

SELECT * FROM ADOC WHERE OBJTYPE = 17

and year(docdate) = 2011

and docstatus = 'C'

Las que se cierran por sistema (cuando hay facturacion de por medio) no generan ningun registro en el log, por lo que he podido verificar, ¿estoy en lo correcto?

gracias de nuevo,

former_member188440
Active Contributor
0 Kudos

Es correcto, pero recuerda que la C significa Cerrado o Cancelado, entonces filtra las canceladas por el campo Cancelled que sea Y o N

Former Member
0 Kudos

Gracias por la ayuda.

Tengo otro tema mas relacionado,

Si quisieramos que al momento de que un usuario cierra una orden en un campo de usuario escriba la razon porque hace esto, entonces solo bastaria agregar lo siguiente en el SBO_SP_TransactionNotification

*Lo que quiero asegurarme es que unicamente se disparara cuando es el usuario quien cierre o cancele y no cuando el sistema lo hace por las facturaciones.*

If @object_type = '17'

if @transaction_type = 'A'

Begin

-- VALIDACION SOBRE LA RAZON DE CANCELACION DE LA ORDEN DE VENTA

--Set @DocEntry = @list_of_cols_val_tab_del

declare @u_mot_anulacion nvarchar(30)

Select @u_mot_anulacion = T0.U_MOT_ANULACION

From ORDR T0

Where t0.DocEntry = @list_of_cols_val_tab_del

If @u_mot_anulacion = '' or @u_mot_anulacion is null Begin

set @error = 1

set @error_message = 'Tiene que ingresar el motivo de la anulacion'

End

END

select @error, @error_message

end

Gracias de antemano,

felipe_loyolarodriguez
Active Contributor
0 Kudos

Debes cambiar la condicion


If @object_type = '17' AND @transaction_type IN ('C','L')
BEGIN
IF (SELECT T0.U_MOT_ANULACION FROM ORDR T0 WHERE T0.DocEntry = @list_of_cols_val_tab_del) IS NULL
BEGIN
set @error = 1000
set @error_message = 'Tiene que ingresar el motivo de la anulacion'
End
End

Slds

Edited by: Floyola on May 11, 2011 12:35 PM

former_member188440
Active Contributor
0 Kudos

Necesitas indicarle al sistema , tambien en el TransactionNotification, que el docentry ademas, NO exista en otra tabla, como por ejemplo en la entrega o factura.

Ya que el Transaction Te tomara entonces siempre que se cierre la Orden de Venta, sea el usuario o una factura.

Entonces, si el docentry de tu orden de venta que quieres cerrar , NO EXISTE en otra tabla, entonces que si haga la validacion del motivo de cierre

Former Member
0 Kudos

Si, entiendo, pero que sucede con aquellas ordenes que han tenido facturacion parcial, y ahora las desean cerrar. Al final lo que se busca es documentar la razon por la que se cerro de forma manual, si hay otra sugerencia mil gracias de antemano.

saludos,

former_member188440
Active Contributor
0 Kudos

Pues depende que tanto control tengas, si unicamente quieres controlar un motivo, pues bastaria con validar que el documento tenga como campo obligatorio el motivo

Former Member
0 Kudos

Gracias,

Tengo claro que debo evaluar aquellas ordenes (docentry) que no esten en la INV1 como baseref, ahi estaria asegurando que no se cierre una orden sin definir el campo de anulacion.

Sin embargo aun no veo com ocontrolar que si el usuario cierra una orden que si tiene movimiento enfacturacion, entonces tambien haga restringido el campo de usuario, ¿podria evaluarse el usuario que esta haciendo la transaccion?, ¿de que otra forma puede ser?

Former Member
0 Kudos

hola, gracias

Entiendo que C es para cerrados y/o cancelados, la L para que es?

saludos,

Edited by: clalevia on May 11, 2011 7:27 PM

former_member188440
Active Contributor
0 Kudos

Si si puede evaluarse tambien el usuario, si por ejemplo, el usuario que factura es distinto al que trabaja la orden de venta, entonces podrias meter una validacion para la factura donde solamente la pueda crear el usuario que debe ser

Para esto necesitas el campo usersign de la oinv, asi que en tu transactionNotification le dirias por ejemplo que



if (select usersign from oinv where docentry =@list:_of_cols...... ) in (2,4,5) ---estos numeros corresponden al internal_K de la ---tabla de usuarios OUSR que quieres aprobar o no

begin

---alguna validacion para tu factura

end

Esos usuarios son los que quieres evaluar

former_member188440
Active Contributor
0 Kudos

Si te refieres al TransactionNOtification las letras son

A para Add

U para Update

D para Delete

L para Close

Dentro de la tabla ORDR el estatus en C es para Cerrados o para Cancelados, pero los Cancelados tienen una Y en el campo Cancelled y en consecuencia una C en status

Former Member
0 Kudos

Super!!! ya con todos los elementos hare pruebas, muy fino de verdad por compartir todo su conocimiento

un cordial saludo,

former_member188440
Active Contributor
0 Kudos

Bien, nos cuentas como te va y si pudiste solucionar el tema, no olvides calificar y cerrar el post =D

felipe_loyolarodriguez
Active Contributor
0 Kudos

C = Canceled o cancelar

L = Close o cerrar

ya que solo debes ejecutar el TN si cancelan o cierran la OV, no si la actualizan (Update)

Hay 5 tipos de movimientos en el TN

A = ADD

U = UPDATE

C = CANCEL

L = CLOSE

D = DELETE

Slds

Edited by: Floyola on May 11, 2011 1:56 PM