ABAP - levantar un excel y pasarlo a una orden de SPOOL.

 
Vista:

levantar un excel y pasarlo a una orden de SPOOL.

Publicado por hk (1 intervención) el 18/01/2010 19:40:56
Basicamente en esto, como levanto un archivo excel.... y dentro de sap , lo envio a una orden de spool para imprimir.

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

levantar un excel y pasarlo a una orden de SPOOL.

Publicado por Alejandro (226 intervenciones) el 13/04/2023 01:32:50
Para leer un archivo de Excel en SAP, puedes utilizar la función 'ALSM_EXCEL_TO_INTERNAL_TABLE' que permite cargar un archivo de Excel en una tabla interna de SAP.

Aquí te proporciono un ejemplo de código ABAP para leer un archivo de Excel y escribirlo en una orden de spool:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
DATA: it_excel TYPE STANDARD TABLE OF alsmex_tabline,
      wa_excel TYPE alsmex_tabline,
      it_spool TYPE STANDARD TABLE OF tsp01,
      wa_spool TYPE tsp01.
 
* Cargar el archivo de Excel en la tabla interna
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
  EXPORTING
    filename          = 'ruta_del_archivo.xlsx'
    i_begin_col       = 'A'
    i_begin_row       = 1
  TABLES
    intern            = it_excel.
 
* Escribir los datos de la tabla interna en la orden de spool
LOOP AT it_excel INTO wa_excel.
  CLEAR wa_spool.
  wa_spool-tddest = 'LOCL'.
  wa_spool-tdsprt = 'LP01'.
  wa_spool-tdimmed = 'X'.
  wa_spool-tdnopr = 'X'.
  wa_spool-tdname = 'nombre_de_la_orden_de_spool'.
  wa_spool-tdpid = sy-pid.
  wa_spool-tdrequest = 'X'.
  CONCATENATE wa_excel-col1 wa_excel-col2 wa_excel-col3 INTO wa_spool-tdline.
  APPEND wa_spool TO it_spool.
ENDLOOP.
 
* Crear la orden de spool
CALL FUNCTION 'RSPO_CREATE_SPOOL_REQUEST'
  EXPORTING
    do_dialog        = 'X'
  TABLES
    t_spool          = it_spool.

En el ejemplo, se carga el archivo de Excel en la tabla interna 'it_excel', se itera sobre la tabla interna y se escribe cada fila en la tabla interna 'it_spool'. Luego se crea la orden de spool utilizando la función 'RSPO_CREATE_SPOOL_REQUEST'.

Es importante tener en cuenta que se debe proporcionar la ruta correcta del archivo de Excel y los nombres de las columnas de la tabla interna deben coincidir con los nombres de las columnas del archivo de Excel. Además, se debe tener permisos suficientes para crear una orden de spool.
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