Function call. BDT, APPLC event

Hi experts:
I've got a question about some standar code in the BDT. This is the code
    IF SY-SUBRC = 0.
*----- ... Zeitpunktfunktionsbausteine aufrufen ------------------------
        LOOP AT LT_TBZ1F ASSIGNING <TBZ1F> WHERE ZTPKT = 'APPLC'
        AND NOT XAKTV IS INITIAL.
        CALL FUNCTION <TBZ1F>-FNAME
          CHANGING
            CT_TBZ0A = LT_TBZ0A.
        ENDLOOP.
      gv_applc_has_run = 'X'.
    ENDIF.
LT_TBZ0A is defined this way:
DATA LT_TBZ0A  TYPE TABLE OF TBZ0A.
I've created a function module and set in the export section the next parameter declaration:
CT_TBZ0A     TYPE     TBZ0A     Aplicaciones BDT
As you can suppose, I'm recieving only the header of  LT_TBZ0A in the function and i need all the itable.  What  am i doing something wrong ?  Is it possible that SAP's mistaken the code ?
There is an OSS Note about that, but i've already aplicate it. This is part of the BDT, event APPLC.
Thank you very much.

Chagne the CT_TBZ0A definition to table type fo the TBZ0A in the Import parameter.
CT_TBZ0A TYPE TY_TBZ0A Aplicaciones BDT   " << TY_TBZ0A
Regards,
Naimesh Patel

Similar Messages

  • Hang Calling function after Document Class' Event.ADDED

    I was trying to load an external SWF (that contains the below code in its document class) with the Loader class but i keep on receiving Error #1009: Cannot access a property or method of a null object reference. So i tried to use the event listener Event.ADDED in MyDocumentClass constructor of the external SWF to let the document class be part of the display list before i invoke createRandomGraph. But when i place createRandomGraph( ) inside onStageReady, The compilation process hangs. When i leave the createRandomGraph( ) inside the constructor, it works perfectly as stand alone but will produce Error 1009 if loaded within the loader SWF. Any ideas?
    public function MyDocumentClass( )
        this.addEventListener(Event.ADDED, onStageReady);
        createRandomGraph( )
    private function onStageReady(oEvent:Event):void
        this.removeEventListener(Event.ADDED, onStageReady);
    private function createRandomGraph( ):void
        var cRandomGraph:RandomGraph = new RandomGraph();
        cRandomGraph.x = 10;
        cRandomGraph.y = stage.stageHeight - nH - 25;
        cRandomGraph.setDimensions(nW,nH);
        cRandomGraph.createGraphBackground();
        this.addChild(cRandomGraph);

    use:
    public function MyDocumentClass( )
        this.addEventListener(Event.ADDED_TO_STAGE, onStageReady);
    private function onStageReady(oEvent:Event):void
        this.removeEventListener(Event.ADDED, onStageReady);
    createRandomGraph();
    private function createRandomGraph( ):void
        var cRandomGraph:RandomGraph = new RandomGraph();
        cRandomGraph.x = 10;
        cRandomGraph.y = stage.stageHeight - nH - 25;
        cRandomGraph.setDimensions(nW,nH);
        cRandomGraph.createGraphBackground();
        this.addChild(cRandomGraph);

  • Premiere CS5: R6025 - pure virtual function call

    When I go to render the sequence, I get:R6025 - pure virtual function call and the program crashes.
    the problem details are reporting:
    Problem Event Name:    APPCRASH
      Application Name:    Adobe Premiere Pro.exe
      Application Version:    5.0.0.0
      Application Timestamp:    4bb568b7
      Fault Module Name:    Backend.dll
      Fault Module Version:    5.0.0.0
      Fault Module Timestamp:    4bb529dd
      Exception Code:    40000015
      Exception Offset:    00000000001ba7eb
      OS Version:    6.0.6001.2.1.0.256.6
      Locale ID:    1033
      Additional Information 1:    603b
      Additional Information 2:    3ec9d140f10efeb2f0a7d02f968c360a
      Additional Information 3:    a863
      Additional Information 4:    75c6e9df8ab75d63002e907cb106c2fa
    Running Vista 64bit on a Dell T7400 with 12GB ram and Raid HDD's
    Any thoughts?
    Thanks
    Paul

    I'm having the same issue:
    Faulting application name: Adobe Premiere Pro.exe, version: 5.0.1.0, time stamp: 0x4bf119d2
    Faulting module name: Backend.dll, version: 5.0.1.0, time stamp: 0x4bf0dba0
    Exception code: 0x40000015
    Fault offset: 0x00000000001baafb
    Faulting process id: 0x15a8
    Faulting application start time: 0x01cb1b96d983de39
    Faulting application path: C:\Program Files\Adobe\Adobe Premiere Pro CS5\Adobe Premiere Pro.exe
    Faulting module path: C:\Program Files\Adobe\Adobe Premiere Pro CS5\Backend.dll
    Report Id: 6d0f1532-878a-11df-a3c5-81e14690b8b6
    Crashing during rendering.
    I 'm running Windows 7, 64 bit, Dell Covet 6400, Nvida Quadro FX3700M, 4gb ram.
    Issue occurs at the same frame, 802 of 2961 everytime I make at attempt to render.I've also noticed the Premier remains in memory after the crash.
    Has this been reported to Adobe or added to the bus list? If not, any idea how to get it added?
    thanks

  • Function call from button works then vanishes if I click anywhere

    I have the following code and it works great some times but others nothing happens, the button seems to work then for no apparent reason (at least nothing that comes up in the javascript console) I click and it says "FundName.FundTitle.getFundTitle is not a function" but it worked several times before that and nothing changed. Feel like I'm losing my mind, please give me some insight if you have any, everything is set to export for acrobat 9 and I have reader nine installed.
    DeedEstablishmentForm.Page1.Button2::click - (JavaScript, client)
    var str = FundName.FundTitle.getFundTitle();
    I have a fragment that has the following:
    form1.FundName.FundTitle::initialize - (JavaScript, client)
    function getFundTitle(){
    this.str = new String(this.rawValue);
    this.start = str.length - 20;
    this.idx = str.toLowerCase().lastIndexOf('superannuation fund');
    xfa.host.messageBox(this.str.valueOf());
    xfa.host.messageBox(this.start.toString());
    xfa.host.messageBox(this.idx.toString());
    if(this.start >= 1 && this.idx >= this.start && this.idx >= 1){
    return this.str.slice(0,idx);
    }else{
    return this.str;

    I talked to the developers about this one and I think we figured out what is happening. It has to do with the scope of the function. Here is what we believe is happening. You have defined your function on the Initialize event of an object. The function gets created and at the end of the Initialize event script it is no longer needed so it is marked for deletion. The function is still around until the next garbage collection cycle. Now the form finishes loading and you hit the button to call the function. Because th efunction still exists it is called. You continue to do this and all is OK. At some point garbage collection will run and the function will be deleted. It is at that point that you call it again and get the error. To resolve this problem you need to ensure that the funstion is always available. If you move your function to a script object then when the form loads the script object will run and your function will be created. Now it is callable at all times and shoudl alleviate th eissue you are having.
    On another note I noticed the use of the "this" key word in your script. In our world the "this" object is the obejct that has focus (or who is making the call). The ability to extend the "this" object as you do with str, start and idx is going to disappear. The "this" object will become immutable in a future release. To ensure that you do not have issues in a future release I suggest you change the way you do that code.
    Lastly by moving the code to a script object you will not be able to use "this". You can pass an object to the script and use that instead.
    Hope that helps. Let me know if you need further explanation.
    Paul

  • Function called IN BACKGROUND TASK goes to work process DIA, not BGD

    I'm calling a function IN BACKGROUND TASK
    In SM50, I see it running in a DIA work process.
    I want it to run in a BGD work process.
    Can this be done?  If so, how?  If not, why not?

    Hi...
    It looks like, it will always run in DIA process and not Background process...I am not sure that we can change the work process
    Check the below link..
    http://help.sap.com/saphelp_40b/helpdata/pt/69/c24f864ba111d189750000e8322d00/content.htm
    What is written in the link is...
    "Background updates (CALL FUNCTION IN BACKGROUND TASK) represent a variant of remote function call that is synchronous with the end of a transaction (COMMIT WORK). In background updating, an update is run in another dialog work process that may be in the same or in another application server and R/3 System. Because such updates run in their own LUWs, they may start only after all critical updates have been completed. Otherwise, it would not be possible to roll back background changes in the event of an error in another update component. "
    IF you get the answer of whether we can change the work process then please let us know...

  • Function call in FormCalc

    I am trying to call a function (type4) from within a FormCalc exit event:
    if ($.rawValue <> "2") then
         type4.validate()
    endif
    But when I run the form, I get an error saying that the "script does not have a method 'validate'."
    My function definitely does have a method called 'validate', see below:
    function validate() {
    Can anyone help me identify what I'm doing wrong? Thanks for your help.
    --Bruce

    Hi,
    I beleive validate() is a reserved method, so you should rename your function into validateObj() or so.
    And when calling a function, the syntax looks like:
    if ($.rawValue <> "2") then
         validateObj()
    endif
    In contrast to JavaScript FormCalc can only call functions which have been declared before the function call.
    Just an example.
    This script works, because the function is declared before it's called.
    func alert(msg) do
              $host.messageBox(msg)
    endfunc
    if ($ < 2) then
              alert("value to small")
    else
              alert("value ok")
    endif
    but this script fails, because the function call points to a function which has not be declared yet.
    if ($ < 2) then
              alert("value to small")
    else
              alert("value ok")
    endif
    func alert(msg) do
      $host.messageBox(msg)
    endfunc

  • Profiler tracking function call

    Hi there,
    is it possible to track a function call in a stored procedure?
    thanks,
    Ed

    <TypesInSSMS>
    CREATE FUNCTION myfunky() RETURNS int AS
    BEGIN
       DECLARE @ret int
       SELECT @ret = @@spid
       RETURN (SELECT @@spid)
    END
    go
    CREATE PROCEDURE sproc AS
      SELECT dbo.myfunky() FROM sys.objects
    </TypesInSSMS>
    Starts Profiler. Select the entire event category Stored Procedures. In the query window selects "sproc". Clicks Execute. Looks in Profiler.
    Seems like the answer is yes.
    Erland Sommarskog, SQL Server MVP, [email protected]

  • How to call a particular event?

    Hello All,
    How to call a particular event like handle_data_changed after you press a button which is created in ALV.
    Regards,
    Lisa.

    ALV (Abap List Viewer)
    We can easily implement basic features of reports like Sort, Allign, Filtering, Totals-Subtotals etc... by using ALV. Three types of reports we can do by ALV as 1. Simple Report, 2. Block Reprot and 3. Hierarchical Sequential Report.
    alv grid types
    1) list/ grid
    these are having rows and columns
    function modules for this type are
    REUSE_ALV_LIST_DISPLAY
    REUSE_ALV_GRID_DISPLAY2)
    2) HIERARCHY
    this will have header and line items
    function module for this type
    REUSE_ALV_HIERSEQ_LIST_DISPLAY
    3) tree
    this will nodes and child type structure
    function module for this type
    REUSE_ALV_TREE_DISPLAY
    4) APPEND
    this can append all the different types of lists where each list has different number of columns
    events associated with alvs
    1) top of page
    2) end of page
    3) top of list
    4) end of list
    5) on double click
    6) on link click
    7) on user command
    some useful links:
    http://www.sapdevelopment.co.uk/reporting/alvhome.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/99/49b844d61911d2b469006094192fe3/frameset.htm
    Examples:
    REPORT Z_ALV__ITEM .
    TYPE-POOLS : slis.
    Data
    DATA : BEGIN OF itab OCCURS 0.
    INCLUDE STRUCTURE t001.
    DATA : flag tyPE c,
    END OF itab.
    *DATA: itab like t001 occurs 0 with header line.
    DATA : alvfc TYPE slis_t_fieldcat_alv.
    DATA : alvly TYPE slis_layout_alv.
    data v_repid like sy-repid.
    Select Data
    v_repid = sy-repid.
    SELECT * FROM t001 INTO TABLE itab.
    *------- Field Catalogue
    call function 'REUSE_ALV_FIELDCATALOG_MERGE'
    exporting
    i_program_name = v_repid
    i_internal_tabname = 'ITAB'
    I_STRUCTURE_NAME =
    I_CLIENT_NEVER_DISPLAY = 'X'
    i_inclname = v_repid
    I_BYPASSING_BUFFER =
    I_BUFFER_ACTIVE =
    changing
    ct_fieldcat = alvfc[] .
    Display
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    it_fieldcat = alvfc[]
    i_callback_program = v_repid
    is_layout = alvly
    TABLES
    t_outtab = itab
    EXCEPTIONS
    program_error = 1
    OTHERS = 2.
    In very detail it's not easy, i believe it's better for you to test the function modules to work with ALV :
    REUSE_ALV_FIELDCATALOG_MERGE to create the fieldcatalogue
    REUSE_ALV_GRID_DISPLAY - to display the ALV in grid format
    REUSE_ALV_LIST_DISPLAY - to display the ALV in list format
    Anyone, here's one exemple of creating ALV reports :
    REPORT ZALV_SLAS_GDF .
    Declaração de Dados
    TABLES: ZSLA_NIV_SAT.
    selection-screen begin of block b1 with frame title text-001.
    select-options DATA for ZSLA_NIV_SAT-DATA. " Data
    select-options LIFNR for ZSLA_NIV_SAT-LIFNR. " Nº de conta fornecedor
    select-options WERKS for ZSLA_NIV_SAT-WERKS. " Centro
    select-options EBELN for ZSLA_NIV_SAT-EBELN. " Nº contrato
    selection-screen end of block b1.
    DATA: BEGIN OF itab1 OCCURS 100.
    include structure ZSLA_NIV_SAT.
    data: END OF itab1.
    Outros dados necessários:
    Campo para guardar o nome do report
    DATA: i_repid LIKE sy-repid.
    Campo para verificar o tamanho da tabela
    DATA: i_lines LIKE sy-tabix.
    Dados para mostrar o ALV
    TYPE-POOLS: SLIS.
    *DATA: int_fcat type SLIS_T_FIELDCAT_ALV with header line.
    DATA: int_fcat type SLIS_T_FIELDCAT_ALV.
    DATA: l_key TYPE slis_keyinfo_alv.
    START-OF-SELECTION.
    Ler dados para dentro da tabela imat
    SELECT * FROM ZSLA_NIV_SAT
    INTO CORRESPONDING FIELDS OF TABLE itab1
    WHERE data in data
    and lifnr in lifnr
    and ebeln in ebeln
    and werks in werks.
    CLEAR: i_lines.
    DESCRIBE TABLE itab1 LINES i_lines.
    IF i_lines lt 1.
    WRITE: / 'Não foram seleccionadas entradas.'.
    EXIT.
    ENDIF.
    END-OF-SELECTION.
    Agora, começa-se o ALV
    Para usar o ALV, nós precisamos de uma estrutura do dicionário de
    *dados DDIC ou de uma coisa chamada “Fieldcatalogue”.
    Existe 2 maneiras de preencher a coisa referida acima:
    *Automaticamente e Manualmente
    Como preencher Automaticamente?
    O fieldcatalouge pode ser gerado pela Função
    *'REUSE_ALV_FIELDCATALOG_MERGE' a partir de uma tabela de qualquer fonte
    Para que se possa utilizar esta função tabela tem que ter campos do
    *dicionário de dados, como é o caso da tabela ITAB1
    Guardar o nome do programa
    i_repid = sy-repid.
    Create Fieldcatalogue from internal table
    CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
    EXPORTING
    I_PROGRAM_NAME =
    i_repid
    I_INTERNAL_TABNAME =
    'ITAB1' "LETRAS GRANDES
    I_INCLNAME =
    i_repid
    CHANGING
    CT_FIELDCAT =
    int_fcat[]
    EXCEPTIONS
    INCONSISTENT_INTERFACE =
    1
    PROGRAM_ERROR =
    2
    OTHERS =
    3.
    IF SY-SUBRC <> 0.
    WRITE: / 'Returncode', sy-subrc,
    'from FUNCTION REUSE_ALV_FIELDCATALOG_MERGE'.
    ENDIF.
    *Isto era o Fieldcatalogue
    E agora estamos preparados para executar o ALV
    Chama o ALV
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    I_CALLBACK_PROGRAM = i_repid
    IT_FIELDCAT = int_fcat[]
    I_DEFAULT = ' '
    I_SAVE = ' ' "'A'
    TABLES
    T_OUTTAB = itab1
    EXCEPTIONS
    PROGRAM_ERROR = 1
    OTHERS = 2.
    IF SY-SUBRC <> 0.
    WRITE: /
    'Returncode', sy-subrc, 'from FUNCTION REUSE_ALV_GRID_DISPLAY'.
    ENDIF.
    Please reward the helpful entries.

  • Function calling problem

    Hi,
    I created a class file and in constructor loading a XML file
    and on Load of XML I am calling different function with in the same
    class, but it is not executing can you please tell me where is the
    problem.
    Here is the code given below.
    class myClass
    private var myXML:XML;
    public function myClass()
    myXML.load("myXML")
    myXML.onLoad = function()
    displaText() // This is the function which is not calling
    public function displaText()
    trace("Welcome")
    }

    It looks like you've got a scoping issue...
    try:
    var pointer:myClass=this;
    myXML.onLoad=function(success){
    if(success){
    pointer.displaText();
    }else{
    // error handling
    When you call a function within an onLoad event, that
    function is scoped to the object being loaded. If you want to call
    a method from another object (in this case from your 'myClass'
    class), you need to use a reference to the object that contains the
    function.
    Don't forget to use the new XML constructor when
    instantiating your XML object:
    myXML= new XML();
    Also... it's a best practices thing... you should capitalize
    your class names (MyClass instead of myClass). You'd then likely
    use the lower case (myClass) to name an instance of the class.
    Cheers,
    PPE

  • Is it possible to pass an argument to the function triggered by an event handler?

    Hello All,
    Trying to migrate my way of thinking from AS2 to CS4/AS3.
    Ok, I have 2 buttons on the stage. Each button does almost
    the same thing, so I want to create a single function, and each
    button calls that same function (we'll name that function
    "Navigate")... however, the function will need to end up doing
    something different dependant on which button was clicked.
    So, previously, in AS2, I would've added some code onto the
    buttons themselves with on(release) methods (see CODE EXAMPLE 1)
    So, each button effectively calls the Navigate function, and
    passes a different frame label to the function.
    Now, I'm trying to recreate this functionality in AS3. As you
    all know, on(release) has been done away with (still don't know
    why), but we now have to use event handlers, so I'm trying to
    figure out a way to pass a different frame label argument to the
    Navigate function. Currently I can achieve that by using a switch
    statement to test which button was clicked, and act accordingly
    (see CODE EXAMPLE 2).
    In this over-simplified example, this works fine, but in the
    real world I'm going to have more than 2 buttons, and the Navigate
    function would probably be much more complicated...
    So, I would like to be able to pass an argument(s) (like in
    the AS2 example) to the Navigate function... perhaps in the
    addEventListener() method? I tried this, but got compiler errors
    (see CODE EXAMPLE 3):
    The Million Dollar Question:
    Is it possible to dynamically pass/change an argument(s) to a
    function which is triggered by an event listener? (Or is the event
    that triggered the function the only argument you can have?)
    If this isn't possible, I'd greatly like to hear how you
    folks would handle this (other than having a switch statement with
    12 cases in it)???

    I've found a couple solutions that I'll post below for
    prosperity...
    You could create a Dictionary keyed by the prospective event
    targets and store any information in there you want associated with
    them. Then the navigate function can check that dictionary to get
    it's parameters:
    // Code //
    Button1.addEventListener(MouseEvent.CLICK, Navigate, false,
    0, true);
    Button2.addEventListener(MouseEvent.CLICK, Navigate, false,
    0, true);
    var buttonArgs:Dictionary = new Dictionary();
    buttonArgs[Button1] = "FrameLabel1";
    buttonArgs[Button2] = "FrameLabel2";
    function Navigate(e:MouseEvent):void{
    gotoAndStop(buttonArgs[e.target]);
    This in my eyes, is about the same amount of work as writing
    a long switch statement, but a little more elegant I suppose.
    I had a little trouble understanding the next solution,
    because I didn't quite understand an important piece of information
    about event listeners. The addEventListener () requires a Function
    as the 2nd argument passed to it.
    It didn't quite click until someone pointed it out to me:
    Navigate is a Function...
    Navigate("FrameLabel1") is a Function
    call...
    So by writing just
    Navigate, I'm not actually calling the function at the time
    of the addEventListener call, I'm just supplying the event listener
    with a reference to the name of the function. Then, when the
    listener is triggered, the listener will call (and pass a
    MouseEvent argument to) the Navigate function.
    Conversely, by writing
    Navigate("FrameLabel1") as the 2nd argument, the event
    listener trys to execute the Navigate function at the time the
    addEventListener is instantiated. And, since, in this example, the
    Navigate function returned as ":void" a compile error would occur
    because as I stated, an event listener requires a Function data
    type as the 2nd argument. This would basically be like writing
    addEventListener(MouseEvent.Click,
    void, false, 0, true)
    However, there is a way around this... basically, instead of
    defining the Navigate function as returning a void data type, you
    define it as returning a Function data type, and then nest another
    function (which actually contains the actions you want to perform)
    inside of it.
    Button1.addEventListener(MouseEvent.CLICK,
    Navigate("FrameLabel1"), false, 0, true);
    Button2.addEventListener(MouseEvent.CLICK,
    Navigate("FrameLabel2"), false, 0, true);
    function Navigate(myLabel:String):Function{
    return function(evt:MouseEvent):void{
    gotoAndStop(myLabel);

  • [svn] 3045: Fix FB-13900: Expression Evaluator: 'is' and 'as' expressions return 'Target player does not support function calls'

    Revision: 3045
    Author: [email protected]
    Date: 2008-08-29 10:59:25 -0700 (Fri, 29 Aug 2008)
    Log Message:
    Fix FB-13900: Expression Evaluator: 'is' and 'as' expressions return 'Target player does not support function calls'
    Ticket Links:
    http://bugs.adobe.com/jira/browse/FB-13900
    Modified Paths:
    flex/sdk/trunk/modules/debugger/src/java/flash/tools/debugger/concrete/BinaryOp.java
    flex/sdk/trunk/modules/debugger/src/java/flash/tools/debugger/concrete/PlayerSession.java

    Revision: 3045
    Author: [email protected]
    Date: 2008-08-29 10:59:25 -0700 (Fri, 29 Aug 2008)
    Log Message:
    Fix FB-13900: Expression Evaluator: 'is' and 'as' expressions return 'Target player does not support function calls'
    Ticket Links:
    http://bugs.adobe.com/jira/browse/FB-13900
    Modified Paths:
    flex/sdk/trunk/modules/debugger/src/java/flash/tools/debugger/concrete/BinaryOp.java
    flex/sdk/trunk/modules/debugger/src/java/flash/tools/debugger/concrete/PlayerSession.java

  • How to call a C function calling a Java Method from another C function ?

    Hi everyone,
    I'm just starting to learn JNI and my problem is that I don't know if it is possible to call a C function calling a Java Method (or doing anything else with JNI) from another C function.
    In fact, after receiving datas in a socket made by a C function, I would like to create a class instance (and I don't know how to do it too ; ) ) and init this instance with the strings I received in the socket.
    Is all that possible ?
    Thank you very much for your help !

    Hard to understand the question, but by most interpretations the answer is going to be yes.
    You do of course understand that JNI is the "API" that sits between Java and C and that every call between the two must go through that. You can't call it directly.

  • Is it possible to get the caller object in a function call hierarchy ?

    Hi,
    I have a problem in hand for adding a new functionality to an existing code with MINIMAL code change. For this I need to get some extra information in a function call from its caller. And for this I do not want to change the signature of the method, as it requires a lot of code change. So I need to have a programming facility by which I can get the object from which the function was invoked. Some thing like "{code}this.CALLEROBJECT{code}".
    Please let me know whether we can achieve this in JAVA. I wonder if such a facility exists in any programming language...
    Thanks in advance.
    Regards
    Joby

    No.
    Youd have to buy it Germany or see if an Apple Authrorized reseller in Singapore could order you the keyboard.

  • The Cluster Service function call 'ClusterResourceControl' failed with error code '1008(An attempt was made to reference a token that does not exist.)' while verifying the file path. Verify that your failover cluster is configured properly.

    I am experiencing this error with one of our cluster environment. Can anyone help me in this issue.
    The Cluster Service function call 'ClusterResourceControl' failed with error code '1008(An attempt was made to reference a token that does not exist.)' while verifying the file path. Verify that your failover cluster is configured properly.
    Thanks,
    Venu S.
    Venugopal S ----------------------------------------------------------- Please click the Mark as Answer button if a post solves your problem!

    Hi Venu S,
    Based on my research, you might encounter a known issue, please try the hotfix in this KB:
    http://support.microsoft.com/kb/928385
    Meanwhile since there is less information about this issue, before further investigation, please provide us the following information:
    The version of Windows Server you are using
    The result of SELECT @@VERSION
    The scenario when you get this error
    If anything is unclear, please let me know.
    Regards,
    Tom Li

  • Is there a way to avoid the function call ?

    Given the following test case
    CREATE USER TESTER
      IDENTIFIED BY "tester"
      DEFAULT TABLESPACE USERS
      TEMPORARY TABLESPACE TEMP
    GRANT CONNECT, RESOURCE TO TESTER
    GRANT CREATE TYPE TO TESTER
    GRANT CREATE SESSION TO TESTER
    GRANT CREATE PROCEDURE TO TESTER
    GRANT CREATE TABLE TO TESTER
    GRANT UNLIMITED TABLESPACE TO TESTER
    ALTER USER TESTER QUOTA UNLIMITED ON USERS
    COMMIT
    CONNECT TESTER/tester
    CREATE OR REPLACE TYPE TESTER.PATTERN_LIST AS TABLE OF VARCHAR2(1023 CHAR)
    SHOW ERRORS
    CREATE TABLE TESTER.PARENT_TABLE
       FIELD_ID     NUMBER(10)          NOT NULL,
       FIELD_NAME   VARCHAR2( 255 CHAR) NOT NULL,
       FIELD_PATH   VARCHAR2(1023 CHAR) NOT NULL,
       FIELD_VALUE  VARCHAR2( 255 CHAR)
    CREATE TABLE TESTER.CHILD_TABLE
      FIELD_PATH    VARCHAR2(1023 CHAR) NOT NULL,
      MIN_STR_LEN   NUMBER(10),
      MAX_STR_LEN   NUMBER(10),
      PATTERNS      TESTER.PATTERN_LIST
    NESTED TABLE PATTERNS STORE AS PATTERN_TABLE RETURN AS VALUE
    ALTER TABLE TESTER.PARENT_TABLE ADD (
      CONSTRAINT PARENT_TABLE_PK
    PRIMARY KEY
    (FIELD_ID))
    INSERT ALL
      INTO TESTER.PARENT_TABLE
    VALUES (1, 'FIELD_A', '/A', NULL)
      INTO TESTER.PARENT_TABLE
    VALUES (2, 'FIELD_AB', '/A/B', '20090731')
      INTO TESTER.PARENT_TABLE
    VALUES (3, 'FIELD_AC', '/A/C', '2167')
      INTO TESTER.PARENT_TABLE
    VALUES (4, 'FIELD_AC', '/A/C', '1144')
      INTO TESTER.PARENT_TABLE
    VALUES (5, 'FIELD_AD', '/A/D', 'XS10')
      INTO TESTER.PARENT_TABLE
    VALUES (6, 'FIELD_AB', '/A/B', '20090229')
      INTO TESTER.PARENT_TABLE
    VALUES (7, 'FIELD_AD', '/A/D', 'ART')
      INTO TESTER.PARENT_TABLE
    VALUES (8, 'FIELD_AD', '/A/D', 'TESTED')
      INTO TESTER.CHILD_TABLE
    VALUES ('/A', NULL, NULL, PATTERN_LIST())
      INTO TESTER.CHILD_TABLE
    VALUES ('/A/B',   NULL, NULL, PATTERN_LIST(   '[12][0-9]{3}[0][13578]([0][1-9]|[12][0-9]|[3][01])'
                                                , '[12][0-9]{3}[0][469]([0][1-9]|[12][0-9]|[3][0])'
                                                , '[12][0-9]{3}[1][02][3][1]'
                                                , '[12][0-9]{3}[1][1][3][0]'
                                                , '[12][0-9]{3}[0][2][2][8]'
                                                , '([2][048]|[1][26])([02468][048]|[13579][26])[0][2][2][9]'))
      INTO TESTER.CHILD_TABLE
    VALUES ('/A/C',   NULL, NULL, PATTERN_LIST(  '[0-1][0-9][0-5][0-9]'
                                               , '[2][0-3][0-5][0-9]'))
      INTO TESTER.CHILD_TABLE
    VALUES ('/A/D',   3, 4, PATTERN_LIST('[^0-9]*'))
    SELECT * FROM DUAL
    CREATE OR REPLACE FUNCTION TESTER.MATCH_PATTERN(p_value IN VARCHAR2, p_patterns IN TESTER.PATTERN_LIST) RETURN NUMBER
    AS
    v_count NUMBER := 0;
    BEGIN
       SELECT COUNT(*)
         INTO v_count
         FROM TABLE(p_patterns)
        WHERE REGEXP_SUBSTR(p_value, COLUMN_VALUE) = p_value;
        RETURN v_count;
    END MATCH_PATTERN;
    SHOW ERRORS
    COMMIT
    /the query
    SELECT   FIELD_ID
           , FIELD_PATH
           , ERRINDEX
           , FIELD_VALUE
      FROM (
               SELECT   a.FIELD_ID
                      , a.FIELD_PATH
                      , b.PATTERNS
                      , CASE
                           WHEN ((b.MIN_STR_LEN IS NOT NULL) AND ((a.FIELD_VALUE IS NULL) OR (LENGTH(a.FIELD_VALUE) < b.MIN_STR_LEN))) THEN 1
                        END AS ERRINDEX_1
                      , CASE
                           WHEN ((b.MAX_STR_LEN IS NOT NULL) AND ((a.FIELD_VALUE IS NULL) OR (LENGTH(a.FIELD_VALUE) > b.MAX_STR_LEN))) THEN 2
                        END AS ERRINDEX_2
                      , CASE
                           WHEN ((b.PATTERNS IS NOT EMPTY) AND ((SELECT COUNT(*) FROM TABLE(b.PATTERNS) WHERE REGEXP_SUBSTR(a.FIELD_VALUE, COLUMN_VALUE) = a.FIELD_VALUE) = 0)) THEN 4
                        END AS ERRINDEX_4
                      , a.FIELD_VALUE
                 FROM            TESTER.PARENT_TABLE a
                      INNER JOIN TESTER.CHILD_TABLE  b ON a.FIELD_PATH = b.FIELD_PATH
              UNPIVOT
                 ERRINDEX
                 FOR COL IN (ERRINDEX_1, ERRINDEX_2, ERRINDEX_4)
           )gives me ORA-03113: end-of-file on communication channel
    If on the other hand, I replace the nested single-row SELECT with the function call like this
    SELECT   FIELD_ID
           , FIELD_PATH
           , ERRINDEX
           , FIELD_VALUE
      FROM (
               SELECT   a.FIELD_ID
                      , a.FIELD_PATH
                      , b.PATTERNS
                      , CASE
                           WHEN ((b.MIN_STR_LEN IS NOT NULL) AND ((a.FIELD_VALUE IS NULL) OR (LENGTH(a.FIELD_VALUE) < b.MIN_STR_LEN))) THEN 1
                        END AS ERRINDEX_1
                      , CASE
                           WHEN ((b.MAX_STR_LEN IS NOT NULL) AND ((a.FIELD_VALUE IS NULL) OR (LENGTH(a.FIELD_VALUE) > b.MAX_STR_LEN))) THEN 2
                        END AS ERRINDEX_2
                      , CASE
                           WHEN ((b.PATTERNS IS NOT EMPTY) AND (TESTER.MATCH_PATTERN(a.FIELD_VALUE, b.PATTERNS) = 0)) THEN 4
                        END AS ERRINDEX_4
                      , a.FIELD_VALUE
                 FROM            TESTER.PARENT_TABLE a
                      INNER JOIN TESTER.CHILD_TABLE  b ON a.FIELD_PATH = b.FIELD_PATH
              UNPIVOT
                 ERRINDEX
                 FOR COL IN (ERRINDEX_1, ERRINDEX_2, ERRINDEX_4)
           )the query gives the correct results which should be
    FIELD_ID    FIELD_PATH    ERRINDEX    FIELD_VALUE
    6           /A/B          4           20090229
    3           /A/C          4           2167
    5           /A/D          4           XS10
    8           /A/D          2           TESTEDIs there a way to do this without the PL/SQL function call and at the same time avoid the ORA-03113 ? Or, have I hit a bug on 11.1.0.7 ?
    Many thanks in advance
    Best Regards
    Philip

    I found the Oracle Bug on my own in the end, in the most unlikely of places !
    The following code
    SELECT   FIELD_ID
           , FIELD_PATH
           , ERRINDEX
           , FIELD_VALUE
      FROM (
               SELECT   a.FIELD_ID
                      , a.FIELD_PATH
                      , CASE
                           WHEN ((b.MIN_STR_LEN IS NOT NULL) AND ((a.FIELD_VALUE IS NULL) OR (LENGTH(a.FIELD_VALUE) < b.MIN_STR_LEN))) THEN 1
                        END AS ERRINDEX_1
                      , CASE
                           WHEN ((b.MAX_STR_LEN IS NOT NULL) AND ((a.FIELD_VALUE IS NULL) OR (LENGTH(a.FIELD_VALUE) > b.MAX_STR_LEN))) THEN 2
                        END AS ERRINDEX_2
                      , CASE
                           WHEN ((b.PATTERNS IS NOT EMPTY) AND ((SELECT COUNT(*) FROM TABLE(b.PATTERNS) WHERE REGEXP_SUBSTR(a.FIELD_VALUE, COLUMN_VALUE) = a.FIELD_VALUE) = 0)) THEN 4
                        END AS ERRINDEX_4
                      , a.FIELD_VALUE
                 FROM            TESTER.PARENT_TABLE a, TESTER.CHILD_TABLE b
                WHERE a.FIELD_PATH = b.FIELD_PATH
              UNPIVOT
                 ERRINDEX
                 FOR COL IN (ERRINDEX_1, ERRINDEX_2, ERRINDEX_4)
           )works as intended i.e. like a charm !
    The only difference between the one that gives the ORA-03113 and the above is the way the join is written. The ANSI way (INNER JOIN) fails, the old way (WHERE clause) succeeds.
    I will open a SR with Oracle so that it may be recorded and fixed.
    Best Regards
    Philip

Maybe you are looking for