Ver Mensaje Individual
  #2  
Viejo 09/04/08, 13:20:04
ballan ballan is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 671
Toquetea un poco este codigo porque yo he conseguido crear documentos DIR y anexarle los ficheros y hacer el checkin contra el content server

Un apunte, si lo ejecutas en fondo tienes que utilizar las conexiones SAPFTP y SAPHTTP y si lo lanzas en online tienes que usar las mismas acabadas en A

*&---------------------------------------------------------------------*
*& Report ZPRUEBAINTERFASEPS
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zpruebainterfaseps.

SELECTION-SCREEN: BEGIN OF BLOCK a1 WITH FRAME.

PARAMETERS: p_docu LIKE draw-doknr.

SELECTION-SCREEN: END OF BLOCK a1.

DATA: BEGIN OF kernel_version OCCURS 0,
key(21) TYPE c,
data(69) TYPE c,
END OF kernel_version.

DATA: gv_documento LIKE draw-doknr,
gv_clase LIKE draw-dokar VALUE 'ZET',
gv_version LIKE draw-dokvr VALUE '00',
gv_part LIKE draw-doktl VALUE '000',
gv_descripcion LIKE drat-dktxt VALUE 'Descripcion de prueba',
gv_return LIKE bapiret2,
gv_ruta LIKE bapi_doc_files2-docfile VALUE 'C:\PRUEBA.XLS'.

DATA: gs_documentdata LIKE bapi_doc_draw2,
gv_hostname LIKE bapi_doc_aux-hostname,
gt_characteristicvalues LIKE bapi_characteristic_values OCCURS 0 WITH HEADER LINE,
gt_classallocations LIKE bapi_class_allocation OCCURS 0 WITH HEADER LINE,
gt_descripcionesl LIKE bapi_doc_text OCCURS 0 WITH HEADER LINE,
gt_descripcionesc LIKE bapi_doc_drat OCCURS 0 WITH HEADER LINE,
gt_documentfiles LIKE bapi_doc_files2 OCCURS 0 WITH HEADER LINE.

AT LINE-SELECTION.

SET PARAMETER ID 'CV1' FIELD p_docu.
SET PARAMETER ID 'CV2' FIELD gv_clase.
CALL TRANSACTION 'CV02N' AND SKIP FIRST SCREEN.

START-OF-SELECTION.

gv_documento = p_docu.

gs_documentdata-documenttype = gv_clase.
gs_documentdata-documentnumber = gv_documento.
gs_documentdata-documentversion = gv_version.
gs_documentdata-documentpart = gv_part.
* gs_documentdata-description = '0123456789012345678901234567890123456789'.

gt_descripcionesl-language = 'S'.
gt_descripcionesl-language_iso = 'ES'.
gt_descripcionesl-textline = 'Descripción de prueba para DIR 22222222222222222222222222222222222222222222222222222222222222222222222'.
APPEND gt_descripcionesl.

CLEAR gt_descripcionesl.

gt_descripcionesl-language = 'E'.
gt_descripcionesl-language_iso = 'EN'.
gt_descripcionesl-textline = 'Descripción de prueba para DIR 33333333333333333333333333333333333333333333333333333333333333333333333'.
APPEND gt_descripcionesl.

CLEAR gt_descripcionesl.

* gt_descripcionesl-language = 'S'.
* gt_descripcionesl-textline = '012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901'.
* APPEND gt_descripcionesl.

gt_descripcionesc-language = 'S'.
gt_descripcionesc-language_iso = 'ES'.
gt_descripcionesc-description = 'Descripción 1 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'.
gt_descripcionesc-textindicator = ''.
APPEND gt_descripcionesc.


gt_descripcionesc-language = 'E'.
gt_descripcionesc-language_iso = 'EN'.
gt_descripcionesc-description = 'Descripción 2 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'.
gt_descripcionesc-textindicator = ''.
APPEND gt_descripcionesc.


CALL 'SAPCORE' ID 'ID' FIELD 'VERSION'
ID 'TABLE' FIELD kernel_version-*sys*.

READ TABLE kernel_version INDEX 11.
gv_hostname = kernel_version-data.

* gv_hostname = '10.100.101.155'.

gt_characteristicvalues-classtype = '017'.
gt_characteristicvalues-classname = 'ZDMS_DT'.
gt_characteristicvalues-charname = 'ZFEFIPRE'.
gt_characteristicvalues-charvalue = '15092007'.
APPEND gt_characteristicvalues.
*
* gt_classallocations-classtype = '017'.
* gt_classallocations-classname = 'ZDMS_DT'.
* APPEND gt_classallocations.
*
* gt_documentfiles-wsapplication = 'ZXT'.
** gt_documentfiles-docfile = 'C:\CV01n.txt'.
** gt_documentfiles-docfile = '/tmp/cv01n.txt'.
** gt_documentfiles-docpath = ''.
* gt_documentfiles-storagecategory = 'DMS_C1_ST'.
* gt_documentfiles-checkedin = 'X'.
* APPEND gt_documentfiles.

CALL FUNCTION 'BAPI_DOCUMENT_CREATE2'
EXPORTING
documentdata = gs_documentdata
hostname = gv_hostname
* DOCBOMCHANGENUMBER =
* DOCBOMVALIDFROM =
* DOCBOMREVISIONLEVEL =
* CAD_MODE = ' '
pf_ftp_dest = 'SAPFTP'
pf_http_dest = 'SAPHTTP'
IMPORTING
* DOCUMENTTYPE =
* DOCUMENTNUMBER =
* DOCUMENTPART =
* DOCUMENTVERSION =
return = gv_return
TABLES
characteristicvalues = gt_characteristicvalues
classallocations = gt_classallocations
documentdescriptions = gt_descripcionesc
* OBJECTLINKS =
* DOCUMENTSTRUCTURE =
documentfiles = gt_documentfiles
longtexts = gt_descripcionesl
* COMPONENTS =
.

IF gv_return-type CA 'AE'.

WRITE gv_return-message.

ELSE.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.


* LOOP AT gt_documentfiles.
*
* gt_documentfiles-checkedin = 'X'.
* MODIFY gt_documentfiles.
*
* ENDLOOP.
*
* CALL FUNCTION 'BAPI_DOCUMENT_CHECKIN2'
* EXPORTING
* documenttype = gv_clase
* documentnumber = gv_documento
* documentpart = gv_part
* documentversion = gv_version
** HOSTNAME = ' '
** STATUSINTERN = ' '
** STATUSEXTERN = ' '
** STATUSLOG = ' '
** REVLEVEL = ' '
** AENNR = ' '
** PF_HTTP_DEST = ' '
** PF_FTP_DEST = ' '
** IMPORTING
** RETURN =
* TABLES
* documentfiles = gt_documentfiles
** COMPONENTS =
** DOCUMENTSTRUCTURE =
* .
*
* CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
* EXPORTING
* wait = 'X'.

FORMAT HOTSPOT ON.
WRITE: 'SE HA INTENTADO CREAR EL DOCUMENTO:' , p_docu.
FORMAT HOTSPOT OFF.

ENDIF.
Responder Con Cita