ABAP - fichero de unicode a ascii

 
Vista:

fichero de unicode a ascii

Publicado por Jacoland (1 intervención) el 30/11/2006 10:08:12
Hola

Al hacer un cambio de versión de sap a 4.c, un programa que tiene un formulario que genera un fichero,(estaba en unicode)
en vez de poner <CR/RF> para indicar final de linea y salto de página pone [ ] (2 corchetes),con lo que el fichero está mal

que se podría hacer

a ver si me podeis ayudar,qe es lo primero que me han dicho de hacer tras haber aterrizado en el mundo sap

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

fichero de unicode a ascii

Publicado por Alejandro (226 intervenciones) el 12/04/2023 01:57:24
Hola.

Para convertir un fichero de Unicode a ASCII, puedes utilizar la función de conversión de texto 'SCMS_STRING_TO_XSTRING'. Esta función toma una cadena de caracteres en Unicode y la convierte en una cadena de caracteres en ASCII. A continuación, puedes utilizar la función 'GUI_DOWNLOAD' para descargar el archivo convertido.

Por ejemplo, el siguiente código muestra cómo convertir un archivo de texto en Unicode a un archivo de texto en ASCII y descargarlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
DATA: lv_file TYPE string VALUE 'c:\test\unicode_file.txt',
      lv_ascii TYPE xstring,
      lv_filename TYPE string VALUE 'ascii_file.txt'.
 
* Lee el archivo Unicode
OPEN DATASET lv_file FOR INPUT IN BINARY MODE.
READ DATASET lv_file INTO lv_ascii.
CLOSE DATASET lv_file.
 
* Convierte la cadena de caracteres Unicode en ASCII
CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
  EXPORTING
    text = lv_ascii
  IMPORTING
    buffer = lv_ascii.
 
* Descarga el archivo ASCII
CALL FUNCTION 'GUI_DOWNLOAD'
  EXPORTING
    filename              = lv_filename
    filetype              = 'ASC'
  TABLES
    data_tab              = lv_ascii.

Ten en cuenta que esto solo convierte la cadena de caracteres, no el formato de los saltos de línea. Para reemplazar los corchetes por saltos de línea y/o otros caracteres, puedes utilizar la función 'REPLACE'.

Espero que esto te ayude.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar