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



In this case, as I see it, a key advantage to DS is that a meaningful name
may be associated with the subparts (ERPGM, ERCODE, ERTEXT maybe), while
%subst() requires that the maintainer understand the layout you just
described, and maintain without meaning.

Dennis Lovelady
http://www.linkedin.com/in/dennislovelady
--
There is a foolish corner
in the brain of the wisest man.
-- Aristotle


Why %subst() on error? Why isn't error a data structure?
Dunno. It's just a procedure wrapper so that it can be called by an
RPGIII. The first guy to write a wrapper wrote it that way and the rest
of us just copy without asking questions. Is there an advantage with a
DS?

And why are you only pulling 6 bytes for what is a 10 byte value?
ErrorPgm = %SUBST ( error : 1 : 6 );

Error will always be returned formatted so :
PGM001(0001) This is the message text.

It needs to be redecomposed for the RPGIII caller so :
ErrorPgm        = 'PGM001 '
ErrorCode       = '0001'
ErrorMsg = 'This is the message text.
'




P Main            B
D                 PI
D ErrorCode                           LIKE ( ERRCD ) D
ErrorPgm
LIKE ( ERRPG ) D ErrorMsg                            LIKE ( ERRLB )

D error           S                   LIKE( ERRMG )

IF NOT MySP ( error );

  ErrorCode = %SUBST ( error : 8 : 4 );
  ErrorMsg  = %SUBST ( error : 14 );
  ErrorPgm  = %SUBST ( error : 1 : 6 );

ENDIF;


Debugging, if I change ErrorPgm, then positions 11 to 20 in
ErrorMsg change.


error   = 79A
ErrorCode       =  4A
ErrorMsg        = 73A
ErrorPgm        = 10A


Thanks.
--
This is the RPG programming on the IBM i / System i
(RPG400-L) mailing
list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx Before posting,
please take a
moment to review the archives at
http://archive.midrange.com/rpg400-l.


--
This is the RPG programming on the IBM i / System i
(RPG400-L) mailing list To post a message email:
RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change
list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.


--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing
list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.



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.