Using FS with GUI_DOWNLOAD
Hi
I am trying search whether I can pass dynamically created internal table with the method
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = fieldcatalog
IMPORTING
ep_table = dref.
to the FM 'GUI_DOWNLOAD' , tables parameter which is a Field symbols.
Regards
pM
Hi,
See this code
field-symbols <FS> type <b>standard table</b>.
assign dref->* to <FS>.
call function 'GUI_DOWNLOAD'
EXPORTING
FILENAME = 'C:\ttest.txt'
TABLES
DATA_TAB = <FS>
EXCEPTIONS
other = 9.
Svetlin
Similar Messages
-
Problem with gui_download when using DBF FILE type.
Good Day Experts.
I am trying to download excel file using function module GUI_DOWNLOAD.
declared a table it_string type table string.
initially I appending my header to it_string. and then passing my internal table to it .
this is how I am passing data into it_string.
so in gui_download I am passing parameters as below. but I am not getting data into the excel file.
I tried both ways passing field separator as 'X' and '#'.
please guide me where I am wrong.Hello Surendra,
Can you please upload your code sample. Thanks.
What i manage to find is using this function module WS_DOWNLOAD.
The file is downloaded in the directory --> C:/
Here is the code sample :
TABLES: usr03,dd02l.
DATA: zx030l LIKE x030l.
DATA BEGIN OF zdfies OCCURS 0.
INCLUDE STRUCTURE dfies.
DATA END OF zdfies.
DATA: BEGIN OF flditab OCCURS 0,
fldname(11) TYPE c,
END OF flditab.
DATA itabusr03 LIKE usr03 OCCURS 0 WITH HEADER LINE.
DATA tname LIKE dd02l-tabname.
SELECT * FROM usr03 INTO TABLE itabusr03.
tname = 'USR03'.
PERFORM getfieleds.
PERFORM dwdbffile.
FORM getfieleds.
CALL FUNCTION 'GET_FIELDTAB'
EXPORTING
langu = sy-langu
only = space
tabname = tname
withtext = 'X'
IMPORTING
header = zx030l
TABLES
fieldtab = zdfies
EXCEPTIONS
internal_error = 01
no_texts_found = 02
table_has_no_fields = 03
table_not_activ = 04.
CASE sy-subrc.
WHEN 0.
LOOP AT zdfies.
flditab-fldname = zdfies-fieldname.
APPEND flditab.
ENDLOOP.
WHEN OTHERS.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-subrc.
ENDCASE.
ENDFORM. "GETFIELEDS
FORM dwdbffile.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
* filename = 'C:\USR03.DBF'
filename = 'C:\USR03.XLS'
filetype = 'DBF'
TABLES
data_tab = itabusr03
fieldnames = flditab
EXCEPTIONS
file_open_error = 1
file_write_error = 2
invalid_filesize = 3
invalid_type = 4
no_batch = 5
unknown_error = 6
invalid_table_width = 7
gui_refuse_filetransfer = 8
customer_error = 9
OTHERS = 10.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. "DWDBFFILE
Thanks and Kind Regards,
Yovish. -
Error in Control Framework with GUI_DOWNLOAD FM
Dear All,
I am using GUI_DOWNLOAD FM to download a file in PDF format to presentation server.
The code has been written in an enhancement spot in a class "/SCA/CL_SVORDER", method "Print" on an SNC server.
On execution I get the error "Error in Control Framework".
First I tht that this has something to do with the data table. But when I tried to pass a simple table of Integers in ASC format, it gave the same error.
Please assist.
*----Begin of Code Snippet
data: fullpath type STRING value 'D:\temp\PO.pdf',
bin_filesize type I,
filetype type char10 value 'BIN'.
bin_filesize = numbytes.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE = bin_filesize
filename = fullpath
FILETYPE = filetype
IMPORTING
FILELENGTH =
tables
data_tab = t_data
FIELDNAMES =
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*----End of Code SnippetHi!
I have the same error, but i need to use CSV Format.
in another program, i used this with XML format.
lv_xml = lr_element->to_xml( ).
Converts the string to xstring
lv_xxml = wd_this->convert_file( lv_xml ).
Shows it in a new browser window
*cl_wd_runtime_services=>attach_file_to_response(*
*i_filename = lco_filename*
*i_content = lv_xxml*
*i_mime_type = lco_mime_type*
*i_in_new_window = abap_FALSE*
*i_inplace = abap_false ).*
Regards! -
Issues in using the fm "GUI_DOWNLOAD"
Hi Group,
I am using the fm "GUI_DOWNLOAD" in an output program.
The issue is that, I was trying to call the output program in two different ways, 1)using the report 'RSNAST00' and 2)thru the tcode 'VF02' and specifying the output type & Transmission medium. In both the cases, same code will get executed.
while using the report 'RSNAST00', I was not facing issues with the fm 'GUI_DOWNLOAD' but when generating the output through the tcode 'VF02', I was getting an exception 'CONTROL_FLUSH_ERROR' (sy-tabix = 21 - of the fm). the behaviour is strange, once it worked fine and now, there are issues.
Kindly provide me your valuable inputs on this.
Regards,
Vishnu.Hi Vishnu,
There is no solution for this, you cannot have GUI interactions(nor any statements that might invoke a implicit/explicit commit) in a V2 update. When you say this worked, did you have update debugging enabled, if so then it might have worked as the debugger session can access GUI...
If the whole idea/need of this output is to download a file, use OPEN DATASET, TRANSFER and CLOSE DATASET.
Even for the RSNAST00 execution, i am sure that in the actual business scenario(in production) this would be scheduled as a background job, where in again "GUI_DOWNLOAD" wouldn't work.
Regards,
Chen -
Download a zip file with gui_download = CRC error
Hello erverybody,
I download a zip compressed file with gui_download (cl_gui_interface_services) in binary mode.
When I try to open it, I have a crc error. Does anybody has any idea why?
here the code:
TYPES: begin of t_zip,
text(1024) type c,
end of t_zip.
DATA: itab_zip type table of t_zip,
wa_zip type t_zip.
OPEN DATASET p_fileon IN BINARY MODE FOR INPUT.
IF sy-subrc <> 0.
MESSAGE text-e01 TYPE 'E'.
ENDIF.
DO.
READ DATASET p_fileon INTO wa_zip MAXIMUM LENGTH 1024.
APPEND wa_zip TO itab_zip.
IF sy-subrc <> 0.
EXIT.
ENDIF.
ENDDO.
CLOSE DATASET p_fileon.
MOVE p_filedw TO filename.
CALL METHOD cl_gui_frontend_services=>gui_download
EXPORTING
filename = filename
FILETYPE = 'BIN'
CHANGING
data_tab = itab_zip
Thanks
JoachimHi Joachim,
1. use this code (just copy paste in new program)
2. It will download from SERVER to front-end.
3.
*& Report YBCR_FILEDOWNLOAD *
REPORT ybcr_filedownload .
DATA
DATA : file_name TYPE string.
DATA : BEGIN OF itab OCCURS 0,
ln(255) TYPE c,
END OF itab.
SCREEN
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS : appfn(150) TYPE c LOWER CASE OBLIGATORY.
PARAMETERS : p_file LIKE rlgrap-filename OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION SCREEN
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CLEAR p_file.
CALL FUNCTION 'F4_FILENAME'
IMPORTING
file_name = p_file.
file_name = p_file.
START-OF-SELECTION
START-OF-SELECTION.
OPEN DATASET appfn FOR INPUT IN TEXT MODE ENCODING DEFAULT .
IF sy-subrc <> 0.
MESSAGE s999(yhr) WITH 'COULD NOT OPEN FILE ON APP SERVER'.
LEAVE LIST-PROCESSING.
ENDIF.
DO.
READ DATASET appfn INTO itab.
IF sy-subrc = 0.
APPEND itab.
ELSE.
EXIT.
ENDIF.
ENDDO.
file_name = p_file.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE =
filename = file_name
FILETYPE = 'ASC'
APPEND = ' '
WRITE_FIELD_SEPARATOR = ' '
HEADER = '00'
TRUNC_TRAILING_BLANKS = ' '
WRITE_LF = 'X'
COL_SELECT = ' '
COL_SELECT_MASK = ' '
DAT_MODE = ' '
CONFIRM_OVERWRITE = ' '
NO_AUTH_CHECK = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
WRITE_BOM = ' '
TRUNC_TRAILING_BLANKS_EOL = 'X'
WK1_N_FORMAT = ' '
WK1_N_SIZE = ' '
WK1_T_FORMAT = ' '
WK1_T_SIZE = ' '
IMPORTING
FILELENGTH =
TABLES
data_tab = itab
FIELDNAMES =
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
regards,
amit m. -
CONTROL_FLUSH_ERROR with GUI_DOWNLOAD
Dear All
My report throws "CONTROL_FLUSH_ERROR with GUI_DOWNLOAD " even though i am using it in foreground .
Any help will be rewarded .
Regards
JamanCheck out this thread
https://forums.sdn.sap.com/click.jspa?searchID=875715&messageID=2952760
You will get "CONTROL_FLUSH_ERROR " error when there is some problem with SAP GUI. Check your Gui installation and if possible uninstall the exixting GUI and reinstall the new GUI from fresh.
or use
CALL METHOD cl_gui_frontend_services=>gui_download
EXPORTING
bin_filesize = l_xml_size
filename = 'c:tempflights.xml'
filetype = 'BIN'
CHANGING
data_tab = l_xml_table
EXCEPTIONS
OTHERS = 24.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
Regards,
Santosh -
Hi - My daughter was using her Apple TV until recently when she got a Smart TV. Now the Apple TV is not needed so she passed it on to me. How do I get her Home Sharing account transferred over to mine so that I can use it with my PC? Thanks!
As Winston Churchill wrote, however you might want to do a factory reset on the Apple TV.
This way all information pertaining to your daughter will be removed from the device. Specifically if see was sign into any of the streaming service, Netflix, Hulu, etc. her credentials will still be associated with this Apple TV, doing a factory reset will remove all that and make it as if you purchased the device and just plugged it in.
regards -
OPEN CURSOR using a WITH clause in the select query
Hi,
I am using Oracle 9i. I have a requirement where I have a REFCURSOR as an OUT parameter for my procedure. I have declared the TYPE and created the procedure.
In the procedure, I am using OPEN <cursor_name> FOR <query>;
Ideally this works in most of the cases that I have tried earlier. However, in the current case I am using a WITH clause in my query to get the results.
I need help in understanding if the above mentioned syntax would not allow me to use the WITH clause in the query.What error do you get , seems to work ok for me on 10g
SQL> begin
2 open :cv for 'with x as (select * from emp) select * from x';
3 end;
4 /
PL/SQL procedure successfully completed.
SQL> print :cv
EMPNO
ENAME
JOB MGR HIREDATE SAL COMM DEPTNO
7521
WARD
SALESMAN 7698 22-FEB-81 1250 500 30
7566
JONES
MANAGER 7839 02-APR-81 2975 20
EMPNO -
My iPhone 4 will not sync my new voice memos from the "Voice Memos" app to my computer. This is frustrating, should not be so hard, can someone please help. I use PC with windows 7 with iPhone version 6.1.3 and iTunes most recent. Thanks.
In the Music tab of iTunes, do you have 'Include Voice Memos' checked?
-
I ordered my Macbook Air with Aperture two years ago. I now have an iMac - can I use that with Aperture in any way? I appreciate that it is a different computer but I am now the end user of both devices and I was just wondering if it was possible.
Thanks,
SeanThe answer would be in your software license agreement for Aperture. However if you cannot locate it you can ask in the Aperture forum, the link for that is:
https://discussions.apple.com/community/professional_applications/aperture
However I believe you can have Aperture installed on two machines however only one may be using it at a time.
On the new iMac launch the Mac App Store - Purchased - look for Aperture and download to your new machine. -
How do I use LDAP with iMQ 2.0?
I am looking for an example to see how to use LDAP with iMQ 2.0.
I was able to set up the config settings to access a local LDAP,
but iMQ authentication still rejects valid logins.
Let me know if I can find more info someplace.You can also find an example I put togther in the Sun One knowledge base.
If you go here:
http://knowledgebase.iplanet.com/NASApp/ikb/index.jsp
Search for article 7772
Alternatively here is the direct link
http://knowledgebase.iplanet.com/ikb/kb/articles/7772.html -
How do you use Struts with Jboss Portal
I am trying to use strust with jboss portal but I am getting the following error:
An error occured while rendering window 'default.MyPortlet2.myportlet2Window'
org.apache.jasper.JasperException: Exception in JSP: /WEB-INF/jsp/SearchResultPage.jsp:71 68: List searchresult = (List) request.getAttribute("searchresult"); 69: %> 70: Stacktrace:
I am getting this is in the log file
Caused by: org.apache.jasper.JasperException: Exception in JSP: /WEB-INF/jsp/SearchResultPage.jsp:71
68: List searchresult = (List) request.getAttribute("searchresult");
69: %>
70: <%
71: for (Iterator itr=searchresult.iterator(); itr.hasNext(); )
72: {
73: testPackage.net.dao.hibernate.WorkList workList = (testPackage.net.dao.hibernate.WorkList)itr.next();
74: %>
Stacktrace:
at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.portal.portlet.impl.jsr168.PortletRequestDispatcherImpl.execute(PortletRequestDispatcherImpl.ja
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.portal.server.servlet.CommandFilter.doFilter(CommandFilter.java:65)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
at org.jboss.portal.portlet.impl.jsr168.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.ja
... 238 more
Caused by: java.lang.NullPointerException
at org.apache.jsp.WEB_002dINF.jsp.SearchResultPage_jsp._jspService(SearchResultPage_jsp.java:152)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
... 255 moreI am trying to use strust with jboss portal but I am getting the following error:
An error occured while rendering window 'default.MyPortlet2.myportlet2Window'
org.apache.jasper.JasperException: Exception in JSP: /WEB-INF/jsp/SearchResultPage.jsp:71 68: List searchresult = (List) request.getAttribute("searchresult"); 69: %> 70: Stacktrace:
I am getting this is in the log file
Caused by: org.apache.jasper.JasperException: Exception in JSP: /WEB-INF/jsp/SearchResultPage.jsp:71
68: List searchresult = (List) request.getAttribute("searchresult");
69: %>
70: <%
71: for (Iterator itr=searchresult.iterator(); itr.hasNext(); )
72: {
73: testPackage.net.dao.hibernate.WorkList workList = (testPackage.net.dao.hibernate.WorkList)itr.next();
74: %>
Stacktrace:
at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.portal.portlet.impl.jsr168.PortletRequestDispatcherImpl.execute(PortletRequestDispatcherImpl.ja
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.portal.server.servlet.CommandFilter.doFilter(CommandFilter.java:65)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
at org.jboss.portal.portlet.impl.jsr168.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.ja
... 238 more
Caused by: java.lang.NullPointerException
at org.apache.jsp.WEB_002dINF.jsp.SearchResultPage_jsp._jspService(SearchResultPage_jsp.java:152)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
... 255 more -
How do I use my apple bluetooth keyboard with touch and will I still be able to use it with my ipad?
iPod touch User Guide (For iOS 4.3 Software)
-
How do I use user_datastore with a feeder proc to add an mdata section?
Hi,
I have text data spread across a number of different tables. I have created a user_datastore with a feeder procedure that creates an xml document which is then indexed into a dummy column on the parent table. This works fine. However I need to add an mdata section to the index, via my xml document. I haven't seen any examples of this being done in conjunction with the ctxsys.auto_section_group option of the create index statement, and am wondering if it is possible?
Could somebody furnish me an example of how I achieve this.
Oracle 11.2.
Thanks
RalphYou can't use MDATA with AUTO_SECTION_GROUP. AUTO means it automatically assigns zone sections for every tag it finds - if you want anything other than zone sections you must use BASIC_SECTION_GROUP, XML_SECTION_GROUP or HTML_SECTION_GROUP and manually define your sections.
-
I have a used Iphone with someone elses email on it for itunes, how do i remove it and put my account there
It is an Iphone 4If you go to settings- store - click on the ID and sign out. Then you can put in your apple id.
Maybe you are looking for
-
How to set item values without using fields in branch's ACTION block?
Okay, I will try to say this in a easy way so it is not weird. I have created a button, SAVE, that has a Branch of branch type: Branch To Function Returning A Page. This is my code for the branch: if :P2008_NAP_SUPPORTING_MATERIALS = 'Yes' then retur
-
How to get user detail (Customer number) in Visual Composer
Dear All I am developing a Sales Order Search application for Customers of my company. Whenever customer logs in to the portal and access this application, he will get the information on Sales Orders created by him. VC application should capture the
-
Trigger approval process when deadline had exceeded
Hi all, In the workflow WS10400002 (One-step approval) , when the deadline had exceeded the approval should happen automatically. While checking in the latest end tab, an alert mail can be triggered. but how do we make sure that the approval process
-
Upgrading database in 10g with 9i cold backup.
Hello Experts, I am upgrading my database in 10g with cold backup of 9i. I am getting this error ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below ORA-01194: file 1 needs more recovery to be consistent ORA-01110: data fil
-
Hi Experts, In SXI_CACHE, under the <b>Status of XI Runtime Cache</b> both shows the error status. How to solve this issue? Regards Sara