Ver Mensaje Individual
  #5  
Viejo 23/05/08, 09:36:27
ballan ballan is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 671
Para realizar operaciones con DIR puedes utilizar las funciones del grupo de funciones CV120 o bien hacerlo con las bapis

Aqui te dejo un pequeño ejemplo que crea un DIR con objetos anexos, toquetealo un poco para que haga lo que tu quieres

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