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