Can we use PLISAXC parser for online program ?
Page 1 of 1
Can we use PLISAXC parser for online program ?
Hi ,
I just wanted to confirm if PLISAXC parser can be used for CICS transcation triggered Program/ Online program?
As per Manual, we can use it in for online process but recently I came across an issue where the following code was giving SOC4 . However, this code works fine in Batch program.
Code:
SAXCTEST: package exports(SAXCTEST);
define alias event
limited entry( pointer, pointer, fixed bin(31) )
returns( byvalue fixed bin(31) )
options( byvalue linkage(optlink) );
.......
SAXCTEST: procedure (InpPtr) options(reentrant,fetchable) reorder;
/*necessary declaration for InpPtr is done */
dcl 1 XMLMsg based(InpPtr),
3 XML_data(33) char(32767);
XMLPtr = addr (XML_data);
/* Here it fails when triggered through online .
The reason is all GLOBAL VARIABLES are STATIC
and in CICS these are stored in Extended Readonly
Dynamic Storage Area (ERDSA) . To overwrite this storage
area is not allowed
*/
call plisaxc (eventHandler,
addr(token),
addr(XML_data(1)),
length(XML_data(1)));
end SAXCTEST;
/* PARSER EVENT HANDLER */
dcl XMLPtr pointer ;
dcl inpXML(33) char(32767) based(XMLPtr);
dcl arrCtr fixed bin(15) init(1) ;
dcl chars char(32000) based ;
start_of_document: proc(userToken)
returns( byvalue fixed bin(31) )
options( byvalue linkage(optlink) );
dcl userToken pointer;
return(0);
end;
end_of_input:proc( userToken, addr_xml, length_xml )
returns( byvalue fixed bin(31) )
options( byvalue linkage(optlink) );
dcl userToken pointer;
dcl addr_xml byaddr pointer;
dcl length_xml byaddr fixed bin(31);
arrCtr += 1;
if (arrCtr<=33) then do ;
addr_xml = addr(inpXML(arrCtr));
length_xml = length(inpXML(arrCtr));
return(0);
end;
end; /* Package end */
I just wanted to confirm if PLISAXC parser can be used for CICS transcation triggered Program/ Online program?
As per Manual, we can use it in for online process but recently I came across an issue where the following code was giving SOC4 . However, this code works fine in Batch program.
Code:
SAXCTEST: package exports(SAXCTEST);
define alias event
limited entry( pointer, pointer, fixed bin(31) )
returns( byvalue fixed bin(31) )
options( byvalue linkage(optlink) );
.......
SAXCTEST: procedure (InpPtr) options(reentrant,fetchable) reorder;
/*necessary declaration for InpPtr is done */
dcl 1 XMLMsg based(InpPtr),
3 XML_data(33) char(32767);
XMLPtr = addr (XML_data);
/* Here it fails when triggered through online .
The reason is all GLOBAL VARIABLES are STATIC
and in CICS these are stored in Extended Readonly
Dynamic Storage Area (ERDSA) . To overwrite this storage
area is not allowed
*/
call plisaxc (eventHandler,
addr(token),
addr(XML_data(1)),
length(XML_data(1)));
end SAXCTEST;
/* PARSER EVENT HANDLER */
dcl XMLPtr pointer ;
dcl inpXML(33) char(32767) based(XMLPtr);
dcl arrCtr fixed bin(15) init(1) ;
dcl chars char(32000) based ;
start_of_document: proc(userToken)
returns( byvalue fixed bin(31) )
options( byvalue linkage(optlink) );
dcl userToken pointer;
return(0);
end;
end_of_input:proc( userToken, addr_xml, length_xml )
returns( byvalue fixed bin(31) )
options( byvalue linkage(optlink) );
dcl userToken pointer;
dcl addr_xml byaddr pointer;
dcl length_xml byaddr fixed bin(31);
arrCtr += 1;
if (arrCtr<=33) then do ;
addr_xml = addr(inpXML(arrCtr));
length_xml = length(inpXML(arrCtr));
return(0);
end;
end; /* Package end */
kasthuri- Posts : 212
Join date : 2013-01-27
Similar topics
» Calling program(Assembler/Cobol)
» S04e abend in cobol DB2 program
» JCL to call COBOL program in SYSIN
» clear program message q
» use of copy verb in cobol and cics program
» S04e abend in cobol DB2 program
» JCL to call COBOL program in SYSIN
» clear program message q
» use of copy verb in cobol and cics program
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum
|
|