UTL_SMTP with a attachment from Application Tier?

Hi Experts,
My requirement is to submit a concurrent after completion sending a mail to user with the attachment of the same concurrent output. I am using UTL_SMTP package for sending emails, Now problem is that when ever It tries to attach the file it reads it from Database tier, I want it to read it from Application tier.
Any thoughts?
Regards,
Hasan

I shared folder of concurrent output on Application Tier as "Concurrent_output".
I mapped this folder in Database tier as "H:\"
I made a new directory in Database as
Create or replace directory testdirectory as 'H:\';
Grant all on directory testdirectory to public;
exec testmail(123);
Error:
ORA-22288: file or LOB operation FILEOPEN failed
And I try to put a file in existing Drive i.e. (C:, D:), it works fine.If it works fine in C: or D: drives then why don't you use any of these two?
Thanks,
Hussein

Similar Messages

  • Am trying to send an e mail with an attachment from i works I can't find it to attach I saved it where is it?

    Am trying to send an e mail with an attachment from i works.  I can't find the document I wrote.  Where is it?

    emmazell33 wrote:
    Am trying to send an e mail with an attachment from i works.  I can't find the document I wrote.  Where is it?
    Wherever you saved it. Likely, Documents folder.

  • TS3899 Whenever I send a email from iPad mail app with an attachment from pages or numbers, the receiver is getting only attachment in the email. They are getting the email content. How to troubleshoot this issue.

    Whenever I send a email from iPad mail app with an attachment from pages or numbers, the receiver is getting only attachment in the email. They are getting the email content. How to troubleshoot this issue.

    Someone is probably sending spam with your address forged on the To: line.  Could be one of your old contacts with a Windows machine has a virus that's doing it.  It's also possible your e-mail account has been hacked, though I'd think such a hacker would be a bit more purposeful.
    For more information, see:
    http://www.reedcorner.net/guides/macvirus/is_it_malware.php#spam
    * Disclaimer: links to my pages may give me compensation, and should not be taken as endorsement of my services by Apple.

  • How to send e-mail with an attachment from remote database server.???

    Hi All,
    I have tried the simple mail sending and with the attachment using UTL_SMTP. But the problem is , it is sending the mail with attachment of the file name i give, it takes and creates that file and sends as attachment not from the actual file location. I am trying to attach the file which i stored in remote database server.
    The following code I tried. But not worked for attachment
    DECLARE
       v_From       VARCHAR2(80) := '[email protected]';
       v_Recipient  VARCHAR2(80) := '[email protected]';
       v_Subject    VARCHAR2(80) := 'test subject';
       v_Mail_Host  VARCHAR2(30) := 'pop3.somedomain.com';
       v_Mail_Conn  utl_smtp.Connection;
       crlf         VARCHAR2(2)  := chr(13)||chr(10);
    BEGIN
      v_Mail_Conn := utl_smtp.Open_Connection(v_Mail_Host, 25);
      utl_smtp.Helo(v_Mail_Conn, v_Mail_Host);
      utl_smtp.Mail(v_Mail_Conn, v_From);
      utl_smtp.Rcpt(v_Mail_Conn, v_Recipient);
      utl_smtp.Data(v_Mail_Conn,
        'Date: '   || to_char(sysdate, 'Dy, DD Mon YYYY hh24:mi:ss') || crlf ||
        'From: '   || v_From || crlf ||
        'Subject: '|| v_Subject || crlf ||
        'To: '     || v_Recipient || crlf ||
        'MIME-Version: 1.0'|| crlf ||     -- Use MIME mail standard
        'Content-Type: multipart/mixed;'|| crlf ||
        ' boundary="-----SECBOUND"'|| crlf ||
        crlf ||
        '-------SECBOUND'|| crlf ||
        'Content-Type: text/html;'|| crlf ||
        'Content-Transfer_Encoding: 7bit'|| crlf ||
        crlf ||
        'some message text'|| crlf ||     -- Message body
        'more message text'|| crlf ||
        crlf ||
        '-------SECBOUND'|| crlf ||
        'Content-Type: text/html;'|| crlf ||
        ' name="Fund Authorization report"'|| crlf ||
        'Content-Transfer_Encoding: 8bit'|| crlf ||
        'Content-Disposition: attachment;'|| crlf ||
        ' filename="/usr/tmp/Test.html"'|| crlf ||
        crlf ||
        'HTML Attachment'|| crlf ||     -- Content of attachment
        crlf ||
        '-------SECBOUND--'               -- End MIME mail
      utl_smtp.Quit(v_mail_conn);
    EXCEPTION
      WHEN utl_smtp.Transient_Error OR utl_smtp.Permanent_Error then
        raise_application_error(-20000, 'Unable to send mail: '||sqlerrm);
    END;How can I attach a file which is stored in database server and send it in a mail.
    Please someone help me in this.
    Thanks,
    Alaka.

    Try this code
    Regards Salim.
    CREATE OR REPLACE TRIGGER EmailOnServerErr AFTER SERVERERROR ON DATABASE
    DECLARE
       mail_conn       UTL_SMTP.connection;
       crlf            VARCHAR2(2) := chr(13)||chr(10);
       msg             VARCHAR2(32760);
       sid_name        VARCHAR2(16);
       bdump_dest      VARCHAR2(128);
       smtp_relay      VARCHAR2(32) := 'MyMailRelay';
       recipient_address  VARCHAR2(64) := '[email protected]';
       sender_address     VARCHAR2(64) := '[email protected]';
       mail_port       NUMBER := 25;
       log_file_handle UTL_FILE.FILE_TYPE;
       log_file_dir    VARCHAR2(256) := 'ERR_LOG_DIR';
       log_file_name   VARCHAR2(256) := 'OracleErrors.log';
       maxlinesize     NUMBER := 32767;
       session_rec     sys.v_$session%ROWTYPE;
       audit_rec       sys.dba_audit_trail%ROWTYPE;
       auditing        BOOLEAN;
       LinesOfSQL      BINARY_INTEGER;
       offending_sql   DBMS_STANDARD.ora_name_list_t;
       CURSOR bdump_cur IS
          SELECT TRIM(value)
          FROM v$parameter
          WHERE name = 'background_dump_dest'
       CURSOR sid_cur IS
          SELECT TRIM(instance_name)
          FROM v$instance
       CURSOR session_cur IS
          SELECT s.*
          FROM v$session s
          WHERE s.sid = dbms_support.mysid
       CURSOR audit_trail_cur(AUDSID IN NUMBER) IS
          SELECT *
          FROM dba_audit_trail
          WHERE sessionid = AUDSID
    BEGIN
       IF (USER = 'SYSTEM' OR USER = 'SYS') THEN
          -- Ignore this error
          NULL;
       ELSIF IS_SERVERERROR (1034) THEN
          -- Ignore this error
          NULL;
       ELSE
          -- get the sid
          OPEN sid_cur;
          FETCH sid_cur INTO sid_name;
          CLOSE sid_cur;
          -- get the location of the alert log
          OPEN bdump_cur;
          FETCH bdump_cur INTO bdump_dest;
          CLOSE bdump_cur;
          -- get the session information
          OPEN session_cur;
          FETCH session_cur INTO session_rec;
          CLOSE session_cur;
          -- get the audit_trail information if it exists
          OPEN audit_trail_cur(session_rec.audsid);
          FETCH audit_trail_cur INTO audit_rec;
          auditing := audit_trail_cur%FOUND;
          CLOSE audit_trail_cur;
          IF session_rec.program = 'MyProgram.exe' THEN
             NULL;  -- ignore actions from MyProgram - that's where I do maintenance
          ELSE
             -- compose the message
             msg := 'Subject: Oracle error '||' on '||sid_name||crlf;
             msg := msg||'To: '||recipient_address||crlf;
             msg := msg||'For more information see the alert log file located at:'||crlf;
             msg := msg||bdump_dest||'/alert_'||sid_name||'.log'||crlf;
             msg := msg||'or the error log file: $'||log_file_dir||'/'||log_file_name||crlf;
             msg := msg||'Error Time='||TO_CHAR(SYSDATE,'DD-Mon-YYYY HH24:MI:SS')||crlf;
             msg := msg||DBMS_UTILITY.FORMAT_CALL_STACK||crlf;
             LinesOfSQL := sql_txt(offending_sql);
             msg := msg||'Offending SQL is:'||crlf;
             FOR loop_counter IN offending_sql.FIRST..offending_sql.LAST
             LOOP
                msg := msg||offending_sql(loop_counter);
             END LOOP;
             msg := msg||crlf||'----- PL/SQL Error Stack -----'||crlf;
             msg := msg||DBMS_UTILITY.FORMAT_ERROR_STACK||crlf;
             msg := msg||'V$SESSION.SADDR='   ||session_rec.saddr   ||crlf;
             msg := msg||'V$SESSION.SID='     ||session_rec.sid     ||crlf;
             msg := msg||'V$SESSION.SERIAL#=' ||session_rec.serial# ||crlf;
             msg := msg||'V$SESSION.AUDSID='  ||session_rec.audsid  ||crlf;
             msg := msg||'V$SESSION.PADDR='   ||session_rec.paddr   ||crlf;
             msg := msg||'V$SESSION.USER#='   ||session_rec.user#   ||crlf;
             msg := msg||'V$SESSION.USERNAME='||session_rec.username||crlf;
             msg := msg||'V$SESSION.COMMAND=' ||session_rec.command ||crlf;
             msg := msg||'V$SESSION.OWNERID=' ||session_rec.ownerid ||crlf;
             msg := msg||'V$SESSION.TADDR='   ||NVL(session_rec.taddr   ,'Null')||crlf;
             msg := msg||'V$SESSION.LOCKWAIT='||NVL(session_rec.lockwait,'Null')||crlf;
             msg := msg||'V$SESSION.STATUS='  ||NVL(session_rec.status  ,'Null')||crlf;
             msg := msg||'V$SESSION.SERVER='  ||NVL(session_rec.server  ,'Null')||crlf;
             msg := msg||'V$SESSION.SCHEMA#=' ||session_rec.schema#||crlf;
             msg := msg||'V$SESSION.SCHEMANAME=' ||NVL(session_rec.schemaname,'Null')||crlf;
             msg := msg||'V$SESSION.OSUSER='     ||NVL(session_rec.osuser    ,'Null')||crlf;
             msg := msg||'V$SESSION.PROCESS='    ||NVL(session_rec.process   ,'Null')||crlf;
             msg := msg||'V$SESSION.MACHINE='    ||NVL(session_rec.machine   ,'Null')||crlf;
             msg := msg||'V$SESSION.TERMINAL='   ||NVL(session_rec.terminal  ,'Null')||crlf;
             msg := msg||'V$SESSION.PROGRAM='    ||NVL(session_rec.program   ,'Null')||crlf;
             msg := msg||'V$SESSION.TYPE='       ||NVL(session_rec.type      ,'Null')||crlf;
             msg := msg||'V$SESSION.SQL_ADDRESS='    ||session_rec.sql_address  ||crlf;
             msg := msg||'V$SESSION.SQL_HASH_VALUE=' ||NVL(TO_CHAR(session_rec.sql_hash_value) ,'Null')||crlf;
             msg := msg||'V$SESSION.PREV_SQL_ADDR='  ||session_rec.prev_sql_addr||crlf;
             msg := msg||'V$SESSION.PREV_HASH_VALUE='||NVL(TO_CHAR(session_rec.prev_hash_value),'Null')||crlf;
             msg := msg||'V$SESSION.MODULE='     ||NVL(session_rec.module              ,'Null')||crlf;
             msg := msg||'V$SESSION.MODULE_HASH='||NVL(TO_CHAR(session_rec.module_hash),'Null')||crlf;
             msg := msg||'V$SESSION.ACTION='     ||NVL(session_rec.action              ,'Null')||crlf;
             msg := msg||'V$SESSION.ACTION_HASH='||NVL(TO_CHAR(session_rec.action_hash),'Null')||crlf;
             msg := msg||'V$SESSION.CLIENT_INFO='||NVL(session_rec.client_info         ,'Null')||crlf;
             msg := msg||'V$SESSION.FIXED_TABLE_SEQUENCE='||NVL(TO_CHAR(session_rec.fixed_table_sequence),'Null')||crlf;
             msg := msg||'V$SESSION.ROW_WAIT_OBJ#='  ||NVL(TO_CHAR(session_rec.row_wait_obj#)  ,'Null')||crlf;
             msg := msg||'V$SESSION.ROW_WAIT_FILE#=' ||NVL(TO_CHAR(session_rec.row_wait_file#) ,'Null')||crlf;
             msg := msg||'V$SESSION.ROW_WAIT_BLOCK#='||NVL(TO_CHAR(session_rec.row_wait_block#),'Null')||crlf;
             msg := msg||'V$SESSION.ROW_WAIT_ROW#='  ||NVL(TO_CHAR(session_rec.row_wait_row#)  ,'Null')||crlf;
             msg := msg||'V$SESSION.LOGON_TIME='     ||NVL(TO_CHAR(session_rec.logon_time,'DD-Mon-YYYY HH24:MI:SS'),'Null')||crlf;
             msg := msg||'V$SESSION.LAST_CALL_ET='   ||NVL(TO_CHAR(session_rec.last_call_et)   ,'Null')||crlf;
             msg := msg||'V$SESSION.PDML_ENABLED='   ||NVL(session_rec.pdml_enabled   ,'Null')||crlf;
             msg := msg||'V$SESSION.FAILOVER_TYPE='  ||NVL(session_rec.failover_type  ,'Null')||crlf;
             msg := msg||'V$SESSION.FAILOVER_METHOD='||NVL(session_rec.failover_method,'Null')||crlf;
             msg := msg||'V$SESSION.FAILED_OVER='    ||NVL(session_rec.failed_over    ,'Null')||crlf;
             msg := msg||'V$SESSION.RESOURCE_CONSUMER_GROUP='||NVL(session_rec.resource_consumer_group,'Null')||crlf;
             msg := msg||'V$SESSION.PDML_STATUS='    ||NVL(session_rec.pdml_status    ,'Null')||crlf;
             msg := msg||'V$SESSION.PDDL_STATUS='    ||NVL(session_rec.pddl_status    ,'Null')||crlf;
             msg := msg||'V$SESSION.PQ_STATUS='      ||NVL(session_rec.pq_status      ,'Null')||crlf;
             IF auditing THEN
                msg := msg||'DBA_AUDIT_TRAIL.OS_USERNAME='  ||NVL(audit_rec.os_username,'Null')||crlf;
                msg := msg||'DBA_AUDIT_TRAIL.USERNAME='     ||NVL(audit_rec.username   ,'Null')||crlf;
                msg := msg||'DBA_AUDIT_TRAIL.USERHOST='     ||NVL(audit_rec.userhost   ,'Null')||crlf;
                msg := msg||'DBA_AUDIT_TRAIL.TERMINAL='     ||NVL(audit_rec.terminal   ,'Null')||crlf;
                msg := msg||'DBA_AUDIT_TRAIL.TIMESTAMP='    ||TO_CHAR(audit_rec.timestamp,'DD-Mon-YYYY HH24:MI:SS')||crlf;
                msg := msg||'DBA_AUDIT_TRAIL.OWNER='        ||NVL(audit_rec.owner      ,'Null')||crlf;
                msg := msg||'DBA_AUDIT_TRAIL.OBJ_NAME='     ||NVL(audit_rec.obj_name   ,'Null')||crlf;
                msg := msg||'DBA_AUDIT_TRAIL.ACTION='       ||audit_rec.action   ||crlf;
                msg := msg||'DBA_AUDIT_TRAIL.ACTION_NAME='  ||NVL(audit_rec.action_name   ,'Null')||crlf;
                msg := msg||'DBA_AUDIT_TRAIL.NEW_OWNER='    ||NVL(audit_rec.new_owner     ,'Null')||crlf;
                msg := msg||'DBA_AUDIT_TRAIL.NEW_NAME='     ||NVL(audit_rec.new_name      ,'Null')||crlf;
                msg := msg||'DBA_AUDIT_TRAIL.OBJ_PRIVILEGE='||NVL(audit_rec.obj_privilege ,'Null')||crlf;
                msg := msg||'DBA_AUDIT_TRAIL.SYS_PRIVILEGE='||NVL(audit_rec.sys_privilege ,'Null')||crlf;
                msg := msg||'DBA_AUDIT_TRAIL.ADMIN_OPTION=' ||NVL(audit_rec.admin_option  ,'Null')||crlf;
                msg := msg||'DBA_AUDIT_TRAIL.GRANTEE='      ||NVL(audit_rec.grantee       ,'Null')||crlf;
                msg := msg||'DBA_AUDIT_TRAIL.AUDIT_OPTION=' ||NVL(audit_rec.audit_option  ,'Null')||crlf;
                msg := msg||'DBA_AUDIT_TRAIL.SES_ACTIONS='  ||NVL(audit_rec.ses_actions   ,'Null')||crlf;
                msg := msg||'DBA_AUDIT_TRAIL.LOGOFF_TIME='  ||NVL(TO_CHAR(audit_rec.logoff_time)  ,'Null')||crlf;
                msg := msg||'DBA_AUDIT_TRAIL.LOGOFF_LREAD=' ||NVL(TO_CHAR(audit_rec.logoff_lread) ,'Null')||crlf;
                msg := msg||'DBA_AUDIT_TRAIL.LOGOFF_PREAD=' ||NVL(TO_CHAR(audit_rec.logoff_pread) ,'Null')||crlf;
                msg := msg||'DBA_AUDIT_TRAIL.LOGOFF_LWRITE='||NVL(TO_CHAR(audit_rec.logoff_lwrite),'Null')||crlf;
                msg := msg||'DBA_AUDIT_TRAIL.LOGOFF_DLOCK=' ||NVL(audit_rec.logoff_dlock  ,'Null')||crlf;
                msg := msg||'DBA_AUDIT_TRAIL.COMMENT_TEXT=' ||NVL(audit_rec.comment_text  ,'Null')||crlf;
                msg := msg||'DBA_AUDIT_TRAIL.SESSIONID='    ||audit_rec.sessionid   ||crlf;
                msg := msg||'DBA_AUDIT_TRAIL.ENTRYID='      ||audit_rec.entryid     ||crlf;
                msg := msg||'DBA_AUDIT_TRAIL.STATEMENTID='  ||audit_rec.statementid ||crlf;
                msg := msg||'DBA_AUDIT_TRAIL.RETURNCODE='   ||audit_rec.returncode  ||crlf;
                msg := msg||'DBA_AUDIT_TRAIL.PRIV_USED='    ||NVL(audit_rec.priv_used,'Null')||crlf;
             END IF;
             msg := msg||'-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-'||crlf||crlf;
             -- write the message to the error log file
             log_file_handle := UTL_FILE.FOPEN (log_file_dir, log_file_name, 'A',maxlinesize);
             UTL_FILE.PUT_LINE(log_file_handle,msg);
             UTL_FILE.FCLOSE(log_file_handle);
             -- send the message by Email
             mail_conn := UTL_SMTP.open_connection(smtp_relay, mail_port);
             UTL_SMTP.HELO(mail_conn, smtp_relay);
             UTL_SMTP.MAIL(mail_conn, sender_address);
             UTL_SMTP.RCPT(mail_conn, recipient_address);
             UTL_SMTP.DATA(mail_conn, msg);
             UTL_SMTP.QUIT(mail_conn);
          END IF; -- client_program = MyProgram.exe
       END IF;
    END;
    /

  • Segmentation Fault when connecting to SQL*Plus from Applications tier

    Hi Everyone -
    I am currently in the process of upgrading a client from 11.5.10.2 to 12.1.1 (eventually 12.1.3) on a OEL x86-64 server. I have laid down the software stack and followed all of the requirements as per the Installation manuals and 761566.1. I also have an open SR right now on this issue - but I wanted to see if any of you have ever run into the issue that I am encountering.
    When I try to run adadmin/adpatch - I get to the prompt of providing the system user password and the utility simply exits. No errors in adpatch.log or adadmin.log (both are 0 bytes in size).
    When I try to connect using SQL*Plus from the applications tier using either:
    sqlplus apps/****@SID
    sqlplus system/****@SID
    I get a Segmentation Fault error. There are also no errors in my alert log file on the database tier. I found this error while attempting to apply the upgrade merge patch.
    Has anyone ever seen s Segmentation Fault error? I have search MOS, found a couple of potential solutions - but nothing has solved the issue so far.
    Thanks in advance...
    Brenna

    >
    Are you on 11.1.0.5.0? Is this the database version?
    No, my database tier is 11.2.0.3 (the database version displayed above was the client version running on the Application Tier.
    Who is the owner of the application tier files? If it is applmgr user, please make sure you login as that user and source the application env file before running sqlplus -- Please issue "echo $ORACLE_HOME" and "which sqlplus" and post the output here.
    My owner of the application tier is oracle. I have sourced the environment using $APPL_TOP/APPSR12Dev1_******.env
    [oracle@****** log]$ echo $ORACLE_HOME
    /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2
    [oracle@****** log]$ which sqlplus
    /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/bin/sqlplus
    >
    Please relink sqlplus by issuing "$ORACLE_HOME/bin/relink all > relink.txt 2>&1" and check the relink.txt file for any error
    A number of errors occur during the relink, here are some of them:
    /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/bin/genclntsh
    /usr/bin/ld: warning: i386:x86-64 architecture of input file `/u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libn10.a(nnfgt.o)' is incompatible with i386 output
    /usr/bin/ld: warning: i386:x86-64 architecture of input file `/u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libn10.a(ntcontab.o)' is incompatible with i386 output
    /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/bin/genagtsh /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libagtsh.so 1.0
    /usr/bin/ld: warning: i386:x86-64 architecture of input file `/u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libn10.a(nnfgt.o)' is incompatible with i386 output
    /usr/bin/ld: warning: i386:x86-64 architecture of input file `/u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libn10.a(ntcontab.o)' is incompatible with i386 output
    /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libn10.a(nnfgt.o):(.rodata+0xc8): undefined reference to `nnflboot'
    /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libn10.a(ntcontab.o):(.data+0x8): undefined reference to `nttini'
    /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libn10.a(ntcontab.o):(.data+0x28): undefined reference to `ntzini'
    /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libn10.a(ntcontab.o):(.data+0x68): undefined reference to `ntpini'
    /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libn10.a(ntcontab.o):(.data+0x88): undefined reference to `ntusini'
    collect2: ld returned 1 exit status
    Thanks again...

  • PL/SQL code to capture email with an Attachment from the POP server

    Hey guys,
    With the help of this forum and Billy I am able to capture the email from POP3 server and display it to the user. But now my query is how can I get an Attachment from the email using PL/SQL's UTL-TCP method ? Right now the attachment is displayed as string of characters.
    Thanks.

    Seeing that none-one has bitten on this, I will have a very quick nibble.
    Dealing with attachments can be complex - especially if binary. Attachment will be (should be) encoded using 7 bits. This requires you to un-encode it.
    Attachments also require you to parse the mail body looking for the attachment boundary markers (as specified in the e-mail header).
    The RFCs detailing the Internet Message Body and attachments will have the actual gory technical stuff.
    It will make a lot more sense when looking at an existing MIME message ("raw" e-mail) when reading these RFCs - as you can fairly easily see how the MIME message was created with the attachment boundaries and headers.
    Of course - also realise that as soon as you have decoded that attachment into a "proper" binary for your platform, you have a potentially malicious payload that could be "accidentally" executed. So safe guards are also needed.
    Some of the RFC's covering these are:
    # RFC 2049 - Multipurpose Internet Mail Extensions (MIME) Part Five: Conformance Criteria and Examples
    # RFC 2048 - Multipurpose Internet Mail Extensions (MIME) Part Four: Registration Procedures
    # RFC 2047 - MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header Extensions for Non-ASCII Text
    # RFC 2046 - Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types
    # RFC 2045 - Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies
    # RFC 2044 - UTF-8, a transformation format of Unicode and ISO 10646
    # RFC 2112 - The MIME Multipart/Related Content-type
    Full list of RFCs at http://www.faqs.org/rfcs/rfc-titles.html

  • Move CM Node to Database node from Application Tier

    Hi,
    I have setup like this...my set up is 2 node...one node is Database node and another is Application Node.
    Now I want to move Concurrent Manager Node from Application Node to Database Node..
    I Can do this using RAPIDCLONE.....
    What My Doubt is to move the CM Node...
    Do I have to copy APPL_TOP , COMMON_TOP and ORA_TOPs or only APPL_TOP to database node
    Plase help it out

    Hi,
    I want to Move CM to Database node using Shared Applicaiton File System Feature...It is very cool.....
    I did not understand one point there...These lines are from this document
    Sharing the Application Tier File System in Oracle Applications 11i Doc ID: Note:233428.1
    Section 3: Sharing an existing Applications file system
    In the 3rd point....
    Make the Applications files accessible
    Mount the shared disk to all application tier nodes
    Suppose, I have Total Application Tier File System in the Application Node is in /u01 partition...Do I have to NFS Share this partition and Mount it in Database Node...is it correct??? like this I have to do it na....
    (1) NFS share the /u01 partition File system in the Application Node
    (3) mount the /u01 file system in the Database Node
    $mount /u01 /u01
    Is it correct ?????
    If I have to apply any patch...Only we need to apply it on Primary node..once we apply it..it is automatically appearing the node 2....because it is shared file system....Only use is....For CM Running purposes..Database Node Resources(CPU and RAM) will be used......right.....
    We no need to touch the Shared File System in the Database Node 2 in this scenario....right....
    Please confirm it...

  • Cloning with customization and shared application tier.

    Hi,
    I have to customize applications 11i and with creating a custom schema and customizing apache, please let me know what are the steps i should take so that the customizations are there when i clone the system in a shared application tier.
    Thanks,
    vp

    Hi,
    For cloning, you will have to follow the Rapid Clone document of your application release -- See (Note: 799735.1 - Rapid Clone Documentation Resources, Release 11i and 12).
    For customization, please see (Note: 270519.1 - Customizing an AutoConfig Environment).
    Regards,
    Hussein

  • Need help with Resource Mapping from Application Deployment to VC:virtualMachine

    Hi,
    I've built a number of vCO Workflows and hooked them up to Resource Actions in vRA. However, the Workflows I've built all take a VC:VirtualMachine as the input and therefore,they only "hookup" to VMs in the Machines list in the Items tab in vRA. Ideally, I want these actions to hookup to the Application Deployments in vRA since that is what my users are deploying - the VM that the App rides on is somewhat secondary. Plus, it's cumbersome for them to find the VM that corresponds to the App they want to run the action on.
    So, I looked into creating a new Resource Mapping, thinking I could map an Application Deployment to a VC:VirtualMachine so that I could create an Action for the Application. I was able to create a mapping from Application Deployment to VC:VM using the Map to VC:VM existing workflow and I could add that to the Actions menu for the Application Deployment but if I try to run it, it fails. I kind of expected this since I think the Map to VC:VM is expecting an input of IaaS VC:VM to map to vCO VC:VM. I think what I need to do is write a Workflow that will take in the Application Deployment "object" and find the VC:VM inside it but I don't know how to find out the structure of an Application Deployment such that I could parse it and get the VM.
    Does this make sense? Am I going about this the right way? Thanks for any help,
    Tom

    Hi,
    I've built a number of vCO Workflows and hooked them up to Resource Actions in vRA. However, the Workflows I've built all take a VC:VirtualMachine as the input and therefore,they only "hookup" to VMs in the Machines list in the Items tab in vRA. Ideally, I want these actions to hookup to the Application Deployments in vRA since that is what my users are deploying - the VM that the App rides on is somewhat secondary. Plus, it's cumbersome for them to find the VM that corresponds to the App they want to run the action on.
    So, I looked into creating a new Resource Mapping, thinking I could map an Application Deployment to a VC:VirtualMachine so that I could create an Action for the Application. I was able to create a mapping from Application Deployment to VC:VM using the Map to VC:VM existing workflow and I could add that to the Actions menu for the Application Deployment but if I try to run it, it fails. I kind of expected this since I think the Map to VC:VM is expecting an input of IaaS VC:VM to map to vCO VC:VM. I think what I need to do is write a Workflow that will take in the Application Deployment "object" and find the VC:VM inside it but I don't know how to find out the structure of an Application Deployment such that I could parse it and get the VM.
    Does this make sense? Am I going about this the right way? Thanks for any help,
    Tom

  • Sending an Email with Excel Attachment from Local directory

    Hi,
    I have a requirement : I want to send an email with an attachment which is exist on local  directory and currently I am using
    cl_bcs classes
    Thanks,
    Moderator message: Welcome to SCN!
    Moderator message: please do more research before asking, show what you have done yourself when asking.
    [Rules of engagement|http://wiki.sdn.sap.com/wiki/display/HOME/RulesofEngagement]
    [Asking Good Questions in the Forums to get Good Answers|/people/rob.burbank/blog/2010/05/12/asking-good-questions-in-the-forums-to-get-good-answers]
    Edited by: Thomas Zloch on Aug 4, 2011 5:15 PM

    Hi,
    I have a requirement : I want to send an email with an attachment which is exist on local  directory and currently I am using
    cl_bcs classes
    Thanks,
    Moderator message: Welcome to SCN!
    Moderator message: please do more research before asking, show what you have done yourself when asking.
    [Rules of engagement|http://wiki.sdn.sap.com/wiki/display/HOME/RulesofEngagement]
    [Asking Good Questions in the Forums to get Good Answers|/people/rob.burbank/blog/2010/05/12/asking-good-questions-in-the-forums-to-get-good-answers]
    Edited by: Thomas Zloch on Aug 4, 2011 5:15 PM

  • How to submit a conurrent request with MLS attached from PL/SQL?

    Hi Friends,
    I am trying to submit RAXINV_SEL from backend. This one has MLS attached. If we submit it from request window,it fires 'Multilanguage' program first and then the RAXINV_SEL. How to set this MLS option from backend? I tried submitting the request after setting the apps context and set_nls_options...But,concurrent request ends with an error mainly because of the MLS not effective..
    1. What is the procedure to submit the concurrent program from PL/SQL which has MLS attached?
    Please help!
    Thanks
    Raj

    Hi Friends,
    I am trying to submit RAXINV_SEL from backend. This one has MLS attached. If we submit it from request window,it fires 'Multilanguage' program first and then the RAXINV_SEL. How to set this MLS option from backend? I tried submitting the request after setting the apps context and set_nls_options...But,concurrent request ends with an error mainly because of the MLS not effective..
    1. What is the procedure to submit the concurrent program from PL/SQL which has MLS attached?
    Please help!
    Thanks
    Raj

  • SOA Suite 11g - Email with attachments (Attachment from SOAP attachment)

    Hello,
    Can any one please help as to how I can do the following in Oracle SOA 11g:
    Using a BPEL process how can I send an Email with attachments where the attachment itself is coming from a SOAP attachment.
    The back ground is that we have portal sites from where the users can upload a document and then from their a SOA service is invoked and the attachment would be passed as (SOAP attachments) and then emails have to be send to users containing this uploaded document as the attachment.
    Thanks.
    feel free to email me [email protected]

    Yes, I need all supported standards and their version of SOA Suite 11g because my customer wants to upgrade from 10g to 11g, especially all supported standards and version number of OBPM 11g and OBPM 10g.
    A people has pasted all support standards and version number of OBPM 10g. I get a standard list of OSB.
    OBPM 11g supports:
    BPEL
    xml 1.0
    Servlet 2.3\JSP1.2 (J2EE 1.2),
    Servlet 2.4\JSP2.0(J2EE 1.4),
    Servlet 2.5\JSP2.1(Java EE 1.5)
    UDDI
    SOAP
    WSDL
    WS-BPEL for People
    XML Schema
    XPDL
    SOAP
    XQuery
    XLIFF
    XSL map
    XSLT
    UML
    Ant
    EJB 2.1, JPA/EJB 3.0
    JAAS
    Spring
    JAXB 1.0, JAXB 2.0
    XHTML
    HTML
    JSP
    JSF
    JSR-168
    XSQL
    WS-Policy
    But I cannot find the document about version number of the above standards

  • Sending external mail with excel attachment from SAP

    Hi All,
    I am trying to send a external mail from SAP. Mail is getting posted correctly with attachment having type excel. If attach file has more than 1 records then in mail it is coming in a single lines. it is not getting wrap.
    e.g. my attach internal table has records like LINE1
                                                                      LINE2
                                                                      LINE3
    output in attach excel file is : LINE1         LINE2          LINE3
    in attach file it should come line by line.
    source code of my function module is as follows :
    FUNCTION ZXI_SEND_MAIL_WITH_ATTACHMENT.
    ""Local Interface:
    *"  IMPORTING
    *"     REFERENCE(SUBJECT) TYPE  SO_OBJ_DES OPTIONAL
    *"     REFERENCE(ATTACH_NAME1) TYPE  SOOD-OBJDES
    *"     REFERENCE(EXT1) TYPE  SOODK-OBJTP
    *"     REFERENCE(MAIL_ID) TYPE  ADR6-SMTP_ADDR
    *"  TABLES
    *"      IT_CONTENT TYPE  SOLI_TAB OPTIONAL
    *"      IT_ATTACH TYPE  SOLI_TAB OPTIONAL
      DATA: send_request       TYPE REF TO cl_bcs.
      DATA: document           TYPE REF TO cl_document_bcs.
      DATA: sender             TYPE REF TO cl_sapuser_bcs.
      DATA: recipient          TYPE REF TO if_recipient_bcs.
      DATA: exception_info     TYPE REF TO if_os_exception_info,
      bcs_exception      TYPE REF TO cx_document_bcs.
      DATA i_attachment_size TYPE sood-objlen.
    Creates persistent send request
      send_request = cl_bcs=>create_persistent( ).
      TRY.
    *****Create txt mail document**************************
          document = cl_document_bcs=>create_document(
                                        i_type    = 'RAW'
                                        i_text = it_content[]
                                        i_subject = subject ).
    **************Creates Attachment 1***********************
          CALL METHOD document->add_attachment
            EXPORTING
              i_attachment_type    = ext1
              i_attachment_subject = attach_name1
              i_att_content_text   = it_attach[].
    Add document to send request
          CALL METHOD send_request->set_document( document ).
    Get sender object
          sender = cl_sapuser_bcs=>create( sy-uname ).
    Add sender
          CALL METHOD send_request->set_sender
            EXPORTING
              i_sender = sender.
          recipient = cl_cam_address_bcs=>create_internet_address(
                               i_address_string = mail_id ).
          CALL METHOD send_request->add_recipient
            EXPORTING
              i_recipient  = recipient
              i_express    = 'U'
              i_copy       = ' '
              i_blind_copy = ' '
              i_no_forward = ' '.
    **********Trigger e-mails immediately****************************
          send_request->set_send_immediately( 'X' ).
          CALL METHOD send_request->send( ).
          COMMIT WORK.
        CATCH cx_document_bcs INTO bcs_exception.
      ENDTRY.
    ENDFUNCTION.
    please suggest me a solution and thanks in advance.
    Thanks&Regards,
    Sachin

    See the sample code  for sending attachment as Mail
    Mailing with Attachment by ABAP Coding  
    Refer this link:
    Mail with attachment.
    FORM send_list_to_basis .
      DATA: w_path      LIKE rlgrap OCCURS 0 WITH HEADER LINE,
            lt_index    TYPE sy-tabix,
            doc_type(3) TYPE c,
            descr       LIKE it_objpack_basis-obj_descr,
            temp_data   LIKE w_path,
            temp1       TYPE string,
            tab_lines   TYPE i,
            langu(15)   TYPE c,
            expirydate  TYPE so_obj_edt,
            L_FILE1(100).
      CONCATENATE 'C:\' sy-repid '_' sy-datum '.XLS' INTO L_FILE1.
      W_PATH-FILENAME = L_FILE1.
      APPEND w_path.
      CLEAR w_path.
      wa_doc_chng-obj_descr  = 'User List not logged on for 180 days'.
      wa_doc_chng-obj_langu  = 'E'.
      wa_doc_chng-obj_expdat = sy-datum.
      CLEAR w_subject.
      CONCATENATE 'Please find attached document with list of users'
                  'not logged on for 180 days for client' sy-mandt
                  INTO w_subject SEPARATED BY space.
      it_objtxt_basis-line = w_subject.
      APPEND it_objtxt_basis.
      CLEAR it_objtxt_basis.
      it_objtxt_basis-line = text-004.
      APPEND it_objtxt_basis.
      CLEAR it_objtxt_basis.
      CLEAR w_tab_line.
      DESCRIBE TABLE it_objtxt_basis LINES w_tab_line.
      READ TABLE it_objtxt_basis INDEX w_tab_line  INTO l_cline.
      wa_doc_chng-doc_size =
       ( w_tab_line - 1 ) * 255 + STRLEN( l_cline ).
      CLEAR it_objpack_basis-transf_bin.
      it_objpack_basis-head_start = 1.
      it_objpack_basis-head_num   = 0.
      it_objpack_basis-body_start = 1.
      it_objpack_basis-body_num   = w_tab_line.
      it_objpack_basis-doc_type   = 'RAW'.
      APPEND it_objpack_basis.
      CLEAR it_objpack_basis.
      LOOP AT w_path.
        temp1 = w_path.
        descr = w_path.
        CALL FUNCTION 'STRING_REVERSE'
          EXPORTING
            string  = descr
            lang    = 'E'
          IMPORTING
            rstring = descr.
        CALL FUNCTION 'STRING_SPLIT'
          EXPORTING
            delimiter = '\'
            string    = descr
          IMPORTING
            head      = descr
            tail      = temp_data.
        CALL FUNCTION 'STRING_REVERSE'
          EXPORTING
            string  = descr
            lang    = 'E'
          IMPORTING
            rstring = descr.
        CALL FUNCTION 'STRING_SPLIT'
          EXPORTING
            delimiter = '.'
            string    = descr
          IMPORTING
            head      = temp_data
            tail      = doc_type.
        CALL FUNCTION 'GUI_UPLOAD'
          EXPORTING
            filename      = temp1
            filetype      = 'BIN'
            header_length = 0
            read_by_line  = 'X'
            replacement   = '#'
          TABLES
            data_tab      = it_upload.
        DESCRIBE TABLE it_upload LINES tab_lines.
        DESCRIBE TABLE it_objbin_basis LINES lt_index.
        lt_index = lt_index + 1.
        LOOP AT it_upload.
          wa_objbin_basis-line = it_upload-line.
          APPEND wa_objbin_basis TO it_objbin_basis.
          CLEAR wa_objbin_basis.
        ENDLOOP.
        it_objpack_basis-transf_bin = 'X'.
        it_objpack_basis-head_start = 0.
        it_objpack_basis-head_num   = 0.
        it_objpack_basis-body_start = lt_index.
        it_objpack_basis-body_num   = tab_lines.
        it_objpack_basis-doc_type   = doc_type.
        it_objpack_basis-obj_descr  = descr.
        it_objpack_basis-doc_size   = tab_lines * 255.
        APPEND it_objpack_basis.
        CLEAR it_objpack_basis.
      ENDLOOP.
      it_reclist_basis-receiver = '[email protected]'.
      it_reclist_basis-rec_type = 'U'.
      APPEND it_reclist_basis.
      CLEAR it_reclist_basis.
      CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
        EXPORTING
          document_data              = wa_doc_chng
          put_in_outbox              = 'X'
          commit_work                = 'X'
        TABLES
          packing_list               = it_objpack_basis
          contents_txt               = it_objtxt_basis
          contents_bin               = it_objbin_basis
          receivers                  = it_reclist_basis
        EXCEPTIONS
          too_many_receivers         = 1
          document_not_sent          = 2
          operation_no_authorization = 4
          OTHERS                     = 99.
      IF sy-subrc EQ 0.
        SUBMIT rsconn01 WITH mode = 'INT' AND RETURN.
      ENDIF.
    ENDFORM.                    " send_list_to_basis
    Reward points if useful
    Regards
    Anji

  • Sending email with excel attachment from an ABAP report

    Hello All,
    I am using the function module SO_DOCUMENT_SEND_API1 to send an e-mail with an excel attachment.
    The code works fine for  less than 255 characters in each row of excel file.But for more than 255 characters , the excel file received has data upto 255 characters only.
    Can someone please suggest how to send excel file with more than 255 characters in each row ?
    Regards,
    KK

    check below code
    FORM excelrep .
      DATA :l_syuzeit TYPE sy-uzeit,
            l_time(5) TYPE c,
            l_ampm(2) TYPE c,
            l_subject(255) TYPE c.
      CLEAR t_xls.
      REFRESH t_xls.
      l_syuzeit = sy-uzeit.
      IF t_final_data1[] IS NOT INITIAL.
        PERFORM fill_header.
        LOOP AT t_final_data1 WHERE status NE space.
          t_xls-jobname = t_final_data1-jobname.
          WRITE t_final_data1-act_start_date TO t_xls-act_start_date.
          WRITE t_final_data1-est_start_time TO t_xls-est_start_time.
          WRITE t_final_data1-act_start_time TO t_xls-act_start_time.
          WRITE t_final_data1-est_end_time TO t_xls-est_end_time.
          WRITE t_final_data1-act_end_time TO t_xls-act_end_time.
          t_xls-est_duration = t_final_data1-est_duration.
          t_xls-act_duration = t_final_data1-duration.
          t_xls-status = t_final_data1-comment.
          t_xls-process = t_final_data1-desc.
          t_xls-fill10 = c_0d.
          t_xls-fill1 = c_09.
          t_xls-fill2 = c_09.
          t_xls-fill3 = c_09.
          t_xls-fill4 = c_09.
          t_xls-fill5 = c_09.
          t_xls-fill6 = c_09.
          t_xls-fill7 = c_09.
          t_xls-fill8 = c_09.
          t_xls-fill9 = c_09.
          APPEND t_xls.
          CLEAR t_xls.
        ENDLOOP.
        l_ampm = c_am.
        IF l_syuzeit GT c_125959.
          l_syuzeit = l_syuzeit - c_120000.
          l_ampm = c_pm.
        ELSEIF l_syuzeit GT c_120000.
          l_ampm = c_pm.
        ELSEIF l_syuzeit LT c_010000.
          l_syuzeit = l_syuzeit + c_120000.
          l_ampm = c_am.
        ENDIF.
        WRITE l_syuzeit TO l_time USING EDIT MASK c_edmask.
        CONCATENATE text-070 l_time l_ampm INTO l_subject
                                      SEPARATED BY space.
        CLEAR w_doc_chng.
        w_doc_chng-obj_name = l_subject.
        w_doc_chng-obj_descr = l_subject.
        CLEAR t_objtxt.
        REFRESH t_objtxt.
        t_objtxt = text-068.
        APPEND t_objtxt.
        CLEAR t_objtxt.
        t_objtxt = space.
        APPEND t_objtxt.
        CLEAR t_objtxt.
        t_objtxt = text-069.
        APPEND t_objtxt.
        CLEAR t_objtxt.
        t_objtxt = space.
        APPEND t_objtxt.
        CLEAR t_objtxt.
        MOVE w_sysinfo TO t_objtxt.
        APPEND t_objtxt.
        CLEAR t_objtxt.
        t_objtxt = space.
        APPEND t_objtxt.
        CLEAR t_objtxt.
        CLEAR w_tab_lines.
        DESCRIBE TABLE t_objtxt LINES w_tab_lines.
        w_doc_chng-doc_size = w_tab_lines * c_255.
        CLEAR t_objpack.
        REFRESH t_objpack.
        t_objpack-body_start = c_1.
        t_objpack-body_num = w_tab_lines * c_255.
        t_objpack-doc_type = c_txt.
        APPEND t_objpack.
        CLEAR t_objpack.
        CLEAR t_objbin.
        REFRESH t_objbin.
        LOOP AT t_xls.
          t_objbin = t_xls.
          APPEND t_objbin.
          CLEAR t_objbin.
        ENDLOOP.
        CLEAR w_tab_lines.
        DESCRIBE TABLE t_objbin LINES w_tab_lines.
        CLEAR l_subject.
        CONCATENATE text-083 sy-datum l_time l_ampm INTO l_subject
                    SEPARATED BY c_uscore.
        CLEAR t_objhead.
        REFRESH t_objhead.
        t_objhead = l_subject.
        APPEND t_objhead.
        CLEAR t_objhead.
        t_objpack-transf_bin = c_x.
        t_objpack-head_start = c_1.
        t_objpack-head_num = c_1.
        t_objpack-body_start = c_1.
        t_objpack-body_num = w_tab_lines.
        t_objpack-doc_type = c_xls.
        t_objpack-obj_name = text-070.
        t_objpack-obj_descr = text-070.
        t_objpack-doc_size = w_tab_lines * c_255.
        t_objpack-mess_type =  space.
        APPEND t_objpack.
        CLEAR t_objpack.
        CLEAR t_reclist.
        REFRESH t_reclist.
        IF s_email[] IS NOT INITIAL.
          LOOP AT s_email.
            t_reclist-receiver = s_email-low.
            t_reclist-rec_type = c_u.
            APPEND t_reclist.
            CLEAR t_reclist.
          ENDLOOP.
        ENDIF.
        PERFORM mail_report.
      ELSE.
        MESSAGE e015 WITH text-072.
      ENDIF.
      CLEAR : w_doc_chng,
              t_objpack,
              t_objhead,
              t_objbin,
              t_objtxt.
      REFRESH : t_objpack,
                t_objhead,
                t_objbin,
                t_objtxt,
                t_reclist.
    ENDFORM.                    " excelrep_criticaljobs
    *&      Form  mail_report
          text
    -->  p1        text
    <--  p2        text
    FORM mail_report .
      CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
        EXPORTING
          document_data              = w_doc_chng
          commit_work                = c_x
        TABLES
          packing_list               = t_objpack
          object_header              = t_objhead
          contents_bin               = t_objbin
          contents_txt               = t_objtxt
          receivers                  = t_reclist
        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.
      IF sy-subrc NE 0.
        CASE sy-subrc.
          WHEN 1.
            MESSAGE i015 WITH text-071.
          WHEN 2.
            MESSAGE i015 WITH text-072.
          WHEN 4.
            MESSAGE i015 WITH text-073.
          WHEN OTHERS.
            MESSAGE i015 WITH text-074.
        ENDCASE.
      ELSE.
        MESSAGE s015 WITH text-081.
      ENDIF.
    ENDFORM.                    " mail_report

  • Problem with PDF Attachment (from GOS)

    Hi Experts,
    Below is the code in a ZFM. We are trying to get GOS attachments and the same are to be sent to SAP Inbox through Workitem. When we executed, the attachment is being shown but couldn't be opened.  It's throwing an error as 'The file has been damaged'.
    As per my understanding, we are getting PDF file into lt_object_content_l and we are trying to convert that to binary file and send the same to SAP_WAPI_ATTACHMENT_ADD.
    FUNCTION ztest_service_atta.
    *"*"Local Interface:
    *"  IMPORTING
    *"     REFERENCE(IV_WORKITEMID) TYPE  SWW_WIID OPTIONAL
    *"     REFERENCE(IV_PERNR) TYPE  PERSNO
    *"     REFERENCE(IV_REINR) TYPE  REINR
    *"  EXPORTING
    *"     REFERENCE(ES_ATT_ID) TYPE  SWR_ATT_ID
    *"  EXCEPTIONS
    *"      ATTACH_FAILED
      DATA: gs_att_header TYPE swr_att_header.
      DATA: ls_lpor TYPE sibflporb,
      lt_lpor LIKE TABLE OF ls_lpor,
      ls_option TYPE obl_s_relt,
      lt_option TYPE obl_t_relt,
      ls_rol_op TYPE obl_s_rolt,
      lt_rol_op TYPE obl_t_rolt,
      ls_links TYPE obl_s_link,
      lt_links TYPE obl_t_link,
      ls_folder TYPE soodk,
      ls_object TYPE soodk,
      ls_obj_hd TYPE sood2,
      lt_object_content_l TYPE TABLE OF solisti1,
      ls_object_content_l TYPE solisti1,
      lt_obj_cont TYPE TABLE OF soli.
    * Work areas
      DATA: lwa_doc_data        LIKE sodocchgi1,
            lwa_document_data   LIKE sofolenti1,
            lv_document_id      TYPE sofolenti1-doc_id,
            lwa_links           LIKE LINE OF lt_links,
            lwa_object          TYPE borident,
            ev_binfile TYPE xstring.
      FIELD-SYMBOLS <p> TYPE x.
      ls_lpor-instid = '000011110000000123'.
      ls_lpor-typeid = 'BUS2089'.
      ls_lpor-catid = 'BO'.
      APPEND ls_lpor TO lt_lpor.
      ls_option-sign = 'I'.
      ls_option-option = 'EQ'.
      ls_option-low = 'ATTA'.
      APPEND ls_option TO lt_option.
      ls_rol_op-sign = 'I'.
      ls_rol_op-option = 'EQ'.
      ls_rol_op-low = 'GOSAPPLOBJ'.
      APPEND ls_rol_op TO lt_rol_op.
      CALL METHOD cl_binary_relation=>read_links
        EXPORTING
          is_object           = ls_lpor
          it_relation_options = lt_option
          it_role_options     = lt_rol_op
        IMPORTING
          et_links            = lt_links.
    * Process the attachment list
      LOOP AT lt_links INTO ls_links.
        lv_document_id = ls_links-instid_b.
    * Read the data
        CALL FUNCTION 'SO_DOCUMENT_READ_API1'
          EXPORTING
            document_id                = lv_document_id
          IMPORTING
            document_data              = lwa_document_data
          TABLES
            object_content             = lt_object_content_l
          EXCEPTIONS
            document_id_not_exist      = 1
            operation_no_authorization = 2
            x_error                    = 3
            OTHERS                     = 4.
      ENDLOOP.
      LOOP AT lt_object_content_l INTO ls_object_content_l.
        ASSIGN ls_object_content_l TO <p> CASTING.
        CONCATENATE ev_binfile <p> INTO ev_binfile IN BYTE MODE.
      ENDLOOP.
      IF ev_binfile IS NOT INITIAL AND iv_workitemid IS NOT INITIAL.
        gs_att_header-file_type       = 'B'.
        gs_att_header-file_extension  = 'PDF'.
        gs_att_header-language        = 'EN'.
        gs_att_header-file_name       = 'Scanned Atta.PDF'.
        CALL FUNCTION 'SAP_WAPI_ATTACHMENT_ADD'
          EXPORTING
            workitem_id = iv_workitemid
            att_header  = gs_att_header
            att_bin     = ev_binfile
            do_commit   = 'X'
          IMPORTING
            att_id      = es_att_id.
        IF es_att_id IS INITIAL.
          RAISE attach_failed.
        ENDIF.
      ENDIF.
    ENDFUNCTION.
    Can somebody please tell me if I went somewhere wrong. What I feel is, it's because of the PDF file being 255 chars. As I have got the PDF file but not OTF, how can I convert that ot be of 132 chars. Whatever, is the problem due to this reason only?
    Can somebody please tell me where I have gone wrong. Your help is highly appreciable.
    Thanks

    Solved. Instead of converting object_content, I got contents_hex also and converted that as below:
    CALL FUNCTION 'SO_DOCUMENT_READ_API1'
          EXPORTING
            document_id                = lv_document_id
          IMPORTING
            document_data              = lwa_document_data
          TABLES
            object_content             = lt_object_content_l
            contents_hex               = lt_hex_cont
          EXCEPTIONS
            document_id_not_exist      = 1
            operation_no_authorization = 2
            x_error                    = 3
            OTHERS                     = 4.
      LOOP AT lt_hex_cont INTO ls_hex_cont.
        ASSIGN ls_hex_cont TO <p> CASTING.
        CONCATENATE ev_binfile <p> INTO ev_binfile IN BYTE MODE.
      ENDLOOP.

Maybe you are looking for

  • I have songs with ratings in my 'Unrated' playlist

    I have songs with ratings in my 'Unrated' plylist. I have 650 songs in my "Unrated' playlists, however 73 of these songs do have ratings. I trid to shift the 5 and 4 star rated into 'My top rated', but they will not shift. Can anybody help? Keep smil

  • Error when create a set of recovery disc . In HP Pavilion G6-2103TU Laptop

    Dear friends.               when i create a set of  recovery disc in DVD-R.Error  occur (we are experiencing errors in recovery media  creation.tray again ).  Two  disc already create at 3rd disc  this problem facing.helps me. jyoti prakash Jyoti pra

  • LiveCycle ES4 Output Watermark Transparency Warning

    Hello, I am running into a warning during my PDF assembly and output process.  The warning seems to exist for every page of the PDF document having a watermark.  Here is the logging entries that can be found in the server.log file on our output serve

  • REUSE_ALV_GRID_DISPLAY - layout variant

    Hi all I am working with REUSE_ALV_GRID_DISPLAY function module. For layout variant I using the below code parameters: variant LIKE disvariant-variant. * POV for Layout at selection-screen on value-request for variant. g_save = 'A'. clear g_variant.

  • New Mac Os X cd. help

    I acidentally broke My mac os X cd 1. To deal with this I called apple support and ordered a replacement cd. After installing os X with my new cd I find that my macbook pro doesnt recognize my keyboard and i sight. The keyboard works and isight using