Metadata not updated on re-export

LR 4.1 latest ver.
I post process a CR2 file in Lightroom. I then add text to the Title field.
Export  as jpg using a pre-defined export preset.
I then notice that I have a typo in the Title field.
Correct the typo / text in the CR2 parent file using Lightroom.
Re-export again (same export preset)... answering yes to overwrite file (and Yes to all metadata).
Surprise ...surprise... the Title data is not updated in the exported file (ie by viewing the metadata  in the g or e view.
I delete the jpg
Export again ...yes... same preset export settings.
Metadata on jpg is correct.
So, it looks to me that Lightroom is not updating the metadata when exporting and overwriting an existing image.
Is this normal or a bug.
Looking forward to your comments / views.

I run into this all the time, and have for a few versions now. If you do a "Synchronize Folder..." after the latest export, the metadata will be updated in the library. The problem also shows up if you change the image size, crop, etc. Pretty silly error IMO...you would think LR could do its own housekeeping after all these years.

Similar Messages

  • Metadata not updating

    I've updated the title, author and image of my podcast and refreshed it in iTunes. However when I search for it in the iTunes store (emma's media) the old metadata still shows up. I updated the the title last week so I'd have expected to see a change by now. Any ideas?
    http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=339899037

    The Store page for the URL you give - the Medium Format version - is entirely correct and matches the feed. The same is true for the High and Low format versions.
    Searching on 'emma's media' brings up three results: the Low and Medium Format versions show a slightly different title and author, though the High Format version is correct. All lead to the correctly update Store page.
    People have sometimes found that for some reason the search results page can take quite a lot longer to update its cache than the Store page(s); your feeds are fine and there is no action you can take except to wait for the search results page to catch up. People will still be led to the correct versions.

  • Exporting catalog, making changes, then importing catalog does not update file movements and deletions

    I export part of my master catalog to a laptop.  I include the image files so I can edit the files at full res.  After managing and editing files I import the catalog back into the master catalog. When importing I check to replace metadata, develop settings and negative files. I have been running some tests to be sure all my work is being captured in the master catalog by this process.  I find that if I change develop settings or photo ratings this is detected when the file is imported and the data in the master catalog is updated properly.  The surprise is that if I delete files or move files among folders in the exported catalog these changes are not detected and these changes are not updated inthe master catalog.  It seems bizarre to me that such changes are not detected but I do not see how to get LR to recognize these changes and include them in the catalog update.  Without this capability I don't see how to use catalogs to move part of a catalog to another computer for edits and file management and then move back to the master catalog.

    There are various reasons why Lightroom works this way, but you'll need use pick flags to indicate photos to be deleted, and other metadata like colours or collections.

  • IPTC Metadata not appearing in 'Get Info' - exported JPG?

    I've just exported a bunch of images (versions) from Aperture to JPG.  I have selected 'Include Metadata' and yet when I open the image and select 'Get Info' the only info being displayed is the info of least importance (to me, with these images), such as device name, colour space, focal length etc etc.  None of the IMPORTANT information such as copyright and author etc are there??  I would expect / hope this info to be embedded so that anyone viewing on either a PC or Mac would see it, not exposure and device related information which is the last thing I'm worried about them getting.
    If I drag the image back into Aperture all the relevant info is there but the vast majority of people are not going to be opening JPGs they get supplied with in programmes like Aperture. At best you might expect them to use 'Properties' or 'Get Info' on a Mac.
    Am I doing something wrong or is this another 'Feature' of ML???  If it is a 'feature' is there a way to actually have Aperture append USEFUL metadata information to JPGs on export, such trivial matters as copyright and terms of use etc.?

    I just tried Preview (which being mostly full time on Aperture I've never used beyond a quick look at an image on the desktop), the info is there, so that's good to know. But you still have to dig for it.  My preference would be to get something up in the basic tools such as Get Info.  Previously, I'm sure I've had JPGs where the info has shown up in Get Info, how long back I don't know.  But my memory MAY be playing tricks.
    I am actually relcutant to trash Aperture due to it's management capabilities and it suits for the limited amount of adjustments I ever do, relying on Nik Software for the rest.  BUT I may consider it if there is another application that does write the IPTC data in a way Get Info can read it.    I'd hope to have copyright info flag up on any machine's 'quick look' application, be it Get Info on OS X or Properties on a Windows (I'll look later what comes up there, I rarely if ever use the Windows machine now).  Maybe it's just impossible.   I'm reluctant to add different applications to the workflow to achieve this, meta /exif tools etc.  It's more to do, more things to keep updated, more things to break as OS X evolves etc etc. 
    in the meantime I have played with various fields in the IPTC data block and oddly, if I put the Copright - 'all rights reserved' text in the 'Instructions' it DOES show up in the 'Get Info' box and the 'Instructions' field is perhaps not too out of place to be seen displaying the copyright text and for me is preferable to editing such items as 'Device Info' to display copyright, which looks really odd and, IIRC, requires and EXIF adit tool. The 'Provider' field may be MORE appropriate but again, Get Info doesn't display entries in that field.  Of course it means that anything that WILL display IPTC data correctly will have the copyright info twice, but I'd rather opt for that AND have copyright correctly displayed in Get Info.  I'll check later if it displays using Windows 'Properties'.

  • Custom propertie's values are not updated for workflow metadata

    Hi,
    I've a requirement where I need to add and update some properties. to /etc/workflow/instance/<Instancename>/data/metadata node.
    I've two workflow Process steps,
    Process step 1:
        Adds some properties to metadata.
    Process step 2:
        Updates the propertie's values which are added in Process step 1.
    But the issue is update is not working when the node is /etc/workflow/instance/<Instancename>/data/metadata.
    i.e. In the step 1, Properties are added to metadata node but In the step 2 propertie's values are not updated to the same node.
    Here is my process code:
    =================================================
    import java.util.Locale;
    import java.util.StringTokenizer;
    import javax.jcr.Node;
    import javax.jcr.Session;
    import org.apache.felix.scr.annotations.Component;
    import org.apache.felix.scr.annotations.Properties;
    import org.apache.felix.scr.annotations.Property;
    import org.apache.felix.scr.annotations.Reference;
    import org.apache.felix.scr.annotations.Service;
    import org.osgi.framework.Constants;
    import javax.jcr.Value;
    import com.adobe.granite.workflow.WorkflowException;
    import com.adobe.granite.workflow.WorkflowSession;
    import com.adobe.granite.workflow.exec.WorkItem;
    import com.adobe.granite.workflow.metadata.MetaDataMap;
    import com.adobe.granite.workflow.exec.WorkflowProcess;
    import com.adobe.granite.workflow.model.WorkflowModel;
    import org.apache.sling.api.resource.ResourceResolver;
    import org.apache.sling.api.resource.ResourceResolverFactory;
    import org.apache.sling.jcr.resource.JcrResourceUtil;
    import org.apache.sling.api.resource.PersistableValueMap;
    import org.apache.sling.api.resource.PersistenceException;
    import org.apache.sling.api.resource.Resource;
    @Component
    @Service
    @Properties({
           @Property(name = Constants.SERVICE_DESCRIPTION, value = "Test"),
           @Property(name = Constants.SERVICE_VENDOR, value = "Adobe"),
           @Property(name = "process.label", value = "Test 1")})
    public class Test1 implements WorkflowProcess
        @Reference
        private ResourceResolverFactory resourceResolverFactory;
              public void execute(WorkItem workItem, WorkflowSession wfsession, MetaDataMap metadata)
                                  throws WorkflowException {
                        System.out.println("Testing");
            try{
                ResourceResolver resolver;
                resolver = resourceResolverFactory.getAdministrativeResourceResolver(null);
                String instancePath = workItem.getWorkflow().getId();
                Node instanceNode=null;
                Session jcrSession = wfsession.adaptTo(Session.class);
               String payload = (String) workItem.getWorkflowData().getPayload();
               //instanceNode=JcrResourceUtil.createPath(payload+"/jcr:content", "nt:resource","nt:resource", jcrSession, true);
                                  instanceNode=JcrResourceUtil.createPath(instancePath+"/data/metaData", "nt:resource","nt:resource", jcrSession, true);
                                  System.out.println("Test: instance PAth:"+instanceNode.getPath());
                Resource resource = resolver.getResource(instanceNode.getPath());
                    if(resource != null)
                        PersistableValueMap valueMap= resource.adaptTo(PersistableValueMap.class);
                        valueMap.put("name", "Rajesh");
                        valueMap.put("id", "A002");
                        valueMap.put("designation","SE");
                        valueMap.save();
                        System.out.println("Name:"+valueMap.get("name"));
                        System.out.println("Id:"+valueMap.get("id"));
                jcrSession.save();
                resolver.close();
            }catch(Exception e)
                System.out.println("Exception:"+e.getMessage());
    ===================
    The code works fine when the node is payload/jcr:content.
    Note : Process 1 and Process 2 code is same expect the values I'm passing to the PersistableValueMap.
    Any pointers would be more helpful..
    Thanks
    Siva

    Is there anything wrong in my code/ it's a bug..  
    Thanks
    Siva

  • Alter nate color applied in SSRS report is not updating correctly when you export to excel

    alternate color applied in SSRS report  is not updating correctly when you export to excel. Please let me know how can I resolve this issue
    Smash126

    Expression I am using report is
    =IIf(RowNumber(
    Nothing)
    Mod2 = 0,
    "Silver",
    Nothing)
    Smash126

  • Updating Comment Tag does not update file metadata

    Hi,
    If anyone has the answer to this question i'd really appreciate it. I've been through all my songs in ITunes 8 (8.0.0.35)and removed all the comments in the 'Comment' column. However when you view the details in Windows (right click on the file, select properties, then choose summary) the comments still exist.
    Note: updating the artist, album, title, genre etc seems to update ok.
    I've tried upating the ID3 tag version to version 2.4 on a couple of tracks and this didn't solve the problem.
    Thanks

    I'm using the same version (8.0.0.35) and I'm running into the same problem. I have the feeling that the comment tag is the only one with this problem.
    Before this version, I could change the comment in iTunes (and see it reflected in WinAmp/Windows Explorer) or change it in WinAmp (and iTunes would reflect the changes).
    Now this is not true anymore. *Is iTunes using a new version of IDv2 ?* Not supported by other apps ?
    This is a major problem for me. I just lost 100s of comments, and even if I put them back who do I know this won't happen again ?
    Anybody ?

  • Data in server is not updated

    i have modify the data STREET to "ANG MO KIO"
    http://i192.photobucket.com/albums/z231/yzme/d1.gif
    but the data in server still "HEAVEN ST"
    http://i192.photobucket.com/albums/z231/yzme/d2.gif
    I am using Time2Way T01, if it is when i sync the data will be uploaded, or do i need to configure somewhere to get the data upload ?
    if the data in client and middleware is different, when i sync , the data from the middleware will again download to the client replace the modified values
    OR
    the data in the client will uploaded to the middleware and trigger the MODIFY bapi wrappers ?
    <b>
    when i check my MEREP_MON, and MEREP_LOG there is no data inside this meaning after i changed the values and perform the sync, Inbox and Outbox still remain the previous data as well as inside the MEREP_LOG,
    is it the bapi wrapper not call by the client ?
    </b>
    and i find out that my bapi not get called, what additional code should i add instead of the code below.
    DO I NEED TO IMPLEMENT SOME CODE FOR UPLOADER ??
    do i have to change the reqDirectSync="true", if yes, how do i changed, just change inside the editor, or there is somewhere to configure in sapgui
    after i changed the data , i try to sync, and i check on merep_mon
    what specific or additional steps i need to configure, on uploader / receiver or synchronizer
    <b>i do not implement any syncBoDelta or global reset ?</b>Can someone explain the term "delta" to me and its activities?
    if i have upload something, and sync, the Inbox should have something right ??
    i just put add this code to modify my records
    public String modifyRecord(String eventName,boolean didNavigate){
                             String syncBoName="ZCON";
                             String syncKey="0001230297";
                             tableViewBean.setString(syncBoName +" "+syncKey);
                             System.out.println("SyncBoName: " +syncBoName + " syncKey: " +syncKey);
                             tcp = TableContentProvider.instance(syncBoName);
                             tcp.modifyTable(syncBoName,syncKey);                                   return JSP_DETAIL_SYNCBOINSTANCE;
    public void modifyRecord(String syncBoName,String syncKey){
    SyncBoDescriptor sbd=null;
    sbd=descriptorFacade.getSyncBoDescriptor(syncBoName);
    SyncBo sb=null;
    try{
    System.out.println("bp 2");
    sb=dataFacade.getSyncBo(sbd,syncKey);
    }catch(PersistenceException pex){
    System.out.println("Exception in modifyRecordLoc:" +pex.getMessage());
    SmartSyncTransactionManager transactionManager;
    try{  transactionManager=dataFacade.getSmartSyncTransactionManager();
    if(!transactionManager.isTransactionStarted()){
    transactionManager.beginTransaction();
    boolean b8=false;
    b8=setHeaderFieldValue2(sb,"STREET","ANG MO KIO");
    transactionManager.commit();
    SetSendType();
    listAllOutDelta();
    checkInboxConflict();
    }catch(Exception e){
    System.out.println("Exception in modifyRecordAmt2:" +e.getMessage());
    public void checkInboxConflict(){
              ErrorConflictInbox errorConflictInbox= SmartSyncRuntime.getInstance().getInboxNotifier().getErrorConflictInbox();
              MeIterator iter;
              SyncBoResponse resp;
              try {
              iter= errorConflictInbox.getAllSyncBoResponses();
              while(iter.hasNext()){
              resp= (SyncBoResponse)iter.next();
              String bo=resp.getSyncBoDescriptor().getSyncBoName();//SyncBo Name
              String state=resp.getSyncBoResponseState().toString();
              String res=resp.getResponseType().toString();//Get the SyncBo response type (conflict or ERROR)
              String msg=resp.getText();// This will return the exact message from the server
              System.out.println("bo:" +bo +" state: " +state +" res: " +res +" msg:" +msg);
              System.out.println("state:" +resp.getSyncBoResponseState().toString());
              if(resp.getSyncBoResponseState().equals(SyncBoResponseState.INITIAL)){
                   String a=resp.getSyncBoResponseState().toString();
                   resp.acceptClientSyncBo();
                   String b=resp.getSyncBoResponseState().toString();
                   resp.delete();
                   System.out.println("state1: " +a +"state2: " +b);
              boolean syncStatusComplete= SmartSyncRuntime.getInstance().getInboxNotifier().isSyncStatusComplete();
              System.out.println("syncStatus:" +syncStatusComplete);
              }catch (Exception e) {
              e.printStackTrace();
    public void listAllOutDelta(){
              SyncBoOutDeltaFacade deltFac=SmartSyncRuntime.getInstance().getSyncBoOutDeltaFacade();
              MeIterator allDelta;
              try {
                   allDelta = deltFac.getAllDelta();
                   while(allDelta.hasNext()){
                             SyncBoOutDelta outDelta=(SyncBoOutDelta)allDelta.next();
                             System.out.println("SyncKey:" +outDelta.getSyncKey() +" Action:" +outDelta.getAction()
                                       +" State:" +outDelta.getStateId() +" SendType:"+outDelta.getSendType());
              } catch (SmartSyncException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              } catch (PersistenceException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
    public void SetSendType(){
              SmartSyncRuntime ssRuntime = SmartSyncRuntime.getInstance();
              SyncBoOutDeltaFacade boDeltaFacade = ssRuntime.getSyncBoOutDeltaFacade();
              SyncBoDescriptorFacade descF = ssRuntime.getSyncBoDescriptorFacade();
              SyncBoDescriptor myBO = descF.getSyncBoDescriptor("ZCON");
              boDeltaFacade.setSendType(myBO, SyncBoOutDeltaSendType.SEND_DIRECT);
    //SyncManager.getInstance().synchronizeWithBackend(VisibilityType.USER_SHARED);
         public boolean setHeaderFieldValue2(
              SyncBo sb,
              String headerFieldName,
              Object value) {
              SyncBoDescriptor sbd = sb.getSyncBoDescriptor();
              //RowDescriptor trd = sbd.getTopRowDescriptor();
              System.out.println("bp 10");
              RowDescriptor trd=sbd.getRowDescriptor("010");
              System.out.println("bp 11");
              FieldDescriptor fd = trd.getFieldDescriptor(headerFieldName);
              System.out.println("fd:" +fd.getFieldName());
              if (fd != null) {
              BasisFieldType bft = fd.getFieldType();
              //Row header = sb.getTopRow();
              System.out.println("bp 12");
              //Row header = null;
              Row[] header=null;
              //try {
                   //header = sb.getRow("0001211181");
                   //header=sb.getTopRow();
                   header=getItemInstances(sb,"010");
                   if(header==null){
                        System.out.println("is null");
                   }else{
                        System.out.println("not null");
              //} catch (PersistenceException e1) {
                   // TODO Auto-generated catch block
              //     System.out.println("Exception getRow:" +e1.getMessage());
              //     e1.printStackTrace();
              System.out.println("bp 13");
              try {
    //             Integer operator
              if (bft == BasisFieldType.N) {
                   System.out.println("Numeric");
              NumericField nf = header[0].getNumericField(fd);
              if (nf != null) {
              BigInteger ii = new BigInteger(value.toString());
              nf.setValue(ii);
              return true;
              } else {
              return false;
    //             Character operator
              if (bft == BasisFieldType.C) {
                   System.out.println("Character");
              CharacterField cf = header[0].getCharacterField(fd);
              if (cf != null) {
              cf.setValue(value.toString());
              return true;
              } else {
              return false;
    //             Decimal operator
              if (bft == BasisFieldType.P) {
                   System.out.println("Decimal");
              DecimalField df = header[0].getDecimalField(fd);
              System.out.println("bp 1.1");
              if (df != null) {
                   System.out.println("bp 1.2");
              BigDecimal bd = new BigDecimal(value.toString());
              System.out.println("bp 1.3");
              df.setValue(bd);
              System.out.println("bp 1.4");
              return true;
              } else {
                   System.out.println("bp 1.5");
              return false;
    //             Similar operation for time and date operator fields
              if (bft == BasisFieldType.D) {
                   System.out.println("Date");
              DateField df = header[0].getDateField(fd);
              if (df != null) {
              if (value.toString().equals("0")) {
              Date dat = Date.valueOf("0000-00-00");
              df.setValue(dat);
              } else if (!value.toString().equals("")) {
              Date dat = Date.valueOf(value.toString());
              df.setValue(dat);
              } else {
              Calendar cal = Calendar.getInstance();
              java.sql.Date bd =
              new java.sql.Date(cal.getTime().getTime());
              df.setValue(bd);
              return true;
              } else {
              return false;
    //             Similar operation for time and date operator fields
              } catch (SmartSyncException ex) {
              System.out.println(ex.getMessage());
              } catch (PersistenceException e) {
              System.out.println(e.getMessage());
              return false;
    SyncType: T01 Wrapper: GetList,GetDetail,Modify
      <?xml version="1.0" encoding="utf-8" ?>
    - <MeRepApplication schemaVersion="1.1" id="ZCON" version="01">
      <Property name="CLIENT.BUILDNUMBER" />
      <Property name="C_APPLRESOLVE" />
      <Property name="DATA_VISIBLE_SHARED">X</Property>
      <Property name="E_APPLRESOLVE" />
      <Property name="FACADE_C_CLIENT">X</Property>
      <Property name="FACADE_E_CLIENT">X</Property>
      <Property name="HOMEPAGE.INVISIBLE" />
      <Property name="INITVALUE" />
      <Property name="RUNTIME">JSP</Property>
      <Property name="TYPE">APPLICATION</Property>
    - <SyncBO id="ZCON" version="1" type="timedTwoWay" allowCreate="false" allowModify="true" allowDelete="false" reqDirectSync="false" downloadOrder="1">
    - <TopStructure name="TOP">
    - <Field name="SYNC_KEY" type="N" length="10" decimalLength="0" signed="false" isKey="true" isIndex="true">
      <Input type="create">false</Input>
      <Input type="modify">false</Input>
      </Field>
    - <Field name="PERSNUMBER" type="N" length="10" decimalLength="0" signed="false" isKey="false" isIndex="false">
      <Input type="create">false</Input>
      </Field>
    - <ChildStructure name="010">
    - <Field name="SYNC_KEY" type="N" length="10" decimalLength="0" signed="false" isKey="true" isIndex="true">
      <Input type="create">false</Input>
      <Input type="modify">false</Input>
      </Field>
    - <Field name="PERSNUMBER" type="N" length="10" decimalLength="0" signed="false" isKey="false" isIndex="false">
      <Input type="create">false</Input>
      </Field>
    - <Field name="CITY1" type="C" length="40" decimalLength="0" signed="false" isKey="false" isIndex="false">
      <Input type="create">false</Input>
      </Field>
    - <Field name="CITY2" type="C" length="40" decimalLength="0" signed="false" isKey="false" isIndex="false">
      <Input type="create">false</Input>
      </Field>
    - <Field name="STREET" type="C" length="40" decimalLength="0" signed="false" isKey="false" isIndex="false">
      <Input type="create">false</Input>
      </Field>
    - <Field name="HOUSE_NUM" type="C" length="40" decimalLength="0" signed="false" isKey="false" isIndex="false">
      <Input type="create">false</Input>
      </Field>
    - <Field name="REGION" type="C" length="40" decimalLength="0" signed="false" isKey="false" isIndex="false">
      <Input type="create">false</Input>
      </Field>
      </ChildStructure>
      </TopStructure>
      </SyncBO>
      </MeRepApplication>
    Message was edited by:
            yzme yzme

    <u>my intention is very simple, i just need to  update a field in a row and update to the middleware so that the backend will reflect the changes. </u>
    >2 if i set the conflict/error handling to application, then i should have to implement some code for it, right ?
    >3) List syncbooutdelta
    <b>SyncKey:0001233035 Action:M SendType:SEND</b>
    doesnt it mean that when i sync , the uploader will pick up this data and do a modification ??
    i have change the metadata like this
    <SyncBO id="ZCON" version="1" type="timedTwoWay" allowCreate="false" allowModify="true" allowDelete="false" reqDirectSync=<b>"true" </b>downloadOrder="1">
    1) i try to sync the application and check the worklist monitor, there is nothing in the inbox ? how come ?
    2)if i test using emulator, i try to modify a value and execute, i am getting the following error.
    <u>
    Header action from mobile="MOD", R/3 action="ADD"
    Return code 1 (DOWNLOADER)
    </u>
    i try to modify not "Add"
    3) I am using Time 2 Way , how to check it is synchronous or asynchronous ? in merep_sbuilder, the default asyn. is checked, meaning async ??
    the type is T01 , ASYNC
    4)
    public void checkInboxConflict(){
              ErrorConflictInbox errorConflictInbox= SmartSyncRuntime.getInstance().getInboxNotifier().getErrorConflictInbox();
              MeIterator iter;
              SyncBoResponse resp;
              try {
              iter= errorConflictInbox.getAllSyncBoResponses();
              while(iter.hasNext()){
              resp= (SyncBoResponse)iter.next();
              String bo=resp.getSyncBoDescriptor().getSyncBoName();//SyncBo Name
              String state=resp.getSyncBoResponseState().toString();
              String res=resp.getResponseType().toString();//Get the SyncBo response type (conflict or ERROR)
              String msg=resp.getText();// This will return the exact message from the server
              System.out.println("bo:" +bo +" state: " +state +" res: " +res +" msg:" +mtext);
              boolean syncStatusComplete= SmartSyncRuntime.getInstance().getInboxNotifier().isSyncStatusComplete();
              System.out.println("syncStatus:" +syncStatusComplete);
              }catch (Exception e) {
              e.printStackTrace();
    <u>bo:ZCON state: INITIAL res: CONFLICT msg:Conflict: R/3 = delete, device = modify
    SyncStatus=true (complete)
    </u>
    5) after that i change my code to this
    while(iter.hasNext()){
      if(resp.getSyncBoResponseState().equals(SyncBoResponseState.INITIAL)){
        String a=resp.getSyncBoResponseState().toString();
        String a1=syncBO.getSyncState().toString();
        resp.acceptClientSyncBo();   //No transaction stated to commit
        resp.delete();
    String b=resp.getSyncBoResponseState().toString();
    String b2=syncBO.getSyncState().toString();
    System.out.println("state1: " +a +"state2: " +b);
    System.out.println("SyncState1: " +a1 +"SyncState2: " +b1);
    <u>state1: INITIAL state2: RESOLVED </u>
    <u>SyncStatus1:QUANRANTINE SyncStatus2: INCONSISTENT</u>
    and i try to sync ...no data in worklist
    6)i try to list out all the delta to be uploaded
    ListAllOutDelta to be upload
    <u>SyncKey:0001233349 Action:I State:99925F8E24DFFE49A4563C5E018E9B61 SendType:SEND
    </u>
    i am modifying the rows, not Insert a new row, the Action:'I' instead of 'M',  pls clarify on this.
    after i sync, i found out that there is 2 record with different syncKey but same primary key and all attributes appear to be same except the attribute that i changing.
    <u>SYNCKEY    PERSNUMBER CITY STREET HOUSENO</u>
    0001230298 000000000  HELL <u>ANG MO KIO</u> 0123456789 (modified record)
    0001230299 000000000  HELL <u>HEAVEN ST</u>  0123456789(old record)
    i check the application and found out that the previous record that i modify have its value changing locally but not updated into the backend, after sync, there is another record downloaded into this application which is the old record before i modify with different syncKey.
    but when i check the backend table, there is only 1 record inside, because i dont implement the 'Create' Bapi.
    does it make sense ?
    7) when i check my client , the data is persisted with modified value , but the changes is not reflected in the server, how come the data in client is not uploaded to the server.
    acceptClientSyncBo will make the client wins how come the data is not get updated in server ?
    Re: Regarding modifying Sync BO
    According to him, can anyone translate the things highlighted below
    for modifying one sync bo instance , there is no need to use createUnlinkedCopy()..
    just use like this..
    sb = dataFacade.getSyncBo(sbd,key);
    SmartSyncTransactionManager transactionManager;
    transactionManager = dataFacade.getSmartSyncTransactionManager();
    transactionManager.beginTransaction();
    setHeaderFieldValue(sb,"PERSNUMBER","9866321467");
    setHeaderFieldValue(sb,"FIRSTNAME","RajaSekhar");
    setHeaderFieldValue(sb,"LASTNAME","Varigonda");
    setHeaderFieldValue(sb,"PROFESSION","Technical Specialist");
    setHeaderFieldValue(sb,"***","MALE");
    setHeaderFieldValue(sb,"BIRTHDAY","1977-09-28");
    setHeaderFieldValue(sb,"HEIGHT","165");
    setHeaderFieldValue(sb,"WEIGHT","75");
    // Commit the transaction
    transactionManager.commit();
    setHeaderFieldValue - can be used to set value in new sync bo instance , or modify the instance.
    <b>
    But one main think here have to consider is , if you have created one Sync Bo instance , not synchronized with back end and u have modified that, then thats just like a creation .So during sync this will call Create Bapi Wrapper.
    </b>
    But after synchronization , is u are modifying that instance , then it is a modification(will call MODIFY Wrapper in back end during synchronization). u must have the right to modify this instance in the client side.
    hope u got it.
    u can debug MI Applications in NWDS.
    refer this blog written by Arun
    /people/arunkumar.ravi/blog/2006/02/22/execute-debug-your-mi-code-from-nwds
    let me know , if u have doubts
    Regards
    Kishor Gopinathan
    pls comment...

  • Not Updating the Values in the JComboBox and JTable

    Hi Friends
    In my program i hava Two JComboBox and One JTable. I Update the ComboBox with different field on A Table. and then Display a list of record in the JTable.
    It is Displaying the Values in the Begining But when i try to Select the Next Item in the ComboBox it is not Updating the Records Eeither to JComboBox or JTable.
    MY CODE is this
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.DefaultComboBoxModel.*;
    import javax.swing.table.*;
    import java.sql.*;
    import java.util.*;
    public class SearchBook extends JDialog implements ActionListener
         private JComboBox comboCategory,comboAuthor;
         private JSplitPane splitpane;
         private JTable table;
         private JToolBar toolBar;
         private JButton btnclose, btncancel;
         private JPanel panel1,panel2,panel3,panel4;
         private JLabel lblCategory,lblAuthor;
         private Container c;
         //DefaultTableModel model;
         Statement st;
         ResultSet rs;
         Vector v = new Vector();
         public SearchBook (Connection con)
              // Property for JDialog
              setTitle("Search Books");
              setLocation(40,110);
              setModal(true);
              setSize(750,450);
              // Creating ToolBar Button
              btnclose = new JButton(new ImageIcon("Images/export.gif"));
              btnclose.addActionListener(this);
              // Creating Tool Bar
              toolBar = new JToolBar();
              toolBar.add(btnclose);
              try
                   st=con.createStatement();
                   rs =st.executeQuery("SELECT BCat from Books Group By Books.BCat");
                   while(rs.next())
                        v.add(rs.getString(1));
              catch(SQLException ex)
                   System.out.println("Error");
              panel1= new JPanel();
              panel1.setLayout(new GridBagLayout());
              GridBagConstraints c = new GridBagConstraints();
              c.fill = GridBagConstraints.HORIZONTAL;
              lblCategory = new JLabel("Category:");
              lblCategory.setHorizontalAlignment (JTextField.CENTER);
              c.gridx=2;
              c.gridy=2;
              panel1.add(lblCategory,c);
              comboCategory = new JComboBox(v);
              comboCategory.addActionListener(this);
              c.ipadx=20;
              c.gridx=3;
              c.gridwidth=1;
              c.gridy=2;
              panel1.add(comboCategory,c);
              lblAuthor = new JLabel("Author/Publisher:");
              c.gridwidth=2;
              c.gridx=1;
              c.gridy=4;
              panel1.add(lblAuthor,c);
              lblAuthor.setHorizontalAlignment (JTextField.LEFT);
              comboAuthor = new JComboBox();
              comboAuthor.addActionListener(this);
              c.insets= new Insets(20,0,0,0);
              c.ipadx=20;
              c.gridx=3;
              c.gridy=4;
              panel1.add(comboAuthor,c);
              comboAuthor.setBounds (125, 165, 175, 25);
              table = new JTable();
              JScrollPane scrollpane = new JScrollPane(table);
              //panel2 = new JPanel();
              //panel2.add(scrollpane);
              splitpane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,panel1,scrollpane);
              splitpane.setDividerSize(15);
              splitpane.setDividerLocation(190);
              getContentPane().add(toolBar,BorderLayout.NORTH);
              getContentPane().add(splitpane);
         public void actionPerformed(ActionEvent ae)
              Object obj= ae.getSource();
              if(obj==comboCategory)
                   String selecteditem = (String)comboCategory.getSelectedItem();
                   displayAuthor(selecteditem);
                   System.out.println("Selected Item"+selecteditem);
              else if(obj==btnclose)
                   setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
              else if(obj==comboAuthor)
                   String selecteditem1 = (String)comboAuthor.getSelectedItem();
                   displayavailablity(selecteditem1);
                   //System.out.println("Selected Item"+selecteditem1);
                   System.out.println("Selected Author"+selecteditem1);
         private void displayAuthor(String selecteditem)
              try
              {     Vector data = new Vector();
                   rs= st.executeQuery("SELECT BAuthorandPublisher FROM Books where BCat='" + selecteditem + "' Group By Books.BAuthorandPublisher");
                   System.out.println("Executing");
                   while(rs.next())
                        data.add(rs.getString(1));
                   //((DefaultComboBoxModel)comboAuthor.getModel()).setVectorData(data);
                   comboAuthor.setModel(new DefaultComboBoxModel(data));
              catch(SQLException ex)
                   System.out.println("ERROR");
         private void displayavailablity(String selecteditem1)
                   try
                        Vector columnNames = new Vector();
                        Vector data1 = new Vector();
                        rs= st.executeQuery("SELECT * FROM Books where BAuthorandPublisher='" + selecteditem1 +"'");     
                        ResultSetMetaData md= rs.getMetaData();
                        int columns =md.getColumnCount();
                        String booktblheading[]={"Book ID","Book NAME","BOOK AUTHOR/PUBLISHER","REFRENCE","CATEGORY"};
                        for(int i=1; i<= booktblheading.length;i++)
                             columnNames.addElement(booktblheading[i-1]);
                        while(rs.next())
                             Vector row = new Vector(columns);
                             for(int i=1;i<=columns;i++)
                                  row.addElement(rs.getObject(i));
                             data1.addElement(row);
                             //System.out.println("data is:"+data);
                        ((DefaultTableModel)table.getModel()).setDataVector(data1,columnNames);
                        //DefaultTableModel model = new DefaultTableModel(data1,columnNames);
                        //table.setModel(model);
                        rs.close();
                        st.close();
                   catch(SQLException ex)
    }Please check my code and give me some Better Solution
    Thank you

    You already have a posting on this topic:
    http://forum.java.sun.com/thread.jspa?threadID=5143235

  • Sale Order change BAPI - Storage loc not updated

    Hi Everybody,
    Iam using "BAPI_SALESORDER_CHANGE", to change the sale order items.
    First iam calling above bapi with switch B, for new pricing & then second time for material change.
    When i change any material number, it is getting updated correctly.
    But the storage location, even though iam passing in the bapi it is not updated, & is blank - updation flag is also passed.
    When i execute sale order change again it is updated - ie, for any material change for first bapi call, storage loc is not updated - for 2nd bapi call storage loc is updation - for same input in both the cases.
    Is there any way to update the storage loc is first call of sales order change bapi.
    Below is the parameters iam passing in bapi :
    CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
        EXPORTING
          SALESDOCUMENT      = LS_SALESDOCUMENT
          ORDER_HEADER_IN    = LT_HEADER_IN
          ORDER_HEADER_INX   = LT_HEADER_X
        TABLES
          RETURN                            = LT_RETURN
          ORDER_ITEM_IN               = LT_ITEMS
          ORDER_ITEM_INX             = LT_ITEM_X
          ORDER_CFGS_REF          = LT_CFGS_REF
          ORDER_CFGS_INST         =  LT_PARTS
          ORDER_CFGS_VALUE     = LT_VALUES
          ORDER_CFGS_BLOB        = LT_CUBLOB
          ORDER_CFGS_VK            = LT_CUVK
          ORDER_CFGS_REFINST   = LT_CUREF
          SCHEDULE_LINES            = LT_SCHEDULE_L
          SCHEDULE_LINESX         = LT_SCHEDULE_X
          ORDER_TEXT                   = LT_TEXT
          CONDITIONS_IN                = LT_CONDITION_L
          CONDITIONS_INX              = LT_CONDITION_X.
    Any help is appreciated.
    Regards,
    Nagarajan.J

    Hi,
    Storage location is updated only when same sale order bapi is called another time with required details.
    rgs,
    Nagarajan J

  • Not updating G/L account and cost center with BAPI BAPI_PO_CREATE1

    Hello Friends,
    The two fields G/L ACCOUNT and Cost Center is not updated using BAPI BAPI_PO_CREATE1. I am unable to understand why? This is what i am passing to account assignment structure( POACCOUNT). Filled POACCOUNTX structre as well. I have passed company code at the header level.
    PO_ITEM = 00010
    SERIAL_NO = 01
    CREAT_DATE = sy-datum
    GL_ACCOUNT = 621000
    COSTCENTER = 1000
    CO_AREA = 4000
    Please let me know why it is not updating anything i missed while passing?
    2>I need to update GR quantity but this field is not available in the BAPI ..Please let me know how to update this field.
    Any help is highly appreciated.
    Regards,
    Raj

    Hi, I have a problem I use the bapi BAPI_PO_CREATE1, I pass the table pt_poaccount in the parameter poaccount but the bapi when register my purchase order doesn't register correctly the values KOSTL, AUFNR, PS_PSP_PNR, NPLNR of the tablepoaccount and register the default values of the contract. Please i need help with this.
    CLEAR s_poaccount.
         s_poaccount-po_item     = <fs_datos>-ebelp.
         s_poaccount-serial_no   = w_serial.
         s_poaccount-costcenter  = <fs_datos>-kostl.
         s_poaccount-orderid     = <fs_datos>-aufnr.
         s_poaccount-wbs_element = <fs_datos>-ps_psp_pnr.
         s_poaccount-network     = <fs_datos>-nplnr.
         s_poaccount-activity    = <fs_datos>-vornr.
         s_poaccount-quantity    = <fs_datos>-menge.
         s_poaccount-net_value   = <fs_datos>-brtwr.
         s_poaccount-creat_date  = sy-datum.          
         s_poaccount-itm_number  = <fs_datos>-ebelp.  
         s_poaccount-co_area = '1001'.               
         APPEND s_poaccount TO pt_poaccount.
    CLEAR s_poaccountx.
         s_poaccountx-po_item     = <fs_datos>-ebelp.
         s_poaccountx-serial_no   = w_serial.
         s_poaccountx-po_itemx = 'X'.
         s_poaccountx-serial_nox = 'X'.
         s_poaccountx-creat_date = 'X'.
         s_poaccountx-itm_number = 'X'.
         s_poaccountx-co_area = 'X'.
         s_poaccountx-costcenter = 'X'.
         s_poaccountx-orderid = 'X'.
         s_poaccountx-wbs_element = 'X'.
         s_poaccountx-network = 'X'.
         s_poaccountx-activity = 'X'.
         s_poaccountx-quantity = 'X'.
         s_poaccountx-net_value = 'X'.
         APPEND s_poaccountx TO  pt_poaccountx.
    CALL FUNCTION 'BAPI_PO_CREATE1'
         EXPORTING
           poheader          = pe_poheader
           poheaderx         = pe_poheaderx
         IMPORTING
           exppurchaseorder  = pi_exppurchaseorder
         TABLES
           return             = pt_return
           poitem           = pt_poitem
           poitemx         = pt_poitemx
           poschedule    = pt_poschedule
           poschedulex  = pt_poschedulex
           poaccount      = pt_poaccount
           poaccountx    = pt_poaccountx
           poservices     = pt_poservices
           posrvaccessvalues = pt_posrvaccessvalues.
    The BAPI is register with these values as default however i pass other values in table
    pt_poaccount

  • 'BAPI_ALM_ORDER_MAINTAIN' Not Updating Fields

    Hi,
    We are using BAPI_ALM_ORDER_MAINTAIN to update Special Stock indicator
    (RESB-SOBKZ) at component level for a service order (IW32).
    BAPI is not updating the value which we are passing for this field but
    intrestingly BAPI is updating rest of the fields at component level,
    like Component Quntity, Componen Plant etc. Only Special Stock
    Indicator field is an exception.
    We are passing value in "BAPI_ALM_ORDER_COMPONENT-SPECIAL_STOCK" field
    and updating BAPI Update table with X for this field.
    Can somebody provide help on this.
    Steps for the Reconstruction 
    Below is the source code which i am using to update Srvice order via
    this BAPI
    REPORT zbapi .
    DATA t_meth TYPE TABLE OF bapi_alm_order_method.
    **Internal table for Operation (BAPI)
    DATA t_oper TYPE TABLE OF bapi_alm_order_operation.
    DATA t_comp TYPE TABLE OF bapi_alm_order_component.
    **Internal Table for Opertaions UP (BAPI)
    DATA t_comp_up TYPE TABLE OF bapi_alm_order_component_up.
    **Internal table for BAPI Return code
    DATA t_ret TYPE TABLE OF bapiret2.
    ***WORK AREA DECLARATIONS
    **Work Area for Hedaer
    DATA:wa_header TYPE caufvdb,
    wa_meth TYPE bapi_alm_order_method,
    wa_op TYPE afvgb,
    wa_comp TYPE resbb,
    wa_comp1 TYPE bapi_alm_order_component,
    wa_comp_up TYPE bapi_alm_order_component_up,
    wa_oper TYPE bapi_alm_order_operation.
    PARAMETERS:TEST.
    ****Fill Method Internal table
    CLEAR wa_meth.
    wa_meth-method = 'SAVE'.
    APPEND wa_meth TO t_meth.
    wa_meth-refnumber = sy-tabix.
    wa_meth-objecttype = 'COMPONENT'.
    wa_meth-method = 'CHANGE'.
    wa_meth-objectkey(12) = '000004000104'.
    wa_meth-objectkey+12(4) = '0010'.
    wa_meth-objectkey+16(4) = '0010'.
    APPEND wa_meth TO t_meth.
    **Component Internal table
    wa_comp1-reserv_no = '0000001072'.
    wa_comp1-res_item = '0001'.
    wa_comp1-activity = '0010'.
    wa_comp1-item_number = '0010'.
    wa_comp1-special_stock = 'B'.
    wa_comp1-requirement_quantity = '15'.
    wa_comp1-stge_loc = '0001'.
    wa_comp1-backflush = 'X'.
    APPEND wa_comp1 TO t_comp.
    **Component Update Internal table
    wa_comp_up-special_stock = 'X'.
    wa_comp_up-backflush = 'X'.
    wa_comp_up-requirement_quantity = 'X'.
    wa_comp_up-stge_loc = 'X'.
    APPEND wa_comp_up TO t_comp_up.
    **Call Bapi
    BREAK-POINT.
    CALL FUNCTION 'BAPI_ALM_ORDER_MAINTAIN'
    TABLES
    it_methods = t_meth
    it_component = t_comp
    it_component_up = t_comp_up
    return = t_ret.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

    Hi Ferry,
    1. I have also tried ur given code before BAPI_TRANSACTION_COMMIT.
        l_fname = 'SOBKZ'.
        l_fvalue = 'U'.
        CALL FUNCTION 'CO_BH_MOD_SINGLE_FIELDS'
          EXPORTING
            aufnr_imp = wa_meth-objectkey(12)
            field1    = l_fname
            value1    = l_fvalue.
    but this program is giving dump for only this particular Value saying that This is PROTECTED field.
    Can anyone help me out on How to Update Special Stock Indicator on Components Tab of Maintenance Order (IW32).
    If anyone has faced such type of problem & solved it then please let me also.
    2. Which BADI to use for Updating Special Stock Indicator when we press enter on Components tab in Transaction IW32 ?..
    Thanks in advance,
    Hope to get the solution soon from all SAP gurus.
    and help will be appriciated .
    Gaurav.

  • Excise Base amount not updated in J_1iexcdtl table -reg

    Dear Gurus,
    We have used SAP Ecc 5.0 Patch level 21. In patch level 20, SAP admit without delivery , can do commercial billing and excise billing in foreground. After batch update SAP not support excise invoice creation in foreground. It support only background. We have 2 senario. 1 is capex sales . ie. without material stock we have raise the comm.billing and excise billing. 2 is supplimentary billing. both the senario now getting effected because of no delivery. Asper SAP advise we have setting for background process excise invoice creation. Excise invoice created. but excise base amount not updated in j_1iexcdtl table. Using J_1I7_USEREXIT_CALC_EXC_BASE user exit we are trying to update the same. For single material it works fine. But more than one material for the first material's base amount is updated in all materials. for your reference i have mentioned the codding . SAP advise it is possible to update excise base amount. But not possible to do. pl.adivse if any correct or guide to solve it.
    FUNCTION J_1I7_USEREXIT_CALC_EXC_BASE.
    ""Local Interface:
    *"  IMPORTING
    *"     VALUE(EXCITM_BASE) TYPE  KOMV-KAWRT
    *"     VALUE(POSNR) TYPE  VBRP-POSNR
    *"  EXPORTING
    *"     VALUE(EXCITM_BASE) TYPE  KOMV-KAWRT
    *"  TABLES
    *"      KONV STRUCTURE  KONV
    *{   INSERT         RDSK925285                                        1
    TABLES : KONV.
    data :   W_INDEX LIKE SY-TABIX.
    DATA :ITAB LIKE TABLE OF KONV WITH HEADER LINE.
    DATA :ITAB1 LIKE TABLE OF KOmV WITH HEADER LINE.
    ITAB1[] = KONV[].
    DATA : BEGIN OF I_TAB OCCURS 0,
           KAWRT LIKE KONV-KAWRT,
           POSNR LIKE VBRP-POSNR,
           END OF I_TAB.
    LOOP AT ITAB1.
    READ TABLE ITAB1 WITH KEY KSCHL = 'JMOD' KPOSN = ITAB1-KPOSN.
    IF SY-SUBRC EQ 0.
        EXCITM_BASE = ITAB1-KAWRT.
        POSNR = ITAB1-KPOSN.
    ENDIF.
    ENDLOOP.
    *}   INSERT
    ENDFUNCTION.
    Thanks & Regards
    R.Udayakumar

    solved with the same user exit

  • Planner group is not updated in service notification using BAPI

    Hi,
    Planner group is not updated in service notification using BAPI BAPI_ALM_ORDER_MAINTAIN.
    I have written the below code, but planner group is not updated in the service notification.
    Please advice which parameters do i need to pass to update planner group in the service notification.
              wa_methods-refnumber      = '000001'.
              wa_methods-objecttype     = 'PARTNER'.
              wa_methods-method         = 'CREATE'.
              wa_methods-objectkey      = wa_subscr1-aufnr.
              APPEND wa_methods TO i_methods.
              wa_methods-refnumber      = '000002'.
              wa_methods-objecttype     = 'HEADER'.
              wa_methods-method         = 'CREATE'.
              wa_methods-objectkey      = wa_subscr1-aufnr.
              APPEND wa_methods TO i_methods.
              wa_methods-refnumber      = '000000'.
              wa_methods-objecttype     = ' '.
              wa_methods-method         = 'SAVE'.
              APPEND wa_methods TO i_methods.
              REFRESH i_partner.
              CLEAR wa_partner.
              wa_partner-orderid        = wa_subscr1-aufnr.
              wa_partner-partn_role     = 'VW'.
              wa_partner-partn_role_old = ''.
              wa_partner-partner        = wa_subscr1-parnr.
              wa_partner-partner_old    = ''.
              APPEND wa_partner TO i_partner.
              REFRESH i_planrgrp.
              CLEAR wa_planrgrp.
              wa_planrgrp-orderid        = wa_subscr1-aufnr.
              wa_planrgrp-plangroup      = wa_subscr1-ingpr.
              APPEND wa_planrgrp TO i_planrgrp.
              REFRESH i_planrgrp_up.
              CLEAR wa_planrgrp_up.
              wa_planrgrp_up-orderid     = wa_subscr1-aufnr.
              wa_planrgrp_up-plangroup   = 'X'.
              APPEND wa_planrgrp_up TO i_planrgrp_up.
    *----Change order details with Technician name
              CALL FUNCTION 'BAPI_ALM_ORDER_MAINTAIN'
                TABLES
                  it_methods   = i_methods
                  it_header    = i_planrgrp
                it_header_up = i_planrgrp_up
                  it_partner   = i_partner
                  return       = i_return.
    Thanks & regards,
    Krishna

    Try this way
    CALL FUNCTION 'BAPI_SERVNOT_CREATE'
    EXPORTING
    * EXTERNAL_NUMBER =
    notif_type = 'S3'
    notifheader = ls_notif_h
    * TASK_DETERMINATION = ' '
    * SENDER =
    * ORDERID =
    IMPORTING
    NOTIFHEADER_EXPORT = ls_notif_e
    TABLES
    * NOTITEM =
    * NOTIFCAUS =
    * NOTIFACTV =
    * NOTIFTASK =
    * NOTIFPARTNR =
    * LONGTEXTS =
    * KEY_RELATIONSHIPS =
    return = lt_return
    * IF lt_return IS INITIAL.                                               " <<< Comment this lie
    read table  lt_return into ls_return with key type = 'E'. " << Change
    if sy-subrc ne 0.                                                             " << Change
    COMMIT WORK AND WAIT.
    write: / ls_notif_e-NOTIF_NO.
    ELSE.
    LOOP AT lt_return INTO ls_return.
    WRITE:/ 'errors'.
    * ls_return.
    ENDLOOP.
    endif.

  • DYNP_VALUES_UPDATE not Updating the Field on my Dynpro

    Hi.
    I want to create a dynpro where two fields are. Field 1 allows the user to enter a customer number, field two shall come up with a number that is calculated somehow. The calculation can last up to 20 seconds, so I dont want to make the user waite for this number.. .he shall be able to work with the rest of the dynpro.
    Therefore I called the function that does the calcuiation like that:
    MODULE user_command_0100 INPUT.
      DATA: lv_guid_16 TYPE guid_16.
      IF kna1-kunnr IS NOT INITIAL AND kna1-kunnr <> gv_kunnr
        CALL FUNCTION 'GUID_CREATE'
          IMPORTING
            ev_guid_16 = lv_guid_16.
        gv_taskid = lv_guid_16+8(8).
        CALL FUNCTION 'YDETERMINE_DEPOTDISTANCE' 
          STARTING NEW TASK gv_taskid
          PERFORMING receive_depent ON END OF TASK
          EXPORTING
            i_kunnr = kna1-kunnr.
      ENDIF.
    ENDMODULE. 
    The next piece of code shall get the returning value if the function wants to return its results.
    FORM receive_depent USING i_task TYPE clike.
      TABLES: d020s.
      DATA: dyname LIKE d020s-prog,
            dynumb LIKE d020s-dnum.
      DATA: BEGIN OF dynpfields OCCURS 1.
              INCLUDE STRUCTURE dynpread.
      DATA: END OF dynpfields.
      IF i_task = gv_taskid.
        RECEIVE RESULTS FROM FUNCTION 'YDETERMINE_DEPOTDISTANCE'
        IMPORTING
          e_depent         = kna1-yydepent
          e_accuracy       = gv_accuracy.
        MOVE 'KNA1-YYDEPENT' TO dynpfields-fieldname.
        MOVE kna1-yydepent TO dynpfields-fieldvalue.
        APPEND dynpfields.
        dyname = sy-cprog.
        dynumb = '0100'.
        CALL FUNCTION 'DYNP_VALUES_UPDATE'
          EXPORTING
            dyname               = dyname
            dynumb               = dynumb
          TABLES
            dynpfields           = dynpfields
          EXCEPTIONS
            invalid_abapworkarea = 01
            invalid_dynprofield  = 02
            invalid_dynproname   = 03
            invalid_dynpronummer = 04
            invalid_request      = 05
            no_fielddescription  = 06
            undefind_error       = 07.
        ASSERT sy-subrc = 0.
      ENDIF.
    Problem is: The DYNP_VALUES_UPDATE does not update the field on my dynpro at all. If I hit enter another time, then the field is provided by the value as another PBO will be processed. What is my mistake here?
    Regards
    Manfred
    Edited by: Rob Burbank on Oct 29, 2010 12:07 PM

    Hi Manfred,
    Replace all the DYNP_VALUES_UPDATE-related content by the following statement:
    SET USER-COMMAND 'xxx'.
    While DYNP_VALUES_UPDATE does update the fields, a roundtrip is not triggered so the content of the fields will not be refreshed. The SET USER-COMMAND does that.
    Hope this helps you!
    Cheers, Roel

Maybe you are looking for