|
Then you must incorporate something like late-bound copy to convert numeric values.... Code was originally posted by Carsten Flensburg. ** See QSYSINC/MIH.MICPTCOM D T_SIGNED C x'00' D T_FLOAT C x'01' D T_ZONED C x'02' D T_PACKED C x'03' D T_UNSIGNED C x'0A' ** D DPA_Template_T Ds Based( pDPA ) D SclTyp 1a D RcvLen 5i 0 D DecPos 3i 0 Overlay( RcvLen: 1 ) D TotDig 3i 0 Overlay( RcvLen: 2 ) D Rsv 10i 0 ** Late bound copy numeric variable: D LBCPYNV Pr ExtProc( '_LBCPYNV' ) D Target * Value D Target_Tpl Const Like( DPA_Template_T ) D Source * Value D Source_Tpl Const Like( DPA_Template_T ) ** Late bound copy numeric variable - with rounding: D LBCPYNVR PR extproc( '_LBCPYNVR' ) D Target * Value D Target_Tpl Const Like( DPA_Template_T ) D Source * Value D Source_Tpl Const Like( DPA_Template_T ) ** D SrcTpl s Like( DPA_Template_T ) D TgtTpl s Like( DPA_Template_T ) ** D SrcDs Ds D Fields25 25a D P12_3 12p 3 Inz( -12345678.915 ) D TgtDs Ds D Fields38 38a D S11_2 11s 2 ** D Msg s 52a ** C Eval pDPA = %Addr( SrcTpl ) C Eval SclTyp = T_PACKED C Eval TotDig = 12 C Eval DecPos = 3 C Eval Rsv = 0 ** C Eval pDPA = %Addr( TgtTpl ) C Eval SclTyp = T_ZONED C Eval TotDig = 11 C Eval DecPos = 2 C Eval Rsv = 0 ** C CallP LBCPYNVR( %Addr( TgtDs ) + 38 C : TgtTpl C : %Addr( SrcDs ) + 25 C : SrcTpl C ) ** C Eval Msg = %char( P12_3 ) + ' --> ' + C %char( S11_2 ) ** C Msg Dsply ** C return ** Eric DeLong Sally Beauty Company MIS-Project Manager (BSG) 940-898-7863 or ext. 1863 -----Original Message----- From: Bob cozzi [mailto:cozzi@xxxxxxxxx] Sent: Wednesday, October 15, 2003 10:46 AM To: 'RPG programming on the AS400 / iSeries' Subject: RE: Help with parameter passing You simply (simply?) pass the variable using the %ADDR built-in so the prototype doesn't know what kind of variable it is. Then you also need to pass additional parameters that describe the variable to the proc so that you don't screw up the storage and have a learning experience. Bob Cozzi Cozzi Consulting www.rpgiv.com -----Original Message----- From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Brian Parkins Sent: Wednesday, October 15, 2003 10:02 AM To: RPG programming on the AS400 / iSeries Subject: Re: Help with parameter passing Scott, you said in an earlier append: "...Anyway, the hard part .... is ... going to be figuring out how to write RPG code that works with any possible variable type, with any possible length and any possible number of decimal places. That'll be a lot of work. It's doable though... I've done it.." This is EXACTLY what's require for Embedded SQL when processing Dynamic Varying List SELECT statements. Care to share? Brian Parkins _______________________________________________ This is the RPG programming on the AS400 / iSeries (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 AS400 / iSeries (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 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.