|
Because it's a varying length field, I don't think you do this:
C EVAL TEXTMsg160 = '(PCTAlerts) ' +
C %trim(TEXTMsg)
you simply do this:
C EVAL TEXTMsg160 = '(PCTAlerts) ' +
C TEXTMsg
No %trim is necessary as it's handled automajically.
--
Jeff Crosby
UniPro FoodService/Dilgard
P.O. Box 13369
Ft. Wayne, IN 46868-3369
260-422-7531
The opinions expressed are my own and not necessarily the opinion of my
company. Unless I say so.
-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Mike Cunningham
Sent: Wednesday, February 06, 2008 1:48 PM
To: 'Midrange Systems Technical Discussion'
Subject: passing an RPG variable length field to a CL as fixed length
I have an RPG app calling a CL app. The RPG app as a variable
length field for a message that I need to cut down to a fixed
length 160 byte field to pass to a CL program. If I look at
the variable TEXTMsg160 just before the call I do not see the
length part of the variable field but when the CL program
gets &MESSAGE and I use a SNDMSG to see what it contains
there are who hex characters in the front. I can only guess
that this is the length of the variable. Shouldn't the EVAL
that moves the string from the variable length field to the
fixed length field also remove the length part of the
variable length field? If not how else can this be done?
The RPG fields are defined as...
D TEXTMsg S 5000 VARYING
D TEXTMsg160 S 160
The code is ...
C EVAL TEXTMsg160 = '(PCTAlerts) ' +
C %trim(TEXTMsg)
C CALL 'UTJSMSMSG' SndSmsMsg
The CL is defined as...
PGM PARM(&PHONE &MESSAGE)
DCL VAR(&PHONE) TYPE(*CHAR) LEN(10)
DCL VAR(&MESSAGE) TYPE(*CHAR) LEN(160)
--
As an Amazon Associate we earn from qualifying purchases.
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.