在系统运维时,EDI流量的统计可以作为一个运营的数据指标,反馈webMethods平台某客户之间的业务流量的大小。
可以使用如下语句查询,主要是以自己的Partner Name和客户的Partner Name,以及流量的起止时间为参数,其它的可以使用消息处理状态,具体消息类型等参数,查询出更加具体的流量统计信息。
/*某客户的接收和发送的流量之和*/
select '某客户名称' Customer,
round(nvl(sum(CONTENTLENGTH) / (1024 * 1024), 0), 3)||'MB' as file_size
from (SELECT D.DOCID,
D.DOCTIMESTAMP,
T.TYPENAME,
D.SENDERID,
S.CORPORATIONNAME AS SENDERCORP,
S.ORGUNITNAME AS SENDERUNIT,
D.RECEIVERID,
R.CORPORATIONNAME AS RECEIVERCORP,
R.ORGUNITNAME AS RECEIVERUNIT,
D.ROUTINGSTATUS,
D.USERSTATUS,
D.DOCTYPEID,
DC.CONTENTLENGTH,
DC.CONTENT
FROM BIZDOCTYPEDEF T,
PARTNER S,
PARTNER R,
BIZDOC D,
BIZDOCCONTENT DC
WHERE D.DOCTYPEID = T.TYPEID
AND D.SENDERID = S.PARTNERID
AND D.RECEIVERID = R.PARTNERID
AND D.DOCID = DC.DOCID
AND ((D.SENDERID IN
(SELECT DISTINCT P.PARTNERID
FROM PARTNER P
WHERE P.DELETED = 0
AND P.STATUS <> 'Pending'
AND ((UPPER(P.CORPORATIONNAME) LIKE UPPER('自己的Partner Name')))) AND
D.RECEIVERID IN
(SELECT DISTINCT P.PARTNERID
FROM PARTNER P
WHERE P.DELETED = 0
AND P.STATUS <> 'Pending'
AND ((UPPER(P.CORPORATIONNAME) = UPPER('某客户Partner Name'))))) OR
(D.SENDERID IN
(SELECT DISTINCT P.PARTNERID
FROM PARTNER P
WHERE P.DELETED = 0
AND P.STATUS <> 'Pending'
AND ((UPPER(P.CORPORATIONNAME) LIKE UPPER('某客户Partner Name')))) AND
D.RECEIVERID IN
(SELECT DISTINCT P.PARTNERID
FROM PARTNER P
WHERE P.DELETED = 0
AND P.STATUS <> 'Pending'
AND ((UPPER(P.CORPORATIONNAME) = UPPER('自己的Partner Name'))))))
AND ((D.DOCTIMESTAMP + 0) >=
TO_DATE('2018-08-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss') AND
(D.DOCTIMESTAMP + 0) <=
TO_DATE('2018-09-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss'))
ORDER BY D.DOCTIMESTAMP DESC);