Problems modifying a itab

Hi all.
We are enhacing the tcode vfx3 report adding new fields. At this point we have added 2 fields (netwr and mwsbk) by the use of a user exit. Everything is ok.
Now we want to add a new field(mrnkz 'char 1'), the steps we follow are the same as we followed before, but now it is not working properly.
CODE:
"loop sobre la tabla
LOOP AT c_vmcfa.
  READ TABLE it_struct INTO lwa_struct WITH KEY vbeln = c_vmcfa-vbeln.
  c_vmcfa-netwr = lwa_struct-netwr.
  c_vmcfa-mwsbk = lwa_struct-mwsbk.
  c_vmcfa-mrnkz = lwa_struct-mrnkz.
  MODIFY TABLE c_vmcfa." TRANSPORTING netwr mwsbk mrnkz.
  CLEAR c_vmcfa.
ENDLOOP.
We are having problems when the value of lwa_struct-mrnkz contains a 'X'. In this case, the modify throws an exception. When the value of  lwa_struct-mrnkz isn't a 'X', the line is modified properly. The exception thrown is:
"Object SDBLBDDL of class RE and language EN does not exist. "
How can i solve this problem? Is this a documentation problem?.

Hi
use index for modifyin the table.
like;
LOOP AT c_vmcfa.
data; lv_index type sy-tabix.
lv_index = sy-tabix.
  READ TABLE it_struct INTO lwa_struct WITH KEY vbeln = c_vmcfa-vbeln.
  c_vmcfa-netwr = lwa_struct-netwr.
  c_vmcfa-mwsbk = lwa_struct-mwsbk.
  c_vmcfa-mrnkz = lwa_struct-mrnkz.
  MODIFY TABLE c_vmcfa index lv_index." TRANSPORTING netwr mwsbk mrnkz.
clear lv_index.
ENDLOOP.
Thanks
Lalit

Similar Messages

  • Delete modify in itab

    hi gurus,
    i am new in abap and i have a report in which in a selection screen
    has 3 fields as months cur. date and material no.
    and two parameters as chkbox on selection of these chkbox
    one for delete and other for modify data in table.
    plz send the codes abt delete and modify
    i make it this but have an error.
    TABLES: S225.
                           D A T A
    DATA: OK_CODE LIKE SY-UCOMM.
    *DATA: ITAB LIKE S225 OCCURS 0 WITH HEADER LINE.
                 SELECTION SCREEN / PARAMETERS                            *
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
    SELECT-OPTIONS:S_spmon FOR s225-spmon OBLIGATORY LOWER CASE,
                   s_sptag FOR s225-sptag OBLIGATORY,
                   S_MATNR FOR S225-MATNR OBLIGATORY.
    SELECTION-SCREEN SKIP 1.
    PARAMETERS: P1 AS CHECKBOX DEFAULT 'X',
                P2 AS CHECKBOX.
    SELECTION-SCREEN END OF BLOCK b1.
                      START OF SELECTION
    START-OF-SELECTION.
    PERFORM GET_DATA.
    PERFORM DELETE_DATA.
    *forms to fetch data in fields
    FORM GET_DATA.
    SELECT spmon sptag matnr FROM s225
    *INTO CORRESPONDING FIELDS OF TABLE ITAB
    WHERE SPMON IN S_SPMON AND
          SPTAG IN S_SPTAG AND
          MATNR IN S_MATNR.
    ENDFORM.
    *form for delete data
    FORM DELETE_DATA.
    CASE OK_CODE.
    WHEN 'P1'.
    DELETE SPMON FROM s225.
    MESSAGE I002 WITH 'Data is Deleted'.
    *WHEN 'P2'.
    *INSERT: SPMON,SPTAG, MATNR INTO ITAB.
    *MESSAGE S004 WITH 'Data is Saved Successfully'.
    ENDCASE.
    ENDFORM.
    plz help me and send information to correct it.
    thanks.

    Hi Jayant
    Looks like your program is a report. Hence, don't handle the selection screen inputs through OKC_DE, which is generally forllowed for Dialog or Module Pool Program. You can change your code as below, that solve the problem,
    TABLES: S225.
    D A T A
    DATA: OK_CODE LIKE SY-UCOMM.
    *DATA: ITAB LIKE S225 OCCURS 0 WITH HEADER LINE.
    SELECTION SCREEN / PARAMETERS *
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
    SELECT-OPTIONS:S_spmon FOR s225-spmon OBLIGATORY LOWER CASE,
    s_sptag FOR s225-sptag OBLIGATORY,
    S_MATNR FOR S225-MATNR OBLIGATORY.
    SELECTION-SCREEN SKIP 1.
    PARAMETERS: P1 AS CHECKBOX DEFAULT 'X',
    P2 AS CHECKBOX.
    SELECTION-SCREEN END OF BLOCK b1.
    START OF SELECTION
    START-OF-SELECTION.
    PERFORM GET_DATA.
    PERFORM DELETE_DATA.
    *forms to fetch data in fields
    FORM GET_DATA.
    SELECT spmon sptag matnr FROM s225
    *INTO CORRESPONDING FIELDS OF TABLE ITAB
    WHERE SPMON IN S_SPMON AND
    SPTAG IN S_SPTAG AND
    MATNR IN S_MATNR.
    ENDFORM.
    *form for delete data
    FORM DELETE_DATA.
    if P1 is not initial.
    DELETE SPMON FROM s225.
    MESSAGE I002 WITH 'Data is Deleted'.
    endif.
    if P2 is not initial.
    modify SPMON from S225.
    MESSAGE I002 WITH 'Data is Modified'.
    endif.
    ENDFORM.
    Hope this helps !
    Kind Regards
    Ranganath

  • Problem in Update ITAB

    Hi,
    We have a scenario like this:
    SO No.......Material...........Plant..........BILF Open Qty..........BILR open Qty
    111111......ABC................BILR.............100.00....................100.00
    222222......BCD................BILR.............200.00....................200.00
    333333......CDE.................BILF.............300.00......................00.00
    We want that where plant = BILR, then open qty should show in respective column. Now please look BILR open qty. 100 & 200 is showing in both columns. I want like this..
    SO No.......Material...........Plant..........BILF Open Qty..........BILR open Qty
    111111......ABC................BILR...............00.00....................100.00
    222222......BCD................BILR...............00.00....................200.00
    333333......CDE.................BILF.............300.00......................00.00
    I think we are unable to clear the itab.
    Please have a look on this code...
    SELECT vbeln posnr matnr werks omeng FROM vbbe INTO CORRESPONDING FIELDS OF TABLE itab WHERE vbeln IN vbeln AND matnr IN matnr.
    IF sy-subrc <> 0.
      MESSAGE 'DATA NOT FOUND.' TYPE 'I'(001).
    ENDIF.
    SORT itab BY vbeln .
    LOOP AT itab.
      SELECT single maktx FROM makt INTO itab-maktx WHERE matnr = itab-matnr.
      IF itab-werks = 'BILR'.
        SELECT SINGLE omeng FROM vbbe INTO itab-omeng1 WHERE vbeln = itab-vbeln AND matnr = itab-matnr AND werks = 'BILR'.
      ELSE.
      ENDIF.
      MODIFY itab .
    ENDLOOP .
    Regards,

    IF itab-werks = 'BILR'.
    SELECT SINGLE omeng FROM vbbe INTO itab-omeng1 WHERE vbeln = itab-vbeln AND matnr = itab-matnr AND werks = 'BILR'.
    Add one more column to itab.
    clear itab-(field for BILF open item) .
    MODIFY itab .
    ENDIF.

  • Problems modifiing field data

    I am having a problem using SetProperty to modify fields in a multipage pdf file.
    First i use xmpMeta.DumpObject ( DumpCallback, sLogFile );
    to dump the existing data to a terminal window.
    At first run this works fine and i get the existing value set in the Category field of the "Categories" Panel.
    Next i use xmpMeta.SetProperty ( kXMP_NS_Photoshop, "Category", "2" );
    to change the value of a field and then call xmpFile.PutXMP ( xmpMeta ); to save the file.
    When i open the file again in my test application the data is empty when doing the dump to the terminal window.
    If I open it in acrobat, however, the data is there. I am some how corrrupting the data when wrtiting it. Can anyone help quide me as to what I may be doing wrong?
    here is a sample of my code:
    static void EditProperties ( const char * fileName )
    bool ok;
    SXMPMeta xmpMeta;
    SXMPFiles xmpFile;
    XMP_FileFormat format;
    XMP_OptionBits openFlags, handlerFlags;
    XMP_PacketInfo xmpPacket;
    xmpFile.OpenFile ( fileName, kXMP_UnknownFile, kXMPFiles_OpenForUpdate );
    ok = xmpFile.GetFileInfo ( 0, &openFlags, &format, &handlerFlags );
    if ( ! ok ) return;
    ok = xmpFile.GetXMP ( &xmpMeta, 0, &xmpPacket );
    if ( ! ok ) return;
    // Remove extaneous properties to make the dump smaller.
    SXMPUtils::RemoveProperties ( &xmpMeta, "http://ns.adobe.com/camera-raw-settings/1.0/", 0, true );
    SXMPUtils::RemoveProperties ( &xmpMeta, "http://ns.adobe.com/tiff/1.0/", 0, true );
    SXMPUtils::RemoveProperties ( &xmpMeta, "http://ns.adobe.com/exif/1.0/", 0, true );
    SXMPUtils::RemoveProperties ( &xmpMeta, "http://ns.adobe.com/exif/1.0/aux/", 0, true );
    SXMPUtils::RemoveProperties ( &xmpMeta, "http://ns.adobe.com/pdf/1.3/", 0, true );
    SXMPUtils::RemoveProperties ( &xmpMeta, "http://ns.adobe.com/xap/1.0/t/pg/", 0, true );
    SXMPUtils::RemoveProperties ( &xmpMeta, kXMP_NS_XMP, "Thumbnails", true );
    SXMPUtils::RemoveProperties ( &xmpMeta, "http://purl.org/dc/elements/1.1/", 0, true );
    SXMPUtils::RemoveProperties ( &xmpMeta, "http://ns.adobe.com/xap/1.0/", 0, true );
    SXMPUtils::RemoveProperties ( &xmpMeta, "http://ns.adobe.com/xap/1.0/mm/", 0, true );
    SXMPUtils::RemoveProperties ( &xmpMeta, "http://ns.adobe.com/pdfx/1.3/", 0, true );
    //dump the data
    fprintf ( sLogFile, "\n:::::::::: Initial XMP from %s ::::::::::\n\n", fileName );
    xmpMeta.DumpObject ( DumpCallback, sLogFile );
    //change the properties
    xmpMeta.SetProperty ( kXMP_NS_Photoshop, "Category", "2" );
    //dump it again
    fprintf ( sLogFile, "\n\n:::::::::: Modified XMP from %s ::::::::::\n\n", fileName );
    xmpMeta.DumpObject ( DumpCallback, sLogFile );
    xmpFile.PutXMP ( xmpMeta );
    xmpFile.CloseFile();

    Are any of you going to the Adobe Developer Conference scheduled to be held for plugin providers at San Jose on Nov 7/8?

  • Delete modify in itab output display

    hi,
    i am create a query for delete data from database table by using an internal table i am delete data from DB table but a problem are come as in output display
    i am showing  the
    NUMBER OF ENTRIES ARE DELETE FROM TABLE: 2
    NUMBER OF ENTRIES ARE REMAIN IN TABLE AFTER DELETEION:
    seletion screen contains 
    SELECT-OPTIONS: s_ordid FOR zapolp22-ordid,   "APO order id
                                s_matnr FOR zapolp22-matnr,   "Material Number
                     s_locto FOR zapolp22-locto.   "APO Destination location
    PARAMETERS: p_days TYPE i. "Number of days
    the problem are as:
    if i am given only P-days parameter value 3
    than it works as fine
    showing output right as 2 rows are deleted
    and 8 rows are remains in table
    if i given all fields fill up in selection screen
    as s_ordid----->4516 to 4517
        s_matnr---->85503 to 85505
       s_locto------> m100 to m101
    p_days----> 2
    then i get output display as
    number of entries  are deleted   2
    number of entries are remain in table  0.
    but the 2 rows are deleted from DB table and 8 rows are remain in table but it not show the 8 rows on display screen it shows zero.
    my code is as:
    DATA:  lv_count  TYPE i,
           lv_count1 TYPE i.
    DATA: lv_date TYPE sy-datum.
    SELECT mandt
           ordid
           schedid
           matnr
           locto
           lfmng
           lfdat
           locfr
           rqmng
           rqdat AS lv_date
           prckz
           blkstk
           oppdelqty
           zzapologmod
           zzflagurgent
           zzapottype
           zzndays_l_time
    FROM zapolp22 INTO TABLE lt_output
    WHERE ordid IN s_ordid  AND
           matnr IN s_matnr  AND
           locto IN s_locto.
    SORT lt_output[] BY rqdat.
    >Number OF Days to be Counted
    lv_date = sy-datum - p_days.
    LOOP AT lt_output.
      IF lt_output-rqdat LT lv_date.
        MOVE-CORRESPONDING lt_output TO lt_delete.
        APPEND lt_delete.
        lv_count = lv_count + 1.
      ELSE.
        lv_count1 = lv_count1 + 1.
      ENDIF.
    endloop.
    DELETE FROM zapolp22  WHERE rqdat LT lv_date AND
                                ordid IN s_ordid AND
                                matnr IN s_matnr AND
                                locto IN s_locto.
    IF sy-subrc = 0.
      WRITE:/25 'Number of entries deleted            :', lv_count.
      WRITE:/25 'Number of entries remaining          :', lv_count1.
    ELSEIF sy-subrc NE 0.
      WRITE:/ 'No data are selected for delete'.
    ENDIF.
    Tell me where in this code i do mistake.
    Thanks jayant.

    I don't know the contents of the table, but if you increase the number of restrictions in the SELECT statement, it will probably have lesser entries.
    Now, you are not really counting the total number of rows left in the table, but the total number of rows in the table that match the criterion.
    Basically, the first time (with lesser options) 10 rows are put into internal table, and 2 are deleted. So 8 are left.
    In the second time, only 4 rows are getting selected, of which 2 are deleted, and 2 are left in the internal table NOT in the database table. In the database table, more rows are left (because they never got selected into the itab)
    But if you want to count the total number of rows left in the DB, its better to count the number of rows in the end of the program with:
    SELECT COUNT(*) FROM dbtab INTO lv_integer.
    This can be pretty slow if the table is huge.

  • Problem Modify and optimize an application

    We have problem using modify application and optimize application on a specific application.
    The application name is GPFormat.
    When we do a modify application and choose "Reassign SQL Index" we get the following errror message:
    Error message:: Cannot drop the index 'dbo.tblFACTGPFormat.IX_tblFACTGPFormat', because it does not exist or you do not have permission.
    And if we do an optimize application with "Full Optimize" and "Compress database" we get the following errror message:
    Error message:There is already an object named 'CONSTTBLFACTGPFORMAT' in the database.
    Could not create constraint. See previous errors.
    We using BPC 5,1 SP5 and SQL2005

    It seems a previous run of optimize with compress was failing.
    So you have to rename CONSTTBLFACTGPFORMAT table and make sure that installation user
    of SAP BPC has the correct access regarding table tblFactGPFFormat.
    Are you using custom indexes for this table?
    I suggest to drop the existing cluster index for table tblFactGPFormat and after you have to run another optimize with compress. This should fix all your problems.
    Regards
    Sorin Radulescu

  • Problem Modifying the reports

    Hi friends,
    I changed the name of my Business Model in Admin tool.
    Now whenever I'm trying to modify my previous reports, I'm not able to access the columns there and it gives me the following message on the left.
    "Either you do not have permission to use the subject area "ABC" within Answers, or the subject area does not exist."
    Please help

    This is a problem that I believed Oracle fixed with 10.1.3.4.
    In previous versions, you will need to replace the columns. (An alias is created so if there is no change to the design, the reports would run fine. But when you try to make modifications to the design is when the problem occurs.)

  • Problem modifying language text attribute in a style

    Hello out there,
    I seem to be getting a strange side effect when I modify the language text style in paragraph styles. The other styles which are not modified seem to lose their ability to modify text to which they are applied, at least the way they use to.
    For example, if I start out in English:USA with four paragraph styles all based on the root paragraph style and then modify paragraph styles 1, 2 and 4 to be Spanish:Castilian, leaving style 3 to remain in English:USA, style 3 starts acting like it was changed to Spanish:Castilian, even though I can clearly see that it remains in English:USA from within the style's editing dialog. Note that I have left style 3 completely untouched, as well as the root style ("No Paragraph Style"). It's like some local override has been turned on permanently, unknown to style 3 because when it is applied to either English or Spanish locally overrided text, it shows no plus sign next to it in the style palette. Nevertheless, the styles I did change to Spanish:Castilian will show a plus sign if applied to text that is locally overrided with English:USA.
    I have not touched any text, I am just manipulating paragraph styles. Do I need to do anything special to the text of the document as well? This completely baffles me because as far as I can see, I have done all that the documentation says to do. I am using IStyleUtils to create the edit style command. Is there a problem with that? Do I have to set up the command myself? Is there some idiosyncracy with the Language text style that I should be aware of?
    I am including my code for changing the Language text attribute of a style. Perhaps one of you can see what I may be doing wrong or am missing:
    ErrorCode CDocStyleTranslation::setStyleLanguage(UID langUID, UID theStyleID, IDataBase* theStyleDB)
    ErrorCode theErr = kFailure;
    // get our style's info to pass into the command
    IStyleInfo * theStyleInfo = (IStyleInfo*)theStyleDB->QueryInstance(theStyleID, IID_ISTYLEINFO);
    ASSERT(theStyleInfo);
    if (!theStyleInfo)
    return theErr;
    PMString styleName = theStyleInfo->GetName(); // for debugging
    do
    // set the language of a new language text attribute
    ITextAttrUID * newLangAttr = (ITextAttrUID*)::CreateObject(kTextAttrLanguageBoss, IID_ITEXTATTRUID);
    ASSERT(newLangAttr);
    if (!newLangAttr)
    break;
    newLangAttr->SetUIDData(langUID);
    // get our style utilities directly from the UtilsBoss
    IStyleUtils * styleUtils = (IStyleUtils *)UtilsBoss::QueryUtils(IID_ISTYLEUTILS);
    ASSERT(styleUtils);
    if (!styleUtils)
    break;
    // set up the command
    ICommand* editLangCmd = styleUtils->CreateEditStyleCmd(theStyleInfo, newLangAttr);
    ASSERT(editLangCmd);
    if(!editLangCmd)
    break;
    // process the command
    theErr = CmdUtils::ProcessCommand(editLangCmd);
    // clean up
    editLangCmd->Release();
    styleUtils->Release();
    newLangAttr->Release();
    }while(false);
    theStyleInfo->Release();
    return theErr;

    Well, I am testing to make sure that I'm using a language that exists in the workspace and though it's different from what you suggested, Jackeen, I think it is viable. The following is an extract of my code which provides some context for my "setStyleLanguage" function above. See what you think.<br /><br />bool16 CDocStyleTranslation::translateParaStyles(LDSLanguage& theLang)<br />{<br />     bool16 succeeded = kFalse;<br />     <br />     // get Adobe's language name from our language database record<br />     langID theLangIDs = theLang.getLangID();<br />     PMString langName(theLangIDs.AdobeName.c_str());<br /><br />     do<br />     {<br />          // does this language exist in inDesign's language list?<br />          bool16 langExists = kFalse;<br />          <br />          InterfacePtr<ILanguageList> docLangList(this, UseDefaultIID());<br />          ASSERT(docLangList);<br />          if (!docLangList)<br />          {<br />               break;<br />          }<br />          <br />          // (if langName is not included in InDesigns list of languages, <br />          ILanguage* theIDLang = docLangList->QueryLanguage(langName); // the InDesign Language<br />          if (!theIDLang)<br />          {<br />               // the attribute will be set to [No Language])<br />               theIDLang = docLangList->QueryNthLanguage(0);<br />          }<br />          else <br />          {<br />               langExists = kTrue;<br />          }<br />          ASSERT(theIDLang);<br />          if (!theIDLang)<br />          {<br />               break;<br />          }<br />          <br />          // find out the UID for the language<br />          UID langUID;<br />          InterfacePtr<IPMPersist> langPersist(theIDLang, UseDefaultIID());<br />          ASSERT(langPersist);<br />          if (!langPersist)<br />          {<br />               break;<br />          }<br />          langUID = langPersist->GetUID();     <br />          theIDLang->Release();<br />     <br />          // march through our paragraph styles and "translate" them<br />          InterfacePtr<IStyleNameTable> paraStylTbl(this, IID_IPARASTYLENAMETABLE);<br />          ASSERT(paraStylTbl);<br />          if (!paraStylTbl)<br />          {<br />               break;<br />          }<br />          <br />          InterfacePtr<IPMPersist> docPersist(this, UseDefaultIID());<br />          ASSERT(docPersist);<br />          if (!docPersist)<br />          {<br />               break;<br />          }<br />          <br />          IDataBase * paraStylDB = docPersist->GetDataBase();<br />          <br />          for (int32 i = 1; i < paraStylTbl->GetNumStyles(); i++) // do not translate the root<br />          {<br />               // retrieve each style's translation settings<br />               UID theStyleID = paraStylTbl->GetNthStyle(i);<br />               <br />               InterfacePtr<IStyleTranSettings> theStyleTranSet(paraStylDB, theStyleID, UseDefaultIID());<br />               ASSERT(theStyleTranSet);<br />               if (!theStyleTranSet)<br />               {<br />                    break;<br />               }<br />               ParaStylTranSettings pstSet = theStyleTranSet->getParaStylTranSettings();<br />               <br />               // based on the style translation settings and the language's info, do the following:<br />               <br />               if (pstSet.transOpt != kDontTranslate)<br />               {<br />                    // translate the language<br />                    setStyleLanguage(langUID, theStyleID, paraStylDB);<br />                    <br />...

  • Problem Modifying ALV Field Catalog

    Hi,
    One grid of my ALV report displays material numbers as 0100.2000. But when I use method FILE_SAVE_DIALOG to save ALV report to Excel, the material number changes to 100.2.
    I have tried modifying my field catalog as shown at end of this message, but it doesn't change the output in Excel.
    Does anyone have a fix for this problem? I will award points! - Beth
    FORM build_fieldcatalog.
      DATA: ls_fieldcat TYPE lvc_s_fcat.
      CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
           EXPORTING
                i_structure_name = 'ZBOM_ALV'
           CHANGING
                ct_fieldcat      = gt_fieldcat.
      LOOP AT gt_fieldcat INTO ls_fieldcat where fieldname eq 'COLUMN3'.
            ls_fieldcat-DATATYPE = 'NUMC'.
            ls_fieldcat-LZERO = 'X'.
            ls_fieldcat-REF_TABLE = ''.
            ls_fieldcat-DECIMALS_O = '4'.
            ls_fieldcat-INTTYPE = 'N'.
            ls_fieldcat-OUTPUTLEN = '20'.
        MODIFY gt_fieldcat FROM ls_fieldcat.
      ENDLOOP.
    ENDFORM.                               " build_fieldcatalog

    Hi,
    If you want to save any data like 0100.2000 in the excel, you need to write it as Number with decimal places 4, so it will take 4 decimal places . coming to your ALV, you need to pass the same structure to the Excel i mean the passing variable should be lilke Number with 4 decimal places ..
    Regards
    Sudheer

  • Problem modifying DTP Filters

    Hi All,
    i have a DTP based on an Open HUB that has many Infoobjects filters.
    i'm trying to add the 0calmonth in the selection of my filter, i save and activate but after i don't find the 0calmonth in  my filter.
    can you give me please some advice what sould i do to fix that.
    it's strange i tried many times and i don't understand what is the problem.
    Thanks
    Bilal

    Hello,
    it doesn't work.
    i have the 0calmonth in the cube but i don't have it in the open hub, do you think that the problem is that i should have the 0calmonth in the open hub?
    in the transformation the 0calmonth is mapped with other 2 time characteristics created in the open hub.
    when i go inside the dtp in change mode, i can go to filter and change selections transfering the 0calmonth from "list of other selectables fields" to "list of fields in selection screen" but when i save and activate again my dtp i lost it.
    Bilal

  • Problem modifying FPGA code in an Application Builder-based system

    I've inherited a working test system which uses LabVIEW FPGA, LabVIEW, Application Builder, and third party tools.  The FPGA module (a FlexRIO) is responsible for generating test signals to a DUT and acquiring DUT output data.  The host LabVIEW code controls the FlexRIO and acquires the test data.  Application Builder is used to convert the host LabVIEW code to a Windows DLL so that it can be in turn controlled by higher level data analysis software running on Windows.
    All of this currently works, and we're using it on a daily basis to test production devices.
    We need to modify the FPGA operation to change the way the tests operate.  We've modified the the FPGA VI to operate as we need it to and rebuilt the FPGA code (resulting in a new bit file), but subsequent runs of the test stack do not show the change to the operation of the FPGA code (the signals it is generating look exactly the same as in the original, unmodified, VI).  We've tried renaming, deleting, and moving the bit file, but operation of the system is always exactly the same, even when the bit file is named differently or not located in the expected directory.  We can't seem to affect the behavior we get out of the FPGA.  It seems like we're not rebuilding something correctly, or that the system somehow has a copy of the old bit file stored away some place that it's using instead of the desired bit file.
    We've verified that the newly created bit file is different than the original bit file, so it appears that the FPGA build process is succeeeding.  I see no errors from LabVIEW when I build the FPGA code.
    Does a DLL-ized version of LabVIEW host code operate the same as the same VI run from within the LabVIEW environment?  When the DLL loads the FlexRIO, does it do so from the same referenced file path (I have the "Open FPGA VI Reference" properties set to use the bitfile, and the "Run the FPGA VI" checkbox is checked).  We've power-cycled the host PXIe chassis between software runs to make sure the configuration memory in the FlexRIO is cleared.
    It seems highly suspicious that we see the FPGA come up and run even when the bit file has been renamed or moved from the directory indicated in the "Open FPGA VI Reference".  I would think that the DLL would attempt to open that file, fail to find it, and trip some sort of error dialog.  But this doesn't occur, the FPGA gets loaded normally, and the test system operates as if nothing had been touched.
    Previous developers were able to make this build process work, but it seems we're missing some critical step needed to actually update the code that ends up running on the FPGA.
    The system is LabVIEW 2012.

    The FPGA build definition has the bitfile filename hardwired into it, so the name is constant across rebuilds of the FPGA code. So we always have the same bitfile name (and consequently if we're not careful about saving the old files, then the old bitfile will be overwritten by a new build).
    I could try your suggestion about the alternate calling method, but I'm hesitant about changing a build process that was known to work. It seems to me that I'm somehow not building the software correctly, as if I don't understand something about the DLL build process that's keeping the new FPGA code from being used.
    To reiterate, our build process is:
    1) Modify the LabVIEW FPGA VI
    2) "Run" the FPGA VI to compile it (by the way, last night we tried a "Rebuild" on the FPGA code from the right click menu off the VI in the LabVIEW project and that also has failed to change the results)
    3) Build the host DLL code by right clicking the DLL build definition in the LabVIEW project and selecting Build
    4) Copy the resulting host DLL over to the directory location where the higher level Windows software expects to find it
    5) Run the higher level Windows software (at which point we view waveforms generated by the FlexRIO to see if the FPGA's behavior has changed).
    We've verified that the LabVIEW DLL won't rebuild if we rename the bitfile (LabVIEW gives an error saying it can't find the bitfile). We've also verified that the higher level Windows software won't run if the LabVIEW DLL is renamed in its directory (so we know that that exact copy is being opened by the Windows software). Yet we can't seem to modify the FlexRIO's behavior through this process.

  • Performance Issue in modifying a ITAB

    Hi SDNs.,
    performance issue in modifying a internal table : code :
    *-Modify LT_DOC with Object list number(OBKNR) from SER03
      LOOP AT LT_SER03_HASH INTO LW_SER03.
        IF ( LW_SER03-OBKNR IS NOT INITIAL ).
          READ TABLE LT_DOC INTO LW_DOC WITH KEY  MBLNR = LW_SER03-MBLNR
                                                  MJAHR = LW_SER03-MJAHR
                                                  ZEILE = LW_SER03-ZEILE BINARY SEARCH.
          IF ( SY-SUBRC = 0 ). " AND ( LW_SER03-OBKNR IS NOT INITIAL ).
            LW_DOC-OBKNR = LW_SER03-OBKNR.
            LW_DOC-DATUM = LW_SER03-DATUM.
            LW_DOC-UZEIT = LW_SER03-UZEIT.
            MODIFY LT_DOC FROM LW_DOC INDEX SY-INDEX TRANSPORTING OBKNR DATUM UZEIT  WHERE MBLNR = LW_SER03-MBLNR AND
                                                                           MJAHR = LW_SER03-MJAHR AND
                                                                           ZEILE = LW_SER03-ZEILE .
          ENDIF.
        ENDIF.
        CLEAR: LW_DOC, LW_SER03.
      ENDLOOP.
    <b>could any one help me out in tuning this code...</b>
    Thank you
    RK S

    hi christain.,
    Thank you for reply.,
    field symbols not working for following case : could you pls check the following code and tel me how can i enhance the same...
    could you pls help me out..
    <b>Note : Without Modify stmt, the corresponding fields in following code are not updating. could any one pls help me out...</b>
      LOOP AT LT_FINAL_HASH1 INTO LW_FINAL_TEMP.
          IF LW_FINAL_TEMP-BWTAR IN R_BWTAR.
            READ TABLE LT_FINAL ASSIGNING <FS_FINAL> WITH KEY
              SERNR = LW_FINAL_TEMP-SERNR BINARY SEARCH.
            TAB_INDEX = SY-TABIX.
            WHILE SY-SUBRC = 0.
              IF <FS_FINAL>-SERNR <> LW_FINAL_TEMP-SERNR.
                SY-SUBRC = 9.
              ELSE.
                IF <FS_FINAL>-BWTAR IN R_BWTAR.
                  <FS_FINAL>-AG_DATE = <FS_FINAL>-BUDAT.
                  <FS_FINAL>-AG_MBLNR = <FS_FINAL>-MBLNR.
                 MODIFY LT_FINAL FROM LW_FINAL
                   TRANSPORTING AG_DATE AG_MBLNR WHERE SERNR EQ LW_FINAL_TEMP-SERNR.
                 CLEAR : LW_FINAL-AG_DATE,
                         LW_FINAL-BUDAT.
                  EXIT.
                ENDIF.
                TAB_INDEX = TAB_INDEX + 1.
                READ TABLE LT_FINAL ASSIGNING <FS_FINAL> INDEX TAB_INDEX.
              ENDIF.
            ENDWHILE.
    endloop.
    Thank you .,
    RK S

  • Problem modifying the connection details in a Report when using Weblogic 12

    Hi
    I have a j2ee application that uses the Java Reporting Component (JRC). At runtime, the code programmatically changes the connection type and schema name of a crystal report before running it. The connection that was used when designing the report is replaced with new JNDI parameters pointing to a Weblogic/Oracle datasource.
    The application works perfectly when using Weblogic 11, but the same code and report fails when deployed to Weblogic 12.
    I used Version 12.2.207.916 of the JRC, and updating  to the most current version I could find (12.2.217) did not solve the problem.
    The code snippet below shows how the connection and schema name is replaced for each of the tables in the report (not all the code is shown here)...
            PropertyBag propertyBag = new PropertyBag();
            propertyBag.put("Database DLL", "crdb_jdbc.dll");
            propertyBag.put("JNDI Datasource Name", jndiName);
            propertyBag.put("Initial Context", "");
                while (tableList.hasNext()) {
                    ITable table = tableList.next();
                    ITable tableNew = (ITable) table.clone(true);
                    IConnectionInfo connectionInfo = table.getConnectionInfo();
                    connectionInfo.setAttributes(propertyBag);
                    connectionInfo.setKind(ConnectionInfoKind.SQL);
                    tableNew.setQualifiedName(newQualifier + "." + table.getName());
                    tableNew.setConnectionInfo(connectionInfo);
                    dbController.setTableLocation(table, tableNew);
    The setTableLocation() function throws the following exception ...
    2014-05-13 16:46:27,173 ERROR [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)']  JRCCommunicationAdapter         detected an exception: Unexpected database connector error
                    at com.crystaldecisions.reports.queryengine.Table.u7(SourceFile:2409)
                    at com.crystaldecisions.reports.dataengine.datafoundation.AddDatabaseTableCommand.new(SourceFile:529)
                    at com.crystaldecisions.reports.common.CommandManager.a(SourceFile:71)
                    at com.crystaldecisions.reports.common.Document.a(SourceFile:203)
                    at com.businessobjects.reports.sdk.requesthandler.f.a(SourceFile:175)
                    at com.businessobjects.reports.sdk.requesthandler.DatabaseRequestHandler.byte(SourceFile:1079)
                    at com.businessobjects.reports.sdk.JRCCommunicationAdapter.do(SourceFile:1167)
                    at com.businessobjects.reports.sdk.JRCCommunicationAdapter.if(SourceFile:661)
                    at com.businessobjects.reports.sdk.JRCCommunicationAdapter.a(SourceFile:167)
                    at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.a(SourceFile:529)
                    at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.call(SourceFile:527)
                    at com.crystaldecisions.reports.common.ThreadGuard.syncExecute(SourceFile:102)
                    at com.businessobjects.reports.sdk.JRCCommunicationAdapter.for(SourceFile:525)
                    at com.businessobjects.reports.sdk.JRCCommunicationAdapter.int(SourceFile:424)
                    at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(SourceFile:352)
                    at com.businessobjects.sdk.erom.jrc.a.a(SourceFile:54)
                    at com.businessobjects.sdk.erom.jrc.a.execute(SourceFile:67)
                    at com.crystaldecisions.proxy.remoteagent.RemoteAgent$a.execute(SourceFile:716)
                    at com.crystaldecisions.proxy.remoteagent.CommunicationChannel.a(SourceFile:125)
                    at com.crystaldecisions.proxy.remoteagent.RemoteAgent.a(SourceFile:537)
                    at com.crystaldecisions.sdk.occa.report.application.ds.a(SourceFile:186)
                    at com.crystaldecisions.sdk.occa.report.application.an.a(SourceFile:108)
                    at com.crystaldecisions.sdk.occa.report.application.b0.if(SourceFile:148)
                    at com.crystaldecisions.sdk.occa.report.application.b0.b(SourceFile:95)
                    at com.crystaldecisions.sdk.occa.report.application.bb.int(SourceFile:96)
                    at com.crystaldecisions.proxy.remoteagent.UndoUnitBase.performDo(SourceFile:151)
                    at com.crystaldecisions.proxy.remoteagent.UndoUnitBase.a(SourceFile:106)
                    at com.crystaldecisions.sdk.occa.report.application.DatabaseController.a(SourceFile:2159)
                    at com.crystaldecisions.sdk.occa.report.application.DatabaseController.a(SourceFile:543)
                    at com.crystaldecisions.sdk.occa.report.application.DatabaseController.a(SourceFile:3898)
                    at com.crystaldecisions.sdk.occa.report.application.DatabaseController.setTableLocation(SourceFile:2906)
                    at com.systest.reporting.engine.crystal.CrystalReportEngine.replaceConnection(CrystalReportEngine.java:523)
                    at com.systest.reporting.engine.crystal.CrystalReportEngine.changeDataSource(CrystalReportEngine.java:449)
                    at com.systest.CrystalReportPane.setReportDataSourceDetails(CrystalReportPane.java:170)
                    at com.systest.CrystalReportPane.commandLoad(CrystalReportPane.java:136)
                    at com.systest.ReportRunner.CrystalReport.Load(CrystalReport.java:401)
                    at com.systest.ReportRunner.SaveReportToFile(ReportRunner.java:1385)
    Any idea what I can do to fix this ?
    Thanks in advance!

    Last reference in any documentation re. version of supported weblogic is 10.3.x. And it may very well be that things worked in weblogic 11, but as versions go by the differences get bigger and eventually the app stops working.
    I'll ping the Program Manager for definitive info and future support. Once I have the info, I'll update this Discussion.
    - Ludek
    Senior Support Engineer AGS Product Support, Global Support Center Canada
    Follow us on Twitter

  • Problem modifying CreateUserDataSet.xml just adding another attribute

    Hii
    May I know how did u get this resolved with OIM 11.1.1.5.0 . I am facing the same issue. The import says Transfer Completed. but it doesn't reflect in UI even after PurgeCache and Server restart. I am just adding a variable.
    i am using weblogic.properties with below values.
    wls_servername=oim_server1
    application_name=OIMMetadata
    metadata_from_loc=/iam/ml_home/Oracle_IDM1/server/bin/MDImport
    metadata_to_loc=/iam/ml_home/Oracle_IDM1/server/bin/MDExport
    metadata_files=/metadata/iam-features-requestactions/model-data/CreateUserDataSet.xml
    I have used the same file path to Export it from oim_server.
    And How I can remove the validations called by oracle.iam.requestactions.plugins.datavalidator.CreateUserDataValidator
    mentionedin the CreateUserDataSet.xml tag DataSetValidator.
    Thanx in advance
    Regards
    Tikendra Verma

    the jar that you sent me has two problems with the XMLBean code.
    1) the method you have is parse not Parse so the vb code snippet should be
    Dim xmlBean As Object
    Set xmlBean = CreateObject("XMLBean.Bean.1")
    xmlBean.parse filename
    not
    xmlBean.parse
    2) XMLBean.java is not a javabean! a javabean needs to extend the serializable interface.
    import java.io.*;
    import java.io.File;
    import java.io.PrintStream;
    import java.net.URL;
    import javax.swing.*;
    import javax.xml.parsers.SAXParserFactory;
    public class XMLBean implements Serializable
        public XMLBean()
        public String promptForFile()
            String returnVal = "";
            JFileChooser fileChooser = new JFileChooser("c:\\");
            fileChooser.showDialog(new JFrame(), null);
            try
                returnVal = fileChooser.getSelectedFile().toURL().toString();
                logMessage(returnVal);
            catch(Exception e)
                JOptionPane.showMessageDialog(new JFrame(), null, "Exception: " + e.getMessage(), 0);
            return returnVal;
        public void parse(String url)
            JOptionPane.showMessageDialog(new JFrame(), "Before call SAXParserFactory");
            SAXParserFactory spf;
            try
                spf = SAXParserFactory.newInstance();
            catch(Exception e)
                JOptionPane.showMessageDialog(new JFrame(), null, "Exception: " + e.getMessage(), 0);
            JOptionPane.showMessageDialog(new JFrame(), "File: " + url);
        private void logMessage(String message)
            System.out.println("(XMLBean) " + message);
        public static void main(String args[])
            XMLBean bean = new XMLBean();
            bean.parse(bean.promptForFile());
    }recompile, re'jar and re-try because i do not fail in a straight test and teh vb error i believe is related to it not being a javabean.

  • Problems modifying .vm file

    I use JEDIT to modify my default.vm file to change change a web page. I re-dploy via ANT. Everything seems to go well, but I keep getting the old version of the WEB page. I've cleared my TEMP files several times.
    I'm developing on WINDOWS XP. Browsing with IE.
    Mike R

    Hi Mike,
    I'm a bit confused here and I was hoping you could provide some more details. What is a default.vm file and what application is it associated with? How exactly does it modify what web page is displayed? What are you deploying to via ant, a web server, the J2EE SDK, something else?
    Thanks.

Maybe you are looking for

  • Something keeps corrupting iWeb prefs

    Quite often iWeb will not start up and I am forced to quit it. If I delete the prefs all is well. Anyone else having this problem?

  • ALE Customization steps

    Hi friends,   I am trying to customize ALE layer between two R/3 Systems to send IDOC of type 'MATMAS'. I know the steps like creation of Logical sytems, RFC destinations, Ports, Partner profiles and modelling. I am confused about which one to be don

  • Procedure for workflow

    hi pls can any one explain step by step procedure for sales order, purchase order workflow design. Thax heaps.

  • Transferring from Vision:M to Comput

    Sync in WMP0 seems to allow transfers to the ZVM, but not from it... The Creative Sync Manager allows for transfers from the ZVM, but is very limited. Only being able to transfer entire genres, artists, or playlists. Of course I used to be able to us

  • Printing generates an error message E1 on Brother printer

    When I print a Firefox webpage on my Brother printer HL-3070 CW it does not work. The printer kicks in but after just one second of fan trust it posts an error message "Unable to print E1" (Kan ej skriva E1 in swedish). I then need to shut off the pr