Code listing for class: ZCL_GOS_ATTACHMENT

Description: Represents a GOS Attachment

**************************************************************************
* Class attributes. *
**************************************************************************
Instantiation: Private
Message class:
State: Implemented
Final Indicator: X
R/3 Release: 702

**************************************************************************
* Public section of class. *
**************************************************************************
class ZCL_GOS_ATTACHMENT definition
  public
  final
  create private .

public section.
*"* public components of class ZCL_GOS_ATTACHMENT
*"* do not include other source files here!!

  methods GET_ASCII_CONTENT
    returning
      value(CONTENT) type STRING
    raising
      ZCX_GOS_ATTACHMENT_EXCEPTION .
  methods GET_ATTACHMENTS_FOR_BO
    importing
      OBJECT_KEY type SIBFBORIID
      OBJECT_TYPE type SIBFTYPEID
      CATEGORY_ID type SIBFCATID
    returning
      value(ATTACHMENTS) type ZATTACHMENT_T .
  methods CREATE_URL
    importing
      OBJECT_KEY type SIBFBORIID
      OBJECT_TYPE type SIBFTYPEID
      CATEGORY_ID type SIBFCATID
      URL type SDOK_SDAT
      NAME type SDOK_PROPV optional
      DESCRIPTION type SDOK_PROPV optional
    returning
      value(ATTACHMENT) type ref to ZCL_GOS_ATTACHMENT
    raising
      ZCX_GOS_ATTACHMENT_EXCEPTION .
  methods UPLOAD_BINARY_FILE
    importing
      OBJECT_KEY type SIBFBORIID
      OBJECT_TYPE type SIBFTYPEID
      CATEGORY_ID type SIBFCATID
      BINARY_STRING type XSTRING
      FILENAME type STRING
    returning
      value(ATTACHMENT) type ref to ZCL_GOS_ATTACHMENT
    raising
      ZCX_GOS_ATTACHMENT_EXCEPTION .
  methods GET_URL_CONTENT
    returning
      value(URL) type STRING
    raising
      ZCX_GOS_ATTACHMENT_EXCEPTION .
  methods GET_FILE_INFO
    exporting
      EV_FILE_NAME type SDOK_FILNM
      EV_MIMETYPE type W3CONTTYPE
      EV_FILE_TYPE type SDOK_TRFMD
      EV_FILE_SIZE type SDOK_FSIZE
      EV_BAD_IOS type SKWF_IOERRS
      EV_DOC_TYPE type CRMT_DOC_TYPE .
  methods GET_BASE64_CONTENT
    returning
      value(CONTENT) type STRING
    raising
      ZCX_GOS_ATTACHMENT_EXCEPTION .

**************************************************************************
* Private section of class. *
**************************************************************************
private section.
*"* private components of class ZCL_GOS_ATTACHMENT
*"* do not include other source files here!!

  data KEY type SKWF_LPIO .
  data FILE_NAME type SDOK_FILNM .
  data MIMETYPE type W3CONTTYPE .
  data FILE_TYPE type SDOK_TRFMD .
  data FILE_SIZE type SDOK_FSIZE .
  data BAD_IOS type SKWF_IOERRS .
  data DOC_TYPE type CRMT_DOC_TYPE .

  methods CONSTRUCTOR
    importing
      KEY type SKWF_LPIO .

**************************************************************************
* Protected section of class. *
**************************************************************************
protected section.
*"* protected components of class ZCL_GOS_ATTACHMENT
*"* do not include other source files here!!

**************************************************************************
* Types section of class. *
**************************************************************************
*"* dummy include to reduce generation dependencies between
*"* class ZCL_GOS_ATTACHMENT and it's users.
*"* touched if any type reference has been changed