WebSphere MQ Workflow 3.4.0 Java Generic API Test / Prototyping Tool

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

WorkItemArray - Example

* FDL (with initial container values)

* Testcase (runtime application)

* Result (runtime application)

* Testcase (activity implementation)

* Result (activity implementation)


FDL (with initial container values)

/*
 *
 *  FDL definitions generated by MQSeries Workflow at 2000-02-08, 09:38:32.
 *
 */
CODEPAGE 1252
FM_RELEASE V3R2 1

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

STRUCTURE 'DsLevel4'
  'DsL4M1StringArray': STRING(3);
  'DsL4M2Long': LONG;
  'DsL4M3Float': FLOAT;
  'DsL4M3Binary': BINARY;
END 'DsLevel4'

STRUCTURE 'DsLevel3'
  'DsL3M1String': STRING;
  'DsL3M2Long': LONG;
  'DsL3M3Float': FLOAT;
  'DsL3M3Binary': BINARY;
  'DsL3M4StringArray': STRING(4);
  'DsL3M5LongArray': LONG(5);
  'DsL3M6FloatArray': FLOAT(6);
  'DsL3M6BinaryArray': BINARY(2);
  'DsL3M7AnotherDsL4': 'DsLevel4'(2);
END 'DsLevel3'

STRUCTURE 'DsLevel2'
  'DsL2M1AnotherDsL3': 'DsLevel3';
END 'DsLevel2'

STRUCTURE 'DsLevel1'
  DESCRIPTION "Data structure to check
the C++ container API
ods."
  'DsL1M1String': STRING;
  'DsL1M2Long': LONG;
  'DsL1M3Float': FLOAT;
  'DsL1M3Binary': BINARY;
  'DsL1M4AnotherDsL2': 'DsLevel2';
END 'DsLevel1'

/*
 *  PROCESS_CATEGORYs
 */
PROCESS_CATEGORY 'Category1'
END 'Category1'

PROCESS_CATEGORY 'Category2'
END 'Category2'

/*
 *  PROGRAMs
 */
PROGRAM 'DemoProgramName1' ( 'DsLevel1', 'DsLevel1' )
  DESCRIPTION "DemoProgramDataDescription1"
  DOCUMENTATION "Demo Program Documentation 1"
  NO STRUCTURES_FROM_ACTIVITY
  NOT UNATTENDED
  WINNT EXE PATH_AND_FILENAME "java.exe"
    PARAMETER "com.ibm.workflow.api.tool.JGATT -iexample17act.dat -oexample17act.log"
    INHERIT ENVIRONMENT
    STYLE VISIBLE
    START FOREGROUND
  WIN95 EXE PATH_AND_FILENAME ".\java.exe"
    PARAMETER "com.ibm.workflow.api.tool.JGATT -i.\example17act.dat -o.\example17act.log"
    INHERIT ENVIRONMENT
    STYLE VISIBLE
    START FOREGROUND
  OS2 EXE PATH_AND_FILENAME ".\java.exe"
    PARAMETER "com.ibm.workflow.api.tool.JGATT -i.\example17act.dat -o.\example17act.log"
    INHERIT ENVIRONMENT
    STYLE VISIBLE
    START FOREGROUND
  AIX EXE PATH_AND_FILENAME "./java"
    PARAMETER "com.ibm.workflow.api.tool.JGATT -i./example17act.dat -o./example17act.log"
    RUN_IN_XTERM
  HPUX EXE PATH_AND_FILENAME "./java"
    PARAMETER "com.ibm.workflow.api.tool.JGATT -i./example17act.dat -o./example17act.log"
    RUN_IN_XTERM
  SOLARIS EXE PATH_AND_FILENAME "./java"
    PARAMETER "com.ibm.workflow.api.tool.JGATT -i./example17act.dat -o./example17act.log"
    RUN_IN_XTERM
END 'DemoProgramName1'

/*
 *  PERSONs
 */
UPDATE PERSON 'ADMIN'
  DESCRIPTION "PersonDescription1"
  PERSON_ID "AdminID"
  LAST_NAME "LastNameUserAdmin"
  FIRST_NAME "FirstNameUserAdmin"
  MIDDLE_NAME "MiddleNameUserAdmin"
  PHONE "PhoneAdmin_0001"
  SECOND_PHONE "2ndPhoneAdmin_0001"
  AUTHORIZED_FOR STAFF
  AUTHORIZED_FOR AUTHORIZATION
  AUTHORIZED_FOR OPERATION
  AUTHORIZED_FOR TOPOLOGY
  AUTHORIZED_FOR PROCESS_MODELING
  AUTHORIZED_FOR PROCESS_CATEGORY 'Category1' 'Category2'
  AUTHORIZED_FOR WORKITEMS_OF ALL
  RELATED_ROLE 'System administrator'
  PASSWORD %%00F005FFFEF7F50A
  IS_NOT_ABSENT
  DO NOT RESET_ABSENT
END 'ADMIN'

PERSON 'USER2'
  DESCRIPTION "PersonDescription2"
  PERSON_ID "User2ID"
  LAST_NAME "LastNameUserUser2"
  FIRST_NAME "FirstNameUser2"
  MIDDLE_NAME "MiddleNameUser2"
  PHONE "PhoneUser2_0002"
  SECOND_PHONE "2ndPhoneUser2_0002"
  AUTHORIZED_FOR STAFF
  AUTHORIZED_FOR AUTHORIZATION
  AUTHORIZED_FOR PROCESS_MODELING
  AUTHORIZED_FOR PROCESS_CATEGORY 'Category1'
  AUTHORIZED_FOR WORKITEMS_OF 'ADMIN'
  SUBSTITUTE 'ADMIN'
  PASSWORD %%14FFFD08E20B0402
  IS_NOT_ABSENT
  RESET_ABSENT
END 'USER2'

/*
 *  ROLEs
 */
ROLE 'DemoRole1'
  DESCRIPTION "DemoRoleDescription1"
  COORDINATOR 'ADMIN'
  RELATED_PERSON 'ADMIN'
END 'DemoRole1'

ROLE 'DemoRole2'
  DESCRIPTION "DemoRoleDescription2"
  RELATED_PERSON 'ADMIN' 'USER2'
END 'DemoRole2'

/*
 *  ORGANIZATIONs
 */
ORGANIZATION 'DemoOrganization1'
  DESCRIPTION "DemoOrganizationDescription1"
  MANAGER 'ADMIN'
  RELATED_PERSON 'USER2'
END 'DemoOrganization1'

/*
 *  PROCESSes
 */
/*
 *  PROCESS DemoProcessTemplate1
 */
PROCESS 'DemoProcessTemplate1' ( 'DsLevel1', 'DsLevel1' )
  DESCRIPTION "DemoProcessTemplateDescription1"
  DOCUMENTATION "DemoProcessTemplateDocumentation1"
  INPUT_CONTAINER
    'DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M1String' INITIAL_VALUE 'StringValue1'
    'DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M7AnotherDsL4(1).DsL4M1StringArray(0)' INITIAL_VALUE 'StringValue3'
    'DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M7AnotherDsL4(1).DsL4M1StringArray(1)' INITIAL_VALUE 'StringValue2'
  CATEGORY 'Category1'
  DO NOT PROMPT_AT_PROCESS_START
  STAFF NOTIFICATION ADMINISTRATION AUTONOMY
  NOTIFICATION AFTER 3600 SECONDS
  WINDOW ZOOM_FACTOR 100
  WINDOW VIEW_REFERENCE_POINT XPOS 0 YPOS 0
  WINDOW PAPERSIZE WIDTH 2970 HEIGHT 2100
  WINDOW SHOW ALL CONNECTORS
  WINDOW SHOW ALL CONDITIONS
  SOURCE 1 XPOS -536 YPOS 453
  SINK 1 XPOS -533 YPOS -179
  PROGRAM_ACTIVITY 'DemoProgramActivity1' ( 'DsLevel1', 'DsLevel1' )
    DESCRIPTION "DemoProgramActivityDescription1"
    DOCUMENTATION "DemoProgramActivityDocumentation1"
    INPUT_CONTAINER
      'DsL1M1String' INITIAL_VALUE 'Demo string 1: ABC'
      'DsL1M2Long' INITIAL_VALUE '999'
      'DsL1M3Float' INITIAL_VALUE '1.33399'
      'DsL1M3Binary' INITIAL_VALUE 'AA99AA99AA99AA99AA99AA'
      'DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M4StringArray(0)' INITIAL_VALUE 'String A1'
      'DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M4StringArray(1)' INITIAL_VALUE 'String B1'
      'DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M5LongArray(0)' INITIAL_VALUE '111'
      'DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M5LongArray(1)' INITIAL_VALUE '222'
      'DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M6BinaryArray(0)' INITIAL_VALUE '00112233445566778899AABBCCDDEEFF'
      'DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M6BinaryArray(1)' INITIAL_VALUE 'FFEEDDCCBBAA99887766554433221100'
      'DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M7AnotherDsL4(0).DsL4M2Long' INITIAL_VALUE '100'
      'DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M7AnotherDsL4(0).DsL4M3Float' INITIAL_VALUE '0.999'
      'DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M7AnotherDsL4(0).DsL4M3Binary' INITIAL_VALUE 'AA99AA99AA99AA99AA99AA'
    START MANUAL WHEN AT_LEAST_ONE CONNECTOR TRUE
    EXIT MANUAL
    LAYOUT XPOS -500 YPOS 200
    NAME_POSITION XPOS -500 YPOS 125
    PRIORITY DEFINED_IN INPUT_CONTAINER
    DONE_BY PERSON 'ADMIN'
    PROGRAM 'DemoProgramName1'
    SYNCHRONIZATION NESTED
  END 'DemoProgramActivity1'
  DATA NAME "OutputDataConnector1"
    DESCRIPTION "OutputDataConnectorDescription1"
    FROM 'DemoProgramActivity1' TO SINK 1
    MAP '_STRUCT' TO '_STRUCT'
  DATA NAME "InputDataConnector1"
    DESCRIPTION "InputDataConnectorDescription1"
    FROM SOURCE 1 TO 'DemoProgramActivity1'
    MAP '_STRUCT' TO '_STRUCT'
    MAP '_PROCESS_INFO' TO '_PROCESS_INFO'
    MAP '_ACTIVITY_INFO' TO '_ACTIVITY_INFO'
    LAYOUT
      XPOS -539 YPOS 334
END 'DemoProcessTemplate1'

Testcase (runtime application)

/* ----------------------------------------------------------------------
jexample17.dat
  (see also activity implementation of example 17: jexample17act.dat)
Scenario:
  jexample17.fdl
Invocation:
  java com.ibm.workflow.api.tool.JGATT -ijexample17.dat -ojexample17.log -d
---------------------------------------------------------------------- */

Agent.Agent
  agentHdl                          1
End

Agent.setLocator
  agentHdl                          1
  locator                           LOC_LOCATOR
End

Agent.setName
  agentHdl                          1
  name                              ""
End

Agent.locate
  agentHdl                          1
  systemGroup                       "FMCGRP"
  system                            "FMCSYS"
  executionServiceHdl               1
  xpFmcException                    FMC_OK
End

Agent.isBound
  agentHdl                          1
  xpValue                           true
End

ExecutionService.logon2
  executionServiceHdl               1
  userID                            "ADMIN"
  password                          "password"
  sessionMode                       PRESENT_HERE
  absenceIndicator                  NOT_SET
  xpFmcException                    FMC_OK
End

ExecutionService.programExecutionAgentStartUp
  executionServiceHdl               1
  xpFmcException                    FMC_OK
End

ExecutionService.queryProcessTemplates
  executionServiceHdl               1
  filter                            "NAME = 'DemoProcessTemplate1'"
  sortCriteria                      null
  threshold                         100
  processTemplateArrayHdl           1
  showAllObjectNames                true
  xpFmcException                    FMC_OK
End

ProcessTemplateArray.size
  processTemplateArrayHdl           1
  xpValue                           1
End

ProcessTemplateArray.getFirstElement
  processTemplateArrayHdl           1
  processTemplateHdl                1
End

ProcessTemplate.name
  processTemplateHdl                1
  xpValue                           "DemoProcessTemplate1"
End

ProcessTemplate.refresh
  processTemplateHdl                1
  xpFmcException                    FMC_OK
End

ProcessTemplate.inContainerName
  processTemplateHdl                1
  xpValue                           "DsLevel1"
End

ProcessTemplate.inContainerNeeded
  processTemplateHdl                1
  xpValue                           true
End

ProcessTemplate.initialInContainer
  processTemplateHdl                1
  readWriteContainerHdl             1
  xpFmcException                    FMC_OK
End

ReadWriteContainer.getString
  readWriteContainerHdl             1
  qualifiedName                     "DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M7AnotherDsL4(1).DsL4M1StringArray(0)"
  xpValue                           "StringValue3"
  xpFmcException                    FMC_OK
End

ReadWriteContainer.getString
  readWriteContainerHdl             1
  qualifiedName                     "DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M7AnotherDsL4(1).DsL4M1StringArray(1)"
  xpValue                           "StringValue2"
  xpFmcException                    FMC_OK
End

/* Alternative API for the same DS member (see differences in qualifiedName) */
ReadWriteContainer.getString2
  readWriteContainerHdl             1
  qualifiedName                     "DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M7AnotherDsL4(1).DsL4M1StringArray"
  arrayIndex                        1
  xpValue                           "StringValue2"
  xpFmcException                    FMC_OK
End

/* a initital container value of one DS member will be overwritten by the following API */
ReadWriteContainer.setString
  readWriteContainerHdl             1
  qualifiedName                     "DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M7AnotherDsL4(1).DsL4M1StringArray(1)"
  stringValue                       "StringValueNEW"
  xpFmcException                    FMC_OK
End

ProcessTemplate.createAndStartInstance2
  processTemplateHdl                1
  instanceName                      "A_new_Instance"
  systemGroup                       ""
  system                            ""
  ReadWriteContainerHdl             1
  keepName                          false
  processInstanceHdl                1
  xpFmcException                    FMC_OK
End

ExecutionService.queryProcessInstances
  executionServiceHdl               1
  filter                            "NAME LIKE '*'"
  filter                            "STATE IN (RUNNING) AND NAME LIKE '*'"
  sortCriteria                      "NAME ASC"
  threshold                         100
  processInstanceVectorHdl          1
  showAllObjectNames                true
  xpFmcException                    FMC_OK
End

ExecutionService.queryWorkItems
  executionServiceHdl               1
  filter                            "STATE IN READY AND NAME LIKE '*' AND OWNER = 'ADMIN'"
  sortCriteria                      null
  threshold                         50
  workItemArrayHdl                  1
  showAllObjectNames                true
  xpFmcException                    FMC_OK
End

WorkItemArray.size                           /* tool macro */
  workItemArrayHdl                  1
End

WorkItemArray.getFirstElement                /* tool macro */
  workItemArrayHdl                  1
  workItemHdl                       1
End

WorkItem.name
  workItemHdl                       1
  xpValue                           "DemoProgramActivity1"
End

WorkItem.state
  workItemHdl                       1
  xpValue                           READY
End

WorkItem.inContainer
  workItemHdl                       1
  readOnlyContainerHdl              2
  xpFmcException                    FMC_OK
End

ReadOnlyContainer.getString
  readOnlyContainerHdl              2
  qualifiedName                     "DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M7AnotherDsL4(1).DsL4M1StringArray(0)"
  xpValue                           "StringValue3"    /* original initial value */
  xpFmcException                    FMC_OK
End

ReadOnlyContainer.getString
  readOnlyContainerHdl              2
  qualifiedName                     "DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M7AnotherDsL4(1).DsL4M1StringArray(1)"
  xpValue                           "StringValueNEW"  /* overwritten initial value */
  xpFmcException                    FMC_OK
End

WorkItem.start
  workItemHdl                       1
  xpFmcException                    FMC_OK
End

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

TestTool_CommentToOutput
  Comment
"An activity implementation
""java com.ibm.workflow.api.tool.JGATT -ijexample17act.dat -ojexample17act.log""
will be started"
  ToStandardError                   true
End

Tool.sleep
  sleepTime_ms                      40000
  userText                          "Sleep while activity implementation is starting"
  beep                              false
End

/* ----End of activity implementation----------- */

WorkItem.refresh
  workItemHdl                       1
  xpFmcException                    FMC_OK
End

WorkItem.state
  workItemHdl                       1
  xpValue                           EXECUTED
End

WorkItem.outContainer
  workItemHdl                       1
  readWriteContainerHdl             2
  xpFmcException                    FMC_OK
End

ReadWriteContainer.getLong
  readWriteContainerHdl             2
  qualifiedName                     "_RC"
  xpValue                           333
  xpFmcException                    FMC_OK
End

ReadWriteContainer.getString
  readWriteContainerHdl             2
  qualifiedName                     "DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M7AnotherDsL4(1).DsL4M1StringArray(0)"
  xpValue                           ""   /* not set in the activity implementation */
  xpFmcException                    FMC_ERROR_MEMBER_NOT_SET
End

ReadWriteContainer.getString
  readWriteContainerHdl             2
  qualifiedName                     "DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M7AnotherDsL4(1).DsL4M1StringArray(1)"
  xpValue                           "StringValueNEW in Activity Impementation modified"
  xpFmcException                    FMC_OK
End

ReadWriteContainer.getBuffer
  readWriteContainerHdl             2
  qualifiedName                     "DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M6BinaryArray(0)"
  xpValue                           "4D512053657269657320576F726B666C6F772076657273696F6E20332E322E31"
  xpFmcException                    FMC_OK
End

ReadWriteContainer.getBuffer2
  readWriteContainerHdl             2
  qualifiedName                     "DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M6BinaryArray"
  arrayIndex                        0
  xpValue                           "4D512053657269657320576F726B666C6F772076657273696F6E20332E322E31"
  xpFmcException                    FMC_OK
End

ReadWriteContainer.getDouble
  readWriteContainerHdl             2
  qualifiedName                     "DsL1M3Float"
  xpValue                           99.123
  xpFmcException                    FMC_OK
End

WorkItem.manualExitMode
  workItemHdl                       1
  xpValue                           true
End

WorkItem.finish
  workItemHdl                       1
  xpFmcException                    FMC_OK
End

WorkItem.state
  workItemHdl                       1
  xpValue                           DELETED
End

ExecutionService.programExecutionAgentShutDown
  executionServiceHdl               1
  xpFmcException                    FMC_OK
End

ExecutionService.logoff
  executionServiceHdl               1
  xpFmcException                    FMC_OK
End

Result (runtime application)

MQSeries Workflow 3.2.2 Java Generic API Test Tool (JGATT),
Driver v321, Hotfix 3
Test case: jexample17.dat
2000-02-08 09:44:07.69 ECT
============================================================================
Operating system:              Windows NT
Operating system version:      4.0
Operating system architecture: x86
Java version:                  1.1.7
User account name:             kurtfle
============================================================================
Command Line Arguments:
-i=jexample17.dat (TestCase)
-o=jexample17.log (Result)
-d
============================================================================
+++>
============================================================================
===>
Parsing the input file ...
===> 570 msec
============================================================================
Agent.Agent
parameter: agentHdl                                = 1
============================================================================
Agent.setLocator
parameter: agentHdl                                = 1
parameter: locator                                 = LOC_LOCATOR = 4
============================================================================
Agent.setName
parameter: agentHdl                                = 1
parameter: name                                    = ""
============================================================================
Agent.locate
parameter: agentHdl                                = 1
parameter: systemGroup                             = "FMCGRP"
parameter: system                                  = "FMCSYS"
parameter: executionServiceHdl                     = 1
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
Agent.isBound
parameter: agentHdl                                = 1
..........ValueReport.......................................................
AcValue = true
XpValue = true
+++OK+++
============================================================================
ExecutionService.logon2
parameter: executionServiceHdl                     = 1
parameter: userID                                  = "ADMIN"
parameter: password                                = "password"
parameter: sessionMode                             = PRESENT_HERE
parameter: absenceIndicator                        = NOT_SET
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
ExecutionService.programExecutionAgentStartUp
parameter: executionServiceHdl                     = 1
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
ExecutionService.queryProcessTemplates
parameter: executionServiceHdl                     = 1
parameter: filter                                  = "NAME = 'DemoProcessTemplate1'"
parameter: sortCriteria                            = null
parameter: threshold                               = 100
parameter: processTemplateArrayHdl                 = 1
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
..........Object Names Report...............................................
array size = 1
0) DemoProcessTemplate1
============================================================================
ProcessTemplateArray.size
parameter: processTemplateArrayHdl                 = 1
..........ValueReport.......................................................
AcValue = 1
XpValue = 1
+++OK+++
============================================================================
ProcessTemplateArray.getFirstElement
parameter: processTemplateArrayHdl                 = 1
parameter: processTemplateHdl                      = 1
============================================================================
ProcessTemplate.name
parameter: processTemplateHdl                      = 1
..........ValueReport.......................................................
AcValue = "DemoProcessTemplate1"
XpValue = "DemoProcessTemplate1"
+++OK+++
============================================================================
ProcessTemplate.refresh
parameter: processTemplateHdl                      = 1
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
ProcessTemplate.inContainerName
parameter: processTemplateHdl                      = 1
..........ValueReport.......................................................
AcValue = "DsLevel1"
XpValue = "DsLevel1"
+++OK+++
============================================================================
ProcessTemplate.inContainerNeeded
parameter: processTemplateHdl                      = 1
..........ValueReport.......................................................
AcValue = true
XpValue = true
+++OK+++
============================================================================
ProcessTemplate.initialInContainer
parameter: processTemplateHdl                      = 1
parameter: readWriteContainerHdl                   = 1
============================================================================
ReadWriteContainer.getString
parameter: readWriteContainerHdl                   = 1
parameter: qualifiedName                           = "DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M7AnotherDsL4(1).DsL4M1StringArray(0)"
..........ValueReport.......................................................
AcValue = "StringValue3"
XpValue = "StringValue3"
+++OK+++
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
ReadWriteContainer.getString
parameter: readWriteContainerHdl                   = 1
parameter: qualifiedName                           = "DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M7AnotherDsL4(1).DsL4M1StringArray(1)"
..........ValueReport.......................................................
AcValue = "StringValue2"
XpValue = "StringValue2"
+++OK+++
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
ReadWriteContainer.getString2
parameter: readWriteContainerHdl                   = 1
parameter: qualifiedName                           = "DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M7AnotherDsL4(1).DsL4M1StringArray"
parameter: arrayIndex                              = 1
..........ValueReport.......................................................
AcValue = "StringValue2"
XpValue = "StringValue2"
+++OK+++
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
ReadWriteContainer.setString
parameter: readWriteContainerHdl                   = 1
parameter: qualifiedName                           = "DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M7AnotherDsL4(1).DsL4M1StringArray(1)"
parameter: stringValue                             = "StringValueNEW"
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
ProcessTemplate.createAndStartInstance2
parameter: processTemplateHdl                      = 1
parameter: instanceName                            = "A_new_Instance"
parameter: systemGroup                             = ""
parameter: system                                  = ""
parameter: readWriteContainerHdl                   = 1
parameter: keepName                                = false
parameter: processInstanceHdl                      = 1
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
ExecutionService.queryProcessInstances
parameter: executionServiceHdl                     = 1
parameter: filter                                  = "STATE IN (RUNNING) AND NAME LIKE '*'"
parameter: sortCriteria                            = "NAME ASC"
parameter: threshold                               = 100
parameter: processInstanceArrayHdl                 = 1
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
..........Object Names Report...............................................
array size = 1
0) A_new_Instance
============================================================================
ExecutionService.queryWorkItems
parameter: executionServiceHdl                     = 1
parameter: filter                                  = "STATE IN READY AND NAME LIKE '*' AND OWNER = 'ADMIN'"
parameter: sortCriteria                            = null
parameter: threshold                               = 50
parameter: workitemArrayHdl                        = 1
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
..........Object Names Report...............................................
array size = 1
0) DemoProgramActivity1
============================================================================
WorkItemArray.size
parameter: workitemArrayHdl                        = 1
..........ValueReport.......................................................
AcValue = 1
XpValue = Expected value missing
============================================================================
WorkItemArray.getFirstElement
parameter: workitemArrayHdl                        = 1
parameter: workitemHdl                             = 1
============================================================================
WorkItem.name
parameter: workitemHdl                             = 1
..........ValueReport.......................................................
AcValue = "DemoProgramActivity1"
XpValue = "DemoProgramActivity1"
+++OK+++
============================================================================
WorkItem.state
parameter: workitemHdl                             = 1
..........ValueReport.......................................................
AcValue = READY
XpValue = READY
+++OK+++
============================================================================
WorkItem.inContainer
parameter: workitemHdl                             = 1
parameter: readOnlyContainerHdl                    = 2
============================================================================
ReadOnlyContainer.getString
parameter: readOnlyContainerHdl                    = 2
parameter: qualifiedName                           = "DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M7AnotherDsL4(1).DsL4M1StringArray(0)"
..........ValueReport.......................................................
AcValue = "StringValue3"
XpValue = "StringValue3"
+++OK+++
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
ReadOnlyContainer.getString
parameter: readOnlyContainerHdl                    = 2
parameter: qualifiedName                           = "DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M7AnotherDsL4(1).DsL4M1StringArray(1)"
..........ValueReport.......................................................
AcValue = "StringValueNEW"
XpValue = "StringValueNEW"
+++OK+++
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
WorkItem.start
parameter: workitemHdl                             = 1
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
TestTool_CommentToOutput
An activity implementation
"java com.ibm.workflow.api.tool.JGATT -iexample17act.dat -oexample17act.log"
will be started
============================================================================
Tool.sleep
Tool will sleep for 40000 ms
Sleep while activity implementation is starting
============================================================================
WorkItem.refresh
parameter: workitemHdl                             = 1
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
WorkItem.state
parameter: workitemHdl                             = 1
..........ValueReport.......................................................
AcValue = EXECUTED
XpValue = EXECUTED
+++OK+++
============================================================================
WorkItem.outContainer
parameter: workitemHdl                             = 1
parameter: readWriteContainerHdl                   = 2
============================================================================
ReadWriteContainer.getLong
parameter: readWriteContainerHdl                   = 2
parameter: qualifiedName                           = "_RC"
..........ValueReport.......................................................
AcValue = 333
XpValue = 333
+++OK+++
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
ReadWriteContainer.getString
parameter: readWriteContainerHdl                   = 2
parameter: qualifiedName                           = "DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M7AnotherDsL4(1).DsL4M1StringArray(0)"
..........RC Report.........................................................
AcException = FMC_ERROR_MEMBER_NOT_SET = 113
XpException = FMC_ERROR_MEMBER_NOT_SET
+++OK+++
============================================================================
ReadWriteContainer.getString
parameter: readWriteContainerHdl                   = 2
parameter: qualifiedName                           = "DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M7AnotherDsL4(1).DsL4M1StringArray(1)"
..........ValueReport.......................................................
AcValue = "StringValueNEW in Activity Impementation modified"
XpValue = "StringValueNEW in Activity Impementation modified"
+++OK+++
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
ReadWriteContainer.getBuffer
parameter: readWriteContainerHdl                   = 2
parameter: qualifiedName                           = "DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M6BinaryArray(0)"
..........ValueReport.......................................................
AcBINARY data length = 32 byte.
XpBINARY data length = 32 byte.
AcValue =
   4D 51 20 53 65 72 69 65    73 20 57 6F 72 6B 66 6C    MQ Series Workfl
   6F 77 20 76 65 72 73 69    6F 6E 20 33 2E 32 2E 31    ow version 3.2.2
XpValue =
   4D 51 20 53 65 72 69 65    73 20 57 6F 72 6B 66 6C    MQ Series Workfl
   6F 77 20 76 65 72 73 69    6F 6E 20 33 2E 32 2E 31    ow version 3.2.2
+++OK+++
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
ReadWriteContainer.getBuffer2
parameter: readWriteContainerHdl                   = 2
parameter: qualifiedName                           = "DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M6BinaryArray"
parameter: arrayIndex                              = 0
..........ValueReport.......................................................
AcBINARY data length = 32 byte.
XpBINARY data length = 32 byte.
AcValue =
   4D 51 20 53 65 72 69 65    73 20 57 6F 72 6B 66 6C    MQ Series Workfl
   6F 77 20 76 65 72 73 69    6F 6E 20 33 2E 32 2E 31    ow version 3.2.2
XpValue =
   4D 51 20 53 65 72 69 65    73 20 57 6F 72 6B 66 6C    MQ Series Workfl
   6F 77 20 76 65 72 73 69    6F 6E 20 33 2E 32 2E 31    ow version 3.2.2
+++OK+++
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
ReadWriteContainer.getDouble
parameter: readWriteContainerHdl                   = 2
parameter: qualifiedName                           = "DsL1M3Float"
..........ValueReport.......................................................
AcValue = 99.123
XpValue = 99.123
+++OK+++
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
WorkItem.manualExitMode
parameter: workitemHdl                             = 1
..........ValueReport.......................................................
AcValue = true
XpValue = true
+++OK+++
============================================================================
WorkItem.finish
parameter: workitemHdl                             = 1
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
WorkItem.state
parameter: workitemHdl                             = 1
..........ValueReport.......................................................
AcValue = DELETED
XpValue = DELETED
+++OK+++
============================================================================
ExecutionService.programExecutionAgentShutDown
parameter: executionServiceHdl                     = 1
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
ExecutionService.logoff
parameter: executionServiceHdl                     = 1
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
====== Test case ended normally ============================================

Testcase (activity implementation)

/* ----------------------------------------------------------------------
jexample17act.dat
  (an actitivity implementation)
Scenario:
  jexample17.fdl
Invocation via runtime application:
  java com.ibm.workflow.api.tool.JGATT -ijexample17.dat -ojexample17.log -d
---------------------------------------------------------------------- */

Agent.Agent
  agentHdl                          1
End

Agent.setLocator
  agentHdl                          1
  locator                           LOC_LOCATOR
End

Agent.getLocator
  agentHdl                          1
  xpValue                           LOC_LOCATOR
End

Agent.setName
  agentHdl                          1
  name                              ""
End

Agent.getExecutionAgent
  agentHdl                          1
  executionAgentHdl                 1
  xpFmcException                    FMC_OK
End

ExecutionAgent.inContainer
  executionAgentHdl                 1
  readOnlyContainerHdl              1
  xpFmcException                    FMC_OK
End

ReadOnlyContainer.type
  readOnlyContainerHdl              1
  xpValue                           "DsLevel1"
End

ReadOnlyContainer.allLeafCount
  readOnlyContainerHdl              1
  xpValue                           55
End

ReadOnlyContainer.getString
  readOnlyContainerHdl              1
  qualifiedName                     "DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M7AnotherDsL4(1).DsL4M1StringArray(0)"
  xpValue                           "StringValue3"    /* original initial value */
  xpFmcException                    FMC_OK
End

ReadOnlyContainer.getString
  readOnlyContainerHdl              1
  qualifiedName                     "DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M7AnotherDsL4(1).DsL4M1StringArray(1)"
  xpValue                           "StringValueNEW"  /* modified in runtime application */
  xpFmcException                    FMC_OK
End

ReadOnlyContainer.getBuffer
  readOnlyContainerHdl              1
  qualifiedName                     "DsL1M3Binary"
  xpValue                           "AA99AA99AA99AA99AA99AA"
  xpFmcException                    FMC_OK
End

ExecutionAgent.outContainer
  executionAgentHdl                 1
  readWriteContainerHdl             1
  xpFmcException                    FMC_OK
End

ReadWriteContainer.setString
  readWriteContainerHdl             1
  qualifiedName                     "DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M7AnotherDsL4(1).DsL4M1StringArray(1)"
  stringValue                       "StringValueNEW in Activity Impementation modified"
  xpFmcException                    FMC_OK
End

ReadWriteContainer.setBuffer2
  readWriteContainerHdl             1
  qualifiedName                     "DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M6BinaryArray"
  arrayIndex                        0
  binaryValue                       "4D512053657269657320576F726B666C6F772076657273696F6E20332E322E31"
  xpFmcException                    FMC_OK
End

ReadWriteContainer.setDouble
  readWriteContainerHdl             1
  qualifiedName                     "DsL1M3Float"
  doubleValue                       99.123
  xpFmcException                    FMC_OK
End

/* set the activity implementation return code via API call */
ReadWriteContainer.setLong
  readWriteContainerHdl             1
  qualifiedName                     "_RC"
  longValue                         333         /* A demo return code value */
  xpFmcException                    FMC_OK
End

ExecutionAgent.setOutContainer
  executionAgentHdl                 1
  readWriteContainerHdl             1
  xpFmcException                    FMC_OK
End

Result (activity implementation)

MQSeries Workflow 3.2.2 Java Generic API Test Tool (JGATT),
Driver v321, Hotfix 3
Test case: example17act.dat
2000-02-08 09:44:23.87 ECT
============================================================================
Operating system:              Windows NT
Operating system version:      4.0
Operating system architecture: x86
Java version:                  1.1.7
User account name:             kurtfle
============================================================================
+++>
============================================================================
===>
Parsing the input file ...
===> 240 msec
============================================================================
Agent.Agent
parameter: agentHdl                                = 1
============================================================================
Agent.setLocator
parameter: agentHdl                                = 1
parameter: locator                                 = LOC_LOCATOR = 4
============================================================================
Agent.getLocator
parameter: agentHdl                                = 1
..........ValueReport.......................................................
AcValue = LOC_LOCATOR
XpValue = LOC_LOCATOR
+++OK+++
============================================================================
Agent.setName
parameter: agentHdl                                = 1
parameter: name                                    = ""
============================================================================
Agent.getExecutionAgent
parameter: agentHdl                                = 1
parameter: executionAgentHdl                       = 1
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
ExecutionAgent.inContainer
parameter: executionAgentHdl                       = 1
parameter: readOnlyContainerHdl                    = 1
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
ReadOnlyContainer.type
parameter: readOnlyContainerHdl                    = 1
..........ValueReport.......................................................
AcValue = "DsLevel1"
XpValue = "DsLevel1"
+++OK+++
============================================================================
ReadOnlyContainer.allLeafCount
parameter: readOnlyContainerHdl                    = 1
..........ValueReport.......................................................
AcValue = 55
XpValue = 55
+++OK+++
============================================================================
ReadOnlyContainer.getString
parameter: readOnlyContainerHdl                    = 1
parameter: qualifiedName                           = "DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M7AnotherDsL4(1).DsL4M1StringArray(0)"
..........ValueReport.......................................................
AcValue = "StringValue3"
XpValue = "StringValue3"
+++OK+++
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
ReadOnlyContainer.getString
parameter: readOnlyContainerHdl                    = 1
parameter: qualifiedName                           = "DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M7AnotherDsL4(1).DsL4M1StringArray(1)"
..........ValueReport.......................................................
AcValue = "StringValueNEW"
XpValue = "StringValueNEW"
+++OK+++
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
ReadOnlyContainer.getBuffer
parameter: readOnlyContainerHdl                    = 1
parameter: qualifiedName                           = "DsL1M3Binary"
..........ValueReport.......................................................
AcBINARY data length = 11 byte.
XpBINARY data length = 11 byte.
AcValue =
   AA 99 AA 99 AA 99 AA 99    AA 99 AA                   ª™ª™ª™ª™ª™ª

XpValue =
   AA 99 AA 99 AA 99 AA 99    AA 99 AA                   ª™ª™ª™ª™ª™ª

+++OK+++
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
ExecutionAgent.outContainer
parameter: executionAgentHdl                       = 1
parameter: readWriteContainerHdl                   = 1
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
ReadWriteContainer.setString
parameter: readWriteContainerHdl                   = 1
parameter: qualifiedName                           = "DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M7AnotherDsL4(1).DsL4M1StringArray(1)"
parameter: stringValue                             = "StringValueNEW in Activity Impementation modified"
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
ReadWriteContainer.setBuffer2
parameter: readWriteContainerHdl                   = 1
parameter: qualifiedName                           = "DsL1M4AnotherDsL2.DsL2M1AnotherDsL3.DsL3M6BinaryArray"
parameter: arrayIndex                              = 0
parameter: binaryValue                             = "4D512053657269657320576F726B666C6F772076657273696F6E20332E322E31"
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
ReadWriteContainer.setDouble
parameter: readWriteContainerHdl                   = 1
parameter: qualifiedName                           = "DsL1M3Float"
parameter: doubleValue                             = 99.123
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
ReadWriteContainer.setLong
parameter: readWriteContainerHdl                   = 1
parameter: qualifiedName                           = "_RC"
parameter: longValue                               = 333
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
ExecutionAgent.setOutContainer
parameter: executionAgentHdl                       = 1
parameter: readWriteContainerHdl                   = 1
..........RC Report.........................................................
AcException = none = 0
XpException = none
+++OK+++
============================================================================
====== Test case ended normally ============================================