下载SE78上的图片

*&---------------------------------------------------------------------*
*& Report  ZDGRSE78
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

"有时候我们需要备份图片从SE78, 可以利用下面的代码实现:
REPORT ZDGRSE78 NO STANDARD PAGE HEADING.
DATA : G_BYTECOUNT             TYPE I,
       G_CONTENT               TYPE STANDARD TABLE OF
                                    BAPICONTEN INITIAL SIZE 0,
       G_BITMAP_FILE_BYTECOUNT TYPE I,
       G_FILE_NAME             TYPE STRING,
       BEGIN OF G_BITMAP_FILE OCCURS 0,
        LINE(255) TYPE X,
       END OF G_BITMAP_FILE,
       L_BITMAPS TYPE TABLE OF STXBITMAPS WITH HEADER LINE,
       LIT_SCRFIELDS TYPE TABLE OF DYNPREAD WITH HEADER LINE.
PARAMETER: P_BTYPE LIKE STXBITMAPS-TDBTYPE DEFAULT 'BMON', " 'BMON'."BMON:black/white, BCOL:color
           P_IMAGE LIKE  STXBITMAPS-TDNAME
                   DEFAULT 'ENJOY', "name of the image
           P_FILE  LIKE  IBIPPARMS-PATH
                   DEFAULT 'D:\enjoy.bmp'.

*F4 help to get file path
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
  CALL FUNCTION 'F4_FILENAME'
    IMPORTING
      FILE_NAME = P_FILE.

*F4 help search for image files
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_IMAGE.
  CALL FUNCTION 'SAPSCRIPT_SEARCH_GRAPHIC_BDS'
    EXPORTING
      SELECTION_SCREEN   = 'X'
      SELECT_ENTRY       = 'X'
      SELECTION_SHOW     = 'X'
    IMPORTING
      E_NAME             = P_IMAGE
    TABLES
      T_SELECTIONS       = L_BITMAPS
    EXCEPTIONS
      NOTHING_FOUND      = 1
      SELECTION_CANCELED = 2
      INTERNAL_ERROR     = 3
      OTHERS             = 4.
  IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

START-OF-SELECTION.
  MOVE P_FILE TO G_FILE_NAME.
*Get graphics to BDS
  CALL FUNCTION 'SAPSCRIPT_GET_GRAPHIC_BDS'
    EXPORTING
      I_OBJECT       = 'GRAPHICS'
      I_NAME         = P_IMAGE
      I_ID           = 'BMAP'
      I_BTYPE        = P_BTYPE
    IMPORTING
      E_BYTECOUNT    = G_BYTECOUNT
    TABLES
      CONTENT        = G_CONTENT
    EXCEPTIONS
      NOT_FOUND      = 1
      BDS_GET_FAILED = 2
      BDS_NO_CONTENT = 3
      OTHERS         = 4.
  IF SY-SUBRC <> 0.
    MESSAGE I208(00) WITH 'Image does not exists.'(000).
  ENDIF.

  IF NOT G_CONTENT[] IS INITIAL.
*Convert to BITMAP
    CALL FUNCTION 'SAPSCRIPT_CONVERT_BITMAP'
      EXPORTING
        OLD_FORMAT               = 'BDS'
        NEW_FORMAT               = 'BMP'
        BITMAP_FILE_BYTECOUNT_IN = G_BYTECOUNT
      IMPORTING
        BITMAP_FILE_BYTECOUNT    = G_BITMAP_FILE_BYTECOUNT
      TABLES
        BDS_BITMAP_FILE          = G_CONTENT
        BITMAP_FILE              = G_BITMAP_FILE
      EXCEPTIONS
        OTHERS                   = 1.
    IF SY-SUBRC <> 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
*Download to PC
    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
        BIN_FILESIZE            = G_BITMAP_FILE_BYTECOUNT
        FILENAME                = G_FILE_NAME
        FILETYPE                = 'BIN'
      TABLES
        DATA_TAB                = G_BITMAP_FILE
      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.
  ENDIF.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以通过以下步骤下载Modelsim SE: 1. 首先,您可以使用百度网盘下载Modelsim SE的安装文件。下载链接为:\[1\]。提取码为:ifte。 2. 下载完成后,解压缩下载的压缩包。如果您使用的是64位操作系统,请选择解压缩win64版本的压缩包。 3. 双击可执行文件运行安装程序。按照安装向导的指示进行操作。 4. 在安装过程中,您可以选择安装路径,并点击“Next”继续。 5. 在安装过程中,您需要点击“Agree”同意安装协议。 6. 安装过程中会弹出一个窗口询问是否添加环境变量。请点击“允许”,这样就可以从DOS提示符执行Modelsim了。 7. 安装完成后,您可以选择是否将Modelsim SE添加到桌面。如果需要添加,请选择“Yes”。 8. 最后,点击“Done”完成安装。 以上是Modelsim SE的下载和安装步骤。如果您需要注册Modelsim SE,请参考引用\[2\]和引用\[3\]中的步骤。 #### 引用[.reference_title] - *1* [Modelsim SE 下载安装、注册详细教程](https://blog.csdn.net/ssj925319/article/details/115353790)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [modelsim-win64-10.4-se 下载、安装、破解全攻略](https://blog.csdn.net/hucc0706/article/details/79273550)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Modelsim SE的下载和安装](https://blog.csdn.net/m0_59416558/article/details/123425469)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值