Campo de 20 digitos

Hola Estoy necesitando tener en una tabla transparente un campo type n de 20 digitos para guardar el nro de cuenta bancaria, no he podido, que podria hacer? Se me ocurrio fue dividir la cuenta en dos campos:

cod_cuenta = '0105' de 4 digitos
bank de 16 digitos tipo char en la tabla z. 

Asi tener los 4+16 da 20 digitos al concatenar ambos campos, pero tengo un detalle, el campo cta_empresa esta definido como de 20 type n:

data: cod_banco(4) type n.
DATA: BEGIN OF ti_cabecero,

         rif(15)           TYPE c,                                
          total_reg(8)      TYPE n,                               
          sop_reg_total(15) TYPE n,                              
          sop_date(8)       TYPE n,                               
          cta_empresa(20)   TYPE n,  
END OF ti_mercantil_header.

cod_banco = '0105'.

SELECT bukrs hbkid hktid bankn
  INTO (zhr_banpro-bukrs,
        zhr_banpro-hbkid,
        zhr_banpro-hktid,
        zhr_banpro-bankn)
  FROM zhr_banpro
 WHERE bukrs EQ 'ALLE'.


      IF zhr_banpro-bukrs = 'ALLE' AND zhr_banpro-hbkid = 'FMERC' AND zhr_banpro-hktid = '5056'. " 
         CONCATENATE cod_banco zhr_banpro-bankn INTO ti_mercantil_header-cta_empresa.
      ENDIF.

Como podria hacer ?
Muchas Gracias

Ana

@aalvarez2605, para estos casos es mejor trabajar el campo como string, ya que con una cuenta bancaria no realizas ninguna operación, simplemente se consulta.
:wink:

1 me gusta

Hola, tambien puedes declararlo como NUMC ahi te toma los datos unicamente numericos pero los manipuas como char…

@aalvarez2605, lo que menciona @jumanago es correcto, cuando estas concatenando tu variable de salida debe ser un string.

Saludos.

Ok Muchas Gracias voy a probar

Yo te recomendaria consultar el infotipo 9 y te guiaras por ahi…ahi se guarda la cuenta

Ok Muchas Gracias.

Saludos

Ana