× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Hi
Those drumbeats you are hearing - are NOT drumbeats
Its me banging my head on the desk
I pulled back my service module and my service program
Removed the RTNPARM

It was
dcl-pr GetCustInf LikeDS(CustInfo)
RTNPARM;
inCstDiv packed(2:0) const;
inCstNbr packed(9:0) const;
end-pr;
and

dcl-pi GetCustInf LikeDS(CustInfo)
RTNPARM;
inCstDiv packed(2:0) const;
inCstNbr packed(9:0) const;
end-pi;

changed to
dcl-pr GetCustInf LikeDS(CustInfo);
inCstDiv packed(2:0) const;
inCstNbr packed(9:0) const;
end-pr;
and

dcl-pi GetCustInf LikeDS(CustInfo);
inCstDiv packed(2:0) const;
inCstNbr packed(9:0) const;
end-pi;

NOW it wont compile
I put the RTNPARM back in
It compiles

When it doesn’t compile - the error is
*RNF0320 30 1 Errors were found while generating the program information to
be placed in the module.

But no actual errors in the listing
So I run DSPJOBLOG to see if anything is there and all I see is
Compilation stopped. Severity 30 errors found in program.

When I place the cursor on that and press F1
This is all I get
Additional Message Information

Message ID . . . . . . : RNS9308 Severity . . . . . . . : 50
Message type . . . . . : Completion
Date sent . . . . . . : 12/11/18 Time sent . . . . . . : 14:15:49

Message . . . . : Compilation stopped. Severity 30 errors found in program.
Cause . . . . . : The RPG compiler found at least one error in the program
of severity greater than that specified in the GENLVL option on the
CRTRPGMOD or CRTBNDRPG command.
Recovery . . . : Correct the errors in the program. Compile again.


But I have no idea what the error is




Alan Shore
E-mail : ASHORE@xxxxxxxx
Phone [O] : (631) 200-5019
Phone [C] : (631) 880-8640
‘If you're going through hell, keep going.’
Winston Churchill


-----Original Message-----
From: Alan Shore
Sent: Tuesday, December 11, 2018 2:05 PM
To: midrange-l@xxxxxxxxxxxx
Subject: RE: [EXTERNAL] Re: Question concerning Integrated Web Services

Hi Scott
Thanks for the reply

Let me give that a go and see what happens

All of this is brand new to me - exciting - but being the pathfinder in our company - exasperating when I come across such problems and there no one to bounce ideas off, in the next cubicle

Now I know how Lewis and Clark felt
If they got lost - they couldn’t walk into the nearest deli and ask for directions

Wait a minute - they were men
Men don’t ask for directions



Alan Shore
E-mail : ASHORE@xxxxxxxx
Phone [O] : (631) 200-5019
Phone [C] : (631) 880-8640
‘If you're going through hell, keep going.’
Winston Churchill


-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Scott Klement
Sent: Tuesday, December 11, 2018 1:51 PM
To: midrange-l@xxxxxxxxxxxx
Subject: Re: [EXTERNAL] Re: Question concerning Integrated Web Services

Alan,

I don't see why the identifier name matters?

To test this, I put together a quick program like this (I know the return values aren't useful in a business context, it was just to see if the web service worked)

**free

ctl-opt nomain option(*srcstmt) pgminfo(*pcml:*module);

dcl-proc GetStringForDivCust export;

   dcl-pi *n;
     division packed(2: 0) const;
     customer packed(9: 0) const;
     Result   char(100);
   end-pi;

   select;
   when division=1 and customer=1000;
      result = 'Data to test result here';
   when division=2 and customer=2000;
      result = 'Other test data here';
   other;
      result = 'Customer/Division not found';
   endsl;

end-proc;

Then, I deployed this web service by setting "division" and "customer"
as input, and "result" as output.

resource name: divcust
path template: /{incstdiv:\d+}/{incstnbr:\d+}

Division is *PATH_PARAM and identifier INCSTDIV Customer is *PATH_PARAM and identifier INCSTNBR

Worked perfectly for me, no errors.   The only thing I can think of is that you're using RTNPARM and a return value rather than parameters, which seems like an odd thing to do.  Remember, the input/output of a web service comes via the URL or from a document such as JSON or XML. Why would you use a feature like RTNPARM saying "use a return value but make it really be a parameter under the covers".  That's really confusing, and there's no real notion of that concept in other programming languages, which makes this a real headache.

Just use parameters, as I have above, and this should work fine.  It did for me.



On 12/11/2018 12:33 PM, Alan Shore wrote:
Hi Scott
Apologies - first of all - misspelt it - it should be RTNPARM Which
has nothing to do with IWS I was just having an exasperated moment
trying to go past the problem I was having where the identifier name
being swapped out



--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxx for any subscription related questions.

Help support midrange.com by shopping at amazon.com with our affiliate link: https://amazon.midrange.com

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.