WebSphere MQ Workflow 3.4 Generic C API Test / Prototyping Tool

[prev][next][parent][TOC]

FmcjProcessInstanceMonitor - Example

(The FmcjBlockInstanceMonitor and ProcessInstanceMonitor classes/APIs are deprecated since version 3.3.0.

See also the example of the new InstanceMonitor class /APIs)
 

* Process Model

* FDL

* Testcase

* Result
 

Process Model

[Artwork not shown]
 

FDL

/*
 *
 *  FDL definitions generated by MQSeries Workflow at 1998-12-07, 06:17:25.
 *
 */
CODEPAGE 1252 
FM_RELEASE V3R1 2 

/*
 *  STRUCTUREs
 */
UPDATE STRUCTURE 'Default Data Structure'
END 'Default Data Structure'

STRUCTURE 'SimpleDS'
  'm_long': LONG;
  'm_string': STRING;
  'm_float': FLOAT;
END 'SimpleDS'

STRUCTURE 'ComplexDS'
  'm1': LONG;
  'm2': LONG;
  'b1': BINARY;
  'm_simpleds': 'SimpleDS';
  'm_array_of_string': STRING(10);
  'm_array_of_long': LONG(1);
  'm_array_of_float': FLOAT(100);
END 'ComplexDS'

/*
 *  TOOL_SETs
 */
UPDATE TOOL_SET 'STANDARD'
  DEFAULT_PROCESS_ACTIVITY_ICON 'fmcbprca'
  DEFAULT_BLOCK_ACTIVITY_ICON 'fmcbblka'
  DEFAULT_BUNDLE_ACTIVITY_ICON 'fmcbbnda'
  DEFAULT_INFORMATION_ACTIVITY_ICON 'fmcbinfa'
  DEFAULT_PROGRAM_ACTIVITY_ICON 'fmcbprga'
END 'STANDARD'

/*
 *  PROCESS_CATEGORYs
 */
PROCESS_CATEGORY 'PM1'
  DOCUMENTATION 'PM1: Category for the process ''ProcessMonitor1'''
END 'PM1'


/*
 *  PROGRAMs
 */
PROGRAM 'ACTIMPL' ( 'ComplexDS', 'ComplexDS' ) 
  NO STRUCTURES_FROM_ACTIVITY
  NOT UNATTENDED 
  OS2 EXE PATH_AND_FILENAME 'fmctjcim.exe'
    STYLE VISIBLE 
  AIX EXE PATH_AND_FILENAME 'fmctjcim'
  WINNT EXE PATH_AND_FILENAME 'fmctjcim.exe'
    STYLE VISIBLE 
END 'ACTIMPL'

/*
 *  PERSONs
 */
UPDATE PERSON 'ADMIN'
  AUTHORIZED_FOR STAFF 
  AUTHORIZED_FOR AUTHORIZATION 
  AUTHORIZED_FOR OPERATION 
  AUTHORIZED_FOR TOPOLOGY 
  AUTHORIZED_FOR PROCESS_MODELING
  AUTHORIZED_FOR PROCESS_CATEGORY ALL AS_ADMINISTRATOR
  AUTHORIZED_FOR WORKITEMS_OF ALL 
  PASSWORD $$00F005FFFEF7F50A
  IS_NOT_ABSENT
  DO NOT RESET_ABSENT
  GROUP 'SYS_GRP'
  SYSTEM 'FMCSYS'
END 'ADMIN'

PERSON 'BOB'
  LAST_NAME 'Marley'
  FIRST_NAME 'Bob'
  AUTHORIZED_FOR PROCESS_CATEGORY 'PM1' AS_ADMINISTRATOR
  PASSWORD $$01FBFAF8FFF8F30C
  IS_NOT_ABSENT
  DO NOT RESET_ABSENT
  GROUP 'SYS_GRP'
  SYSTEM 'FMCSYS'
END 'BOB'

PERSON 'DAVE'
  LAST_NAME 'Gohl'
  FIRST_NAME 'Dave'
  AUTHORIZED_FOR PROCESS_CATEGORY 'PM1'
  PASSWORD $$03ED0EFBF4F70702
  IS_NOT_ABSENT
  DO NOT RESET_ABSENT
  GROUP 'SYS_GRP'
  SYSTEM 'FMCSYS'
END 'DAVE'

PERSON 'JIM'
  LAST_NAME 'Morrison'
  FIRST_NAME 'Jim'
  AUTHORIZED_FOR PROCESS_CATEGORY ALL 
  PASSWORD $$09F50500F903FB06
  IS_NOT_ABSENT
  DO NOT RESET_ABSENT
  GROUP 'SYS_GRP'
  SYSTEM 'FMCSYS'
END 'JIM'

/*
 *  ROLEs
 */
UPDATE ROLE 'System administrator'
  RELATED_PERSON 'ADMIN'
END 'System administrator'

/*
 *  PROCESSes
 */
/*
 *  PROCESS MonitorProcess1 
 */
PROCESS 'MonitorProcess1' ( 'ComplexDS', 'ComplexDS' ) 

  DESCRIPTION 'This is a simple process to test the monitor'
  DOCUMENTATION 'This is the documentation'
  CATEGORY 'PM1'
  DO NOT PROMPT_AT_PROCESS_START
  KEEP_PROCESSES FOREVER 
  KEEP_WORKITEMS FOREVER 
  RC_CREATION LAST 
  NOTIFICATION AFTER 60 SECONDS 
  PROCESS_ADMINISTRATOR 'ADMIN'
  WINDOW VIEW_REFERENCE_POINT XPOS -16 YPOS 116 
  WINDOW SHOW ALL CONNECTORS 
  WINDOW SHOW ALL CONDITIONS 
  SOURCE 1 XPOS -600 YPOS 500 
  BLOCK 'BlockActAPI04' ( 'ComplexDS', 'ComplexDS' ) 
    DESCRIPTION 'This is the 04 activity contained in the instance (BlockActAPI04)'
    DOCUMENTATION 'It is an activity of kind block'
    START WHEN AT_LEAST_ONE CONNECTOR TRUE 
    LAYOUT XPOS 500 YPOS -100
    WINDOW VIEW_REFERENCE_POINT XPOS -1 YPOS 98 
    WINDOW SHOW ALL CONNECTORS 
    WINDOW SHOW NO CONDITIONS 
    PROGRAM_ACTIVITY 'ProgActOfBlock04' ( 'ComplexDS', 'ComplexDS' ) 
      START MANUAL WHEN AT_LEAST_ONE CONNECTOR TRUE 
      EXIT AUTOMATIC 
      LAYOUT XPOS 100 YPOS 600 
      PROGRAM 'ACTIMPL'
    END 'ProgActOfBlock04'
    BLOCK 'BlockAct0401' ( 'ComplexDS', 'ComplexDS' ) 
      DESCRIPTION 'This is the 01 activity contained in the block 04'
      DOCUMENTATION 'It is an activity of kind block'
      START WHEN AT_LEAST_ONE CONNECTOR TRUE 
      LAYOUT XPOS -400 YPOS 600 
      WINDOW VIEW_REFERENCE_POINT XPOS -1 YPOS 26 
      WINDOW SHOW ALL CONNECTORS 
      WINDOW SHOW NO CONDITIONS 
      PROGRAM_ACTIVITY 'ProgActOfBlock0401' ( 'ComplexDS', 'ComplexDS' ) 
        START MANUAL WHEN AT_LEAST_ONE CONNECTOR TRUE 
        EXIT AUTOMATIC 
        LAYOUT XPOS 0 YPOS 0 
        PROGRAM 'ACTIMPL'
      END 'ProgActOfBlock0401'
    END 'BlockAct0401'
    BLOCK 'BlockAct0402' ( 'ComplexDS', 'ComplexDS' ) 
      DESCRIPTION 'This is the 02 activity contained in the block 04'
      DOCUMENTATION 'It is an activity of kind block'
      START WHEN AT_LEAST_ONE CONNECTOR TRUE 
      LAYOUT XPOS -800 YPOS 600 
      WINDOW VIEW_REFERENCE_POINT XPOS -1 YPOS 26 
      WINDOW SHOW ALL CONNECTORS 
      WINDOW SHOW NO CONDITIONS 
      PROGRAM_ACTIVITY 'ProgActOfBlock0402' ( 'ComplexDS', 'ComplexDS' ) 
        START MANUAL WHEN AT_LEAST_ONE CONNECTOR TRUE 
        EXIT AUTOMATIC 
        LAYOUT XPOS 0 YPOS 0 
        PROGRAM 'ACTIMPL'
      END 'ProgActOfBlock0402'
    END 'BlockAct0402'
  END 'BlockActAPI04'
  PROGRAM_ACTIVITY 'ProgActAPI01' ( 'ComplexDS', 'ComplexDS' ) 
    DESCRIPTION 'This is the 01 activity contained in the instance'
    DOCUMENTATION 'This is the documentation (ProgActAPI01)'
    INPUT_CONTAINER
      'm_array_of_long[0]' INITIAL_VALUE '999'
      'm_array_of_float[1]' INITIAL_VALUE '99.9'
      'm_array_of_string[1]' INITIAL_VALUE 'm_string value'
    START MANUAL WHEN AT_LEAST_ONE CONNECTOR TRUE 
    EXIT AUTOMATIC WHEN 'm1=1'
    LAYOUT XPOS -600 YPOS 200 
    NAME_POSITION XPOS -800 YPOS 225 
    PRIORITY 7 
    DONE_BY PERSON 'BOB' 'DAVE' 'JIM'
    NO SUBSTITUTION 
    PROGRAM 'ACTIMPL'
  END 'ProgActAPI01'
  PROGRAM_ACTIVITY 'ProgActAPI02' ( 'ComplexDS', 'ComplexDS' ) 
    DESCRIPTION 'This is the 02 activity contained in the instance'
    DOCUMENTATION 'This is the documentation 
of ProgActAPI02'
    START MANUAL WHEN AT_LEAST_ONE CONNECTOR TRUE 
    EXIT AUTOMATIC 
    LAYOUT XPOS 100 YPOS 200 
    PRIORITY DEFINED_IN INPUT_CONTAINER
    NOTIFICATION TO 'JIM' AFTER 30 SECONDS 
      SECOND_NOTIFICATION AFTER 30 SECONDS 
    DONE_BY PERSON 'BOB'
    PROGRAM 'ACTIMPL'
  END 'ProgActAPI02'
  PROCESS_ACTIVITY 'ProcActAPI03' ( 'ComplexDS', 'ComplexDS' ) 
    DESCRIPTION 'This is the 03 activity contained in the instance'
    DOCUMENTATION 'It is an activity of kind process (ProcActAPI03)'
    START AUTOMATIC WHEN AT_LEAST_ONE CONNECTOR TRUE 
    EXIT AUTOMATIC 
    LAYOUT XPOS 100 YPOS -100
    PRIORITY DEFINED_IN INPUT_CONTAINER
    DONE_BY PERSON 'BOB' 'JIM'
    PROCESS ' SomeSubProcess'
  END 'ProcActAPI03'
  CONTROL NAME 'From02To03'
    DESCRIPTION 'Desc of From02To03'
    FROM 'ProgActAPI02' TO 'ProcActAPI03'
    WHEN 'm1=1'
      XPOS -100 YPOS 25 
    LAYOUT 
      XPOS -200 YPOS 200 
      XPOS -200 YPOS -100
  CONTROL NAME 'From02To04'
    FROM 'ProgActAPI02' TO 'BlockActAPI04'
    OTHERWISE 
    LAYOUT 
      XPOS 500 YPOS 200 
  DATA 
    FROM SOURCE 1 TO 'ProgActAPI01'
    MAP 'm1' TO 'm1'
    MAP 'm2' TO 'm2'
    MAP 'm_array_of_string[0]' TO 'm_array_of_string[0]'
    MAP 'm_array_of_long[0]' TO 'm_array_of_long[0]'
    MAP 'm_array_of_float[0]' TO 'm_array_of_float[0]'
    MAP 'm_simpleds.m_long' TO 'm_simpleds.m_long'
    MAP 'm_simpleds.m_string' TO 'm_simpleds.m_string'
    MAP 'm_simpleds.m_float' TO 'm_simpleds.m_float'
END 'MonitorProcess1'

/*
 *  PROCESS SomeSubProcess 
 */
PROCESS 'SomeSubProcess' ( 'ComplexDS', 'ComplexDS' ) 
  DO NOT PROMPT_AT_PROCESS_START
  RC_CREATION LAST 
  WINDOW SHOW ALL CONNECTORS 
  WINDOW SHOW NO CONDITIONS 
  PROGRAM_ACTIVITY 'ProgSubAPI01' ( 'ComplexDS', 'ComplexDS' ) 
    START MANUAL WHEN AT_LEAST_ONE CONNECTOR TRUE 
    EXIT AUTOMATIC 
    PROGRAM 'ACTIMPL'
  END 'ProgSubAPI01'
END 'SomeSubProcess'
Testcase
/******************************************************************************
* Testcase:      pm_10.dat      ( FmcjProcessInstanceMonitor...() APIs )
* Prerequisites: ProcMon.fdl
* Remarks:       tries to monitor a process instance which is not yet started 
******************************************************************************/

/*********************************************************
* logon 
**********************************************************/
FmcjGlobalConnect 
  XpRc                              FMC_OK
End 

FmcjResultObjectOfCurrentThread 
  ResultHdl                         1 
End 

FmcjExecutionServiceAllocate 
  ExecutionServiceHdl               1 
  XpRc                              FMC_OK
End 

FmcjExecutionServiceLogon 
  ExecutionServiceHdl               1 
  UserId                            "ADMIN"
  Password                          "password"
  SessionMode                       Fmc_SM_Default
  AbsentIndicator                   Fmc_SA_NotSet
  XpRc                              FMC_OK
End 

/*********************************************************
* Preparations: create a process instance 
**********************************************************/
FmcjExecutionServiceQueryProcessTemplates 
  ExecutionServiceHdl               1 
  Filter                            "NAME IN 'MonitorProcess1'"
  SortCriteria                      NULL
  Threshold                         NULL 
  ProcessTemplateVectorHdl          1
  ShowAllObjectNames                TRUE
  XpRc                              FMC_OK
End 

FmcjProcessTemplateVectorSize 
  ProcessTemplateVectorHdl          1
  XpValue                           1 
End 

FmcjProcessTemplateVectorFirstElement 
  ProcessTemplateVectorHdl          1
  ProcessTemplateHdl                1
End 

FmcjProcessTemplateName 
  ProcessTemplateHdl                1
  BufferLength                      33
  XpValue                           "MonitorProcess1"
End 

FmcjProcessTemplateCreateInstance 
  ProcessTemplateHdl                1
  InstanceName                      "MonitorInstance_1"
  SystemGroup                       NULL 
  System                            NULL
  KeepName                          FALSE
  ProcessInstanceHdl                1
  XpRc                              FMC_OK
End 

/*********************************************************
* Retrieve process instance 
**********************************************************/
FmcjExecutionServiceQueryProcessInstances 
  ExecutionServiceHdl               1 
  Filter                            "NAME = 'MonitorInstance_1'"
  SortCriteria                      NULL
  Threshold                         NULL 
  ProcessInstanceVectorHdl          1
  ShowAllObjectNames                TRUE
  XpRc                              FMC_OK
End 

FmcjProcessInstanceVectorSize 
  ProcessInstanceVectorHdl          1
  XpValue                           1 
End 

FmcjProcessInstanceVectorFirstElement 
  ProcessInstanceVectorHdl          1
  ProcessInstanceHdl                1
End 

FmcjProcessInstanceName 
  ProcessInstanceHdl                1
  BufferLength                      100
  XpValue                           "MonitorInstance_1"
End 

/*********************************************************
* Obtain process instance monitor 
**********************************************************/
FmcjProcessInstanceObtainMonitor 
  ProcessInstanceHdl                1
  Deep                              FALSE
  ProcessInstanceMonitorHdl         1 
  XpRc                              FMC_OK
End 

FmcjProcessInstanceMonitorRefresh 
  ProcessInstanceMonitorHdl         1 
  Deep                              TRUE
  XpRc                              FMC_OK
End 

/*********************************************************
* Query activity instances 
* 
*  MonitorProcess1 (Process)
*  |
*  +---BlockActAPI04         <<
*  +---ProgActAPI01          <<
*  +---ProgActAPI02          <<
*  +---ProcActAPI03          <<
**+********************************************************/
FmcjProcessInstanceMonitorActivityInstances 
  ProcessInstanceMonitorHdl         1 
  ActivityInstanceVectorHdl         1 
  ShowAllObjectNames                TRUE
End 

FmcjActivityInstanceVectorSize 
  ActivityInstanceVectorHdl         1 
  XpValue                           4 
End 

/* ------------------------------------------------------*/

FmcjActivityInstanceVectorFirstNamedElement 
  ActivityInstanceVectorHdl         1 
  Name                              "ProgActAPI01"
  ActivityInstanceHdl               1 
End 

FmcjActivityInstanceName 
  ActivityInstanceHdl               1 
  BufferLength                      33
  XpValue                           "ProgActAPI01"
End 

FmcjActivityInstanceFullName 
  ActivityInstanceHdl               1 
  BufferLength                      255
  XpValue                           "ProgActAPI01"
End 

FmcjActivityInstanceKind 
  ActivityInstanceHdl               1 
  XpValue                           Fmc_AT_Program
End 

FmcjProcessInstanceMonitorObtainBlockInstanceMonitor 
  ProcessInstanceMonitorHdl         1 
  ActivityInstanceHdl               1 
  BlockInstanceMonitorHdl           1 
End 

FmcjResultRc 
  ResultHdl                         1 
  XpRc                              FMC_ERROR_WRONG_KIND
End 

FmcjResultMessageText 
  ResultHdl                         1 
  BufferLength                      1025
  XpValue                           "FMC00501E Object has wrong kind value 
" 
End 

FmcjBlockInstanceMonitorRefresh 
  BlockInstanceMonitorHdl           1 
  Deep                              TRUE
  XpRc                              FMC_ERROR_INVALID_HANDLE
End 

FmcjActivityInstanceDeallocate         
  ActivityInstanceHdl               1 
  XpRc                              FMC_OK
End 

/* ------------------------------------------------------*/

FmcjActivityInstanceVectorFirstNamedElement 
  ActivityInstanceVectorHdl         1 
  Name                              "ProgActAPI02"
  ActivityInstanceHdl               2 
End 

FmcjActivityInstanceName 
  ActivityInstanceHdl               2 
  BufferLength                      33
  XpValue                           "ProgActAPI02"
End 

FmcjActivityInstanceFullName 
  ActivityInstanceHdl               2 
  BufferLength                      255
  XpValue                           "ProgActAPI02"
End 

FmcjActivityInstanceKind 
  ActivityInstanceHdl               2 
  XpValue                           Fmc_AT_Program
End 

FmcjActivityInstanceDeallocate         
  ActivityInstanceHdl               2 
  XpRc                              FMC_OK
End 

/* ------------------------------------------------------*/

FmcjActivityInstanceVectorFirstNamedElement 
  ActivityInstanceVectorHdl         1 
  Name                              "ProcActAPI03"
  ActivityInstanceHdl               3 
End 

FmcjActivityInstanceName 
  ActivityInstanceHdl               3 
  BufferLength                      33
  XpValue                           "ProcActAPI03"
End 

FmcjActivityInstanceFullName 
  ActivityInstanceHdl               3 
  BufferLength                      255
  XpValue                           "ProcActAPI03"
End 

FmcjActivityInstanceKind 
  ActivityInstanceHdl               3 
  XpValue                           Fmc_AT_Process
End 

FmcjProcessInstanceMonitorObtainProcessInstanceMonitor 
  ProcessInstanceMonitorHdl         1 
  ActivityInstanceHdl               3 
  Deep                              FALSE
  ProcessInstanceMonitorHdl2        2
End 

FmcjResultRc 
  ResultHdl                         1 
  XpRc                              FMC_ERROR_DOES_NOT_EXIST
End 

FmcjResultMessageText 
  ResultHdl                         1 
  BufferLength                      1025
  XpValue                           "FMC00118E Object does not exist 
" 
End 

FmcjActivityInstanceDeallocate         
  ActivityInstanceHdl               3 
  XpRc                              FMC_OK
End 

/* ------------------------------------------------------*/

FmcjActivityInstanceVectorFirstNamedElement 
  ActivityInstanceVectorHdl         1 
  Name                              "BlockActAPI04"
  ActivityInstanceHdl               4 
End 

FmcjActivityInstanceName 
  ActivityInstanceHdl               4 
  BufferLength                      33
  XpValue                           "BlockActAPI04"
End 

FmcjActivityInstanceFullName 
  ActivityInstanceHdl               4 
  BufferLength                      255
  XpValue                           "BlockActAPI04"
End 

FmcjActivityInstanceKind 
  ActivityInstanceHdl               4 
  XpValue                           Fmc_AT_Block
End 

FmcjProcessInstanceMonitorObtainBlockInstanceMonitor 
  ProcessInstanceMonitorHdl         1 
  ActivityInstanceHdl               4 
  BlockInstanceMonitorHdl           2 
End 

FmcjResultRc 
  ResultHdl                         1 
  XpRc                              FMC_OK
End 

FmcjBlockInstanceMonitorRefresh 
  BlockInstanceMonitorHdl           2 
  Deep                              TRUE
  XpRc                              FMC_OK
End 

FmcjBlockInstanceMonitorActivityInstances 
  BlockInstanceMonitorHdl           2 
  ActivityInstanceVectorHdl         2 
  ShowAllObjectNames                TRUE
End 

/*********************************************************
*  MonitorProcess1 (Process)
*  |
*  +---BlockActAPI04
*      |
*      +---ProgActOfBlock04   <<
*      +---BlockAct0401       <<
*      +---BlockAct0402       <<
*  +---ProgActAPI01
*  +---ProgActAPI02
*  +---ProcActAPI03
*********************************************************/

FmcjActivityInstanceVectorSize 
  ActivityInstanceVectorHdl         2 
  XpValue                           3 
End 

FmcjActivityInstanceVectorFirstNamedElement 
  ActivityInstanceVectorHdl         2 
  Name                              "BlockAct0401"
  ActivityInstanceHdl               5 
End 

FmcjActivityInstanceName 
  ActivityInstanceHdl               5 
  BufferLength                      33
  XpValue                           "BlockAct0401"
End 

FmcjActivityInstanceFullName 
  ActivityInstanceHdl               5 
  BufferLength                      255
  XpValue                           "BlockActAPI04.BlockAct0401"
End 

FmcjActivityInstanceKind 
  ActivityInstanceHdl               5 
  XpValue                           Fmc_AT_Block
End 

FmcjBlockInstanceMonitorObtainProcessInstanceMonitor 
  BlockInstanceMonitorHdl           2 
  ActivityInstanceHdl               5 
  Deep                              FALSE
  ProcessInstanceMonitorHdl         2
End 

FmcjResultRc 
  ResultHdl                         1 
  XpRc                              FMC_ERROR_WRONG_KIND
End 

FmcjResultMessageText 
  ResultHdl                         1 
  BufferLength                      1025
  XpValue                           "FMC00501E Object has wrong kind value 
" 
End 

FmcjBlockInstanceMonitorObtainBlockInstanceMonitor 
  BlockInstanceMonitorHdl           2 
  ActivityInstanceHdl               5 
  BlockInstanceMonitorHdl2          3
End 

FmcjResultRc 
  ResultHdl                         1 
  XpRc                              FMC_OK
End 

FmcjBlockInstanceMonitorControlConnectorInstances 
  BlockInstanceMonitorHdl           3 
  ControlConnectorInstanceVectorHdl 1 
  ShowAllObjectNames                FALSE
End 

FmcjResultRc 
  ResultHdl                         1 
  XpRc                              FMC_OK
End 

FmcjControlConnectorInstanceVectorSize 
  ControlConnectorInstanceVectorHdl 1 
  XpValue                           0 
End 

FmcjResultRc 
  ResultHdl                         1 
  XpRc                              FMC_ERROR_INVALID_HANDLE
End 

FmcjBlockInstanceMonitorActivityInstances 
  BlockInstanceMonitorHdl           3 
  ActivityInstanceVectorHdl         3 
  ShowAllObjectNames                TRUE
End 

/*********************************************************
*  MonitorProcess1 (Process)
*  |
*  +---BlockActAPI04
*      |
*      +---ProgActOfBlock04       
*      +---BlockAct0401           
*          |
*          +---ProgActOfBlock0401   <<
*      +---BlockAct0402         
*  +---ProgActAPI01
*  +---ProgActAPI02
*  +---ProcActAPI03
*********************************************************/

FmcjActivityInstanceVectorSize 
  ActivityInstanceVectorHdl         3 
  XpValue                           1 
End 

FmcjActivityInstanceVectorFirstNamedElement 
  ActivityInstanceVectorHdl         3 
  Name                              "ProgActOfBlock0401"
  ActivityInstanceHdl               6 
End 

FmcjActivityInstanceName 
  ActivityInstanceHdl               6 
  BufferLength                      33
  XpValue                           "ProgActOfBlock0401"
End 

FmcjActivityInstanceFullName 
  ActivityInstanceHdl               6 
  BufferLength                      255
  XpValue                           "BlockActAPI04.BlockAct0401.ProgActOfBlock0401"
End 

FmcjActivityInstanceKind 
  ActivityInstanceHdl               6 
  XpValue                           Fmc_AT_Program
End 

/* ------------------------------------------ */

FmcjActivityInstanceVectorDeallocate         
  ActivityInstanceVectorHdl         1 
  XpRc                              FMC_OK
End 

/*********************************************************
* logoff 
**********************************************************/
FmcjExecutionServiceLogoff 
  ExecutionServiceHdl               1 
  XpRc                              FMC_OK
End 

FmcjExecutionServiceDeallocate 
  ExecutionServiceHdl               1 
  XpRc                              FMC_OK
End 

FmcjGlobalDisconnect 
  XpRc                              FMC_OK
End
 

 
 

Result

C API Test Tool for MQ Workflow v31_562 Windows 95/NT: FMCTJCA1 
Test case: PM_10
Tue Dec 15 09:31:17 1998 
============================================================================
+++> 
============================================================================
FmcjGlobalConnect 
..........RC Report.........................................................
AcRc = FMC_OK = 0 
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjResultObjectOfCurrentThread 
parameter:  ResultHdl = 1 
..........Status Report.....................................................
ResultHdl = 0x1133e64 
============================================================================
FmcjExecutionServiceAllocate 
parameter:  ExecutionServiceHdl = 1 
..........RC Report.........................................................
AcRc = FMC_OK = 0 
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjExecutionServiceLogon 
parameter:  ExecutionServiceHdl = 1 
parameter:  UserID = ADMIN 
parameter:  Password = password 
parameter:  SessionMode = Fmc_SM_Default = 0 
parameter:  AbsentIndicator = Fmc_SA_NotSet = 0 
..........RC Report.........................................................
AcRc = FMC_OK = 0 
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjExecutionServiceQueryProcessTemplates 
parameter:  ExecutionServiceHdl = 1 
parameter:  Filter = NAME IN 'MonitorProcess1'
parameter:  SortCriteria = NULL 
parameter:  Threshold = NULL 
parameter:  ProcessTemplateVectorHdl = 1 
..........Object Names Report...............................................
vector size = 1 
0) MonitorProcess1 
..........RC Report.........................................................
AcRc = FMC_OK = 0 
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjProcessTemplateVectorSize 
parameter:  ProcessTemplateVectorHdl = 1 
..........Value Report......................................................
AcSize = 1 
XpSize = 1 
+++OK+++
============================================================================
FmcjProcessTemplateVectorFirstElement 
parameter:  ProcessTemplateVectorHdl = 1 
parameter:  ProcessTemplateHdl = 1 
..........Status Report.....................................................
ProcessTemplateHdl = 0x1134050 
============================================================================
FmcjProcessTemplateName 
parameter:  ProcessTemplateHdl = 1 
parameter:  BufferLength = 33 
..........Value Report......................................................
AcValue = "MonitorProcess1"
XpValue = "MonitorProcess1"
+++OK+++
============================================================================
FmcjProcessTemplateCreateInstance 
parameter:  ProcessTemplateHdl = 1 
parameter:  InstanceName = MonitorInstance_1
parameter:  SystemGroup = NULL 
parameter:  System = NULL 
parameter:  KeepName = FALSE 
parameter:  ProcessInstanceHdl = 1 
..........Status Report.....................................................
ProcessInstanceHdl = 0x11397b0 
..........RC Report.........................................................
AcRc = FMC_OK = 0 
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjExecutionServiceQueryProcessInstances 
parameter:  ExecutionServiceHdl = 1 
parameter:  Filter = NAME = 'MonitorInstance_1'
parameter:  SortCriteria = NULL 
parameter:  Threshold = NULL 
parameter:  ProcessInstanceVectorHdl = 1 
..........Object Names Report...............................................
vector size = 1 
0) MonitorInstance_1
..........RC Report.........................................................
AcRc = FMC_OK = 0 
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjProcessInstanceVectorSize 
parameter:  ProcessInstanceVectorHdl = 1 
..........Value Report......................................................
AcSize = 1 
XpSize = 1 
+++OK+++
============================================================================
FmcjProcessInstanceVectorFirstElement 
parameter:  ProcessInstanceVectorHdl = 1 
parameter:  ProcessInstanceHdl = 1 
..........Status Report.....................................................
ProcessInstanceHdl = 0x1138310 
============================================================================
FmcjProcessInstanceName 
parameter:  ProcessInstanceHdl = 1 
parameter:  BufferLength = 100 
..........Value Report......................................................
AcValue = "MonitorInstance_1"
XpValue = "MonitorInstance_1"
+++OK+++
============================================================================
FmcjProcessInstanceObtainMonitor 
parameter:  ProcessInstanceHdl = 1 
parameter:  Deep = FALSE 
parameter:  ProcessInstanceMonitorHdl = 1 
..........Status Report.....................................................
ProcessInstanceMonitorHdl = 0x113afe0 
..........RC Report.........................................................
AcRc = FMC_OK = 0 
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjProcessInstanceMonitorRefresh 
parameter:  ProcessInstanceMonitorHdl = 1 
parameter:  Deep = TRUE 
..........RC Report.........................................................
AcRc = FMC_OK = 0 
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjProcessInstanceMonitorActivityInstances 
parameter:  ProcessInstanceMonitorHdl = 1 
parameter:  ActivityInstanceVectorHdl = 1 
..........Status Report.....................................................
ActivityInstanceVectorHdl = 0x1134540 
..........Object Names Report...............................................
vector size = 4 
0) BlockActAPI04 
1) ProgActAPI01 
2) ProgActAPI02 
3) ProcActAPI03 
============================================================================
FmcjActivityInstanceVectorSize 
parameter:  ActivityInstanceVectorHdl = 1 
..........Value Report......................................................
AcSize = 4 
XpSize = 4 
+++OK+++
============================================================================
FmcjActivityInstanceVectorFirstNamedElement 
parameter:  ActivityInstanceVectorHdl = 1 
parameter:  Name = ProgActAPI01 
parameter:  ActivityInstanceHdl = 1 
..........Status Report.....................................................
ActivityInstanceHdl = 0x11397f0 
============================================================================
FmcjActivityInstanceName 
parameter:  ActivityInstanceHdl = 1 
parameter:  BufferLength = 33 
..........Value Report......................................................
AcValue = "ProgActAPI01"
XpValue = "ProgActAPI01"
+++OK+++
============================================================================
FmcjActivityInstanceFullName 
parameter:  ActivityInstanceHdl = 1 
parameter:  BufferLength = 255 
..........Value Report......................................................
AcValue = "ProgActAPI01"
XpValue = "ProgActAPI01"
+++OK+++
============================================================================
FmcjActivityInstanceKind 
parameter:  ActivityInstanceHdl = 1 
..........Value Report......................................................
AcValue = "Fmc_AT_Program"
XpValue = "Fmc_AT_Program"
+++OK+++
============================================================================
FmcjProcessInstanceMonitorObtainBlockInstanceMonitor 
parameter:  ProcessInstanceMonitorHdl = 1 
parameter:  ActivityInstanceHdl = 1 
parameter:  BlockInstanceMonitorHdl = 1 
..........Status Report.....................................................
BlockInstanceMonitorHdl = 0x0 
============================================================================
FmcjResultRc 
parameter:  ResultHdl = 1 
..........RC Report.........................................................
AcRc = FMC_ERROR_WRONG_KIND = 501 
XpRc = FMC_ERROR_WRONG_KIND
+++OK+++
============================================================================
FmcjResultMessageText 
parameter:  ResultHdl = 1 
parameter:  BufferLength = 1025 
..........Value Report......................................................
AcValue = "FMC00501E Object has wrong kind value 
" 
XpValue = "FMC00501E Object has wrong kind value 
" 
+++OK+++
============================================================================
FmcjBlockInstanceMonitorRefresh 
parameter:  BlockInstanceMonitorHdl = 1 
parameter:  Deep = TRUE 
..........RC Report.........................................................
AcRc = FMC_ERROR_INVALID_HANDLE = 130 
XpRc = FMC_ERROR_INVALID_HANDLE
+++OK+++
============================================================================
FmcjActivityInstanceDeallocate 
parameter:  ActivityInstanceHdl = 1 
..........RC Report.........................................................
AcRc = FMC_OK = 0 
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjActivityInstanceVectorFirstNamedElement 
parameter:  ActivityInstanceVectorHdl = 1 
parameter:  Name = ProgActAPI02 
parameter:  ActivityInstanceHdl = 2 
..........Status Report.....................................................
ActivityInstanceHdl = 0x1134640 
============================================================================
FmcjActivityInstanceName 
parameter:  ActivityInstanceHdl = 2 
parameter:  BufferLength = 33 
..........Value Report......................................................
AcValue = "ProgActAPI02"
XpValue = "ProgActAPI02"
+++OK+++
============================================================================
FmcjActivityInstanceFullName 
parameter:  ActivityInstanceHdl = 2 
parameter:  BufferLength = 255 
..........Value Report......................................................
AcValue = "ProgActAPI02"
XpValue = "ProgActAPI02"
+++OK+++
============================================================================
FmcjActivityInstanceKind 
parameter:  ActivityInstanceHdl = 2 
..........Value Report......................................................
AcValue = "Fmc_AT_Program"
XpValue = "Fmc_AT_Program"
+++OK+++
============================================================================
FmcjActivityInstanceDeallocate 
parameter:  ActivityInstanceHdl = 2 
..........RC Report.........................................................
AcRc = FMC_OK = 0 
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjActivityInstanceVectorFirstNamedElement 
parameter:  ActivityInstanceVectorHdl = 1 
parameter:  Name = ProcActAPI03 
parameter:  ActivityInstanceHdl = 3 
..........Status Report.....................................................
ActivityInstanceHdl = 0x1134680 
============================================================================
FmcjActivityInstanceName 
parameter:  ActivityInstanceHdl = 3 
parameter:  BufferLength = 33 
..........Value Report......................................................
AcValue = "ProcActAPI03"
XpValue = "ProcActAPI03"
+++OK+++
============================================================================
FmcjActivityInstanceFullName 
parameter:  ActivityInstanceHdl = 3 
parameter:  BufferLength = 255 
..........Value Report......................................................
AcValue = "ProcActAPI03"
XpValue = "ProcActAPI03"
+++OK+++
============================================================================
FmcjActivityInstanceKind 
parameter:  ActivityInstanceHdl = 3 
..........Value Report......................................................
AcValue = "Fmc_AT_Process"
XpValue = "Fmc_AT_Process"
+++OK+++
============================================================================
FmcjProcessInstanceMonitorObtainProcessInstanceMonitor 
parameter:  ProcessInstanceMonitorHdl = 1 
parameter:  ActivityInstanceHdl = 3 
parameter:  Deep = FALSE 
parameter:  ProcessInstanceMonitorHdl2 = 2 
..........Status Report.....................................................
ProcessInstanceMonitorHdl2 = 0x0 
============================================================================
FmcjResultRc 
parameter:  ResultHdl = 1 
..........RC Report.........................................................
AcRc = FMC_ERROR_DOES_NOT_EXIST = 118 
XpRc = FMC_ERROR_DOES_NOT_EXIST
+++OK+++
============================================================================
FmcjResultMessageText 
parameter:  ResultHdl = 1 
parameter:  BufferLength = 1025 
..........Value Report......................................................
AcValue = "FMC00118E Object does not exist 
" 
XpValue = "FMC00118E Object does not exist 
" 
+++OK+++
============================================================================
FmcjActivityInstanceDeallocate 
parameter:  ActivityInstanceHdl = 3 
..........RC Report.........................................................
AcRc = FMC_OK = 0 
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjActivityInstanceVectorFirstNamedElement 
parameter:  ActivityInstanceVectorHdl = 1 
parameter:  Name = BlockActAPI04 
parameter:  ActivityInstanceHdl = 4 
..........Status Report.....................................................
ActivityInstanceHdl = 0x1134560 
============================================================================
FmcjActivityInstanceName 
parameter:  ActivityInstanceHdl = 4 
parameter:  BufferLength = 33 
..........Value Report......................................................
AcValue = "BlockActAPI04"
XpValue = "BlockActAPI04"
+++OK+++
============================================================================
FmcjActivityInstanceFullName 
parameter:  ActivityInstanceHdl = 4 
parameter:  BufferLength = 255 
..........Value Report......................................................
AcValue = "BlockActAPI04"
XpValue = "BlockActAPI04"
+++OK+++
============================================================================
FmcjActivityInstanceKind 
parameter:  ActivityInstanceHdl = 4 
..........Value Report......................................................
AcValue = "Fmc_AT_Block"
XpValue = "Fmc_AT_Block"
+++OK+++
============================================================================
FmcjProcessInstanceMonitorObtainBlockInstanceMonitor 
parameter:  ProcessInstanceMonitorHdl = 1 
parameter:  ActivityInstanceHdl = 4 
parameter:  BlockInstanceMonitorHdl = 2 
..........Status Report.....................................................
BlockInstanceMonitorHdl = 0x11345a0 
============================================================================
FmcjResultRc 
parameter:  ResultHdl = 1 
..........RC Report.........................................................
AcRc = FMC_OK = 0 
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjBlockInstanceMonitorRefresh 
parameter:  BlockInstanceMonitorHdl = 2 
parameter:  Deep = TRUE 
..........RC Report.........................................................
AcRc = FMC_OK = 0 
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjBlockInstanceMonitorActivityInstances 
parameter:  BlockInstanceMonitorHdl = 2 
parameter:  ActivityInstanceVectorHdl = 2 
..........Status Report.....................................................
ActivityInstanceVectorHdl = 0x11345f0 
..........Object Names Report...............................................
vector size = 3 
0) ProgActOfBlock04 
1) BlockAct0401 
2) BlockAct0402 
============================================================================
FmcjActivityInstanceVectorSize 
parameter:  ActivityInstanceVectorHdl = 2 
..........Value Report......................................................
AcSize = 3 
XpSize = 3 
+++OK+++
============================================================================
FmcjActivityInstanceVectorFirstNamedElement 
parameter:  ActivityInstanceVectorHdl = 2 
parameter:  Name = BlockAct0401 
parameter:  ActivityInstanceHdl = 5 
..........Status Report.....................................................
ActivityInstanceHdl = 0x11398b0 
============================================================================
FmcjActivityInstanceName 
parameter:  ActivityInstanceHdl = 5 
parameter:  BufferLength = 33 
..........Value Report......................................................
AcValue = "BlockAct0401"
XpValue = "BlockAct0401"
+++OK+++
============================================================================
FmcjActivityInstanceFullName 
parameter:  ActivityInstanceHdl = 5 
parameter:  BufferLength = 255 
..........Value Report......................................................
AcValue = "BlockActAPI04.BlockAct0401"
XpValue = "BlockActAPI04.BlockAct0401"
+++OK+++
============================================================================
FmcjActivityInstanceKind 
parameter:  ActivityInstanceHdl = 5 
..........Value Report......................................................
AcValue = "Fmc_AT_Block"
XpValue = "Fmc_AT_Block"
+++OK+++
============================================================================
FmcjBlockInstanceMonitorObtainProcessInstanceMonitor 
parameter:  BlockInstanceMonitorHdl = 2 
parameter:  ActivityInstanceHdl = 5 
parameter:  Deep = FALSE 
parameter:  ProcessInstanceMonitorHdl = 2 
..........Status Report.....................................................
ProcessInstanceMonitorHdl = 0x0 
============================================================================
FmcjResultRc 
parameter:  ResultHdl = 1 
..........RC Report.........................................................
AcRc = FMC_ERROR_WRONG_KIND = 501 
XpRc = FMC_ERROR_WRONG_KIND
+++OK+++
============================================================================
FmcjResultMessageText 
parameter:  ResultHdl = 1 
parameter:  BufferLength = 1025 
..........Value Report......................................................
AcValue = "FMC00501E Object has wrong kind value 
" 
XpValue = "FMC00501E Object has wrong kind value 
" 
+++OK+++
============================================================================
FmcjBlockInstanceMonitorObtainBlockInstanceMonitor 
parameter:  BlockInstanceMonitorHdl = 2 
parameter:  ActivityInstanceHdl = 5 
parameter:  BlockInstanceMonitorHdl2 = 3 
..........Status Report.....................................................
BlockInstanceMonitorHdl2 = 0x1134610 
============================================================================
FmcjResultRc 
parameter:  ResultHdl = 1 
..........RC Report.........................................................
AcRc = FMC_OK = 0 
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjBlockInstanceMonitorControlConnectorInstances 
parameter:  BlockInstanceMonitorHdl = 3 
parameter:  ControlConnectorInstanceVectorHdl = 1 
..........Status Report.....................................................
ControlConnectorInstanceHdl = 0x0 
============================================================================
FmcjResultRc 
parameter:  ResultHdl = 1 
..........RC Report.........................................................
AcRc = FMC_OK = 0 
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjControlConnectorInstanceVectorSize 
parameter:  ControlConnectorInstanceVectorHdl = 1 
..........Value Report......................................................
AcSize = 0 
XpSize = 0 
+++OK+++
============================================================================
FmcjResultRc 
parameter:  ResultHdl = 1 
..........RC Report.........................................................
AcRc = FMC_ERROR_INVALID_HANDLE = 130 
XpRc = FMC_ERROR_INVALID_HANDLE
+++OK+++
============================================================================
FmcjBlockInstanceMonitorActivityInstances 
parameter:  BlockInstanceMonitorHdl = 3 
parameter:  ActivityInstanceVectorHdl = 3 
..........Status Report.....................................................
ActivityInstanceVectorHdl = 0x1139960 
..........Object Names Report...............................................
vector size = 1 
0) ProgActOfBlock0401 
============================================================================
FmcjActivityInstanceVectorSize 
parameter:  ActivityInstanceVectorHdl = 3 
..........Value Report......................................................
AcSize = 1 
XpSize = 1 
+++OK+++
============================================================================
FmcjActivityInstanceVectorFirstNamedElement 
parameter:  ActivityInstanceVectorHdl = 3 
parameter:  Name = ProgActOfBlock0401 
parameter:  ActivityInstanceHdl = 6 
..........Status Report.....................................................
ActivityInstanceHdl = 0x1134630 
============================================================================
FmcjActivityInstanceName 
parameter:  ActivityInstanceHdl = 6 
parameter:  BufferLength = 33 
..........Value Report......................................................
AcValue = "ProgActOfBlock0401"
XpValue = "ProgActOfBlock0401"
+++OK+++
============================================================================
FmcjActivityInstanceFullName 
parameter:  ActivityInstanceHdl = 6 
parameter:  BufferLength = 255 
..........Value Report......................................................
AcValue = "BlockActAPI04.BlockAct0401.ProgActOfBlock0401"
XpValue = "BlockActAPI04.BlockAct0401.ProgActOfBlock0401"
+++OK+++
============================================================================
FmcjActivityInstanceKind 
parameter:  ActivityInstanceHdl = 6 
..........Value Report......................................................
AcValue = "Fmc_AT_Program"
XpValue = "Fmc_AT_Program"
+++OK+++
============================================================================
FmcjActivityInstanceVectorDeallocate 
parameter:  ActivityInstanceVectorHdl = 1 
..........RC Report.........................................................
AcRc = FMC_OK = 0 
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjExecutionServiceLogoff 
parameter:  ExecutionServiceHdl = 1 
..........RC Report.........................................................
AcRc = FMC_OK = 0 
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjExecutionServiceDeallocate 
parameter:  ExecutionServiceHdl = 1 
..........RC Report.........................................................
AcRc = FMC_OK = 0 
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjGlobalDisconnect 
..........RC Report.........................................................
AcRc = FMC_OK = 0 
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjProcessTemplateVectorDeallocate( 1 ) ended with RC = 0 
FmcjProcessTemplateDeallocate( 1 ) ended with RC = 0 
FmcjProcessInstanceVectorDeallocate( 1 ) ended with RC = 0 
FmcjProcessInstanceDeallocate( 1 ) ended with RC = 0 
FmcjActivityInstanceVectorDeallocate( 2 ) ended with RC = 0 
FmcjActivityInstanceVectorDeallocate( 3 ) ended with RC = 0 
FmcjActivityInstanceDeallocate( 4 ) ended with RC = 0 
FmcjActivityInstanceDeallocate( 5 ) ended with RC = 0 
FmcjActivityInstanceDeallocate( 6 ) ended with RC = 0 
FmcjProcessInstanceMonitorDeallocate( 1 ) ended with RC = 0 

Cleanup done by Test Tool 
============================================================================
====== Test case ended normally ============================================