viernes, 23 de noviembre de 2012

Modificar documento CV03N

Al correr el programa Crear documento CV01N sube la informacion del documento, y con este codigo modificamos o borramos campos.
Al crearlo.
Al modificarlo.
 


DATAaid TYPE sdok_loid,
      fid TYPE sdok_phid,
      dir TYPE draddir.
DATAls_doc LIKE bapi_doc_draw2,
      ls_docx  LIKE bapi_doc_drawx2,
      ls_return LIKE bapiret2,
      it_files LIKE bapi_doc_files2 OCCURS WITH HEADER LINE,
      it_files2 LIKE bapi_doc_files2 OCCURS WITH HEADER LINE,
      wa_files2 LIKE it_files,
      lt_drat LIKE bapi_doc_drat OCCURS WITH HEADER LINE,
      it_link LIKE bapi_doc_drad OCCURS WITH HEADER LINE,
      it_link2 LIKE bapi_doc_drad OCCURS WITH HEADER LINE,
      wa_link2 LIKE it_link2.

ls_doc-documenttype 'DRW'.
ls_doc-documentnumber 'CH5000Q'.
ls_doc-documentversion '00'.
ls_doc-documentpart '000'.

ls_doc-description 'Prueba descripcion'.
ls_docx-description 'X'.
ls_doc-username 'Hgomez'.
ls_docx-username 'X'.

CLEAR it_files2.
REFRESH it_files2.

CLEAR it_link2.
REFRESH it_link2.

CALL FUNCTION 'BAPI_DOCUMENT_GETDETAIL2'
  EXPORTING
   documenttype               'DRW'
   documentnumber             'CH5000Q'
   documentpart               '000'
   documentversion            '00'
   getobjectlinks             'X'
   getcomponents              'X'
   getstatuslog               'X'
   getlongtexts               'X'
   getactivefiles             'X'
   getdocdescriptions         'X'
   getdocfiles                'X'
   getclassification          'X'
   getstructure               'X'
   getwhereused               'X'
   hostname                   'X'
*   INHERITED                  =
* IMPORTING
*   DOCUMENTDATA               =
*   RETURN                     =
 TABLES
   objectlinks                it_link2
*   DOCUMENTDESCRIPTIONS       =
*   LONGTEXTS                  =
*   STATUSLOG                  =
   documentfiles              it_files2
*   COMPONENTS                 =
*   CHARACTERISTICVALUES       =
*   CLASSALLOCATIONS           =
*   DOCUMENTSTRUCTURE          =
*   WHEREUSEDLIST              =
          .
LOOP AT it_files2 INTO wa_files2 WHERE docfile 'C:\hi.doc'.
  aid wa_files2-application_id.
  fid =  wa_files2-file_id.
ENDLOOP.

CLEAR it_files.
REFRESH it_files.
*it_files-ORIGINALTYPE = 1. "INGRESAR
it_files-deletevalue     'X'.  "PARA BORRAR
it_files-docfile         'C:\hi.doc'.
it_files-wsapplication   'WWI'.
*it_files-ACTIVE_VERSION = 'X'. "INGRESAR
it_files-application_id  aid"PARA BORRAR
it_files-file_id         fid"PARA BORRAR
APPEND it_files.


LOOP AT it_link2 INTO wa_link2 WHERE objectkey '098010254'.
  dir wa_link2-documentdirection.
ENDLOOP.

CLEAR it_link.
REFRESH it_link.
it_link-deletevalue       'X'"PARA BORRAR
it_link-objecttype        'MARA'.
it_link-objectkey         '098010254'.
it_link-documentdirection dir"PARA BORRAR
APPEND it_link.


CALL FUNCTION 'BAPI_DOCUMENT_CHANGE2'
  EXPORTING
    documenttype               ls_doc-documenttype
    documentnumber             ls_doc-documentnumber
    documentpart               ls_doc-documentpart
    documentversion            ls_doc-documentversion
    documentdata               ls_doc
    documentdatax              ls_docx
*   HOSTNAME                   =
*   DOCBOMCHANGENUMBER         =
*   DOCBOMVALIDFROM            =
*   DOCBOMREVISIONLEVEL        =
*   SENDCOMPLETEBOM            = ' '
*   PF_FTP_DEST                = ' '
*   PF_HTTP_DEST               = ' '
*   CAD_MODE                   = ' '
*   ACCEPT_EMPTY_BOM           = ' '
 IMPORTING
    return ls_return
 TABLES
*   CHARACTERISTICVALUES       =
*   CLASSALLOCATIONS           =
*   DOCUMENTDESCRIPTIONS       =
    objectlinks                =  it_link
*   DOCUMENTSTRUCTURE          =
   documentfiles               =  it_files
*   LONGTEXTS                  =
*   COMPONENTS                 =
.

IF ls_return-type CA 'EA'.
  CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
  MESSAGE ID '26' TYPE 'I' NUMBER '000'
  WITH ls_return-message.
ELSE.
  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
  MESSAGE 'DMS MODIFICADO'  TYPE 'S'.
ENDIF.

No hay comentarios:

Publicar un comentario