Yo tengo esto por aquí, Paco. Es bastante viejo, pero supongo que te valdrá.
H Debug Decedit('0,') Datedit(*DMY.)
*---------------------------------------------------------------*
* Cálculo dígito de control MOD10 *
*---------------------------------------------------------------*
D srefe s 1 0
dim(12) Referencia MOD10
D speso s 1 0
dim(12) Pesos
D s12 s 1 dim(12)
Trabajo
D sprod s 2 0
dim(12) Producto
D c1 s 1
D c12 s 12
D c13 s 13
C *entry plist
C parm CodM10 13 0
C parm rtncde 1
C move CodM10 c13
C movel c13 c12
C exsr MOD10
C move c13 CodM10
C eval *inLR = *ON
*--------------------------------------------------------------------------------------------*
* Cálculo código y dígito de control
MOD10 *
*--------------------------------------------------------------------------------------------*
C MOD10 begsr
C movea '121212121212's12
C move s12 speso
C movea c12 s12
C move s12 srefe
C srefe mult speso sprod
C do 12 x 2 0
C z-add sprod(x) xizq 1 0
C sprod(x) div 10 xder 1 0
C eval sprod(x) = xizq+xder
C enddo
C xfoot sprod suma 1 0
C 9 sub suma DCM10 1 0
C add 1 DCM10
C move DCM10 c1
C eval c13 = c12 + c1
C move c13 CodM10
C endsr
*--------------------------------------------------------------------------------------------*
Saludos,
Carlos Bartolomé.
El 09/04/2019 a las 8:11, Paco Medina - Exclusivas Camacho escribió:
Buenas, algún ejemplo rpg calculo Modulo 10
Gracias
*Paco Medina
Dept. Informática *
IT Clientes / IT Integration Services**
Exclusivas Camacho, S. Ltd.
EORI ESB29145240
Av. J. Ortega y Gasset, 301 (Pol. San Luis)
29006 Málaga, España (SPAIN)
http://www.e-camacho.com/img/logo_camacho.png
Tel. +34 952 322 900
Fax +34 952 314 900
www.e-camacho.com <http://www.e-camacho.com>
*med...@e-camacho.com* <mailto:med...@e-camacho.com>**
*Antes de imprimir piensa si es necesario, piensa en el MEDIO AMBIENTE.*
Este mensaje y sus adjuntos son confidenciales y reservados
exclusivamente a su destinatario.
Queda prohibida cualquier revelación, copia o distribución de su
contenido. Si ha recibido este
mensaje por error, notifíquelo inmediatamente por esta misma vía y
borre el mensaje de su sistema.
Los datos contenidos en las comunicaciones son tratados por EXCLUSIVAS
CAMACHO, S. L. con
domicilio en AV. ORTEGA Y GASSET 301, 29006 MÁLAGA (ESPAÑA) con el fin
de gestionar las
comunicaciones y ofrecerle la información solicitada. Puede ejercitar
sus derechos de acceso,
rectificación, supresión, oposición y limitación, remitiéndonos su
solicitud por escrito acompañando
copia de su documento de identidad. Nuestra política de protección de
datos podrá encontrarla en
https://www.e-camacho.com.
*Before printing thinks if necessary, think of ENVIRONMENT.*
This message and any attachments are confidential and intended for the
use of the addressee
only. Any disclosure, copying, distribution is strictly prohibited. If
you have received this email in error,
please notify the sender and delete it immediately. Personal data
included in this email belongs to
EXCLUSIVAS CAMACHO, S. L. with registered address in AV. ORTEGA Y
GASSET 301, 29006
MÁLAGA (SPAIN) and will be processed with the purpose of managing the
communications and
providing information. You are entitled to exercise your rights of
access, rectification, erasure, object,
and limitation by addressing such written application to the company,
together with a copy of you ID
card. You may consult our privacy and data protection policy in
https://www.e-camacho.com.
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.
H Debug Decedit('0,') Datedit(*DMY.)
*---------------------------------------------------------------*
* Cálculo dígito de control MOD10 *
*---------------------------------------------------------------*
D srefe s 1 0 dim(12)
Referencia MOD10
D speso s 1 0 dim(12)
Pesos
D s12 s 1 dim(12)
Trabajo
D sprod s 2 0 dim(12)
Producto
D c1 s 1
D c12 s 12
D c13 s 13
C *entry plist
C parm CodM10 13 0
C parm rtncde 1
C move CodM10 c13
C movel c13 c12
C exsr MOD10
C move c13 CodM10
C eval *inLR = *ON
*--------------------------------------------------------------------------------------------*
* Cálculo código y dígito de control MOD10
*
*--------------------------------------------------------------------------------------------*
C MOD10 begsr
C movea '121212121212's12
C move s12 speso
C movea c12 s12
C move s12 srefe
C srefe mult speso sprod
C do 12 x 2 0
C z-add sprod(x) xizq 1 0
C sprod(x) div 10 xder 1 0
C eval sprod(x) = xizq+xder
C enddo
C xfoot sprod suma 1 0
C 9 sub suma DCM10 1 0
C add 1 DCM10
C move DCM10 c1
C eval c13 = c12 + c1
C move c13 CodM10
C endsr
*--------------------------------------------------------------------------------------------*
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.