楼主: niuchao

将内表内容导出到EXCEL文档的问题

[复制链接]
论坛徽章:
100
问答徽章
日期:2013-12-02 14:55:04喜羊羊
日期:2015-03-04 14:49:39懒羊羊
日期:2015-03-18 13:56:32射手座
日期:2015-08-25 12:25:52秀才
日期:2015-11-12 17:43:40ITPUB15周年纪念
日期:2016-10-13 13:15:34技术图书徽章
日期:2016-11-30 11:28:29喜羊羊
日期:2015-03-10 17:14:25暖羊羊
日期:2015-04-15 09:12:29慢羊羊
日期:2015-06-16 14:25:04
51#
 楼主| 发表于 2008-3-26 20:02 | 只看该作者
是这样的
第一个程序
PA_SNAME  A.txt
PA_LNAME  选择您的一个已经存在的本地文件


第二个程序
PA_SNAME A.txt
PA_LNAME 直接输个c:\zz.txt也行,是把服务器上的A文件下到本机的zz.txt

使用道具 举报

回复
论坛徽章:
15
ERP板块每日发贴之星
日期:2007-12-27 01:05:25ITPUB元老
日期:2011-12-20 12:35:29ITPUB十周年纪念徽章
日期:2011-11-01 16:23:262011新春纪念徽章
日期:2011-02-18 11:42:472010新春纪念徽章
日期:2010-01-04 08:33:082009日食纪念
日期:2009-07-22 09:30:002009新春纪念徽章
日期:2009-01-04 14:52:28授权会员
日期:2008-02-29 09:14:50生肖徽章2007版:鼠
日期:2008-01-02 17:35:53生肖徽章2007版:牛
日期:2008-01-02 17:35:53
52#
发表于 2008-3-26 20:15 | 只看该作者
原帖由 niuchao 于 2008-3-26 20:02 发表
是这样的
第一个程序
PA_SNAME  A.txt
PA_LNAME  选择您的一个已经存在的本地文件


第二个程序
PA_SNAME A.txt
PA_LNAME 直接输个c:\zz.txt也行,是把服务器上的A文件下到本机的zz.txt



你是说 PA_SNAME 这个名字就是自己保存到服务器上的那个文件是吧?

使用道具 举报

回复
论坛徽章:
100
问答徽章
日期:2013-12-02 14:55:04喜羊羊
日期:2015-03-04 14:49:39懒羊羊
日期:2015-03-18 13:56:32射手座
日期:2015-08-25 12:25:52秀才
日期:2015-11-12 17:43:40ITPUB15周年纪念
日期:2016-10-13 13:15:34技术图书徽章
日期:2016-11-30 11:28:29喜羊羊
日期:2015-03-10 17:14:25暖羊羊
日期:2015-04-15 09:12:29慢羊羊
日期:2015-06-16 14:25:04
53#
 楼主| 发表于 2008-3-26 20:16 | 只看该作者
Yes

使用道具 举报

回复
论坛徽章:
15
ERP板块每日发贴之星
日期:2007-12-27 01:05:25ITPUB元老
日期:2011-12-20 12:35:29ITPUB十周年纪念徽章
日期:2011-11-01 16:23:262011新春纪念徽章
日期:2011-02-18 11:42:472010新春纪念徽章
日期:2010-01-04 08:33:082009日食纪念
日期:2009-07-22 09:30:002009新春纪念徽章
日期:2009-01-04 14:52:28授权会员
日期:2008-02-29 09:14:50生肖徽章2007版:鼠
日期:2008-01-02 17:35:53生肖徽章2007版:牛
日期:2008-01-02 17:35:53
54#
发表于 2008-3-26 20:18 | 只看该作者
在后台执行的程序能否保存把数据导出到服务器上呢?  niuchao,你现在可以从服务器上把文件取回来了?

使用道具 举报

回复
论坛徽章:
15
ERP板块每日发贴之星
日期:2007-12-27 01:05:25ITPUB元老
日期:2011-12-20 12:35:29ITPUB十周年纪念徽章
日期:2011-11-01 16:23:262011新春纪念徽章
日期:2011-02-18 11:42:472010新春纪念徽章
日期:2010-01-04 08:33:082009日食纪念
日期:2009-07-22 09:30:002009新春纪念徽章
日期:2009-01-04 14:52:28授权会员
日期:2008-02-29 09:14:50生肖徽章2007版:鼠
日期:2008-01-02 17:35:53生肖徽章2007版:牛
日期:2008-01-02 17:35:53
55#
发表于 2008-3-26 20:39 | 只看该作者
程序:导EXCEL: 我现在改为导TXT看一下。

REPORT z_testdownserverfile
       NO STANDARD PAGE HEADING
       MESSAGE-ID zxx001.



SELECTION-SCREEN BEGIN OF BLOCK BL1 WITH FRAME.
* server's File Path
  PARAMETERS: PA_FNAME LIKE RLGRAP-FILENAME OBLIGATORY.
* local's path
  PARAMETERS PA_LNAME  TYPE RLGRAP-FILENAME OBLIGATORY.

SELECTION-SCREEN END OF BLOCK BL1.

DATA: BEGIN OF REC_DATA,
        LINE(250)  TYPE C,                    "RECEIVE DATA
      END OF REC_DATA.
DATA: TBL_DATA LIKE TABLE OF REC_DATA.        "Table of TBL_DATA
DATA:
      FLG_ERROR TYPE C.
DATA: WK_STOP   TYPE C,                       "STOP FLAG
      WK_UCOMM  LIKE SY-UCOMM,                "User command
      WK_FNAME  TYPE STRING,
      WK_PATH   TYPE STRING,
      WK_FPATH  TYPE STRING,
      WK_NAME1  LIKE RLGRAP-FILENAME,         "File Name
      WK_NAME2  LIKE RLGRAP-FILENAME,         "File Directory
      WK_RETURN TYPE C.                       "Result of the query

*-----  Constants  ----------------------------------------------------*
CONSTANTS:
  CST_X           TYPE C                VALUE 'X',
  CST_MODULE01     TYPE MSGV1            VALUE 'WS_UPLOAD',
  CST_DAT       LIKE RLGRAP-FILETYPE VALUE 'DAT',
                                              "DAT
  CST_SPACE     TYPE C VALUE ' ',             "Blank
  CST_BIAS      TYPE C VALUE '\',             "Bias
  CST_F8(4)     TYPE C VALUE 'ONLI',          "F8
  CST_FE(2)     TYPE C VALUE 'FE',            "FE
  CST_DE(2)     TYPE C VALUE 'DE',            "'DE'
  CST_TXT(5)    TYPE C VALUE '*.XLS',         "*.TXT XLS
  CST_TXTFL(16) TYPE C VALUE 'TEXT FILE|*.XLS|',
  CST_FILETYPE     TYPE RLGRAP-FILETYPE  VALUE 'ASC'.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR PA_LNAME.
* Get file name
  PERFORM HELP_DIS.
**&---------------------------------------------------------------------
**
**&     AT SELECTION-SCREEN
**&---------------------------------------------------------------------
**
*AT SELECTION-SCREEN.
*  PERFORM CHECK_FILE.

START-OF-SELECTION.

  PERFORM GET_DATA.
  PERFORM DOWNLOAD_DATA.

FORM DOWNLOAD_DATA.

  DATA: LO_FILENAMEO TYPE STRING,
        LO_NUM TYPE I.
  CHECK FLG_ERROR = SPACE.

  LO_FILENAMEO = PA_LNAME.
  CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
    EXPORTING
      FILENAME                = LO_FILENAMEO  "File path
      WRITE_FIELD_SEPARATOR   = CST_X
    CHANGING
      DATA_TAB                = TBL_DATA
    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.
*Cannot overwrite!
    MESSAGE S320.
  ELSE.
* The numbers of the records.
    DESCRIBE TABLE TBL_DATA LINES LO_NUM.
*  &1 records successfully download to file &2
    MESSAGE S307 WITH LO_NUM PA_LNAME.
  ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  GET_DATA
*&---------------------------------------------------------------------*
*       GET DATA
*----------------------------------------------------------------------*
FORM GET_DATA.


  OPEN DATASET PA_FNAME FOR INPUT IN TEXT MODE ENCODING DEFAULT.

*    OPEN DATASET PA_FNAME FOR INPUT IN TEXT MODE. "TEXT MODE encoding

  IF SY-SUBRC <> 0.
* Failed to open file (file name : &1)
    MESSAGE S042 WITH PA_FNAME.
    FLG_ERROR = CST_X.
  ENDIF.
  CHECK FLG_ERROR = SPACE.
  DO.
    READ DATASET PA_FNAME INTO REC_DATA.
    IF SY-SUBRC <> 0      AND
       SY-SUBRC <> 4.
* Failed to read file (file name : &1)
      MESSAGE S297 WITH PA_FNAME.
      CLOSE DATASET PA_FNAME.
      FLG_ERROR = CST_X.
      EXIT.
    ENDIF.
    CHECK FLG_ERROR = SPACE.
    IF SY-SUBRC = 4.
      EXIT.
    ENDIF.
    APPEND REC_DATA TO TBL_DATA.
  ENDDO.
  CHECK FLG_ERROR = SPACE.
  CLOSE DATASET PA_FNAME.
  IF SY-SUBRC <> 0.
* Failed to close file (file name : &1)
    MESSAGE S044 WITH PA_FNAME.
    FLG_ERROR = CST_X.
  ENDIF.


ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  HELP_DIS
*&---------------------------------------------------------------------*
*       Get file name
*----------------------------------------------------------------------*
FORM HELP_DIS.

  DATA: LO_LNAME  TYPE STRING,
        LO_TXT    TYPE STRING,
        LO_TXTFL  TYPE STRING.

  LO_LNAME = TEXT-040.                        "Local File Name
  LO_TXT   = CST_TXT.                         "*.TXT
  LO_TXTFL = CST_TXTFL.                       "TEXT FILE|*.TXT|
  CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
    EXPORTING
      WINDOW_TITLE            = LO_LNAME      "Local File Name
      DEFAULT_EXTENSION       = LO_TXT        "*.TXT
      FILE_FILTER             = LO_TXTFL      "TEXT FILE|*.TXT|
    CHANGING
      FILENAME                = WK_FNAME      "File name
      PATH                    = WK_PATH       "File path
      FULLPATH                = WK_FPATH      "Full path
    EXCEPTIONS
      others                  = 1
          .
  PA_LNAME = WK_FPATH.

ENDFORM.                    " HELP_DIS

null.gif (19.54 KB, 下载次数: 5)

null.gif

使用道具 举报

回复
论坛徽章:
8
授权会员
日期:2008-02-29 14:46:02生肖徽章2007版:猪
日期:2008-03-13 16:46:59奥运会纪念徽章:沙滩排球
日期:2008-08-28 17:37:39生肖徽章2007版:龙
日期:2009-04-16 20:53:16生肖徽章2007版:鼠
日期:2009-05-25 14:45:552011新春纪念徽章
日期:2011-02-18 11:42:472010广州亚运会纪念徽章:马术
日期:2011-03-30 09:25:572013年新春福章
日期:2013-02-25 14:51:24
56#
发表于 2008-3-26 20:44 | 只看该作者
我说过这程序不可以后台运行的的
服务器路上文件名都是要有路径的,而且服务器上不是你想写就能写的,要有权限的。

使用道具 举报

回复
论坛徽章:
15
ERP板块每日发贴之星
日期:2007-12-27 01:05:25ITPUB元老
日期:2011-12-20 12:35:29ITPUB十周年纪念徽章
日期:2011-11-01 16:23:262011新春纪念徽章
日期:2011-02-18 11:42:472010新春纪念徽章
日期:2010-01-04 08:33:082009日食纪念
日期:2009-07-22 09:30:002009新春纪念徽章
日期:2009-01-04 14:52:28授权会员
日期:2008-02-29 09:14:50生肖徽章2007版:鼠
日期:2008-01-02 17:35:53生肖徽章2007版:牛
日期:2008-01-02 17:35:53
57#
发表于 2008-3-26 20:47 | 只看该作者
还是一样的。没有结果。

是不是在导出的路径上不能写成WINDOWS的路径呢?

[ 本帖最后由 heart_smile 于 2008-3-26 20:48 编辑 ]

使用道具 举报

回复
论坛徽章:
15
ERP板块每日发贴之星
日期:2007-12-27 01:05:25ITPUB元老
日期:2011-12-20 12:35:29ITPUB十周年纪念徽章
日期:2011-11-01 16:23:262011新春纪念徽章
日期:2011-02-18 11:42:472010新春纪念徽章
日期:2010-01-04 08:33:082009日食纪念
日期:2009-07-22 09:30:002009新春纪念徽章
日期:2009-01-04 14:52:28授权会员
日期:2008-02-29 09:14:50生肖徽章2007版:鼠
日期:2008-01-02 17:35:53生肖徽章2007版:牛
日期:2008-01-02 17:35:53
58#
发表于 2008-3-26 20:50 | 只看该作者
原帖由 fengleihen 于 2008-3-26 20:44 发表
我说过这程序不可以后台运行的的
服务器路上文件名都是要有路径的,而且服务器上不是你想写就能写的,要有权限的。



嗯。 那就没有办法了。

是的,gui_down 只能保存到本地,而不是服务器。

需要用到 OPEN DATASET  技术

现在还不会行,要学飞?

[ 本帖最后由 heart_smile 于 2008-3-26 20:57 编辑 ]

使用道具 举报

回复
论坛徽章:
27
会员2007贡献徽章
日期:2007-09-26 18:42:102010广州亚运会纪念徽章:体育舞蹈
日期:2011-05-11 09:57:072010广州亚运会纪念徽章:棋类
日期:2011-05-13 16:29:13蜘蛛蛋
日期:2011-06-30 17:53:11紫蛋头
日期:2011-07-12 11:19:41复活蛋
日期:2011-07-21 22:31:43蜘蛛蛋
日期:2011-09-08 09:59:19ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15蛋疼蛋
日期:2011-11-15 22:29:342011新春纪念徽章
日期:2011-04-21 11:29:39
59#
发表于 2008-3-26 21:32 | 只看该作者
我放一个不完整版的自定义的Z_DOWNLOAD的FUNCTION吧,包括了一些自定义分隔符,自定义文档分页长度,自定义数据前后台下载,这是去年八月份做的,当时备份回家里,有不少BUG,后来里面的BUG给我修正了N个,但由于没有在家里的电脑上,就不放上来了

----------------------
汗,放错了,是Z_UPLOAD,Z_DOWNLOAD还没找到,郁闷,改天再放上来

[ 本帖最后由 azqf 于 2008-3-26 21:35 编辑 ]

LZB00U02.TXT

12.41 KB, 下载次数: 18

使用道具 举报

回复
论坛徽章:
15
ERP板块每日发贴之星
日期:2007-12-27 01:05:25ITPUB元老
日期:2011-12-20 12:35:29ITPUB十周年纪念徽章
日期:2011-11-01 16:23:262011新春纪念徽章
日期:2011-02-18 11:42:472010新春纪念徽章
日期:2010-01-04 08:33:082009日食纪念
日期:2009-07-22 09:30:002009新春纪念徽章
日期:2009-01-04 14:52:28授权会员
日期:2008-02-29 09:14:50生肖徽章2007版:鼠
日期:2008-01-02 17:35:53生肖徽章2007版:牛
日期:2008-01-02 17:35:53
60#
发表于 2008-3-27 11:18 | 只看该作者
Tommy(vkbpl6012) 说:
GUI_* WS_* Function In Background, CSV Upload
GUI_* and WS_* function modules do not work in background

When scheduling a job in the background the appropriate statement to read in your file is OPEN DATASET, and the file must be on the file system that

the SAP server can see.

At anytime, a user can switch of the Personal Computers even though the job is still running in the background.

Tommy(vkbpl6012) 说:
Therefore GUI_* and WS_* function modules are not designed to work in that way, as they need to access your personal computer  file.

To choose the correct download method to used, you can check the value of SY-BATCH in your code,

if it is 'X' use OPEN DATASET and if it is ' ' use WS_UPLOAD.

Tommy(vkbpl6012) 说:
*-- Open dataset for reading

DATA:
  dsn(20) VALUE '/usr/test.dat',
  rec(80).

OPEN DATASET dsn FOR INPUT IN TEXT MODE.
IF sy-subrc = 0.
  DO.
    READ DATASET dsn INTO rec.
    IF sy-subrc <> 0.
      EXIT.
    ELSE.
      WRITE / rec.
    ENDIF.
  ENDDO.
ENDIF.
CLOSE DATASET dsn.


Tommy(vkbpl6012) 说:
*-- Open dataset for writing

DATA rec(80).

OPEN DATASET dsn FOR OUTPUT IN TEXT MODE.
  TRANSFER rec TO '/usr/test.dat'.
CLOSE DATASET dsn.



cg3y 函数导出文件

需要: open dataset技术

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表