IBM Support

PI89426: RIC: C_CG::OPERATION::ME AND C_CG::OPERATION::MEDECLTYPE - EMPTY PROPERTY VALUE CAUSES BUILD FAILS FOR ANIMATION

A fix is available

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • Scenario:
    - call Rhapsody in C
    - new model
    - add class with operation
    - set empty string as value of operation properties
    
      C_CG::Operation::Me and  C_CG::Operation::MeDeclType
    
    - generate / build code for none instrumented configuration - Ok
    - generate / build code for animation configuration -
    compilation fails
    
    Building ------------  DefaultComponent.exe   ------------
    Executing:
    ""C:\Users\rem_gurevich\IBM\Rational\Rhapsody\8.3\Share"\etc\msv
    cmake.bat DefaultComponent.mak rebuild x86 VC11 "
    class_0.c
    class_0.c(44) : error C2065: 'me' : undeclared identifier
    NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft
    Visual Studio 11.0\VC\BIN\cl.EXE"' : return code '0x2'
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * na                                                           *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * RiC: set empty string as value of operation properties       *
    * C_CG::Operation::Me and  C_CG::Operation::MeDeclType -       *
    * compilation is OK  for none instrumented configuration and   *
    * fails for animation configuration                            *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    

Problem conclusion

  • There are three implemented cases:
    1.  Me property is empty => CG does not generate instrumentation
    at all
    
    2.  Me is modified , not empty, operation is not user defined
    consume event function (see
    C_CG::Framework::ReactiveConsumeEventOperationName property) =>
    CG renames "me" parameters of NOTIFY_OPERATION macro call.
    3. Operation has the name, which is defined in
    C_CG::Framework::ReactiveConsumeEventOperationName, Me is
    modified , not empty => CG generates new
    NOTIFY_CONSUME_EVENT_OPERATION macro call. This macro is
    implemented in aommacro.h framework file and contains local "me"
    variable, which is assigned using RiCReactive* parameter of
    operation and then calls NOTIFY_OPERATION with this local
    variable.
    Note: MeDeclType property doesn't affect code generation if
    class is defined as Singleton. In this case user should define
    the first argument of consume event operation as ordinary
    parameter and give it the same name as the name of singleton
    object.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI89426

  • Reported component name

    TLOGIC RHAPSODY

  • Reported component ID

    5724V74RP

  • Reported release

    750

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-10-26

  • Closed date

    2018-06-17

  • Last modified date

    2018-06-17

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

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

Fix information

  • Fixed component name

    TLOGIC RHAPSODY

  • Fixed component ID

    5724V74RP

Applicable component levels

  • R821 PSY

       UP



Document information

More support for: Rational Rhapsody

Software version: 7.5

Reference #: PI89426

Modified date: 17 June 2018