第一种,大家都比较熟悉的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.