on 08-31-2009 11:07 AM
Hi Gurus,
does anybody know if the former Global object Services ( GOS ) are availabel in WD4A?
Any planning for transforming them to the new UI-technology?
Best regards
Andreas
Even i am looking for a standard web dynpro interface for the same.
there are no Non Dialog services for Attachments to Business objects.
Currently i am using my custom code.
Get the folder ID
CALL FUNCTION 'SO_FOLDER_ROOT_ID_GET'
EXPORTING
OWNER = ' '
region = 'B'
IMPORTING
folder_id = ls_fold
EXCEPTIONS
communication_failure = 1
owner_not_exist = 2
system_failure = 3
x_error = 4
OTHERS = 5
.
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
BUFFER = CS_ATTACH-FILE_CONTENT
APPEND_TO_TABLE = ' '
IMPORTING
OUTPUT_LENGTH = LV_SIZE
TABLES
BINARY_TAB = LT_CONTENT
.
DESCRIBE TABLE LT_CONTENT LINES LV_LINES.
LOOP AT LT_CONTENT INTO LS_CONTENT.
LS_BIN-LINE = LS_CONTENT-LINE.
APPEND LS_BIN TO LT_BIN.
ENDLOOP.
CALL FUNCTION 'SO_LOIO_PHIO_CREATE'
IMPORTING
LOIO_OBJECT = LS_LOIO
PHIO_OBJECT = LS_PHIO
EXCEPTIONS
KPRO_MODEL_ERROR = 1
X_ERROR = 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.
LS_ACCESS-COMP_ID = CS_ATTACH-FILE_NAME.
LS_ACCESS-COMP_SIZE = LV_SIZE.
LS_ACCESS-BINARY_FLG = 'X'.
LS_ACCESS-FIRST_LINE = 1.
LS_ACCESS-LAST_LINE = LV_LINES.
APPEND LS_ACCESS TO LT_ACCESS.
CALL FUNCTION 'SCMS_R3DB_EXPORT'
EXPORTING
MANDT = SY-MANDT
CREP_ID = 'SOFFDB'
DOC_ID = LS_PHIO-OBJID
PHIO_ID =
DOC_PROT = ' '
OVERWRITE = '-'
CREA_TIME =
IMPORTING
DOC_ID_OUT =
TABLES
ACCESS_INFO = LT_ACCESS
CONTENT_TXT =
CONTENT_BIN = LT_BIN
EXCEPTIONS
ERROR_EXPORT = 1
ERROR_IMPORT = 2
ERROR_PARAMETER = 3
FORBIDDEN = 4
OTHERS = 5
.
SPLIT CS_ATTACH-FILE_NAME AT '.' INTO TABLE LT_FILE_NAME.
READ TABLE LT_FILE_NAME INTO LS_HD_CHANGE-OBJDES INDEX 1.
READ TABLE LT_FILE_NAME INTO LS_HD_CHANGE-FILE_EXT INDEX 2.
LS_HD_CHANGE-OBJLEN = LV_SIZE.
LS_HD_CHANGE-OBJPRI = '5'.
ls_hD_CHANGE-extct = 'K'.
CONCATENATE '&SO_FILENAME=' LS_HD_CHANGE-OBJDES '.'
LS_HD_CHANGE-FILE_EXT INTO LS_OBJHD.
APPEND LS_OBJHD TO LT_OBJHD.
CLEAR LS_OBJHD.
CONCATENATE '&SO_FORMAT=BIN' LS_OBJHD INTO LS_OBJHD.
APPEND LS_OBJHD TO LT_OBJHD.
CONCATENATE '&SO_KProObjectID=' LS_LOIO INTO LS_OBJCONT-LINE.
APPEND LS_OBJCONT TO LT_OBJCONT.
CALL FUNCTION 'SO_OBJECT_INSERT'
EXPORTING
FOLDER_ID = LS_FOLD
OBJECT_FL_CHANGE = ' '
OBJECT_HD_CHANGE = ls_hD_CHANGE
OBJECT_TYPE = 'EXT'
ORIGINATOR_ID = ' '
OWNER = ' '
IMPORTING
OBJECT_FL_DISPLAY =
OBJECT_HD_DISPLAY = LS_HD_DISP
OBJECT_ID = LS_OBJECT
TABLES
OBJCONT = LT_OBJCONT
OBJHEAD = LT_OBJHD
OBJPARA =
OBJPARB =
EXCEPTIONS
ACTIVE_USER_NOT_EXIST = 1
COMMUNICATION_FAILURE = 2
COMPONENT_NOT_AVAILABLE = 3
DL_NAME_EXIST = 4
FOLDER_NOT_EXIST = 5
FOLDER_NO_AUTHORIZATION = 6
OBJECT_TYPE_NOT_EXIST = 7
OPERATION_NO_AUTHORIZATION = 8
OWNER_NOT_EXIST = 9
PARAMETER_ERROR = 10
SUBSTITUTE_NOT_ACTIVE = 11
SUBSTITUTE_NOT_DEFINED = 12
SYSTEM_FAILURE = 13
X_ERROR = 14
OTHERS = 15
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LS_OBJ_A-OBJKEY = IM_VBELN.
LS_OBJ_A-OBJTYPE = '/IRM/GCR'.
LS_OBJ_B-OBJKEY = LS_FOLD.
LS_OBJ_B-OBJKEY+17(17) = LS_OBJECT.
LS_OBJ_B-OBJTYPE = 'MESSAGE'.
CALL FUNCTION 'BINARY_RELATION_CREATE'
EXPORTING
OBJ_ROLEA = LS_OBJ_A
OBJ_ROLEB = LS_OBJ_B
RELATIONTYPE = 'ATTA'
FIRE_EVENTS = 'X'
IMPORTING
BINREL =
TABLES
BINREL_ATTRIB =
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT =
IMPORTING
RETURN =
.
Abhi
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
90 | |
10 | |
10 | |
10 | |
7 | |
7 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.