IBM Support

PTM: SWIFT on output side only compiles but throws EmptyStackException when rule fails due to FindObjectName failure *|*

Question & Answer


Question

PTM: SWIFT on output side only compiles but throws EmptyStackException when rule fails due to FindObjectName failure *|* -F4D490D6268B125585257917007E1126- *|*

Answer

Technote (troubleshooting)


Problem(Abstract)

PTM: SWIFT on output side only compiles but throws EmptyStackException when rule fails due to FindObjectName failure

Symptom

PTM: SWIFT on output side only compiles but throws EmptyStackException when rule fails due to FindObjectName failure

A?translation error reported by a rule that uses a parameter passed by the results of calling FindObjectName will report an EmptyStackException.? The EmptyStackException occurs even for valid FindObjectName parameters where maps compile successfully.

Error Message

Report Entry:
?????? Section: INPUT?????? Severity: ERROR
?????? SyntaxSpecific: false?????? Syntax: -1??????? Code: 170 Extended Rule Error
?????? Info:
????????????? 10002: Block Count
????????????? 6
????????????? 10017: Map Iteration Count
????????????? 1
????????????? 10003: Block Name
????????????? 23E
????????????? 10016: Block Signature Id Tag
????????????? 23E
????????????? 10004: Field Name
????????????? Instruction
????????????? 10009: Field Number
????????????? 1
????????????? 10005: Field Data
????????????? URGP
????????????? 10006: Exception
????????????? java.util.EmptyStackException
????????????? 10019: Location Index
????????????? 01:01


Resolving the problem

The correct side of the map should be used for FindObjectName statement compilation. Currently the input side is always used because GetRoot()->IsInputFormat() does not return correct results at compile time. Instead the side of the map being compiled must be passed into the method ParsePass2 just like Parse (Pass1). This will allow FindObjectName to correctly reference entries in the constants table for the output side of the map.

Please apply Gentran Integration Suite Release 4.3 Build 4318 or later

Historical Number

NFX5262

Product Alias/Synonym

Function Area


MapObject.h MapObject.cpp LEX.cpp PARSSTRG.cpp

Escalation ID


1372937

Fix ID


173936

Severity


Normal

Type


NormalFix

Build


4318

[{"Business Unit":{"code":"BU055","label":"Cognitive Applications"},"Product":{"code":"SS73G6","label":"Sterling Total Payments for Financial Services"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
13 October 2021

UID

ibm10769899