Regarding modify

Hi frnds,
                I want a clarification.
  Earlier i had a code as :
modify itab1 from itab2
Now i hav my explicit work area created for both the tables .
and coding as
loop....
modify wa_tab1 from wa_tab2.
modify itab1 from wa_tab1.
endloop...
suggest me if at all i hav to make any changes..
regards,
sanjay

FRNDS,
              Thnks for replying.
                Its giving earlier unicde error.
    modify itab1 to itab2.
plzz suggest.
now when i hav used work area now i m getting error as
modify wa_tab1 from wa_tab2.
the error is wa_tab1 is not an internal table,occurs n is missing.
plzz suggest.
regards,
sanjay

Similar Messages

  • Regarding modifying database from internal table

    Hi ABAP Experts,
    I am facing an issue regarding modifying DB table from itab.
    All the records of itab are not getting reflected in DB table using Modify statement.
    Syntax is as follows -
    Locking DB table using enque FM
    MODIFY abc FROM TABLE i_abc.
    Unlocking DB table using deques FM
    Please suggest what could be wrong with this. Helpful suggestion will be appreciated.
    Thanks in adv,
    Akash

    Hi,
    First Delete entries from the table(hope it is a custom table),
    for example
    DELETE  FROM <DatabaseTable name> WHERE <primarykey = 'somevalue'>.
    'After deleting those records.....then use insert statement
    IF sy-subrc = 0.
       INSERT <DatabaseTable name> FROM TABLE  <InternalTable name> ACCEPTING DUPLICATE KEYS.
      ENDIF.
    Thanks & REgards

  • Regarding modifying data selection

    Hi All,
    I am extracting data using 0fi_gl_4. But I am getting ORA1555 error. When I contacted my DBA team they are saying that we have reduce the data selection so that the no of records selected are less. As I am only having Month and year as load selection, I thought of giving any date parameter as data selection parameter. When I checked the Data Source in RSA6, all the parameters are in disabled state. So, I cannot add them to selection. How to modify that so that I can add any date parameter to the selection to extract the data.

    Hi,
    got to rsa6 anf find your data source.
    Select that and click on change there on top.
    then aganist KUNNR just check the check box for SELECTION.
    Then replicate the datasource and then activate the transfer ruls. then check theat field will be avaliable for selections.
    goto SE11 and see the table ROOSFIELD
    then check the entries by passing 0fi_ar_4 as DataSource.
    then aganist the field KUNNR you have to change the Field attr as X.
    You have to change this by debugging. or you can also do that if you have authorizations. We have done this before.
    Assign points if helps
    Regards,
    Hareesh

  • Regarding Modifiable Transport Request Objetct name .

    Hi All,
    I have a requirement to get the transport request object names into a internal table.
    I have a table E071 which has all the object names for the request. But my problem is to there is no record found for the transport which are in modifiable status. Can anyone suggest me at the earliest.
    Thanks.
    Rani.

    Hi,
    Check E07* Tables
    Regards,
    Santosh

  • Regarding :Modifying the partition key column

    Hi,
    I have Create one table.At that time i did range partition on one column(callend).these table has 1000 millions records.Now I want to chage that partiion on another column (callstart) .How can i do this.
    Kindly provide me suggestion
    Regards.

    Much nicer type of reply:
    My best advice would be to just create a new table.
    Since your data is already partitioned, it is unreasonable at that time to try to "change" that partitioning column.
    Yes, you obviously have to, otherwise you wouldn't be asking I'm sure. Go ahead and just create a new partitioned table based on callstart and relax for a few hours :)
    You might want to even use two separate boxes within the same network to perform this task. So that one box is focused on selecting and sending and the other box is worried about partitioning the data to a new table. Access via DB link.

  • Regarding modify  selection-screen

    sorry but this funda has never been clear to me
    can you please help me out
    on my selection screen i have 3 fields
    1 employee
    2. start date
    3. end date
    and two radio buttons
    1. employee wise report
    2.detailed report
    now when i select the employee wise report then it should display the employee field on the selection screen
    and if i select the detailed report radio button then the selection screen should have only two fields that is start and end date
    tere should be no employee field on the selection screen then
    i have given a screen modif id sc1 to to the employee
    and tried  one or two ways but no use
    can anyone please help me out.

    hi check this code
    this code actually removes the block data when check box is checked and shows the block on deselecting it.U can change the chk box condition according to ur requirement.
    SELECTION-SCREEN BEGIN OF BLOCK FPATH .
    SELECTION-SCREEN : BEGIN OF LINE .
    PARAMETERS : p_EU AS CHECKBOX USER-COMMAND CHK MODIF ID BL1.
    SELECTION-SCREEN : COMMENT 4(15) TEXT-106 FOR FIELD P_EU.
    SELECTION-SCREEN : END OF LINE .
    SELECTION-SCREEN : BEGIN OF LINE.
    PARAMETERS : P_LOCL AS CHECKBOX MODIF ID BL1.
    SELECTION-SCREEN : COMMENT 4(15) TEXT-002 FOR FIELD P_LOCL.
    SELECTION-SCREEN POSITION 33.
    PARAMETER: P_FILE1 LIKE RLGRAP-FILENAME MODIF ID BL1.
    SELECTION-SCREEN : END OF LINE .
    SELECTION-SCREEN : BEGIN OF LINE .
    PARAMETERS: P_APPL AS CHECKBOX DEFAULT 'X' MODIF ID BL1.
    SELECTION-SCREEN : COMMENT 4(13) TEXT-003 FOR FIELD P_APPL.
    SELECTION-SCREEN POSITION 33.
    PARAMETER: FNAM2 LIKE RLGRAP-FILENAME MODIF ID BL1.
    SELECTION-SCREEN : END OF LINE .
    SELECTION-SCREEN END OF BLOCK FPATH.
    SELECTION-SCREEN BEGIN OF BLOCK FPATH1 .
    SELECTION-SCREEN : BEGIN OF LINE .
    PARAMETERS : p_APAC AS CHECKBOX MODIF ID BL2 USER-COMMAND CH.
    SELECTION-SCREEN : COMMENT 4(15) TEXT-105 FOR FIELD P_APAC.
    SELECTION-SCREEN : END OF LINE .
    SELECTION-SCREEN : BEGIN OF LINE.
    PARAMETERS : P_LOCL1 AS CHECKBOX MODIF ID BL2.
    SELECTION-SCREEN : COMMENT 4(15) TEXT-102 FOR FIELD P_LOCL1.
    SELECTION-SCREEN POSITION 33.
    PARAMETER: P_FILE11 LIKE RLGRAP-FILENAME MODIF ID BL2.
    SELECTION-SCREEN : END OF LINE .
    SELECTION-SCREEN : BEGIN OF LINE .
    PARAMETERS: P_APPL1 AS CHECKBOX DEFAULT 'X' MODIF ID BL2.
    SELECTION-SCREEN : COMMENT 4(13) TEXT-103 FOR FIELD P_APPL1.
    SELECTION-SCREEN POSITION 33.
    PARAMETER: FNAM21 LIKE RLGRAP-FILENAME MODIF ID BL2.
    SELECTION-SCREEN : END OF LINE .
    SELECTION-SCREEN END OF BLOCK FPATH1.
    AT SELECTION-SCREEN OUTPUT.
    LOOP AT SCREEN.
    IF P_EU = 'X' AND SCREEN-GROUP1 = 'BL2'.
    SCREEN-ACTIVE = 0.
    ENDIF.
    IF P_APAC = 'X' AND SCREEN-GROUP1 = 'BL1'.
    SCREEN-ACTIVE = 0.
    ENDIF.
    MODIFY SCREEN.
    ENDLOOP.

  • Regarding the modifying an internal table

    hi,
       i am having an internal table,i have to modify one field and the remaining fields should remain same in the internal table while displaying the internal table.
       can any body send the solution for this issue.
    thanks in advance

    hi,
    you can see the following logic regarding modify statement with in loop or without loop.
    DATA : BEGIN OF itab OCCURS 0,
           no(10) TYPE n,
           name(10) TYPE c,
           city(20) TYPE c,
           END OF itab.
    itab-no = 001.
    itab-name = 'vijay'.
    itab-city = 'dharmavaram'.
    APPEND itab.
    itab-no = 002.
    itab-name = 'krishna'.
    itab-city = 'dharmavaram'.
    APPEND itab.
    itab-no = 003.
    itab-name = 'vijay'.
    itab-city = 'dharmavaram'.
    APPEND itab.
    itab-name = 'ram1'.
    MODIFY itab INDEX 3 TRANSPORTING name.
    LOOP AT itab.
      IF sy-tabix = 2.
        itab-no = '0012'.
        itab-name = 'krishna.v'.
        MODIFY itab INDEX 2 TRANSPORTING no name.
        CLEAR itab.
      ENDIF.
    ENDLOOP.
    LOOP AT itab.
      WRITE :/ itab-no,itab-name,itab-city.
    ENDLOOP.
    Hope this example will be usage for you.
    Reward with points if it is useful.
    Regards,
    Vijay

  • How do I bypass modified asset warning

    I want to burn the movie into iDVD as is, but if i let it update after a modified asset warning, i always lose the scene selection and I have to do it all over again. What can I do?  I am using the good old iMovie 6, and iDVD 7.1.2

    There's a bug in iDVD regarding modified assets.  It's best to start over with a new project. Then follow this workflow to help assure the best qualty video DVD:
    Once you have the project as you want it save it as a disk image via the File ➙ Save as Disk Image  menu option. This will separate the encoding process from the burn process. 
    To check the encoding mount the disk image, launch DVD Player and play it.  If it plays OK with DVD Player the encoding is good.
    Then burn to disk with Disk Utility or Toast at the slowest speed available (2x-4x) to assure the best burn quality.  Always use top quality media:  Verbatim, Maxell or Taiyo Yuden DVD-R are the most recommended in these forums.
    Do you know that when you have the movie as you want it in iMovie 6 all you need to do is close iMovie and drag the iMovie project file into the iDVD window to get the movie into iDVD? There's no exporting needed.
    OT

  • Treatment text modify

    Hi all
    I have an issue regarding modify title text into master data account receivables, I mean I would like to add another concept like Mr, Mrs, Company etc etc. This field are into the table TSAD3T, but I dont know how can I add another item.
    Regards
    Ulises

    Hi again Gaurav
    Thank you so much for your prompt response I have added sucessfully the item that I looking for.
    Regards
    Ulises

  • 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...

  • How do we get past the error message when installing PSE10 on a Winndows 7 machine?

    My friend and I downloaded a copy of PSE10 and attempted to install it on a Windows 7 machine.  After completing about 98% of the installation, we encountered an error -- either #1935 or #1395.  We could not get past that point.  The software, then, backed out of the process. 
    We downloaded another copy of PSE 10 from another source and tried to install it.  Same result. 
    We called Adobe and the person responding told us that it was a compatibility problem between PSE 10 and Windows 7.  He suggested a work-around that may or may not work, but for technical reasons, we were unable even to try it.  (Create a new operator identity in Windows and use that to install the software.)  Adding insult to injury, he indicated that we would have to pay for his advice on how to resolve Adobe's problem
    Since it is hard to invent a new problem, there must be hundreds, if not thousands, of people who have experienced this problem and found a simple way to solve it.  Please, tell us how!

    Perhaps the steps you saw to fix this issue were here:
    http://kb2.adobe.com/cps/403/kb403969...
    Regarding modifying the registry as suggested in solution 2 (you shouldn't be concerned with installing updates though) we would always recommend backing up the registry before making any changes. That way you can always restore to what you had before troubleshooting.

  • Common power adapter for Macbook Air and Macbook Pro?

    I have both a Macbook Air and a Macbook Pro at home, and it would be really nice to have one magsafe adapter by the couch rather than two...
    I have actually tried the Air 45w adapter on my Pro and it works fine as long as the Pro is not fully discharged. If the Pro is unable to start up on battery, it's also unable to start up on the 45w AC. But otherwise it seems fine.
    In the reverse direction, normally I use the 85w Pro adapter for both the Pro and the Air. That also works fine; the drawback there is that, since the Air receptacle is mounted at an angle, and the magsafe connector on the Pro adapter is straight-ahead, I have to put the Air on a pillow and even so the connector comes out frequently.
    The obvious solution would be an 85W adapter with an Air-style right-angle connector. I find the angled connector is not a problem at all on the Pro.
    A few questions therefore:
    1) Am I doing any damage, in either direction, using the 45W adapter on Pro or using 85W on Air? My guess is that the adapter and the system are smart enough that it's not a problem. Put another way, I suspect the designers accounted for the possibility that idiots like me would plug one computer's adapter into a different model, and they made sure it was not harmful. But that's speculation on my part. Anyone got any real information?
    2) I have done the obvious web search and can't find an 85w with a right-angle magsafe connector. Am I missing something obvious?
    3) My next step is to snip both cords and splice an Air connector onto a Pro adapter. I'm not super handy so it will probably be kind of an ugly job. Anyone got any suggestions on the cleanest way to do this?

    Hi Ottosmo!
    Welcome to Apple Discussions.
    1) While it's certainly recommended to use the appropriate wattage on the charger, I too have often found myself using a MacBook Pro (85w) and MacBook (60w) with my MacBook Air. I've yet to encounter an issue in the almost 10 months I've been using my Air. The wattage on the power adapter, to my knowledge, is an indication to the amount of potential power that the charger can deliver to the unit. I know I've read various "blogs and forums" indicating that the power adapter is smart enough to 'scale' back power appropriately.
    Now with that being said... should something happen, for whatever the reason, with you using the non-supplied adapter then you'd be taking matters into your own hands. (take that as my own little disclaimer)
    2) Correct, the 85w adapter does not come with the right angle adapter. The adapter on the 24" LED Cinema Display does have a right angle adapter that supports up to 85w. But I realize that's not what you asked.
    3) Regarding "modifying" the cabling. I'd strongly recommend against it, especially if you don't feel comfortable with splicing and then insulating. Too much room for chance and potential problem/failure. If someone else wants to instruct you on how to do this, that'll be their prerogative.
    I ended up purchasing an iLap 13" for using my MacBook Air. It's been fantastic and I have it set off to the side just enough to allow plenty of room for a MacBook or MacBook Pro adapter. Not to mention it allows me to easily use the Air in my lap without any ventilation issues.

  • PDFMaker icon not working in Acrobat Pro 8.3.1.

    I am using  OS Windows XP Home and Microsoft Office 2003.
    I generally use the work around of "Print". Annoying that I cannot use the PDFMaker icon in any Microsoft products. It use to work flawlessly. I keep getting the annoying message "The acrobat pdfmaker server could not be loaded". I have found solutions regarding modifying registry key "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\AcroDist.exe"
    Since I do not have a folder that specifically says Distillr, I modified the default key to C:\Program Files\Adobe\Acrobat 8.0\Acrobat\acrodist.exe and Path to C:\Program Files\Adobe\Acrobat 8.0\Acrobat\.
    Did not work.
    Anyone out there know how to repair??? The Acrobat "Repair" procedure is really not working for me.
    Thanks.

    Gernal_USA,
    I'm moving your question to the Acrobat forum, since it does not relate to the CreatePDF service.
    Dave

  • Characteristic values as hyperlinks in a web report

    Hi All
    I have a web report with only one characteristic and some key figures. And the number of values for that characteristics are 5 and they are always fixed (structure). In my report I need to make each of that characteristic value a hyper link. I have 5 separate reports which should  be linked to these 5 characteristic values.
    I think this can be achieved by using a table interface. If yes, could any one please provide me with the code for the method CHARACTERISTIC_CELL in the ABAP class?
    Or, is there any other better solution?
    Points will be assigned!
    Thank you

    Its very simple! Check this out
    [http://sap.ittoolbox.com/groups/technical-functional/sap-bw/web-based-reporting-jump-target-to-another-query-by-one-click-489775]
    Regarding modifying the existing methods, in the 'Methods' tab select a method you want to redefine and click on the 'Redefine' button. And then double click on the method name, it takes you to the editor screen where you write your code.
    [Screen shot!|http://img139.imageshack.us/img139/5796/tableinterfacexc8.jpg]
    Use the 'CHARACTERISITC_CELL' method to adjust the contents of cells containing values for characteristics.
    'STRUCTURE_CELL'  to adjust the contents of structural components. i.e. if you are using a structure in your query.
    'DATA_CELL' to adjust the contents of data cells (cells where key figure values are displayed).
    Sample code:
    method CHARACTERISTIC_CELL.
    *CALL METHOD SUPER->CHARACTERISTIC_CELL
    *  EXPORTING
    *    I_X              =
    *    I_Y              =
    *    I_IOBJNM         =
    *    I_AXIS           =
    *    I_CHAVL_EXT      =
    *    I_CHAVL          =
    *    I_NODE_IOBJNM    =
    *    I_TEXT           =
    *    I_HRY_ACTIVE     =
    *    I_DRILLSTATE     =
    *    I_DISPLAY_LEVEL  =
    *    I_USE_TEXT       =
    *    I_IS_SUM         =
    *    I_IS_REPETITION  =
    **    I_FIRST_CELL     = RS_C_FALSE
    **    I_LAST_CELL      = RS_C_FALSE
    *    I_CELLSPAN       =
    *    I_CELLSPAN_ORT   =
    *  CHANGING
    *    C_CELL_ID        =
    *    C_CELL_CONTENT   =
    *    C_CELL_STYLE     =
    *    C_CELL_TD_EXTEND =
    * URL to another web template
    if I_IOBJNM = '0PLANT'.
    if I_USE_TEXT = 'X'.
    concatenate
    '<A href='
    'BEx?sap-language=EN'
    '&CMD=LDOC'
    '&TEMPLATE_ID=Technical name of Your TARGET Template'
    '>' I_TEXT '</a>'
    INTO c_cell_content.
    endif.
    * URL to another web template with variable passing:
    if I_USE_TEXT = 'X'.
    concatenate
    '<A href='
    'BEx?sap-language=EN'
    '&CMD=LDOC'
    '&TEMPLATE_ID=Your TARGET Template'
    '&CMD=PROCESS_VARIABLES'
    '&REQUEST_NO=0'
    '&CMD=PROCESS_VARIABLES'
    '&SUBCMD=VAR_SUBMIT'
    '&VAR_NAME_1=Variable in the query of your Target template'
    '&VAR_VALUE_EXT_1='
    I_CHAVL
    '>' I_TEXT '</a>'
    INTO c_cell_content.
    endif.
    end method.
    method STRUCTURE_CELL.
    *CALL METHOD SUPER->STRUCTURE_CELL
    *  EXPORTING
    *    I_X                 =
    *    I_Y                 =
    *    I_IOBJNM            =
    *    I_AXIS              =
    *    I_STRUCTUR_MEMBER   =
    *    I_STRUCTUR_MEMBER_2 =
    *    I_TEXT              =
    *    I_IS_SUM            =
    *    I_IS_REPETITION     =
    *    I_CELLSPAN          =
    *    I_CELLSPAN_ORT      =
    *    I_HRY_ACTIVE        =
    *    I_DRILLSTATE        =
    *    I_DISPLAY_LEVEL     =
    *  CHANGING
    *    C_CELL_ID           =
    *    C_CELL_CONTENT      =
    *    C_CELL_STYLE        =
    *    C_CELL_TD_EXTEND    =
    IF I_IOBJNM = '3AG5XBEXL78XSSA311CAJHVFD'. "UID of your structure
    CASE I_TEXT.
    WHEN 'Display Text of a selection in your structure' .
    concatenate
    '<A href='
    'BEx?sap-language=EN'
    '&CMD=LDOC'
    '&TEMPLATE_ID=Z************'
    '&SET_DATA_PROVIDER_1=DP1'
    '&INFOCUBE_1=Z******'
    '&QUERY_1=Z************'
    '&SET_DATA_PROVIDER_2=DP2'
    '&INFOCUBE_2=Z***********'
    '&QUERY_2=Z***************'
    '>' I_text '</a>'
    INTO c_cell_content.
    WHEN...
    END CASE.
    ENDIF.
    end method.
    method DATA_CELL.
    *CALL METHOD SUPER->DATA_CELL
    *  EXPORTING
    *    I_X                   =
    *    I_Y                   =
    *    I_VALUE               =
    *    I_DISPLAY_VALUE       =
    *    I_NUMERICAL_SCALE     =
    *    I_NUMERICAL_PRECISION =
    *    I_CURRENCY            =
    *    I_UNIT                =
    *    I_ALERTLEVEL          =
    *    I_IS_SUM              =
    *  CHANGING
    *    C_CELL_ID             =
    *    C_CELL_CONTENT        =
    *    C_CELL_STYLE          =
    *    C_CELL_TD_EXTEND      =
    *Make data in 8th Column as Hyperlink with Variable Passing
    if i_x = 8.
    concatenate
    '<A href='
    'BEx?sap-language=EN'
    '&CMD=LDOC'
    '&TEMPLATE_ID=Z*********'
    '&CMD=PROCESS_VARIABLES'
    '&REQUEST_NO=0'
    '&CMD=PROCESS_VARIABLES'
    '&SUBCMD=VAR_SUBMIT'
    '&var_name_1=Z***************'
    '&var_operator_1=BT'
    '&var_sign_1=I'
    '&var_value_low_ext_1='
    c_cell_content
    '&var_value_high_ext_1='
    end_date
    '&VAR_NAME_2=Z**********'
    '&VAR_VALUE_EXT_2='
    filter
    '>'
    c_cell_content
    '</a>'
    INTO c_cell_content.
    endif.
    endmethod.
    Also check this out... this link has a whole bunch of information about table interfaces..
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/49dfeb90-0201-0010-a1a2-9d7a7ca1a238
    Hope this helps!
    Thanks

  • Significance of sync key for a Sync Bo

    Hi,
    What is meant by the sync Key in MI Client application. How is it used to identify a particular sync BO instance.
    Is it the same as that of the key field selected in the syncbo mapping.
    If the syncbo has multiple key fields what would be the sync key in the application
    Regards
    Raja Sekhar

    Hi Raja,
    <<<1>>>
    Anyway u will not have any difficulty to find out the SyncKey. It is coming as the first field of the SyncBO instance ,whether it is an item instance or header instance.
    just go throught this..
    For modifying one  syncbo instance ,
    in the meRepMeta.xml file corresponding to that SyncBo ,  allowModify="true".This must be satisfied.
    For modifying one  syncbo instance , u can do it like described below..
      Here u must need the sync key of the header .u have to find out this sync key using one of the standard methods(first entry  of a row is sync key of that sync bo instance).
    Then to modify the header instance .
    1) u can use the standard method <b>modifyRowInDB</b> . here the input parameters are SyncBo name , Sync Key , Value and index of the Column. But the limitation of this method is ,if u have more than one field to modify , then u have to use this method inside the loop. In this method , we are explicitely calling the commit() method . So during looping if one of the modification fails for particular sync bo instance , then we have to manually do the rollback for the previous transactions.
      we can change the method like this..
    public void modifyHeaderOfSyncBo(String syncBoName,String syncKey,String headerFieldNames[],String  headerFieldValues[])throws SmartSyncException, PersistenceException
    SyncBo syncBo = getSyncBoInstance(syncBoName, syncKey);
    SmartSyncTransactionManager transactionManager;
              transactionManager = dataFacade.getSmartSyncTransactionManager();
              if (!transactionManager.isTransactionStarted())
                   transactionManager.beginTransaction();
              for (int c = 0; c < headerFieldNames.length; c++) {
                   setHeaderFieldValue(syncBo, headerFieldNames[c], headerFieldValues[c]);
    //Commit the transaction          
    transactionManager.commit();
    To modify the Item Instance
    In two ways
    1) If we know the sync key of the header and there is only one item instance.
    Here using the header Sync key , we have to find out the SyncBo instance -->> then find out the item instance / instances
    -->> then modify the item.
    public void  modifyItemOfSyncBo(String syncBoName,String headerSyncKey,String itemName,String itemFieldNames[],String  itemFieldValues[])throws SmartSyncException, PersistenceException
    SyncBo syncBo = getSyncBoInstance(syncBoName, headerSyncKey);
    Row [] itemRows = getItemInstances(syncBo,itemName);//this is the standard method.
    // itemRows[0] is the one and only item instance
    SyncBoDescriptor sbd =
       descriptorFacade.getSyncBoDescriptor(syncBoName);
    RowDescriptor rd = sbd.getRowDescriptor(itemName);
    SmartSyncTransactionManager transactionManager;
              transactionManager = dataFacade.getSmartSyncTransactionManager();
              if (!transactionManager.isTransactionStarted())
                   transactionManager.beginTransaction();
              for (int c = 0; c < itemFieldNames.length; c++) {
              FieldDescriptor fdDesc = rd.getFieldDescriptor(itemFieldNames[c]);
                                    setItemFieldValue(fdDesc, itemRow[0], itemFieldValues); // this method is given below
              transactionManager.commit();
    2) If we know the  Sync key of the item instance.
        Here what u have to do is find out the particular sync bo item instance and then modify as mentioned above.
    Here we know the Sync Key of the item instance ,so here we will get the exact item row instance.So after retrieving the item row instance just modify this item row instance with new values as mentioned above.
    This method is for setting values in item instance.Just follow this method
         private void setItemFieldValue(FieldDescriptor fd, Row item, Object value)
              throws SmartSyncException, PersistenceException {
              BasisFieldType bft = fd.getFieldType();
              //                 integer oprator
              if (bft == BasisFieldType.N) {
                   NumericField nf = item.getNumericField(fd);
                   if (nf != null) {
                        BigInteger ii = new BigInteger(value.toString());
                        //                 nf.setValue(ii);
                        item.setFieldValue(fd, ii);
              //                 charactor operator
              if (bft == BasisFieldType.C) {
                   CharacterField cf = item.getCharacterField(fd);
                   if (cf != null) {
                        //                 cf.setValue(newValues<i><i></i>toString());
                        item.setFieldValue(fd, value);
              //                 decimal operator
              if (bft == BasisFieldType.P) {
                   DecimalField df = item.getDecimalField(fd);
                   if (df != null) {
                        if (value.equals(""))
                             value = "0";
                        BigDecimal bd = new BigDecimal(value.toString());
                        //                 df.setValue(bd);
                        item.setFieldValue(fd, bd);
              if (bft == BasisFieldType.D) {
                   DateField df = item.getDateField(fd);
                   if (df != null) {
                        if (value.equals("")) {
                             Date syDatum = new Date(System.currentTimeMillis());
                             value = syDatum.toString();
                        Date dat = Date.valueOf(value.toString());
                        item.setFieldValue(fd, dat);
    <<<<<<<<<<<<<<<<
    2. How is the syncbo organized in the mobile device. What is the significance of rows?
    Does each row represent one instance of syncbo.
    >>>>>>>>>>>>>>>>
      Ur understanding is correct. Data is organized in the form of header and item.
      One Header instance can have 0 , one or more item instances.
      I dont know , how exactly that link is maintained in bw HEADER and ITEM instance. Because i could see only this SYNC_KEY field in the instances.
      I think it might be handled by the SmartSync Framework itself.
    <<<<<<
    For example each work order would be a row in the work order syncbo.
    The fields declared in the getlist bapi  wud be part of header and fields in the Getdetail bapi be the items.
    >>>>>>
    Number of rows returned by the GETLIST BAPI Wrapper actually represents the HEADER instances in the SmartSync.
    We may have 0 , one or more ITEM instances for particular HEADER instance.
    (During Sync , First GETLIST collects all HEADER instances . Then looping though each HEADER instance , corresponding GETDETAIL is executed).
    <<<<<<
    if Getdetail bapi consists of fields from different tables, how are these mapped to the item.
    >>>>>>
    I didnt get ur question exactly.
    Anyway... ,,
      For creating ITEM tables for GETDETAIL , we have to DEFINE one structure , which contain the fields from all tables.
    This structure is including as a TABLE parameter of ur GETDETAIL Wrapper. And u will be filling values in these fields that are present in ur STRUCTURE which is included as a TABLE param .
      While Creating SncBOs using SyncBO Builder , u are mapping ur required fields. Only these fields are visible in the client device. Depending upon the
      ugage (i meant whether CREATE Wrapper  , MODIFY , DELETE ) , u can create , modify and Delete these instances.
    Refer these links also .. I have already given some  sample codes in these forums.... refer these .. In the generated code itself , some null pointer exceptions are not handled.
    In this sample code , that is handled..
    Re: Regarding modifying Sync BO
    Re: Insert 2 Row (related on the same TopRow) in a syncbo
    Re: Order child + item structure in a SyncBo
    Regards
    Kishor Gopinathan

Maybe you are looking for