Download Image / Graphics from SE78 in SAP

Download Image / Graphics from SE78 in SAP

SE78 T-Code üzerinden yüklediğiniz resim ve grafikleri yerel olarak kaydetmek için yazılmış ABAP kodunu inceleyebilirsiniz.

BMAP Grafiklerini SAP’den yerele çıkarmak için;

  • Belirli grafik görüntüsü için SAP BDS’den ikili veriyi alıyoruz.
  • BDS dosya formatındaki grafikleri BMP bitmap görüntü formatına dönüştürüyoruz.
  • Dosya yolu ve kaydedileceği ismi yazarak çalıştırıyoruz.
Program Seçim Ekranı
PARAMETERS: P_OBJECT TYPE STXBITMAPS-TDOBJECT DEFAULT 'GRAPHICS',
            P_NAME   TYPE STXBITMAPS-TDNAME,
            P_ID     TYPE STXBITMAPS-TDID DEFAULT 'BMAP',
            P_BTYPE  TYPE STXBITMAPS-TDBTYPE DEFAULT 'BCOL'.

PARAMETERS: P_FILE LIKE RLGRAP-FILENAME.

DATA : L_BYTECOUNT  TYPE I,
       L_TDBTYPE    LIKE STXBITMAPS-TDBTYPE,
       L_CONTENT    TYPE STANDARD TABLE OF BAPICONTEN INITIAL SIZE 0,
       GRAPHIC_SIZE TYPE I.

DATA: BEGIN OF GRAPHIC_TABLE OCCURS 0,
        LINE(255) TYPE X,
      END OF GRAPHIC_TABLE.

CALL FUNCTION 'SAPSCRIPT_GET_GRAPHIC_BDS'
  EXPORTING
    I_OBJECT       = P_OBJECT
    I_NAME         = P_NAME
    I_ID           = P_ID
    I_BTYPE        = P_BTYPE
  IMPORTING
    E_BYTECOUNT    = L_BYTECOUNT
  TABLES
    CONTENT        = L_CONTENT
  EXCEPTIONS
    NOT_FOUND      = 1
    BDS_GET_FAILED = 2
    BDS_NO_CONTENT = 3
    OTHERS         = 4.

CALL FUNCTION 'SAPSCRIPT_CONVERT_BITMAP'
  EXPORTING
    OLD_FORMAT               = 'BDS'
    NEW_FORMAT               = 'BMP'
    BITMAP_FILE_BYTECOUNT_IN = L_BYTECOUNT
  IMPORTING
    BITMAP_FILE_BYTECOUNT    = GRAPHIC_SIZE
  TABLES
    BDS_BITMAP_FILE          = L_CONTENT
    BITMAP_FILE              = GRAPHIC_TABLE
  EXCEPTIONS
    OTHERS                   = 1.

CALL FUNCTION 'WS_DOWNLOAD'
  EXPORTING
    BIN_FILESIZE            = GRAPHIC_SIZE
    FILENAME                = P_FILE
    FILETYPE                = 'BIN'
  TABLES
    DATA_TAB                = GRAPHIC_TABLE
  EXCEPTIONS
    INVALID_FILESIZE        = 1
    INVALID_TABLE_WIDTH     = 2
    INVALID_TYPE            = 3
    NO_BATCH                = 4
    UNKNOWN_ERROR           = 5
    GUI_REFUSE_FILETRANSFER = 6.

IF SY-SUBRC  NE 0.
  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
          WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Sitemizde en iyi deneyimi yaşamanızı sağlamak için çerezler kullanmaktadır.