MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Consulta muy basica... (foro/showthread.php?t=31057)

RAMONES 06/07/09 16:06:39

Consulta muy basica...
 
Buenos dias ante todo, estoy haciendo un select y lo que preciso es volcarlo a un archivo TXT, uso esta funcion tanto como la WS_DOWNLOAD, pero en ambas no me crea el archivo, la verdad no se porque, es la primera vez que me pasa que no me funcione, alguien sabria porque? El reporte se ejecuta normalmente pero el subrc de la funcion es distinto a cero...

CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = 'C:\prueba.txt'
filetype = 'ASC'
TABLES
data_tab = IT_CDHDR
EXCEPTIONS
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
OTHERS = 5.


Muchas gracias!!!

luis999 06/07/09 16:34:20

Hola, el codigo que pones me parece correcto, podrías poner todo el código para ver en que parte esta el error :)


RAMONES 06/07/09 16:37:32



REPORT z_prueba .

types: BEGIN OF t_cdhdr,
changenr TYPE cdhdr-changenr,
username TYPE cdhdr-username,
udate TYPE cdhdr-udate,
END OF t_cdhdr.

types: BEGIN OF t_cdpos,
objectid TYPE cdpos-objectid,
changenr TYPE cdpos-changenr,
value_new TYPE cdpos-value_new,
value_old TYPE cdpos-value_old,
END OF t_cdpos.

data: it_cdhdr type table of t_cdhdr with header line,
it_cdpos type table of t_cdpos with header line.

SELECT-OPTIONS: s_udate FOR sy-datum.

SELECT changenr username udate
FROM cdhdr
INTO TABLE it_cdhdr
WHERE udate IN s_udate.

PERFORM bajar_a_txt.


*&---------------------------------------------------------------------*
*& Form BAJAR_A_TXT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM bajar_a_txt.

CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = 'C:\prueba.txt'
filetype = 'ASC'
TABLES
data_tab = IT_CDHDR
EXCEPTIONS
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
OTHERS = 5.

IF sy-subrc = 0.

WRITE: 'archivo bajado exitosamente'.

ELSE.

WRITE: 'ARCHIVO NO BAJADO'.

ENDIF.



ENDFORM. " BAJAR_A_TXT





PD: Una aclaracion, el subrc es 3 (gui_refuse_filetransfer), pero no se que pasa, muchas gracias!!

luis999 06/07/09 16:56:32

Pues que raro, probe tu codigo y si realiza la descarga :confused:


RAMONES 06/07/09 17:02:09

que sera entonces?? la verdad que no tengo idea...sera que tengo bloqueado el disco C?? ....no se me ocurre que puede ser....

ic_man_777 06/07/09 17:30:17

sy-subrc
 
Chequea que valor tiene sy-subrc después de mandar llamar la función GUI_DOWNLOAD, actualmente estás cachando todas las excepciones, seguro está ocurriendo una de ellas.

RAMONES 06/07/09 17:58:06



el sy-subrc es 3, si tildo las excepciones, directamente me da un dump, si la coloco, el programa se ejucuta y el subrc me da 3, pero el archivo no se genera...

Abaunus 06/07/09 18:34:36


Por qué no probás ejecutar la función por la SE37, así vas viendo dentro de ella qué es lo que falla...

ic_man_777 06/07/09 19:20:05

alternativa
 
Se dice que esas funciones van quedando obsoletas, para mi funcionan muy bien, pero al parecer a ti no, si es así entonces podrías usar el método estático de la clase CL_GUI_FRONTEND_SERVICES.



Yo no sé que es lo que ocaciona esa excepción: GUI_REFUSE_FILETRANSFER

RAMONES 07/07/09 12:58:13

Muchas gracias a todos por molestarse, voy a usar ese metodo estatico a ver como me va, gracias nuevamente,

Saludos a todos!

RAMONES 07/07/09 15:43:35

Resuelto...
 
Para que sepan, si por alguna de esas les pasa, usando la funcion GUI_DOWNLOAD si el subrc es 3, por lo menos en mi caso es que tenia el disco C bloqueado y por eso daba la excepcion, me lo desbloquearon, y puedo bajar los archivos y funciona perfectamente....

Muchas gracias!!

omegaotaku 23/10/12 12:36:50

Solucion
 

REPORT ztempos.

TYPE-POOLS: truxs.

TYPES: BEGIN OF t_cdhdr,
changenr TYPE cdhdr-changenr,
username TYPE cdhdr-username,
udate TYPE cdhdr-udate,
END OF t_cdhdr.

DATA: gt_salida2 TYPE truxs_t_text_data,
it_cdhdr TYPE STANDARD TABLE OF t_cdhdr.


SELECT-OPTIONS: s_udate FOR sy-datum.

SELECT changenr username udate
FROM cdhdr
INTO CORRESPONDING FIELDS OF TABLE it_cdhdr
WHERE udate IN s_udate.

PERFORM bajar_a_txt.


*&---------------------------------------------------------------------*
*& Form BAJAR_A_TXT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM bajar_a_txt.

CALL FUNCTION 'SAP_CONVERT_TO_TEX_FORMAT'
EXPORTING
i_field_seperator = '|'
* I_LINE_HEADER =
* I_FILENAME =
* I_APPL_KEEP = ' '
TABLES
i_tab_sap_data = it_cdhdr
CHANGING
i_tab_converted_data = gt_salida2
EXCEPTIONS
conversion_failed = 1
OTHERS = 2.

CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = 'C:\tempo.txt'
filetype = 'ASC'
TABLES
data_tab = gt_salida2
EXCEPTIONS
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
no_authority = 5
unknown_error = 6.

IF sy-subrc EQ 0.

WRITE: 'archivo bajado exitosamente'.

ELSE.

WRITE: 'ARCHIVO NO BAJADO'.

ENDIF.


ENDFORM. " BAJAR_A_TXT

esterg 24/10/12 15:55:10

Ejecutar de Fondo GUI_DOWNLOAD no se puede.
 
Hola,
Disculpa si me meto y nada que ver.
Te paso este vinculo si te sirve.

Suerte
Ester

K-MUS 24/10/12 20:44:13


Obsoletas ??? la única obsoleta es la WS_DOWNLOAD.

Hace algo entra a la clase entra al método y sorprendete, ya que adentro usa la GUI_DOWNLOAD. :P

La clase simplemente encapsula y utiliza dicha función.


Husos Horarios son GMT. La hora en este momento es 01:04:56.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web