Error packaging an extension

hi,
I have a CS Extension that compiles just fine. I can select "Debug as" and run it as an InDesign extension without any issues. When I am ready to export the extension to create a .zxp package using the "Export Wizard", I get an error "Selected Project did not compile". There are no errors listed.
Can you please tell me how to troubleshoot this further? Is there some logs that I can look at? I have InDesign, Photoshop, Illustrator components selected in my extension. I created a new certificate. I recreated my project from scratch and copied my source files over. Nothing seems to help.
thanks for any help.

Hi Rums,
Are you using Flash builder standalone or the eclipse plugin?
I've seen a problem like this before, the issue in that case was that the Flex compiler ran out of memory during the export build - if you haven't already, try increasing the ammount of memory you give eclipse. You can find out what file to change and what settings to use by taking a look at the Flash Builder readme file that sits alongside the Flash builder executable (so in C:\Program Files (x86)\Adobe\Adobe Flash Builder 4.5 on windows or /Applications/Adobe Flash Builder 4.5/ on mac) - I just use the settings recommended there (search for "vmargs").
Regards,
Louis

Similar Messages

  • Problem Create ANE,ArgumentError: Error #3500: The extension context does not have a method with the name

    I little confuse about build ANE, I already follow all the direction, but the error always #3500 when I try to call the ANE.
    I create ANE using java android.
    The tools I use : Flash Builder running on Win-64 win.7. I think I must straight to the point, here what i made it first step by step;
    1. I create the JAVA application first, with package senigo.extension.android then I create 3 file, Sample.java, SampleContext.java, PassTextFunction.java
    Sample.Java Source Code
    package senigo.extension.android;
    import android.util.Log;
    import com.adobe.fre.FREContext;
    import com.adobe.fre.FREExtension;
    public class Sample implements FREExtension {
      @Override
      public FREContext createContext(String arg0) {
      // TODO Auto-generated method stub
      Log.i("Sample", "createContext");
      return new SampleContext();
      @Override
      public void dispose() {
      // TODO Auto-generated method stub
      Log.i("Sample", "Dispose");
      @Override
      public void initialize() {
      // TODO Auto-generated method stub
      Log.i("Sample", "Initialize");
    SampleContext.Java Source Code
    package senigo.extension.android;
    import java.util.HashMap;
    import java.util.Map;
    import android.util.Log;
    import com.adobe.fre.FREContext;
    import com.adobe.fre.FREFunction;
    public class SampleContext extends FREContext {
      public SampleContext()
      Log.i("SampleContext", "constructor");
      @Override
      public void dispose() {
      // TODO Auto-generated method stub
      Log.i("SampleContext", "dispose");
      @Override
      public Map<String, FREFunction> getFunctions() {
      // TODO Auto-generated method stub
      Log.i("SampleContext", "getFunctions");
      Map<String, FREFunction> functionMap = new HashMap<String, FREFunction>();
      functionMap.put("passText", new PassTextFunction());
      return functionMap;
    PassTextFunction.Java Source Code
    package senigo.extension.android;
    import com.adobe.fre.FREContext;
    import com.adobe.fre.FREExtension;
    import com.adobe.fre.FREFunction;
    import com.adobe.fre.FREObject;
    public class PassTextFunction implements FREFunction {
      @Override
      public FREObject call(FREContext arg0, FREObject[] arg1) {
      // TODO Auto-generated method stub
      FREObject result = null;
      try{
      result =  FREObject.newObject("Hello World");
      }catch(Exception e)
      return result;
    after all the file I create the jar file using click right on the tree view >> Export >> Jar File >> Sample.Jar (i already create jar file that just contain the src folder and after i frustrated, i create .jar file contain all the whole project folder but still didn't work out).
    Ok, After that I create project Flex Library Project, That's contain the actionscript to call the native and the extension.xml, here the code.
    Test.as Source Code, FYI : i already create public function and the static function the error still same #3500.
    package senigo.extension.android
      import flash.external.ExtensionContext;
      public class test
      private static var extContext:ExtensionContext = null;
      public function test()
      trace ("Test Constructor");
      if (!extContext)
      initExtension();
      public static function get passText():String
      trace ("Test Pass Text");
      if (!extContext)
      initExtension();
      return extContext.call("passText") as String;
      private static function initExtension():void
      trace ("Vibration Constructor: Create an extension context");
      extContext = ExtensionContext.createExtensionContext("senigo.extension.android", null);
    extension.xml source code
    FYI: in Flex when i put the Native Extension, they said must have Windows-x86 so I already create 3 ANE, that just contain Android-ARM , Contain Android-ARM and Default, Contain Android-ARM,Default and Windows-x86 but the error still same. I didn't got it where is the error.
    <extension xmlns="http://ns.adobe.com/air/extension/3.1">
      <id>senigo.extension.android</id>
      <versionNumber>1.0.0</versionNumber>
      <platforms>
      <platform name="Android-ARM">
      <applicationDeployment>
      <nativeLibrary>Sample.jar</nativeLibrary>
      <initializer>senigo.extension.android.Sample</initializer>
      <finalizer>senigo.extension.android.Sample</finalizer>
      </applicationDeployment>
      </platform>
      <!-- <platform name="Windows-x86">
      <applicationDeployment>
      <nativeLibrary>sample.jar</nativeLibrary>
      <initializer>senigo.extension.android.Sample</initializer>
      <finalizer>senigo.extension.android.Sample</finalizer>
      </applicationDeployment>
      </platform>
      -->
       <platform name="default">
    <applicationDeployment/>
    </platform>
      </platforms>
    </extension>
    After I create it, I copy the .swc file and extension file sample with the Sample.jar file.
    I extract the .swc file, copy the library.swf to folder Android-ARM,Default,Windows-86 and I create build.bat that contain the command like this
    adt -package  -storetype PKCS12 -keystore senigo.p12 -storepass l10nk1ng -target ane senigo.extension.android.ane extension.xml -swc AndroidLib.swc -platform Android-ARM -C ./Android-ARM/ . -platform default -C ./default/ .
    the I put the ane to Flex mobile project that I created:
    I run it but got error #3500, I really confuse?? what's wrong with my code? is there something I wrong or I Miss it?
    Please any one help me.. and when is already ane file can I debug it in Flex Mobile Project? I wanna looks the log.i code that i wrote but i confuse how to looking up in flash builder.
    at the end, I wanna said Sorry if my english not very goods, and thanks, because wanna see my problem and thank you very much if You can gave me a solution's

    Alex Rekish wrote:
    Why you comment Windows-x86 in your extension.xml ?
    I think that is a problem. You launch your application on Windows but ANE haven't got Windows-x86 implementation (also you don't include it while packaging). So your application use default implementation. But default implementation don't use any native code and cannot use ExtensionContext. And you got error.
    If you don't need Windows-x86 native implementation than you need implement default implementation that different than Android-ARM. You don't need to use ExtensionContext in default implementation.
    Thanks for you answer Alex Rekish, Sorry I didn't screen shoot all about the extension.xml. I comment it because the latest ANE that I build is contain Android-ARM and default. so I commented. but I already try it using just ANE that's just contain Android-ARM, with Android-ARM and windows-x86,and Android-ARM, and default, and Android-ARM,default,Windows-x86 the error still the same.
    here the screen shoot, I embeded the ane that's i contain Windows-x86
    in action script test.as I didn't change it anythings, I just play it on extension.xml to build the ane. is there any mistake over there? I interact with your answer that "If you don't need Windows-x86 native implementation than you need implement default implementation that different than Android-ARM. You don't need to use ExtensionContext in default implementation." I didn't need to user ExtensionContext? is means? in the actionscript? or in extension.xml? can you explained

  • How to Package Photoshop Extension for cs4/cs5 with manifest.xml

    Hello,
    tl;dr: How can I package my extension for both cs4 and cs5 in a way that respects the extension's window geometry?
    I have a panel that specifies window geometry in it's manifest.xml. When the panel is installed into Photoshop's panels/ folder, the geometry gets ignored, so I'm trying to package the panel as an extension to be installed via the Extension Manager. I have run into different problems for each CS version. I've read quite a few pdfs about the Extension Manager, UCF command line packaging, etc, and have not been able to find a solution that works for both platforms.
    My understaning
    My trial and error research has lead me to understand that the extension's files must eventually end up in the (mac) /Library/Application Support/Adobe/<CSversion>ServiceManager/extensions/ directory. In CS5, if the extension's folder contains a manifest.xml file (ex: /extensions/GuideGuide/CSXS/manifest.xml) that specifies window geometry, Photoshop will respect that window geometry when the panel opens. However, in CS4, this is not enough. From my tests, Photoshop CS4 doesn't seem to do anything with the manifest.xml file. Instead, I had to modify /Library/Application Support/Adobe/CS4ServiceManager/ServiceManifest.xml and add my extension to it's contents. Once I did this, Photoshop CS4 launches my panel and respects it's window geometry.
    The problem with this is that it's a manual installation. I can't ask my users to dig around in their system files to install my panel. In addition, since it's unsigned using this method, it won't work if they're not flagged for debugging. I've started exploring using the Extension Manager, but I have run into problems that I cannot find ansers in the few pdfs about packaging that I've been able to find.
    CS5 Problems
    If I use the UCF command line tool, I can package and sign my file. It installs fine and does what I want. However, using this method, I haven't been able to find a way to specify the author and description that shows up in the Extension Manager.
    CS4 Problems
    The UCF command line tool doesn't appear to make packages that can be installed by CS4, and I haven't been able to find one that is compatable. I've had to result to using the Extension Manager to package my extension based on a .mxi file. The problem I have here is that installing files this way limits me to putting them in the /panels directory, which then causes the panel to ignore the indow geometry. Is there a way with an .mxi file to install in the /Library/Application Support/Adobe/<CSversion>ServiceManager/extensions/ directory and modify the /Library/Application Support/Adobe/CS4ServiceManager/ServiceManifest.xml file?
    There must be, because Kuler and other extensions are installed there.
    Thank you SO much for any help you might provide. I've spent weeks trying to get this to work and have run into nothing but dead ends and wild goose chases.

    Your extension is a CSXS extension. For CSXS extension it's introduced in Extension Manager 2.1. (You can download Extension manager 2.1 from http://www.adobe.com/exchange/em_download/em20_download.html)
    In Extension Manager CS2.1 only MXP package is supported. In Extension Manager CS5 CSXS extension must be packaged by ZXP format. So you have to generate two packages for CS4(mxp) and CS5(zxp)
    For CS5, you can use ucf.jar to generate the zxp package.
    For CS4, you have to create an MXI file and package it by Extension Manager 2.1 to mxp package. Here is a sample CSXS mxi file:
    <macromedia-extension
               name="CSXS_TEST_EXTENSION"
               version="1.0.0"
               type="Command"
               requires-restart="true">
              <author name="Macromedia" />
              <products>
                        <product name="Dreamweaver" version="10" primary="true" />
                        <product name="Fireworks" version="10" primary="true" />
                        <product name="Flash" version="10" primary="true" />
                        <product name="" version="11" familyname="Photoshop" primary="true" />
                        <product name="Illustrator" version="14" primary="true" />
                        <product name="CSXS" version="1" />
              </products>
              <description>
              <![CDATA[
              CSXS extension sample.
              ]]>
              </description>
              <ui-access>
              <![CDATA[
              Extension Name: kuler
              ]]>
              </ui-access>
              <license-agreement>
              <![CDATA[
              ]]>
              </license-agreement>
              <files>
                        <file source="test_extension" destination="" />
              </files>
    </macromedia-extension>

  • SPAM - DDIC_Activation Error Due to Extension Indexes

    Hi All,
    During SPAM Sp Stack Application ( SAP_KB Component , from SAPKB70106 to SAPKB70109) , I have encountered Following
    Error :
       Index USREXTID_IDM TI could not be activated
       Table USREXTID_IDM could not be activated
       Data Element EXTID_IDM_ISSUER was activated (error in the dependencies)
       Data Element EXTID_LONG was activated (error in the dependencies)
    The Current SP Level ( BI 7.01 System ) is as mentioned :
    SAP_ABA 701 04
    SAP_AKB 701 05
    SAP_BW   701 03
    PI_BASIS  701  03
    BI_COINT 704  002
    According to Note 1315662 - Activation Errors due to Extension Indexes :
    " 2. The correction consists of two parts that are delivered in separate Support Packages (19/20 and 04/05) for SAP_BASIS 7.00 and SAP_BASIS 7.01. If you import only the first of the two corrections in your system (in other words, for SAP_BASIS 7.00 Support Package 19 and 7.01 Support Package 04, but not for Support Package 20 or Support Package 05), errors that result in the second symptom may occur. "
    Current BSU SAP_BASIS SP Level is at 05 i.e. at SAP_BASIS 7.01 Lvl 05 > Still this " Duplication of  Indexes " error is occuring, which is puzzling !
    Error Messages are for EACH Package included in Queue i.e. SAPKB70106 to SAPKB70109  !
    On our other server ( APO system ) , we were facing this issue. And since this note was NOT APO Specific, we had decided
    to pro-actively apply this note 1315662.
    *It seems that, during the previous queue application of SAPKB105, this note was reset and is showing " in processing " status
    in  SNOTE as of now *
    Now, that Queues is Locked by SPAM , we can not even re-apply this note !!I
    appreciate for sharing your expertise on the issue and your time as well..
    Thanks,
    Regards,
    - Ishan

    Thanks Julius,
    This sap note: 1557909 solve my Problem.
    Regards,
    Kashinath

  • V. 9.1.1 - error about an extension being lost

    I installed latest version and get error 'system/library/Extensions/CNQL4801_ClassicNotSeize.kext" was installed improperly and cannot be used .... try reinstalling etc. Contact vendor.
    What does this mean because when I closed this window another came up and said iTunes installed ok.?
    Thanks.

    what's your version of iTunes ? go iTunes > about iTunes and check if you're on 9.1.1 (11).
    if so, get 9.1.1 (12) from here http://www.apple.com/itunes/download/ and run the installer over the existing installation.
    JGG

  • While deploying to another server from RM client using build definition i got below error "Package location does not exist or deployer user does not have access"

    We have installed RM client in the POC  server .
    Installed Deployment Agent in Dev server .
    We created Configuration stages  for POC->Dev.
    We created a template with x copy deployer  and  selected source as build definition.
    While releasing we faced following issue ,
    The release was success in POC (Where RM client is installed), but in  DEV environment (Which is different server)it got rejected because of  the error
    "Package location(Path)  does not exist or deployer user does not have access"

    Hi Dhamayandhi
    There is quite a bit to do to get RM working successfully. I have a soup-to-nuts guide on implementing continuous delivery with TFS and RM
    here.
    Cheers - Graham
    Blog:
    http://pleasereleaseme.net   LinkedIn:

  • Photoshop CS6 could not update successfully.  Error codes Adobe Photoshop 13.0.1.3 Installation failed. Error Code: U44M1P7  Extension Manager 6.0.8 Update Installation failed. Error Code: U44M1P7  Please help me figure out how to call customer service. 

    Photoshop CS6 could not update successfully.  Error codes Adobe Photoshop 13.0.1.3 Installation failed. Error Code: U44M1P7  Extension Manager 6.0.8 Update Installation failed. Error Code: U44M1P7  Please help me figure out how to call customer service.  I would prefer to talk to someone directly.

    Are you using any disk cleaner or optimization tools like CleanMymac or Mackeeper?
    Regards,
    Ashutosh

  • Error Packaging Media!! HTTP request error

    Hi,
    I have followed all the steps given in FAXs_2_0_Quickstart.pdf.
    In Flash Access Manager, I have selected Single file from the local machine with ad-policy.pol,
    when I click Package Media, I am getting the following error message
    FAULT!
    Error Packaging Media!! HTTP request error
    Tomcat log file is showing following error
    org.apache.catalina.core.StandardWrapperValve invoke
    SEVERE: Servlet.service() for servlet UICommunicator threw exception
    java.lang.NumberFormatException: For input string: ""
        at java.lang.NumberFormatException.forInputString(Unknown Source)
        at java.lang.Integer.parseInt(Unknown Source)
        at java.lang.Integer.valueOf(Unknown Source)
        at java.lang.Integer.decode(Unknown Source)
        at com.adobe.flashaccess.refimpl.util.ParamsReader.readPackagerParams(ParamsReader.java:812)
        at com.adobe.flashaccess.refimpl.userinterface.UICommunicator.packageSingleMediaFile(UICommu nicator.java:1438)
        at com.adobe.flashaccess.refimpl.userinterface.UICommunicator.doPost(UICommunicator.java:129 )
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.ja va:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Unknown Source)
    Thanks for the help.

    Hi Eric,
    Pls find below snapshots of the Preferences, Package Media Tabs and error messages.  Other Tabs have been untouched.
    Thanks.

  • Error: package jxl does not exist

    I've tried everything on this thread from 2007
    how to import a jxl package?
    and I still get the error: package jxl does not exist.
    I've:
    1)added the the excelapi subdirectory that contains the jar file to the system class path, then I tried explicitly adding the jxl.jar file to the classpath (below)
    c:\Program Files\Java\jdk1.7.0_02\bin\; c:\Program Files\Java\jexcelapi\jxl.jar;
    2)I tried adding a copy of the jxl.jar file to the java\jdk1.7.0_02\bin\ subdirectory also.
    Anyone have any other troubleshooting ideas?
    Thanks,
    Rob
    Edited by: 915729 on Feb 20, 2012 11:35 AM

    Neither of those is a very good idea.
    You're also not telling how you're trying to compile the code.
    If with javac, you should use the -cp switch to include the jxl library in the classpath.

  • Build error :package com.sun.javadoc does not exist

    Question from a Turing machine expert who is new to Java.
    Trying to run a sample program from Richardson's book "Java JDK 5 Edition" Chapter 1.
    In Netbeans 5.5 receive build error :package com.sun.javadoc does not exist
    for "import com.sun.javadoc.*;"
    Believe missing classes are in tools.jar in C:\Sun\SDKee5SDK\jdk\lib
    How do I define this to Netbeans and/or JDK?
    Using java_ee_sdk-5_01
    and netbeans-5_5-windows downloads.
    Platform is XP.
    Netbeans has been updated to date.
    Appreciate.

    sony_tj wrote:
    D:\Xyz.java:22: package com.sun.javadoc does not exist
    import com.sun.javadoc.*;After getting this error, I have set my classpath to C:\Program Files\Java\jdk1.5.0_03\lib\tools.jar. But still the error persists. Could anyone please tell me how do I solve this problem.You have failed in setting your classpath in that case.

  • Error "Package in non-original system only modifiabl with Organizer Tools"

    Assign Customer Objcet PROG to Package "Z001"(created by myself),it pop-up error "Package in non-original system only modifiabl with Organizer Tools"
    how can  i deal with this error?
    could any warm-hearted fellow give me some tips ?
    tks a lot !

    Hi sophie,
    i think you transported this package from another system to a new system and you are trying to modify the package.
    just have a look at below link hop it will help ,otherwise let us know
    http://help.sap.com/saphelp_nw04/helpdata/en/57/38de9b4eb711d182bf0000e829fbfe/content.htm
    cheers
    shibu

  • ORA-6571 ERROR (PACKAGE PRAGMA의 사용)

    제품 : SQL*PLUS
    작성날짜 : 1997-06-03
    * ORA-6571 Error ( Package Pragma 의 사용 )
    =============================================
    SQL문 안에서 Stored function을 call하여 사용하는 경우 ORA-6571 error가
    발생할 수 있습니다. 기본적으로 stored function이나 procedure, package에서의
    DML 문장의 사용은 보장이 되는 기능이나, sql list에서의 stored function의
    사용은 몇 가지 제약 조건을 가지고 수행이 가능합니다.
    아래의 자료는 ORA-6571 error가 발생하는 원인에 대하여 기술한 자료이며,
    stored function을 SQL EXPRESSION에서 사용하는 경우에 대해서만 적용이 되는
    사항입니다.
    Calling Stored Functions from SQL Expressions
    Stored function은 data dictionary에 저장이 되는 user defined pl/sql
    function을 의미하며, 하나의 database object로서 해당 database에 connect하는
    application에 의해서도 reference될 수 있습니다.
    Function에는 2가지 유형이 제공되고 있는데, package 형태(pl/sql package 내
    에서 defined된 function)와, standalone function(독립적인 function)이 있
    습니다.
    pl/sql version 2.0까지는 stored function을 call하는 부분이 procedural
    statement에서만 사용이 가능하였으나, pl/sql version 2.1부터는 sql 문 안에서
    도 stored function을 call하여 사용이 가능하게 되었습니다.
    2.1 version 이상의 pl/sql engine에서는 select 문이나 values, set, where,
    start with, group by, having, order by 등과 같은 sql expression에서
    function을 call하여 사용하실 수 있습니다.
    즉, user-defined function을 built-in sql function(round, length,
    months_between ...)과 같은 형태로 사용이 가능하도록 지원이 됩니다.
    이러한 sql 문의 확장 지원은 oracle server 내에서 보다 복잡한 data에 대한
    분석 작업을 용이하게 하며 data independency를 증가시킵니다.
    Sql expression의 내부에서 사용이 되는 function과는 다르게 stored procedure는
    statement로서만 call되며 sql expression에서 direct로 call될 수 없습니다.
    Calling Syntax
    stored function을 sql expression에서 call하고자 하는 경우에는 다음의 syntax
    를 사용하시면 됩니다.
    [schema.][package.]function[@dblink][(arg[, arg] ...)]
    argument를 넘기는 경우에는 positional notation을 사용하여 작업을 수행하셔야
    합니다.
    Remote oracle database에 있는 standalone function gross_pay를 call하는
    경우를 예로 들어보면 아래와 같이 기술할수 있습니다.
    SELECT gross_pay@newyork(eenum, stime, otime) INTO pay FROM dual;
    Using Default Values
    Stored function gross_pay가 DEFAULT 절을 사용하여 2개의 formal parameter를
    넘기는 경우의 function creation은 아래와 같이 기술됩니다.
    CREATE FUNCTION gross_pay
         (emp_id IN NUMBER,
         st_hrs IN NUMBER DEFAULT 40,
         ot_hrs IN NUMBER DEFAULT 0) RETURN
         NUMBER AS
    Procedural statement에서 gross_pay function을 call하는 경우에는 항상
    st_hrs의 default 값을 accept할 수 있으며, 이는 named notation을 사용하기
    때문에 가능합니다.
    그러나, sql expression에서는 ot_hrs의 default값을 accept하지 않는다면,
    st_hrs의 default값을 accept할 수 없으며, 이는 named notation을 sql
    expression에서는 사용할 수 없기 때문입니다.
    /* Named Notation */
    IF gross_pay(eenum, ot_hrs => otime) > pay_limit THEN . . .
    Meeting Basic Requirements
    sql expression에서 call 할 수 있는 user-defined pl/sql function은
    아래의 기본 조건을 만족하여야 합니다.
    1. Stored function이여야 합니다.
    pl/sql block이나 subprogram 내에 define된 function은 사용할 수 없습니다.
    2. Row function이여야 하며, column (group) function이여서는 안됩니다.
    이는 argument로 전체 column의 data를 사용할 수 없기 때문입니다.
    3. Function의 모든 formal parameter는 반드시 IN parameter이여야 합니다.
    OUT이나 IN OUT parameter는 사용될 수 없습니다.
    4. Formal parameter의 datatype은 oracle server internal type (CHAR,
    DATE, NUMBER)이어야 합니다.
    pl/sql type(BOOLEAN, RECORD, TABLE)은 사용할 수 없습니다.
    5. Return type도 반드시 oracle server internal type이여야 합니다.
    아래의 stored function은 상기의 조건을 모두 만족하는 function입니다.
    CREATE FUNCTION gross_pay
         (emp_id IN NUMBER,
         st_hrs IN NUMBER DEFAULT 40,
         ot_hrs IN NUMBER DEFAULT 0) RETURN NUMBER
    AS
         st_rate NUMBER;
         ot_rate NUMBER;
    BEGIN
         SELECT srate, orate INTO st_rate, ot_rate
         FROM payroll
         WHERE acctno = emp_id;
         RETURN st_hrs * st_rate + ot_hrs * ot_rate;
    END gross_pay;
    Controlling Side Effects
    Sql 문에서 call되는 stored function을 실행하기 위하여, oracle server는
    해당 function의 purity level(function이 side effect로 부터 free한 영역)을
    알고 있어야만 합니다.
    Side effect는 database table이나 packaged variable에 대한 reference를
    의미합니다.
    Side effect는 query의 parallelization을 제한할 수 있는데, 이유는
    order-dependent한 결과(indeterminate result)나 user session간에 지속적인
    값을 유지(not allowed)하는 package state가 요구되는 경우가 발생하기 때문입
    니다.
    그러므로, 아래에 기술되는 사항은 sql expression에서 call되는 stored
    function에 적용되어야 합니다.
    1. Function은 database table을 modify해서는 안된다.
    (insert, update, delete statement를 사용할 수 없다.)
    2. Remote나 parallelized function은 packaged variable의 값을 읽거나
    쓸 수(read or write) 없다.
    3. Select, values, set 절에서 call되는 function만이 packaged variable의
    값을 write할 수 있다.
    4. Function은 앞에 기술된 rules를 어기는 또 다른 subprogram을 call할 수 없다.
    마찬가지로 앞에 기술된 rule을 어기는 view를 reference할 수 없습니다.
    (Oracle은 view에 대한 reference를 function call을 포함하는 stored SELECT
    operation 으로 대체합니다.)
    Standalone function에 대하여 oracle은 function body를 checking함으로써,
    이러한 rule이 적용되도록 합니다.
    그러나, package에 대해서는 packaged function body는 hidden이 되며,
    package specification만이 visible하기 때문에, specification 부분에
    pragma(compiler directive) RESTRICT_REFERENCES를 기술하여야 합니다.
    Pragma는 pl/sql compiler에게 database table이나 packaged variable에
    대하여 read/write access를 하지 않는다는 것을 기술합니다.
    Function body를 compile하는 도중 pragma에 위반되는 내용이 있다면,
    compilation error가 발생합니다.
    Calling Packaged Functions
    Sql expression에서 packaged function을 call하기 위해서는, package
    specification에서 pragma RESTRICT_REFERENCES를 기술함으로써 purity level을
    선언하여야 합니다.
    Pragma는 function declaration 이후에 기술되어야 하는 사항이며, 주어진
    function에 대하여 단지 한 pragma만이 기술될 수 있습니다.
    Pragma RESTRICT_REFERENCES를 기술하는 syntax는 아래와 같습니다.
    PRAGMA RESTRICT_REFERENCES
    (function_name, WNDS [, WNPS] [, RNDS] [,RNPS]);
    WNDS means "writes no database state" (does not modify db tables)
    WNPS means "writes no package state" (does not change the values of
    packaged variables)
    RNDS means "reads no database state" (does not query database tables)
    RNPS means "reads no package state" (does not reference the values of
    packaged variables)
    어떤 순서로든 기술된 argument를 passing할 수 있으며, WNDS는 반드시
    pass되어야 합니다.
    아래의 예는 maximum purity level을 선언한 packaged function이며,
    database나 package state에 대하여 read나 write를 전혀 수행하지 않는
    function입니다.
    CREATE PACKAGE finance AS -- package specification
    FUNCTION compound
         (years IN NUMBER,
         amount IN NUMBER,
         rate IN NUMBER )
    RETURN NUMBER;
    PRAGMA RESTRICT_REFERENCES(compound, WNDS, WNPS, RNDS, RNPS);
    END finance;
    CREATE PACKAGE BODY finance AS -- package body
    FUNCTION compound
         (years IN NUMBER,
         amount IN NUMBER,
         rate IN NUMBER)
    RETURN NUMBER IS
    BEGIN
    RETURN amount * POWER((rate/100) + 1, years);
    END compound;
    -- no pragma in package body
    END finance;
    이후에 pl/sql block에서 compound function을 call하는 경우에는 아래와
    같이 기술될 수 있습니다.
    BEGIN
    SELECT finance.compound(yrs, amt, rte) -- function call
    INTO interest FROM accounts WHERE acctno = acct_id;
    Package는 initialization part를 가질 수 있으며, 이는 package body에는
    hidden됩니다.
    일반적으로 initialization part는 public variable에 대한 initialize
    statement를 기술하게 되며, 아래의 예에서는 prime_rate 이라는 public
    variable에 대한 예가 기술되어 있습니다.
    CREATE PACKAGE loans AS
         prime_rate REAL; -- public packaged variable
    END loans;
    CREATE PACKAGE BODY loans AS
    BEGIN     -- initialization part
         SELECT prime INTO prime_rate FROM rates;
    END loans;
    Initialization code는 package가 처음 reference되는 경우에 단지 한번만
    수행이 되며, 자신의 것이 아닌 database state나 package state를 read나
    write를 하게 되면, side effect의 원인이 될 수 있습니다. 더 나아가
    package를 reference하는 stored function은 indirect하게 side effect를
    발생시킬 수 있습니다. 그러므로, pragma RESTRICT_REFERENCES를 사용하여
    initialization code에 대한 purity level을 명시적으로 선언을 하거나
    암시해줄 수 있어야 합니다.
    Initialization code에 대한 Purity level을 선언하기 위하여, pragma를
    사용하여 작업을 하실 수 있으며, function name을 package name으로
    대체하여 기술하시면 됩니다.
    Package specification 부분에 기술되는 pragma는 다른 user들에게도
    open되어 있는 것이기 때문에, package를 reference 하는 user들은
    restriction에 대한 사항을 보게 되며, 해당하는 제약 사항을 따르게 됩니다.
    사용되는 syntax는 다음과 같습니다.
    PRAGMA RESTRICT_REFERENCES (
         package_name, WNDS [, WNPS] [, RNDS] [, RNPS]);
    Argument의 의미는 앞에서 기술된 사항과 동일합니다.
    아래의 예에서 보면, initialization code는 database state에 대한 read와
    package state에 대한 write를 수행합니다. 그러나 WNPS를 선언할 수 있는데
    이는 자기 자신의 package state만을 write하는 code이기 때문에 선언이 될
    수 있습니다.
    만약 public variable prime_rate이 다른 package에 포함되어 있는
    것이라면, WNPS는 선언될 수 없습니다.
    CREATE PACKAGE loans AS
    PRAGMA RESTRICT_REFERENCES (loans, WNDS, WNPS, RNPS);
    prime_rate REAL;
    END loans;
    CREATE PACKAGE BODY loans AS
    BEGIN
    SELECT prime INTO prime_rate FROM rates;
    END loans;
    Pragma를 인식함으로 해서 oracle은 initialization code의 purity level을
    알 수 있습니다.
    ( pragma에 의하여 선언된 rule을 위배하여 생성될 수 없기 때문 )
    Avoiding Problems
    Sql expression에서 packaged function을 call하기 위해서는 pragma
    RESTRICT_REFERENCES를 사용하여 function의 purity level을 선언하여야
    합니다.
    그러나 package가 initialization part를 가지고 있다면, pl/sql
    compiler는 function에 허용되는 가장 높은 purity level을 선언하도록
    허용하지 않습니다. 결과적으로 function을 remote에서 수행하거나,
    parallel하게 또는 sql 절에서 사용할 수 없도록 제한됩니다.
    이러한 사항은 packaged function이 package initialization code보다
    purity level이 더 높은 경우에 발생하며, 기억하여야 할 것은,
    package가 처음 reference되는 때에 initialization code가 실행된다는
    사항입니다. 처음 reference하는 것이 function call인 경우,
    initialization code에 의하여 부가적인 side effect가 발생하는
    원인이 됩니다.
    이러한 사항은 initialization code가 function의 purity level보다
    낮은 경우에 발생하는 사항입니다.
    이러한 문제를 해결하기 위해서는 package initialization code를
    subprogram으로 옮겨
    주어야 합니다. 이러한 방식으로 변경하는 경우에는 package가 reference
    되는 중에 implicitly하게 code를 run하지 않고 explicitly하게 code를
    run하게 되며, 이는 packaged function에 영향을 주지 않습니다.
    Name Precedence
    database column과 argument를 가지지 않는 function이 동일한 이름을
    가진다면, sql문안에서 database column이 우선순위를 가지게 됩니다.
    CREATE TABLE stats (rand_num NUMBER, . . .);
    CREATE FUNCTION rand_num
    RETURN NUMBER AS . . . .
    위와 같은 상황에서 아래의 sql문을 사용하는 경우 column rand_num을
    참조하게 됩니다.
    SELECT rand_num INTO start_val FROM stats WHERE . . .
    이 경우 stored function rand_num을 사용하기 위해서는 schema를
    기술해주어야 합니다.
    SELECT scott.rand_num INTO start_val FROM stats WHERE . . .
    Overloading
    Pl/sql에서는 packaged function에 대해서 overload를 허용합니다.
    (standalone은 허용되지 않음) 다시 말하면 넘겨주는 argument가 갯수나,
    순서, datatype등이 다르다면, 서로 다른 function에 대해서도 동일한
    이름을 사용할 수 있습니다.
    그러나 RESTRICT_REFERENCES pragma는 단지 한 function에 대해서만
    적용이 되며, 가장 가까운 곳에 선언된 function에 대하여 적용이 됩니다.
    아래의 예에서는 두번째 function에 pragma 선언이 적용됩니다.
    CREATE PACKAGE tests AS
    FUNCTION valid ( x NUMBER)
    RETURN CHAR;
    FUNCTION valid ( x DATE)
    RETURN CHAR;
    PRAGMA RESTRICT_REFERENCES (valid, WNDS);

    You will need to investigate/resolve these errors first before making a decision
    2 .   ORA-00406: COMPATIBLE parameter needs to be 11.0.0.0.0 or greater ORA-00722: 
    1 .   ORA-00722: Feature "Virtual columns" ORA-06512: at line 31 
    1 .   ORA-00722: Feature "Virtual columns" ORA-06512: at line 43 
    1 .   ORA-06512: at line 31 
    1 .   ORA-06512: at line 43

  • Error: package sun.java2d.cmm does not exist

    I started to use Netbeans IDE 7.0.1 with jdk 7u9. I have an issue with
    import sun.java2d.cmm.ColorTransform;
    import sun.java2d.cmm.PCMM;
    etc.
    If I import from the package sun.java2d.cmm I can run but I can NOT build my project because of error: package sun.java2d.cmm does not exist.
    Please help.

    java -cp .;c:\scientists\darwin.jar
    MyProgramam i supposed to place the above code where i had
    previous put
    import com.darwinsys.util.*;
    No. The command above is how you run your program. I assumed you had already compiled it. To compile it you need the command
    javac -classpath .;c:\javacooksrc2\javacooksrc2.jar MyProgramAll the classpath does is tell the java compiler or the JVM where to find classes that are needed to compile/run your program.

  • Error package com.darwinsys.util does not exist

    Hi,
    i keep getting the following error:
    "error package com.darwinsys.util does not exist"
    its refering to one of the libraries ive placed in my code. Ive downloaded this library but i dont know where to install it.
    Can anyone help?
    its really urgent
    thanx
    cybersurfur

    java -cp .;c:\scientists\darwin.jar
    MyProgramam i supposed to place the above code where i had
    previous put
    import com.darwinsys.util.*;
    No. The command above is how you run your program. I assumed you had already compiled it. To compile it you need the command
    javac -classpath .;c:\javacooksrc2\javacooksrc2.jar MyProgramAll the classpath does is tell the java compiler or the JVM where to find classes that are needed to compile/run your program.

  • Installation it says there is an error "package name is Adobe Reader XI, upgrading at base path / installer. The upgrade failed.

    it says there is an error "package name is Adobe Reader XI, upgrading at base path / installer. The upgrade failed.
    It does this at 81%.  I am using a MAC

    it says there is an error "package name is Adobe Reader XI, upgrading at base path / installer. The upgrade failed.
    It does this at 81%.  I am using a MAC

Maybe you are looking for

  • "low memory" in exporting to progressive JPEG

    hi, anyone knows how to deal with "low memory" or "low virtual memory" error when export file to progressive JPEG?  it happens when file is from a few mb to 30 mb. if file is only under 1mb will be ok.  I got pretty new pc: xp pro with dualcore 2.6 g

  • Dual monitor setup and intel help

    Hello I am trying to set up and dual monitor setup here, with a monitor and a tv, the monitors resolution is 1680x1050, the tv's resolution is 1360x720, which results in that the desktop will have an resolution on 3040x1050. When I try to do this wit

  • BW Statistics  - Is it transportable ?

    Hello Gurus, This is a question on BW Statistics. I have made the necessary settings to switch on BW Statistics. My question is, Are these settings Transportable or do they need to be maintained in each landscape. Thanks in advance

  • RUNTIME ERROR  ON SIGN IN

    When I try to sign - in on Reader XI, I get a runtime error and program closes- what is problem???

  • Is my player spoilt? how to send for repair if no more warran

    <FONT face=Century color=#ff33ff><EM>Hi there,</EM> <EM><FONT face=Century color=#ff33ff></EM> <EM><FONT face=Century color=#ff33ff>I think my mp3 player muvo tx fm is spoilt. Some days ago, i tried to insert into the usb port of my pc, the computer