网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
12月27日漏签0天
abap吧 关注:2,988贴子:15,795
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 3回复贴,共1页
<<返回abap吧
>0< 加载中...

SE78 图片下载

  • 只看楼主
  • 收藏

  • 回复
  • 齐风霁月
  • 仗剑天涯
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
最近公司该名称,很多SAP里面的票据LOGO要更改,可是找半天也找不到图片存放在服务器中的位置,经寻求帮助,终于从烟台-叶子处求得一份代码,现与大家分享(再次感觉叶子兄),此程序可实现直接将se78中以前上传的图片下载到本地
主程序代码:
REPORT ZDOWN_LOGO.
*********************************************************************
* Variable declaration
*********************************************************************
DATA: V_GRAPHIC_SIZE TYPE I,
V_GRAPHIC_XSTR TYPE XSTRING,
V_GRAPHIC_CONV TYPE I,
V_GRAPHIC_OFFS TYPE I,
V_FILE TYPE STRING.
*********************************************************************
* Table declaration
*********************************************************************
DATA: BEGIN OF I_GRAPHIC_TABLE OCCURS 0,
LINE(255) TYPE X,
END OF I_GRAPHIC_TABLE.
*********************************************************************
* Structure declaration
*********************************************************************
DATA: ST_STXBITMAPS TYPE STXBITMAPS.
*********************************************************************
* Selection screen
*********************************************************************
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS: P_OBJECT LIKE ST_STXBITMAPS-TDOBJECT DEFAULT *GRAPHICS*
MODIF ID ABC ,
P_NAME LIKE ST_STXBITMAPS-TDNAME,
P_ID LIKE ST_STXBITMAPS-TDID DEFAULT *BMAP*
MODIF ID ABC ,
P_TYPE LIKE ST_STXBITMAPS-TDBTYPE,
P_DIR TYPE LOCALFILE.SELECTION-SCREEN END OF BLOCK B1.
*********************************************************************
* At Selection-screen output event
*********************************************************************
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = *ABC* .
SCREEN-INPUT = *0*.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
*********************************************************************
* At Selection-screen on value-request event
*********************************************************************
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_DIR.
DATA: L_FOLDER TYPE STRING.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>DIRECTORY_BROWSE
EXPORTING
WINDOW_TITLE = *Select Folder*
INITIAL_FOLDER = *C:\*
CHANGING
SELECTED_FOLDER = L_FOLDER
EXCEPTIONS
CNTL_ERROR = 1
ERROR_NO_GUI = 2
NOT_SUPPORTED_BY_GUI = 3
OTHERS = 4. IF SY-SUBRC = 0. P_DIR = L_FOLDER. ENDIF.
*********************************************************************
* Start-of-selection event
*********************************************************************
START-OF-SELECTION.
ST_STXBITMAPS-TDOBJECT = P_OBJECT.
ST_STXBITMAPS-TDNAME = P_NAME.
ST_STXBITMAPS-TDID = P_ID.
ST_STXBITMAPS-TDBTYPE = P_TYPE.
* Get the bmp image from BDS in hex string format
CALL METHOD CL_SSF_XSF_UTILITIES=>GET_BDS_GRAPHIC_AS_BMP
EXPORTING
P_OBJECT = ST_STXBITMAPS-TDOBJECT
P_NAME = ST_STXBITMAPS-TDNAME
P_ID = ST_STXBITMAPS-TDID
P_BTYPE = ST_STXBITMAPS-TDBTYPE
RECEIVING
P_BMP = V_GRAPHIC_XSTR
EXCEPTIONS
NOT_FOUND = 1
INTERNAL_ERROR = 2
OTHERS = 3.
IF SY-SUBRC = 0.
* Find the length of hex string
V_GRAPHIC_SIZE = XSTRLEN( V_GRAPHIC_XSTR ).
CHECK V_GRAPHIC_SIZE > 0.
V_GRAPHIC_CONV = V_GRAPHIC_SIZE.
V_GRAPHIC_OFFS = 0.
* Populate internal table from this hex string
WHILE V_GRAPHIC_CONV > 255.
I_GRAPHIC_TABLE-LINE = V_GRAPHIC_XSTR+V_GRAPHIC_OFFS(255).
APPEND I_GRAPHIC_TABLE.
V_GRAPHIC_OFFS = V_GRAPHIC_OFFS + 255.
V_GRAPHIC_CONV = V_GRAPHIC_CONV - 255.
ENDWHILE.
I_GRAPHIC_TABLE-LINE = V_GRAPHIC_XSTR+V_GRAPHIC_OFFS(V_GRAPHIC_CONV).
APPEND I_GRAPHIC_TABLE.
* Prepare file name and file path
CONCATENATE P_DIR *\* P_NAME *.BMP* INTO V_FILE.
* Download image
CALL FUNCTION *GUI_DOWNLOAD*
EXPORTING
BIN_FILESIZE = V_GRAPHIC_SIZE
FILENAME = V_FILE
FILETYPE = *BIN*
TABLES
DATA_TAB = I_GRAPHIC_TABLE
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.
WRITE: *File downloaded successfully*(002).
ELSE.
WRITE: *Error during file download*(003).
ENDIF.
ELSE.
CASE SY-SUBRC.
WHEN 1.
WRITE: *Image not found*(004).
WHEN OTHERS.
WRITE: *Error in Image retrieval*(005).
ENDCASE.
ENDIF.
操作截屏:

直接点击执行即可


  • Janewar
  • 武林盟主
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
*&---------------------------------------------------------------------*
*& Report ZDOWN_LOGO
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZDOWN_LOGO.
*********************************************************************
* Variable declaration
*********************************************************************
DATA: V_GRAPHIC_SIZE TYPE I,
V_GRAPHIC_XSTR TYPE XSTRING,
V_GRAPHIC_CONV TYPE I,
V_GRAPHIC_OFFS TYPE I,
V_FILE TYPE STRING.
*********************************************************************
* Table declaration
*********************************************************************
DATA: BEGIN OF I_GRAPHIC_TABLE OCCURS 0,
LINE(255) TYPE X,
END OF I_GRAPHIC_TABLE.
*********************************************************************
* Structure declaration
*********************************************************************
DATA: ST_STXBITMAPS TYPE STXBITMAPS.
*********************************************************************
* Selection screen
*********************************************************************
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS: P_OBJECT LIKE ST_STXBITMAPS-TDOBJECT DEFAULT 'GRAPHICS'
MODIF ID ABC ,
P_NAME LIKE ST_STXBITMAPS-TDNAME,
P_ID LIKE ST_STXBITMAPS-TDID DEFAULT 'BMAP'
MODIF ID ABC ,
P_TYPE LIKE ST_STXBITMAPS-TDBTYPE,
P_DIR TYPE LOCALFILE.
SELECTION-SCREEN END OF BLOCK B1.
*********************************************************************
* At Selection-screen output event
*********************************************************************
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'ABC'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
*********************************************************************
* At Selection-screen on value-request event
*********************************************************************
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_DIR.
DATA: L_FOLDER TYPE STRING.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>DIRECTORY_BROWSE
EXPORTING
WINDOW_TITLE = 'Select Folder'
INITIAL_FOLDER = 'C:\'
CHANGING
SELECTED_FOLDER = L_FOLDER
EXCEPTIONS
CNTL_ERROR = 1
ERROR_NO_GUI = 2
NOT_SUPPORTED_BY_GUI = 3
OTHERS = 4.
IF SY-SUBRC = 0. P_DIR = L_FOLDER. ENDIF.
*********************************************************************
* Start-of-selection event
*********************************************************************
START-OF-SELECTION.
ST_STXBITMAPS-TDOBJECT = P_OBJECT.
ST_STXBITMAPS-TDNAME = P_NAME.
ST_STXBITMAPS-TDID = P_ID.
ST_STXBITMAPS-TDBTYPE = P_TYPE.
* Get the bmp image from BDS in hex string format
CALL METHOD CL_SSF_XSF_UTILITIES=>GET_BDS_GRAPHIC_AS_BMP
EXPORTING
P_OBJECT = ST_STXBITMAPS-TDOBJECT
P_NAME = ST_STXBITMAPS-TDNAME
P_ID = ST_STXBITMAPS-TDID
P_BTYPE = ST_STXBITMAPS-TDBTYPE
RECEIVING
P_BMP = V_GRAPHIC_XSTR
EXCEPTIONS
NOT_FOUND = 1
INTERNAL_ERROR = 2
OTHERS = 3.
IF SY-SUBRC = 0.
* Find the length of hex string
V_GRAPHIC_SIZE = XSTRLEN( V_GRAPHIC_XSTR ).
CHECK V_GRAPHIC_SIZE > 0.
V_GRAPHIC_CONV = V_GRAPHIC_SIZE.
V_GRAPHIC_OFFS = 0.
* Populate internal table from this hex string
WHILE V_GRAPHIC_CONV > 255.
I_GRAPHIC_TABLE-LINE = V_GRAPHIC_XSTR+V_GRAPHIC_OFFS(255).
APPEND I_GRAPHIC_TABLE.
V_GRAPHIC_OFFS = V_GRAPHIC_OFFS + 255.
V_GRAPHIC_CONV = V_GRAPHIC_CONV - 255.
ENDWHILE.
I_GRAPHIC_TABLE-LINE = V_GRAPHIC_XSTR+V_GRAPHIC_OFFS(V_GRAPHIC_CONV).
APPEND I_GRAPHIC_TABLE.
* Prepare file name and file path
CONCATENATE P_DIR '\' P_NAME '.BMP' INTO V_FILE.
* Download image
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE = V_GRAPHIC_SIZE
FILENAME = V_FILE
FILETYPE = 'BIN'
TABLES
DATA_TAB = I_GRAPHIC_TABLE
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.
WRITE: 'File downloaded successfully'(002).
ELSE.
WRITE: 'Error during file download'(003).
ENDIF.
ELSE.
CASE SY-SUBRC.
WHEN 1.
WRITE: 'Image not found'(004).
WHEN OTHERS.
WRITE: 'Error in Image retrieval'(005).
ENDCASE.
ENDIF.


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 3回复贴,共1页
<<返回abap吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示