And the bit about data types not needing to be the same is wrong to the best of my knowledge since the compiler has no knowledge of what is expected and therefore cannot make transforms.



Jon Paris

www.partner400.com
www.SystemiDeveloper.com

On May 12, 2015, at 5:07 PM, Charles Wilt <charles.wilt@xxxxxxxxx> wrote:

> Just for the archive...the link Brad provided to a post by Bruce has:
> 
> "If your RPG procedure prototypes a parameter as VALUE you’ll use BY VALUE
> in COBOL. If the prototype has CONST you’ll use BY CONTENT. And if neither
> VALUE or CONST, use BY REFERENCE. GIVING identifies the procedures RETURN
> value."
> 
> The programmers guide shows:
> CALL…BY CONTENT identifier
> CALL…BY CONTENT literal
> 
> I'm a little confused by this statement in the language reference regarding
> BY CONTENT Phrase - "The number of characters in each parameter must be
> equal; however, the data descriptions need not be the same."
> 
> Also seems that COBOL supports omittable parms also.
> 
> So I don't see any indication that CONST on an RPG param prevents calling
> by COBOL.
> 
> Charles
> 
> 
> On Mon, May 11, 2015 at 11:58 PM, Bradley Stone <bvstone@xxxxxxxxx> wrote:
> 
>> I wondered the same thing, Henrick.
>> 
>> I haven't done COBOL since the 90s but a search shows this answer from
>> Bruce Vinning:
>> 
>> 
>> http://itknowledgeexchange.techtarget.com/itanswers/calling-rpg-proc-from-cobol-ile/
>> 
>> I guess I just assumed that with ILE things worked as ILE... If CONST ruins
>> that relationship maybe it should be more "publicized".  :)  I plan too
>> look further into this issue that's for sure as it's the first I've heard
>> of it.
>> 
>> Brad
>> www.bvstools.com
>> 
>> On Mon, May 11, 2015 at 2:03 AM, Henrik Rützou <hr@xxxxxxxxxxxx> wrote:
>> 
>>> I know nothing about COBOL interface to RPG service programs, what is
>>> the difference (besides the /copybook) ?
>>> 
>>> On Mon, May 11, 2015 at 5:04 AM, Kelly Cookson <KCookson@xxxxxxxxxxxx>
>>> wrote:
>>> 
>>>> Thanks Jon. There are a number of tools for mobile development on the
>> IBM
>>>> i.
>>>> 
>>>> However, our shop has decided to develop mobile client interfaces using
>>>> responsive web sites and hybrid apps (Cordorva/PhoneGap). This is
>> because
>>>> all of our current mobile developers are coming from a background of
>>>> Microsoft .NET web development. Our shop has spent years developing
>>>> websites that connect to the IBM i using web services written in .NET
>> and
>>>> using the .NET Data Provider.
>>>> 
>>>> For our IBM i COBOL developers (including myself) to become web and
>>> mobile
>>>> developers, we will have to use HTML5, CSS3, JavaScript, AJAX, JSON and
>>>> Cordova/PhoneGap to develop client interfaces. I was hoping to use
>>> Node.JS
>>>> on the IBM i to give our COBOL developers a path to web services
>> without
>>>> having to learn .NET. Node.JS isn't going to work for us at this time.
>>> But
>>>> we can: (a) use our shop's standard technologies to develop web and
>>> mobile
>>>> client interfaces, and (b) hook up the client interfaces to web
>> services
>>>> developed with COBOL CGI programs. This gets our IBM i COBOL developers
>>>> into web and mobile development without having to learn .NET, and it
>>>> leverages our existing expertise in COBOL.
>>>> 
>>>> I have designed an architecture for CGI programming on the IBM i that
>>>> conforms to REST architectural constraints as described in Fielding's
>>>> dissertation. I am now gathering information on tools available to help
>>> us
>>>> with the COBOL CGI programming. Next step, proof of concepts...
>>>> 
>>>> Thanks,
>>>> Kelly
>>>> 
>>>> 
>>>> -----Original Message-----
>>>> From: WEB400 [mailto:web400-bounces@xxxxxxxxxxxx] On Behalf Of Jon
>> Paris
>>>> Sent: Sunday, May 10, 2015 9:36 PM
>>>> To: Web400@Midrange. Web400
>>>> Subject: Re: [WEB400] Does the eRPG SDK template system support JSON?
>>>> 
>>>> For Mobile development with COBOL you should really take a look at
>>> Lansa's
>>>> LongRange http://www.longrangemobile.com
>>>> 
>>>> I know that works pretty well with COBOL because I helped translate a
>> few
>>>> of the RPG examples into COBOL.
>>>> 
>>>> 
>>>> Jon Paris
>>>> 
>>>> www.partner400.com
>>>> www.SystemiDeveloper.com
>>>> 
>>>> On May 10, 2015, at 8:00 PM, Kelly Cookson <KCookson@xxxxxxxxxxxx>
>>> wrote:
>>>> 
>>>>> I will look for the template system in CGICBLDEV2 when I get it
>>>> installed and start playing around with it.
>>>>> 
>>>>> I literally just started looking at CGI tools. I recently learned
>> that
>>>>> our shop will not be adopting Node.JS on the IBM i at any time in the
>>>>> foreseeable future. Kind of a bummer. But the same reasons for not
>>>>> adopting Node.JS make CGI using COBOL programs an attractive
>>>>> alternative. (Every shop is different, and I'm sure Node.JS will work
>>>>> wonderfully for a lot of shops. It's just not a good fit for us at
>>>>> this time.)
>>>>> 
>>>>> I'm still committed to helping our IBM i COBOL developers become web
>>>>> and mobile developers as well. ;-)
>>>>> 
>>>>> Thanks,
>>>>> Kelly
>>>>> 
>>>>> -----Original Message-----
>>>>> From: WEB400 [mailto:web400-bounces@xxxxxxxxxxxx] On Behalf Of Jon
>>>>> Paris
>>>>> Sent: Sunday, May 10, 2015 7:30 PM
>>>>> To: Web400@Midrange. Web400
>>>>> Subject: Re: [WEB400] Does the eRPG SDK template system support JSON?
>>>>> 
>>>>> CGICBLDEV2 uses a template system too Kelly.
>>>>> 
>>>>> 
>>>>> Jon Paris
>>>>> 
>>>>> www.partner400.com
>>>>> www.SystemiDeveloper.com
>>>>> 
>>>>> On May 10, 2015, at 12:55 PM, Kelly Cookson <KCookson@xxxxxxxxxxxx>
>>>> wrote:
>>>>> 
>>>>>> Thanks Jon. I am looking at CGICBLDEV2 as well. And I'm looking at
>>>> other solutions such as the CGI interface to XMLSERVICE and iWebSrv.
>>>>>> 
>>>>>> The thing I like about eRPG SDK is the use of a template system to
>>>> format data for return to the client. This seems to me a potentially
>>>> intuitive way for developers who only do COBOL and DDS to deal with
>>>> returning JSON data. Still, I am also looking at other options for JSON
>>>> with COBOL (YAJL, PowerEXT, Redvers COBOL JSPN Interface).
>>>>>> 
>>>>>> The client interfaces we develop will using jQuery AJAX to make GET
>>> and
>>>> POST requests, and they will be expecting data formatted in JSON as the
>>>> response. By keep the contract between the client and the web service
>>>> uniform (AJAX GET and POST requests, JSON responses) we can develop
>>> client
>>>> interfaces that can easily switch between IBM i back ends and Windows
>>> back
>>>> ends. We just need to point the client to a new URL to switch back
>> ends.
>>>> This is one of the benefits of the uniform interface constraint of
>>> RESTful
>>>> architecture.
>>>>>> 
>>>>>> Thanks,
>>>>>> Kelly
>>>>>> 
>>>>>> -----Original Message-----
>>>>>> From: WEB400 [mailto:web400-bounces@xxxxxxxxxxxx] On Behalf Of Jon
>>>>>> Paris
>>>>>> Sent: Sunday, May 10, 2015 10:23 AM
>>>>>> To: Web400@Midrange. Web400
>>>>>> Subject: Re: [WEB400] Does the eRPG SDK template system support
>> JSON?
>>>>>> 
>>>>>> Kelly,
>>>>>> 
>>>>>> You might want to also look at the COBOL interfaces for CGIDEV2 (
>>>> http://www.easy400.net/cgicbldev2p/start.pgm).
>>>>>> 
>>>>>> No disrespect to Brad's eRPG but some RPG-oriented interfaces can be
>>>> very difficult to use in COBOL. Reason, in part, is that such routines
>>> tend
>>>> to take advantage of the facilities offered by prototypes - for example
>>> the
>>>> keyword CONST allows you to specify a literal instead of a variable.
>>> COBOL
>>>> has no such option and therefore the fields usually need to be passed
>>>> exactly as specified in the called routine. That usually requires
>> quite a
>>>> bit more work and makes the examples hard to follow.
>>>>>> 
>>>>>> Giovanni has already done the grunt work and provided documented
>>> native
>>>> COBOL interfaces to CGIDEV2 routines that make it much easier.
>>>>>> 
>>>>>> Just a thought.  Unless Brad has added a lot of new stuff to eRPG
>> that
>>>> I am unaware of, I think that the capabilities of CGIDEV2 are a close
>>> match.
>>>>>> 
>>>>>> 
>>>>>> Jon Paris
>>>>>> 
>>>>>> www.partner400.com
>>>>>> www.SystemiDeveloper.com
>>>>>> 
>>>>>> On May 10, 2015, at 10:46 AM, Kelly Cookson <KCookson@xxxxxxxxxxxx>
>>>> wrote:
>>>>>> 
>>>>>>> Thanks Brad.
>>>>>>> 
>>>>>>> I assume I wouldn't have any problems implementing this in ILE
>> COBOL.
>>>> I've seen several tutorial examples of creating JSON in RPG, which is
>>> made
>>>> easier by built-in functions (like trim) and by  the new += assignment
>>>> operator. Unfortunately, RPG is not a standard language in our shop. So
>>> I'd
>>>> need to use eRPG SDK in ILE COBOL.
>>>>>>> 
>>>>>>> Thanks,
>>>>>>> Kelly
>>>>>>> 
>>>>>>> -----Original Message-----
>>>>>>> From: WEB400 [mailto:web400-bounces@xxxxxxxxxxxx] On Behalf Of
>>>>>>> Bradley Stone
>>>>>>> Sent: Sunday, May 10, 2015 8:10 AM
>>>>>>> To: Web Enabling the IBM i (AS/400 and iSeries)
>>>>>>> Subject: Re: [WEB400] Does the eRPG SDK template system support
>> JSON?
>>>>>>> 
>>>>>>> Hi, Kelly.
>>>>>>> 
>>>>>>> The eRPG SDK is a template designed system, so if you create JSON
>>>> templates the eRPG SDK would work the same as if it was using XML,
>> HTML,
>>> or
>>>> pretty much anything else.
>>>>>>> 
>>>>>>> It doesn't know what type of data you're creating using the
>>>>>>> templates and replacement variables.  :)
>>>>>>> 
>>>>>>> Brad
>>>>>>> www.bvstools.com
>>>>>>> 
>>>>>>> On Sun, May 10, 2015 at 2:15 AM, Kelly Cookson
>>>>>>> <KCookson@xxxxxxxxxxxx>
>>>>>>> wrote:
>>>>>>> 
>>>>>>>> Suppose I want to develop a CGI program in ILE COBOL using eRPG
>> SDK.
>>>>>>>> 
>>>>>>>> Can the ILE COBOL program read a DB2 table and use the eRPG SDK
>>>>>>>> template system to return a JSON string?
>>>>>>>> 
>>>>>>>> Thanks,
>>>>>>>> 
>>>>>>>> Kelly Cookson
>>>>>>>> IT Project Leader
>>>>>>>> Dot Foods, Inc.
>>>>>>>> 1.217.773.4486 ext. 12676
>>>>>>>> kcookson@xxxxxxxxxxxx<mailto:kcookson@xxxxxxxxxxxx>
>>>>>>>> 
>>>>>>>> 
>>>>>>>> --
>>>>>>>> This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400)
>>>>>>>> mailing list To post a message email: WEB400@xxxxxxxxxxxx To
>>>>>>>> subscribe, unsubscribe, or change list options,
>>>>>>>> visit: http://lists.midrange.com/mailman/listinfo/web400
>>>>>>>> or email: WEB400-request@xxxxxxxxxxxx Before posting, please
>> take a
>>>>>>>> moment to review the archives at
>> http://archive.midrange.com/web400
>>> .
>>>>>>>> 
>>>>>>>> 
>>>>>>> --
>>>>>>> This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400)
>>>>>>> mailing list To post a message email: WEB400@xxxxxxxxxxxx To
>>>>>>> subscribe, unsubscribe, or change list options,
>>>>>>> visit: http://lists.midrange.com/mailman/listinfo/web400
>>>>>>> or email: WEB400-request@xxxxxxxxxxxx Before posting, please take
>> a
>>>>>>> moment to review the archives at
>> http://archive.midrange.com/web400.
>>>>>>> 
>>>>>>> --
>>>>>>> This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400)
>>>>>>> mailing list To post a message email: WEB400@xxxxxxxxxxxx To
>>>>>>> subscribe, unsubscribe, or change list options,
>>>>>>> visit: http://lists.midrange.com/mailman/listinfo/web400
>>>>>>> or email: WEB400-request@xxxxxxxxxxxx Before posting, please take
>> a
>>>>>>> moment to review the archives at
>> http://archive.midrange.com/web400.
>>>>>>> 
>>>>>> 
>>>>>> --
>>>>>> This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400)
>>>>>> mailing list To post a message email: WEB400@xxxxxxxxxxxx To
>>>>>> subscribe, unsubscribe, or change list options,
>>>>>> visit: http://lists.midrange.com/mailman/listinfo/web400
>>>>>> or email: WEB400-request@xxxxxxxxxxxx Before posting, please take a
>>>>>> moment to review the archives at http://archive.midrange.com/web400
>> .
>>>>>> 
>>>>>> --
>>>>>> This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400)
>>>>>> mailing list To post a message email: WEB400@xxxxxxxxxxxx To
>>>>>> subscribe, unsubscribe, or change list options,
>>>>>> visit: http://lists.midrange.com/mailman/listinfo/web400
>>>>>> or email: WEB400-request@xxxxxxxxxxxx Before posting, please take a
>>>>>> moment to review the archives at http://archive.midrange.com/web400
>> .
>>>>>> 
>>>>> 
>>>>> --
>>>>> This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400)
>>>>> mailing list To post a message email: WEB400@xxxxxxxxxxxx To
>>>>> subscribe, unsubscribe, or change list options,
>>>>> visit: http://lists.midrange.com/mailman/listinfo/web400
>>>>> or email: WEB400-request@xxxxxxxxxxxx
>>>>> Before posting, please take a moment to review the archives at
>>>>> http://archive.midrange.com/web400.
>>>>> 
>>>>> --
>>>>> This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400)
>>>>> mailing list To post a message email: WEB400@xxxxxxxxxxxx To
>>>>> subscribe, unsubscribe, or change list options,
>>>>> visit: http://lists.midrange.com/mailman/listinfo/web400
>>>>> or email: WEB400-request@xxxxxxxxxxxx
>>>>> Before posting, please take a moment to review the archives at
>>>>> http://archive.midrange.com/web400.
>>>>> 
>>>> 
>>>> --
>>>> This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400)
>> mailing
>>>> list To post a message email: WEB400@xxxxxxxxxxxx To subscribe,
>>>> unsubscribe, or change list options,
>>>> visit: http://lists.midrange.com/mailman/listinfo/web400
>>>> or email: WEB400-request@xxxxxxxxxxxx
>>>> Before posting, please take a moment to review the archives at
>>>> http://archive.midrange.com/web400.
>>>> 
>>>> --
>>>> This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400)
>> mailing
>>>> list
>>>> To post a message email: WEB400@xxxxxxxxxxxx
>>>> To subscribe, unsubscribe, or change list options,
>>>> visit: http://lists.midrange.com/mailman/listinfo/web400
>>>> or email: WEB400-request@xxxxxxxxxxxx
>>>> Before posting, please take a moment to review the archives
>>>> at http://archive.midrange.com/web400.
>>>> 
>>>> 
>>> 
>>> 
>>> --
>>> Regards,
>>> Henrik Rützou
>>> 
>>> http://powerEXT.com <http://powerext.com/>
>>> --
>>> This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) mailing
>>> list
>>> To post a message email: WEB400@xxxxxxxxxxxx
>>> To subscribe, unsubscribe, or change list options,
>>> visit: http://lists.midrange.com/mailman/listinfo/web400
>>> or email: WEB400-request@xxxxxxxxxxxx
>>> Before posting, please take a moment to review the archives
>>> at http://archive.midrange.com/web400.
>>> 
>>> 
>> --
>> This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) mailing
>> list
>> To post a message email: WEB400@xxxxxxxxxxxx
>> To subscribe, unsubscribe, or change list options,
>> visit: http://lists.midrange.com/mailman/listinfo/web400
>> or email: WEB400-request@xxxxxxxxxxxx
>> Before posting, please take a moment to review the archives
>> at http://archive.midrange.com/web400.
>> 
>> 
> -- 
> This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) mailing list
> To post a message email: WEB400@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/web400
> or email: WEB400-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/web400.
> 


As an Amazon Associate we earn from qualifying purchases.

This thread ...

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.