× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Greg,

As you probably know, a varchar has 2 or 4 bytes at the front that show the
currently assigned length.
When calling from RPGLE using the prototype as you have defined it, RPGLE
would convert the value from a var to a varchar behind the scenes for you.
CL does not have varchars and does not have functionality to investigate
the prototype and do the conversion for you.

There are a few different ways to solve the problem - here is a link to an
old post on the subject,

https://archive.midrange.com/rpg400-l/201409/msg00199.html

regards,
Craig

On Tue, 27 Nov 2018 at 16:35, Greg Wilburn <gwilburn@xxxxxxxxxxxxxxxxxxxxxxx>
wrote:

I am trying to call a well-established RPG procedure (function) from a
CLLE program. I call this all the time from RPGLE.

When executing the CLLE pgm, I get "Length of varying length variable is
out of range"

The ILE RPG procedure is defined as follows:
P Ast_GetRf B Export
Procedure to Get
D Ast_GetRf pi 800a
Reference File Data
D incat 4a Const
Input Category
D inslc 16a Varying Const
Input Selection

I've tried all different iterations within the CL pgm. I don't do this
very often... so I know I'm missing something.
The CLLE looks like this:

DCL VAR(&RFCAT) TYPE(*CHAR) LEN(4)
DCL VAR(&RFSLC) TYPE(*CHAR) LEN(16)
DCL VAR(&RFDTA) TYPE(*CHAR) LEN(800)

CHGVAR VAR(&RFCAT) VALUE('0021')
CHGVAR VAR(&RFSLC) VALUE(&WHS#)
CALLPRC PRC('Ast_GetRf') PARM((&RFCAT) (&RFSLC))
RTNVAL(&RFDTA)

I'm just about to give up and write a RPGLE program to call from the CLP.
Any insight would be appreciated.

Greg

--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-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 ...

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.