Ayuda SAP

TN Factura de deudores centro de costo

Buenas tardes estimados,

Tengo el siguiente codigo el cual envia un mensaje de error si el campo sucursal(OcrCode) esta vacio, pero quiero agregar el campo unidad de negocio(OcrCode2), he intentado varias formas pero no me ha resultado por eso vengo a ustedes para que me ayuden.

if (@object_type = '13') and (@transaction_type = 'A')
begin
declare @CCOSTO1 as integer
set @CCOSTO1 = (select count(*) from INV1 T0 where T0.DocEntry = @list_of_cols_val_tab_del
and isnull(T0.OcrCode,'0') = '0'
)
IF (@CCOSTO1 > 0)
begin
select @error = 121 
set @error_message = 'No es posible crear Factura sin Centro de Costo'
end
end

Hola @Lsanders
Está validación la maneja de manera estándar el sistema. Desde el plan de cuentas debes seleccionar la cuenta (ingreso, gasto, etc) y luego marcar las dimensiones obligatorias.

Andrés Ramirez Jaramillo :colombia:

Ese control lo tienes de manera standard.

En gestión-inicializacion del sistema-Parametrizaciones generales y en la pestaña de contabilidad de costes.

imagen

Eso si, previamente como te dice @andresramirez tienes que habilitar en la cuenta contable la dimensión o dimensiones en que va a contabilizar.

Entiendo lo que me comentan, el tema es que si lo hago de esa forma habría que llenar ambas columnas y ese no es el caso, lo que realmente quiero es que permita crear si una de las 2 columnas tiene información y si ninguna tiene entonces muestre el mensaje indicando que falta información

Intenta con este código (es el mismo tuyo, solo modifiqué parte del WHERE:

if (@object_type = '13') and (@transaction_type = 'A')
begin
declare @CCOSTO1 as integer
set @CCOSTO1 = (select count(1) from INV1 T0 where T0.DocEntry = @list_of_cols_val_tab_del
and (isnull(T0.OcrCode,'0') = '0' or isnull(T0.OcrCode2,'0') = '0')
)
IF (@CCOSTO1 > 0)
begin
select @error = 121 
set @error_message = 'No es posible crear Factura sin Centro de Costo'
end
end

Buen día
Gracias por sus respuestas, al final definimos manejar esto utilizando el ocrcode2 para la facturación por web, por lo que el usuario que hace esta facturación esta capacitado para saber utilizar este campo