In RPG IV if the Proto says 10a Const (or Value for that matter) and you pass ‘A’ then the compiler creates a 10a area, copies the data to it (i.e. ‘A         ‘) and then passes the temp.

In COBOL I would have to define an X(10) field, move ‘A’ into it and then pass that.


Jon Paris

www.partner400.com
www.SystemiDeveloper.com

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

> Brad said something (that I interpreted) to that effect.
> 
> How can you have a field the same length if you can pass a literal?
> 
> If the parm is 10A, and you want to pass 'HI' to you have to pass 'HI
> '?
> 
> I've never used COBOL on the i, but my first paid language was COBOL...so I
> was curious enough to glance through than ILE COBOL manuals :)
> 
> Charles
> 
> 
> 
> 
> On Tue, May 12, 2015 at 9:55 PM, Jon Paris <jon.paris@xxxxxxxxxxxxxx> wrote:
> 
>> Nobody said it did Charles.
>> 
>> I just said it was harder in COBOL because the compiler doesn’t do any
>> work for you.  Even BY CONTENT is not the same because the field passed
>> still has to have the correct length and data type.
>> 
>> 
>> 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.
>>> 
>> 
>> --
>> 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 ...

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.