We do have a JSON parser we wrote from scratch that we created for internal
use (for parsing JSON from Google and MS APIs) that a few customers have
asked for, so we made it available as well.

Brad
www.bvstools.com

On Wed, May 13, 2015 at 5:31 AM, Henrik Rützou <hr@xxxxxxxxxxxx> wrote:

> Kevin
>
> you are quite right about building a JSON string but you also have to do
> some thing with
> it afterwards.
>
> But I agree passing inbound JSON is tricky.
>
> In relation to COBOL I have never seen much demands in that field.
>
> On Wed, May 13, 2015 at 9:11 AM, Kevin Turner <
> kevin.turner@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> > Yes, apart from the fact that cgicbldev2 has no built in JSON support as
> > such - you would have to roll your own. Building JSON strings for output
> is
> > not difficult - it is parsing inbound JSON strings that is tricky.
> >
> > Sent from my iPad
> >
> > > On 13 May 2015, at 06:28, Kelly Cookson <KCookson@xxxxxxxxxxxx> wrote:
> > >
> > > The comments in this thread lead me to think that CGICBLDEV2 would
> > better help us leverage our existing COBOL skills because CGICBLDEV2 is
> > written in COBOL, eliminating some of the problems of trying to use CGI
> > packages written in RPG.
> > >
> > > Am I mistaken in this view?
> > >
> > > Thanks,
> > > Kelly
> > >
> > >
> > > -----Original Message-----
> > > From: WEB400 [mailto:web400-bounces@xxxxxxxxxxxx] On Behalf Of Jon
> Paris
> > > Sent: Tuesday, May 12, 2015 3:14 PM
> > > To: Web400@Midrange. Web400
> > > Subject: Re: [WEB400] Does the eRPG SDK template system support JSON?
> > >
> > > For the most part Brad COBOL can do anything that RPG can - but it is
> > more work.
> > >
> > > Imagine RPG in the "bad old days" without Protos and the CONST keyword.
> > >
> > > In RPG by using that one facility I can define a field as 60 long and
> > pass a literal, a 20 char field, a varying field, a function, etc. etc.
> > >
> > > In COBOL I would have to determine that I did indexed need an X(60) -
> > set up a temporary one, and then move the value I wanted into it before
> > passing the parm.
> > >
> > > Similarly COBOL has no Options(*String) so any C-type function that
> > requires passing a pointer to a null terminated string is a pain in the .
> > >
> > > And on and on.
> > >
> > > When I first had to go back and do this stuff "by hand" it may me
> > appreciate just how much work the RPG compiler was doing for me.
> > >
> > > The COBOL syntax is also rather verbose since without the protos you
> > need to specify the way in which the parm is passed on each call for each
> > parm.
> > >
> > >
> > >
> > > Jon Paris
> > >
> > > www.partner400.com
> > > www.SystemiDeveloper.com
> > >
> > >> On May 11, 2015, at 8: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-f
> > >> rom-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 email has been scanned by iomartcloud.
> > > http://www.iomartcloud.com/
> > >
> >
> > ________________________________
> >
> > NOTICE: The information in this electronic mail transmission is intended
> > by CoralTree Systems Ltd for the use of the named individuals or entity
> to
> > which it is directed and may contain information that is privileged or
> > otherwise confidential. If you have received this electronic mail
> > transmission in error, please delete it from your system without copying
> or
> > forwarding it, and notify the sender of the error by reply email or by
> > telephone, so that the sender's address records can be corrected.
> >
> >
> >
> >
> >
> --------------------------------------------------------------------------------
> >
> >
> > CoralTree Systems Limited
> > Company Registration Number 5021022.
> > Registered Office:
> > 12-14 Carlton Place
> > Southampton
> > Hampshire
> > SO15 2EA
> > VAT Registration Number 834 1020 74.
> > --
> > 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.
>
>

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.