Archivelink object / mail

Hi all,
how can I add documents which are linked to a business transaction (archivelink) to an automatically generated e-mail?
In transactions one can add all sorts of documents in the documents tab. In certain cases, when saving the transaction an e-mail is generated automatically (action profile). I want to add these documents to the e-mail.
Is there a way of achieving this?
Kind regards,
Micky.

Cleaning up my (unresolved) questions.

Similar Messages

  • One spool for several archivelink object

    Hello,
    I would like to create a single pool to print several archivelink object ?
    THanks
    Best regards

    Hi Aurélien :
      Could you explain your solution?.
      I have to create one spool for each document linked to a specific invoice and don't know how to do it.
    Best Regards,
    Carlos.

  • ArchiveLink object (not DMS) for KB23N (Display Direct Activity Allocation)

    Does anyone know the ArchiveLink object for KB23N for linking ArchiveLink (Scanned not SAP DMS) documents?
    I can't seem to find a standard object in the object list so I thought I'd check here before attempt to create a custom ArchiveLink object for this area. There are a couple with similar names but configuring them doesn't enable the store business document option.

    Hi Athol,
    We have observed that for MIGO transaction,the 'Store Business Document' option is disabled.Could you please let know how this can be enabled? We have serarched the forums,no inputs.Also,there is no indicator from the configuration side as well.

  • ArchiveLink Objects/Extractor ?

    Hi Experts,
    Are there any extractors or Info-objects that correspond to ArchiveLink information like ArchiveID , Arch_Doc_ID or is there a method to retrieve URL to the content server. The underlying table is TOA01.
    Does anyone have any documents or information on ArchiveLink with respect to BW with an external storage system being used to store the documents.
    Please suggest
    Thanks
    Sarah

    Hi there
    I have the same requirement as well.  Could you provide me with some information on how you resolved this?
    Thanks!
    Roshan

  • How to find out URL for ArchiveLink objects?

    Hi All,
    SCENARIO:
    I'm working on "Archive Link", where a document (like word, JPEG photo, etc) is stored on a "Content Server" (specially meant for Database Management System) through a txn code(OAWD).
    This is successfully storing the document on the content server.We have 2 options to view this stored document:
         1) Use Document Viewer and
         2) Use Internet Explorer
    By default, system will open this document in Document Viewer. But, we changed it to view in Internet Explorer. It is also showing the document in IE along with a complete URL (system generated), which has details like domain, document ID and so on.
    We want to find  out where that URL is getting stored in the system (R/3).
    Hope somebody would reply to this question.
    Thanks in advance
    Abdul

    Hi there
    I have the same requirement as well.  Could you provide me with some information on how you resolved this?
    Thanks!
    Roshan

  • Problem in sending mail from VF03

    Hi
    I am just getting a problem in sending mail to the recipient from script.
    please find the below code and let me know why there is no data in otf_tab table.
    DATA:  otf_tab TYPE TABLE OF itcoo WITH HEADER LINE.
    CALL FUNCTION 'CLOSE_FORM'
        IMPORTING
          RESULT  = i_itcpp
        TABLES
          otfdata = otf_tab
        EXCEPTIONS
          OTHERS  = 1.
    IF otf_tab[] IS NOT INITIAL.
          TRY.
              CREATE OBJECT mailer
                EXPORTING
                  i_nast = nast.
         mailer->get_mail_address( EXPORTING i_adrnr = vbdkr-adrnr ).
              mailer->get_mail_address( EXPORTING i_adrnr = vbdkr-adrnr
                                                     i_vkorg = vbdkr-vkorg
                                                    i_vtweg = vbdkr-vtweg ).
            zcl_sd_mail_output=>convert_otf_to_pdf( IMPORTING pdf_xstring =
            gv_pdf_string
                                                    CHANGING  otf_table   =
                                                    otf_tab[] ).
              mailer->build_and_send_email( EXPORTING pdf_xstring =
              gv_pdf_string ).
            CATCH zcx_sd_mail_no_mailid INTO error.
              error_txt = error->get_text( ).
              zcl_sd_mail_output=>protocol_update( msg_id = 'VN'
                                                   msg_nr = '902'
                                                   msg_ty = 'E'
                                                   msg_v1 = error_txt ).
              retcode = 1.
              CLEAR error_txt.
          ENDTRY.
        ENDIF.
    Since my OTf_tab is initial i am unable to send mails.

    Hi,
    If the OTF Data table is blank then you might have missed the parameter "GETOTFDATA" at the time of calling "OPEN_FORM". Please pass field TDGETOTF = "X" in paramter "OPTIONS" when you are calling "OPEN_FORM".
    You can also visit this link for more information.
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/49e15474-0e01-0010-9cba-e62df8244556?QuickLink=index&overridelayout=true
    Cheers,

  • Conversion Agent - Mail Adapter integration issue

    Hi Experts,
    I have a Conversion Agent Serializer for generating a text file on the receiver side.
    The Serializer works perfectly with the File Adapter on the receiver
    side and generates the text file.
    Now I have a requirement to send this file as an attachement in an email.
    When I include the Serializer Module in the File Adapter
    (Receiver), the email is not triggered.
    The Communication Channel Monitoring shows the following:
    2007-04-29 07:34:55      Success         Message successfully received
    by messaging system. Profile: XI URL:
    http://bibox01:50000/MessagingSystem/receive/AFW/XI Credential (User):
    PIISUSER      
    2007-04-29 07:34:55      Success         Using connection
    Mail_http://sap.com/xi/XI/System. Trying to put the message into the
    receive queue.
    2007-04-29 07:34:55      Success         Message successfully put into
    the queue.    
    2007-04-29 07:34:55      Success         The message was successfully
    retrieved from the receive queue.     
    2007-04-29 07:34:55      Success         The message status set to DLNG.
    2007-04-29 07:34:55      Success         Delivering to channel:
    FIle_Mail     
    2007-04-29 07:34:55      Success         MP: entering 
    2007-04-29 07:34:55      Success         MP: processing local module
    localejbs/sap.com/com.sap.nw.cm.xi/CMTransformBean    
    2007-04-29 07:34:55      Success         TransformationName:
    TravelexBAI_Serializer
    2007-04-29 07:34:56      Success         CM_Transformation_succeeded  
    2007-04-29 07:34:56      Success         MP: processing local module
    localejbs/sap.com/com.sap.aii.adapter.mail.app/XIMailAdapterBean      
    2007-04-29 07:34:56      Success         Mail: message entering the
    adapter
    2007-04-29 07:34:56      Success         Mail: Receiver adapter entered
    with qos ExactlyOnce  
    2007-04-29 07:34:56      Success         Mail: calling the adpter for
    processing    
    2007-04-29 07:34:56      Success         Mail: call completed 
    2007-04-29 07:34:56      Success         Mail: continuing to response
    message 4ee64c80-f5d0-11db-8932-000bcdcf4920  
    2007-04-29 07:34:56      Success         Mail: sending a delivery ack
    2007-04-29 07:34:56      Success         Mail: sent a delivery ack    
    2007-04-29 07:34:56      Success         MP: leaving  
    2007-04-29 07:34:56      Success         The message was successfully
    delivered to the application using connection
    Mail_http://sap.com/xi/XI/System.     
    2007-04-29 07:34:56      Success         The message status set to DLVD.
    The Audit log above states that the Serializer was executed successfully
    and the the Mail Adapter was called.
    The Message Content shows the Payload being generated correctly. But the
    Email is still not triggered.
    Could someone please provide some help with pinpointing the issue over here.
    Michael, are you there??
    Thanks & Regards,
    Shobhit

    Hi Ahmad,
    The mail adapter works perfectly fine when I remove the Conversion Agent module from it. And the Conversion Agent module works perfectly fine with the File Adapter on the receiver side. So that authenticates that both the objects (Mail Adapter - receiver & Conversion Agent Serailizer module) are configured correctly as individual objects.
    I have used the following parameters in the receiver mail adapter:
    PARAMETERS
    Transport Protocall: SMTP
    Message Protocall: XIPAYLOAD
    URL: smtp://xyz.com
    Content Encoding: Base64
    Keep Attachments: <TICKED>
    MODULE
    Processing Sequence==>>
    Module Name: localejbs/sap.com/com.sap.nw.cm.xi/CMTransformBean
    Type: Local EJB
    Module Key: 1
    Module Configuration==>>
    Module key: 1
    ParameterName: TransformationName
    Parameter Value: <SerializerServiceName>
    Regards,
    Shobhit

  • Archivelink as attachment

    Hi All,
              Requirement is to display the Archivelink document in a R/3 workflow using task 30100047 ( method ARCHIVELINKOBJECT-DISPLAY ) , create invoice and assign which is fine , but send a workitem to an SRM user so that he can view the Archivelink object . Can this be done ?
    Radha

    Hi,
    You will have to use the function module 'ARCHIV_CONNECTION_INSERT' to acheive this functionality. While creating the transaction you will have to do this inorder for the attachment to be available. The following code might be of help to you:
    FUNCTION ZCREATE_ATTACHMENT.
    ""Local interface:
    *"  IMPORTING
    *"     VALUE(AR_OBJECT) TYPE  TOAOM-AR_OBJECT          ZUS2000126
    *"     VALUE(SAP_OBJECT) TYPE  TOAOM-SAP_OBJECT         BUS2000126
    *"     VALUE(OBJECT_ID) TYPE  SAPB-SAPOBJID             GUID
    *"  EXPORTING
    *"     VALUE(MESSAGE) TYPE  CHAR255
    *START OF ATTACHMENT
      DATA: DOC_ID TYPE TOAV0-ARC_DOC_ID.
      DATA: KEY TYPE SAPB-SAPOBJID,
            V_ORDER TYPE CRMD_ORDERADM_H.
      CALL FUNCTION 'SCMS_AO_FILE_CREATE'
        EXPORTING
          ARC_ID       = 'AL'
          FILE         = 'Call_Report.doc'
          PATH         = 'D:\usr\sap\L2Z\DVEBMGS20\work\'
          DOC_TYPE     = 'DOC'
        IMPORTING
          DOC_ID       = DOC_ID
        EXCEPTIONS
          ERROR_HTTP   = 1
          ERROR_ARCHIV = 2
          ERROR_KERNEL = 3
          ERROR_CONFIG = 4
          ERROR_FILE   = 5
          OTHERS       = 6.
      IF SY-SUBRC <> 0.
      ENDIF.
      IF SAP_OBJECT EQ 'BUS2000116'.
        SELECT SINGLE * FROM CRMD_ORDERADM_H INTO V_ORDER
                        WHERE OBJECT_ID EQ OBJECT_ID
                        AND OBJECT_TYPE EQ 'BUS2000116'
                        AND PROCESS_TYPE EQ 'ZSE1'.
        MOVE V_ORDER-GUID TO OBJECT_ID.
      ENDIF.
      CALL FUNCTION 'ARCHIV_CONNECTION_INSERT'
        EXPORTING
          ARC_DOC_ID            = DOC_ID
          AR_OBJECT             = AR_OBJECT
          MANDANT               = '800'
          OBJECT_ID             = OBJECT_ID
          SAP_OBJECT            = SAP_OBJECT
          DOC_TYPE              = 'DOC'
        EXCEPTIONS
          ERROR_CONNECTIONTABLE = 1
          OTHERS                = 2.
      IF SY-SUBRC <> 0.
      ELSE.
        MESSAGE = 'Attachment created successfully'.
      ENDIF.
    *END OF ATTACHMENT
    ENDFUNCTION.
    Hope this helps,
    Sudhi

  • Sending mail from Smartform

    Hi all,
    HOW TO Pass parameters into the FM of a Smartform to send a mail (Mail Receipant & Application Object & Mail Sender).
    Is it neccesary to convert the SM into XSF or XDF format.

    hi,
    chka  sample code.
    REPORT y_cb_test_051 .
    * DATA DECLARATION
    TYPE-POOLS: meein.
    TABLES: toa_dara,
    nast,
    tnapr,
    arc_params.
    DATA: ent_retco TYPE sy-subrc,
    ent_screen TYPE c,
    l_xkomk LIKE TABLE OF komk WITH HEADER LINE,
    xscreen. "Kz. Probeausgabe
    DATA: i_texto_cuerpo LIKE solisti1 OCCURS 0 WITH HEADER LINE.
    * SELECT OPTIONS / PARAMETERS
    PARAMETERS:
    p_kappl LIKE nast-kappl OBLIGATORY DEFAULT 'EF',
    p_objky LIKE nast-objky OBLIGATORY DEFAULT '0010001125',
    p_kschl LIKE nast-kschl OBLIGATORY DEFAULT 'NEU',
    p_spras LIKE nast-spras OBLIGATORY DEFAULT 'EN',
    p_parnr LIKE nast-parnr OBLIGATORY DEFAULT '50009123',
    p_parvw LIKE nast-parvw OBLIGATORY DEFAULT 'BA',
    p_erdat LIKE nast-erdat OBLIGATORY DEFAULT '20050908',
    p_eruhr LIKE nast-eruhr OBLIGATORY DEFAULT '130105',
    p_aende LIKE nast-aende DEFAULT 'X',
    p_nacha LIKE nast-nacha DEFAULT '1',
    p_ndialo TYPE tdsfflag DEFAULT ' ',
    p_telfx LIKE nast-telfx DEFAULT '1-920-721-0284',
    p_tland LIKE nast-tland DEFAULT 'US',
    p_sform TYPE tdsfname DEFAULT 'ZMMNABPR3PFMMPO_L3' OBLIGATORY.
    *PDF TABLES
    DATA: tb_pdf LIKE tline OCCURS 0.
    DATA: tb_pdf255 TYPE so_text255 OCCURS 0.
    * MAIN PROCESSING SECTION
    START-OF-SELECTION.
    * SELECT SINGLE *
    * INTO nast
    * FROM nast
    * WHERE kappl = p_kappl
    * AND objky = p_objky
    * AND kschl = p_kschl
    * AND spras = p_spras
    * AND parnr = p_parnr
    * AND parvw = p_parvw
    * AND erdat = p_erdat
    * AND eruhr = p_eruhr.
    * IF sy-subrc <> 0.
    MESSAGE s000(00) WITH 'Record in NAST not found.'.
    nast-kappl = p_kappl.
    nast-objky = p_objky.
    nast-kschl = p_kschl.
    nast-spras = p_spras.
    nast-parnr = p_parnr.
    nast-parvw = p_parvw.
    nast-erdat = p_erdat.
    nast-eruhr = p_eruhr.
    nast-nacha = p_nacha.
    nast-telfx = p_telfx.
    nast-tland = p_tland.
    * ENDIF.
    nast-aende = p_aende.
    tnapr-sform = p_sform.
    PERFORM entry_neu
    USING
    ent_retco
    ent_screen.
    * FORMS
    *& Form entry_neu
    * text
    * -->ENT_RETCO text
    * -->ENT_SCREEN text
    FORM entry_neu
    USING
    ent_retco
    ent_screen.
    DATA: l_druvo LIKE t166k-druvo,
    l_nast LIKE nast,
    l_from_memory,
    l_doc TYPE meein_purchase_doc_print.
    DATA: ls_print_data_to_read TYPE lbbil_print_data_to_read.
    DATA: ls_bil_invoice TYPE lbbil_invoice.
    DATA: lf_fm_name TYPE rs38l_fnam.
    DATA: ls_control_param TYPE ssfctrlop.
    DATA: ls_composer_param TYPE ssfcompop.
    DATA: ls_recipient TYPE swotobjid.
    DATA: ls_sender TYPE swotobjid.
    DATA: lf_formname TYPE tdsfname.
    DATA: ls_addr_key LIKE addr_key.
    * xscreen = ent_screen.
    * clear ent_retco.
    IF nast-aende EQ space.
    l_druvo = '1'.
    ELSE.
    l_druvo = '2'.
    ENDIF.
    CALL FUNCTION 'ME_READ_PO_FOR_PRINTING'
    EXPORTING
    ix_nast = nast
    ix_screen = ent_screen
    IMPORTING
    ex_retco = ent_retco
    ex_nast = l_nast
    doc = l_doc
    CHANGING
    cx_druvo = l_druvo
    cx_from_memory = l_from_memory.
    CHECK ent_retco EQ 0.
    IF nast-adrnr IS INITIAL.
    PERFORM get_addr_key
    CHANGING ls_addr_key.
    ELSE.
    ls_addr_key = nast-adrnr.
    ENDIF.
    *Set the print Parameters
    PERFORM set_print_param USING ls_addr_key
    CHANGING ls_control_param
    ls_composer_param
    ls_recipient
    ls_sender
    ent_retco.
    *Get the Smart Form name.
    IF NOT tnapr-sform IS INITIAL.
    lf_formname = tnapr-sform.
    ELSE.
    lf_formname = tnapr-fonam.
    ENDIF.
    * determine smartform function module for invoice
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
    formname = lf_formname
    IMPORTING
    fm_name = lf_fm_name
    EXCEPTIONS
    no_form = 1
    no_function_module = 2
    OTHERS = 3.
    IF sy-subrc <> 0.
    * error handling
    ent_retco = sy-subrc.
    * perform protocol_update_i.
    ENDIF.
    ls_control_param-getotf = 'X'.
    DATA: l_document_output_info TYPE ssfcrespd,
    l_job_output_info TYPE ssfcrescl,
    l_job_output_options TYPE ssfcresop.
    CALL FUNCTION lf_fm_name
    EXPORTING
    archive_index = toa_dara
    archive_parameters = arc_params
    control_parameters = ls_control_param
    mail_recipient = ls_recipient
    mail_sender = ls_sender
    output_options = ls_composer_param
    user_settings = ' '
    zxekko = l_doc-xekko
    zxpekko = l_doc-xpekko
    * zxaend = l_doc-xaend
    IMPORTING
    document_output_info = l_document_output_info
    job_output_info = l_job_output_info
    job_output_options = l_job_output_options
    TABLES
    l_xekpo = l_doc-xekpo[]
    l_xekpa = l_doc-xekpa[]
    l_xpekpo = l_doc-xpekpo[]
    l_xeket = l_doc-xeket[]
    l_xtkomv = l_doc-xtkomv[]
    l_xekkn = l_doc-xekkn[]
    l_xekek = l_doc-xekek[]
    l_xaend = l_doc-xaend[]
    l_xkomk = l_xkomk
    EXCEPTIONS
    formatting_error = 1
    internal_error = 2
    send_error = 3
    user_canceled = 4
    OTHERS = 5.
    IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno.
    BREAK-POINT.
    ENDIF.
    * Converts OTF to PDF
    DATA: v_len_in TYPE i.
    CALL FUNCTION 'CONVERT_OTF'
    EXPORTING
    format = 'PDF'
    max_linewidth = 132
    IMPORTING
    bin_filesize = v_len_in
    TABLES
    otf = l_job_output_info-otfdata
    lines = tb_pdf
    EXCEPTIONS
    err_max_linewidth = 0
    err_format = 1
    err_conv_not_possible = 2
    OTHERS = 3.
    IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    * Change the PDF format from 132 to 255.
    CALL FUNCTION 'SX_TABLE_LINE_WIDTH_CHANGE'
    EXPORTING
    * line_width_src =
    * line_width_dst =
    transfer_bin = 'X'
    TABLES
    content_in = tb_pdf
    content_out = tb_pdf255
    EXCEPTIONS
    err_line_width_src_too_long = 1
    err_line_width_dst_too_long = 2
    err_conv_failed = 3
    OTHERS = 4
    IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    DATA: lw_subject TYPE so_obj_des.
    DATA: lwa_body TYPE solisti1.
    DATA: ltb_body TYPE TABLE OF solisti1.
    DATA: lw_filename TYPE char100.
    DATA: ltb_recipients TYPE TABLE OF somlreci1.
    DATA: lwa_recipients TYPE somlreci1.
    lw_subject = 'This is the email subject'.
    lwa_body-line = 'This is the email body - Line1'.
    APPEND lwa_body TO ltb_body.
    lwa_body-line = 'This is the email body - Line2'.
    APPEND lwa_body TO ltb_body.
    lwa_body-line = 'This is the email body - Line3'.
    APPEND lwa_body TO ltb_body.
    lwa_body-line = 'This is the email body - Line4'.
    APPEND lwa_body TO ltb_body.
    lw_filename = 'Contract'.
    *RECIPIENTS
    lwa_recipients-rec_type = 'U'.
    lwa_recipients-express = 'X'.
    lwa_recipients-receiver = sy-uname.
    lwa_recipients-copy = ''.
    APPEND lwa_recipients TO ltb_recipients.
    * RECIPIENTS
    lwa_recipients-rec_type = 'U'.
    lwa_recipients-express = 'X'.
    lwa_recipients-receiver = '[email protected]'.
    lwa_recipients-copy = ''.
    APPEND lwa_recipients TO ltb_recipients.
    * RECIPIENTS
    lwa_recipients-rec_type = 'U'.
    lwa_recipients-express = 'X'.
    lwa_recipients-receiver = '[email protected]'.
    lwa_recipients-copy = ''.
    APPEND lwa_recipients TO ltb_recipients.
    * Sends the PDF by email.
    PERFORM f_send_pdf_by_email
    TABLES
    tb_pdf255
    ltb_body
    ltb_recipients
    USING
    lw_subject
    lw_filename.
    ENDFORM. "entry_neu
    *& Form ZCA_MAIL_BIN
    * text
    FORM f_send_pdf_by_email
    TABLES
    ptb_pdf255 STRUCTURE solisti1
    ptb_body STRUCTURE solisti1
    ptb_recipients STRUCTURE somlreci1
    USING
    pw_subject TYPE so_obj_des
    pw_filename TYPE char100.
    *-DATA DECLARATION--------------------------------------------------
    * Variables y tablas internas.
    DATA: BEGIN OF ltb_objbin OCCURS 0.
    INCLUDE STRUCTURE solisti1.
    DATA: END OF ltb_objbin.
    DATA: lwa_doc_chng LIKE sodocchgi1,
    lw_tab_lines LIKE sy-tabix,
    ltb_objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE,
    ltb_objpack LIKE sopcklsti1 OCCURS 2 WITH HEADER LINE.
    *-MAIN PROCESSING SECTION-------------------------------------------
    clear: ltb_objbin, ltb_objtxt, ltb_objpack, lwa_doc_chng.
    refresh: ltb_objbin, ltb_objtxt, ltb_objpack.
    * Control Data
    lwa_doc_chng-obj_name = 'URGENT'.
    lwa_doc_chng-sensitivty = 'P'.
    lwa_doc_chng-no_change = 'X'.
    lwa_doc_chng-priority = '1'.
    lwa_doc_chng-obj_prio = '1'.
    lwa_doc_chng-obj_langu = sy-langu.
    lwa_doc_chng-no_change = 'X'.
    * Email Subject
    lwa_doc_chng-obj_descr = pw_subject.
    * Email Body
    ltb_objtxt[] = ptb_body[].
    CLEAR ltb_objtxt.
    DESCRIBE TABLE ltb_objtxt LINES lw_tab_lines.
    IF lw_tab_lines GT 0.
    READ TABLE ltb_objtxt INDEX lw_tab_lines.
    lwa_doc_chng-doc_size =
    ( lw_tab_lines - 1 ) * 255 + STRLEN( ltb_objtxt ).
    CLEAR ltb_objpack-transf_bin.
    ltb_objpack-body_start = 1.
    ltb_objpack-body_num = lw_tab_lines.
    ltb_objpack-doc_type = 'RAW'.
    APPEND ltb_objpack.
    ENDIF.
    * Attachment
    * Move the binary attachment to other internal table.
    ltb_objbin[] = ptb_pdf255[].
    ltb_objpack-transf_bin = 'X'.
    ltb_objpack-body_start = 1.
    * Get the number of lines in the Attachment (PDF FILE)
    DESCRIBE TABLE ltb_objbin LINES lw_tab_lines.
    ltb_objpack-body_num = lw_tab_lines.
    ltb_objpack-doc_type = 'PDF'.
    ltb_objpack-obj_descr = pw_filename.
    ltb_objpack-obj_name = pw_filename.
    ltb_objpack-doc_size = lw_tab_lines * 255.
    APPEND ltb_objpack.
    * Call the function to send the PDF file by email
    CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
    EXPORTING
    document_data = lwa_doc_chng
    put_in_outbox = 'X'
    TABLES
    packing_list = ltb_objpack
    contents_bin = ltb_objbin
    contents_txt = ltb_objtxt
    receivers = ptb_recipients
    EXCEPTIONS
    too_many_receivers = 1
    document_not_sent = 2
    document_type_not_exist = 3
    operation_no_authorization = 4
    parameter_error = 5
    x_error = 6
    enqueue_error = 7
    OTHERS = 8.
    CASE sy-subrc.
    WHEN 0.
    WHEN 1. RAISE too_many_receivers.
    WHEN 2. RAISE document_not_sent .
    WHEN 3. RAISE document_type_not_exist.
    WHEN 4. RAISE operation_no_authorization.
    WHEN 5. RAISE parameter_error.
    WHEN 7. RAISE enqueue_error .
    WHEN OTHERS. RAISE x_error.
    ENDCASE.
    COMMIT WORK.
    ENDFORM. "ZCA_MAIL_BIN
    *& Form get_addr_key
    * text
    * -->P_CS_BIL_INVOICE_HD_ADR text
    * <--P_CS_ADDR_KEY text
    FORM get_addr_key
    CHANGING l_addr_key LIKE addr_key.
    DATA: l_lfa1 LIKE lfa1.
    SELECT SINGLE * FROM lfa1 INTO l_lfa1
    WHERE lifnr = nast-parnr.
    IF sy-subrc = 0.
    MOVE l_lfa1-adrnr TO l_addr_key.
    ENDIF.
    ENDFORM. " get_addr_key
    *& Form set_print_param
    * text
    * -->P_LS_ADDR_KEY text
    * <--P_LS_CONTROL_PARAM text
    * <--P_LS_COMPOSER_PARAM text
    * <--P_LS_RECIPIENT text
    * <--P_LS_SENDER text
    * <--P_CF_RETCODE text
    FORM set_print_param USING is_addr_key LIKE addr_key
    CHANGING cs_control_param TYPE ssfctrlop
    cs_composer_param TYPE ssfcompop
    cs_recipient TYPE swotobjid
    cs_sender TYPE swotobjid
    cf_retcode TYPE sy-subrc.
    DATA: ls_itcpo TYPE itcpo.
    DATA: lf_repid TYPE sy-repid.
    DATA: lf_device TYPE tddevice.
    DATA: ls_recipient TYPE swotobjid.
    DATA: ls_sender TYPE swotobjid.
    lf_repid = sy-repid.
    * CALL FUNCTION 'WFMC_PREPARE_SMART_FORM'
    CALL FUNCTION 'Z_MMNA_WFMC_PREPARE_SMART_FORM'
    EXPORTING
    pi_nast = nast
    pi_addr_key = is_addr_key
    pi_repid = lf_repid
    IMPORTING
    pe_returncode = cf_retcode
    pe_itcpo = ls_itcpo
    pe_device = lf_device
    pe_recipient = cs_recipient
    pe_sender = cs_sender.
    IF cf_retcode = 0.
    MOVE-CORRESPONDING ls_itcpo TO cs_composer_param.
    cs_composer_param-tdimmed = ' '.
    cs_control_param-device = lf_device.
    cs_control_param-no_dialog = 'X'.
    * cs_control_param-no_dialog = p_ndialo.
    cs_control_param-preview = xscreen.
    cs_control_param-getotf = ls_itcpo-tdgetotf.
    cs_control_param-langu = nast-spras.
    ENDIF.
    ENDFORM. "set_print_param
    rgds
    Anver
    <b><i>if hlped pls mark points</i></b>

  • Send Email with Attachment Callable Object

    Hello,
    I have a GP Application where i have 2 steps....in the first action the initiator attaches a document through standard GP functionality......i want to send this attachment to the approver alongwith the email i am already sending using 'Send email with Attachment (optional)' callable obejct.....how can i implement this....?
    Any help would be highly appreciated.
    Regards,
    Anil

    Hello Anil!
    Well, if i really undestand your question, i think you resolve it using callable object mail with attachment, you said that do it, so, you only need to configure your smtp on youser server and you don´t need more work.
    Please write any doubts.

  • My cs4 mail list sign up has stopped functioning.  Need help to correct "warning" messages

    Don't know what's happening, but I do have a screen shot of the warning messages:
    I'm not code conversant enough to figure this one out.  Help!

    Here ya go:
    <?php require_once('Connections/innerchoice_books.php'); ?>
    <?php require_once('Connections/innerchoice_books.php'); ?>
    <?php require_once('Connections/innerchoice_books.php'); ?>
    <?php
    if (!function_exists("GetSQLValueString")) {
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
      if (PHP_VERSION < 6) {
        $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
      $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
      switch ($theType) {
        case "text":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;   
        case "long":
        case "int":
          $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case "double":
          $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
          break;
        case "date":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;
        case "defined":
          $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
          break;
      return $theValue;
    if (!function_exists("GetSQLValueString")) {
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
      if (PHP_VERSION < 6) {
        $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
      $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
      switch ($theType) {
        case "text":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;   
        case "long":
        case "int":
          $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case "double":
          $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
          break;
        case "date":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;
        case "defined":
          $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
          break;
      return $theValue;
    $editFormAction = $_SERVER['PHP_SELF'];
    if (isset($_SERVER['QUERY_STRING'])) {
      $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
      $insertSQL = sprintf("INSERT INTO email_list (ml_fname, ml_lname, ml_email, ml_job, ml_state) VALUES (%s, %s, %s, %s, %s)",
                           GetSQLValueString($_POST['ml_fname'], "text"),
                           GetSQLValueString($_POST['ml_lname'], "text"),
                           GetSQLValueString($_POST['ml_email'], "text"),
                           GetSQLValueString($_POST['ml_job'], "text"),
                           GetSQLValueString($_POST['ml_state'], "text"));
      mysql_select_db($database_innerchoice_books, $innerchoice_books);
      $Result1 = mysql_query($insertSQL, $innerchoice_books) or die(mysql_error());
    mysql_select_db($database_innerchoice_books, $innerchoice_books);
    $query_rsSubscribers = "SELECT * FROM email_list";
    $rsSubscribers = mysql_query($query_rsSubscribers, $innerchoice_books) or die(mysql_error());
    $row_rsSubscribers = mysql_fetch_assoc($rsSubscribers);
    $totalRows_rsSubscribers = mysql_num_rows($rsSubscribers);
    mysql_select_db($database_innerchoice_books, $innerchoice_books);
    $query_rsStates = "SELECT * FROM states ORDER BY state_id ASC";
    $rsStates = mysql_query($query_rsStates, $innerchoice_books) or die(mysql_error());
    $row_rsStates = mysql_fetch_assoc($rsStates);
    $totalRows_rsStates = mysql_num_rows($rsStates);
    mysql_select_db($database_innerchoice_books, $innerchoice_books);
    $query_rsJobs = "SELECT * FROM jobs ORDER BY job_id ASC";
    $rsJobs = mysql_query($query_rsJobs, $innerchoice_books) or die(mysql_error());
    $row_rsJobs = mysql_fetch_assoc($rsJobs);
    $totalRows_rsJobs = mysql_num_rows($rsJobs);
    ?>
    <?php require_once("webassist/email/mail_php.php"); ?>
    <?php require_once("webassist/email/mailformatting_php.php"); ?>
    <?php
    if (!isset($_SESSION))session_start();
    if ((($_SERVER["REQUEST_METHOD"] == "POST") && (isset($_SERVER["HTTP_REFERER"]) && strpos(urldecode($_SERVER["HTTP_REFERER"]), urldecode($_SERVER["SERVER_NAME"].$_SERVER["PHP_SELF"])) > 0) && isset($_POST)))     {
      //WA Universal Email object="mail"
      set_time_limit(0);
      $EmailRef = "waue_mailList_signup_2";
      $BurstSize = 0;
      $BurstTime = 0;
      $WaitTime = 0;
      $GoToPage = "mailList_signup_thanks.php";
      $RecipArray = array();
      $StartBurst = time();
      $LoopCount = 0;
      $TotalEmails = 0;
      $RecipIndex = 0;
      // build up recipients array
      $CurIndex = sizeof($RecipArray);
      $RecipArray[$CurIndex] = array();
      $RecipArray[$CurIndex ][] = "".((isset($_POST["ml_email"]))?$_POST["ml_email"]:"")  ."";
      $TotalEmails += sizeof($RecipArray[$CurIndex]);
      $RealWait = ($WaitTime<0.25)?0.25:($WaitTime+0.1);
      $TimeTracker = Array();
      $TotalBursts = floor($TotalEmails/$BurstSize);
      $AfterBursts = $TotalEmails % $BurstSize;
      $TimeRemaining = ($TotalBursts * $BurstTime) + ($AfterBursts*$RealWait);
      if ($TimeRemaining < ($TotalEmails*$RealWait) )  {
        $TimeRemaining = $TotalEmails*$RealWait;
      $_SESSION[$EmailRef."_Total"] = $TotalEmails;
      $_SESSION[$EmailRef."_Index"] = 0;
      $_SESSION[$EmailRef."_Remaining"] = $TimeRemaining;
      while ($RecipIndex < sizeof($RecipArray))  {
        $EnteredValue = is_string($RecipArray[$RecipIndex][0]);
        $CurIndex = 0;
        while (($EnteredValue && $CurIndex < sizeof($RecipArray[$RecipIndex])) || (!$EnteredValue && $RecipArray[$RecipIndex][0])) {
          $starttime = microtime_float();
          if ($EnteredValue)  {
            $RecipientEmail = $RecipArray[$RecipIndex][$CurIndex];
          }  else  {
            $RecipientEmail = $RecipArray[$RecipIndex][0][$RecipArray[$RecipIndex][2]];
          $EmailsRemaining = ($TotalEmails- $LoopCount);
          $BurstsRemaining = ceil(($EmailsRemaining-$AfterBursts)/$BurstSize);
          $IntoBurst = ($EmailsRemaining-$AfterBursts) % $BurstSize;
          if ($AfterBursts<$EmailsRemaining) $IntoBurst = 0;
          $TimeRemaining = ($BurstsRemaining * $BurstTime * 60) + ((($AfterBursts<$EmailsRemaining)?$AfterBursts:$EmailsRemaining)*$RealWait) - (($AfterBursts>$EmailsRemaining)?0:($IntoBurst*$RealWait));
          if ($TimeRemaining < ($EmailsRemaining*$RealWait) )  {
            $TimeRemaining = $EmailsRemaining*$RealWait;
          $CurIndex ++;
          $LoopCount ++;
          session_commit();
          session_start();
          $_SESSION[$EmailRef."_Index"] = $LoopCount;
          $_SESSION[$EmailRef."_Remaining"] = round($TimeRemaining);
          session_commit();
          wa_sleep($WaitTime);
          include("webassist/email/waue_mailList_signup_2.php");
          $endtime = microtime_float();
          $TimeTracker[] =$endtime - $starttime;
          $RealWait = array_sum($TimeTracker)/sizeof($TimeTracker);
          if ($LoopCount % $BurstSize == 0)  {
            $TimePassed = (time() - $StartBurst);
            if ($TimePassed < ($BurstTime*60))  {
              $WaitBurst = ($BurstTime*60) -$TimePassed;
              wa_sleep($WaitBurst);
            else  {
              $TimeRemaining = ($TotalEmails- $LoopCount)*$RealWait;
            $StartBurst = time();
          if (!$EnteredValue)  {
            $RecipArray[$RecipIndex][0] =  mysql_fetch_assoc($RecipArray[$RecipIndex][1]);
        $RecipIndex ++;
      $_SESSION[$EmailRef."_Total"] = 0;
      $_SESSION[$EmailRef."_Index"] = 0;
      $_SESSION[$EmailRef."_Remaining"] = 0;
      session_commit();
      session_start();
      if ($GoToPage!="")     {
        header("Location: ".$GoToPage);
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Join the Innerchoice Network</title>
    <link href="assets/Main.css" rel="stylesheet" type="text/css" />
    <style type="text/css">
    <!--
    #apDiv2 {
        position:absolute;
        left:1033px;
        top:965px;
        width:63px;
        height:322px;
        z-index:1;
    -->
    </style>
    <style type="text/css">
    <!--
    a:link {
        color: #060;
        text-decoration: underline;
    a:visited {
        text-decoration: underline;
        color: #006900;
    a:hover {
        text-decoration: none;
        color: #C60;
    a:active {
        text-decoration: underline;
        color: #DC6100;
    #apDiv1 {
        position:absolute;
        left:790px;
        top:506px;
        width:80px;
        height:80px;
        z-index:1;
    #apDiv3 {
        position:absolute;
        width:200px;
        height:115px;
        z-index:1;
    #apDiv4 {
        position:absolute;
        width:200px;
        height:115px;
        z-index:1;
    #featuredCover {
        position:absolute;
        width:136px;
        height:174px;
        z-index:1;
        left: 20px;
        overflow: hidden;
    -->
    </style>
    <script src="SpryAssets/SpryValidationTextField.js" type="text/javascript"></script>
    <script src="SpryAssets/SpryValidationSelect.js" type="text/javascript"></script>
    <link href="SpryAssets/SpryValidationTextField.css" rel="stylesheet" type="text/css" />
    <link href="SpryAssets/SpryValidationSelect.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    <div id="specials">
      <p>Sign up for the FREE Monday Morning Sharing Circle and More!</p>
    </div>
    <div id="wrapper">
      <div id="header">
        <h1>INNERCHOICE Publishing</h1>
        <h2>Bringing Emotional Intelligence to Life!</h2>
        <!--begin main-nav element-->
        <div>
        <ul>
        <li id="home"><a href="index.html"></a></li>
        <li id="books"><a href="books.php" class="visited"></a></li>
        <li id="training"><a href="circleWorkshops.html"></a></li>
        <li id="resources"><a href="resources.html"></a></li></ul></div>
        <!--begn sub-nave element-->
    <div id="subNav">
             <form method="GET" action="/remsearch.cgi">
                <img src="assets/images/homePage/cart.png" alt="cart.gif" width="25" height="15" style="margin-bottom:-2px;">
                <a href="cart.php">CART</a> | 
                <a href="contactHelp.html">CONTACT US</a> | 
                <a href="contactHelp.html#help">HELP</a> | 
                <a href="aboutUs.html">ABOUT INNERCHOICE</a>  
              </form>
        </div>
        <div id="kids"><img src="assets/images/kids-sans-text.png" width="300" height="442" alt="Happy Kids" />
    </div>
    </div>
      <div id="selResources">
            <p><img src="assets/images/homePage/SELresources.png" width="691" height="66" alt="SEL Resources" /></p>
      </div>
      <div id="mainContent">
        <div id="mailList">
          <h1>Become part of the Sharing Circle Community. Join in the fun!</h1>
          <h2>Sign up now to start enjoying the <span class="free"><br />
          FREE</span> Monday Morning Sharing Circle</h2>
          <p class="introText">As our site  grows,you'll find more and more great resources to support your Social and Emotional Learning efforts. Right now, enjoy a weekly treat as we send  the <a href="circleMonday.html">Monday Morning Sharing Circle Topic</a> your way. This is a sample of the <a href="circleCentral.html">EQ Super Strategy</a> that you can use to bring another dimension to your SEL work with students. Here's this week's<a href="circleMonday.html"> Sharing Circle</a>.</p>
          <p class="introText"><strong>*</strong>Required fields</p>
          <form id="form1" name="form1" method="POST" action=<?php echo $editFormAction; ?>>
            <table width="99%" border="0">
              <tr>
                <td width="606" height="22" valign="bottom" nowrap="nowrap">Email Address: *</td>
              </tr>
              <tr>
                <td align="left" nowrap="nowrap"><span id="spryEmail">
                <label>
                  <input name="ml_email" type="text" id="ml_email" size="60" />
                </label>
                <span class="textfieldRequiredMsg">An email address is required.</span><span class="textfieldInvalidFormatMsg">Invalid format.</span></span></td>
              </tr>
              <tr>
                <td height="22" valign="bottom" nowrap="nowrap">First Name: *</td>
              </tr>
              <tr>
                <td nowrap="nowrap"><span id="spryFirstname">
                  <label>
                    <input name="ml_fname" type="text" id="ml_fname" size="60" />
                  </label>
                <span class="textfieldRequiredMsg">Your first name is required.</span></span></td>
              </tr>
              <tr>
                <td height="22" valign="bottom" nowrap="nowrap">Last Name: *</td>
              </tr>
              <tr>
                <td nowrap="nowrap"><span id="spryLastname">
                  <label>
                    <input name="ml_lname" type="text" id="ml_lname" size="60" />
                  </label>
                <span class="textfieldRequiredMsg">Your last name is required.</span></span></td>
              </tr>
              <tr>
                <td height="45"><p>To guide us in giving you the most useful resource please tell us a little more about your role in education and where you are located.</p></td>
              </tr>
              <tr>
                <td height="22" valign="bottom">Please select a category from the following: *</td>
              </tr>
              <tr>
                <td nowrap="nowrap"><span id="spryRole">
                  <label>
                    <select name="ml_job" id="ml_job">
                      <?php
    do { 
    ?>
                      <option value="<?php echo $row_rsJobs['job_id']?>"><?php echo $row_rsJobs['job_title']?></option>
                      <?php
    } while ($row_rsJobs = mysql_fetch_assoc($rsJobs));
      $rows = mysql_num_rows($rsJobs);
      if($rows > 0) {
          mysql_data_seek($rsJobs, 0);
          $row_rsJobs = mysql_fetch_assoc($rsJobs);
    ?>
                    </select>
                    <span class="selectRequiredMsg">Please select your role.</span><br />
                  </label>
                </span></td>
              </tr>
              <tr>
                <td height="22" valign="bottom">Please tell us the state in which you work: *</td>
              </tr>
              <tr>
                <td nowrap="nowrap"><span id="spryState">
                    <label>
                    <select name="ml_state" id="ml_state">
                      <option value="AA">select...</option>
                      <?php
    do { 
    ?>
                      <option value="<?php echo $row_rsStates['state_id']?>"><?php echo $row_rsStates['state_name']?></option>
                      <?php
    } while ($row_rsStates = mysql_fetch_assoc($rsStates));
      $rows = mysql_num_rows($rsStates);
      if($rows > 0) {
          mysql_data_seek($rsStates, 0);
          $row_rsStates = mysql_fetch_assoc($rsStates);
    ?>
                    </select>
                    <span class="selectRequiredMsg">Please select your state.</span><br />
                    </label>
                </span></td>
                </tr>
              <tr>
                <td height="40" valign="bottom"><label>
                  <input type="submit" name="submit" id="submit" value="Sign me up!" />
                You'll receive an acknowledgment email from Innerchoice shortly.</label></td>
              </tr>
            </table>
            <input type="hidden" name="MM_insert" value="form1" />
          </form>
          <p class="introText">In the coming weeks you'll find other exciting things to enhance your SEL experience. These will include articles and insights about making the most of Social and Emotional Learning, and right away, our new monthly newsletter with even more ideas and interesting, engaging, and fun things to do with your students. You probably get that we're inventing this along the way. So we hope to hear your ideas for broadening the impact of our site and its impact on SEL.  </p>
        </div>
      </div>
    <div id="mlQuote">
      <p>Over the years, Sharing Circles have been one of the best counseling interventions.  They are powerful tools for creating social and emotional learning.</p>
      <p> </p>
    </div>
    <div id="mlUpdate">
      <h5>Current Subscribers—</h5>
      <h5><a href="mailList_updateTrigger.php">Update your information</a></h5>
      <p><em>(Keep Your Email address current)</em></p>
      <h5><a href="mailList_deleteTrigger.php">Unsubscribe</a></h5>
    </div>
      <p> </p>
      <p> </p>
      <div id="events"><a href="icEvents.html"><img src="assets/images/homePage/training_button.png" width="460" height="99" /></a></div>
      <div id="bookBrowse"><a href="titleBrowse.php"></a></div>
      <!--begin for footer content-->
      <div id="footer">
        <div class="left">
          <h5>About Innerchoice</h5>
          <div class="footer-links"> <a href="index.html">Home</a>  |  <a href="aboutUs.html">Mission</a>  |  <a href="aboutUs.html#ourStory">History</a> |  <a href="aboutUs.html#ourCommitment">Commitment to You</a></div>
          <h5>Resources for</h5>
          <div class="footer-links"> <a href="contactHelp.html#writersAuthors">Writers and Authors</a>  |  <a href="resources.html">Those Who Educate</a></div>
        </div>
        <div class="right">
          <div class="icLinks">
            <p><a href="mailto:[email protected]">Send Us Your Ideas</a><a href=""></a></p>
            <p><a href="contactHelp.html">Contact Us</a>  |  <a href="contactHelp.html#help">Help</a>  |  <a href="privacyPolicy.html">Privacy Policy</a>  |  <a href="siteMap.html">Site Map</a>  |  <a href="contactHelp.html#internationalRights">International Rights</a></p>
          </div>
          <div class="copyright"> <a href="aboutUs.html#ourCopyright">Copyright &#169; 2010</a> by <a href="index.html">Innerchoice Publishing, Inc.</a> All rights reserved. </div>
        </div> 
            <hr class="clearing"/>
    </div>
    </div>
    <script type="text/javascript">
    <!--
    var sprytextfield1 = new Spry.Widget.ValidationTextField("spryEmail", "email", {validateOn:["change"]});
    var sprytextfield2 = new Spry.Widget.ValidationTextField("spryFirstname", "none", {validateOn:["change"]});
    var sprytextfield3 = new Spry.Widget.ValidationTextField("spryLastname", "none", {validateOn:["change"]});
    var spryselect1 = new Spry.Widget.ValidationSelect("spryRole", {validateOn:["change"]});
    var spryselect2 = new Spry.Widget.ValidationSelect("spryState", {validateOn:["change"]});
    //-->
    </script>
    </body>
    </html>
    <?php
    mysql_free_result($rsSubscribers);
    mysql_free_result($rsStates);
    mysql_free_result($rsJobs);
    ?>

  • TCode to view Archivelink doc

    Dear all,
    Our scanned doc is store in IBM Commonstore as an archivelink to SAP. At the first place i don't have access to Commonstore, so would like to check if there is any TCode in SAP provide the functionality to view the archivelink object?

    Hi.
    Perhaps this links helps you:
    [Storing Documents|http://help.sap.com/saphelp_nw04/helpdata/en/8c/43a63acd23a74ae10000000a11402f/content.htm]
    [How to Store Document in SAP?|http://fuller.mit.edu/workflow/archive_link_store_docs.pdf]
    Best Regards
    Edited by: Alberto Ruiz on Oct 10, 2008 10:48 AM

  • Output type - Special function 8 - ARCHIV_CONNECTION_INSERT

    Hi gurus,
    I created a new Output Type with special function 8 called ZPDF in transaction NACE with application MR (invoice verification) and I added to that Output Type ZPDF our custom program called ZXXX_ARCHIVE_LINK in order to post into the MM invoice, a PDF who cames from the SD inovoice.
    The SD invoice number is recorder into the field "Referece" in the MM invoice.
    So, the program should (through the output type and the program):
    1. Read the MM invoice number generated (NAST table into NAST-OBJKY).
    2. Enter to table RBKP with MM invoice number RBKP-BELNR and get the SD invoice number: RBKP-XBLNR.
    3. Enter with SD invoice number XBLNR to table TOA01-OBJECT_ID And get TOA01-ARC_DOC_ID.
    4. Call FM ARCHIV_CONNECTION_INSERT.
    The problem here is when I post a MM inovice in MIRO transaction the system through the condition record added the ZPDF Output Type but don´t read the program ZMIC_INVOICE_PDF_ARCHIVE_LINK added to that output type. The status of the output type is green (but without any processing log). I checked the setting for the Output Type like 100 times and everything seems to be OK.
    Please this is very urgent. Any advice?
    I don´t know why SAP don´t call the program. I think the ABAP code is wrong:
    REPORT ZXXX_ARCHIVE_LINK.
    Table Declaration
    TABLES: NAST, " Message Status
    CMFP, " Storage Structure for Errors Collected
    EDIDS, " Status Record (IDoc)
    VBRK, " Billing Document: Header Data
    TOA01. " Link table 1
    TYPES: BEGIN OF TY_RBKP,
    BELNR TYPE RE_BELNR, " Document number of an invoice document
    XBLNR TYPE XBLNR1, "SAEOBJID, " Reference Document Number
    END OF TY_RBKP.
    TYPES: BEGIN OF TY_TOA01,
    OBJECT_ID TYPE SAEOBJID, " SAP ArchiveLink: Object ID (object identifier)
    ARC_DOC_ID TYPE SAEARDOID, " SAP ArchiveLink: Document ID
    END OF TY_TOA01.
    Data Declaration
    DATA: WA_BELNR TYPE RE_BELNR ,
    WA_ARC_DOC_ID TYPE TY_TOA01 , "-ARC_DOC_ID,
    WA_SAP_OBJECT LIKE SAPB-SAPOBJID," TYPE TOAOM-SAP_OBJECT ,
    ARC_DOC_ID TYPE TOAV0-ARC_DOC_ID,
    GT_RBKP TYPE STANDARD TABLE OF TY_RBKP , "WITH HEADER LINE,
    GT1_RBKP TYPE STANDARD TABLE OF TY_RBKP, " WITH HEADER LINE,
    GT_ARC_DOC_ID TYPE STANDARD TABLE OF TY_TOA01, " -ARC_DOC_ID,
    WA1_RBKP TYPE TY_RBKP ,
    WA_RBKP TYPE TY_RBKP.
    DATA: WA1_OBJECT_ID TYPE SAEOBJID.
    DATA: WA_OBJKY TYPE NA_OBJKEY,
    WA1_OBJKY TYPE RE_BELNR.
    FORM entry USING ent_retco ent_screen.
    CLEAR ent_retco.
    PERFORM ARCHIV_CONNECTION_INSERT USING nast-objky ent_retco.
    ENDFORM. "entry
    FORM ARCHIV_CONNECTION_INSERT USING objky returncode.
    * Select Reference Document Number from RBKP table
    SELECT BELNR XBLNR
    FROM RBKP
    INTO TABLE GT_RBKP
    WHERE BELNR = objky . " .WA1_OBJKY .
    IF SY-SUBRC EQ 0 .
    LOOP AT GT_RBKP INTO WA_RBKP.
    WA1_OBJECT_ID = WA_RBKP-XBLNR .
    CONCATENATE WA1_OBJECT_ID '%' INTO WA1_OBJECT_ID .
    WA_SAP_OBJECT = WA_RBKP-BELNR .
    SELECT OBJECT_ID
    ARC_DOC_ID
    FROM TOA01
    INTO TABLE GT_ARC_DOC_ID
    WHERE OBJECT_ID LIKE WA1_OBJECT_ID.
    IF SY-SUBRC EQ 0 .
    READ TABLE GT_ARC_DOC_ID INTO WA_ARC_DOC_ID INDEX 1.
    ARC_DOC_ID = WA_ARC_DOC_ID-ARC_DOC_ID.
    WA_SAP_OBJECT = WA_ARC_DOC_ID-OBJECT_ID.
    ENDIF.
    CALL Function Module:Link table operations
    CALL FUNCTION 'ARCHIV_CONNECTION_INSERT'
    EXPORTING
    ARCHIV_ID = 'Z0'
    ARC_DOC_ID = ARC_DOC_ID
    AR_DATE = SY-DATUM
    AR_OBJECT = 'MMILOGINV'
    DEL_DATE = ' '
    MANDANT = SY-MANDT
    OBJECT_ID = WA_SAP_OBJECT
    SAP_OBJECT = 'BUS2081'
    DOC_TYPE = 'PDF'
    BARCODE = ' '
    EXCEPTIONS
    ERROR_CONNECTIONTABLE = 1
    OTHERS = 2
    IF SY-SUBRC 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CLEAR: WA_RBKP.
    ENDLOOP.
    ENDIF.
    ENDFORM.

    Hi,
    Use
    You can process a message immediately by updating the application document or you can process it at a later time. For later processing you must use the report program RSNAST00 or a corresponding application function.
    The individual possibilites are:
    Time 1: The message is processed through report program RSNAST00. This report program can be scheduled periodically or started manually.
    Time 2: As in time 1, but the message contains an earliest processing date and a requested processing time. The message is ignored by report program RSNAST00 before the requested date.
    Time 3: The message is selected and processed by application specific programs. Processing can take place online or in the background.
    Time 4: The message is processed when the application document is saved. No further processing of the message is necessary.
    Kapil

  • PDFs not created using  Acrobat fail to read in PB20 short profile

    In our ECC system, when trying to read an applicant resume in PB20 (Short Profile->ArchiveLink Object Hit List), we get an error when trying to load someone's resume in which the resume that is saved as a PDF but created in something other than Acrobat (Example: MS Word-->Save as PDF):
    In SDV-->  "The file is damaged and could not be repaired"
    Can anyone offer any suggestions as how to fix this?

    Well, I tried a quick test of the Save As Excel and also Word and the conversion replaces hyphens with bullets; -$20,083.86 becomes •$20,083.86 and 18-JUN-2013 becomes 18•JUN•2013
    I can work with this if I have to, but it certainly is a cludgy approach.
    Do you happen to know if there's a routine in the VB-accessible SDK that allows me to fetch a block of text without any parsing by the SDK? That is, if I could read the contents of the PDF as a stream of characters and do my own parsing, perhaps I could see the hyphens.

  • Change file name in attachment -- Sales Order

    Hi guys,
    I have to change the file name in attachment (sales order ), a pdf sent via va02 Extras/output/header/edit to mail defined in xd02.
    I used the standard program /SMB40/RVADOR01,
    what I have now : in attachement file is like 'SAPLSTXBE /20080102/174052.pdf'
    in object mail 'SAPLSTXBE /20080102/174052' .
    What can I do for changing those values?
    need urgent help please
    thanks.

    I have tried this but that doiesn't work:
    Changing the subject for email order confirmations
    An output type ZEXT was created to send emails of order confirmations to a certain distribution list in PDF format. (See the SAP Exchange Connector Implementation Documentation for details on this setup.)
    The following code and config was implemented in order to change the email subject line.
    Configuration for ZEXT (External order confirmation by email)
    Transaction: V/30
    General Data: Access Seq: 0009 (SalesOrg./Cust./Order type), Access to Conditions CHECKED.
    Replacement of text symbols – Program: ZEXT. Form routine: TEXT_SYMBOL_REPLACE
    Default Values: Transmission Medium: 5. Communication Strategy CS01.
    Mail and Titles: &KUNNR&:Order &VBELN&
    Processing Routines: Program: RVADOR01, Form Routine: ENTRY, Form: YPCC_ORDCONF_STD
    Condition Record
    Using VV12 you need to add a condition record as applicable. Note that the Communication record must point to your ZMAIL output device and has the following entry as Text for Cover Page: &KUNNR&(&VBELN&)
    Code for ZEXT subject definition
    REPORT zext.
    Author: Kevin Wilson
    Date: 01/07/2003
    Description: This program changes the title of the email for output
                 type ZEXT. Maintain output type ZEXT using V/30.
                 The mail title and texts tab has entry:
                 &KUNNR&:Order &VBELN&
                 The general tab has entry in Replacement of text
                 symbols: Program ZEXT. Form:TEXT_SYMBOL_REPLACE
    tables: kna1.
    FORM text_symbol_replace TABLES xtlines STRUCTURE tline
                             USING xthead STRUCTURE thead
                                   snast  STRUCTURE nast.
      data: t_vbeln(10) type c.
      DESCRIBE TABLE xtlines LINES  sy-tabix.
      CHECK sy-tabix GT 0.
      LOOP AT xtlines.
        move snast-objky to t_vbeln.
        replace '&VBELN&' with t_vbeln into xtlines-tdline.
        select single name1 into kna1-name1
          from kna1
          where kunnr = snast-parnr.
        replace '&KUNNR&' with kna1-name1 into xtlines-tdline.
        condense xtlines-tdline.
        modify xtlines.
      ENDLOOP.
    ENDFORM.

Maybe you are looking for

  • Initializing Installer... and then nothing in Photoshop CS5 and Premiere Pro CS5

    Hello. I have a pretty big problem, I can't install Photoshop or Premiere Pro on my PC. I get to the " initializing installer " part, it fills to 100%, then the window simply disappears. What should I do ? My OS is XP SP3, and I have enough HDD space

  • How do I stop videos playing full screen on iPhone 5c?

    Hi I've recently purchased the iPhone 5C and I'm having trouble working out Safari and playing audios. When I click an audio (ie.. a radio programme on download) it immediately expands to full screen and I cannot find a way of going back to the safar

  • Is weblogic designed to be a 24/7 webserver?

    I am beginning to wonder if it was written for a specific business market or if it is able to handle heavy loads of traffic for an unlimited amount of time. The scenario is thus...we start the webservers (4 of them on single CPU sparc boxes roughly e

  • The job was stopped prior to completion by (Unknown)

    I'm getting the following intermittent error on a job: The job was stopped prior to completetion by (unknown) Any ideas as to what could be causing it?  2008 R2 John Schroeder

  • Can't resize columns in new iTunes store

    Well .. the new iTunes9 store is just horrendous, and a step back from the previous version. i'd beg for the previous version but it's never gonna happen. one of the most simple and yet horrendously awful things is the apparant inabilityto resize col