Ejemplo de Consulta para reprocesamiento de Pagos en SAP Business One para API DATA
Esto es lo que se declararía en la consulta en SAP:
----------------------------------------------------------------------------------------------------------
Declare @DOCNUM varchar(50)
BEGIN
DECLARE @return_value int
DECLARE @auxDocNum int, @docentry int, @objtype as int, @series as int
declare @auxUUID as varchar(100)
SELECT @docentry = T0.Docentry FROM [dbo].[ORCT] T0 WHERE T0.DocNum = '[%0]'
--SELECT @docentry as asignado
if Exists(select DocEntry from fe_control where objtype = 24 and DocEntry = @docentry)
BEGIN
select @auxUUID = uuid , @series = series , @auxDocNum = DocNum from fe_control where objtype = 24 and DocEntry = @docentry
set @auxUUID = isnull(@auxUUID,'')
if len(@auxUUID ) > 20
BEGIN
sELECT 'El pago ya esta timbrado, revisar fe_control UUID = ' + @auxUUID as respuesta
END
else
BEGIN
update fe_control
set uuid = '', respuesta = ''
where objtype = 24 and DocEntry = @docentry and series = @series
EXEC @return_value = [dbo].[fe_api_cfdifecha]
@docentry = @docentry,
@objtype = 24,
@series = @series
SELECT @auxDocNum as Pago, ('Reprocesando el pago Numero ' + cast(@auxDocNum as varchar(max)) + '; docentry = ' + cast(@docentry as varchar(max)) + '; series: ' + cast(@series as varchar(max)) + '; Resultado = ' + iif(@return_value = 0, 'Reprocesado con Exito', 'Reprocesamiento NO EXITOSO, revisar con administrador') ) as respuesta
END
END
else
BEGIN
SELECT 'NO Existe el registro registrado en la fe_contro, revisar series y docentry' as respuesta
END
END