WebSphere MQ Workflow 3.4 Generic C API Test / Prototyping Tool

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

Activity Implementation - Example

Process

[Artwork not shown]

FDL

CODEPAGE 1252
FM_RELEASE V3R1

/*
 *  STRUCTUREs
 */
STRUCTURE 'PersonInfo'
  'FirstName': STRING;
  'LastName': STRING;
END 'PersonInfo'

/*
 *  PROGRAMs
 */
PROGRAM 'FMCTJCA1_example9' ( 'PersonInfo', 'PersonInfo' )
  DESCRIPTION 'FM V3 C API Test Tool'
  INPUT_CONTAINER_ACCESS
  OUTPUT_CONTAINER_ACCESS
  OS2 EXE PATH_AND_FILENAME 'fmctjca1.EXE'
    PARAMETER 'K:\fle\example9 K:\fle\example9'
    START FOREGROUND
  WINNT EXE PATH_AND_FILENAME 'fmctjca1.EXE'
    PARAMETER 'K:\fle\example9 K:\fle\example9'
  WIN95 EXE PATH_AND_FILENAME 'fmctjca1.EXE'
    PARAMETER 'K:\fle\example9 K:\fle\example9'
END 'FMCTJCA1_example9'

/*
 *  PROCESSes
 */
/*
 *  PROCESS ContainerProcessA
 */
PROCESS 'ContainerProcessA' ( 'PersonInfo', 'PersonInfo' )
  DESCRIPTION 'Container test:
  DO NOT SELECT_LEAST_WORKLOAD
Activity Implementation'
  STAFF NOTIFICATION ADMINISTRATION AUTONOMY
  NOTIFICATION AFTER 1 HOURS
  WINDOW ZOOM_FACTOR 100
  WINDOW VIEW_REFERENCE_POINT XPOS 0 YPOS 304
  WINDOW PAPERSIZE WIDTH 2970 HEIGHT 2100
  WINDOW SHOW ALL CONNECTORS
  WINDOW SHOW ALL CONDITIONS
  SOURCE 1 XPOS -536 YPOS 454
  SINK 1 XPOS -532 YPOS -180
  PROGRAM_ACTIVITY 'Prog_A_ContainerTest_PersonInfo' ( 'PersonInfo', 'PersonInfo' )
    DESCRIPTION 'Container test'
    INPUT_CONTAINER
      'FirstName' INITIAL_VALUE 'Ulrike'
      'LastName' INITIAL_VALUE 'Test'
    LAYOUT XPOS -540 YPOS 187
    PROGRAM 'FMCTJCA1_example9'
  END 'Prog_A_ContainerTest_PersonInfo'
  DATA
    FROM SOURCE 1 TO 'Prog_A_ContainerTest_PersonInfo'
    MAP '_STRUCT' TO '_STRUCT'
    MAP '_PROCESS_INFO' TO '_PROCESS_INFO'
    MAP '_ACTIVITY_INFO' TO '_ACTIVITY_INFO'
    LAYOUT
      XPOS -540 YPOS 334
  DATA
    FROM 'Prog_A_ContainerTest_PersonInfo' TO SINK 1
    MAP '_STRUCT' TO '_STRUCT'
    MAP '_PROCESS_INFO' TO '_PROCESS_INFO'
    MAP '_ACTIVITY_INFO' TO '_ACTIVITY_INFO'
END 'ContainerProcessA'
 

 
 

Run time application (testcase)

/* Example8 test case */

FmcjGlobalConnect
  XpRc                              FMC_OK
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

FmcjExecutionServicePEAStartUp
  ExecutionServiceHdl               1
  XpRc                              FMC_OK
End

TestTool_Sleep
  SleepTime_ms                      10000
  UserText                          "Sleep after PEA start"
  Beep                              TRUE
End

FmcjExecutionServiceQueryProcessTemplates
  ExecutionServiceHdl               1
  Filter                            "NAME='ContainerProcessA'"
  SortCriteria                      NULL
  Threshold                         200
  ProcessTemplateVectorHdl          2
  ShowAllObjectNames                TRUE
  XpRc                              FMC_OK
End

FmcjProcessTemplateVectorSize
  ProcessTemplateVectorHdl          2
  XpSize                            1
End

FmcjProcessTemplateVectorFirstElement
  ProcessTemplateVectorHdl          2
  ProcessTemplateHdl                1
End

FmcjProcessTemplateName
  ProcessTemplateHdl                1
  BufferLength                      100
  XpValue                           "ContainerProcessA"
End

FmcjProcessTemplateInitialInContainer
  ProcessTemplateHdl                1
  ReadWriteContainerHdl             1
  XpRc                              FMC_OK
End

FmcjProcessTemplateCreateAndStartInstance
  ProcessTemplateHdl                1
  InstanceName                      "TestInstance_1C"
  SystemGroup                       "SYS_GRP"
  System                            "FMCSYS"
  ReadWriteContainerHdl             1
  KeepName                          FALSE
  ProcessInstanceHdl                1
  XpRc                              FMC_OK
End

FmcjExecutionServiceQueryWorkitems
  ExecutionServiceHdl               1
  SortCriteria                      NULL
  Filter                            NULL
  Threshold                         500
  WorkitemVectorHdl                 1
  ShowAllObjectNames                TRUE
  XpRc                              FMC_OK
End

FmcjWorkitemVectorSize
  WorkitemVectorHdl                 1
  XpValue                           1
End

FmcjWorkitemVectorFirstElement
  WorkitemVectorHdl                 1
  WorkitemHdl                       1
End

FmcjWorkitemName
  WorkitemHdl                       1
  BufferLength                      120
  XpValue                           "Prog_A_ContainerTest_PersonInfo"
End

FmcjWorkitemState
  WorkitemHdl                       1
  XpValue                           Fmc_IS_Ready
End

FmcjWorkitemStart
  WorkitemHdl                       1
  XpRc                              FMC_OK
End

TestTool_Sleep
  SleepTime_ms                      60000
  UserText                          "Sleep after Workitem start"
  Beep                              TRUE
End

FmcjExecutionServicePEAShutDown
  ExecutionServiceHdl               1
  XpRc                              FMC_OK
End

FmcjExecutionServiceLogoff
  ExecutionServiceHdl               1
  XpRc                              FMC_OK
End

FmcjGlobalDisconnect
  XpRc                              FMC_OK
End
 

 
 

Run time result

C API Test Tool for MQ Workflow v31_344 Windows 95/NT: FMCTJCA1
Test case: EXAMPLE8
Mon Jun 22 14:53:32 1998
============================================================================
+++>
============================================================================
FmcjGlobalConnect
..........RC Report.........................................................
AcRc = FMC_OK = 0
XpRc = FMC_OK
+++OK+++
============================================================================
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+++
============================================================================
FmcjExecutionServicePEAStartUp
parameter:  ExecutionServiceHdl = 1
..........RC Report.........................................................
AcRc = FMC_OK = 0
XpRc = FMC_OK
+++OK+++
============================================================================
TestTool_Sleep
parameter: SleepTime_ms = 10000
parameter: UserText = Sleep after PEA start
============================================================================
FmcjExecutionServiceQueryProcessTemplates
parameter:  ExecutionServiceHdl = 1
parameter:  Filter = NAME='ContainerProcessA'
parameter:  SortCriteria = NULL
parameter:  Threshold = 200
parameter:  ProcessTemplateVectorHdl = 2
..........Object Names Report...............................................
vector size = 1
0) ContainerProcessA
..........RC Report.........................................................
AcRc = FMC_OK = 0
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjProcessTemplateVectorSize
parameter:  ProcessTemplateVectorHdl = 2
..........Value Report......................................................
AcSize = 1
XpSize = 1
+++OK+++
============================================================================
FmcjProcessTemplateVectorFirstElement
parameter:  ProcessTemplateVectorHdl = 2
parameter:  ProcessTemplateHdl = 1
..........Status Report.....................................................
ProcessTemplateHdl = 0xd53760
============================================================================
FmcjProcessTemplateName
parameter:  ProcessTemplateHdl = 1
parameter:  BufferLength = 100
..........Value Report......................................................
AcValue = "ContainerProcessA"
XpValue = "ContainerProcessA"
+++OK+++
============================================================================
FmcjProcessTemplateInitialInContainer
parameter:  ProcessTemplateHdl = 1
parameter:  ReadWriteContainerHdl = 1
..........Status Report.....................................................
ReadWriteContainerHdl = 0xd59140
..........RC Report.........................................................
AcRc = FMC_OK = 0
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjProcessTemplateCreateAndStartInstance
parameter:  ProcessTemplateHdl = 1
parameter:  InstanceName = TestInstance_1C
parameter:  SystemGroup = SYS_GRP
parameter:  System = FMCSYS
parameter:  ReadWriteContainerHdl = 1
parameter:  KeepName = FALSE
parameter:  ProcessInstanceHdl = 1
..........Status Report.....................................................
ProcessInstanceHdl = 0xd582b0
..........RC Report.........................................................
AcRc = FMC_OK = 0
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjExecutionServiceQueryWorkitems
parameter:  ExecutionServiceHdl = 1
parameter:  Filter = NULL
parameter:  SortCriteria = NULL
parameter:  Threshold = 500
parameter:  WorkitemVectorHdl = 1
..........Object Names Report...............................................
vector size = 1
0) Prog_A_ContainerTest_PersonInfo
..........RC Report.........................................................
AcRc = FMC_OK = 0
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjWorkitemVectorSize
parameter:  WorkitemVectorHdl = 1
..........Value Report......................................................
AcSize = 1
XpSize = 1
+++OK+++
============================================================================
FmcjWorkitemVectorFirstElement
parameter:  WorkitemVectorHdl = 1
parameter:  WorkitemHdl = 1
..........Status Report.....................................................
WorkitemHdl = 0xd58810
============================================================================
FmcjWorkitemName
parameter:  WorkitemHdl = 1
parameter:  BufferLength = 120
..........Value Report......................................................
AcValue = "Prog_A_ContainerTest_PersonInfo"
XpValue = "Prog_A_ContainerTest_PersonInfo"
+++OK+++
============================================================================
FmcjWorkitemState
parameter:  WorkitemHdl = 1
..........Value Report......................................................
AcValue = "Fmc_IS_Ready"
XpValue = "Fmc_IS_Ready"
+++OK+++
============================================================================
FmcjWorkitemStart
parameter:  WorkitemHdl = 1
..........RC Report.........................................................
AcRc = FMC_OK = 0
XpRc = FMC_OK
+++OK+++
============================================================================
TestTool_Sleep
parameter: SleepTime_ms = 60000
parameter: UserText = Sleep after Workitem start
============================================================================
FmcjExecutionServicePEAShutDown
parameter:  ExecutionServiceHdl = 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+++
============================================================================
FmcjGlobalDisconnect
..........RC Report.........................................................
AcRc = FMC_OK = 0
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjProcessTemplateVectorDeallocate( 2 ) ended with RC = 0
FmcjProcessTemplateDeallocate( 1 ) ended with RC = 0
FmcjProcessInstanceDeallocate( 1 ) ended with RC = 0
FmcjWorkitemVectorDeallocate( 1 ) ended with RC = 0
FmcjReadWriteContainerDeallocate( 1 ) ended with RC = 0
FmcjWorkitemDeallocate( 1 ) ended with RC = 0
FmcjExecutionServiceDeallocate( 1 ) ended with RC = 0

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

 
 

Activity application (test case)

/* Example9 test case (activity implementation) */

FmcjGlobalConnect
  XpRc                              FMC_OK
End

FmcjContainerInContainer
  ReadOnlyContainerHdl              1
  XpRc                              FMC_OK
End

FmcjContainerType
  ReadOnlyContainerHdl              1
  BufferLength                      500
  XpValue                           "PersonInfo"
End

FmcjContainerLeafCount
  ReadOnlyContainerHdl              1
  XpValue                           2
End

FmcjContainerStringLength
  ReadOnlyContainerHdl              1
  QualifiedName                     "FirstName"
  XpValue                           6
End

FmcjContainerStringValue
  ReadOnlyContainerHdl              1
  QualifiedName                     "FirstName"
  BufferLength                      500
  XpValue                           "Ulrike"
  XpRc                              FMC_OK
End

FmcjContainerOutContainer
  ReadWriteContainerHdl             1
  XpRc                              FMC_OK
End

FmcjContainerStringLength
  ReadWriteContainerHdl             1
  QualifiedName                     "FirstName"
  XpValue                           0
End

FmcjContainerStringValue
  ReadWriteContainerHdl             1
  QualifiedName                     "FirstName"
  BufferLength                      300
  XpValue                           ""
  XpRc                              FMC_ERROR_MEMBER_NOT_SET
End

FmcjReadWriteContainerSetStringValue
  ReadWriteContainerHdl             1
  QualifiedName                     "FirstName"
  StringValue                       "Hugo"
  XpRc                              FMC_OK
End

FmcjReadWriteContainerSetStringValue
  ReadWriteContainerHdl             1
  QualifiedName                     "LastName"
  StringValue                       "Tester"
  XpRc                              FMC_OK
End

FmcjContainerStringValue
  ReadWriteContainerHdl             1
  QualifiedName                     "FirstName"
  BufferLength                      300
  XpValue                           "Hugo"
  XpRc                              FMC_OK
End

FmcjContainerSetOutContainer
  ReadWriteContainerHdl             1
  XpRc                              FMC_OK
End

FmcjReadWriteContainerDeallocate
  ReadWriteContainerHdl             1
  XpRc                              FMC_OK
End

FmcjReadOnlyContainerDeallocate
  ReadOnlyContainerHdl              1
  XpRc                              FMC_OK
End

FmcjGlobalDisconnect
  XpRc                              FMC_OK
End
 

 
 

Activity result

C API Test Tool for MQ Workflow v31_344 Windows 95/NT: F:\FMCWINNT\BIN\FMCTJCA1.EXE
Test case: K:\FLE\EXAMPLE9
Mon Jun 22 14:54:33 1998
============================================================================
+++>
============================================================================
FmcjGlobalConnect
..........RC Report.........................................................
AcRc = FMC_OK = 0
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjContainerInContainer
parameter:  ReadOnlyContainerHdl = 1
..........RC Report.........................................................
AcRc = FMC_OK = 0
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjContainerType
parameter:  ReadOnlyContainerHdl = 1
parameter:  BufferLength = 500
..........Value Report......................................................
AcValue = "PersonInfo"
XpValue = "PersonInfo"
+++OK+++
============================================================================
FmcjContainerLeafCount
parameter:  ReadOnlyContainerHdl = 1
..........Value Report......................................................
AcValue = 2
XpValue = 2
+++OK+++
============================================================================
FmcjContainerStringLength
parameter:  ReadOnlyContainerHdl = 1
parameter:  QualifiedName = FirstName
..........Value Report......................................................
AcValue = 6
XpValue = 6
+++OK+++
============================================================================
FmcjContainerStringValue
parameter:  ReadOnlyContainerHdl = 1
parameter:  QualifiedName = FirstName
parameter:  BufferLength = 500
..........RC Report.........................................................
AcRc = FMC_OK = 0
XpRc = FMC_OK
+++OK+++
..........Value Report......................................................
AcValue = "Ulrike"
XpValue = "Ulrike"
+++OK+++
============================================================================
FmcjContainerOutContainer
parameter:  ReadWriteContainerHdl = 1
..........RC Report.........................................................
AcRc = FMC_OK = 0
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjContainerStringLength
parameter:  ReadWriteContainerHdl = 1
parameter:  QualifiedName = FirstName
..........Value Report......................................................
AcValue = 0
XpValue = 0
+++OK+++
============================================================================
FmcjContainerStringValue
parameter:  ReadWriteContainerHdl = 1
parameter:  QualifiedName = FirstName
parameter:  BufferLength = 300
..........RC Report.........................................................
AcRc = FMC_ERROR_MEMBER_NOT_SET = 113
XpRc = FMC_ERROR_MEMBER_NOT_SET
+++OK+++
..........Value Report......................................................
AcValue = ""
XpValue = ""
+++OK+++
============================================================================
FmcjReadWriteContainerSetStringValue
parameter:  ReadWriteContainerHdl = 1
parameter:  QualifiedName = FirstName
parameter:  StringValue = Hugo
..........RC Report.........................................................
AcRc = FMC_OK = 0
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjReadWriteContainerSetStringValue
parameter:  ReadWriteContainerHdl = 1
parameter:  QualifiedName = LastName
parameter:  StringValue = Tester
..........RC Report.........................................................
AcRc = FMC_OK = 0
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjContainerStringValue
parameter:  ReadWriteContainerHdl = 1
parameter:  QualifiedName = FirstName
parameter:  BufferLength = 300
..........RC Report.........................................................
AcRc = FMC_OK = 0
XpRc = FMC_OK
+++OK+++
..........Value Report......................................................
AcValue = "Hugo"
XpValue = "Hugo"
+++OK+++
============================================================================
FmcjContainerSetOutContainer
parameter:  ReadWriteContainerHdl = 1
..........RC Report.........................................................
AcRc = FMC_OK = 0
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjReadWriteContainerDeallocate
parameter:  ReadWriteContainerHdl = 1
..........RC Report.........................................................
AcRc = FMC_OK = 0
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjReadOnlyContainerDeallocate
parameter:  ReadOnlyContainerHdl = 1
..........RC Report.........................................................
AcRc = FMC_OK = 0
XpRc = FMC_OK
+++OK+++
============================================================================
FmcjGlobalDisconnect
..........RC Report.........................................................
AcRc = FMC_OK = 0
XpRc = FMC_OK
+++OK+++
============================================================================
====== Test case ended normally ============================================