IBM Support

PM14613: CQ PERL SYNTAX ERROR: SCALAR VALUE @SIGNINSTATE[0] BETTER WRITTE N AS $SIGNINSTATE[0] AT (EVAL1)

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as Permanent restriction.

Error description

  • CQ Perl syntax error: Scalar value @signInState[0] better
    written as $signInState[0] at (eval1)
    
    When using the CQ Perl API 7.1.1.0, the following syntax
    warnings occur from the esignature hook code.
    
    Scalar value @signInState[0] better written as $signInState[0]
    at (eval1) line 5265.
    Scalar value @signInState[1] better written as $signInState[1]
    at (eval1) line 5265.
    Scalar value @signEnteringState[0] better written
    as$signEnteringState[0] at (eval 1) line 5268.
    Scalar value @signEnteringState[1] better written
    as$signEnteringState[1] at (eval 1) line 5268.
    Scalar value @signLeavingState[0] better written as
    $signLeavingState[0]at (eval 1) line 5271.
    Scalar value @signLeavingState[1] better written as
    $signLeavingState[1]at (eval 1) line 5271.
    
    The Warning/Error messages are coming from the Rational
    Esignature package perl hook code which customers can not
    modify:
    
    sub eSig_IsSigRequired {
    
        # If the eSignature package is disabled, just return 0.
       # Note that this will invoke the customer
    extension
       # esigCust_Disable_eSignature .
       if (eSig_IsDisabled()) {
     return 0;
       }
    
        my ($session, $entity) = @_;
        my $isRequired = $CQPerlExt::CQ_READONLY;
    
        ## Return $CQPerlExt::CQ_MANDATORY iff there's an
    eSig_Config record matching:
        ##    eSig_Signed_Record_Type == $entityType   AND
        ##        (   <Match the record's old or new state>
        ##     (eSig_Signature_States contains $oldState AND
    
        ##      eSig_Signature_States in ['Leaving State',
    'Modify In State'])  OR
        ##     (eSig_Signature_States contains $newState AND
    
        ##      eSig_Signature_States in ['Entering State',
    'Modify In State']))
        ##     OR
        ##        (   <matching the action type>
        ##        esig_signed_actions contains $actionType)
        ##
        ## Note on translations:
        ## The choices and default value for the 'Sign When' field
    may be translated in the
        ## schema, but it's possible for a user database to contain
    config records that were
        ## created before the translations were applied (and so
    contain the English values,
        ## not the translated values.)  The code here that generates
    the query on the 'Sign When'
        ## field is written so as to be language-neutral, but always
    including the English
        ## choice values -- and also the translated values, if they
    are applicable.
    
        my @signInState = eSig_SignInState();
        shift @signInState if (@signInState[0] eq @signInState[1]);
    
        my @signEnteringState = eSig_SignEnteringState();
        shift @signEnteringState if (@signEnteringState[0]
    eq@signEnteringState[1]);
    
        my @signLeavingState =  eSig_SignLeavingState();
        shift @signLeavingState if (@signLeavingState[0]
    eq@signLeavingState[1]);
    
        my $oldState = '';
        my $newState = '';
    
    The work around to this is by using the statement 'use strict;'
    in the sub routines and not in a global setting. That way 'use
    strict;' will not apply to all hooks.
    

Local fix

Problem summary

  • When either "Validate()" or "Commit()" is executed in a
    ClearQuest eSignature hook, Perl syntax warning messages are
    issued.
    

Problem conclusion

  • The workaround is to use the statement 'use strict;' in the
    sub routines and not in a global setting. That way 'use
    strict;' will not apply to all hooks.
    
    After analysis of this APAR we have determined we won't fix
    this issue due to: low priority/severity, the risk of a fix
    and a straightforward workaround.  A priority decision has
    been made that this defect cannot be addressed in the next
    18 months without neglecting issues of higher importance and
    less risk.  Thank you for your understanding.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM14613

  • Reported component name

    CLEARQUEST WIN

  • Reported component ID

    5724G3600

  • Reported release

    711

  • Status

    CLOSED PRS

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2010-05-14

  • Closed date

    2010-06-25

  • Last modified date

    2010-06-25

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

Applicable component levels

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSSH5A","label":"Rational ClearQuest"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.1.1","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
25 June 2010