on 02-28-2008 5:07 AM
Hi .
I want add file to DMS i,e, SAP Document Management System .
I first tried calling BAPI : BAPI_CREATE_DOCUMENT2 in Report and I was successfull.
I am trying out same thing via Web Dynpro Application but I am getting error in Return of BAPI .Error is Error while checking in and storing: C:\Documents and Settings\Desktop\Hi.doc.
I am pasting code I have written on click of Upload .
method ONACTIONON_UPLOAD .
implicitly available data objects
wd_Context type ref to if_wd_context_node.
wd_This type ref to if_FileUpload.
DATA: gv_documento TYPE draw-doknr ,
gv_clase TYPE draw-dokar VALUE 'Z99' ,
gv_version TYPE draw-dokvr VALUE '00',
gv_part TYPE draw-doktl VALUE '000',
gv_descripcion TYPE drat-dktxt VALUE 'Description111',
gv_return TYPE bapiret2,
filename(60) type c ,
lt_documentdata TYPE STANDARD TABLE OF bapi_doc_draw2,
ls_documentdata LIKE LINE OF lt_documentdata,
lt_characteristicvalues TYPE STANDARD TABLE OF bapi_characteristic_values ,
lt_classallocations TYPE STANDARD TABLE OF bapi_class_allocation ,
lt_documentfiles TYPE STANDARD TABLE OF bapi_doc_files2 ,
ls_documentfiles LIKE LINE OF lt_documentfiles ,
lv_content type xstring ,
size type i.
DATA lo_el_context TYPE REF TO if_wd_context_element.
DATA ls_context TYPE wd_this->element_context.
DATA lv_filename LIKE ls_context-filename.
get element via lead selection
lo_el_context = wd_context->get_element( ).
get single attribute
lo_el_context->get_attribute(
EXPORTING
name = `FILENAME`
IMPORTING
value = lv_filename ).
ls_documentdata-documenttype = 'Z99'.
ls_documentdata-documentversion = '000'.
ls_documentdata-documentpart = '00'.
ls_documentdata-description = 'Test Document Created Parag'.
ls_documentdata-STATUSEXTERN = 'WR'.
ls_documentdata-USERNAME = 'I046361'.
ls_documentdata-WSAPPLICATION1 = 'DOC'.
ls_documentdata-DOCFILE1 = lv_filename.
ls_documentdata-DATACARRIER1 = 'DEFAULT'.
ls_documentfiles-wsapplication = 'DOC'.
ls_documentfiles-docfile = lv_filename.
ls_documentfiles-storagecategory = 'DMS_C1_ST'.
ls_documentfiles-checkedin = 'X'.
APPEND ls_documentfiles to lt_documentfiles.
CALL FUNCTION 'BAPI_DOCUMENT_CREATE2'
EXPORTING
documentdata = ls_documentdata
pf_http_dest = 'SAPHTTP'
IMPORTING
return = gv_return
TABLES
documentfiles = lt_documentfiles.
IF gv_return-type CA 'AE'.
WRITE gv_return-message.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
ENDIF .
endmethod.
Now Can anyone tell
In case of Web Dynpro what Is this code right ?
Do I need to change value of Parameters I have Set ?
Do i need to some change as I am trying to Upload file Via WebApplication ?
Do I have to change data Carrier ?
Please let me know urgently .Points will be surely Given ...
Regards ,
Parag
Hi ,
Finally I was successfull in Uploading Docs.It seems I was not getting right Parameters ..anyways correct code is as follows ...
method ONACTIONON_UPLOAD .
implicitly available data objects
wd_Context type ref to if_wd_context_node.
wd_This type ref to if_FileUpload.
DATA: gv_documento TYPE draw-doknr ,
gv_clase TYPE draw-dokar VALUE 'Z99' ,
gv_version TYPE draw-dokvr VALUE '00',
gv_part TYPE draw-doktl VALUE '000',
gv_descripcion TYPE drat-dktxt VALUE 'Description111',
gv_return TYPE BAPIRETURN ,
gv_return TYPE BAPIRET2 ,
gv_ruta TYPE bapi_doc_files2-docfile VALUE 'C:\BAPI_DMS.doc' ,
filename(60) type c ,
lt_documentdata TYPE STANDARD TABLE OF bapi_doc_draw2,
ls_documentdata LIKE LINE OF lt_documentdata,
lt_characteristicvalues TYPE STANDARD TABLE OF bapi_characteristic_values ,
lt_classallocations TYPE STANDARD TABLE OF bapi_class_allocation ,
lt_documentfiles TYPE STANDARD TABLE OF bapi_doc_files2 ,
ls_documentfiles LIKE LINE OF lt_documentfiles ,
lv_content type xstring ,
size type i ,
lt_binary TYPE TABLE OF sdokcntbin ,
ls_binary LIKE LINE OF lt_binary ,
lv_size TYPE I ,
ls_doc_status TYPE CVAPI_DOC_STATUS ,
ls_API_ctrl TYPE CVAPI_API_CONTROL ,
l_MSG TYPE MESSAGES ,
lt_files type STANDARD TABLE OF CVAPI_DOC_FILE ,
lt_drao TYPE STANDARD TABLE OF DRAO ,
ls_drao LIKE LINE OF lt_drao ,
lv_documenttype TYPE DRAW-DOKAR ,
lv_documentnumber TYPE DRAW-DOKNR ,
lv_documentversion TYPE DRAW-DOKVR ,
lv_documentpart TYPE DRAW-DOKTL ,
lv_text TYPE string .
FIELD-SYMBOLS <fs> TYPE ANY.
DATA lo_el_context TYPE REF TO if_wd_context_element.
DATA ls_context TYPE wd_this->element_context.
DATA lv_filename LIKE ls_context-filename .
get element via lead selection
lo_el_context = wd_context->get_element( ).
get single attribute
lo_el_context->get_attribute( EXPORTING name = `FILENAME` IMPORTING value = lv_filename ).
lo_el_context->get_attribute( EXPORTING name = `FILECONTENT` IMPORTING value = lv_content ).
CONCATENATE lv_text 'by' sy-uname 'cretaed at ' sy-uzeit INTO lv_text .
ls_documentdata-documenttype = 'Z99'.
ls_documentdata-documentversion = '00'.
ls_documentdata-documentpart = '000'.
ls_documentdata-description = 'Test Document Created in Web Dynpro ABAP '.
ls_documentdata-STATUSEXTERN = 'WR'.
ls_documentdata-USERNAME = 'I046361'.
ls_documentdata-WSAPPLICATION1 = 'DOC'.
ls_documentdata-DOCFILE1 = lv_filename.
ls_documentdata-DATACARRIER1 = 'DEFAULT'.
ls_documentfiles-DOCUMENTTYPE = 'Z99'.
ls_documentfiles-WSAPPLICATION = 'DOC'.
ls_documentfiles-DOCUMENTVERSION = '00'.
ls_documentfiles-DOCUMENTPART = '000'.
ls_documentfiles-DOCFILE = lv_filename.
ls_documentfiles-description = 'Test Document Created in Web Dynpro ABAP '.
ls_documentfiles-CREATED_BY = sy-uname.
ls_documentfiles-CHECKEDIN = 'X'.
ls_documentfiles-DOCFILE = lv_filename.
APPEND ls_documentfiles to lt_documentfiles .
CALL FUNCTION 'BAPI_DOCUMENT_CREATE2'
EXPORTING
documentdata = ls_documentdata
pf_http_dest = 'SAPHTTPA'
IMPORTING
DOCUMENTNUMBER = lv_DOCUMENTNUMBER
return = gv_return
TABLES
documentfiles = lt_documentfiles.
IF gv_return-type CA 'AE'.
WRITE gv_return-message.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING wait = 'X'.
get message manager
data lo_api_controller type ref to if_wd_controller.
data lo_message_manager type ref to if_wd_message_manager.
lo_api_controller ?= wd_This->Wd_Get_Api( ).
CALL METHOD lo_api_controller->GET_MESSAGE_MANAGER
RECEIVING
MESSAGE_MANAGER = lo_message_manager
.
CLEAR lv_text .
CONCATENATE 'Dcoument ' lv_filename 'Successfully stored with Document No. ' lv_DOCUMENTNUMBER INTO lv_text .
report message
CALL METHOD lo_message_manager->REPORT_SUCCESS
EXPORTING
MESSAGE_TEXT = lv_text
PARAMS =
MSG_USER_DATA =
IS_PERMANENT = ABAP_FALSE
SCOPE_PERMANENT_MSG = CO_MSG_SCOPE_CONTROLLER
VIEW =
SHOW_AS_POPUP =
CONTROLLER_PERMANENT_MSG =
MSG_INDEX =
CANCEL_NAVIGATION =
.
ENDIF .
endmethod.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
95 | |
11 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.