Newbie question

I’ve been reading the NDV and NaturalONE documentation to the point my eyes are going wonky and it’s hard to know where I need to look. We’re a mainframe shop, and I am setting up NDV and NaturalONE. Once I am happy with how this all works, I plan to roll this out to our real developers but I have a long ways to go since I’d eventually like to use Eclipse add-ons such as SVN, Maven and Jenkins.

Right now, I seem to have an NDV server running batch, and an Eclipse studio with NaturalONE and EntireX perspectives available. I can connect to the mainframe environment from NaturalONE and extract sources, but am running into troubles doing anything after that.

For example, I created a new server program called HELLOW.NSP but even just saving it, I get an error “An internal error occurred during: ‘Save object on server’.” STGSTDE is giving some messages that I would guess explain why:

23 20:10:33 00000033
00000033 NDV Error: PAL ERROR, RC:-18, ERRCLASS:0, REASON:0
23 20:10:42 00000036
00000036 NDV Error: PAL ERROR, RC:-18, ERRCLASS:0, REASON:0
23 20:10:44 00000032 VSTA003
00000032 NDV Error: NATRMT_STREAM RECORD MISSING
23 20:10:53 00000038 VSTA003
00000038 NDV Error: NATRMT_STREAM RECORD MISSING

Unfortunately this is not very clear what this means.

Also, when I just try to run an existing program, I get an error “Launching default launch has encountered a problem. The application server “vista.tcc.etn.com” on port 28080 [Web I/O Interface client (NWO)] is not accessible.”. Now, I know I don’t have an NWO server process on the mainframe or anything listening on that port, and would prefer to keep interfaces 3270-like since this IDE will be used only for mainframe execution. I looked at the Preferences section and have no idea how I should be configuring this, or wondering if I need to install an NWO server process to run on the mainframe, or do I need to go back and configure NDV to run with the CICS interface? Nothing really explains what I should be doing - only how to do it if I knew what I needed to do in the first place.

Now the question - is there anything I can read that will tell me ‘this is what you should do to configure NDV and NaturalONE for developing mainframe Natural applications’?

Thanks in advance!

-Brian

Brian,

for the PAL-Errors - the logs I found all point to network security blocking traffic, so you might want to look into that,
but no guarantee, so you might need to open an incident.

As for the 2nd issue, this is about the [Web I/O Interface [b]client /b], which is running a Tomcat inside your ONE,
check the Eclipse console output if that’s been started properly,
As for the server part, no need to install an NWO Server for this, NDV will play the NWO role for ONE.

Hi Wolfgang,

Could the PAL errors be from trying to reach a non-existent mainframe NWO server, or something else?

I don’t see any issues with the localhost Tomcat:

24-Aug-2017 09:34:32.893 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory C:\Users\E0027541\workspace912.naturalone\apache-tomcat\webapps\host-manager has finished in 115 ms
24-Aug-2017 09:34:32.893 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\Users\E0027541\workspace912.naturalone\apache-tomcat\webapps\manager
24-Aug-2017 09:34:32.966 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory C:\Users\E0027541\workspace912.naturalone\apache-tomcat\webapps\manager has finished in 73 ms
24-Aug-2017 09:34:32.967 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\Users\E0027541\workspace912.naturalone\apache-tomcat\webapps\ROOT
24-Aug-2017 09:34:33.022 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory C:\Users\E0027541\workspace912.naturalone\apache-tomcat\webapps\ROOT has finished in 55 ms
24-Aug-2017 09:34:33.031 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [“http-nio-28080”]
24-Aug-2017 09:34:33.050 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 36366 ms

I am not sure if it does as you describe why it is looking for an NWO server on the mainframe (vista.tcc.etn.com:28080). Under Preferences->Natural->Launch Configuration, it has the default values to use Natural Ajax, but I also tried changing this to NWO with the host name “localhost” and port 28080 with the same error of being unable to reach vista.tcc.etn.com:28080.

I always have the most unique problems when I am playing with something new, don’t I?

-Brian

Wolfgang,

I tried this… instead of RUN I tried Run Configurations and saw the host was vista.tcc.etn.com. I changed this to my local PC name KITONWHP4520766.nasa.ad.etn.com. Now I get a different error (HTTP 404) but will try to play with this some more to see if I can get some success.

I will post another update.

-Brian

It seems when I tried Run Configurations… the source program was pointing to a mainframe (server) location and different object altogether, so I changed that to be identical to the local object I created (e.g., /DBALIB/Natural-Libraries/DBALIB/SRC/HELLOW.NSP). Server type is NJX and host name is local host. When I try to run it, it gives me a NAT0082 error. What does it mean it can’t find it? I was running it from right where it was.

-Brian

Here is another oddity. I can view the sources on the mainframe and can right-click a catalogued object and click “Execute”. It opens a Natural I/O window and just waits forever even though the program runs quickly on the mainframe.

In STGTRACE, I can see these messages:

24 19:49:49 00000063 ROLLIN OF SESSION D309569C02A46311 SUCCESSFUL
24 19:49:49 00000063 NATRMT_OP_STACK FOR VSTA003.
24 19:49:49 00000063 CLIENT VSTA003 EXEC STACK: EXECUTE DATECONV
24 19:49:49 00000063 EXEC IO, BUFFLEN:95
24 19:49:49 00000063 FREE TIOX:1579D028
24 19:49:49 00000063 ALLOC TIOX:1579D028
24 19:49:49 00000063 TIOX:
00000000 e3c9d6e7 00000000 0000fff0 000000f5 TIOX…0…5
24 19:49:49 00000063 ROLLOUT OF SESSION D309569C02A46311 SUCCESSFUL
24 19:49:49 00000063 FREE TIOX:1579D028
24 19:49:49 00000063 REPLY PALBUFFER EBCDIC:
00000000 d5c1e3e2 d7d6c4f2 f6000000 000000f1 NATSPOD26…1
00000010 0000f2f5 f7000000 0002f2f3 f1000000 …257…231…
00000020 00000000 0000f1f3 00f10040 40404040 …13.1. *
00000030 40404040 40f1f9f4 00c3f3f1 f1f4f0f4 * 194.C311404

00000040 f0f1c4c6 f8c4f4c4 f6c4f9c3 f5f1c4f4 01DF8D4D6D9C51D4
00000050 f0f3c3c3 f1f5f0f0 f0f1c4c6 f0c4f7f8 03CC150001DF0D78
00000060 f1f8f7f8 f5f3c3c3 f1f5c2f4 f0c6f1f3 187853CC15B40F13
00000070 c3c3f2f4 c5f4f0c6 f1c6f7f6 f0c6f0c6 CC24E40F1F760F0F
00000080 f8f6f0c6 f2c6f4f4 f0f4f0c6 f1c6f9f7 860F2F44040F1F97
00000090 c1c6f4c6 f9f7c1c6 f4c6f9f3 c3c3f3c6 AF4F97AF4F93CC3F
000000a0 f1f4f0f7 c2c3f4c3 f1c5f3c3 f5f7c1f4 1407BC4C1E3C57A4
000000b0 f0c6f1c6 f5f6f0c6 f0c6f5f6 f0c6f2c6 0F1F560F0F560F2F
000000c0 f5f4f0f7 c2c3f4c3 f1c5f3c3 f5f6f0c4 5407BC4C1E3C560D
000000d0 f7f7c1f4 f0f4f0f4 f0c6f7c6 f3c6f6c6 77A404040F7F3F6F
000000e0 f1c6f0c6 f7f3c3f4 f0f4f0f4 f0f1f1f4 1F0F73C404040114
000000f0 f0c3f6f1 f3c4f3c6 c6c5c6f3 f2f0f0f3 0C613D3FFEF32003
00000100 00f3f2f0 f0f400 .32004…
24 19:49:49 00000063 LISTEN FOR IO REPLY BUFFER

Guess this IO reply buffer never gets sent?

I put all these in one thread here even though they are different issues because I think it’s probably one thing I need to do to get it all to work.

-Brian

Brian,

the last one looks like a network / firewall issue again, I assume the reply gets sent, but suppressed by the receiving end.

As for the NWO server, check Window → Preferences and search for Natural I/O

What’s defined there ?

Hi Wolfgang,

That section is set as:

Runtime tab: Use default configuration is checked, with server type NJX and all fields greyed out. Auto skip to next input field is unchecked.

Natural I/O tab:
Natural I/O port: 3500
Natural I/O timeout: 30

Do you mean the NDV server is blocked by firewall or my local PC is? I am not sure if either is the case why I can use this same Eclipse for the EntireX perspective to generate IDL files from mainframe Natural via the mainframe-based Broker / Natural RPC Server, or in the ONE perspective how it can list the mainframe directory structure, object names, open and copy source, etc. Bi-directional communication seems to happen for these other things, including through vista.tcc.etn.com:3140 (NDV) and 3141 (HTTP monitor) as well as Telnet, FTP, CONNX ports (multiple), EntireX Broker ports (multiple), etc.

Please advise what I should be requesting.

Thanks,

Brian

Do you mean http://localhost:28081 is blocked?

-Brian

I went into Windows Firewall and defined an inbound rule allowing connections on TCP port 28081 from anywhere in the corporate domain but it hasn’t changed anything.

I extracted the sample Hello World application and rebuilt it and executed the project, and this works giving me the entry field and displaying “Hello ____”. So apparently I need to figure out what my new program is lacking that is required to run in this environment, but this proves that the underlying tech stack works and communicates.

All I wanted to do initially was write a program:

/** New Program HELLOW.
/**
/** :author E0027541
/* TODO Enter your code here
write ‘Hello World’
/* This was hard
END

…and run it, and I get a NAT0082 when I try.

Brian,

when you create a new program locally it’ll be … local.

It’ll have a ^ next to HELLOW.NSP in the Natural Navigator, which means you have to upload
it to the server first.

Right-click it → Natural ONE → Update

will STOW it on the mainframe.

Upload will just SAVE it, Update STOWs it.

NOW you can execute it.

The safe method is to right-click → Natural ONE → Execute

Hi Wolfgang,

Oddly there are no markings next to the HELLOW.NSP object, and both update and upload are greyed out.

When I try to copy objects from the mainframe node to the editor or a project, it gives me:

An internal error occurred during: “Add to New Natural Project” (or the other actions attempted)
For input string: " 15".

I probably should create a new support ticket.

-Brian

Hi Brian, if it is any consolation I am doing the same as you. We are a mainframe shop and I have just installed NaturalONE on my laptop and NDV on the mainframe. We are getting exactly the same error messages as you. Like you I am going through all the manuals looking for answers. If I find anything I will let you know.

Hi Brian,

Did you get your NDV server configured successfully such that it will support your NaturalONE client activity?

I am going to try to be more active on SAG-L, but have not been very active in this forum. Will try to get more familiar with posting to this forum as well.

If I remember correctly, I had to APF authorize my NDV load library and my systems folks had to define some security that remedied the following messages that were seen in the TCPIP logs:

these errors show up in TCPIP2. Not sure why they were not in SYSLOG.

ICH408I USER(NDVTARB ) GROUP(STCDEPT ) NAME(NATURALONE DSNR SERV)
IRR.DIGTCERT.LISTRING CL(FACILITY)
INSUFFICIENT ACCESS AUTHORITY
ACCESS INTENT(UPDATE ) ACCESS ALLOWED(READ )

ICH408I USER(NDVTARB ) GROUP(STCDEPT ) NAME(NATURALONE DSNR SERV)
IRR.DIGTCERT.GENCERT CL(FACILITY)
INSUFFICIENT ACCESS AUTHORITY
ACCESS INTENT(CONTROL) ACCESS ALLOWED(READ )

ICH408I USER(NDVTARB ) GROUP(STCDEPT ) NAME(NATURALONE DSNR SERV)
IRR.DIGTCERT.GENCERT CL(FACILITY)
INSUFFICIENT ACCESS AUTHORITY
ACCESS INTENT(CONTROL) ACCESS ALLOWED(READ )

Also, I did add some modules to my NDV server nucleus to support NWO functionality. I essentially built my NDV server similar to my batch Natural server except I made the necessary changes to get NaturalONE to function properly in our shop. If I remember correctly (it was many years ago when I began this journey), I recall adding the following includes to my NDV server:

INCLUDE NATLIB(NATXML) RUNTIME MODULE FOR PARSE XML AND REQ DOC
INCLUDE NATLIB(NATCPTAB) CODE PAGE CHARACTER TRANSLATION TABLES
INCLUDE NATLIB(NATSCTU) SCANNER CHARACTER TABLE FOR UNICODE
INCLUDE NATOLIB(NAT2TCP) TCP/IP PROTOCOL HANDLER
INCLUDE ICSLIB(SAGICU) ICU LIBRARY FOR UNICODE & CODE PAGE SUPPORT
INCLUDE IBMLIB(ATRRCSS) IBM DB ACCESS SYNCPOINT/ROLLBACK FUNCTION

We are a Natural DB2 shop so we may have some requirements your shop doesn’t.

Hi Kathy,

I never did get anywhere and put this effort on the back burner. Your last update may offer clues to me though. I think my NDV server nucleus was built similar to my Natural RPC Server nucleus, but if it needs to use the NWO components to play nice with the NaturalONE (or N1 as Darrell has coined on SAG-L) studio, when I do get back to it, that will be the first thing I look at.

Unrelated, my more recent efforts were on an unsuccessful attempt to upgrade NCI from v826 to v834. I am not used to failing at such efforts and am seriously thinking of installing and configuring SMA when I put it up again. I am betting SMA will pull together all the right INCLUDEs for NDV and build NCI v834 (or later) correctly.

-Brian

We just upgraded to NCI 834 in the Spring. It was a stretch for me too because an important change was documented in NCI 827, but not again in NCI 834.

You have to move all the NCI parms into the NATPARM module as macro NTCICSP……AND the values have changed from YES/NO to ON/OFF (which I missed at first…I moved the macro into the Natparm module but failed to change all my YES settings to ON and all my NO settings to OFF), but now I have it set correctly and all is well. Here is an example of the NTCICSP macro I have set:

NTCICSP PREFIX=&SYSPARM, NAME PREFIX +
BACKEND=ON, BACK-END PROGRAM +
BACKOUT=ON, BACKOUT TRANSACTION ABENDS +
BACKRPL=ALL, LIST BACK-END PROGRAM +
CALLRPL=ALL, LIST EXTERNAL SUBROUTINE +
CHAP=OFF, %cpa TASK DISPATCHING PRIORITY +
CNTCALL=OFF, %cpa CICS CALL USING DATA CONTAINER +
COMARET=ON, COMMAREA USAGE TASK CONTRO +
DUPTID=ON, HANDLE DUPLICATE TID +
FDTPX=ON, %cpa FORCE DTP EXIT CALL FOR LINE1 +
LOGDEST=NLOG, DEST.ID FOR SESSION LOGGNG +
MSGDEST=NERR, DEST.ID FOR ERROR MSG LOG +
MSGPFX=ON, GEN NCI MESSAGE PREFIX +
MSGTRAN=NMSG, MSG SWITCHING TRANSACT ID +
PRMDEST=NPRM, NAME OF CICS DESTINATION +
PSTRNID=ON, PGM IS PSEUDO CONV TRAN ID +
RESENDC=OFF, %cpa RESEND LAST SCREEN ON CALL +
RESENDS=OFF, %CPA RESEND LAST SCREEN RESUME +
RJEDEST=NRJE, DESTINATION ID FOR SUBMIT +
SLCALL=OFF, STD LINK CALL WHEN NO CMDLVL +
SLNOHLD=OFF, %cpa LOAD OPTION FOR EXTERNAL PGMS +
SNDLAST=OFF, LAST OPTION FOR EXEC CICS +
TERMVAR=‘&&TID’, TERMINAL ID VARIABLE +
TRANCHK=OFF, CHECK FOR TRANSID IN INPUT +
UCTRAN=OFF, %cpa LOWER/MIXED CASE SUPPORT +
UNITID=OFF, ESTABLISH UNIQUE TID +
USERID=OFF %cpa DEAL WITH CICS USER ID

Good luck with your upgrade and feel free to post additional questions.

Sorry about the text spacing on that last post. I have yet to learn how to get spacing in such online posts. If you have any suggestions for getting proper spacing in such posts, I’d love to hear about it. Lol.

Kathy

Hi Kathy,

Thanks much for your response. I haven’t been successful and have had to put this aside and work on other things, so it may be a while before I try again. Perhaps I will wait for Natural 9 and install everything using SMA since I have a feeling it’s a lot of our in-house customizations that are the problem, and it isn’t clear to anyone still working here why we did them in the first place LOL.

I did get all the ways in which NCI834 differs from NCI827, including the NCICSPB macro:

NTCICSP PREFIX=&SYSPARM,                Name prefix           +
      BACKEND=ON,                       Back-End Program      +
      BACKOUT=ON,                       Backout Trans.Abends  +
      BACKRPL=ALL,                      List Back-End Prog    +
      CALLRPL=(ALL,2),                  List Ext.Subr         +
      CHAP=OFF,                         Task Disp Prio        +
      COMARET=ON,                       Commarea Task Contro  +
      DUPTID=ON,                        Handle duplicate TID  +
      LOGDEST=CSSL, WAS NLOG            Dest.ID for logging   +
      MSGDEST=CSSL, WAS NERR            Dest.ID for error log +
      MSGPFX=ON,                        GEN NCI message pref  +
      MSGTRAN=NMSG,                     MSG switching Trans ID+
      PRMDEST=NPRM,                     Name of CICS dest.    +
      PSTRNID=OFF,  WAS ON              PGM is pseudo conc    +
      RCVASYN=ON,                       Recover Asyn Session  +
      RESENDC=ON,                       Resend last screen    +
      RESENDS=ON,                       Resend last scr resume+
      RJEDEST=NRJE,                     Dest ID for submit    +
      SLCALL=OFF,   WAS ON              STD link call         +
      SLNOHLD=ON,   WAS OFF             Load Opt Ext Pgm w SL +
      SNDLAST=ON,                       Last option           +
      TERMVAR='&&TID',                  Term.ID variable      +
      TRANCHK=OFF,                      Check transid in input+
      UCTRAN=ON,                        Low/Mixed case supp.  +
      UNITID=OFF,                       Establish unique TID  +
      USERID=ANY,                       Any CICS User ID      +
      WAITIME=30                        Recov.task wakeup     
-------------------------------------------------------------*
Additional Natural Macros                                    *
-------------------------------------------------------------*
NTCFICU OFF                                                   
NTXML OFF                                                     
END  

I am highlighting my parms and clicking on the “Code” button to see if the formatting is easier to read. :slight_smile:

Thanks,

Brian