I vaguely remember that we can direct display statements to sysout. We need to compile the program little differently and use environment variable to direct the location where display statement will be written.
Please help me on how to do it exactly.
This is how my directive file looks:
CICSECM()
CICSECM(FUN=N)
CICSECM(OPT=N)
DATA-CONTEXT
CONFIRM
DIALECT(ENTCOBOL)
PANVALET
NOAMODE
CHARSET(ASCII)
CHANGEMESSAGE(10 W 1082 W)
NOREENTRANT
LIST()
DATAMAP
NOMAPNAME
NOFLAG
FLAGAS(E)
WARNING(1)
DATA-CONTEXT
FDCLEAR(2)
SSRANGE(1)
COPYEXT(cpy,cbl,pco,cob)
NOFOLDCOPYNAME
NOFOLDCALLNAME
ANIM
#EnterpriseServerwhat are you trying to accomplish with a display?? are you creating a log file or something?
I vaguely remember that we can direct display statements to sysout. We need to compile the program little differently and use environment variable to direct the location where display statement will be written.
Please help me on how to do it exactly.
This is how my directive file looks:
CICSECM()
CICSECM(FUN=N)
CICSECM(OPT=N)
DATA-CONTEXT
CONFIRM
DIALECT(ENTCOBOL)
PANVALET
NOAMODE
CHARSET(ASCII)
CHANGEMESSAGE(10 W 1082 W)
NOREENTRANT
LIST()
DATAMAP
NOMAPNAME
NOFLAG
FLAGAS(E)
WARNING(1)
DATA-CONTEXT
FDCLEAR(2)
SSRANGE(1)
COPYEXT(cpy,cbl,pco,cob)
NOFOLDCOPYNAME
NOFOLDCALLNAME
ANIM
#EnterpriseServerwhat are you trying to accomplish with a display?? are you creating a log file or something?
I vaguely remember that we can direct display statements to sysout. We need to compile the program little differently and use environment variable to direct the location where display statement will be written.
Please help me on how to do it exactly.
This is how my directive file looks:
CICSECM()
CICSECM(FUN=N)
CICSECM(OPT=N)
DATA-CONTEXT
CONFIRM
DIALECT(ENTCOBOL)
PANVALET
NOAMODE
CHARSET(ASCII)
CHANGEMESSAGE(10 W 1082 W)
NOREENTRANT
LIST()
DATAMAP
NOMAPNAME
NOFLAG
FLAGAS(E)
WARNING(1)
DATA-CONTEXT
FDCLEAR(2)
SSRANGE(1)
COPYEXT(cpy,cbl,pco,cob)
NOFOLDCOPYNAME
NOFOLDCALLNAME
ANIM
#EnterpriseServerI am trying to debug my program. For some reason Microfocus debugging is not working in our environment so I am trying to put some display statement to see the point of failure. I am suspecting some sql statement is failing but do not know which one.
I vaguely remember that we can direct display statements to sysout. We need to compile the program little differently and use environment variable to direct the location where display statement will be written.
Please help me on how to do it exactly.
This is how my directive file looks:
CICSECM()
CICSECM(FUN=N)
CICSECM(OPT=N)
DATA-CONTEXT
CONFIRM
DIALECT(ENTCOBOL)
PANVALET
NOAMODE
CHARSET(ASCII)
CHANGEMESSAGE(10 W 1082 W)
NOREENTRANT
LIST()
DATAMAP
NOMAPNAME
NOFLAG
FLAGAS(E)
WARNING(1)
DATA-CONTEXT
FDCLEAR(2)
SSRANGE(1)
COPYEXT(cpy,cbl,pco,cob)
NOFOLDCOPYNAME
NOFOLDCALLNAME
ANIM
#EnterpriseServerI am trying to debug my program. For some reason Microfocus debugging is not working in our environment so I am trying to put some display statement to see the point of failure. I am suspecting some sql statement is failing but do not know which one.
I vaguely remember that we can direct display statements to sysout. We need to compile the program little differently and use environment variable to direct the location where display statement will be written.
Please help me on how to do it exactly.
This is how my directive file looks:
CICSECM()
CICSECM(FUN=N)
CICSECM(OPT=N)
DATA-CONTEXT
CONFIRM
DIALECT(ENTCOBOL)
PANVALET
NOAMODE
CHARSET(ASCII)
CHANGEMESSAGE(10 W 1082 W)
NOREENTRANT
LIST()
DATAMAP
NOMAPNAME
NOFLAG
FLAGAS(E)
WARNING(1)
DATA-CONTEXT
FDCLEAR(2)
SSRANGE(1)
COPYEXT(cpy,cbl,pco,cob)
NOFOLDCOPYNAME
NOFOLDCALLNAME
ANIM
#EnterpriseServerI read somewhere to compile my online program with directive CICSECM OSVS OUTDD(SYSOUT 121 R) SHARE-OUTDD and declare the env variable DD_SYSOUT. But my program is failing in compilation with this new directive.
Compilation is failing at all places where it sees ' : ' e.g. following If statement has (15:5).
IF WW-000-WORK-KEY (15:5) > SPACES
MOVE SPACES TO WW-000-WORK-KEY (15:5)
END-IF.
Compile error says:
COBCH0014S Invalid operand : C:\\PRJ\\SOURCE\\CBL\\PDNMEXEI.CBL(271,35)
COBCH0564S A scope-delimiter did not have a matching verb and was discarded. : C:\\PRJ\\SOURCE\\CBL\\PDNMEXEI.CBL(273,17)
Rebuild complete with errors
I vaguely remember that we can direct display statements to sysout. We need to compile the program little differently and use environment variable to direct the location where display statement will be written.
Please help me on how to do it exactly.
This is how my directive file looks:
CICSECM()
CICSECM(FUN=N)
CICSECM(OPT=N)
DATA-CONTEXT
CONFIRM
DIALECT(ENTCOBOL)
PANVALET
NOAMODE
CHARSET(ASCII)
CHANGEMESSAGE(10 W 1082 W)
NOREENTRANT
LIST()
DATAMAP
NOMAPNAME
NOFLAG
FLAGAS(E)
WARNING(1)
DATA-CONTEXT
FDCLEAR(2)
SSRANGE(1)
COPYEXT(cpy,cbl,pco,cob)
NOFOLDCOPYNAME
NOFOLDCALLNAME
ANIM
#EnterpriseServerHi Ashish,
few observations
1) not sure how are you compiling the program ??
2) i did some tests using one sample code(including your code snippets in that sample) and your directive file with additional
OUTDD(SYSOUT 121 R)
SHARE-OUTDD
3) i have set the environment variable DD_SYSOUT in Enterprise server
[ES-Environment]
DD_SYSOUT=/home/example/CICSOUT
4) compiled the program using cbllink(dll) and cobol(gnt) both appears to works fine.
5) another way of doing this is for a particular program
in the program use inline directive in addition to your dir file
$set outdd"/home/example/ashish_display.log",share-outdd
note point 5 is meant for getting display in particular program and not the generic way like above 2,3 point
let me know if this helps you.
I vaguely remember that we can direct display statements to sysout. We need to compile the program little differently and use environment variable to direct the location where display statement will be written.
Please help me on how to do it exactly.
This is how my directive file looks:
CICSECM()
CICSECM(FUN=N)
CICSECM(OPT=N)
DATA-CONTEXT
CONFIRM
DIALECT(ENTCOBOL)
PANVALET
NOAMODE
CHARSET(ASCII)
CHANGEMESSAGE(10 W 1082 W)
NOREENTRANT
LIST()
DATAMAP
NOMAPNAME
NOFLAG
FLAGAS(E)
WARNING(1)
DATA-CONTEXT
FDCLEAR(2)
SSRANGE(1)
COPYEXT(cpy,cbl,pco,cob)
NOFOLDCOPYNAME
NOFOLDCALLNAME
ANIM
#EnterpriseServerHi Ashish,
few observations
1) not sure how are you compiling the program ??
2) i did some tests using one sample code(including your code snippets in that sample) and your directive file with additional
OUTDD(SYSOUT 121 R)
SHARE-OUTDD
3) i have set the environment variable DD_SYSOUT in Enterprise server
[ES-Environment]
DD_SYSOUT=/home/example/CICSOUT
4) compiled the program using cbllink(dll) and cobol(gnt) both appears to works fine.
5) another way of doing this is for a particular program
in the program use inline directive in addition to your dir file
$set outdd"/home/example/ashish_display.log",share-outdd
note point 5 is meant for getting display in particular program and not the generic way like above 2,3 point
let me know if this helps you.
I vaguely remember that we can direct display statements to sysout. We need to compile the program little differently and use environment variable to direct the location where display statement will be written.
Please help me on how to do it exactly.
This is how my directive file looks:
CICSECM()
CICSECM(FUN=N)
CICSECM(OPT=N)
DATA-CONTEXT
CONFIRM
DIALECT(ENTCOBOL)
PANVALET
NOAMODE
CHARSET(ASCII)
CHANGEMESSAGE(10 W 1082 W)
NOREENTRANT
LIST()
DATAMAP
NOMAPNAME
NOFLAG
FLAGAS(E)
WARNING(1)
DATA-CONTEXT
FDCLEAR(2)
SSRANGE(1)
COPYEXT(cpy,cbl,pco,cob)
NOFOLDCOPYNAME
NOFOLDCALLNAME
ANIM
#EnterpriseServerThanks for your reply
My program compiled and applied inline directive in cobol, restarted the region but no log file created at the location mentioned in my cobol program.
One thing that I did not mention earlier - we dont have typical TN3270 CICS screens but we have Java screens which call webservice which calls CICS programs on microfocus. Is that a problem?
Our GUI team has confirmed that its failing when it hits one of the cobol program and I put inline directive in that program but that did not help.
Any thoughts??
I vaguely remember that we can direct display statements to sysout. We need to compile the program little differently and use environment variable to direct the location where display statement will be written.
Please help me on how to do it exactly.
This is how my directive file looks:
CICSECM()
CICSECM(FUN=N)
CICSECM(OPT=N)
DATA-CONTEXT
CONFIRM
DIALECT(ENTCOBOL)
PANVALET
NOAMODE
CHARSET(ASCII)
CHANGEMESSAGE(10 W 1082 W)
NOREENTRANT
LIST()
DATAMAP
NOMAPNAME
NOFLAG
FLAGAS(E)
WARNING(1)
DATA-CONTEXT
FDCLEAR(2)
SSRANGE(1)
COPYEXT(cpy,cbl,pco,cob)
NOFOLDCOPYNAME
NOFOLDCALLNAME
ANIM
#EnterpriseServerThanks for your reply
My program compiled and applied inline directive in cobol, restarted the region but no log file created at the location mentioned in my cobol program.
One thing that I did not mention earlier - we dont have typical TN3270 CICS screens but we have Java screens which call webservice which calls CICS programs on microfocus. Is that a problem?
Our GUI team has confirmed that its failing when it hits one of the cobol program and I put inline directive in that program but that did not help.
Any thoughts??
I vaguely remember that we can direct display statements to sysout. We need to compile the program little differently and use environment variable to direct the location where display statement will be written.
Please help me on how to do it exactly.
This is how my directive file looks:
CICSECM()
CICSECM(FUN=N)
CICSECM(OPT=N)
DATA-CONTEXT
CONFIRM
DIALECT(ENTCOBOL)
PANVALET
NOAMODE
CHARSET(ASCII)
CHANGEMESSAGE(10 W 1082 W)
NOREENTRANT
LIST()
DATAMAP
NOMAPNAME
NOFLAG
FLAGAS(E)
WARNING(1)
DATA-CONTEXT
FDCLEAR(2)
SSRANGE(1)
COPYEXT(cpy,cbl,pco,cob)
NOFOLDCOPYNAME
NOFOLDCALLNAME
ANIM
#EnterpriseServerHi Ashish,
I don't think it should matter when you say "we have Java screen calling web services" because they inturn they are calling the cobol programs using values passed via linkage. ?
What i will suggest to make a sample program having some displays in it. Tie this program with one cics transaction. Compile with same directives. Fire the transaction to see the log. This test should tell whether display thing is working or not.
If yes then apply on you application programs
Also ,
as you are saying some SQL is failing then it should (any sql code other than zero) should appear in trace log/ SEP which are accessible via enterprise administration page. Give a try
let me know if this helps you !!