Alan,

I was suggesting removing return values from your code because I thought it'd ELIMINATE headaches.  Banging your head is only going to give you headaches.

Having a return value together with RTNPARM is like giving yourself a headache, but making it better with aspirin.   Not having a return value at all is like eliminating the headache in the first place.

Enough analogies :-)

-SK


On 12/11/2018 3:41 PM, Alan Shore wrote:
Hmmm
Back to banging my head on the desk

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 4:39 PM
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxx>
Subject: Re: [EXTERNAL] Re: Question concerning Integrated Web Services

Alan,

We're running 7.2 on this box, so I checked for PTF SI68555 (SI68556 is the 7.3 equivalent) and I do not have it installed.

-SK


On 12/11/2018 1:36 PM, Alan Shore wrote:
Hi Scott
From an e-mail that Nadir Amrar sent
Has your system had the ptf SI68556 applied?

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:30 PM
To: 'Midrange Systems Technical Discussion' <midrange-l@xxxxxxxxxxxx>
Subject: RE: [EXTERNAL] Re: Question concerning Integrated Web
Services

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
--
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.