How to write XMP changes back to Photoshop DOM in CS SDK?

Hello,
I'm learning to use the ActionScript library for XMP in conjunction with the CS SDK to build Photoshop panels.
I see from the Extension Builder samples that the AssetFragger application demonstrates how to use XMP for annotating comments to image files in Illustrator using com.adobe.illustrator.  In the runSet() method the XMP data is manipulated then the changes are stored in the document.  So after creating a new XMP node ( XMPArray.newBag() ) it uses doc.XMPString to write the serialized XMP back to the document, then sets doc.saved = false.
        public function runSet():void
            var app:Application = Illustrator.app;
            var doc:Document = app.activeDocument;
            var updateText:String = AssetFraggerModel.getInstance().xmlTextNugget;
             var xmpString : String = doc.XMPString;
            var xmpMeta : XMPMeta = new XMPMeta(xmpString);
            var ns : Namespace = new Namespace(xmpMeta.getNamespace("xmp"));
            xmpMeta.ns::AssetFraggerDescription = XMPArray.newBag();
            xmpMeta.ns::AssetFraggerDescription[1] = updateText;
            var tmp : String = xmpMeta.serialize();
            doc.XMPString = tmp;   
            doc.saved = false;
However, using com.adobe.photoshop instead, the XMLString property on the Application activeDocument instance is not available, the doc.saved property is not modifiable (marked as read-only), and the Photoshop Application activeDocument has a xmpMetadata.rawData property available whereas Illustrator did not.  The Photoshop activeDocument.xmpMetadata.rawData is marked as read only, so it can be used to get the plain XMP as a string directly, but once modified the XMP cannot be updated in that property.  Example:
        public static function traceXMP():void
            var app:Application = Photoshop.app;
            var doc:Document = app.activeDocument;
            var xmpString:String = doc.xmpMetadata.rawData;
            var xmpMeta:XMPMeta = new XMPMeta(xmpString);
            var metaXML:XML = xmpMeta.serializeToXML();
            var Iptc4xmpCore:Namespace = new Namespace(XMPConst.Iptc4xmpCore);
            // demonstrate that a leaf in IPTC can be changed and written to the trace console
            xmpMeta.Iptc4xmpCore::CreatorContactInfo.Iptc4xmpCore::CiUrlWork = 'http://test.com/';
            trace(ObjectUtil.toString(xmpMeta.Iptc4xmpCore::CreatorContactInfo.Iptc4xmpCore::CiUrlWor k.toString()));
            // but now how to write the XMP change back to the Photoshop DOM?
My question is, for a given image file exported as from Lightroom that is rich in custom IPTC metadata, how does one update the metadata in Photosohp via XMP and the CS SDK?  I was not able to extract this information from the Advanced Topics: Working with XMP Metadata chapter of the CS SDK documentation
A real, and complete code example would be greatly appreciated over a pseudocode example.
Thank you in advance.
Steven Erat

Ah ha.  Found the problem, thanks to Ian.  When I saw the inline help appear in Extension Builder for app.activeDocument.xmpMetadata, it indicated that the node as [Read Only], however, the leaf app.activeDocument.xmpMetadata.rawData is in fact not read only. I incorrectly assumed rawData was not writeable when in fact it is.

Similar Messages

  • How to write the nodevalue back to xml file?

    Hi, Everybody:
    These are two packages I used. javax.xml.parsers.*,org.w3c.dom.*
    Now I use "setNodeValue("abc") to set the node value to "abc". But it is not really saved back into XML file. It only change the node value in memory.
    How to write the changes back to XML file? Thank you very much for your help.
    Michelle

    * Version : 1.00
    * File Purpose : Given the xml file loads into dom and recreate the file with the updated values.
    * Developer : Kashif Qasim : 25/july/04
    * Modify detail :
    import java.lang.*;
    import java.io.*;
    import java.util.*;
    import java.text.*;
    import org.w3c.dom.*;
    import org.apache.xerces.parsers.DOMParser;
    import org.apache.xerces.*;
    public class XMLWriter
    private String displayStrings[] = new String[5000];
    private int numberDisplayLines = 0;
    private Document document;
    //private final Node c;
    public synchronized void displayDocument(String uri,Vector UpdatedValues,String getTaskID)
    try {
    DOMParser parser = new DOMParser();
    parser.parse(uri);
    document = parser.getDocument();
    display(document, "",UpdatedValues);
    } catch (Exception e) {
    e.printStackTrace(System.err);
    ReadXmlConfig objReadXmlConfig = null;
    FileWriter filewriter = null;
    try {
    filewriter = new FileWriter(uri);
    for(int loopIndex = 0; loopIndex < numberDisplayLines; loopIndex++){
    filewriter.write(displayStrings[loopIndex].toCharArray());
    //System.out.println("displayStrings[loopIndex].toCharArray() "+displayStrings[loopIndex].toString());
    //filewriter.write("\n");
    filewriter.close();
    System.gc();
    objReadXmlConfig = new ReadXmlConfig();
    objReadXmlConfig.ITSLog("File updated for "+getTaskID+" succesfully, file is closed now ");
    } catch (IOException e) {
    System.err.println("Caught IOException: " + e.getMessage());
    objReadXmlConfig = new ReadXmlConfig();
    objReadXmlConfig.ITSErrorLog("File updated FAILED for "+getTaskID+". Reason for file error "+e.toString());
    }finally {
    if (filewriter != null) {
    System.out.println("Closing File");
    objReadXmlConfig =null;
    try{
    filewriter.close();
    }catch(IOException e){
    System.err.println("Caught IOException: " + e.getMessage());
    } else {
    System.out.println("File not open");
    private void display(Node node, String indent, Vector UpdtRecs)
    if (node == null) {
    return;
    int type = node.getNodeType();
    NodeList nodeList = document.getElementsByTagName("QueryParm");
    int TotalRecs = UpdtRecs.size();
    switch (type) {
    case Node.DOCUMENT_NODE: {
    displayStrings[numberDisplayLines] = indent;
    displayStrings[numberDisplayLines] +=
    "<?xml version=\"1.0\" encoding=\""+
    "UTF-8" + "\"?>";
    numberDisplayLines++;
    displayStrings[numberDisplayLines] += "\n";
    display(((Document)node).getDocumentElement(), "",UpdtRecs);
    break;
    case Node.ELEMENT_NODE: {
    if(node.getNodeName().equals("QueryParm")) {
    for(int i =0 ; i< nodeList.getLength() ; i++)
    Node nodeQry = nodeList.item(i);
    NamedNodeMap nnp = nodeQry.getAttributes();
    for(int j= 0 ; j < nnp.getLength() ; j++)
    Attr atr = (Attr) nnp.item(j);
    if(atr.getName().equalsIgnoreCase("value_"+(i+1)))
    //System.out.println(atr.getName() +" : " + atr.getNodeValue() );
    atr.setNodeValue(UpdtRecs.get(i).toString());
    displayStrings[numberDisplayLines] = indent;
    displayStrings[numberDisplayLines] += "<";
    displayStrings[numberDisplayLines] += node.getNodeName();
    int length = (node.getAttributes() != null) ?
    node.getAttributes().getLength() : 0;
    Attr attributes[] = new Attr[length];
    for (int loopIndex = 0; loopIndex < length; loopIndex++) {
    attributes[loopIndex] = (Attr)node.getAttributes().item(loopIndex);
    for (int loopIndex = 0; loopIndex < attributes.length; loopIndex++) {
    Attr attribute = attributes[loopIndex];
    displayStrings[numberDisplayLines] += " ";
    displayStrings[numberDisplayLines] += attribute.getNodeName();
    displayStrings[numberDisplayLines] += "=\"";
    displayStrings[numberDisplayLines] += attribute.getNodeValue();
    displayStrings[numberDisplayLines] += "\"";
    displayStrings[numberDisplayLines]+=">";
    numberDisplayLines++;
    NodeList childNodes = node.getChildNodes();
    if (childNodes != null) {
    length = childNodes.getLength();
    indent += " ";
    for (int loopIndex = 0; loopIndex < length; loopIndex++ ) {
    display(childNodes.item(loopIndex), indent,UpdtRecs);
    break;
    case Node.CDATA_SECTION_NODE: {
    displayStrings[numberDisplayLines] = "";
    displayStrings[numberDisplayLines] += "<![CDATA[";
    displayStrings[numberDisplayLines] += node.getNodeValue();
    displayStrings[numberDisplayLines] += "]]>";
    numberDisplayLines++;
    break;
    case Node.TEXT_NODE: {
    displayStrings[numberDisplayLines] = "";
    String newText = node.getNodeValue().trim();
    if(newText.indexOf("\n") < 0 && newText.length() > 0) {
    displayStrings[numberDisplayLines] += newText;
    displayStrings[numberDisplayLines] += "\n";
    numberDisplayLines++;
    break;
    case Node.PROCESSING_INSTRUCTION_NODE: {
    displayStrings[numberDisplayLines] = "";
    displayStrings[numberDisplayLines] += "<?";
    displayStrings[numberDisplayLines] += node.getNodeName();
    String text = node.getNodeValue();
    if (text != null && text.length() > 0) {
    displayStrings[numberDisplayLines] += text;
    displayStrings[numberDisplayLines] += "?>";
    displayStrings[numberDisplayLines] += "\n";
    numberDisplayLines++;
    break;
    if (type == Node.ELEMENT_NODE) {
    displayStrings[numberDisplayLines] = indent.substring(0,
    indent.length() - 4);
    displayStrings[numberDisplayLines] += "</";
    displayStrings[numberDisplayLines] += node.getNodeName();
    displayStrings[numberDisplayLines] += ">";
    displayStrings[numberDisplayLines] += "\n";
    numberDisplayLines++;
    indent += " ";
    public static void main(String args[])
    Vector xmlValue = new Vector();
    xmlValue.add(0,"Kashif");
    xmlValue.add(1,"Qasim");
    //displayDocument("NewMediation.xml",xmlValue);
    <?xml version="1.0" encoding="UTF-8"?>
    <Mediation>
    <Task1>
    <Source>
    <SourceDriver>com.microsoft.jdbc.sqlserver.SQLServerDriver</SourceDriver>
    <SourceConnection>jdbc:microsoft:sqlserver://10.2.1.58:1433;DatabaseName=MTCVB_HDS;</SourceConnection>
    <SourceUser>sa</SourceUser>
    <SourcePassword>sa</SourcePassword>
    <Table>
    <SourceTable>t_Agent</SourceTable>
    <SourceQuery><![CDATA[SELECT SkillTargetID,PersonID,PeripheralID,EnterpriseName,PeripheralNumber,Deleted,TemporaryAgent,AgentStateTrace,ChangeStamp FROM t_Agent where SkillTargetID > {value_1} order by SkillTargetID]]>
    </SourceQuery>
    <SourceParm BusinessRule="" ColumnName="SKILLTARGETID" ColumnNumber="1" DataType="Numeric" DefaultValue="0" Format="mm/dd/yyyy xx:xx:xx XX">
    </SourceParm>
    <SourceParm BusinessRule="" ColumnName="PERSONID" ColumnNumber="2" DataType="String" DefaultValue="" Format="">
    </SourceParm>
    <SourceParm BusinessRule="" ColumnName="PERIPHERALID" ColumnNumber="3" DataType="String" DefaultValue="" Format="">
    </SourceParm>
    <SourceParm BusinessRule="" ColumnName="ENTERPRISENAME" ColumnNumber="4" DataType="String" DefaultValue="" Format="">
    </SourceParm>
    <SourceParm BusinessRule="" ColumnName="PERIPHERALNUMBER" ColumnNumber="5" DataType="String" DefaultValue="" Format="">
    </SourceParm>
    <SourceParm BusinessRule="" ColumnName="DELETED" ColumnNumber="6" DataType="String" DefaultValue="" Format="">
    </SourceParm>
    <SourceParm BusinessRule="" ColumnName="TEMPORARYAGENT" ColumnNumber="7" DataType="String" DefaultValue="" Format="">
    </SourceParm>
    <SourceParm BusinessRule="" ColumnName="AGENTSTATETRACE" ColumnNumber="8" DataType="String" DefaultValue="" Format="">
    </SourceParm>
    <SourceParm BusinessRule="" ColumnName="CHANGESTAMP" ColumnNumber="9" DataType="String" DefaultValue="" Format="">
    </SourceParm>
    <QueryParm FldName_1="SkillTargetID" FldType_1="Number" value_1="0">
    </QueryParm>
    </Table>
    </Source>
    </Task1>
    </Mediation>
    The QueryParm values are updated thru this code :)
    Hope it helps u ...

  • How to fix exposure changes made by Photoshop during panorama creation?

    Hi There,
    I have a panorama created by Photoshop but need to tweak some of the joins which is not an issue. But when I paint out/paint in objects from different layers, I've noticed that the exposure within the same layer has been changed by photoshop which creates a line.
    It's like photoshop applied exposure changes to the visible parts of the layer after blending - instead of applying them to the entire layer before blending?
    See the image below, that boat is all on the same layer but there's a line through the middle - how do I gain access to the exposure changes so I can paint/blend that line?
    Any pointers in the right direction would be much appreciated.
    Cheers

    the .xmp files are only generated if the file you are working on doesn't support metadata but JPG files support it so the information is written inside them. If you want to "flatten" the file so that the pixel information gets changed then you will have to resave the files which isn't something that you should do very often with JPG files (preferably only once).
    To mass save files you can either select them and go to Tools->Photoshop->Image Processor (but this will launch Photoshop) or open them up in Camera Raw, select all of them in the film strip and select Save Images

  • How to reflect data changes back to the external XML

    Hi,
    In one of my application,
    I use data for (any of) my Flex component from an external XML (thru a HTTPService) request & a Java backend function provides the XML data.
    I bind the HTTPService result to XMLListCollection & I supply this data for the dataprovider for my component.
    So, if I make any data changes (by adding / creating new items ) in the component, it will be reflected in the XMLListCollection (resulting in adding / modifying new nodes)
    My Question is how to make these data changes reflect back in the external XML?
    - Sen

    Well not necessarily. While binding directly to the service in view is fast is
    also not very clean and reusable. Try to put your data inside model classes,
    view binds to those classes instead of the service. Also use a custom class to
    wrap your service and that gives you flexibility to change server properties or
    make 2 different calls with the same service. You need to write code yourself
    but in the end it will be easier to adjust changes. So when you load data you
    actually populate the model instead of bringing data straight to the view. This
    code usually gets executed inside a command class. So to be more specific:
    CustomService
    - var HTTPService
    function getData
    -- in here you have the service calling the get data method on the service
    function setData
    -- in here you have the service calling the save data on the server
    View
    var model:DataModel
    - controls binds to the model and display data from model
    - when click on save or whatever gesture you use for saving you dispatch an
    event with the new data.
    You  should use some MVC framework to do this for you..
    When event is dispatched the framework will create a command class instance and
    run it ...
    GetSaveCommand
    - var service:CustomService
    service.saveData(event.Data)
    service.getData()
    function result()
    function fault() - for the success or fault of the service call ...
    you can perform additional data transformation here id needed or employ the use
    of other class to do that if necessary ...
    Hope this makes sense. It is more work involved as you can see.
    Or you can go with 2 HTTPService instance in the view ...
    C

  • How to save xmp changes without re-opening psd document?

    Hi All!
    I wanted to know whether we can see the changes made to the metadata of a psd file without re-opening it. I am developing a plugin for Photoshop CS5 on Windows and have included the necessary files of XMP Toolkit SDK for the XMP insertion part.
    The scenario is that, I insert some info in the metadata of the file on button click (handled by my plugin). The problem is that, if I want to view the inserted info in FileInfo, I have to reopen the psd file to see the changes. I just cannot make the changes and view them in one go. Why is that?
    I have referred to the ModifyingXMP sample of the SDK for doing this.
    What can I do?

    Hi,
    Photoshop reads the metadata when it loads a file and stored it when the file is saved.
    Changes to the file in the meantime are ignored.
    You have to access the metadata in memory, but I am unsure if that is possible through your plugin.
    I know that its possible using the JavaScript API (use app.activeDocument.xmpMetadata, see Scripting Guide)
    -- Stefan

  • Since the upgrade to IOS7, the default phone label when adding new contacts on my iPhone 5 is "Radio".  Previously the default was "Mobile" how can this be changed back to "Mobile"?

    Since the upgrade to IOS7, the default phone label when adding new contacts in my iPhone 5 is "Radio". Previously the default was "Mobile". It is a hassle as when my iPhone contacts are synched with Outlook via Exchange, the phone number I've entered on the iPhone doesn't show on the default Outlook view as it is a "Radio" number rather than a "Mobile", "Work", "Home", etc number. It is still stored both on the iPhone & in Outlook & I can still use the number to phone or SMS, it is just incorrectly labelled & hence the source of frustration.
    Apple please return the default to "Mobile" or alternatively find a way we can alter the default ourselves to "Mobile" or "Home" etc.

    The following previous discussion may help: https://discussions.apple.com/message/23846793#23846793

  • How to write processed XML while using XML DOM

    How can I write a Document Node type element in a file i.e. if I have a document and I loaded in memory using DOM then I processed it.Now I need to write it back to file.how can I do that

    Use a Transformer whose input is a DOMSource and whose output is some kind of Result which points at wherever you want to write the XML.

  • Edit table and write changes back to DB

    Hi All,
    I created a test program that uses AbstractTableModel to display the results of an SQL select statement in a JTable. I want to proceed to the next step which to edit cells and then write the changes back to the DB.
    I imagine making a number of edits, then clicking a "save" buton and then looping through the table and checking for updated rows and then sending the sql update statements to the db.
    I've spent most of this afternoon researching JTables, but am still uncertain as to where to go from here, so now I'm asking for someone to point me in the right direction.
    This is where I'm at:
    * I've implemented the getRowCount, getColumnCount, isCellEditable and getValueAt methods.
    * My model doesn't use any vectors, or other array storage for the data, it just uses the JDBC ResultSet methods absolute(rowNumber) and getObject( colNumber)
    * Whenever I edit a cell, the value reverts back to it's original. I assume this is because I havn't implemented setValueAt() yet.
    In my current setup, I'm not sure how I should implement setValueAt() since all I have is the JDBC result set. Should I be implementing some kind of sparse array to hold modified data, and use that to hold updated rows? Presumably, non updated rows could still be obtained from the JDBC result set.
    Anyway, I'd like to hear your advice on this.
    Thanks
    Iain

    OK, here's the plan:
    I already have very basic Data Access Objects (DAOs) for all of the tables in my system. Apart from encoding the most common SQL, the DAO has instance variables for each column in the table, thus implementing a record structure.
    So, in my AbstractTableModel, I 'll create a Vector of the DAO, which should give me a sparse array (Vector implements a sparse array, right?) of database records that will be used to hold the rows that have been edited.
    The Abstract Data Model's getValueAt( ) method would then be modified to check the cache of edited rows and get the data to display from there for updated rows, and from the ResultSet for non-edited rows.
    When it's time to write updates to the database, all I have to do is process the Vector, and destroy it afterwards.
    If checking the Vector each time getValueAt( ) is invoked is too expensive, then I could just implement a standard array of booleans. I'll need to keep track of rows to be inserted and deleted too, so an array of ints might be better.
    This seems like a good idea to me, but I have no idea if it's gonna work....

  • FAQ: How has Elements membership changed in Photoshop Elements 11 and Premiere Elements 11?

    Q: How has Elements membership changed in Adobe Photoshop Elements 11 and Adobe Premiere Elements 11?
    A: Adobe Photoshop Elements 11 and Adobe Premiere Elements 11 do not offer Elements membership as an integrated, in-product service. This means that the following features are not available in Elements 11—nor will they be available in previous versions of Elements after the transition period CLICK HERE to see dates and details:
    Syncing of albums, photos, and videos between Adobe Elements Organizer software and the Photoshop.com online Organizer
    Automatic backup and storage of your photos and videos
    Ongoing delivery of new templates, artwork, and movie themes (for Elements Plus membership subscribers)
    Elements Inspiration Browser
    Elements 11 is, however, integrated with Revel, so you can share your photos to Revel for access on the web and across your mobile devices. You can also import your Revel photos to Elements 11 for editing and creating.
    Message was edited by: Pattie F

    Hi Kim,
    Please refer : http://forums.adobe.com/thread/1006208?tstart=0&promoid=KBHJQ to download your purchased copy of Photoshop and premiere elements 11.

  • How to write plan data into Transactional Cube from Visual Composer ?

    Dear experts,
    Visual Composer is very powerfull to build a 'nice-looking' web-report (I think is much better than Web Application Designer in term of freely position the chart/graph/table/selection parameter in anywhere we like. We can't have this flexibility in WAD) plus it also has strong integration to R/3 for posting the  transactions via RFC-Enabled Function Module (such as changing customer credit limit, approve PO, approve Sales Order, etc), so that the R/3 user won't even have to know the TrxCode.
    In addition to this, I just wondering if VC also capable to write plan data into transactional cube via Write-Enable Query. We can simply insert a BW Query into VC as planning layout (set the edit-mode to "editable") plus having some Wizards to make it more user-friendly and self-explanatory for the users.
    But I am not sure how to save the changes back to transactional cube from VC.
    Could anyone please kindly advise how to achieve this.
    "Seeing is believing" is always my learning method, so I would appreciate some "actioanable" explanation or hints.
    Many thanks,
    Sen

    Hi Sen,
    As far as I know, it's not possible to write data into transactional cubes directly from a table in Visual Composer through standar method, but it's possible to integrate a WAD with your input ready query into a URL element in VC (You can fill entry variables in VC and call WAD dinamically), so it's possible to create a planning application in VC calling dinamically WAD's.
    Another way to interact through VC is creating button objects that calls planning sequences (with BAPI calling RSPLS_PLSEQ_EXECUTE). Also can fill variables in VC and pass them to sequence.
    Regards,
    Enrique

  • How is the XMP workflow supposed to work between CS6 and LR4.1

    Can somebody please enlighten me ?
    I have a raw file in Lightroom, xmp files turned on.
    I open the file as a smart object in Photoshop.
    Back in Lightroom I do some edits, and to be sure, I save the edits back to the XMP.
    Back in Photoshop, no matter what I try, my edits are not picked up. I tried opening the smart object etc...but ACR does not pick up the edits I just made in Lightroom (even when the XMP file is up to date).
    If I resubmit the edited image from Lightroom, my edits are picked up, but this can't be the way it's supposed to work, can it ? What good is a smart object if you need to resubmit it each time...
    Isn't the XMP workflow supposed to be seamless between adobe applications, picking up any edit, no matter where the edit is made (from acr to lightroom and vice versa) ?
    I'm probably missing something, but would appreciate some help.

    Taking a little distance and looking at it from that angle, I can understand why it works the way it does now.
    Still, I feel there are some missed opportunities here.
    Compared to working between indesign and photoshop, when I have an indesign layout and I later edit the placed photoshop document, Indesign gives me a warning that my version is changed and I can update it to reflect the latest state.
    A similar thing could be done here inside photoshop "update to latest Lightroom edits" or something similar which could be totally optional for the end user to use or not.
    My confusion was mostly caused by the XMP files, it stuck in my head that these were external files holding all knowledge and no matter which Adobe program you used, it would work with those same xmp files... but I understood wrong apparently.
    I still have a lot to learn, thanks for all the answers, it is very helpfull.

  • HT1339 ipod is in windows format how can it be changed to apple format

    when i look in 'about' on ipod the format is windows.  is there an apple format? how can it be changed back to this?

    You need a Mac, to reformat the iPod to Mac format. Windows machines cant do that.
    Connect you iPod to the Mac, if iTunes pop up, Restore the iPod
    or
    Open Disk Utility-> Erase-> filesystem ->HFS+(journaled) may take about 3-4 hours depending on the  size of your iPod HD.
    Note that Windows machines don't recognise Mac formatted iPod, however Mac machines recognised Windows formatted iPod.

  • Adobe photoshop elements 10 on MacBook Pro changed from English to German unexpectedly  How do I get English back? Thank you in advance for any help you can give me.

    Adobe photoshop elements 10 on MacBook Pro changed from English to German unexpectedly  How do I get English back?

    The following may help you understand about deleting photos from a library:
    Deleting Photos from an iPhoto Library:
    1 - from an Event or the Photos mode: select the photo(s) and use the Delete key to move the photos to the trash bin. Then empty the iPhoto Trash bin as follows:
    2 - from an album, smart album, book, slideshow, card, etc.: select the photo(s) and use the key combination of Command+Option+Delete to move the photos to the trash bin.  Then empty the trash bin as above.
    NOTE: deleting a photo from an album, slideshow, book, etc., with only the Delete key only deletes that photo from that item. Deleting a photo from an Event deletes ALL occurences of that photo in the library.
    OT

  • Hi, I godt 2 Questions: 1) My Adobe PhotoShop Elements 10.0 for MAC cannot read the RAW files taken with the new Canon 7D Mark II camera. 2) My Photoshop Elements has changed from the danish language to german language, how do I put this back ?

    Hi, I godt 2 Questions: 1) My Adobe PhotoShop Elements 10.0 for MAC cannot read the RAW files taken with the new Canon 7D Mark II camera. 2) My Photoshop Elements has changed from the danish language to german language, how do I put this back ?

    You're in the wrong forum.  This is not the Elements forum.
    Here's the link to the forum you want:
    https://forums.adobe.com/community/photoshop_elements/content

  • Cl_rsplfa_plan_buffer - How to write data back to buffer

    Hi,
          Our requirement is to read a mapping DSO value in FOX to calculate revenue.
    We used function module call from FOX. I'm using l_r_plan_buffer->get_data to get data from plan buffer. It reads the buffer data and I could manipulate it. But I don;t see a method to write the data back.
    What class or method should I use to write the alterted data back to buffer.
    Or is the method we are using the right way to do it.
    thanks
    Saravanan

    Please check the below document:
    [How to Run Planning Functions on Changed Records in SAP NetWeaver BW Integrated Planning|https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/a05666e5-91bf-2a10-7285-a80b7f5f7fd2&overridelayout=true]
    Regards,
    Kams

Maybe you are looking for

  • Where do I download an install file for Dreamweaver CS6

    Hi Folks, I will be replacing my current computer very soon and switching to a Mac, I'm very nervous because I can't find a install.file and don't understand how to copy my already installed copy of cs6. I have the serial number. My computer knowledg

  • Deleted iMovie projects recovered with DataRescue II

    Hello all, I had 2 iMovie projects stored on my iPod. When the iPod failed to communicate with iTunes, I restored the iPod. When I remembered about the iMovie projects I promptly cursed and kicked the dog (no, not really). I used Data Rescue (full ve

  • Problem regarding note 493472  and 362552

    Hello All, I was getting dump for transaction IQ09 ---> "STORAGE_PARAMETERS_WRONG_SET". I searched in net and found note 493472 (Problems with performance / memory in IQ09) is useful for it. But after downloading this note by transaction SNOTE, I am

  • Syncing ipaq rx3115

    I am having a problem syncing my hp ipaq pocket pc (windows mobile 2003 second edition).  I have installed synce, raki, (v)dccm and all that good stuff.   I can connect  and copy files to the ipaq through Konqueror-rapip://pocketpc.   the problem is

  • What browser version do I have?

    What Browser version do I have?