发新话题
打印

[原创] 【CQ需求实现】3. 对某些字段做自定义的历史操作审计( 此文章被查看:2360次,被回复:2篇!! )

【CQ需求实现】3. 对某些字段做自定义的历史操作审计

【CQ需求实现】3. 对某些字段做自定义的历史操作审计

步骤如下:
1。给记录类型添加note包,checkin后,“注释表单”即以添加到记录表单项里;
2。添加全局脚本AppendHist,脚本如下:
sub AppendHist  {


# histEntryField As String

# histLogField As String

    my ($histEntryField, $histLogField) = @_;

    my $oldField;

    my $session, $myName, $thisHist, $oldFieldValue, $newFieldValue;

    my $oldHist, $newHist, $crLf, $month, $now;


# First check to see if field was empty before.

# If so, do not write a history record.


    $oldField = $entity->GetFieldOriginalValue($histEntryField);

    if ($oldField->GetValueStatus() eq $CQPerlExt::CQ_HAS_VALUE) {


        # Compare old value and new value.


        $oldFieldValue = $entity->GetFieldOriginalValue($histEntryField)->GetValue();

        $newFieldValue = $entity->GetFieldValue($histEntryField)->GetValue();

        

        if ($oldFieldValue ne $newFieldValue) {

            # Get existing history so can append to it.

            $oldHist = $entity->GetFieldValue($histLogField)->GetValue();

            # Get current date, plus user name for entry.

            $session = $entity->GetSession();

            $myName = $session->GetUserLoginName();

            $crLf = "\x0d\x0a";

            my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $time) = localtime();

            $now = sprintf("%2.2d/%2.2d/%4d %2.2d:%2.2d:%2.2d", $mon + 1,$mday, $year + 1900, $hour, $min, $sec);



            $thisHist = "" . $histEntryField . " 由 " . $myName ."于". $now.$crLf."由原来的:".$crLf.$oldFieldValue .$crLf. "更改为" .$crLf. $newFieldValue.$crLf ;

            $newHist = $oldHist . $thisHist;

            $entity->SetFieldValue($histLogField, $newHist);

        }

    }

}

3。选择自定义的字段,在字段的“更改的值”里加入 AppendHist($fieldname,"Notes_Log")
这样字段在更改了值后会自动添加操作审计到注释日志里;



© 本文为 自在飞SCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员

TOP

直接应用Audittrail package也可以实现此功能。
参见http://www.uml.org.cn/pzgl/200607314.htm



© 本文为 wuqing1185SCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员

TOP

恩!可以根据ibm的提供的Audittrail包来作,自带的详细列列表感觉还不错!也可以自定义的!



© 本文为 听雨屋檐人SCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员
clearcase+clearquest个人博客:听雨屋檐人的博客
听雨屋檐人的淘宝小店!:听雨屋檐人的淘宝小店,欢迎光临

TOP

发新话题