Skip to main content
Question

Outbound Data Audit Reporting

  • December 1, 2024
  • 2 replies
  • 31 views

Forum|alt.badge.img+9

I am trying to build a dashboard to monitor an integration we just took like. We are pulling from a replicated database.

The bulk of Outbound Data Audit (Integration) data seems to live in the state_from_events table.

I am trying to find the Row Status / send_status field, but I cannot find it in the DB. Can someone advise me where this data lives?

 

 

2 replies

Forum|alt.badge.img+10
  • Hero (Customer)
  • 58 replies
  • December 2, 2024

Hi Chris,

 

send_status  in not a column in the DB, the send_status is create by a CASE function in the DAL query.

      (case when isnull(ack_dt,0) = 0 and isnull(delivery_dt,0)=0    then 0
      when isnull(ack_dt,0) <> 0 and isnull(delivery_dt,0) <> 0 and  (row_status is null OR row_status <> 1) then 1
	  when isnull(ack_dt,0) <> 0 and isnull(delivery_dt,0) <> 0 and  (row_status is not null and  row_status = 1) then 2
      else -1
      end
      )
      as send_status,

But i think you should use row_status, where row_status is a exciting column in DB state_from_events,

Also row_status in re-created by a CASE function in the DAL query used to get outbound messages.

	  (case when isnull(ack_dt,0) = 0 and isnull(delivery_dt,0)=0    then 0
      when isnull(ack_dt,0) <> 0 and isnull(delivery_dt,0) <> 0 and  (row_status is null OR row_status <> 1) then 1
	  when isnull(ack_dt,0) <> 0 and isnull(delivery_dt,0) <> 0 and  (row_status is not null and  row_status = 1) then 2
      else 3
      end
      )
      as row_status

 

You can find the full query, that is used for getting the outbound messages, in this DAL file: 

C:\Program Files\Astea Alliance 15.0\Bin\Application\DAL\state_from_events\state_from_event_scroller.query

 

I think you can work from here, to create you dasboard.

Note: The row_status values are integer, you should map the status to correct Row Status:

0 = Waiting Delivery

1 = Succeeded

2 = Skipped

3 = Failed

 

Good Luck,

Robin


Phil Seifert
Ultimate Hero (Employee)
Forum|alt.badge.img+23
  • Ultimate Hero (Employee)
  • 1296 replies
  • December 2, 2024

HI Chris,

The row status value is a computed column thus not stored in the database.  If I look at the query executed, Row Status is calculated with a case statement:

	  (case when isnull(ack_dt,0) = 0 and isnull(delivery_dt,0)=0    then 0
      when isnull(ack_dt,0) <> 0 and isnull(delivery_dt,0) <> 0 and  (row_status is null OR row_status <> 1) then 1
	  when isnull(ack_dt,0) <> 0 and isnull(delivery_dt,0) <> 0 and  (row_status is not null and  row_status = 1) then 2
      else 3
      end
      )
      as row_status,

Please keep in mind there are two tables: state_from_events and c_state_from_events.  The latter serves as an archive for whatever the value * 10  is in the global.xml for the clear state from events:

 

 

So in the above settings, data is retained in state_from_events for 14 days then is moved to c_state_from_events and retained 140 days.  After that, it is deleted so this way the tables do not become too large.

 


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings