SAP上传图片的两种方法

  • SAP上传图片的两种方法

    第一种,大家都比较熟悉的se78,然后上传上去,之后这个图片主要用于smartforms;

    第二种,大家可能用得较少哦,是screen的图片

    smw0,然后选:WEBRFC应用程序的二进制数据

    一路点进去,看到有很多对象的时候,就是你的地方啦。

    比如你要上传图片,是jpg类型的话,就要“设置-维护MIME类型”

    然后新增

    MIME类型:这个可以自己随便写

    名称后缀:*.jpg

    然后保存,之后就可以上传这个图片进SAP了。

    这后退回界面回来,就是很多对象的界面,点“新建”,这个就是上传了,

    然后对象名称,这个自己取吧,描述自己看着办吧。

    之后这里的数据就会保存在SAP数据库里面,可以直观这个数据的数据表有:WWWDATA。

    用se16进去看看,其中对象名称就是刚才输入的对象名称。

    然后看看效果吧。

    用程序来看效果。

    se38创建一个程序,弄一个screen,然后里面弄一个:定制控件,取名: PICDATA

    其他的自己去设置吧

    具体代码:

     REPORT  ZZP_SCREEN_PICTURE2.

    TYPE-POOLS: VRM .  "存放combobox内容的type pool

    TABLES : WWWDATA.

    DATA : OK_CODE TYPE SY-UCOMM,
           SAVE_OK LIKE OK_CODE.

    DATA CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.

    DATA PICTURE TYPE REF TO CL_GUI_PICTURE.

    DATA PICNAME(200) TYPE C.

    DATA INIT.

    DATA : LIST TYPE VRM_VALUES ,    "list box的值
           VALUE LIKE LINE OF LIST. " list box的结构

    data RETURN LIKE STANDARD TABLE OF DDSHRETVAL WITH HEADER LINE.

    DATA URL(255).
    DATA TBX_URL(255) TYPE C.

    CALL SCREEN 100.

    *开始执行

    MODULE USER_COMMAND_0100 INPUT.

      refresh RETURN.
      SAVE_OK = OK_CODE.
      CLEAR OK_CODE.
      CASE SAVE_OK.
        WHEN 'RETURN'.
          LEAVE PROGRAM.
        WHEN 'BACK'.
          LEAVE PROGRAM.
      ENDCASE.

    DATA : BEGIN OF IDSET,
              OBJID TYPE WWWDATA-OBJID,
             END OF IDSET.

      DATA IT_IDSET LIKE TABLE OF IDSET WITH HEADER LINE.
      refresh RETURN.
      SELECT OBJID
        FROM WWWDATA
        UP TO 5000 ROWS
        INTO TABLE IT_IDSET
        WHERE RELID = 'MI'.
      SORT IT_IDSET BY OBJID.

      DELETE ADJACENT DUPLICATES FROM IT_IDSET COMPARING OBJID.


        call function 'F4IF_INT_TABLE_VALUE_REQUEST'
             exporting
                  retfield        = 'OBJID'
                  value_org       = 'S'
             tables
                  value_tab       = IT_IDSET
                  RETURN_TAB      = RETURN
             exceptions
                  parameter_error = 1
                  no_values_found = 2
                  others          = 3.
        if sy-subrc <> 0.
          message id sy-msgid type sy-msgty number sy-msgno
                  with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        endif.

    ********************************************************************
    PICNAME = RETURN-fieldval.
    PERFORM SHOW CHANGING PICNAME.
    ENDMODULE.


    MODULE STATUS_0100 OUTPUT.
      SET PF-STATUS 'STATUS1'.


    ENDMODULE.

    FORM SHOW CHANGING PICNAME2.

      IF PICTURE IS INITIAL.
        CLEAR URL.
        CREATE OBJECT CONTAINER
        EXPORTING
          CONTAINER_NAME = 'PICDATA'.
        CREATE OBJECT PICTURE
          EXPORTING
            PARENT = CONTAINER
          EXCEPTIONS
            ERROR = 1.
        IF SY-SUBRC NE 0.
        ENDIF.
      ENDIF.

      PERFORM LOAD_PIC_FROM_DB CHANGING PICNAME2 URL.
      TBX_URL = URL.
      CALL METHOD PICTURE->LOAD_PICTURE_FROM_URL
          EXPORTING
            URL = URL.
        IF SY-SUBRC NE 0.
        ENDIF.
    ENDFORM.

    FORM LOAD_PIC_FROM_DB CHANGING PICNAME3 URL.
      DATA QUERY_TABLE LIKE W3QUERY OCCURS 1 WITH HEADER LINE.
      DATA HTML_TABLE LIKE W3HTML OCCURS 1.
      DATA RETURN_CODE LIKE W3PARAM-RET_CODE.
      DATA CONTENT_TYPE LIKE W3PARAM-CONT_TYPE.
      DATA CONTENT_LENGTH LIKE W3PARAM-CONT_LEN.
      DATA PIC_DATA LIKE W3MIME OCCURS 0.
      DATA PIC_SIZE TYPE I.

      REFRESH QUERY_TABLE.
      QUERY_TABLE-NAME = '_OBJECT_ID'.
      QUERY_TABLE-VALUE = PICNAME3.
      APPEND QUERY_TABLE.

      CALL FUNCTION 'WWW_GET_MIME_OBJECT'
        TABLES
          QUERY_STRING = QUERY_TABLE
          HTML = HTML_TABLE
          MIME = PIC_DATA
        CHANGING
          RETURN_CODE = RETURN_CODE
          CONTENT_TYPE = CONTENT_TYPE
          CONTENT_LENGTH = CONTENT_LENGTH
        EXCEPTIONS
          OBJECT_NOT_FOUND = 1
          PARAMETER_NOT_FOUND = 2
          OTHERS = 3.
       IF SY-SUBRC = 0.
         PIC_SIZE = CONTENT_LENGTH.
       ENDIF.

       CALL FUNCTION 'DP_CREATE_URL'
        EXPORTING
          TYPE = 'image'
          SUBTYPE = CNDP_SAP_TAB_UNKNOWN
          SIZE = PIC_SIZE
          LIFETIME = CNDP_LIFETIME_TRANSACTION
        TABLES
          DATA = PIC_DATA
        CHANGING
          URL = URL
        EXCEPTIONS
          OTHERS = 1.
    ENDFORM.


     

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值