Just curious, with the coming of Rest Services and how simple it makes
executing logic on the IBM i, is PCML obsolete? Why would you use PCML over
using a Rest Service?

On Thu, Oct 7, 2021 at 11:19 PM D*B <dieter.bender@xxxxxxxxxxxx> wrote:

Pete,

PCML is made for people, who want to write java code, looking like rpg.
Thinking in rpg, you would have to do:
- write an rpg wrapper for your api, with the same parms as the api (one
to
one)
- compile it with CRTBNDRPG PGMINFO(*PCML) and throw it away and delete
the
rpg source
- use the PCML to call the api, don't think about, how it works

Thinking in java, you would need some Javabeans, one for each
Datastructure,
your api is using. This beans would be responsable to convert java
datatypes
to a compound of binary bits and bytes. This beans would have java like
setXxx and getXxx methods, for each single component and the binary
huddle,
rpg named this binary huddle datastructure (a funny name, isn't it?).
To call the Api, you would use ProgrammCall from jtopen.

a little example for such a bean would look like:

public class QualifiedName extends Converter {
private byte[] huddle;
private String name;
private String library;

public QualifiedName(String name, String library) {
super(500);
huddle = new byte[20];
setName(name);
setLibrary(library);
}

public byte[] getHuddle() {
return huddle;
}

public void setName(String name) {
this.name = name;
System.arraycopy(stringToAS400Text(name, 10), 0, huddle,
0, 10);
}

public void setLibrary(String library) {
this.library = library;
System.arraycopy(stringToAS400Text(library, 10), 0,
huddle, 10, 10);
}
}

getName, getLibrary and set Huddle would look very similar to the
corresponding methods in the example.
Datastructure is a Conveniance wrapper for the jtopen Objects to convert
rpg
types to java types and vice versa. The source could be found here:


https://sourceforge.net/p/appserver4rpg/codeSVN/HEAD/tree/appserver4rpg/src/de/bender_dv/as400/datastructure/Converter.java

Dieter



--
This is the Java Programming on and around the IBM i (JAVA400-L) mailing
list
To post a message email: JAVA400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/java400-l
or email: JAVA400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/java400-l.

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