FDK: F_ApiUpdateBook() always results in FA_errno=-1

Hi,
I have seen this posted a couple times with no real solution and I would like to get to the bottom of it. I am trying to automatically update a book before saving as PDF via the FDK. It looks like the function F_ApiUpdateBook(..) should do this, but it always fails with FA_errno set to -1, which supposedly means:
#define FE_Transport -1 /* Communications is falling apart */
This is odd, because another poster (Angelo?) suggested that when he had this same problem and failed to make it work (receiving the same error), he just used the API call F_ApiSimpleGenerate(..). I tried this, and it appears to work - meaning it generates a bunch of files, and there are no errors. Good.
However! The docs recommend I call F_ApiUpdateXRefs(..) before calling F_ApiSimpleGenerate(..). The problem is - if I call this on my book it fails with FA_errno = -2, meaning an invalid book or document id. So perhaps I need to call this on every document in the book? But then what about all those other F_ApiUpdate* functions - do I need to call them individually as well? This just seems ridiculous when there is a perfectly good API function called F_ApiUpdateBook(..) that is supposed to do it all in one go!
Has anyone got this to work...ever? I have searched until I am blue in the face with no luck. I tried editing the parameter script to basically not attempt to update anything, and F_ApiUpdateBook(..) still fails with FA_errno = -1. It seems like there is something fundamentally wrong here.
I am on FrameMaker 7.2.
Thanks in advance for any help,
Mark.

Can anyone from Adobe tell me exactly what the error code FE_Transport means in the context of F_ApiUpdateBook(..)? This error code makes no sense because I can use the exact same book id in F_ApiSilentPrintDoc(..) and F_ApiSave(..) with no issues. I can also call F_ApiGetString(bookId, bookId, FP_Name) and I get back the name of my book. I can also call F_ApiGetId(0, FV_SessionId, FP_ActiveBook), and get back the same book id.
It seems to me that there is a bug in F_ApiUpdateBook(..) as I am not the only one to have come across this issue:
http://tinyurl.com/cv3aka
(original long link is http://www.framemakerfdksource.com/bloggers/fdk-coding/2007/10/09/frame_dev-fdk70-errors- with-f_apiupdatebook-same-as-re-baffled-by-f_apiupdatebook/)
There are even multiple postings here by others with the exact same problem (just do a Google search for "F_ApiUpdateBook" to see what I mean) but all of the links appears be dead and go to the top-level forum page and no amount of searching here has turned up the posts (I'm not sure why that is).
What does it means when F_ApiUpdateBook(..) returns -1?
Mark.

Similar Messages

  • Bsu tool 3.3.0.0  always results in error

    Hi
    Am using WLS 10.3.6 and when I try to apply patch it always results in an Exception even though I have provided all the arguments properly
    D:\wls1036GA\utils\bsu>bsu.cmd -prod_dir=d:\wls1036GA\wlserver_10.3 -patch_download_dir=d:\wls1036GA\utils\bsu\cache_dir -status=downloaded -view -verbose
    Exception in thread "Thread-0" java.lang.IllegalArgumentException: You must supply a valid version string. (10.3.0.0_VS2005.0.0)
    at com.bea.plateng.common.Version.<init>(Version.java:111)
    at com.bea.plateng.patch.PatchBundleTarget.<init>(PatchBundleTarget.java:309)
    at com.bea.plateng.patch.PatchTargetFactory.create(PatchTargetFactory.java:39)
    at com.bea.plateng.patch.ProductAliasTarget.constructPatchTargetList(ProductAliasTarget.java:69)You must supply a valid version string. (10.3.0.0_VS2005.0.0)
    at com.bea.plateng.patch.ProductAliasTarget.<init>(ProductAliasTarget.java:46)
    at com.bea.plateng.patch.ProductAliasTargetHelper.getProdAliasTargetList(ProductAliasTargetHelper.java:55)
    at com.bea.plateng.patch.ProductAliasTargetHelper.getAllHomeToProdAliasesTargetMap(ProductAliasTargetHelper.java:32)
    at com.bea.plateng.patch.ProductAliasTargetHelper.checkProfilesInProductAliases(ProductAliasTargetHelper.java:133)
    at com.bea.plateng.patch.Patch$1.run(Patch.java:376)
    at java.lang.Thread.run(Thread.java:722)
    Am I missing something?
    Thanks in advance

    Hi
    Am using WLS 10.3.6 and when I try to apply patch it always results in an Exception even though I have provided all the arguments properly
    D:\wls1036GA\utils\bsu>bsu.cmd -prod_dir=d:\wls1036GA\wlserver_10.3 -patch_download_dir=d:\wls1036GA\utils\bsu\cache_dir -status=downloaded -view -verbose
    Exception in thread "Thread-0" java.lang.IllegalArgumentException: You must supply a valid version string. (10.3.0.0_VS2005.0.0)
    at com.bea.plateng.common.Version.<init>(Version.java:111)
    at com.bea.plateng.patch.PatchBundleTarget.<init>(PatchBundleTarget.java:309)
    at com.bea.plateng.patch.PatchTargetFactory.create(PatchTargetFactory.java:39)
    at com.bea.plateng.patch.ProductAliasTarget.constructPatchTargetList(ProductAliasTarget.java:69)You must supply a valid version string. (10.3.0.0_VS2005.0.0)
    at com.bea.plateng.patch.ProductAliasTarget.<init>(ProductAliasTarget.java:46)
    at com.bea.plateng.patch.ProductAliasTargetHelper.getProdAliasTargetList(ProductAliasTargetHelper.java:55)
    at com.bea.plateng.patch.ProductAliasTargetHelper.getAllHomeToProdAliasesTargetMap(ProductAliasTargetHelper.java:32)
    at com.bea.plateng.patch.ProductAliasTargetHelper.checkProfilesInProductAliases(ProductAliasTargetHelper.java:133)
    at com.bea.plateng.patch.Patch$1.run(Patch.java:376)
    at java.lang.Thread.run(Thread.java:722)
    Am I missing something?
    Thanks in advance

  • Quicktime "Save As Source" ALWAYS Result In Invalid File

    When ever I try to save a file being played in Quicktime 7.0.1 PRO on a web page, the resulting file (although the correct size) always results in a corrupt file:
    i.e. "QuickTime cannot open the file "<filename>"
    it is not a file QuickTime understands (-2048).
    This has only started since upgrading to QT7 and it is also applies to Internet Explorer, so I know this is a Quicktime problem.
    If use "Download linked file" in either Safari or IE, the same file plays perfectly. But I can only do this if a link is available and not for an embedded file.
    Can some tell me if there is a way to fix this problem/bug.
    I have kept the system current with Software update.
    Thanks
    Gary

    I upgraded to Quicktime Pro so I could "Save As Source" once the MP3 has downloaded fully into Safari.
    It looks like your question has already been answered, so I will only comment that QT Pro isn't necessary in order to save files like MP3s from web pages. Sometimes it takes a bit of extra clicking around to be able to save files to your hard drive, but right-clicking on a link to a file should bring up a menu allowing you to "Download Linked File." In other cases, the Activity window can be of great help, and so on and so on.
    For what it's worth, downloading your files as I've described will also get around the QT file association issue.
    EDIT: I just took the time to read the link macmenno posted, and I see that Mr. Minow mentions the same approach to downloading linked files from web pages...

  • TS3297 itunes match and when I try to add my main computers music library I see "iTunes Match has encountered an error. Please choose Sign Out and then Sign In from the Store menu and try again." but signing back in always results in the same

    I just purchased itunes match and when I try to add my main computers music library I see "iTunes Match has encountered an error. Please choose Sign Out and then Sign In from the Store menu and try again." but signing back in always results in the same error message. Somebody has to have an answer to this.

    Did you try setting itunes to run with administrator privileges? 
    Since I changed that I no longer have this issue

  • HTML Import Always Results In Landscape Orientation

    I have a HTML that I want to convert to PDF but I need to preserve all the hyperlinks in it (they are to locations withing the HTML page).
    I found that the only way I can preserve the links is by reading the HTML directly into Acrobat (9 Pro), which I guess is effectively an import process.
    However the resulting page orientation (actual and not just view) is always landscape.
    There is nothing in the html file directing this and there seem to be no settings under Preferences -> Convert To PDF -> HTML that are settable.
    <style type="text/css" media="print">
    body{page:portrait}
    </style>
    I also tried adding this in various formats but makes no difference.
    hoep someone can help
    thanks!
    Pat

    thank you Steve, that box was already ticked but I saw something in there that when unticked worked for me
    Scaling -> Switch to Landsdcape if scaled smaller than 70%
    I see one small problem remaining if you might have insight into.
    The HTML is essentially a collection of tables and the table width is 100% in HTML. This means it expands to fill the Web browser width.
    After scaling during the Acrobt import process, the print is quite small and I think that the PDF conversion is based on 100% screen width.
    So I get this:
    If I turn off scaling in the Adobe settings, I get this:
    What I want is this:
    I guess I could edit the html to hard code the absolute sizes of the HTML tables etc, but might there be another way.
    thank you
    Pat
    Message was edited by: synopsys_pm

  • Embedded YouTube videos always result in "An error occurred, please try again later."

    No matter what website I'm no, all embedded videos on youtube pages result in the player window loading everything but the video (buttons, timebar, related videos, etc) but never the video itself. Instead it's a black box with "An error occurred, please try again later" displayed.
    If I go to the video's page on the actual YouTube, it plays without a problem. Embedded videos that aren't from youtube work fine, too. This only occurs with YouTube videos embedded in other non-youtube pages. This only occurs with FF (the past few versions, too), Chrome works just fine, and on several different computers (XP, Vista x64, and 7 x64).
    Also, clearing Cache does nothing, nor does clearing cookies.

    The problem is with the the [http://forums.mozillazine.org/viewtopic.php?f=38&t=1781785 Third Party Cookies]

  • Get ALWAYS result of syntax check of sqlplus possible ?

    When I pass an sql script to sqlplus as parameter then syntax errors may occur.
    It could happen that I type e.g.
    SELECT * from mytable
    without trailing semicolon.
    In this case sqlplus stops processing and waits forever without informing the
    user about the problems.
    Can I force sqlplus to send syntax check and error results in every case back to the user ?

    Until you tell SQL*Plus that you've completed the statement by adding the semicolon, though, it has no idea when to do the syntax check. It has no idea whether you're in the middle of typing in a query that is going to span multiple lines, whether you've stopped typing to talk to someone in the hall, or whether you intended to submit a query but forgot the semicolon.
    Realistically, this is just part of debugging a script.
    Justin

  • Installation menu always results in Abort Installation? ThinkPad 600E

    i am trying to install arch 0.7.1 to my old ThinkPad 600E. when the installation menu appear no matter what menu option i select i get the same prompt: Abort Installation? if i try to see if there are any error messages using alt+f<1-4> there is nothing. from what i saw on forum people who have this problem had a problem with /tmp. however, with mount i see that /tmp was mounted as tmpfs with rw permission. the only thing i do see is during boot from CD and it's:
    Loading /tmp/.mnt/addons/utils-jfs.tar.bz2
    tar: Invalid tar magic
    the same thing goes for:
    utils-kdb.tar.bz2
    utils-keymaps.tar.bz2
    utils-lvm.tar.bz2
    utils-mdamd.tar.bz2
    utils-ntfs.tar.bz2
    utils-pcmcia.tar.bz2
    utils-reiserfs.tar.bz2
    utils-wireless.tar.bz2
    utils-xfs.tar.bz2
    any ideas? thanks

    tom5760 wrote:Check this out -> http://www.archlinux.org/news/296/
    thanks for the response. i only have 32MB of RAM on this machine and i am not looking to upgrade. really all i want to use this laptop for is to run tcpdump on it - that's it! so should i even try 0.8 beta? thanks...

  • Macbook Pro 2.3GHz Ret. Display - Display calibration assistant always results in very dark display! Has anyone seen this? Don't know what else to do...

    I do a lot of photography and tried calibrating my monitor using the calibration assitant built into Macbook Pro.
    No matter how many time and how I do this the monitor turns out very dark after calibration - ridiculously so - to a point that I just go back to the default profile! I have not tried true calibration using professional tools as I don't have mine with me where I am right now.
    Wondering if there is any tricks to this that I might have missed.
    Thanks for any pointers...
    Regards,
    b

    I guess nobody knows if the crash that occured was legitimate or not?  Apple phone support could do nothing for me, so I guess I am left to drive 45 minutes to the nearest store.

  • Lightroom 2.5 Import always results in "lost files"

    Using LR 2.5
    Have an existing file folder tree with three levels of sub-folders and JPG image files in the lowest level folders.
    Have tried a variety of "Import from Disk" sequences and invariably the images import but then become "lost".  Even after re-installing LR, creating new catalog, and only importing one image it is "lost" and then when I use the find function it complains the filename is already in use.  Left teh "Don't import dupes" unchecked.
    Awful hard to not conclude that there is a software bug when LR traverses a filefolder tree.

    I am having a recurring problem recently that I cannot figure out.
    I have a bunch of photos that I have yet to import into Lightroom so I started importing them in place and moving some into better named directories.
    Perhaps you could explain more here ... you import and then move the photos/folders? Are you using Windows or MacOS to do the move? Are you moving the photos/folders in Lightroom? Which?
    By the way, I agree with Saskatchewan (however you spell his name) that the most efficient use of Lightroom is not to move files or folders around from one place to another on the same hard disk. You organize in Lightroom with Lightroom tools (keywords, captions and metadata, collections). In the past, before you had Lightroom, folders were both storage locations and organizational tools. Now that you have Lightroom, folders represent storage locations only; you organize your photos using Lightroom tools only. Lightroom tools give you more power and more flexibility than anything you could come up with using folders.
    If you need to move your storage to somewhere else because of space or backup needs, then do so, using Lightroom's folder panel; but don't move folders to be better organized and to help you find your photos better because that's what keywords, metadata and collections are for. In particular, your "better named directories" most likely should be keywords.

  • OCI Call resulting in core dump

    Hi,
    I have a C++ code that is resulting in segmentation fault when for a particular query define_by_position( ) (this calles OCI odefin()) is called. this function is running in loop and for other queries it successfully completes but for one particular query it always result in seg fault. Code was compiled for Solaris using following compiler with -m64 flag.
    [nus825:sr54713] /opt/sfw/bin >> g++ -v
    Reading specs from /usr/local/lib/gcc/sparc-sun-solaris2.8/3.4.2/specs
    Configured with: ../configure with-as=/usr/ccs/bin/as with-ld=/usr/ccs/bin/ld --disable-nls
    Thread model: posix
    gcc version 3.4.2
    Here is the code.
    bool OracleConduit::doSelect(string inputQuery)
            if(m_cur_numfields!=0)
                    for (int a=0; a<m_cur_numfields;a++){
                            delete m_cur_info[a].col_data;
            //m_SQL_SelFilesToDelete, colsinfo_3, 1
            //doSelect(m_SQL_SelMaxCon,colsinfo_4,1
            //doSelect(m_SQL_SelFileToProcess,colsinfo_2,5
            if(inputQuery==m_SQL_SelFilesToDelete)
                FullReplace(inputQuery,"DISP_END_TS","TO_CHAR(DISP_END_TS, 'YYYY-MM-DD HH24:MI:SS')");
                m_cur_info = colsinfo_3;
                m_cur_numfields =1;
            else if(inputQuery==m_SQL_SelMaxCon || inputQuery==m_SQL_SelMinCon )
                    m_cur_info  = colsinfo_4;
                    m_cur_numfields = 1;
            else if(inputQuery==m_SQL_SelFileToProcess)
                    m_cur_info  = colsinfo_2;
                    m_cur_numfields = 4;
            else if(inputQuery==m_SQL_SelFromCon)
                    m_cur_info  = colsinfo;
                    m_cur_numfields = 17;
        int a;
            oCur.close();
        if (oCur.open(&oConn))
          return false;
    cout << inputQuery.c_str() << endl ;
        if (oCur.parse((const unsigned char *)inputQuery.c_str()))
          return false;
        /* describe the select-list field "Event_TS" */
            for (a=0; a<m_cur_numfields;a++){
                            m_cur_info[a].col_name_len = sizeof (m_cur_info[a].col_name_buf);
                            if (oCur.describe(a+1,
                                            &(m_cur_info[a].col_data_len),
                                            &(m_cur_info[a].db_type),
                        m_cur_info[a].col_name_buf,
                                            &(m_cur_info[a].col_name_len),
                        &(m_cur_info[a].dsize),
                                            (sb2 *) 0,
                        (sb2 *) 0,
                                            (sb2 *) 0)
                              oCur.display_error(stderr);
                              return false;
                            /* allocate space for dept name now that you have length */
                            sword allocLen = m_cur_info[a].col_data_len + 1;
                            m_cur_info[a].col_data = new text[allocLen];
                            /* define the output variable for the select-list */
                            //ub2 rlen, rcode;
                            //text *datptr = m_cur_info[a].col_data;
                            //ub1 *cdatptr= (ub1 *)datptr;
                            cout << "oCur.define_by_position" << endl;
                            if (oCur.define_by_position(a+1,
                                            m_cur_info[a].col_data,
                                            allocLen,
                                            STRING_TYPE,
                                            -1,
                                            &m_cur_info[a].indic,
                                            &m_cur_info[a].rlen,
                                            &m_cur_info[a].rcode)
                              oCur.display_error(stderr);
                              for (a=0; a<m_cur_numfields;a++){
                                    delete m_cur_info[a].col_data;
                              return false;
                            cout << "oCur.define_by_position successed" << endl;
        if (oCur.execute())
          if (oCur.get_error_code() != NO_DATA_FOUND)
            oCur.display_error(stderr);
                for (a=0; a<m_cur_numfields;a++){
                            delete m_cur_info[a].col_data;
            return false;
         else
            return true;
        else
                    return true;
    }

    You problem sounds like an Oracle issue, not necessarily a Sun C++ compiler issue. I suggest you take up this question first with Oracle.

  • Why, suddenly, does copying the URL result in a text clipping rather than a webloc? file?

    Copying a URL has always resulted in a webloc file. No more, very recently. All I get is a text clipping with the contents of the URL box.

    If you are using Safari you can select the URl then go the services under the Safari menu at the menu bar, scroll down and select Text Edit and then select New Window Containing Selection and the URL will be saved as a Text Edit file completely intact, nothing to add. Takes about 2 seconds.
    Well, yes, but then I'm back where I started. I don't want a great big TextEdit document just to hold a few words of text that I want to have easily available for copy/paste. I want a text clipping, which is (1) small and (2) easy to use: just double-click it and press cmd-C (no need to select anything, in fact you can't), then paste wherever desired. Interesting that this procedure creates a new TextEdit .txt file, even though I have it set in Preferences to make new files .rtf.
    Anyway, it seems there's no way to do what I wanted to do. You get a text clipping (".textClipping") file when you drag selected text to the desktop, and apparently when the Finder sees the text has "http://" at the beginning, it assumes you want a .webloc, and makes that; it's not a function of whether the text is dragged from a browser or another app, it's just what the Finder sees in it. So ClipEdit is the solution; it can create a text clipping as a new document, with whatever you want in it. I also put the URL I want to use often (i.e. put into documents, not use as in go to that address) into iSnip, which unfortunately seems to have ceased development.
    PowerBook G4 17" 1.5GHz   Mac OS X (10.4.8)   1GB RAM, 80GB HD, DVD-RAM SuperDrive

  • Abap insert into info cube results in ORA 14400

    Hi friends,
    in principle the situation is as following:
    we have 2 cubes which are identically in design, in the number of info objects etc.
    now we have the following code here:                                                                   
    * Dann aus Quelltabellen kopieren
    * (Fakten zuletzt wegen Fremdschlüsselbez. zu Dim.)
      CHECK P_KOP IS NOT INITIAL.
      COMMIT WORK.
      SELECT * FROM /BIC/DZHW_CUBE1P.
        CHECK /BIC/DZHW_CUBE1P-DIMID <> 0.
        MOVE-CORRESPONDING /BIC/DZHW_CUBE1P TO /BIC/DZHW_CUBE2P.
        INSERT /BIC/DZHW_CUBE2P.
      ENDSELECT.
      SELECT * FROM /BIC/DZHW_CUBE1T.
        CHECK /BIC/DZHW_CUBE1T-DIMID <> 0.
        MOVE-CORRESPONDING /BIC/DZHW_CUBE1T TO /BIC/DZHW_CUBE2T.
        INSERT /BIC/DZHW_CUBE2T.
      ENDSELECT.
      SELECT * FROM /BIC/DZHW_CUBE1U.
        CHECK /BIC/DZHW_CUBE1U-DIMID <> 0.
        MOVE-CORRESPONDING /BIC/DZHW_CUBE1U TO /BIC/DZHW_CUBE2U.
        INSERT /BIC/DZHW_CUBE2U.
      ENDSELECT.
      SELECT * FROM /BIC/DZHW_CUBE11.
        CHECK /BIC/DZHW_CUBE11-DIMID <> 0.
        MOVE-CORRESPONDING /BIC/DZHW_CUBE11 TO /BIC/DZHW_CUBE21.
        INSERT /BIC/DZHW_CUBE21.
      ENDSELECT.
      COMMIT WORK.
      SELECT * FROM /BIC/FZHW_CUBE1.
        /BIC/FZHW_CUBE2-KEY_ZHW_CUBE2P = /BIC/FZHW_CUBE1-KEY_ZHW_CUBE1P.
        /BIC/FZHW_CUBE2-KEY_ZHW_CUBE2T = /BIC/FZHW_CUBE1-KEY_ZHW_CUBE1T.
        /BIC/FZHW_CUBE2-KEY_ZHW_CUBE2U = /BIC/FZHW_CUBE1-KEY_ZHW_CUBE1U.
        /BIC/FZHW_CUBE2-KEY_ZHW_CUBE21 = /BIC/FZHW_CUBE1-KEY_ZHW_CUBE11.
        /BIC/FZHW_CUBE2-/BIC/ZGEHALT   = /BIC/FZHW_CUBE1-/BIC/ZGEHALT.
        INSERT /BIC/FZHW_CUBE2.
      ENDSELECT.
    the problem is the insert statement. if the interpreter reaches this step in the code, we get a dump with the following message:
    " Database error text........: "ORA-14400: inserted partition key does not map to   
      any partition"                                                                   
    now i assume - since this cube can be loaded with data normally - that it is not possible to store data in an info cube directly using a simple insert statement. are there any appropriate function modules to condense data in a request and load it into an info cube?
    Kind Regards.
    Gideon.
    Message was edited by: Gideon Lenz

    hi,
    we had a similar error and solved with oss note 339896,
    though 2.0b mentioned, it's applicable for our 3.0, please take a look beside the note Vinod mentioned ....(there also mentioned 509660 if f-fact table)
    339896
    Symptom
    During the parallel upload into InfoCubes, ORACLE error ORA14400 might occur in BW 2.0B.
    BW2.0B and BW2.1C both originate from the same BW technology basis. Thus 2.0B is a synonym for both releases.
    Other terms
    Partitioning, ODS, PSA, parallel loading, ORA14400
    Reason and Prerequisites
    The error can either occur during the insert into the "PSA table" ( /BIC/B00....) or during the insert into the "F-fact table" ( "/BI*/F<INFOCUBE>" ).
    If the error occurs when writing to the F-fact table, please refer to Note 509660.
    If the error occurs when writing to partitioned PSA tables, an inconsistency exists between administration table "RSTSODS" and the partitions in the database.
    Solution
    1.) As of Patch 22, CHECK Transaction "RSRV" allows to check the consistency of PSA tables and repair them, if required. (If no name is specified, the CHECK is carried out for all PSA tables.)
    2.) Patch < 22: Please check whether function module "RSDDCVER_PSA_PARTITION" exists in your system.
    - If yes: Start it for the corresponding PSA table using i_repair = 'X'. Then, the inconsistencies should be eliminated.
    - If not: The inconsistencies have to be repaired manually!
    Among all partitions of the PSA table, determine the partition with the highest "HIGH VALUE". Compare this partition to the entry in the Partno field of the "RSTSODS" table.
    ==> Transaction SE16 ---> 'RSTSODS' ---> filter on ODSNAME_TECH with the PSA table name. Error ORA14400 occurs if the entry in the RSTSODS table is higher than the highest partition. To solve the problem, release table RSTSODS in the SAP-DD so that you can change it via Transaction SE16. Then change the entry in the PARTNO field to the value of the highest 'HIGH VALUES'. If the PSA table is empty, enter value '2' in the PARTNO field of the "RSTSODS" table!!!!! The inconsistency may exist in the SAP buffer only. Table RSTSODS is "buffered completely". Before you change the table manually, do submit the command "/$tab rstsods" in the OK-code which invalidates the table in the buffer. If the problem continues to exist, change the entry and invalidate the buffer again by submitting "/$tab rstsods".
    509660
    Symptom
    BW2.0B and BW2.1C are based on the same BW technology.2.0B is therefore a synonym for both releases.
    The ORACLE error ORA14400 can occur in BW 2.0B//2.1C during writing to InfoCubes.
    Other terms
    Partitioning, parallel loading, F fact table, ORA00054, ORA14400, ORA14074, ORA02149
    Reason and Prerequisites
    The error can also occur during writing to PSA tables or when ODS objects are activated. Refer to note 339896 in this case.As of 2.0B, the F fact table in an BW/ORACLE environment is "range-partitioned" according to the package dimension.A new partition is created when a request is written to requests in the F fact table.If creation of the partition is not successful, ORACLE error 14400 ( "inserted partition key is beyond highest legally partition key" ). There are several causes for this:
    1. During loading, there are jobs running (such as ANALYZE TABLE ... CREATE INDEX... ) which lock the table in the ORACLE catalog and take a very long time.Creating the partition on the database takes a very long time;In this case, the ORA00054 error (resource busy) is issued.
    2. during parallel loading, an error occurs because an optimistic blocking concept is implemented in the update.
    Adding a partition is linked to writing the package dimension entry. If the loading process terminates in such a way that the dimension entry was written, but the partition was not created, the second loading process terminates with ORACLE error ORA14400.
    Solution
    As of patch BW 2.0B 15 / BW 2.1C 7, creation of a new partition by a SAP lock is saved.If a lock is already present, the program tries to get the lock 100 more times and then continues.In the case of parallel loading processes, this optimistic lock approach always resulted in the ERROR.For this reason, the parameter _wait is set to True in the "RSTMPLWI" template for BW 2.0B patch 21 / BW 2.1C 13 when the enqueue function is called and the loop counter is set to 500, so that the loaders wait longer before continuing.
    First select the test "Unused entries in the dimensions of a InfoCube" for the corresponding CUBE via transaction "rsrv"  ==>  InfocubeData and press "Eliminate error". The entry is then deleted in the dimension and during the next loading process, a new entry is generated and the partition is created.
    The correction instructions for BW 2.9B patch 15 - 20 / BW 2.1C patch 7 - 12 is attached.In this way, the programs from the corrected TEMPLATE are regenerated.
    If the error persists in spite of this change, check whether the F fact table is analyzing or whether indexes are being generated on the F fact table at the same time as the load process.
    The program RSTMPLWI is an ABAP template where the update programs are generated. ==> For this reason, automatic installation is not possible and you can not run a syntax check!

  • Gaussian blur results in banding

    Here's a piece of wall I try to gaussian blur (> 60 radius) and always results in bandings. I tried adding noise but it doesn't help, unless I add so much noise the image becomes unrecognizable.
    Here's the same image in case the one above is re-compressed
    blur
    In case you wonder why blur this image, there is an electrical outlet near this wall (not shown) that I edited out and need to blur the edited area, and realize the resulting banding is caused by the wall and photoshop.
    Are there other solutions?
    I'm using photoshop CS4 in 16 bit mode.

    Yes, I know what you're talking about.  It's as though you don't want to accept the explanation.
    With 24 bit color you will see the divisions between regions of identical RGB values in the 24 bit color space where they change by one level.  It's most easily seen in gray or near gray gradients of dim luminosity (which is what you have here).
    There is no uneven banding in the data in the image you posted.  It's a 16 bit PNG file and the data is perfectly clean and smooth, which is what you'd expect from a large radius Gaussian Blur.
    If you're seeing uneven or more severe banding on your display only, it's possible something in your system setup is amiss (e.g. a poorly constructed monitor profile, or a malfunctioning display driver), causing you to see multi-level jumps between adjacent regions of color.
    On my very well tuned 24 bit color setup I can see the even (but very subtle) banding of your 16 bit image.  Doing the following hides it completely:
    If your display setup is functioning optimally you won't sense any banding in the above image (after having clicked it to make it show at full size of course).
    -Noel

  • CE_CALC issue when division results in 0

    I have a calc view that has 2 sql statements getting counts and then I need to divide one by the other and * 100 to get the percentage.  When I use CE_CALC and the result of the division is < 0 (even if I then multiply by 100) my result is always 0.  If the result of the division is positive, it works fine.  I have also replaced the variables with actual integer values and the result is the same.
    This always results in 0 as long as TOTALSHIPPEDBYFCD is < TOTALFCDTODAY:
    var5 = CE_PROJECTION(:var4, ["TOTALFCDTODAY", "TOTALSHIPPEDBYFCD",
    CE_CALC('(("TOTALSHIPPEDBYFCD" / "TOTALFCDTODAY") * 100)',
    decimal(10,2)) AS "PERCENTSHIPPEDBYFCD"]);
    This works but I would rather use the CE functions:
    var5 = SELECT TOTALFCDTODAY, TOTALSHIPPEDBYFCD,
    cast((TOTALSHIPPEDBYFCD)/(TOTALFCDTODAY)*100 as decimal(10,2)) as PERCENTSHIPPEDBYFCD
                    FROM :var4
    Do you think this is a bug?
    Thanks,
    Amy

    What if you do the multiplication before?
    "TOTALSHIPPEDBYFCD" * 100 / "TOTALFCDTODAY"
    Other thing you might try is multiplying by 100.00 instead of just 100.

Maybe you are looking for