Workflow Question...How to Save as JPEG after Sending to Elements?

i understand how to export files right from lightroom and save them as jpegs...but i have a related question i haven't found the answer to...
let's say i do some post processing in lightroom but want to do a couple of things in elements afterwards. i understand how to get the worked on image into elements (photo--edit in), but the file that is now in elements cannot be saved as a jpeg...is there a step i am missing, or do i have to get that image back into lightroom to then export out as a jpeg? if so how do you get the reworked file back into lightroom with the elements changes still intact? thanks.

You don't give details about "the file that is now in elements cannot be saved as a jpeg", but it's likely what's happening is this:
You give the Photo > Edit In command, and LR opens the Edit Photo With Photoshop Elements options window. You select one of the Edit A Copy options, and the Copy File Options in that window specify TIFF with a Bit Depth of 16 bits, so a 16-bit TIFF gets opened in PSE.  PSE can't save a 16-bit TIFF as a JPEG, so you don't see JPEG as an option in the File > Save As command.
Some options:
1. In PSE, do Image > Mode > 8 Bits to convert the TIFF to 8 bits/pixel.  Then you can do File > Save As to save the image as a JPEG.  You'll then need to import that JPEG into your catalog (or use Synchronize Folder), and you'll probably want to delete the TIFF copy that was created and sent to PSE.
2. In PSE, just do Save, which will save your changes in the TIFF copy that LR created.  You can export that TIFF as a JPEG and import it back into your catalog in one step by setting the Add To This Catalog option in the Export window (you might want to check the Add To Stack option also).  You could define an Export preset called "Export as JPEG into catalog" that captures these export settings for convenient one-click use.   You'll have to manually delete the TIFF copy that was created and sent to PSE.

Similar Messages

  • How to Delete imported JPEGS after matching RAW files are imported as masters

    Using a 5D Mark III and shoot JPEG (SD) and RAW (CF).
    Aperture 3.5.1, using a managed library
    Perviously, using a 7D so new to shooting JPEG and RAWs from an aperture Aperture workflow standpoint.
    I know that i can import the JPEGs > delete images that do not make the cut > then import the matching RAW files in the import dialogue that correspond to the JPEGs in the Aperture Library.
    I use the RAW files as my Camera Master images and once the RAW files are imported, the smaller resolution JPEGs are no longer needed or viewed in my normal edit workflow.  I only need the JPEGs to quickly go through the images to find out which RAW files i need to import at a later time to increase the speed of import > edit > deliver.
    My Assumptions:
    1.  Logic would lead me to believe that after import the user should see a stack like image representation with whatever file type is considered Master to be on top and the viewable secondary file type on the bottom.  clicking on the image stack should allow you to see both file types as you would normally see with image stacks with the same files types.  This is not the case...  What am i missing here?
    2.  Logic again would lead me to believe that when i have the ability to delete one of the 2 image types as i do not need both in the end.  After the import process is complete and RAWs are backed up, I want to delete the JPEG files as they are just taking up more space on my DAS drive array...  There is no need to keep a duplicate of every file in both JPEG and RAW format.  This is not the case as when i delete the JPEG or RAW, both files formats are deleted simultaneously.  What am i missing here?
    Problems: (correspond to Assumptions above)
    1.  I do not seem to have access to both images (JPEG & RAW) in a stack where i can expand and close the stack to see both?  It seems like i only have access to the image type i have selected as Master?  This seems counter intuitive to what the workflow should be as why would aperture 'lock the secondary file types away' so you can't easily view both file types as the same time for comparison?
    2a.  Reality seems to be that i do not have access to the JPEG and RAW image files.  I can only see one at a time by selecting the images and choosing 'make JPEG master’ and then respectively... 'make RAW master', but you can't see both at the same time for file comparison.
    2b.  Also, I can't find a way to delete the JPEG images after the RAW files have been imported.  I would presume most professional photographers shoot RAW and do not shoot JPEG as their camera master or editing master images.  I do not understand why aperture has captured both as a pair in the library that does not allow me to delete the JPEG (in this case) as i have selected the RAW as my master.
    If someone can please help...  The function seems like either i am missing something obvious or that the implemented function of using RAW + JPEGs files for import is broken from a real world workflow standpoint.

    leonie...
    thank you for clearing that up for me.
    I think that at this point it is silly to use the JPEG+RAW import functionality as it seems that it takes longer to do the above steps than to just import only the RAW files and press on from there.
    I seems what i have done in the past of only importing the RAW files and then using the quick preview functionality to reduce image load times is the best thing in can come up with without keeping 'duplicates' in the database.
    That really baffels me that there is no built in functionality to remove the JPEG from a RAW+JPEG pair and i wonder how the real world photographers who help Apple test and implement software to solve real world workflow problems thought the JPEG+RAW import was going to be used.
    I do understand that i can use a smaller JPEG file size to reduce the bloat of the database, but used over hundreds of thousands of images is certainly going to make a dent in my total aperture database size and therefore storage needs down the road.
    If you have any other workflow thoughts, or know of a 3rd party plugin/ etc... to fix this obvious shortcoming then i am all ears..
    thank you again Leonie and have a great week

  • How to import a jpeg image into premier elements 12?

    how do  i import a jpeg image into premier elements 12?

    chuckx
    Just for background information, what computer operating system is your Premiere Elements 12 running on?
    The generalized answer is Add Media/Files and Folders/Projects Assets from where you drag the photo to the Expert view Timeline.
    But all that can generate a mountain of questions about the photo and the project into which it will be going
    a. what are the pixel dimensions of the photo - will or will I not have to resize or crop/resize the photo for the project
    b. is the photo going into a project that will consist of photos and videos
    c. if video inclusion, that leads to questions about the properties of the video so that you can set the project preset to match those
    d. that leads to questions on the best size to have your photo before you import them into this project.
    So, one simple question generates a lot of side questions.
    Please let us know how we might help to sort out the details for your Premiere Elements workflow and its source media.
    Thank you.
    ATr

  • HT5312 when you forget your security question how do you ask  apple to send u the answer

    If I forgot my security question how can i let apple send me the answer on my email

    You need to ask Apple to reset your security questions; ways of contacting them include phoning AppleCare and asking for the Account Security team, clicking here and picking a method for your country, and filling out and submitting this form.
    (104086)

  • Question: How do I retrieve values after creating an autofilter.

    So the question is sort of simple but my code is below, this is my first time really running in VBA but it isn't so far all to dissimilar to LotusScript which I am a bit more knowledgeable in. What I am trying to do is retrieve values from the filtered information,
    or more simply, I am trying to retrieve values from two cells in the spreadsheet that I want move together.
    As noted below one of them is a countries field which simply concatenates the country string with the duplicates with the same first column (A#) fields. 
    Example 123 .. UK
                  123 .. US
                  123 .. CA
    The output stored in countries would be UK,US,CA and posted to sheet3.
    Sub proFirst()
    Dim wSheet As Worksheet
    Dim columnCount As Integer
    Dim rowCount As Long
    Dim testVar As Long
    Dim coll As New Collection, a
    Dim Assignee() As String
    Dim tmpList() As String
    Dim newVar As Variant
    Dim dict As Object
    Const rowDataBegin = 2
    Dim count As Long
    rowCount = Sheets("Sheet1").UsedRange.Rows.count
    columnCount = Sheets("Sheet1").UsedRange.Columns.count
    '** This Cleans up the filtering to ensure all data is viewable before we begin **
    Sheets("Sheet1").Activate
    If (ActiveSheet.AutoFilterMode And ActiveSheet.FilterMode) Or ActiveSheet.FilterMode Then
      ActiveSheet.ShowAllData
    End If
    Sheets("Sheet3").Activate
    If (ActiveSheet.AutoFilterMode And ActiveSheet.FilterMode) Or ActiveSheet.FilterMode Then
      ActiveSheet.ShowAllData
    End If
    '** This sets a filter to filter by column O which is designated as Submitted Date  **
    Sheets("Sheet1").Columns("A:S").AutoFilter Field:=15, Criteria1:="<>"
    '** This block copuies and pastes the values we need for the final report however   **
    '** this is not a permenent viewable format for the report, a recut may be required **
    Application.CutCopyMode = False
    rowCount = Sheets("Sheet1").UsedRange.Rows.count
    Sheets("Sheet1").Range("A1:D" & rowCount).Copy Sheets("Sheet3").Range("A1:D" & rowCount)
    Application.CutCopyMode = False
    Sheets("Sheet1").Range("J1:J" & rowCount).Copy Sheets("Sheet3").Range("H1:H" & rowCount)
    Application.CutCopyMode = False
    Sheets("Sheet1").Range("O1:O" & rowCount).Copy Sheets("Sheet3").Range("I1:I" & rowCount)
    Application.CutCopyMode = False
    'loops through the first column and acquires all of the data and generates as string array
    rowCount = Sheets("Sheet3").UsedRange.Rows.count
    columnCount = Sheets("Sheet3").UsedRange.Columns.count
    ReDim Assignee(rowCount)
    ReDim tmpList(rowCount) 'helper variant to make it smoother for recall of lines
    For i = rowDataBegin To rowCount
        Assignee(i - rowDataBegin) = CStr(Sheets("Sheet3").Cells(i, 1).Value)
        tmpList(i - rowDataBegin) = rowCount
    Next i
    Set dict = CreateObject("Scripting.Dictionary")
    For i = LBound(Assignee) To UBound(Assignee)
       If dict.exists(Assignee(i)) Then
            dict.Item(Assignee(i)) = dict.Item(Assignee(i)) + 1
             Else
            dict.Add Assignee(i), 1
        End If
       Next i
    Sheets("Sheet3").Range("$A$1:$I$" + CStr(rowCount)).RemoveDuplicates Columns:=1, Header:=xlYes
    rowCount = 2
    Application.Workbooks(1).Worksheets("Sheet3").Activate
    '** Header values Change as needed                                                             
    Sheets("Sheet3").Cells(1, 5).Value = "Completed Global Questionnaire? (Yes or No)"
    Sheets("Sheet3").Cells(1, 6).Value = "Number of Countries"
    Sheets("Sheet3").Cells(1, 7).Value = "Name of Countries Submitted"
    For Each v In dict.keys
    If dict.Item(v) > 0 And v <> "" Then
    Sheets("Sheet3").Cells(rowCount, 6).Value = dict.Item(v)
    rowCount = rowCount + 1
    End If
    Next v
    Sheets("Sheet3").Columns("A:I").AutoFilter Field:=6, Criteria1:=">1", _
            Operator:=xlAnd
    '** BEGIN TESTING AREA
    '** Stage 2 Test Complete - able to retrieve a list of how many rows are in use
    '** Stage 3 test - retrieve countries
    Sheets("Sheet1").Activate
    count = 2
    For Each v In dict.keys
    countries = ""
    rowCount = 0
    If dict.Item(v) > 1 Then
        With ActiveSheet
           Set rnData = .UsedRange
            With rnData
                .AutoFilter Field:=1, Criteria1:=v
               .Select
                'xlCellTypeVisible = 12
                 For Each rngArea In .SpecialCells(xlCellTypeVisible).Areas
                 tmp = .SpecialCells(xlCellTypeVisible).Rows
                Next
                For Z = 2 To rowCount
                    If countries = "" Then
                        countries = .Range("I" & Z).Value
                    Else
                        countries = countries & ", " & .Range("I" & Z).Value
                    End If
                Next Z
            End With
        End With
         Sheets("Sheet3").Cells(count, 7).Value = countries
    End If
    count = count + 1
    Next v
    '**  Testing block              **
    Sheets("Sheet3").Columns("A:I").AutoFit
    MsgBox "End loop"
                                                

    The code below is only semi-tested but it should give you the idea of how to loop through the visible data of an AutoFiltered Range. You can't use code like "For r = 2 to Rows.Count" because the code stops after the first non contiguous row. However,
    you can use For Each loop to loop through the rows and get the row number from there.
    An explanation of the code to set rngVisible. (Note that a space and underscore at the end of a line is a line break in an otherwise single line of code.)
    With .AutoFilter.Range   This is the entire AutoFilter Range (Includes column headers, visible and non visible rows)
     .Offset(1, 0)     Moves down one row off the column headers but now includes an additional row at the bottom below the data. (Still includes visible and non visible rows)
     .Resize(.Rows.Count - 1, .Columns.Count)     Removes the additional row due to Offset (Still includes visible and non visible rows)
    .SpecialCells(xlCellTypeVisible)      Only include the visible rows.
        Sheets("Sheet1").Activate
        For Each v In dict.keys
            countries = ""
            If dict.Item(v) > 1 Then
                With ActiveSheet
                    Set rnData = .UsedRange
                    With rnData
                        .AutoFilter Field:=1, Criteria1:=v
                    End With
                    'Note that AutoFilter.Range is an inbuilt object variable _
                    for the entire range covered by the AutoFilter
                    With .AutoFilter.Range
                        'Following tests if any rows (other than column header) are visible _
                        in the AutoFilter.Range.  If > 1 then more than just column headers. _
                        Attempting to set the rngVisible will error if not at least one row _
                        of visible data.
                        If .Columns(1).SpecialCells(xlCellTypeVisible).Cells.Count > 1 Then
                            'Assign the visible data to a range variable
                            Set rngVisible = .Offset(1, 0) _
                                       .Resize(.Rows.Count - 1, .Columns.Count) _
                                       .SpecialCells(xlCellTypeVisible)
                        Else
                            MsgBox "No visible data. Procesing terminated."
                            'Left for you to handle what you want to do if the _
                             filter does not exist in the data and no visible rows present
                            Exit Sub
                        End If
                    End With
                    'Loop through the rows of rngVisible
                    'and get the row numbers
                    For Each rngRow In rngVisible.Rows
                        Z = rngRow.Row
                        If countries = "" Then
                           countries = .Range("I" & Z).Value
                        Else
                           countries = countries & ", " & .Range("I" & Z).Value
                        End If
                    Next rngRow
                End With
            End If
        Next v
    Regards, OssieMac

  • Workflow Questions - How to execute the steps in a workflow automatically?

    I am using MDM 5.5 SP6.
    My Question is how to execute the steps in the workflow automatically. That means NO user interaction.
    I have a simple workflow, Start- Process -- Syndicate -  Stop.
    When a new record added /updated/inserted this workflow will start automatically.  The workflow inbox, the workflow status is u2018Receivedu2019 Step is u2018Processu2019.  Now I have to right click on the record then u2018Next Stepu2019 then click on u2018Syndicateu2019 then workflow completes automatically.
    How to execute the Syndication step automatically?.  I donu2019t want to have any user interaction to syndicate these records.
    Is this possible?
    The reason for this is I want to do some field validation and based on the field validation some assignments then then I want  to syndicate these records without user interaction..

    Hi,
    If you want to do some validations and then based on result assignments on some of the fields before syndicating, then you have to use workflow. Only syndication server will not fulfill this requirement.
    you may try by making validation's automatic property as "Error". This way it will not allow to add any record not fulfilling validation. You can also try using calculated fields instead of assignment.
    I am not sure if you can make your workflow fully automatic, because atleast one process step is must for any workflow, and process step means user action.
    Regards,
    Shiv

  • Newbie question - how to save images out of an fla file

    I have what I'm sure is a very basic flash question. I have a flash movie (swf) and the accompanying fla file. I can open the fla file, and see all the images used in the file (symbols in the library), but how can I export or save one of these images separately from flash?

    you can right click, copy an image and then paste it into your choice of photoediting software.

  • How To Save Modified Fields After query From The Database

    I Have This Customer Information Form That's Sort of an Ordering Forms , I Made It By LiveCycle v9.0
    And I Want To be able to search for Specific Record and Modify it and Save It Again to The DataBase
    I believe That We All Saw The (( Data Connected Forms Presentation )) For Pual Guerette
    At One Part Of The Presentation (Minute 0:26:00 specifically) When He Try To Search A Specific Record In the Database
    And He Got all this annoying Messages Then The Record what He looking Shows up ; He Said That We No Longer able to Modify The Record After We Doing the Search
    My First Question Is Why ???
    Is there anyway After I got that Specific Record I Want from the Database I Can make my modification on it and update it Back in the DB.
    OR i Have to Browse the whole DB looking for it Specially that I got this (ID Auto Increasment Number field Issue) Which leads me to ;
    My Second Qustion;
    Why I Can't just connect ''The Form Order Number'' to an Auto Increasment Number field in the DB
    Obviously i can't, So Can I do Anything to achieve this goal ??
    I Believe that we can Find some scripting to make that Happen 
    I Will Be So Grateful If There Is Any Helpful Answer
    FYI: I'm Not Java Expert So If There Is any Coding That's Can be Helpful Please POST ALL OF IT if you can ,,,,

    Hi,
    The information there is excellent and I would strongly recommend it.
    I don't have any public database examples and I am not inclined to spend time preparing an example if you are not prepared to read up on the methods.
    Stefan's site is the only link I have for databases.
    Good luck,
    Niall

  • How to save a chart after each iteration in a for loop?

    Hello,
    I have written code which initializes a spectrometer. Once initialized, if the "Capture" button is pushed, the spectrometer takes a new spectrum three times (see for loop) every second. This spectrum is displayed as a chart in my front panel. My code runs fine...it will update the spectrum every second.
    However, I want to be able to save each of these three iterations as separate graphs. Basically, I want to click "Capture" and have my code save three charts to a specified folder. How do I go about doing this?
    I've attached my VI.
    Thanks.
    Solved!
    Go to Solution.
    Attachments:
    Spectrometer Iteration.vi ‏444 KB

    Use Build Array to make a 2D Array of your X and Y data and use Write To Spreadsheet File to save the data.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • How to save PDF's after opening them in Safari.

    I try to safe the PDF ( a syllabus for college) and even though the shows an icon that looks like an arrow pointing down to a computer screen, clicking the icon does nothing. So i was wondring how do I save it to a folder in my Mac?

    If you have the original link to the PDF file, you can right click it, and select "Save Linked File As.." to save it (:
    If you don't have the original link, you can copy the web address (usually "http://......nameofyourpdffile.pdf" If it is, copy the whole web address, post it on a random website as a hyperlink, then do the right click method!\
    Hope this helped!

  • How to save output image after IMAQ-FFT to the file

    When I apply IMAQ FFT on monochromatic image and display complex destination image by IMAQ WindDraw, I get picture which I am not able to save to the file. I tried various conversions from complex image to bitmap (array), but result was everytime different from that got by IMAQ WindDraw.
    I thank for any help.

    Hallo Filip,
    you cannot save Complex Image to file to be readable by other programs - see link: http://digital.ni.com/public.nsf/websearch/D557B1A79C30AD5F86256AB1006A678A?OpenDocument
    What you can do is convert Complex Image to 8-bits BMP file format and save it then. This question was answered already - see example at: http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=B45EACE3ECED56A4E034080020E74861&p_node=DZ52000_US&p_source=External
    Hope this helps
    Pavel

  • How to save your photos after upgrading to iOS 6 OTA and stuck in DFU or Recovery Mode

    Ive been working on this all day. I found somebody's JAR that is able to provide SSH acess into your phone even if you are stuck in recovery or dfu mode. I am running a macbook pro with win 64 bootcamp and couldnt get itunes 32 bit installed to work with the JAR so I restarted in MacOS rather than mucking around with getting itunes 32. I then clicked the JAR and mac asked to install a java runtime. After doing this, the JAR would run and eventually put my phone into a state where I could SSH into it. After that, I downloaded Cyberduck and copied /mnt1 and /mnt2 to my mac in case I needed anything off of these. I ran PhotoRec and it began to find tons of pictures, pdfs, and whatnor. Rather than wait for it to find the stuff I really wanted, I searched through /mnt2/mobile/media/dcim/ and got all my pics. Awesome. What a pain.
    That took all day to figure out. Ugh.

    Sorry, the link to the JAR is http://www.ifans.com/forums/threads/ssh-working-on-ios-6.377392/

  • How to save the image after converting it into 64RGB

    Hello every one,
    I am trying to save the output image of 64RGB on my computer. Is this possible? I had a go and could not do it. Can some one look at my code please. 
    Regards,
    Lazer
    Solved!
    Go to Solution.
    Attachments:
    Save 64 RGB image.vi ‏91 KB
    1800s.jpg ‏8 KB

    Have a look at the following:
    Adnan Zafar
    Certified LabVIEW Architect
    Coleman Technologies

  • How to save the changes after drill down

    hi guys,
    It could be great help if any body suggest me on this....I always use it modification and it takes me time to built it (through drill down , swap...). But every time I get out - I need to rebuilt it. Can
    You tell me, must be a way to save my modificated bex analyser for my use.
    Regards,
    Preety

    Hi,
    Create additional sheetes in the workbook and embed the query and drilldown to your required drilldowns. This will retain the navigation sheet for the new worksheets.
    Thanks
    Sundar

  • How to save ALV list  and send listoutput as email in background process

    Can anyone tell me if an ALV list report could be saved as LIST using 'LIST_TO_MEMORY' and then by using 'LIST_FROM_MEMORY' we need to read the list. If so How?
    I don't want to use 'Submit....exporting list to memory and return' as then I have to trigger my program twice.
    Finally with one program itself i want to get the listoutput and send the list output as an email to the customer in background.
    I have gone through the forums and could see many of them facing the same problem, but could not find the solution in the forums.
    Waiting for a reply
    Santhoshi

    if you want to send mail with the same data as you display in ALV, you can use the same internal table,which you sent to ALV_LIST_DISPLAY function module.
    take the email ids from the user on the selection-screen & use the below code to send mail to them.
    call this FORM F_SEND_MAIL before you called the ALV function module.
    FORM F_SEND_MAIL .
      CLEAR WA_RECLIST.
      REFRESH IT_RECLIST.
    *-popualate email ids
    *--Receipient 1
    this receipient can be select-option from the selection screen. or can be hardcoded as below.
      WA_RECLIST-RECEIVER = '[email protected]'.
      WA_RECLIST-REC_TYPE = C_U.
      WA_RECLIST-EXPRESS  = C_X.
    *--append receiver table
      APPEND WA_RECLIST TO IT_RECLIST.
      CLEAR : WA_RECLIST.
    *--Receipient 2
      WA_RECLIST-RECEIVER = '[email protected]'.
      WA_RECLIST-REC_TYPE = C_U.
      WA_RECLIST-EXPRESS  = C_X.
    *-append receiver table
      APPEND WA_RECLIST TO IT_RECLIST.
      CLEAR : WA_RECLIST.
    *--populate document attributes
      CLEAR: X_DOC_CHNG.
      X_DOC_CHNG-OBJ_NAME = 'HEADING'.
      CONCATENATE 'Japan BOL details for the delivery#'(003)
                  V_VBELN
                  INTO X_DOC_CHNG-OBJ_DESCR SEPARATED BY SPACE.
    *-populate body text
    CONCATENATE 'Japan BOL details for the Delivery#'(003)
      CONCATENATE TEXT-003
                   V_VBELN
                   ',is attached'
                   INTO WA_OBJTXT SEPARATED BY SPACE.
      APPEND WA_OBJTXT TO IT_OBJTXT.
    *---- Append Date and Time into Body of email.
      MOVE 'File is generated on'(004) TO V_INFO.
      V_TIME = SY-UZEIT.
    WRITE : SY-UZEIT TO V_TIME USING EDIT MASK '__:__:__'.
      CONCATENATE V_TIME+0(2)
                  V_TIME+2(2)
                  V_TIME+4(2)
                  INTO
                  V_TIME2 SEPARATED BY ':'.
       WRITE : sy-datum MM/DD/YYYY TO lv_date .
      CONCATENATE SY-DATUM+4(2)
                  SY-DATUM+6(2)
                  SY-DATUM+0(4)
                  INTO V_DATE.
      CONCATENATE V_INFO
                  V_DATE
                  'At'
                  V_TIME2
                  INTO V_INFO
                  SEPARATED BY SPACE.
      WA_OBJTXT = V_INFO.
      APPEND WA_OBJTXT TO IT_OBJTXT.
    *-document size
      CLEAR : V_TABLE_LINES.
      DESCRIBE TABLE IT_OBJTXT LINES V_TABLE_LINES.
      READ TABLE IT_OBJTXT INTO WA_OBJTXT INDEX V_TABLE_LINES.
      X_DOC_CHNG-DOC_SIZE =
                     ( V_TABLE_LINES - 1 ) * 255 + STRLEN( WA_OBJTXT ).
    *-populate packing list for body text
    CLEAR IT_OBJPACK-TRANSF_BIN.
      WA_OBJPACK-HEAD_START = 1.
      WA_OBJPACK-HEAD_NUM = 0.
      WA_OBJPACK-BODY_START = 1.
      WA_OBJPACK-BODY_NUM = V_TABLE_LINES.
      WA_OBJPACK-DOC_TYPE = 'RAW'.
      APPEND WA_OBJPACK TO IT_OBJPACK.
      CLEAR WA_OBJPACK.
    *--for attachment
    *--add Internal table lines here, as attachment.
    *--IT_FINAL IS THE internal table which you used to display the result as ALV output
      loop at IT_FINAL.
        CONCATENATE IT_FINAL-FIELD1
                    IT_FINAL-FIELD2
    *--AND SO ON
             INTO WA_OBJBIN.
      APPEND WA_OBJBIN TO IT_OBJBIN.
      CLEAR  WA_OBJBIN.
    ENDLOOP.
    *-get total no.of lines of Object table(attachment)
      CLEAR : V_TABLE_LINES.
      DESCRIBE TABLE IT_OBJBIN LINES V_TABLE_LINES.
    *-populate object header
      CONCATENATE  'Delivery#'(005)
                     V_VBELN
                     SY-DATUM
                     V_TIME
                     INTO
                     WA_OBJHEAD SEPARATED BY SPACE.
      APPEND WA_OBJHEAD TO IT_OBJHEAD.
      CLEAR  WA_OBJHEAD.
    *-packing list for attachment
      WA_OBJPACK-TRANSF_BIN = C_X.
      WA_OBJPACK-HEAD_START = 1.
      WA_OBJPACK-HEAD_NUM = 1.
      WA_OBJPACK-BODY_START = 1.
      WA_OBJPACK-BODY_NUM = V_TABLE_LINES .
    WA_OBJPACK-DOC_TYPE = 'CSV' .
      WA_OBJPACK-DOC_TYPE = 'RAW' .
      WA_OBJPACK-OBJ_NAME = 'POTR'.
    CONCATENATE 'Delivery details for '(005)
      CONCATENATE TEXT-005
                V_VBELN
                SY-DATUM
                V_TIME
                '.CSV'
                INTO
                WA_OBJPACK-OBJ_DESCR SEPARATED BY SPACE.
      BREAK-POINT.
      WA_OBJPACK-DOC_SIZE = V_TABLE_LINES * 255.
      APPEND WA_OBJPACK TO IT_OBJPACK.
      CLEAR  WA_OBJPACK.
    *-Sending the document
      CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
        EXPORTING
          DOCUMENT_DATA              = X_DOC_CHNG
          PUT_IN_OUTBOX              = C_X
          COMMIT_WORK                = C_X
        TABLES
          PACKING_LIST               = IT_OBJPACK
          OBJECT_HEADER              = IT_OBJHEAD
          CONTENTS_BIN               = IT_OBJBIN
          CONTENTS_TXT               = IT_OBJTXT
          RECEIVERS                  = IT_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 <> 0.
       MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
               WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    " F_SEND_MAIL
    Regards
    srikanth
    added comments
    Message was edited by: Srikanth Kidambi

Maybe you are looking for