IMPORTANT! You can read every forum, but you can only post in a forum if you are member of the 'Organic Group' that owns the forum. See groups for a complete list of Organic Groups on the Hive. Content (forums, pages, blogs, etc) on OE Hive is all organized using a module called 'Organic Groups'. Every Group has its own forum.
Good Afternoon,
I've being using cimloads in QAD all the way from 74i to SE2013. We are now using EE2014 and I'm having an issue with the messages that come out from the screen.
So a simple sample of how I'm doing the cimload would be:
input from value(cim_file).
output to value(log_file).
batchrun = true.
execname = "pitcmt1.p".
{gprun.i execname}
input close.
output close.
Given the code:
mobBlockNode = cast( ipobNode, BlockNode ).
mobBlock = mobBlockNode:getBlock().
mlgIsMethod = mobBlock:isMethodBlock().
mlgIsProgram = mobBlock:isProgramBlock().
for a node which is a block node, I would expect the Program_root node to give IsProgramBlock, but instead it gives IsMethodBlock. Why?
Curious too why the CLASS node is not considered a BLOCK.
Given a call to a remote method call:
obNominal = new Nominal().
chTest = obNominal:SayHi( chTest ).
which tokenizes as:
ASSIGN 0:0 EQUAL = 66:66 Field_ref 0:0 ID chTest 66:66 Widget_ref 0:0 Field_ref 0:0 ID obNominal 66:66 OBJCOLON : 66:66 ID SayHi 66:66 Method_param_list 0:0 LEFTPAREN ( 66:66 INPUT 0:0
OK, trying another path, if I do, on nodes of type BlockNode:
define variable mobBlock as class Block no-undo.
define variable mobBlockNode as class BlockNode no-undo.
define variable mobTableBuffer as class TableBuffer extent 20 no-undo.
mobBlockNode = cast( ipobNode, BlockNode ).
mobBlock = mobBlockNode:getBlock().
mobTableBuffer = mobBlock:getBlockBuffers().
It compiles, but I get a run time error
Error: Uninitialized array used as source of assignment. (14906)
on the last line, whether I provide an number for extent or not.
PareseUnit:getMarcroGraph returns an object of type IncludeRef which seems like it would be a link to an Include file ... but shouldn't it them be an array?
I am trying to use this to get from a statement to the block for the statement. The doc says:
java.lang.Object getLink(java.lang.Integer key)
in the code I see things like
public Call getCall() { return (Call) getLink(CALL); }
but, if I try in ABL to say
mobBlockNode = cast(ipobNode:getLink(JPNode:BLOCK), BlockNode).
it tells me
Parameter 1 for METHOD getLink is not type compatible with its definition. (12905)
I have tried a bunch of things for JPNode:BLOCK including -214
So, what does it want?
If one attempts to use Organize Using in PDSOE 11.5, all of the existing Proparse using statements simply disappear from the top of the file. This is now recognized by PSC as bug PSC00335347.
I wonder if this has to do with some known issue with IKVM and reflection since the Proparse DLL shows no internals in the PDSOE Class Browser.
It appears to me that the AST of a subclass does not contain any definitions for protected data members in the superclass.
I am also guessing that there is no Symbol for it either since my version of TokenLister is getting the Symbol for any node of type ID and optionally showing the number of reads and writes and I don't get this with a reference to such a variable or property.
Is there an indication of where it is defined and its properties?
BTW, I have documented some of the Proparse utilities which I have been developing as a part of ABL2DB here http://www.oehive.org/node/2294
At present, these are included in the ABL2DB distribution, but they could be packaged separately if there was demand.
I was thinking that TreeUtils:fullPreproText( mobToken ) might get me the rest of the statement from the specified node forward to the end of the statement, but it seems to only provide the text of the specified token.
Is there some other function that does this or am I going to have to code my own?