Edit some values in DMS document

Hi Gurus,
i need to edit some items in my PDF/DOC document in DMS when i print it.
Is it possible?
Thank you!!!
Mm.
Edited by: Masha Mukhina on Feb 11, 2011 3:07 PM

Hi Masha,
Once uploaded original can't be edited in SAP DMS. May redlining can be used for limited scope.
Hope this will help.
Regards,
Ravindra

Similar Messages

  • How to populate values dynamically & allows user to edit some other columns

    Hi..I am new to Apex..please help me to sove it out...
    I have a scenario like editing the some of the Customer details where as one field is dynamically populating from a different table.
    Columns like Include, Frequency, Communication, Address and Exclude has to be displayed in tabular format and data should be stored in a table called "om_customer_catalog ".
    In this "Communication " column value is dynamically populating from a table called "om_customer_settings" and the no. of records in the om_customer_settings table may vary time to time as per the settins in the Admin module.
    I want the user to edit all details except Communication column for all the rows which is displayed and the no. of rows should be displayed dynamically as per the settings.
    how can i achieve this?...which way i need to proceed like whether report kind of thing..or someother way..
    hope some reply....
    More Column details:
    Include - a Check box with editable(values Y or N)
    Communication - text field with display only(values like Promotional Email, All Email etc.)
    Frequecny - Drop downbox with editable(values Annually/Monthly/Weekly etc)
    Address - Drop down with editable(static values like Me, Father, Mother,Brother etc)
    Exclude Reason - text field with editable(any text value)
    Apply - a button for saving the changes
    thanks in advace...
    renjish

    Hello Renjish,
    Solution is quite tricky, You have to make a procedure which select each row of your tabular form and executes the update statement (customized).
    e.g
    to select each row of table use
    begin
    FOR I in 1..APEX_APPLICATION.G_F01.COUNT
    LOOP
    insert into table_name values(APEX_APPLICATION.G_F01(i),'PENDING',sysdate,'RESOURCE','','','','');
    end loop;
    end;
    here APEX_APPLICATION.G_F01(i) will return the value of the first column of selected row. Pick the values and make a cutomized update command.
    Regards,
    bhanwar

  • Finding DMS documents via classification values

    Hi,
    I have a list of characteristic values, from which i need to find the DMS documents which use that characteristic, and have those values.
    I have used table AUSP, but when i find that characteristic, the value fields are empty, therefore i don't find anything.
    Could someone please help by either telling me which tables to check in order to find these values, or if there is a function module which allows you to enter a characteristic value, and find all documents using that value.
    Thanks in advance.

    Hi All,
    We can use the function module - CV100_CLASS_SEARCH
    Please refer the following example
    data: wa_class type dmscls_simple_selection,
           it_class type standard table of dmscls_simple_selection.
    wa_class-characteristic = 'CH_TRF_RPT'."Characteristic name
    wa_class-value = 'ASDASD'."Characteristic Value
    append wa_class to it_class.
    clear wa_class.
    call function 'CV100_CLASS_SEARCH'
       exporting
         classno                    = 'CL_DMS_RPT'"Classifcation Name/Class Name
         classtype                  = '017'"Class type
         max_hits                   = 9999
         slanguage                  = sy-langu
    *   PF_LIST_TYPE               =
       tables
         tdraw                      = it_draw
        class_selection            = it_class
    *   CLSC_CLASS_SELECTION       =
         stdokar                    = it_dokar
         stdoknr                    = it_doknr
         stdokvr                    = it_dokvr
         stdoktl                    = it_doktl
    * EXCEPTIONS
    *   NO_RESULT                  = 1
    *   BAD_QUERY                  = 2
    *   OTHERS                     = 3
    if sy-subrc <> 0.
    * Implement suitable error handling here
    endif.
    Note: Only fill class selection table along with importing parameters

  • Embedding DMS Documents within CG42 Report Template

    Hi All,
    We are using EH&S and DMS and would like to combine these two into a CG42 report template.  Through CG02, we have created specifications where we would like to have some value assignments instances take advantage of the user-defined text tab to pull in documents from DMS.  We have configured the system to successfully link in the DMS document info record into the user-defined tab within the value assignment area of CG02 and can view the DMS documents by double clicking on that reference.
    In taking this to the next step, we would like to embed this document into our report template definition.  Mind you that some of these documents are .pdf containing text and graphics.  Within CG42, we go to the specification symbol that we want and open the area called ADDITIONAL INFO, which then opens to other symbols, one of which is "ESTDF Additional Information - User-Defined Text".   When we open that node, it provides us with many attributes as options that we can embed within the report template.  The only one that relates to content is "GESTDHEADE HEADER Start of UD Text ".  It appears that all this does is just repeat the link that was specified in CG0 when we use the command to include that in the report template and then do a preview on the report.
    In reading some SAP Help Documentation in the section for user-defined text, I'm led to believe that you can embed these into the report template but I have not been able to do so thus far.  The only thing I can do is embed information about the user-defined text into the report template.
    Can someone shed some light if this is feasible?
    By the way, we are already embedding graphic logos by relating it to a phrase and keeping these images in a folder on a file server.  If we must, we can use that approach but I'd really lile to keep these documents in DMS as a controlled document.
    Thanks!

    Hello
    please consult online help. Take a look here:
    http://help.sap.com/saphelp_erp60_sp/helpdata/en/a7/2872ac0a6c11d28a220000e829fbbd/content.htm
    Chapter: Symbol Type: Specification
    Subchapter: Output of Document Management Documents
    The description is ok and in my opinion a good starting point.
    Hope this helps.
    C.B.
    PS: http://help.sap.com/saphelp_erp60_sp/helpdata/en/a7/286d780a6c11d28a220000e829fbbd/content.htm is helpful too.
    Chapter: User-Defined Texts and Documents
    Edited by: Christoph Bergemann on Nov 26, 2011 5:12 PM

  • DMS document attachment with Incoming Invoice

    Hi All,
    We are creating one DMS document and want to attach it to an Incoming Invoice (MIRO).
    We are using the bapi BAPI_DOCUMENT_CREATE.  What are the fields to pass in Objectlink.
    Please help us to achieving it.
    Thanks

    We have created an Incoming Invoice already using 'BAPI_INCOMINGINVOICE_CREATE'. We are now creating a DMS document using 'BAPI_DOCUMENT_CREATE' and want it to be linked to the existing Invoice. For this we are trying to use the 'OBJECTLINKS' table.
    The linked document should be visible in T-Code FBL1N. Can you please throw some light on how to do this?
    Edited by: Himansu.P on Jun 14, 2011 3:06 PM

  • Where do we put authorised user name for approving DMS document in DMS work

    HI
    I am on a support role and here is a document creation through DMS and it goes approval for 4 level , upon each level mail trigger to the user id (approval authorised person) .
    now company changed the users for approving authority , so i have to change the authorised person name . can some one help me where to go to change their name in DMS.
    thanks in advance

    Hello,
      you should run transaction SUIM - User information system: then select the row "Roles --> By authorization values": in the field that will show up enter the name of the authorization object, that's to say C_DRAW_STA, then press the button"Entry values", put the Document type and the document status, then execute. The list of the roles containing that authorization object, with the values you are intersted in, will be displayed: then you have to enter in each role, open the tab "User", and there you will have the list of the users with the authorization to put that status for that document type. There you have to enter the name of the new user that shoud perform the release of the document.
      However you should also check if any SAP workflow task is  implemented to follow up the release steps.
    Best regards,
    Andrea

  • Not able to upload file in DMS(Document Mang. system) using Web dynpro ABAP

    Hi All,
    I am facing a problem while uploading the file into the DMS ( Document Management System ) from Webdnrpo .
    I am using the BAPI - BAPI_DOCUMENT_CREATE2 to create the document .
    CASE - 1
    when i am providing the storage category mention below and no data carrier1
    ls_documentfiles-storagecategory = 'ZHMEL_CS'.  it is not able to upload the document in the DMS system and when i check
    in the debugg mode it giving error as  ""Error while checking in and storing: C:\TEST.TXT "" .
    CASE - 2
    When i am not using the storage category and providing the the data carrier as default
    ls_documentdata-DATACARRIER1 = 'DEFAULT'. It is able to create the document in the DMS but i am not able to read that document .
    I checked with DMS Consultant that DMS is configured for  ZOL ( documenttype) with a storage category  as 'ZHMEL_CS'.
    The code which i have used is below :
    ls_documentdata-documenttype = 'ZOL'.
    ls_documentdata-documentversion = '00'.
    ls_documentdata-documentpart = '000'.
    ls_documentdata-description = 'Test Document'.
    ls_documentdata-laboratory = '001'.
    ls_documentdata-WSAPPLICATION1 = 'TXT'.
    ls_documentdata-DOCFILE1 = 'C:\TEST.TXT'.
    ls_documentdata-SAVEDOCFILE1 = 'C:\TEST.TXT'.
    *ls_documentdata-FILESIZE1 = 000000000000.
    *ls_documentdata-FILESIZE2 = 000000000000.
    ls_documentdata-WSAPPLICATION1 = 'TXT'.
    ls_documentfiles-DOCUMENTTYPE = 'ZOL'.
    ls_documentfiles-DOCUMENTPART = '000'.
    ls_documentfiles-DOCUMENTVERSION = '00'.
    ls_documentfiles-storagecategory = 'ZHMEL_CS'.
    ls_documentfiles-WSAPPLICATION = 'TXT'.
    ls_documentfiles-DOCPATH = 'C:\'.""lv_filename.
    ls_documentfiles-DOCFILE = 'TEST.TXT'."lv_filename.
    ls_documentfiles-description = 'Test Document'.
    ls_documentfiles-language = 'EN'.
    ls_documentfiles-CHECKEDIN = 'X'.
    APPEND ls_documentfiles to lt_documentfiles .
    *&----Fill Descriptions
    w_descr-language = 'EN'.
    w_descr-language_iso = 'EN'.
    w_descr-description = 'Test'.
    append w_descr to lt_descr.
    clear w_descr.
    **w_hostname = 'HMEL-DV1R3_DR3_00'.
    CALL FUNCTION 'BAPI_DOCUMENT_CREATE2'
    EXPORTING
    documentdata = ls_documentdata
    *hostname = 'content-srv'
    *pf_http_dest = 'SAPHTTPA'
    *pf_ftp_dest  = 'SAPFTPA'
    IMPORTING
    DOCUMENTNUMBER = lv_DOCUMENTNUMBER
    return = gv_return
    TABLES
    documentdescriptions       = lt_descr
    documentfiles              = lt_documentfiles.
    Please let me know your valuable inputs on the same ..
    Edited by: Omm Awasthi on Dec 30, 2010 12:22 AM
    Edited by: Omm Awasthi on Dec 30, 2010 12:25 AM

    Hi omm , from functional side your require a document type and content repository
    I have used below code in a function module to create document , we have create object link as PO to the doc.
    FUNCTION ZFM_SR_CREATE_FROM_EXTERNAL .
    ""Local Interface:
    *"  IMPORTING
    *"     VALUE(IV_DOCUMENTNUMBER) TYPE  DOKNR OPTIONAL
    *"     VALUE(IV_DOCUMENTTYPE) TYPE  DOKAR OPTIONAL
    *"     VALUE(IV_DOCUMENTVERSION) TYPE  DOKVR OPTIONAL
    *"     VALUE(IV_DOCUMENTPART) TYPE  DOKTL_D OPTIONAL
    *"     VALUE(IV_STORAGE_CAT) TYPE  CV_STORAGE_CAT OPTIONAL
    *"     VALUE(IV_DOKST) TYPE  DOKST OPTIONAL
    *"     VALUE(IT_DM_FILES) TYPE  ZDM_TT_FILES OPTIONAL
    *"     VALUE(IV_EBELN) TYPE  EBELN
    *"  EXPORTING
    *"     VALUE(EV_DOCUMENTNUMBER) TYPE  DOKNR
    *"     VALUE(ES_RETURN) TYPE  BAPIRET2
    V00.00  DD.MM.YYYY                                                   *
    *********************New Method of Uploading File*********************************
      CONSTANTS path_name    TYPE dms_path
               VALUE '/tmp/'.
      CONSTANTS log TYPE dms_path VALUE '/tmp/logFO.txt'.
      DATA: ls_draw TYPE bapi_doc_draw2,
            lt_documentfiles TYPE TABLE OF bapi_doc_files2,
            ls_documentfiles TYPE bapi_doc_files2,
            ls_dm_files TYPE zdm_files,
            lv_filename TYPE string,
            lv_ext TYPE string,
            lv_file_type TYPE draw-dappl,
            lv_file_name TYPE dms_path,
            lv_msg(80) TYPE c,
            lt_objectlinks TYPE TABLE OF bapi_doc_drad,
            ls_objectlinks TYPE bapi_doc_drad,
            lv_ebelp   TYPE ebelp
    Prepare Data
      MOVE iv_documentnumber TO ls_draw-documentnumber.
      MOVE iv_documenttype TO ls_draw-documenttype.
      MOVE iv_documentversion TO ls_draw-documentversion.
      MOVE iv_documentpart TO ls_draw-documentpart.
      ls_draw-statusextern = iv_dokst.
      ls_draw-statusintern = iv_dokst.
      ls_draw-username = sy-uname.
      LOOP AT it_dm_files INTO ls_dm_files.
        SPLIT ls_dm_files-filepath AT '.' INTO lv_filename lv_ext.
        CALL FUNCTION 'CV120_DOC_GET_APPL'
          EXPORTING
            pf_file   = ls_dm_files-filepath
          IMPORTING
            pfx_dappl = lv_file_type.
        TRANSLATE lv_file_type TO UPPER CASE.
        OPEN DATASET log FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
        TRANSFER lv_ext TO log.
        ls_documentfiles-wsapplication = lv_file_type.
        TRANSLATE ls_documentfiles-wsapplication TO UPPER CASE.
        CONCATENATE path_name
                           lv_filename
                            lv_ext
                            INTO lv_file_name.
        CONDENSE lv_file_name  NO-GAPS.
        TRANSFER lv_file_name TO log.
        OPEN DATASET lv_file_name FOR OUTPUT IN BINARY MODE MESSAGE lv_msg.
    *Transfer Attachment Content to Application Server
        TRANSFER ls_dm_files-content TO lv_file_name.
        CLOSE DATASET lv_file_name.
        TRANSFER 'move data to lt_files' TO log.
        ls_documentfiles-storagecategory = iv_storage_cat.
        ls_documentfiles-docfile = lv_file_name.
        ls_documentfiles-DOCUMENTVERSION = IV_DOCUMENTVERSION.
        APPEND ls_documentfiles TO lt_documentfiles.
        CLEAR lv_file_name.
        CLOSE DATASET log.
      ENDLOOP.
      IF iv_ebeln IS NOT INITIAL.
        ls_objectlinks-objecttype = 'EKPO'.
        SELECT SINGLE ebelp INTO lv_ebelp FROM ekpo WHERE
                                          ebeln = iv_ebeln
                                          AND loekz eq space.
        CONCATENATE iv_ebeln lv_ebelp INTO ls_objectlinks-objectkey.
        APPEND ls_objectlinks TO lt_objectlinks.
      ENDIF.
    CALL FUNCTION 'BAPI_DOCUMENT_CREATE2'
       EXPORTING
         documentdata   = ls_draw
         pf_ftp_dest    = 'SAPFTPA'
         pf_http_dest   = 'SAPHTTPA'
       IMPORTING
         documentnumber = ev_documentnumber
         return         = es_return
       TABLES
         objectlinks          = lt_objectlinks
         documentfiles  = lt_documentfiles.
    DATA:   ls_doc_data  type bapi_doc_draw2,
       ls_doc_datax type bapi_doc_drawx2,
       ls_return type bapiret2.
    Set value for document data
      ls_doc_data-statusextern  = 'IW'.
      ls_doc_data-statusintern  = 'IW'.
    Set value for document data check
    ls_doc_datax-statusextern = 'X'.
    ls_doc_datax-statusintern = 'X'.
    CALL FUNCTION 'BAPI_DOCUMENT_CHANGE2'
      EXPORTING
        DOCUMENTTYPE               = 'ROS'
        DOCUMENTNUMBER             = IV_DOCUMENTNUMBER
        DOCUMENTPART               = IV_DOCUMENTPART
        DOCUMENTVERSION            = IV_DOCUMENTVERSION
        DOCUMENTDATA               = ls_doc_data
        DOCUMENTDATAX              = ls_doc_datax
      HOSTNAME                   =
      DOCBOMCHANGENUMBER         =
      DOCBOMVALIDFROM            =
      DOCBOMREVISIONLEVEL        =
      SENDCOMPLETEBOM            = ' '
          pf_ftp_dest    = 'SAPFTPA'
          pf_http_dest   = 'SAPHTTPA'
      CAD_MODE                   = ' '
      ACCEPT_EMPTY_BOM           = ' '
    IMPORTING
       RETURN                     =  ls_return
    TABLES
      CHARACTERISTICVALUES       =
      CLASSALLOCATIONS           =
      DOCUMENTDESCRIPTIONS       =
      OBJECTLINKS                =
      DOCUMENTSTRUCTURE          =
       DOCUMENTFILES              = lt_documentfiles.
      LONGTEXTS                  =
      COMPONENTS                 =
      move es_return to ES_RETURN.
      IF es_return-type CA 'EA' ."NE 'E' AND es_return-type NE 'A'.
        "do nothing
      ELSE.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
          EXPORTING
            wait = 'X'.
      ENDIF.
      LOOP AT lt_documentfiles INTO ls_documentfiles.
        DELETE DATASET ls_documentfiles-docfile.
      ENDLOOP.
    ENDFUNCTION.

  • Delete specific attachment from DMS document

    Hi Experts
    I have a requirement to delete specific attachments from a DMS document. I am using the FM 'CVAPI_DOC_CHECKIN' to create the attachments to the document. Im unable to figure out a way to delete a specific attachment from the document. Appreciate any help.
    Neo

    Have you tried with FM CV140_LINKS_DELETE ? and also check the Program MCDOKDEL you will get some FMs to delete documents
    Kanagaraja L
    Edited by: Kanagaraja  Lokanathan on Dec 7, 2010 10:37 PM

  • Sending DMS Document as Attachment thru e-mail

    Hi,
    I am attaching the DMS document in purchase order & I am sending the PO thru email to vendor.But while doing so the attached document shuld be sent as attachment But in my present config setting it is not doing so.
    Pl suggest
    Rgds

    Hi,
    With my solution you will be able to send the PO and all link document in a mail at the same time you print it.
    First Step
    Create a new message with transaction NACE , this message will use support 8 ( external program) . The print program should be a copy the same as for printing your PO but add a new form entry inside.
    Second step .
    In the print program , create the new form entry and add the code . bellow a sample code i wrote . Some object are specific so you have to create it . If you need i can give you te detail of thoses objects.
      DATA : bin_file       TYPE xstring ,
             bin_filesize   TYPE i ,
             w_objky        TYPE objky,
             my_sender      TYPE zcl_send_mail=>ty_sender,
             mail_line      TYPE LINE OF soli_tab,
             w_attsub       TYPE so_obj_des.
      DATA: l_druvo TYPE t166k-druvo,
            l_nast  TYPE nast,
            l_from_memory,
            l_doc   TYPE meein_purchase_doc_print.
      DATA : v_parvw2   TYPE nast-parvw,
             v_parnr2   TYPE nast-parnr,
             v_lifnr    TYPE konv-lifnr,
             v_adrnr    TYPE lfa1-adrnr,
             st_address TYPE addr1_sel,
             st_sadr    TYPE sadr.
    * definition des tables internes
      DATA : it_otf   TYPE STANDARD TABLE OF itcoo ,
             it_line  TYPE STANDARD TABLE OF tline ,
             it_fill  TYPE STANDARD TABLE OF drad,
             it_new   TYPE STANDARD TABLE OF drad ,
             itb_xtkomv TYPE STANDARD TABLE OF komv WITH HEADER LINE,
             itb_xekpo  TYPE STANDARD TABLE OF ekpo WITH HEADER LINE,
             it_ekpo  TYPE HASHED TABLE OF ekpo WITH UNIQUE KEY ebeln ebelp ,
             it_draw  TYPE HASHED TABLE OF draw WITH UNIQUE KEY dokar
                                                                doknr
                                                                dokvr
                                                                doktl ,
             it_drat  TYPE HASHED TABLE OF drat WITH UNIQUE KEY dokar
                                                                doknr
                                                                dokvr
                                                                doktl
                                                                langu,
             my_attachement_list TYPE zcl_send_mail=>attachement_list,
             my_recipient_list   TYPE zcl_send_mail=>recipient_list  ,
             it_hexa TYPE solix_tab ,
             it_body TYPE soli_tab.
      CONSTANTS : c_object TYPE dokob VALUE 'EKPO' .
      FIELD-SYMBOLS : <ekpo>   TYPE ekpo,
                      <drad>   TYPE drad ,
                      <draw>   TYPE draw,
                      <drat>   TYPE drat .
      DATA : my_mail TYPE REF TO zcl_send_mail . => Specific object
    ** Here write your own code like you print the PO form in order to be able to retrieve it from memory
    ** don't send it to the printer only in spool .
    * Get OTF from Memory.
      CALL FUNCTION 'READ_OTF_FROM_MEMORY'
        EXPORTING
          memory_key   = nast-objky
        TABLES
          otf          = it_otf
        EXCEPTIONS
          memory_empty = 1.
      CHECK sy-subrc EQ 0.
    * Transform OTF into PDF
      CALL FUNCTION 'CONVERT_OTF'
        EXPORTING
          format                = 'PDF'
        IMPORTING
          bin_filesize          = bin_filesize
          bin_file              = bin_file
        TABLES
          otf                   = it_otf
          lines                 = it_line
        EXCEPTIONS
          err_max_linewidth     = 1
          err_format            = 2
          err_conv_not_possible = 3
          err_bad_otf           = 4.
    * Transform PDF as Binary Table
      it_hexa = cl_document_bcs=>xstring_to_solix( ip_xstring = bin_file ).
    * Add PO as PDF file to the mail
      zcl_send_mail=>add_attachement_to_list(
        EXPORTING
          type                       = 'PDF'
          subject                    = 'PO'
          content_hexa               = it_hexa
        CHANGING
          attachement_list           = my_attachement_list
        EXCEPTIONS
          no_content_for_attachement = 1
          no_application_type        = 2 ).
    * Get PO Item because DIR are link to item only.
      SELECT * FROM ekpo
        APPENDING CORRESPONDING FIELDS OF TABLE it_ekpo
        WHERE ebeln = nast-objky.
    * Search for DIR .
      FREE : it_draw , it_drat .
      LOOP AT it_ekpo ASSIGNING <ekpo>.
        FREE : it_fill , it_new.
        CONCATENATE <ekpo>-ebeln <ekpo>-ebelp INTO w_objky.
        CALL FUNCTION 'CV140_SELECT_DRAD_DOCUMENTS'
          EXPORTING
            pf_key       = w_objky
            pf_object    = c_object
          TABLES
            pt_fill_drad = it_fill
            pt_new_drad  = it_new
          EXCEPTIONS
            no_document  = 1.
    * For each DIR , retrieve physical content
        LOOP AT it_fill ASSIGNING <drad>.
          IF <draw> IS ASSIGNED.
            UNASSIGN <draw>.
          ENDIF.
          READ TABLE it_draw ASSIGNING <draw>
             WITH TABLE KEY dokar = <drad>-dokar
                            doknr = <drad>-doknr
                            dokvr = <drad>-dokvr
                            doktl = <drad>-doktl.
          IF NOT <draw> IS ASSIGNED.
            SELECT * FROM draw
               APPENDING CORRESPONDING FIELDS OF TABLE it_draw
               WHERE dokar = <drad>-dokar
                 AND doknr = <drad>-doknr
                 AND dokvr = <drad>-dokvr
                 AND doktl = <drad>-doktl.
            SELECT * FROM drat
               APPENDING CORRESPONDING FIELDS OF TABLE it_drat
               WHERE dokar = <drad>-dokar
                 AND doknr = <drad>-doknr
                 AND dokvr = <drad>-dokvr
                 AND doktl = <drad>-doktl
                 AND langu = sy-langu.
            READ TABLE it_draw ASSIGNING <draw>
               WITH TABLE KEY dokar = <drad>-dokar
                              doknr = <drad>-doknr
                              dokvr = <drad>-dokvr
                              doktl = <drad>-doktl.
          ENDIF.
          CHECK <draw> IS ASSIGNED.
          READ TABLE it_drat ASSIGNING <drat>
                   WITH TABLE KEY dokar = <drad>-dokar
                                  doknr = <drad>-doknr
                                  dokvr = <drad>-dokvr
                                  doktl = <drad>-doktl
                                  langu = sy-langu.
          IF <drat> IS ASSIGNED.
            w_attsub = <drat>-dktxt.
          ELSE.
            CONCATENATE <drad>-dokar <drad>-doknr <drad>-dokvr <drad>-doktl
               INTO w_attsub SEPARATED BY '/'.
          ENDIF.
          PERFORM add_fid_to_attachement USING <draw>
                                               w_attsub
                                      CHANGING my_attachement_list.
          CHECK <drat> IS ASSIGNED.
          UNASSIGN <drat>.
        ENDLOOP.
        LOOP AT it_new ASSIGNING <drad>.
          IF <draw> IS ASSIGNED.
            UNASSIGN <draw>.
          ENDIF.
          READ TABLE it_draw ASSIGNING <draw>
             WITH TABLE KEY dokar = <drad>-dokar
                            doknr = <drad>-doknr
                            dokvr = <drad>-dokvr
                            doktl = <drad>-doktl.
          IF NOT <draw> IS ASSIGNED.
            SELECT * FROM draw
               APPENDING CORRESPONDING FIELDS OF TABLE it_draw
               WHERE dokar = <drad>-dokar
                 AND doknr = <drad>-doknr
                 AND dokvr = <drad>-dokvr
                 AND doktl = <drad>-doktl.
            SELECT * FROM drat
               APPENDING CORRESPONDING FIELDS OF TABLE it_drat
               WHERE dokar = <drad>-dokar
                 AND doknr = <drad>-doknr
                 AND dokvr = <drad>-dokvr
                 AND doktl = <drad>-doktl
                 AND langu = sy-langu.
            READ TABLE it_draw ASSIGNING <draw>
               WITH TABLE KEY dokar = <drad>-dokar
                              doknr = <drad>-doknr
                              dokvr = <drad>-dokvr
                              doktl = <drad>-doktl.
          ENDIF.
          CHECK <draw> IS ASSIGNED.
          READ TABLE it_drat ASSIGNING <drat>
                   WITH TABLE KEY dokar = <drad>-dokar
                                  doknr = <drad>-doknr
                                  dokvr = <drad>-dokvr
                                  doktl = <drad>-doktl
                                  langu = sy-langu.
          IF <drat> IS ASSIGNED.
            w_attsub = <drat>-dktxt.
          ELSE.
            CONCATENATE <drad>-dokar <drad>-doknr <drad>-dokvr <drad>-doktl
               INTO w_attsub SEPARATED BY '/'.
          ENDIF.
          PERFORM add_fid_to_attachement USING <draw>
                                               w_attsub
                                      CHANGING my_attachement_list.
          CHECK <drat> IS ASSIGNED.
          UNASSIGN <drat>.
        ENDLOOP.
      ENDLOOP.
    * Send mail to PO creator
    * Sender
    my_sender-mail = '****' . => Set the sender mail adress
    * Add Recipient
      zcl_send_mail=>add_recipient_to_list(
        EXPORTING
          uname               = sy-uname
        CHANGING
          recipient_list      = my_recipient_list
        EXCEPTIONS
          no_recipient_to_add = 1 ).
    * Mail body
      mail_line = 'PO by mail with Attachment'.
      APPEND mail_line TO it_body.
    * Create send request
      CREATE OBJECT my_mail.
    * Send Mail
      my_mail->send_mail(
          sender                      = my_sender
          mail_subject                = 'E-mail PO'
          mail_body                   = it_body
          recipient_list              = my_recipient_list
          attachement_list            = my_attachement_list ).
    Bellow the code for the routine ADD_FID_TO_ATTACHEMENT
      DATA : w_cout         TYPE dms_checkout_def,
             w_dttrg        TYPE dttrg, "Name of data carrier
             w_docfile      TYPE dms_doc_file,
             w_dappl        TYPE dappl, "Application
             w_tabix        TYPE i ,
             w_tdwa         TYPE tdwa ,
             w_phio         TYPE dms_phio,
             w_frontend TYPE dms_frontend_data.
      DATA : it_drao  TYPE STANDARD TABLE OF drao WITH HEADER LINE,
             it_kpro  TYPE dms_tbl_file .
      CONSTANTS : "c_print_option TYPE apptp VALUE '3', "Print option
                  c_hostname TYPE ntadr VALUE 'DEFAULT', "Hostname
                  c_type TYPE typdt VALUE 'PC', "Type
                  c_system TYPE char4 VALUE 'WN32'. "System
      FIELD-SYMBOLS : <kpro>   TYPE LINE OF dms_tbl_file,
                      <phio>   TYPE LINE OF dms_tbl_phio .
      CLEAR : w_tdwa .
    * Check if for DIR type KPRO is used
      CALL FUNCTION 'CV200_DB_TDWA_SELECT'
        EXPORTING
          pf_dokar  = in_draw-dokar
        IMPORTING
          psx_tdwa  = w_tdwa
        EXCEPTIONS
          not_found = 1.
      w_frontend-frontend_type = c_type. "'PC'.
      w_frontend-hostname      = c_hostname. "'DEFAULT'.
      w_frontend-winsys        = c_system.                      "'WN32'.
      w_frontend-platform      = 0.
      w_cout-comp_get          = abap_true.
      w_cout-kpro_use          = w_tdwa-kpro_use.
      w_cout-batchmode         = abap_true.
      w_cout-content_provide   = 'TBL'.
      CALL FUNCTION 'CV120_KPRO_MASTER_DATA_GET'
        EXPORTING
          pf_dokar  = in_draw-dokar
          pf_doknr  = in_draw-doknr
          pf_dokvr  = in_draw-dokvr
          pf_doktl  = in_draw-doktl
        TABLES
          ptx_data  = it_kpro
        EXCEPTIONS
          not_found = 1
          error     = 2.
      CASE w_tdwa-kpro_use.
        WHEN abap_true.
          CALL FUNCTION 'CV120_KPRO_MASTER_DATA_GET'
            EXPORTING
              pf_dokar  = in_draw-dokar
              pf_doknr  = in_draw-doknr
              pf_dokvr  = in_draw-dokvr
              pf_doktl  = in_draw-doktl
            TABLES
              ptx_data  = it_kpro
            EXCEPTIONS
              not_found = 1
              error     = 2.
          w_frontend-frontend_type = 'KP'.
          LOOP AT it_kpro ASSIGNING <kpro>.
            FREE it_drao.
            LOOP AT <kpro>-tbl_phios ASSIGNING <phio>.
              MOVE-CORRESPONDING <phio> TO w_phio.
              CALL FUNCTION 'CV120_DOC_CHECKOUT_VIEW'
                EXPORTING
                  ps_cout_def = w_cout
                  ps_doc_file = w_docfile
                  ps_draw     = in_draw
                  ps_phio     = w_phio
                  ps_frontend = w_frontend
                TABLES
                  ptx_content = it_drao
                EXCEPTIONS
                  error       = 1.
              PERFORM transform_fid_to_binary TABLES it_drao
                                           USING <kpro>-dappl
                                                 in_attsub
                                          CHANGING attachement_list .
            ENDLOOP.
          ENDLOOP.
        WHEN abap_false.
          DO 2 TIMES.
            CLEAR : w_docfile .
            FREE : it_drao.
            w_tabix = sy-index.
            w_docfile-fileno = w_tabix.
            CASE w_tabix.
              WHEN 1.
                w_dappl = in_draw-dappl.
                w_dttrg = in_draw-dttrg.
              WHEN 2.
                w_dappl = in_draw-dappl1.
                w_dttrg = in_draw-dttrg1.
            ENDCASE.
            w_docfile-dappl = w_dappl.
            w_docfile-dttrg = w_dttrg.
            CALL FUNCTION 'CV120_DOC_CHECKOUT'
              EXPORTING
                ps_cout_def      = w_cout
                ps_draw          = in_draw
                ps_doc_file      = w_docfile
              TABLES
                ptx_drao         = it_drao
              EXCEPTIONS
                error            = 1
                OTHERS           = 2.
            PERFORM transform_fid_to_binary TABLES it_drao
                                       USING w_dappl
                                             in_attsub
                                      CHANGING attachement_list .
          ENDDO.
      ENDCASE.
    Bellow the code for routine TRANSFORM_FID_TO_BINARY
      FIELD-SYMBOLS : <drao>   TYPE drao ,
                      <source> TYPE x ,
                      <dest>   TYPE x,
                      <hexa>   TYPE solix .
      DATA :   w_filelong     TYPE i ,
               w_long         TYPE i,
               w_longdes      TYPE i  .
      DATA :   it_hexa  TYPE solix_tab .
      CHECK it_drao[] IS NOT INITIAL.
    * Transform Physical document into Binary
      LOOP AT it_drao ASSIGNING <drao>.
        IF w_filelong IS INITIAL.
          w_filelong = <drao>-orln.
        ENDIF.
        ASSIGN <drao>-orblk TO <source>.
        DESCRIBE FIELD <source> LENGTH w_long IN BYTE MODE.
        CLEAR w_longdes.
        WHILE w_long GT 0.
          ASSIGN <source>+w_longdes(w_long) TO <source>.
          APPEND INITIAL LINE TO it_hexa ASSIGNING <hexa>.
          ASSIGN <hexa>-line TO <dest>.
          DESCRIBE FIELD <dest> LENGTH w_longdes IN BYTE MODE.
          MOVE <source> TO <dest>.
          w_filelong = w_filelong - w_longdes.
          w_long = w_long - w_longdes.
          CHECK w_filelong LE w_longdes.
          IF w_long NE 0.
            w_long = w_filelong.
          ENDIF.
          CHECK w_long LE 0.
          w_long = 0.
        ENDWHILE.
      ENDLOOP.
    * Add file to list of attachment
      CHECK NOT it_hexa[] IS INITIAL.
      zcl_send_mail=>add_attachement_to_list(
        EXPORTING
          type                       = w_dappl
          subject                    = in_attsub
          content_hexa               = it_hexa
        CHANGING
          attachement_list           = attachement_list
        EXCEPTIONS
          no_content_for_attachement = 1
          no_application_type        = 2 ).
    In my complete solution, an additionnal screen have been define in the header of PO to allow user managing recipient list . If you need so i can give you the code also .
    Let me know.
    Best regards

  • IView Displaying sets of 15 DMS documents at a time.

    I have an iView which is displaying DMS documents. It currently displays 15 at a time with "1-15 16-30 31-45 46-53 > >>  / 53 "
    displayed at the bottem of the list.
    How do I get it to display more than 15?
    Even better if someone could point me to some HELP from SAP on this topic. Or a way of finding help on this issue.
    Edited by: Neil Morgan on Sep 23, 2009 4:33 AM

    Neil,
    This issue has already been discussed in this thread.
    https://forums.sdn.sap.com/thread.jspa?messageID=7598112#7598112
    You can also refer to the help documents in here.
    http://help.sap.com/saphelp_nw04s/helpdata/EN/c2/6e1965a6b6234b91b3332bdf2d9e23/frameset.htm
    Good Luck!
    Sandeep Tudumu

  • DMS document output in SOP report

    Hi all,
    I want to OUTPUT a DMS document in SOP Report template. But it is not reflecting in my SOP report  though I have fullfilled the prerequisites.Here are my steps that i carried out
    1)  I have linked the DMS doc. in a value assignment in user defined text.
    2) The DMS document type is SBV.
    3) The required document indicator tick is alos ensured in specify user defined text types in BASIC DATA & TOOLS in customizing.
    3)It is also ensured that the EHS <> DMS doc types are linked in customizing.
    4) I put the symbol in wwi report template under GESTDHEADE HEADER User-defined text .
    But when I run the preview (cg42) the space where I have assigned the symbol is blank.
    I even tried to put my required data in Long text in user defined text tab assigning REMARKS as user defined text type but there is no output in  REPORT when i carry out preview.
    Requesting your  comment what shall be the cause of this .
    Regards,
    Ashish pradhan

    Hello all
    the document type SBV should not be used or used only carefully regarding this. I recommend to use a customer specific document type. SBV is related to WWI report templates. Furthermore make sure that generation variant fits usage of data record in which you have set up the document which is located in the user defined text (Active indicator of usage must be set). I know cases in the area of access problemes so that the WWI could not retrieve the user defined document. PLease make sure that you have "checked" WWI layout without error (WWI Check).
    PLease check this:
    if you have uploaded e.g. an rtf file and created a value assignment and you have uploaded the document to be stored in the user defined text than the document is "there". That means: in this process the SAP EH&S process generate a new unique id which should show up in the user defined text (there somthing like this should show up: SBV WWI 0000111223 numbers...)
    Using this unique ID you can check if the document is really in DMS available. Furthermore depending on the EH&S release (support package etc.) you could check this. If you "click" with the mouse key on the unique id (refer above) the SAP EH&S system should upload directly to your client computer the document and start immediatly the corresponding application (e.g. word etc.) . In doing so you can check if the document is "really" there
    May be you need to check further DMS customizing. E.g. depending on the document you have used in upload there is a missing link to the "type" of document. .E.g. the EXCEL macro regarding standard SAP output variant links to I believe a seperate document type
    Hope that helps
    With best regards
    CB

  • DMS document from Cache server!

    We are able to retrieve DMS document(PDF) from Content server but not from Cache Server using URL generated from
    CALL FUNCTION 'SCMS_URL_GENERATE'.I even tried Pushing the Doc to cache using DMS_KPRO_FILL_CACHE, Doc exists in Cache when i check operation=statGet2 but my URL does not give me the document
    *-Cache server
    SELECT SINGLE * INTO S_SCMSCACHE
    FROM SCMSCACHE
    WHERE HOST = 'TSTCS2'.
    CALL FUNCTION 'SCMS_URL_GENERATE'
    EXPORTING
    COMMAND = 'get'
    CONTREP = CREP_ID
    DOCID = P_DMS_DOC2LOIO_LO_OBJID
    COMPID = 'data'
    ACCESSMODE = 'r'
    SIGNATURE = 'X'
    SECURITY = 'F'
    *USE_LOCATION = 'A'
    *LOCATION = 'TSTCS2'
    *CACHE_TO_USE = S_SCMSCACHE
    IMPORTING
    ABSOLUTE_URI = URI_STRING
    HTTP_URI = HTTP_URI
    HTTPS_URI = HTTPS_URI
    CACHE = S_SCMSCACHE_O
    ENDIF.
    ELSE."Content Server
    CALL FUNCTION 'SCMS_URL_GENERATE'
    EXPORTING
    COMMAND = 'docGet'
    CONTREP = CREP_ID "'Z_DLS_DOC_DU1'
    DOCID = P_DMS_DOC2LOIO_LO_OBJID
    ACCESSMODE = 'r'
    SECURITY = 'F'
    ENDIF.
    Edited by: Madhu Gudur on Oct 24, 2009 3:59 AM

    I'm not expert in this area, but I don't understand why you try to read directly the cache as by definition, a cache is managed by the application itself. Why don't you read the document as usually, and let the system read the cache by itself?

  • DMS document Number ID

    Hi Experts,
    Could you please know the way to find the archive document ID for DMS documents.
    I  am creating a new repository  for DMS attachmments . But currently whether its stored or not to check this i need archive link document ID,
    Pleaseshare your thoughts
    Regard
    Geetha

    Dear Poster,
    As no response has been provided to the thread in some time I must assume the issue is resolved, if the question is still valid please create a new thread rephrasing the query and providing as much data as possible to promote response from the community.
    Best Regards,
    SDN SRM Moderation Team

  • Detect what the default edit form is for a document library and list using jquery

    Hi,
    So what I have done is with some jquery made it that when a files are dragged and dropped into a document library and there is a required field such as "Metadata" the EditForm.aspx opens up for the user to fill in the required column. I am building
    the url up from what I have found in SharePoints DragDrop.js file. This is all working perfectly I just need to find a way to dynamically find what the default edit form is for that document library as I have just hardcoded like this...
    g_currentControl.strSiteUrl + "/" + this.ListName + "/Forms/EditForm.aspx?ID=" + id
    So I need a way to figure out what the default edit form is instead of hard coding like this in case someone creates a custom_editform.aspx or something for one of the lists.
    Thanks

    You can get it by hitting this REST end point via JQuery:
    http://weburl/_api/Web/Lists(guid'YOURLISTGUID')/Forms
    Chris Givens CEO, Architecting Connected Systems
    Blog Twitter

  • How to see the DMS document number in PO / PR?

    Dear experts,
    I am using DMS. I have created a document in DMS and I have linked it to the PR & PO line items. Till it is fine.
    But I am not able to find out this document in PR / PO. Can some one help me how can I find the document number in PR / PO??
    Thanks in advance.
    Regards,
    Praveen

    In the ME23N screen , there is icon which likes a pin on paper between the Item over screen and the Item screen . If you click this icon , a new window with all the DMS documents linked to the PO would appear.
    This is in the same line of the delete , lock , copy etc ..sequence .
    -Hari.

Maybe you are looking for

  • Audio output advice request

    Hello, Hoping someone can help guide me on the most efficent way to deal with the following scenario. I have a late 2008 alum macbook that I am using as my primary home computer. I have a toslink optical out to my DTS decoder stereo receiver so that

  • Itunes from PC to Mac but kept on an external hard drive

    Afternoon All, I would appreciate any help I could get on the following query. After owning PC's for years that gave me nothing but trouble I finally upgraded to a 21" Imac two weeks ago. I'm not a massive user of computers (Itunes and the other half

  • HT4623 how to back up data in iphone4s to pc

    I need your know how to back up my files in Iphone to my notebook. Thank you.

  • Keychain not recognizing some websites

    Why does keychain not recognize some websites, the little popup asking for to save the user id and password into the keychain is not appearing. For ex: http://www.facebook.com/ http://login.live.com/login.srf (hotmail)

  • Bank line items are only permitted in one company code Error

    Hi Experts, While doing MIRO with retention money i get the following error "Bank line items are only permitted in one company code" The transaction i am trying is in only one company code. Also i refered the following links in SDN http://forums.sdn.