注意:SAP只能上传打印bmp格式图片
1.标准程序上传 T-CODE:SE78
2.程序代码上传
DATA: P_FILENAME TYPE RLGRAP-FILENAME,P_NAME TYPE STXBITMAPS-TDNAME,P_TITLE LIKE BAPISIGNAT-PROP_VALUE,P_DOCID TYPE STXBITMAPS-DOCID,P_RESOLUTION TYPE STXBITMAPS-RESOLUTION."上传bmp图片CLEAR:P_FILENAME,P_NAME,P_DOCID,P_RESOLUTION.P_FILENAME = '文件路径'.P_NAME = '图片名称'.P_TITLE = '描述'.
* P_DOCID = 'BDS_LOC3 000C29F3DDEB1EEA9ECA85BE49A81BB0'.
* REPLACE ALL OCCURRENCES OF '.BMP' IN P_FILENAME WITH '.bmp'.PERFORM IMPORT_BITMAP_BDS IN PROGRAM SAPLSTXBITMAPSUSING P_FILENAME "文件路径P_NAME "p_name "名字'GRAPHICS'"p_object "对象 固定为 GRAPHIC'BMAP'"p_id "ID 固定为 BMAP'BCOL'"'BMON'"p_btype "颜色模式 BMON黑白 BCOL彩色'BMP'"p_format "BMP 格式P_TITLE"description "描述''"p_resident "依照打印请求驻留在打印机内存中 X 驻留'X'"p_autoheight "自动高度''"p_bmcomp "是否压缩CHANGING P_DOCID "文档IDP_RESOLUTION . "分辨率
1,首先创建一个屏幕,拖入一个自定义控键
2,显示图片绑定屏幕控键显示
DATA: H_PICTURE TYPE REF TO CL_GUI_PICTURE,H_PIC_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.DATA: GRAPHIC_URL(255) TYPE C,GRAPHIC_REFRESH TYPE CHAR1,G_RESULT TYPE I.DATA: BEGIN OF GRAPHIC_TABLE OCCURS 0,LINE(255) TYPE X,END OF GRAPHIC_TABLE.DATA: GRAPHIC_SIZE TYPE I.CONSTANTS: CNTL_TRUE TYPE I VALUE 1,CNTL_FALSE TYPE I VALUE 0.DATA: L_GRAPHIC_XSTR TYPE XSTRING,L_GRAPHIC_CONV TYPE I,L_GRAPHIC_OFFS TYPE I.CALL METHOD CL_SSF_XSF_UTILITIES=>GET_BDS_GRAPHIC_AS_BMPEXPORTINGP_OBJECT = 'GRAPHICS'P_NAME = '900102002051' "图片名称(SE78中维护)P_ID = 'BMAP'P_BTYPE = 'BCOL' "(BMON = black&white, BCOL = colour)RECEIVINGP_BMP = L_GRAPHIC_XSTREXCEPTIONSNOT_FOUND = 1OTHERS = 2.GRAPHIC_SIZE = XSTRLEN( L_GRAPHIC_XSTR ).CHECK GRAPHIC_SIZE > 0.L_GRAPHIC_CONV = GRAPHIC_SIZE.L_GRAPHIC_OFFS = 0.WHILE L_GRAPHIC_CONV > 255.GRAPHIC_TABLE-LINE = L_GRAPHIC_XSTR+L_GRAPHIC_OFFS(255).APPEND GRAPHIC_TABLE.L_GRAPHIC_OFFS = L_GRAPHIC_OFFS + 255.L_GRAPHIC_CONV = L_GRAPHIC_CONV - 255.ENDWHILE.GRAPHIC_TABLE-LINE = L_GRAPHIC_XSTR+L_GRAPHIC_OFFS(L_GRAPHIC_CONV).APPEND GRAPHIC_TABLE.CALL FUNCTION 'DP_CREATE_URL'EXPORTINGTYPE = 'image' "#EC NOTEXTSUBTYPE = CNDP_SAP_TAB_UNKNOWN " 'X-UNKNOWN'SIZE = GRAPHIC_SIZELIFETIME = CNDP_LIFETIME_TRANSACTION "'T'TABLESDATA = GRAPHIC_TABLECHANGINGURL = GRAPHIC_URLEXCEPTIONSDP_INVALID_PARAMETER = 1DP_ERROR_PUT_TABLE = 2DP_ERROR_GENERAL = 3OTHERS = 4.IF SY-SUBRC <> 0.MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNOWITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.ENDIF."创建图片容器CREATE OBJECT H_PIC_CONTAINEREXPORTINGCONTAINER_NAME = 'P_9001'. "“定制控制”控件名称"创建图片实例CREATE OBJECT H_PICTUREEXPORTINGPARENT = H_PIC_CONTAINER."显示图片CALL METHOD H_PICTURE->LOAD_PICTURE_FROM_URLEXPORTINGURL = GRAPHIC_URLIMPORTINGRESULT = G_RESULT.
运行效果,图片大小不会自适应屏幕
1.新建图形,右键-创建-图形
2.填写图片参数信息 (图片必须上传SAP,只支持bmp格式图片)
3.打印效果预览
动态打印
1.声明一个全局变量,赋值给图形名称
2.创建程序行,在程序行通过代码动态赋值图形名称
3.这里赋值图片名称和上面是同一个,显示效果是一样的,这里可以根据输入参数不同显示不同的图片