RT Code aborts

Hi
We have been facing a strange problem for over 2 weeks.
We have developed an application that works on client-server communication.
PXI-RT acts as the server and the RT application is delpoyed to run on startup.
Host PC receives data continuously from the RT for analysis, processing and display.
the RT acquries data from a max of 63 channels (PXI and SCXI), decimates the data by a factor defined by the user and transmits it to the host.
for over few days, the RT code was observed to abort execution after nearly 20 min of execution. Data was acquried from a max of 63 channels at 5KS/sec.The RT aborted irrespective of the number of channels being configured for acquisiton.
The duration after which the code aborts varies between 10 min and 20 min.
We were not able to trace the reason for this behaviour. We tried increasing the delays and timeouts in the communication vis.
If anyone out there can suggest the possible fixes to this issue, it would be grateful.
Any more information regardign the system, if needed, will be given.
Thank you 

MScap wrote:
Memory does not change rapidly. It increases slowly to around 60% before the code aborts. The CPU usage jumps between a higher and a lower value, till it actually ends up either at 0% or at 100% 
Message Edited by MScap on 11-10-2008 08:53 PM
If memory is growing even slowly to 60%, I would strongly suspect a memory leak.  Does anything about what you are doing in the code make sense that the memory is growing?
I would suspect that you have arrays that are growing with time.  If the array grows to be larger than the space it currently occupies, then the memory manager will shuffle it in memory until if finds a contiguous space in memory to hold it.  If the array grows so large that there isn't a large enough block of memory to hold it, then I believe the system would crash.  Even though you are only using 60%, that means only 40% is free, thus less than half the memory.  If the array has grown over time, the array may now be larger than 40% of your memory space.
Take a close look at what operations you are doing to your arrays and make sure you are not growing them unnecessarily.  Preallocate space for arrays by using initialize array functions.  Use replace array subset in code rather than build array or insert into array, maintaining the array between loop iterations using shift registers along with any other data you need to hold such as how much of the array contains valid data.

Similar Messages

  • CRM 2015 Unable to get profiler error to debug code on associate message

    Hi all,
    Im trying to get the profiler on associate message(Opportunity- Competitor)  and i'm unable to get profiler error to debug code and getting "ISV Code aborted"
    the below link didn't work for me
    https://community.dynamics.com/crm/f/117/t/134575.aspx
    Thanks & Regards Vijji

    Hello,
    In case you develop for CRM 2015 you don't need to get profiler error anymore. Recheck
    this article.
    Dynamics CRM MVP
    My blog

  • FPGA code stops when RT code stops

    I have developed some FPGA code to manage a piece of hardware. It's setup to read some default front-panel control configuration values and then sit there endlessly responding to signal inputs and producing signal outputs.  The FPGA bitfile is written to flash memory so the FPGA loads and starts running almost immediately. So far all is good. 
    Next I layered onto the system (cRIO-9075) some RT code which opens an FPGA reference to the FPGA front panel and allows me to monitor a few indicators and change the configuration settings and cause the changed configuration settings to be used by the FPGA.   So far this seems to work too when I run the RT code interactively (eventually there will be an interface to a host system).
    The problem occurs when the RT code is commanded to stop. Stopping the RT code also causes the FPGA code to stop and I don't want the FPGA code to stop. The RT code does not make any calls to command that the FPGA code abort execution. When the RT code is stopped, the only thing it does with regard to the link to the FPGA is to close the FPGA VI reference that was opened when the RT code was started.
    What do I need to be doing to cause the FPGA code to continue to run as the RT code is started and stopped?
    Solved!
    Go to Solution.

    I'll have to wait until I get back to the office tomorrow to test this but I think this link has the answer to my problem.
    http://lavag.org/topic/16412-confusion-regarding-fpga-deployment/#entry100294
    It says: "the Close FPGA reference VI. If you right click you have an option to close or by default close and reset. This means the FPGA VI is reset (read aborted in standard LV speak) when we close the reference."

  • How to determine the position in code after pause/abort

    Hi there.
    I've been searching for this for quite a while now, but I didn't find a solution, although I might just have looked in the wrong direction.
    Problem is: I'm trying to find a way to see where my program was (i.e. which part of the code it was execution) the moment I click on pause or abort. (Like the "pause" button present in most modern IDEs, when pressed, it halts the tread and jumps to the code-line or ASM-instruction the CPU was executing).
    The reason: I'm using LabView to control a few instruments to do some measurements on OPVCs. During long measurements involving multiple parameter-sweeps and hence numerous reconfigurations of both function generators and scopes, the program sometimes stops, or better "stalls".
    That is, the front panel's still responsive, but the measurement stops. I don't know whether the problem is related to my program or the scope (it's a LeCroy 434 Wavesurfer) or the FG (a Tabor series) - but I cannot find out either because I don't know what the program did last. FYI: when watching the program's execution using the Execution Highlighting tool, the error doesn't show up, so I guess it's some sort of timing issue.
    I'm currently installing the Execution Trace toolkit in the hope it will help, but still, any help would be great!
    Thanks in advance
    Alex

    AlexHofi wrote:
    LV_Pro wrote:
    Do you have any other means to stop your program currently?
    Yes, in theory... in the last few minutes I reviewed some code I wrote months ago when starting with the development and saw some possible dead-locks with the UI. I have two "Stop"-Buttons, one that stops the measurement and one that exits the wohle program, the latter via an event, the first get's polled in the measurement loop via reference. I read elsewhere that this might not be the best way of doing it, as accessing the UI outside the main event loop might cause some problems.
    I've got some spare lab-time today and will look into this again, unfortunately I cann't test the OutputDebugString-Thingy on my development machine as it's on linux.
    Anyway, it's quite exciting that I finally found a board where peopple really try to helpt, even if the questions ask might not be as constructive as theay could/should be. Thank you very much for that!
    Generally it is best to keep UI elements out of your processing code. Not only will a property node force execution to the UI thread it also tightly couples your UI and processing tasks. The prefered method is to use some type of messaging to the processing tasks. This can be implemented using queues, notifiers or user events. Your processing tasks now have a defined interface for interacting with them which makes reuse of the code easier. It is also more maintainable since you can completely change the UI without requiring a change to the processing code.
    Mark Yedinak
    "Does anyone know where the love of God goes when the waves turn the minutes to hours?"
    Wreck of the Edmund Fitzgerald - Gordon Lightfoot

  • Firefox can't load a Siemens Gigaset network camera but IE8 can. There is an error in the code from the cam. Could Firefox ignore this and display the image anyway ? eg. with Ignore / Abort.

    I run Windows-XP SP3 and I can't get the image from a Siemans Gigaset cam. There is an error in the cam code (a lacking rutine) . IE8 ignores this and displays the image anyway.
    Is it possible to get a notification like Ignore/Abort/ Continue ???

    Does the documentation for that camera, or for the software with it, say anything about ActiveX or about H.264?
    If so, it isn't compatible with Firefox - it doesn't do ActiveX and it doesn't support H.264 in the HTML5 standard. Microsoft just released a plugin for Firefox that adds H.264 support to Firefox, but IIRC that only covers Windows 7 - not WinXP.

  • Making test code 'Fool Proof??' using an Abort type option

    I have created 2 different tests for the Techs where I work. I have both set-up with abort buttons so if something should happen it will abort the test. but every now and then it seems as if someone will close one of the prompts for the test by clicking the 'X' in the upper right. I know I can just do away with the title bar and MAKE them press the button on the front panel to continue but I am not sure I want to do that just yet. What I am curiouos on is if the prompt vi that is running is a subvi in my main program, is there a way to pass through some sort of output if the vi is closed by that 'X'? this way I could put the program into an idle state. allowing the user to select a new task in the program without having to close it and restart.
    This program was made about a yer agao and since then I have learned more with LabVIEW and will be working on cleaning my code and improving it as there are some things I should address, but making it fool proof is at the top of my list.
    I am hoping there is a way to allow the subvi to pass a boolean or something to know that the prompt window was closed prematurely and to go into an idle state. if not I will remove the title bar to fix that problem.
    Jeff D.
    OS: Win 7 Ultimate
    LabVIEW Version: 2011,2010,2009 installed
    Certified LabVIEW Architect

    Hi Dennis - the "discard?"  option is a nice feature - never noticed it - thanks for the pointer.
    When they give imbeciles handicap-parking, I won't have so far to walk!

  • Running DS-5 armcc compiled code (PIC) under Windows EC 2013

    Hi All,
    i just wanted to know if it is generally (officially) supported to run code that is compiled via the armcc (5.03) from DS-5 under Windows Embedded Compact 2013. Or if this is discouraged (reasons?).
    The problem i have:
    The bootloader contains some code that must be run during Windows EC Startup. So this code is loaded from the Flash, copied to RAM (reserved and commited via VirtualAlloc and marked as executable) and then the functions are called via FunctionPointers.
    The code is compiled and linked as position independent and the stack base register is set accordingly before any function is called via pointer and reset when it returns.
    This works in about 9 out of 10 tests without problems. But sometimes i get all sort of exceptions (Data Abort, Prefetch Abort, Unknown Instruction, ...). Most (if not all) of the time they occur when the position independent code runs on one of the two
    cores.
    The code runs on an i.MX6DQ (dual).
    If i only enable one core, i can't reproduce the problem (i assume that multicore-handling and multithreading in WinEC 2013 Update 10 is really well tested and works without problems, so this can't be the real reason).
    I've thoroughly checked and debugged the code, i'm really sure there is no illegal access or other problem with the code itself.
    Could it be a problem to call code compiled via DS-5 armcc? I've compared assembler code that Visual Studio/Platform Builder generates with code that DS-5 generates (but i'm no assembler expert). I can't see any obvious special code that is added by Visual
    Studio/Platform Builder (i.e. that functions need) that is not there in the DS-5 code.
    Best Regards
    Sebastian

    So I think you could be able to image some code for ROM from another compiler and without knowledge of Windows CE. However, if the code will be called from Windows CE, this becomes more difficult requiring very careful isolation from the
    MMU state, processor state, kernel/user mode, etc. Code that works great when called from the bootloader might not work at all from Windows CE itself. The main problem with mixing code from different compilers is the object file format and conventions for
    entry and public names. Very unlikely that you'd be able to "link" code from any other compiler with PB-compiled code.
    You might think about the x86 image which can easily call BIOS from the bootloader but which can't even begin to call BIOS from CE itself. The problem isn't the compiler (which is different), but the operating environment differences and assumptions.
    Paul T.

  • Sample code for routine

    Hi all,
    This is what I want to achieve. I have an attribute for an IO, but the values for that has to be decided at the transfer structure level. I want to write a routine in the transfer rules to populate the field.
    I have another field that gets populated from R/3. I need to write a routine which would take this value and see if it falls in the range and have to decide the value and populate.
    I have gl_account coming in, and in the routine I need to take that value of the gl_account and see if it falls in the range of 1 – 5000 or 6700 - 8130 if so assign a + sign and if not assign a – sign to the new field.
    Any sample code would be appreciated and rewarded.
    Thanks,
    Sri

    Global code used by conversion rules
    $$ begin of global - insert your declaration only below this line  -
    TABLES: ...
    DATA:   ...
    $$ end of global - insert your declaration only before this line   -
    $$ begin of routine - insert your code only below this line        -
    DATA: l_s_errorlog TYPE rssm_s_errorlog_int.
       Data:  temp1 TYPE RANGE OF TRAN_STRUCTURE-ZDEBITCREDIT,
       Data:  temp1_line LIKE LINE OF temp1.
       temp1_line-sign = 'I'.
       temp1_line-option = 'BT'.
       temp1_line-low = '001'.
       temp1_line-high = '5000'.
       APPEND temp1_line TO temp1
      Data:  temp2 TYPE RANGE OF TRAN_STRUCTURE-ZDEBITCREDIT,
       Data:  temp2_line LIKE LINE OF temp2.
       temp2_line-sign = 'I'.
       temp2_line-option = 'BT'.
       temp2_line-low = '5001'.
       temp2_line-high = '8000'.
       APPEND temp2_line TO temp2
    Data: temp(1) char.
    if TRAN_STRUCTURE-0glaccnt  IN temp1.
       temp3  = '+'.
    elseif TRAN_STRUCTURE-0glaccnt  IN temp2.
      temp 3= '-'.
    endif
      RESULT = temp3 .
    returncode <> 0 means skip this record
      RETURNCODE = 0.
    abort <> 0 means skip whole data package !!!
      ABORT = 0.
    $$ end of routine - insert your code only before this line         -

  • Start Routine code error of Perform routine 9998

    Hi,
    I have install standard and then migrate to 7.0 all the flow of modeling.
    but after loading data in PSA, while activation i will found following problem (error in routine).
    In PERFORM or CALL FUNCTION ROUTINE_9998, the actual parameter SOURCE_PACKAGE is incompatible with the formal parameter DATA_PACKAGE.
    please suggest me.

    PROGRAM trans_routine.
          CLASS routine DEFINITION
    CLASS lcl_transform DEFINITION.
      PUBLIC SECTION.
    Attributs
        DATA:
          p_check_master_data_exist
                TYPE RSODSOCHECKONLY READ-ONLY,
    *-    Instance for getting request runtime attributs;
        Available information: Refer to methods of
        interface 'if_rsbk_request_admintab_view'
          p_r_request
                TYPE REF TO if_rsbk_request_admintab_view READ-ONLY.
      PRIVATE SECTION.
        TYPE-POOLS: rsd, rstr.
      Rule specific types
        TYPES:
          BEGIN OF tys_SC_1,
         InfoObject: 0MPOINT Measuring point.
            MPOINT           TYPE /BI0/OIMPOINT,
         InfoObject: 0MDOC Measurement Document.
            MDOC           TYPE /BI0/OIMDOC,
         InfoObject: 0MPOBJ Object Number of Measuring Point Object.
            MPOBJ           TYPE /BI0/OIMPOBJ,
         InfoObject: 0MPTYP Type of Measuring Point.
            MPTYP           TYPE /BI0/OIMPTYP,
         InfoObject: 0PSORT Position Number of Measuring Point in Object (
    *Sort Field).
            PSORT           TYPE /BI0/OIPSORT,
         InfoObject: 0ASSEMBLY Assembly.
            ASSEMBLY           TYPE /BI0/OIASSEMBLY,
         InfoObject: 0ATINN Internal Characteristic Number.
            ATINN           TYPE /BI0/OIATINN,
         InfoObject: 0MDATE Date of Measurement.
            MDATE           TYPE /BI0/OIMDATE,
         InfoObject: 0TIME Time.
            TIME           TYPE /BI0/OITIME,
         InfoObject: 0DESIRSI Target Value for Measuring Point in SI Unit.
            DESIRSI           TYPE /BI0/OIDESIRSI,
         InfoObject: 0TVIND Target Value for Measuring Point Is Defined.
            TVIND           TYPE /BI0/OITVIND,
         InfoObject: 0MRMINI Lower Measurement Area Limit Is Defined.
            MRMINI           TYPE /BI0/OIMRMINI,
         InfoObject: 0MRMINSI Lower Meas. Limit or Min. Total Counter Read
    *ing in SI Unit.
            MRMINSI           TYPE /BI0/OIMRMINSI,
         InfoObject: 0MRMAXI Upper Measurement Area Limit Is Defined.
            MRMAXI           TYPE /BI0/OIMRMAXI,
         InfoObject: 0SIUNIT SI unit.
            SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0CJUMPSI Counter Overflow Reading in SI Unit.
            CJUMPSI           TYPE /BI0/OICJUMPSI,
         InfoObject: 0PYEARSI Annual Performance in SI Unit.
            PYEARSI           TYPE /BI0/OIPYEARSI,
         InfoObject: 0CREATED_BY Created By.
            CREATED_BY           TYPE /BI0/OICREATED_BY,
         InfoObject: 0READSI Measured Value/Total Counter Reading in SI Un
    *it.
            READSI           TYPE /BI0/OIREADSI,
         InfoObject: 0READEU Measured Value in Document Entry Unit.
            READEU           TYPE /BI0/OIREADEU,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
            RECDU           TYPE /BI0/OIRECDU,
         InfoObject: 0CNTRRSI Counter Reading in SI Unit.
            CNTRRSI           TYPE /BI0/OICNTRRSI,
         InfoObject: 0CDIFFSI Counter Reading Difference in SI Unit.
            CDIFFSI           TYPE /BI0/OICDIFFSI,
         InfoObject: 0CAT_TYPE Catalog.
            CAT_TYPE           TYPE /BI0/OICAT_TYPE,
         InfoObject: 0CAT_GROUP Code group.
            CAT_GROUP           TYPE /BI0/OICAT_GROUP,
         InfoObject: 0FI_STATUS Processing Status.
            FI_STATUS           TYPE /BI0/OIFI_STATUS,
         InfoObject: 0DIM_ID Dimension Key.
            DIM_ID           TYPE /BI0/OIDIM_ID,
         InfoObject: 0CNTIND Measuring Point is Counter.
            CNTIND           TYPE /BI0/OICNTIND,
         InfoObject: 0EQUIPMENT Equipment Number.
            EQUIPMENT           TYPE /BI0/OIEQUIPMENT,
         InfoObject: 0FUNCT_LOC Functional Location.
            FUNCT_LOC           TYPE /BI0/OIFUNCT_LOC,
         InfoObject: 0CAT_CODE Code.
            CAT_CODE           TYPE /BI0/OICAT_CODE,
         InfoObject: 0MRMAXSI Upper Meas. Limit or Max. Total Counter Read
    *ing in SI Unit.
            MRMAXSI           TYPE /BI0/OIMRMAXSI,
         InfoObject: 0DOCAF Measurement Document Included for Associated T
    *ask.
            DOCAF           TYPE /BI0/OIDOCAF,
         InfoObject: 0RECORDMODE BW Delta Process: Update Mode.
            RECORDMODE           TYPE RODMUPDMOD,
         InfoObject: ZSTEXT Object Number Text.
            /BIC/ZSTEXT           TYPE /BIC/OIZSTEXT,
         Field: RECORD.
            RECORD           TYPE RSARECORD,
          END   OF tys_SC_1.
        TYPES:
          tyt_SC_1        TYPE STANDARD TABLE OF tys_SC_1
                            WITH NON-UNIQUE DEFAULT KEY.
    $$ begin of global - insert your declaration only below this line  -
        ... "insert your code here
    $$ end of global - insert your declaration only before this line   -
        METHODS
          start_routine
            IMPORTING
              request                  type rsrequest
              datapackid               type rsdatapid
            EXPORTING
              monitor                  type rstr_ty_t_monitors
            CHANGING
              SOURCE_PACKAGE              type tyt_SC_1
            RAISING
              cx_rsrout_abort.
        METHODS
          inverse_start_routine
            IMPORTING
              i_th_fields_outbound         TYPE rstran_t_field_inv
              i_r_selset_outbound          TYPE REF TO cl_rsmds_set
              i_is_main_selection          TYPE rs_bool
              i_r_selset_outbound_complete TYPE REF TO cl_rsmds_set
              i_r_universe_inbound         TYPE REF TO cl_rsmds_universe
            CHANGING
              c_th_fields_inbound          TYPE rstran_t_field_inv
              c_r_selset_inbound           TYPE REF TO cl_rsmds_set
              c_exact                      TYPE rs_bool.
    ENDCLASS.                    "routine DEFINITION
    $$ begin of 2nd part global - insert your code only below this line  *
    TYPES:
      BEGIN OF tys_SC_1_full,
         InfoObject: 0MPOINT Measuring point.
        MPOINT           TYPE /BI0/OIMPOINT,
         InfoObject: 0MDOC Measurement Document.
        MDOC           TYPE /BI0/OIMDOC,
         InfoObject: 0MPOBJ Object Number of Measuring Point Object.
        MPOBJ           TYPE /BI0/OIMPOBJ,
         InfoObject: 0MPTYP Type of Measuring Point.
        MPTYP           TYPE /BI0/OIMPTYP,
         InfoObject: 0PSORT Position Number of Measuring Point in Object (
    *Sort Field).
        PSORT           TYPE /BI0/OIPSORT,
         InfoObject: 0ASSEMBLY Assembly.
        ASSEMBLY           TYPE /BI0/OIASSEMBLY,
         InfoObject: 0ATINN Internal Characteristic Number.
        ATINN           TYPE /BI0/OIATINN,
         InfoObject: 0MDATE Date of Measurement.
        MDATE           TYPE /BI0/OIMDATE,
         InfoObject: 0TIME Time.
        TIME           TYPE /BI0/OITIME,
         InfoObject: 0DESIRSI Target Value for Measuring Point in SI Unit.
        DESIRSI           TYPE /BI0/OIDESIRSI,
         InfoObject: 0TVIND Target Value for Measuring Point Is Defined.
        TVIND           TYPE /BI0/OITVIND,
         InfoObject: 0MRMINI Lower Measurement Area Limit Is Defined.
        MRMINI           TYPE /BI0/OIMRMINI,
         InfoObject: 0MRMINSI Lower Meas. Limit or Min. Total Counter Read
    *ing in SI Unit.
        MRMINSI           TYPE /BI0/OIMRMINSI,
         InfoObject: 0MRMAXI Upper Measurement Area Limit Is Defined.
        MRMAXI           TYPE /BI0/OIMRMAXI,
         InfoObject: 0SIUNIT SI unit.
        SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0CJUMPSI Counter Overflow Reading in SI Unit.
        CJUMPSI           TYPE /BI0/OICJUMPSI,
         InfoObject: 0PYEARSI Annual Performance in SI Unit.
        PYEARSI           TYPE /BI0/OIPYEARSI,
         InfoObject: 0CREATED_BY Created By.
        CREATED_BY           TYPE /BI0/OICREATED_BY,
         InfoObject: 0READSI Measured Value/Total Counter Reading in SI Un
    *it.
        READSI           TYPE /BI0/OIREADSI,
         InfoObject: 0READEU Measured Value in Document Entry Unit.
        READEU           TYPE /BI0/OIREADEU,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
        RECDU           TYPE /BI0/OIRECDU,
         InfoObject: 0CNTRRSI Counter Reading in SI Unit.
        CNTRRSI           TYPE /BI0/OICNTRRSI,
         InfoObject: 0CDIFFSI Counter Reading Difference in SI Unit.
        CDIFFSI           TYPE /BI0/OICDIFFSI,
         InfoObject: 0CAT_TYPE Catalog.
        CAT_TYPE           TYPE /BI0/OICAT_TYPE,
         InfoObject: 0CAT_GROUP Code group.
        CAT_GROUP           TYPE /BI0/OICAT_GROUP,
         InfoObject: 0FI_STATUS Processing Status.
        FI_STATUS           TYPE /BI0/OIFI_STATUS,
         InfoObject: 0DIM_ID Dimension Key.
        DIM_ID           TYPE /BI0/OIDIM_ID,
         InfoObject: 0CNTIND Measuring Point is Counter.
        CNTIND           TYPE /BI0/OICNTIND,
         InfoObject: 0EQUIPMENT Equipment Number.
        EQUIPMENT           TYPE /BI0/OIEQUIPMENT,
         InfoObject: 0FUNCT_LOC Functional Location.
        FUNCT_LOC           TYPE /BI0/OIFUNCT_LOC,
         InfoObject: 0CAT_CODE Code.
        CAT_CODE           TYPE /BI0/OICAT_CODE,
         InfoObject: 0MRMAXSI Upper Meas. Limit or Max. Total Counter Read
    *ing in SI Unit.
        MRMAXSI           TYPE /BI0/OIMRMAXSI,
         InfoObject: 0DOCAF Measurement Document Included for Associated T
    *ask.
        DOCAF           TYPE /BI0/OIDOCAF,
         InfoObject: 0RECORDMODE BW Delta Process: Record Mode.
        RECORDMODE           TYPE RODMUPDMOD,
         Field: RECNO Data record number.
        RECNO           TYPE RSARECORD,
      END   OF tys_SC_1_full.
    TYPES:
      tyt_SC_1_full        TYPE STANDARD TABLE OF tys_SC_1_full
                        WITH NON-UNIQUE DEFAULT KEY.
    TYPES:
      BEGIN OF tys_TG_1_full,
         Field: SID Master data ID.
        SID           TYPE RSSID,
         Field: DATAPAKID Data packet number.
        DATAPAKID           TYPE RSDATAPID,
         Field: RECORD Data record number.
        RECORD           TYPE RSARECORD,
         InfoObject: 0MPOINT Measuring point.
        MPOINT           TYPE /BI0/OIMPOINT,
         InfoObject: 0MDOC Measurement Document.
        MDOC           TYPE /BI0/OIMDOC,
         InfoObject: 0MRMINSI Lower Meas. Limit or Min. Total Counter Read
    *ing in SI Unit.
        MRMINSI           TYPE /BI0/OIMRMINSI,
         InfoObject: 0FI_STATUS Processing Status.
        FI_STATUS           TYPE /BI0/OIFI_STATUS,
         InfoObject: 0DIM_ID Dimension Key.
        DIM_ID           TYPE /BI0/OIDIM_ID,
         InfoObject: 0CNTIND Measuring Point is Counter.
        CNTIND           TYPE /BI0/OICNTIND,
         InfoObject: 0EQUIPMENT Equipment Number.
        EQUIPMENT           TYPE /BI0/OIEQUIPMENT,
         InfoObject: 0FUNCT_LOC Functional Location.
        FUNCT_LOC           TYPE /BI0/OIFUNCT_LOC,
         InfoObject: 0CAT_CODE Code.
        CAT_CODE           TYPE /BI0/OICAT_CODE,
         InfoObject: 0CAT_TYPE Catalog.
        CAT_TYPE           TYPE /BI0/OICAT_TYPE,
         InfoObject: 0CAT_GROUP Code group.
        CAT_GROUP           TYPE /BI0/OICAT_GROUP,
         InfoObject: 0CREATED_BY Created By.
        CREATED_BY           TYPE /BI0/OICREATED_BY,
         InfoObject: 0MPOBJ Object Number of Measuring Point Object.
        MPOBJ           TYPE /BI0/OIMPOBJ,
         InfoObject: 0READEU Measured Value in Document Entry Unit.
        READEU           TYPE /BI0/OIREADEU,
         InfoObject: 0CJUMPSI Counter Overflow Reading in SI Unit.
        CJUMPSI           TYPE /BI0/OICJUMPSI,
         InfoObject: 0PYEARSI Annual Performance in SI Unit.
        PYEARSI           TYPE /BI0/OIPYEARSI,
         InfoObject: 0PSORT Position Number of Measuring Point in Object (
    *Sort Field).
        PSORT           TYPE /BI0/OIPSORT,
         InfoObject: 0ASSEMBLY Assembly.
        ASSEMBLY           TYPE /BI0/OIASSEMBLY,
         InfoObject: 0ATINN Internal Characteristic Number.
        ATINN           TYPE /BI0/OIATINN,
         InfoObject: 0MDATE Date of Measurement.
        MDATE           TYPE /BI0/OIMDATE,
         InfoObject: 0TIME Time.
        TIME           TYPE /BI0/OITIME,
         InfoObject: 0TVIND Target Value for Measuring Point Is Defined.
        TVIND           TYPE /BI0/OITVIND,
         InfoObject: 0MRMINI Lower Measurement Area Limit Is Defined.
        MRMINI           TYPE /BI0/OIMRMINI,
         InfoObject: 0DESIRSI Target Value for Measuring Point in SI Unit.
        DESIRSI           TYPE /BI0/OIDESIRSI,
         InfoObject: 0SIUNIT SI unit.
        SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0DESIREU Target Value for Measuring Point in Document
    Entry Unit.
        DESIREU           TYPE /BI0/OIDESIREU,
         InfoObject: 0CNTRRSI Counter Reading in SI Unit.
        CNTRRSI           TYPE /BI0/OICNTRRSI,
         InfoObject: 0CDIFFSI Counter Reading Difference in SI Unit.
        CDIFFSI           TYPE /BI0/OICDIFFSI,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
        RECDU           TYPE /BI0/OIRECDU,
         InfoObject: 0MRMINEU Lower Meas. Limit or Min. Total Counter Read
    *ing Document UoM.
        MRMINEU           TYPE /BI0/OIMRMINEU,
         InfoObject: 0MRMAXEU Upper Meas. Limit or Max. Total Counter Read
    *ing in Doc. M.U..
        MRMAXEU           TYPE /BI0/OIMRMAXEU,
         InfoObject: 0MRMAXI Upper Measurement Area Limit Is Defined.
        MRMAXI           TYPE /BI0/OIMRMAXI,
         InfoObject: 0CNTRREU Counter Reading in Document Entry Unit.
        CNTRREU           TYPE /BI0/OICNTRREU,
         InfoObject: 0CDIFFEU Counter Reading Difference in Document Entry
    Unit.
        CDIFFEU           TYPE /BI0/OICDIFFEU,
         InfoObject: 0RECORDMODE BW Delta Process: Record Mode.
        RECORDMODE           TYPE RODMUPDMOD,
         InfoObject: 0MRMAXSI Upper Meas. Limit or Max. Total Counter Read
    *ing in SI Unit.
        MRMAXSI           TYPE /BI0/OIMRMAXSI,
         InfoObject: 0READSI Measured Value/Total Counter Reading in SI Un
    *it.
        READSI           TYPE /BI0/OIREADSI,
      END   OF tys_TG_1_full.
    TYPES:
      BEGIN OF tys_SC_1__RULE_34,
         InfoObject: 0DESIRSI Target Value for Measuring Point in SI Unit.
        DESIRSI           TYPE /BI0/OIDESIRSI,
         InfoObject: 0TVIND Target Value for Measuring Point Is Defined.
        TVIND           TYPE /BI0/OITVIND,
         InfoObject: 0SIUNIT SI unit.
        SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
        RECDU           TYPE /BI0/OIRECDU,
         Field: RECORD.
        RECORD           TYPE RSARECORD,
      END   OF tys_SC_1__RULE_34.
    TYPES:
      BEGIN OF tys_SC_1__RULE_35,
         InfoObject: 0MRMINI Lower Measurement Area Limit Is Defined.
        MRMINI           TYPE /BI0/OIMRMINI,
         InfoObject: 0MRMINSI Lower Meas. Limit or Min. Total Counter Read
    *ing in SI Unit.
        MRMINSI           TYPE /BI0/OIMRMINSI,
         InfoObject: 0SIUNIT SI unit.
        SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
        RECDU           TYPE /BI0/OIRECDU,
         Field: RECORD.
        RECORD           TYPE RSARECORD,
      END   OF tys_SC_1__RULE_35.
    TYPES:
      BEGIN OF tys_SC_1__RULE_36,
         InfoObject: 0MRMAXI Upper Measurement Area Limit Is Defined.
        MRMAXI           TYPE /BI0/OIMRMAXI,
         InfoObject: 0SIUNIT SI unit.
        SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
        RECDU           TYPE /BI0/OIRECDU,
         InfoObject: 0MRMAXSI Upper Meas. Limit or Max. Total Counter Read
    *ing in SI Unit.
        MRMAXSI           TYPE /BI0/OIMRMAXSI,
         Field: RECORD.
        RECORD           TYPE RSARECORD,
      END   OF tys_SC_1__RULE_36.
    TYPES:
      BEGIN OF tys_SC_1__RULE_37,
         InfoObject: 0SIUNIT SI unit.
        SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
        RECDU           TYPE /BI0/OIRECDU,
         InfoObject: 0CNTRRSI Counter Reading in SI Unit.
        CNTRRSI           TYPE /BI0/OICNTRRSI,
         InfoObject: 0CNTIND Measuring Point is Counter.
        CNTIND           TYPE /BI0/OICNTIND,
         Field: RECORD.
        RECORD           TYPE RSARECORD,
      END   OF tys_SC_1__RULE_37.
    TYPES:
      BEGIN OF tys_SC_1__RULE_38,
         InfoObject: 0SIUNIT SI unit.
        SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
        RECDU           TYPE /BI0/OIRECDU,
         InfoObject: 0CDIFFSI Counter Reading Difference in SI Unit.
        CDIFFSI           TYPE /BI0/OICDIFFSI,
         InfoObject: 0CNTIND Measuring Point is Counter.
        CNTIND           TYPE /BI0/OICNTIND,
         Field: RECORD.
        RECORD           TYPE RSARECORD,
      END   OF tys_SC_1__RULE_38.
    Additional types for start routine interface
    TYPES:
      data_package_structure type tys_SC_1_full.
    Additional declaration for update rule interface
    DATA:
      MONITOR       type standard table of rsmonitor  WITH HEADER LINE,
      MONITOR_RECNO type standard table of rsmonitors WITH HEADER LINE,
      RECORD_NO     LIKE SY-TABIX,
      RECORD_ALL    LIKE SY-TABIX,
      SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS.
    global definitions from update rules
    TABLES: ...
    DATA:   ...
    *******DATA:  G_T_0EQUIPMENT  TYPE STANDARD TABLE OF /BI0/MEQUIPMENT.
    data: lt_data type ref to data.
    data: ls_data type ref to data.
    field-symbols: <G_T_0EQUIPMENT> type standard table.
    field-symbols: <G_S_0EQUIPMENT> type any.
    field-symbols: <FUNCT_LOC> type any.
    field-symbols: <DATEFROM> type any.
    field-symbols: <DATETO> type any.
    constants: c_tabname type rstlogotab value '/BI0/MEQUIPMENT'.
    *&      Form  routine_9998
          text
         -->DATA_PACKAGE            text
         -->ABORT                   text
         -->RAISING                 text
         -->CX_SY_ARITHMETIC_ERROR  text
         -->CX_SY_CONVERSION_ERROR  text
    FORM routine_9998
      TABLES DATA_PACKAGE TYPE tyt_SC_1_full
      CHANGING
        ABORT          LIKE sy-subrc
      RAISING
        cx_sy_arithmetic_error
        cx_sy_conversion_error.
    init variables
    fill the internal tables "MONITOR" and/or "MONITOR_RECNO",
    to make monitor entries
    In this start routine missing functional location for
    an equipment is added to a Data Package record, if it is available
    in the master data of the equipment
      create data lt_data type table of (c_tabname).
      assign lt_data->* to <G_T_0EQUIPMENT>.
      create data ls_data type (c_tabname).
      assign ls_data->* to <G_S_0EQUIPMENT>.
      assign component 'FUNCT_LOC' of structure <G_S_0EQUIPMENT> to
    <FUNCT_LOC>.
      assign component 'DATE_FROM' of structure <G_S_0EQUIPMENT> to
    <DATEFROM>.
      assign component 'DATE_TO' of structure <G_S_0EQUIPMENT> to
    <DATETO>.
      CALL FUNCTION 'RSAU_READ_MASTER_DATA'
        EXPORTING
          I_IOBJNM                = '0EQUIPMENT'
          I_FLG_WHOLE_TABLE       = 'X'
        IMPORTING
          E_TABLE                 = <G_T_0EQUIPMENT>
        EXCEPTIONS
          READ_ERROR              = 1
          NO_SUCH_ATTRIBUTE       = 2
          WRONG_IMPORT_PARAMETERS = 3
          CHAVL_NOT_FOUND         = 4
          OTHERS                  = 5.
      CASE SY-SUBRC.
        WHEN 0.
          LOOP AT <G_T_0EQUIPMENT> INTO <G_S_0EQUIPMENT>.
            IF <FUNCT_LOC> IS INITIAL.
              DELETE <G_T_0EQUIPMENT>.
            ENDIF.
    master data collected and condensed
          ENDLOOP.
          LOOP AT DATA_PACKAGE.
            IF ( DATA_PACKAGE-FUNCT_LOC IS INITIAL ) AND
               ( DATA_PACKAGE-EQUIPMENT IS NOT INITIAL ).
              READ TABLE <G_T_0EQUIPMENT> WITH KEY
                ('EQUIPMENT') = DATA_PACKAGE-EQUIPMENT INTO <G_S_0EQUIPMENT>
              IF SY-SUBRC = 0.
                IF ( DATA_PACKAGE-MDATE >= <DATEFROM> )
                   AND ( DATA_PACKAGE-MDATE <= <DATETO> ).
    record for equipment exists and valid
                  DATA_PACKAGE-FUNCT_LOC = <FUNCT_LOC>.
                  MODIFY DATA_PACKAGE.
                ENDIF.
              ENDIF.
            ENDIF.
          ENDLOOP.
        WHEN 4.
    master data is not (yet) loaded
        WHEN OTHERS.
    problem occured, output as warning
          MONITOR-MSGID = SY-MSGID.
          MONITOR-MSGTY = 'W'.
          MONITOR-MSGNO = SY-MSGNO.
          MONITOR-MSGV1 = SY-MSGV1.
          MONITOR-MSGV2 = SY-MSGV2.
          MONITOR-MSGV3 = SY-MSGV3.
          MONITOR-MSGV4 = SY-MSGV4.
          APPEND MONITOR.
      ENDCASE.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    ENDFORM.                    "routine_9998
    *&      Form  routine_0001
          text
         -->COMM_STRUCTURE          text
         -->RESULT                  text
         -->RETURNCODE              text
         -->ABORT                   text
         -->RAISING                 text
         -->CX_SY_ARITHMETIC_ERROR  text
         -->CX_SY_CONVERSION_ERROR  text
    FORM routine_0001
      USING
        COMM_STRUCTURE type tys_SC_1__RULE_34
      CHANGING
        RESULT         TYPE tys_TG_1_full-DESIREU
        RETURNCODE     LIKE sy-subrc
        ABORT          LIKE sy-subrc
      RAISING
        cx_sy_arithmetic_error
        cx_sy_conversion_error.
    init variables
    fill the internal table "MONITOR", to make monitor entries
      CLEAR RESULT.
      IF COMM_STRUCTURE-TVIND = 'X'.
        CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
          EXPORTING
            INPUT                      = COMM_STRUCTURE-DESIRSI
            NO_TYPE_CHECK              = 'X'
      ROUND_SIGN                 = ' '
            UNIT_IN                    = COMM_STRUCTURE-SIUNIT
            UNIT_OUT                   = COMM_STRUCTURE-RECDU
          IMPORTING
      ADD_CONST                  =
      DECIMALS                   =
      DENOMINATOR                =
      NUMERATOR                  =
            OUTPUT                     = RESULT
       EXCEPTIONS
         CONVERSION_NOT_FOUND       = 1
         DIVISION_BY_ZERO           = 2
         INPUT_INVALID              = 3
         OUTPUT_INVALID             = 4
         OVERFLOW                   = 5
         TYPE_INVALID               = 6
         UNITS_MISSING              = 7
         UNIT_IN_NOT_FOUND          = 8
         UNIT_OUT_NOT_FOUND         = 9
         OTHERS                     = 10
        IF SY-SUBRC <> 0.
          MONITOR-MSGID = SY-MSGID.
          MONITOR-MSGTY = 'W'.
          MONITOR-MSGNO = SY-MSGNO.
          MONITOR-MSGV1 = SY-MSGV1.
          MONITOR-MSGV2 = SY-MSGV2.
          MONITOR-MSGV3 = SY-MSGV3.
          MONITOR-MSGV4 = SY-MSGV4.
          APPEND MONITOR.
        ENDIF.
      ENDIF.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    ENDFORM.                    "routine_0001
    *&      Form  routine_0002
          text
         -->COMM_STRUCTURE          text
         -->RESULT                  text
         -->RETURNCODE              text
         -->ABORT                   text
         -->RAISING                 text
         -->CX_SY_ARITHMETIC_ERROR  text
         -->CX_SY_CONVERSION_ERROR  text
    FORM routine_0002
      USING
        COMM_STRUCTURE type tys_SC_1__RULE_35
      CHANGING
        RESULT         TYPE tys_TG_1_full-MRMINEU
        RETURNCODE     LIKE sy-subrc
        ABORT          LIKE sy-subrc
      RAISING
        cx_sy_arithmetic_error
        cx_sy_conversion_error.
    init variables
    fill the internal table "MONITOR", to make monitor entries
      CLEAR RESULT.
      IF COMM_STRUCTURE-MRMINI = 'X'.
        CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
          EXPORTING
            INPUT                      = COMM_STRUCTURE-MRMINSI
            NO_TYPE_CHECK              = 'X'
      ROUND_SIGN                 = ' '
            UNIT_IN                    = COMM_STRUCTURE-SIUNIT
            UNIT_OUT                   = COMM_STRUCTURE-RECDU
          IMPORTING
      ADD_CONST                  =
      DECIMALS                   =
      DENOMINATOR                =
      NUMERATOR                  =
            OUTPUT                     = RESULT
       EXCEPTIONS
         CONVERSION_NOT_FOUND       = 1
         DIVISION_BY_ZERO           = 2
         INPUT_INVALID              = 3
         OUTPUT_INVALID             = 4
         OVERFLOW                   = 5
         TYPE_INVALID               = 6
         UNITS_MISSING              = 7
         UNIT_IN_NOT_FOUND          = 8
         UNIT_OUT_NOT_FOUND         = 9
         OTHERS                     = 10
        IF SY-SUBRC <> 0.
          MONITOR-MSGID = SY-MSGID.
          MONITOR-MSGTY = 'W'.
          MONITOR-MSGNO = SY-MSGNO.
          MONITOR-MSGV1 = SY-MSGV1.
          MONITOR-MSGV2 = SY-MSGV2.
          MONITOR-MSGV3 = SY-MSGV3.
          MONITOR-MSGV4 = SY-MSGV4.
          APPEND MONITOR.
        ENDIF.
      ENDIF.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    ENDFORM.                    "routine_0002
    *&      Form  routine_0003
          text
         -->COMM_STRUCTURE          text
         -->RESULT                  text
         -->RETURNCODE              text
         -->ABORT                   text
         -->RAISING                 text
         -->CX_SY_ARITHMETIC_ERROR  text
         -->CX_SY_CONVERSION_ERROR  text
    FORM routine_0003
      USING
        COMM_STRUCTURE type tys_SC_1__RULE_36
      CHANGING
        RESULT         TYPE tys_TG_1_full-MRMAXEU
        RETURNCODE     LIKE sy-subrc
        ABORT          LIKE sy-subrc
      RAISING
        cx_sy_arithmetic_error
        cx_sy_conversion_error.
    init variables
    fill the internal table "MONITOR", to make monitor entries
      CLEAR RESULT.
      IF COMM_STRUCTURE-MRMAXI = 'X'.
        CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
          EXPORTING
            INPUT                      = COMM_STRUCTURE-MRMAXSI
            NO_TYPE_CHECK              = 'X'
      ROUND_SIGN                 = ' '
            UNIT_IN                    = COMM_STRUCTURE-SIUNIT
            UNIT_OUT                   = COMM_STRUCTURE-RECDU
          IMPORTING
      ADD_CONST                  =
      DECIMALS                   =
      DENOMINATOR                =
      NUMERATOR                  =
            OUTPUT                     = RESULT
       EXCEPTIONS
         CONVERSION_NOT_FOUND       = 1
         DIVISION_BY_ZERO           = 2
         INPUT_INVALID              = 3
         OUTPUT_INVALID             = 4
         OVERFLOW                   = 5
         TYPE_INVALID               = 6
         UNITS_MISSING              = 7
         UNIT_IN_NOT_FOUND          = 8
         UNIT_OUT_NOT_FOUND         = 9
         OTHERS                     = 10
        IF SY-SUBRC <> 0.
          MONITOR-MSGID = SY-MSGID.
          MONITOR-MSGTY = 'W'.
          MONITOR-MSGNO = SY-MSGNO.
          MONITOR-MSGV1 = SY-MSGV1.
          MONITOR-MSGV2 = SY-MSGV2.
          MONITOR-MSGV3 = SY-MSGV3.
          MONITOR-MSGV4 = SY-MSGV4.
          APPEND MONITOR.
        ENDIF.
      ENDIF.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    ENDFORM.                    "routine_0003
    *&      Form  routine_0004
          text
         -->COMM_STRUCTURE          text
         -->RESULT                  text
         -->RETURNCODE              text
         -->ABORT                   text
         -->RAISING                 text
         -->CX_SY_ARITHMETIC_ERROR  text
         -->CX_SY_CONVERSION_ERROR  text
    FORM routine_0004
      USING
        COMM_STRUCTURE type tys_SC_1__RULE_37
      CHANGING
        RESULT         TYPE tys_TG_1_full-CNTRREU
        RETURNCODE     LIKE sy-subrc
        ABORT          LIKE sy-subrc
      RAISING
        cx_sy_arithmetic_error
        cx_sy_conversion_error.
    init variables
    fill the internal table "MONITOR", to make monitor entries
      CLEAR RESULT.
      IF COMM_STRUCTURE-CNTIND = 'X'.
        CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
          EXPORTING
            INPUT                      = COMM_STRUCTURE-CNTRRSI
            NO_TYPE_CHECK              = 'X'
      ROUND_SIGN                 = ' '
            UNIT_IN                    = COMM_STRUCTURE-SIUNIT
            UNIT_OUT                   = COMM_STRUCTURE-RECDU
          IMPORTING
      ADD_CONST                  =
      DECIMALS                   =
      DENOMINATOR                =
      NUMERATOR                  =
            OUTPUT                     = RESULT
       EXCEPTIONS
         CONVERSION_NOT_FOUND       = 1
         DIVISION_BY_ZERO           = 2
         INPUT_INVALID              = 3
         OUTPUT_INVALID             = 4
         OVERFLOW                   = 5
         TYPE_INVALID               = 6
         UNITS_MISSING              = 7
         UNIT_IN_NOT_FOUND          = 8
         UNIT_OUT_NOT_FOUND         = 9
         OTHERS                     = 10
        IF SY-SUBRC <> 0.
          MONITOR-MSGID = SY-MSGID.
          MONITOR-MSGTY = 'W'.
          MONITOR-MSGNO = SY-MSGNO.
          MONITOR-MSGV1 = SY-MSGV1.
          MONITOR-MSGV2 = SY-MSGV2.
          MONITOR-MSGV3 = SY-MSGV3.
          MONITOR-MSGV4 = SY-MSGV4.
          APPEND MONITOR.
        ENDIF.
      ENDIF.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    ENDFORM.                    "routine_0004
    *&      Form  routine_0005
          text
         -->COMM_STRUCTURE          text
         -->RESULT                  text
         -->RETURNCODE              text
         -->ABORT                   text
         -->RAISING                 text
         -->CX_SY_ARITHMETIC_ERROR  text
         -->CX_SY_CONVERSION_ERROR  text
    FORM routine_0005
      USING
        COMM_STRUCTURE type tys_SC_1__RULE_38
      CHANGING
        RESULT         TYPE tys_TG_1_full-CDIFFEU
        RETURNCODE     LIKE sy-subrc
        ABORT          LIKE sy-subrc
      RAISING
        cx_sy_arithmetic_error
        cx_sy_conversion_error.
    init variables
    fill the internal table "MONITOR", to make monitor entries
      CLEAR RESULT.
      IF COMM_STRUCTURE-CNTIND = 'X'.
        CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
          EXPORTING
            INPUT                      = COMM_STRUCTURE-CDIFFSI
            NO_TYPE_CHECK              = 'X'
      ROUND_SIGN                 = ' '
            UNIT_IN                    = COMM_STRUCTURE-SIUNIT
            UNIT_OUT                   = COMM_STRUCTURE-RECDU
          IMPORTING
      ADD_CONST                  =
      DECIMALS                   =
      DENOMINATOR                =
      NUMERATOR                  =
            OUTPUT                     = RESULT
       EXCEPTIONS
         CONVERSION_NOT_FOUND       = 1
         DIVISION_BY_ZERO           = 2
         INPUT_INVALID              = 3
         OUTPUT_INVALID             = 4
         OVERFLOW                   = 5
         TYPE_INVALID               = 6
         UNITS_MISSING              = 7
         UNIT_IN_NOT_FOUND          = 8
         UNIT_OUT_NOT_FOUND         = 9
         OTHERS                     = 10
        IF SY-SUBRC <> 0.
          MONITOR-MSGID = SY-MSGID.
          MONITOR-MSGTY = 'W'.
          MONITOR-MSGNO = SY-MSGNO.
          MONITOR-MSGV1 = SY-MSGV1.
          MONITOR-MSGV2 = SY-MSGV2.
          MONITOR-MSGV3 = SY-MSGV3.
          MONITOR-MSGV4 = SY-MSGV4.
          APPEND MONITOR.
        ENDIF.
      ENDIF.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    ENDFORM.                    "routine_0005
    TYPES: BEGIN OF TY_/BI0/PMPOINT,
          MPOINT      TYPE /BI0/PMPOINT-MPOINT,
       MRNGU     TYPE /BI0/PMPOINT-MRNGU,
    END of TY_/BI0/PMPOINT.
    DATA: /BI0/PMPOINT_TEMP TYPE STANDARD TABLE OF
    TY_/BI0/PMPOINT,
          W_/BI0/PMPOINT_TEMP like line of /BI0/PMPOINT_TEMP.
    $$ end of 2nd part global - insert your code only before this line   *
          CLASS routine IMPLEMENTATION
    CLASS lcl_transform IMPLEMENTATION.
          Method start_routine
          Calculation of source package via start routine
      <-> source package
      METHOD start_routine.
    *=== Segments ===
        FIELD-SYMBOLS:
          <SOURCE_FIELDS>    TYPE tys_SC_1.
        DATA:
          MONITOR_REC     TYPE rstmonitor.
    *$*$ begin of routine - insert your code only below this line        *-*
        Data:
          l_subrc          type sy-tabix,
          l_abort          type sy-tabix,
          ls_monitor       TYPE rsmonitor,
          ls_monitor_recno TYPE rsmonitors.
        REFRESH:
          MONITOR,
          MONITOR_RECNO.
    Runtime attributs
        SOURCE_SYSTEM  = p_r_request->get_logsys( ).
    Migrated update rule call
        Perform routine_9998
        TABLES
          SOURCE_PACKAGE
        CHANGING
          l_abort.
    *-- Convert Messages in Transformation format
        LOOP AT MONITOR_RECNO INTO ls_monitor_recno.
          move-CORRESPONDING ls_monitor_recno to MONITOR_REC.
          append monitor_rec to MONITOR.
        ENDLOOP.
        LOOP AT MONITOR INTO ls_monitor.
          move-CORRESPONDING ls_monitor to MONITOR_REC.
          append monitor_rec to MONITOR.
        ENDLOOP.
        IF l_abort <> 0.
          RAISE EXCEPTION TYPE CX_RSROUT_ABORT.
        ENDIF.
    $$ end of routine - insert your code only before this line         -
      ENDMETHOD.                    "start_routine
          Method inverse_start_routine
          This subroutine needs to be implemented only for direct access
          (for better performance) and for the Report/Report Interface
          (drill through).
          The inverse routine should transform a projection and
          a selection for the target to a projection and a selection
          for the source, respectively.
          If the implementation remains empty all fields are filled and
          all values are selected.
      METHOD inverse_start_routine.
    $$ begin of inverse routine - insert your code only below this line-
        ... "insert your code here
    $$ end of inverse routine - insert your code only before this line -
      ENDMETHOD.                    "inverse_start_routine
    ENDCLASS.                    "routine IMPLEMENTATION

  • Warning codes generated in UCCHECK   - Technical Upgrade - 4.0b to ECC 6.0

    Hi SDN'ers ,
    I am currently working on Technical Upgrade project from 4.0 b system to ECC 6.0 system . I am facing a
    problem relating to the analysis of the warnings displayed whehn we run the UCCHECK for the client inventory by
    checking the "Display lines that cannot be analyzed statically" option under the Selection-screen block
    "Statements that cannot be analyzed statically" .Based on the warning codes generated during UCCHECK, they can
    be classified into 12 different categories given below in the list ( Viz. ABB,MESSAGEG!C,MESSAGEG!D......MESSAGEG!P).The same are given below in the end
    I want to know
    - Which are the warning codes which need resolution so that the program does not encounter any runtime
    errors or during Integration testing ?
    - Do all the offset related errors (For example ;variable A = B+offset(length)
    or  variable A+offset(length) = B ) need resolution so that the program gives no runtime error.
    - Also, do all statements where length is calculated using STRLEN also need changes ? I have seen offset length related warnings come under MESSAGEG!M warning code.
    The objective of this is to make sure that the upgraded system ECC 6.0 in Australia ,when rolled out to
    non-English speaking geographies in APAc such as Malaysia,Japan or China would only need translations and no ABAP Coding effort even when using languages such as Japanese which have double byte characters.
    S.No.     Error Code     Message
    1     ABB     Syntax Check Aborted
         ABB Total     
    2     MESSAGEG!C      check at runtime. at runtime.
               statement because of untyped or generic operands. It can only carry out this
              The system could not perform a static convertibility check on the current
         MESSAGEG!C Total     
    3     MESSAGEG!D      out this check at runtime. It can only carry out this check at runtime.
               to a table line because of untyped or generic operands. It can only carry out
              The system could not perform a static check on convertibility from a work area
         MESSAGEG!D Total     
    4     MESSAGEG!E      check at runtime. at runtime.
               defined by a "DATA" statement. .
               statement because of untyped or generic operands. It can only carry out this
              Field "ELEMENTN" is unknown. It is neither in one of the specified tables nor
              The system could not perform a static comparability check on the current
         MESSAGEG!E Total     
    5     MESSAGEG!F      operand "<FELD1>" for the current statement. .
         MESSAGEG!F Total     
    6     MESSAGEG!G      current statement on incompletely typed operand "<DATA>". .
         MESSAGEG!G Total     
    7     MESSAGEG!H      for the incompletely typed operand "<S>". . - - - - - - - - -
              The system cannot perform a static check on a character-type field data type
         MESSAGEG!H Total     
    8     MESSAGEG!I      incompletely-typed operand "<A>" in the current statement. .
              The system cannot perform a static check on a character-type data type for the
         MESSAGEG!I Total     
    9     MESSAGEG!J      "<%_1_SYSINI>" in the current statement to check whether the operand can be
              The system cannot perform a static check on incompletely-typed operand "VALUE"
         MESSAGEG!J Total     
    Early response wil be highly appreciated.

    Hi Karthik
    >
    > 1) SPDD adjustments are done in which phase? PREPARE or UPGRADE?
    >
    SPDD is done in Upgrade ->Phase ACT_700
    > 2) Are here special cases where the adjustments need to be done before running the UPGRADE phase?
    >
    At ACT_700 phase stop the upgrade and take a backup of the DB and the PUT<DIR> before starting the SPDD activity.
    Make sure there are no pending tp request.  Either release them or delete them.
    All phase need to be completed successfully in PREPARE, before starting UPGRADE
    Cheers
    Shaji
    Edited by: Shaji Jacob on May 5, 2008 9:23 PM

  • Warning codes generated in UCCHECK

    Hi SDN'ers ,
    I am currently working on Technical Upgrade project from 4.0 b system to ECC 6.0 system . I am facing a
    problem relating to the analysis of the warnings displayed whehn we run the UCCHECK for the client inventory by
    checking the "Display lines that cannot be analyzed statically" option under the Selection-screen block
    "Statements that cannot be analyzed statically" .Based on the warning codes generated during UCCHECK, they can
    be classified into 12 different categories given below in the list ( Viz. ABB,MESSAGEG!C,MESSAGEG!D......MESSAGEG!P).The same are given below in the end
    I want to know
    - Which are the warning codes which need resolution so that the program does not encounter any runtime
    errors or during Integration testing ?
    - Do all the offset related errors (For example ;variable A = B+offset(length)
    or  variable A+offset(length) = B ) need resolution so that the program gives no runtime error.
    - Also, do all statements where length is calculated using STRLEN also need changes ? I have seen offset length related warnings come under MESSAGEG!M warning code.
    The objective of this is to make sure that the upgraded system ECC 6.0 in Australia ,when rolled out to
    non-English speaking geographies in APAc such as Malaysia,Japan or China would only need translations and no ABAP Coding effort even when using languages such as Japanese which have double byte characters.
    S.No.     Error Code     Message
    1     ABB     Syntax Check Aborted
         ABB Total     
    2     MESSAGEG!C      check at runtime. at runtime.
               statement because of untyped or generic operands. It can only carry out this
              The system could not perform a static convertibility check on the current
         MESSAGEG!C Total     
    3     MESSAGEG!D      out this check at runtime. It can only carry out this check at runtime.
               to a table line because of untyped or generic operands. It can only carry out
              The system could not perform a static check on convertibility from a work area
         MESSAGEG!D Total     
    4     MESSAGEG!E      check at runtime. at runtime.
               defined by a "DATA" statement. .
               statement because of untyped or generic operands. It can only carry out this
              Field "ELEMENTN" is unknown. It is neither in one of the specified tables nor
              The system could not perform a static comparability check on the current
         MESSAGEG!E Total     
    5     MESSAGEG!F      operand "<FELD1>" for the current statement. .
         MESSAGEG!F Total     
    6     MESSAGEG!G      current statement on incompletely typed operand "<DATA>". .
         MESSAGEG!G Total     
    7     MESSAGEG!H      for the incompletely typed operand "<S>". . - - - - - - - - -
              The system cannot perform a static check on a character-type field data type
         MESSAGEG!H Total     
    8     MESSAGEG!I      incompletely-typed operand "<A>" in the current statement. .
              The system cannot perform a static check on a character-type data type for the
         MESSAGEG!I Total     
    9     MESSAGEG!J      "<%_1_SYSINI>" in the current statement to check whether the operand can be
              The system cannot perform a static check on incompletely-typed operand "VALUE"
         MESSAGEG!J Total     
    Early response wil be highly appreciated.
    10     MESSAGEG!K      "<F_YEAR>" in the current statement to check whether the operand can be
              The system cannot perform a static check for incompletely-typed operand "WINY2"
         MESSAGEG!K Total     
    11     MESSAGEG!M      .
               at runtime. .
               check will take place at runtime. .
               entries for operand "<F_SOURCE>(2)". This check will take place at runtime. .
               entries for operand "<F_SOURCE>+2(2)". This check will take place at runtime.
              The system cannot perform a static check on the validity of the offset/length
         MESSAGEG!M Total     
    12     MESSAGEG!P      out this check at runtime. at runtime.
               statement because of untyped or generic operands. The system can only carry
              The system could not perform a static compatibility check on the current
         MESSAGEG!P Total     
         Grand Total

    Hi Monica,
                 as bhaskar said no need to worry about warnings.
    warnings will not lead to dump. only runtime errors will lead to dump.
    if the system is unicode, remediate the objects without errors.
    we can observe mainly,
    open dataset, structure incompatibilty, offset, in byte or char mode etc
    thanks
    vinod

  • ITunes install fails due to Error Code

    I'm trying to install iTunes and I get the message Service 'Apple Mobile Device' failed to start. Verify you have sufficient privileges to start system services. I then have 3 options - Abort - Retry - Ignore which provide no success. If I ignore it the installation process completes however it states that the installation failed 'Error Code 7 (Windows error 126)' re-install iTunes. I've tried running the download as administrator with no success.

    With the Error 2, let's try a standalone Apple Application Support install. It still might not install, but fingers crossed any error messages will give us a better idea of the underlying cause of the issue.
    Download and save a copy of the iTunesSetup.exe (or iTunes64setup.exe) installer file to your hard drive:
    http://www.apple.com/itunes/download/
    Download and install the free trial version of WinRAR suitable for your PC (there's a 32-bit Windows version and a 64-bit Windows version):
    http://www.rarlab.com/download.htm
    Right-click the iTunesSetup.exe (or iTunes64Setup.exe), and select "Extract to iTunesSetup" (or "Extract to iTunes64Setup"). WinRAR will expand the contents of the file into a folder called "iTunesSetup" (or "iTunes64Setup").
    Go into the folder and doubleclick the AppleApplicationSupport.msi to do a standalone AAS install.
    Does it install properly for you? If so, see if iTunes will launch without the error now.
    If instead you get an error message during the install, let us know what it says. (Precise text, please.)

  • Hi ALL i have a BDC code  it is not working properly

    this BDC code is not working properly , when ever the file is transfering BDC is aborting in the case of   invalid material/batch comes into teh picture... so please could you ''Check for invalid material/batch combinations so they are not processed by the BDC in the program and correctly output in an exception report''
    *****************************CODE HERE*****************************
    S E L E C T I O N S C R E E N
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
    PARAMETERS: p_file LIKE rlgrap-filename,
    p_arch LIKE rlgrap-filename. "RM080107
    SELECTION-SCREEN SKIP.
    PARAMETERS: p_mode LIKE ctu_params-dismode DEFAULT 'N'.
    SELECTION-SCREEN END OF BLOCK b1.
    I N C L U D E S
    INCLUDE zwm_np_stock_recon_top.
    INCLUDE zwm_np_stock_recon_f01.
    I N I T I A L I Z A T I O N
    INITIALIZATION.
    PERFORM get_interface_filename USING c_interface_file p_file.
    PERFORM get_interface_filename USING c_archive_file p_arch."RM080107
    S T A R T O F S E L E C T I O N
    START-OF-SELECTION.
    PERFORM read_file USING p_file.
    PERFORM pre_processing.
    E N D O F S E L E C T I O N
    END-OF-SELECTION.
    PERFORM process_checks.
    IF w_no_change = 'X'.
    WRITE: / text-b03.
    WRITE: / sy-uline(34).
    ELSE.
    PERFORM bdc_mi09.
    PERFORM file_check_report.
    PERFORM bdc_report.
    ENDIF.
    PERFORM post_process_checks.
    *-- Move the processed file to archive directory
    PERFORM move_file.
    ...*************.........first include...................************
    INCLUDE ZWM_NP_STOCK_RECON_TOP *
    Data declaration ----------------------------------------------
    TYPES: st_rawdata(2000) TYPE c.
    TYPES: BEGIN OF st_stck_cnt,
    werks TYPE iseg-werks, "plant
    lgort TYPE iseg-lgort, "storage location
    matnr TYPE iseg-matnr, "material number
    charg TYPE iseg-charg, "batch
    vfdat TYPE mch1-vfdat, "Sell by date
    lwedt TYPE mch1-lwedt, "Manufacture date
    quarn(8) TYPE n, "qaunrantine quantity
    menge(8) TYPE n, "quantity on hand
    message(1), "Message Type (E/W/I)
    msg_txt TYPE t100-text, "Message Text
    zerostck(1), "Zero stock identifier "RM220307
    END OF st_stck_cnt.
    TYPES: BEGIN OF st_batch_errors,
    matnr TYPE iseg-matnr, "material number
    charg TYPE iseg-charg, "batch
    clabs TYPE mchb-clabs, "Stock Balance
    END OF st_batch_errors.
    DATA:
    t_rawdata TYPE TABLE OF st_rawdata,
    w_rawdata TYPE st_rawdata,
    t_stck_cnt TYPE TABLE OF st_stck_cnt,
    d_stck_cnt TYPE TABLE OF st_stck_cnt, "RM191006
    w_stck_cnt TYPE st_stck_cnt,
    t_batch_errors TYPE TABLE OF st_batch_errors,
    w_batch_errors TYPE st_batch_errors,
    t_messtab LIKE bdcmsgcoll OCCURS 0,
    w_messtab LIKE LINE OF t_messtab,
    w_no_change.
    CONSTANTS: c_interface_file(26) TYPE c VALUE 'ZNP_STOCK_RECON',
    c_archive_file(26) TYPE c
    VALUE 'ZNP_STOCK_RECON_ARCHIVE'. "RM080107
    .*************................second include..........************
    ***INCLUDE ZWM_NEXTPHARMA_STOKRECON_F01 .
    *& Form read_file
    reads NextPharma file sent through via webmethods
    -->P_FILENAME
    FORM read_file USING p_filename.
    CLEAR: t_rawdata,
    w_rawdata.
    REFRESH: t_rawdata.
    OPEN DATASET p_filename FOR INPUT IN TEXT MODE.
    IF sy-subrc <> 0.
    MESSAGE e720(01).
    ENDIF.
    DO.
    READ DATASET p_filename INTO w_rawdata.
    IF sy-subrc <> 0.
    EXIT.
    ELSE.
    APPEND w_rawdata TO t_rawdata.
    ENDIF.
    ENDDO.
    CLOSE DATASET p_filename.
    ENDFORM. " read_file
    *& Form pre_processing
    Read file values into internal table
    FORM pre_processing.
    DATA: lw_matnr TYPE iseg-matnr.
    LOOP AT t_rawdata INTO w_rawdata.
    lw_matnr = w_rawdata+21(20). "RM031006
    lw_matnr = w_rawdata+22(18). "RM031006
    CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
    EXPORTING
    input = lw_matnr
    IMPORTING
    output = lw_matnr
    EXCEPTIONS
    length_error = 1
    OTHERS = 2.
    MOVE: lw_matnr TO w_stck_cnt-matnr.
    w_stck_cnt-werks = w_rawdata+14(4).
    w_stck_cnt-lgort = w_rawdata+18(4).
    w_stck_cnt-charg = w_rawdata+84(25).
    w_stck_cnt-vfdat = w_rawdata+109(8).
    w_stck_cnt-lwedt = w_rawdata+117(8).
    w_stck_cnt-quarn = w_rawdata+141(8).
    w_stck_cnt-menge = w_rawdata+125(8).
    APPEND w_stck_cnt TO t_stck_cnt.
    CLEAR w_stck_cnt.
    ENDLOOP.
    SORT t_stck_cnt BY werks
    lgort
    matnr
    charg.
    DELETE ADJACENT DUPLICATES FROM t_stck_cnt.
    ENDFORM. " pre_processing
    *& Form bdc_mi09
    Run file data via BDC TCODE: MI09
    FORM bdc_mi09.
    DATA: t_bdcdata TYPE TABLE OF bdcdata,
    w_bdcdata TYPE bdcdata,
    lw_datum(10) TYPE c,
    lw_count(2) TYPE n.
    WRITE sy-datum TO lw_datum DD/MM/YYYY.
    Front Screen
    CLEAR w_bdcdata.
    w_bdcdata-program = 'SAPMM07I'.
    w_bdcdata-dynpro = '0700'.
    w_bdcdata-dynbegin = 'X'.
    APPEND w_bdcdata TO t_bdcdata.
    Enter
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'BDC_OKCODE'.
    w_bdcdata-fval = '/00'.
    APPEND w_bdcdata TO t_bdcdata.
    Count Date
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'RM07I-ZLDAT'.
    w_bdcdata-fval = lw_datum.
    APPEND w_bdcdata TO t_bdcdata.
    Document Date
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'RM07I-BLDAT'.
    w_bdcdata-fval = lw_datum.
    APPEND w_bdcdata TO t_bdcdata.
    Plant
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'IKPF-WERKS'.
    w_bdcdata-fval = w_stck_cnt-werks.
    APPEND w_bdcdata TO t_bdcdata.
    Storage Location
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'IKPF-LGORT'.
    w_bdcdata-fval = w_stck_cnt-lgort.
    APPEND w_bdcdata TO t_bdcdata.
    LOOP AT t_stck_cnt INTO w_stck_cnt.
    Do not submit items with Errors against them
    CHECK w_stck_cnt-message NE 'E' AND
    w_stck_cnt-zerostck NE 'X'.
    "RM220307
    lw_count = lw_count + 1.
    Input Screen
    CLEAR w_bdcdata.
    w_bdcdata-program = 'SAPMM07I'.
    w_bdcdata-dynpro = '0731'.
    w_bdcdata-dynbegin = 'X'.
    APPEND w_bdcdata TO t_bdcdata.
    Page Down
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'BDC_OKCODE'.
    w_bdcdata-fval = '=P+'.
    APPEND w_bdcdata TO t_bdcdata.
    Material
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'ISEG-MATNR(01)'.
    w_bdcdata-fval = w_stck_cnt-matnr.
    APPEND w_bdcdata TO t_bdcdata.
    Batch
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'ISEG-CHARG(01)'.
    w_bdcdata-fval = w_stck_cnt-charg.
    APPEND w_bdcdata TO t_bdcdata.
    IF w_stck_cnt-menge NE 0.
    Quantity
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'ISEG-ERFMG(01)'.
    w_bdcdata-fval = w_stck_cnt-menge.
    APPEND w_bdcdata TO t_bdcdata.
    *-- Begin RM220307 - We need to create an item when the quantity is zero
    *-- in file and is non-zero in SAP
    ELSE.
    Zero Stock indicator
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'ISEG-XNULL(01)'.
    w_bdcdata-fval = 'X'.
    APPEND w_bdcdata TO t_bdcdata.
    *-- End RM220307
    ENDIF.
    ENDLOOP.
    CHECK lw_count NE 0.
    After all line items have been input
    Final Screen
    CLEAR w_bdcdata.
    w_bdcdata-program = 'SAPMM07I'.
    w_bdcdata-dynpro = '0731'.
    w_bdcdata-dynbegin = 'X'.
    APPEND w_bdcdata TO t_bdcdata.
    Save Document
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'BDC_OKCODE'.
    w_bdcdata-fval = '=BU'.
    APPEND w_bdcdata TO t_bdcdata.
    CALL TRANSACTION 'MI09' USING t_bdcdata
    MODE p_mode
    MESSAGES INTO t_messtab.
    ENDFORM. " bdc_mi09
    *& Form bdc_report
    Write BDC Messages.
    FORM bdc_report.
    DATA: lw_text TYPE t100-text.
    SKIP.
    WRITE: / text-b01.
    WRITE: / sy-uline(21).
    SKIP.
    Write BDC Messages
    LOOP AT t_messtab INTO w_messtab WHERE msgspra = sy-langu.
    MESSAGE ID w_messtab-msgid TYPE w_messtab-msgtyp
    NUMBER w_messtab-msgnr
    WITH w_messtab-msgv1
    w_messtab-msgv2
    w_messtab-msgv3
    w_messtab-msgv4
    INTO lw_text.
    WRITE: / lw_text.
    ENDLOOP.
    ENDFORM. " bdc_report
    *& Form process_checks
    Perform process check before creating BDC Session
    FORM process_checks.
    DATA: lw_clabs LIKE mchb-clabs,
    lw_menge LIKE mchb-clabs,
    lw_matnr LIKE mara-matnr,
    lw_charg LIKE mch1-charg,
    lw_fail,
    lw_vfdat TYPE mch1-vfdat,
    lv_sell TYPE c, "RM191006
    lv_qty(8) TYPE c. "RM191006
    CLEAR: d_stck_cnt[], d_stck_cnt. "RM191006
    Check if any of the stock figures differ from current stock figures
    LOOP AT t_stck_cnt INTO w_stck_cnt.
    lw_menge = w_stck_cnt-menge.
    SELECT SINGLE clabs INTO lw_clabs
    FROM mchb
    WHERE matnr = w_stck_cnt-matnr
    AND werks = w_stck_cnt-werks
    AND lgort = w_stck_cnt-lgort
    AND charg = w_stck_cnt-charg.
    IF sy-subrc = 0.
    IF lw_clabs NE lw_menge.
    lw_fail = 'X'.
    *-- Begin RM220307 - Do not create PI item if the stock is zero in the
    *-- file and is zero in SAP
    EXIT.
    ELSEIF lw_clabs = 0 AND lw_menge = 0.
    w_stck_cnt-zerostck = 'X'.
    MODIFY t_stck_cnt FROM w_stck_cnt.
    ENDIF.
    *-- End RM220307
    ELSE.
    lw_fail = 'X'.
    ERROR
    ENDIF.
    ENDLOOP.
    If no differences are found set NO CHANGE Flag
    IF lw_fail NE 'X'.
    w_no_change = 'X'.
    EXIT.
    ENDIF.
    Check for Errors in file data
    LOOP AT t_stck_cnt INTO w_stck_cnt.
    CLEAR lv_sell. "RM191006
    SELECT SINGLE matnr INTO lw_matnr
    FROM mara
    WHERE matnr = w_stck_cnt-matnr.
    IF sy-subrc NE 0.
    Invalid Material (E)
    w_stck_cnt-message = 'E'.
    w_stck_cnt-msg_txt = 'Invalid Material'.
    MODIFY t_stck_cnt FROM w_stck_cnt.
    CONTINUE.
    ENDIF.
    SELECT SINGLE charg vfdat
    INTO (lw_charg, lw_vfdat)
    FROM mch1 "KOB01 - changed from MCHA
    WHERE matnr = w_stck_cnt-matnr
    AND charg = w_stck_cnt-charg.
    AND werks = w_stck_cnt-werks.
    IF sy-subrc NE 0.
    Invalid Material Batch (E)
    w_stck_cnt-message = 'E'.
    CONCATENATE 'Invalid Material Batch for plant' w_stck_cnt-werks
    INTO w_stck_cnt-msg_txt SEPARATED BY space.
    MODIFY t_stck_cnt FROM w_stck_cnt.
    CONTINUE.
    ELSE.
    IF w_stck_cnt-vfdat <> lw_vfdat.
    Sell by dates do not match (W)
    w_stck_cnt-message = 'W'.
    w_stck_cnt-msg_txt =
    'Sell by Date does not match Shelf life Expiry Date'.
    MODIFY t_stck_cnt FROM w_stck_cnt.
    lv_sell = 'X'. "RM191006
    CONTINUE. "RM191006
    ENDIF.
    ENDIF.
    IF w_stck_cnt-quarn > 0.
    Quarantine balance not Zero (W)
    w_stck_cnt-message = 'W'.
    *-- Begin RM191006
    *-- We do want all warning messages on the report
    lv_qty = w_stck_cnt-quarn.
    CONDENSE lv_qty NO-GAPS.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
    EXPORTING
    input = lv_qty
    IMPORTING
    output = lv_qty.
    w_stck_cnt-msg_txt = 'Quarantine balance is not zero'.
    CONCATENATE 'Quarantine balance is ' lv_qty '- not zero'
    INTO w_stck_cnt-msg_txt SEPARATED BY space.
    MODIFY t_stck_cnt FROM w_stck_cnt.
    CONTINUE.
    IF lv_sell = 'X'.
    APPEND w_stck_cnt TO d_stck_cnt.
    CLEAR lv_sell.
    ELSE.
    MODIFY t_stck_cnt FROM w_stck_cnt.
    ENDIF.
    *-- End RM191006
    ENDIF.
    ENDLOOP.
    *-- Begin RM191006
    *-- Finally get all the records into dummy table to report
    APPEND LINES OF t_stck_cnt TO d_stck_cnt.
    SORT d_stck_cnt.
    DELETE ADJACENT DUPLICATES FROM d_stck_cnt.
    *-- End RM191006
    ENDFORM. " process_checks
    *& Form file_check_report
    Write warning and Error messages from File checks
    FORM file_check_report.
    WRITE: /2 'Material',
    22 'Batch',
    32 'Sell By',
    45 'Message Text'.
    WRITE: /2 sy-uline(115).
    SKIP.
    LOOP AT t_stck_cnt INTO w_stck_cnt. "RM191006
    LOOP AT d_stck_cnt INTO w_stck_cnt. "RM191006
    CHECK w_stck_cnt-message NE ' '.
    WRITE: /2 w_stck_cnt-matnr,
    22 w_stck_cnt-charg,
    32 w_stck_cnt-vfdat,
    43 w_stck_cnt-message,
    45 w_stck_cnt-msg_txt.
    ENDLOOP.
    ENDFORM. " file_check_report
    *& Form post_process_checks
    Check Material Batches in SAP against NP File
    FORM post_process_checks.
    RANGES: r_matnr FOR mchb-matnr,
    r_lgort FOR mchb-lgort,
    r_werks FOR mchb-werks.
    SORT t_stck_cnt.
    LOOP AT t_stck_cnt INTO w_stck_cnt.
    AT END OF matnr.
    r_lgort-sign = 'I'.
    r_lgort-option = 'EQ'.
    r_lgort-low = w_stck_cnt-lgort.
    APPEND r_lgort.
    r_werks-sign = 'I'.
    r_werks-option = 'EQ'.
    r_werks-low = w_stck_cnt-werks.
    APPEND r_werks.
    r_matnr-sign = 'I'.
    r_matnr-option = 'EQ'.
    r_matnr-low = w_stck_cnt-matnr.
    APPEND r_matnr.
    ENDAT.
    ENDLOOP.
    Select all material batches for NP Materials
    SELECT matnr charg clabs
    INTO TABLE t_batch_errors
    FROM mchb
    WHERE werks IN r_werks
    AND lgort IN r_lgort.
    IF sy-subrc EQ 0.
    Check if the Material Batches are in the NP file
    LOOP AT t_batch_errors INTO w_batch_errors.
    Disregard Batches without positive unrestricted stock
    IF w_batch_errors-clabs LE 0.
    DELETE t_batch_errors.
    CONTINUE.
    ENDIF.
    READ TABLE t_stck_cnt INTO w_stck_cnt
    WITH KEY matnr = w_batch_errors-matnr
    charg = w_batch_errors-charg.
    IF sy-subrc = 0.
    DELETE t_batch_errors.
    ENDIF.
    ENDLOOP.
    ENDIF.
    CHECK NOT t_batch_errors[] IS INITIAL.
    Write Batch chak results to report
    SKIP.
    WRITE: / text-b02.
    WRITE: / sy-uline(74).
    WRITE: /2 'Material',
    22 'Batch'.
    WRITE: /2 sy-uline(32).
    SKIP.
    LOOP AT t_batch_errors INTO w_batch_errors.
    WRITE: /2 w_batch_errors-matnr,
    22 w_batch_errors-charg.
    ENDLOOP.
    ENDFORM. " post_process_checks
    G E T _ I N T E R F A C E _ F I L E N A M E
    FORM get_interface_filename USING filename lw_path.
    DATA: i_file TYPE filename-fileintern,
    out_filename LIKE v_path-pathextern.
    CLEAR: out_filename.
    i_file = filename.
    get the interface filename to be used when creating file
    CALL FUNCTION 'FILE_GET_NAME'
    EXPORTING
    logical_filename = i_file
    IMPORTING
    file_name = out_filename
    EXCEPTIONS
    file_not_found = 1
    OTHERS = 2.
    IF sy-subrc = 0.
    MOVE out_filename TO lw_path.
    IF filename NE c_archive_file. "RM080107
    CONCATENATE lw_path 'NP_StockBalance.dat'
    INTO lw_path.
    *-- Begin RM080107 - Add timestamp to the archived file
    ELSE.
    CONCATENATE lw_path 'NP_StockBalance' sy-datum sy-uzeit '.dat'
    INTO lw_path.
    ENDIF.
    *-- End RM080107
    ELSE.
    ENDIF.
    ENDFORM. "get_interface_filename
    *& Form move_file RM080107
    Move the processed file to archive directory
    FORM move_file.
    *-- At last move the file to archive directory
    OPEN DATASET p_arch FOR OUTPUT IN TEXT MODE.
    IF sy-subrc = 0.
    LOOP AT t_rawdata INTO w_rawdata.
    TRANSFER w_rawdata TO p_arch.
    ENDLOOP.
    ENDIF.
    CLOSE DATASET p_arch.
    DELETE DATASET p_file.
    ENDFORM. " move_file

    Hi,
    S E L E C T I O N S C R E E N
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
    PARAMETERS: p_file LIKE rlgrap-filename,
    p_arch LIKE rlgrap-filename. "RM080107
    SELECTION-SCREEN SKIP.
    PARAMETERS: p_mode LIKE ctu_params-dismode DEFAULT 'N'.
    SELECTION-SCREEN END OF BLOCK b1.
    I N C L U D E S
    INCLUDE zwm_np_stock_recon_top.
    INCLUDE zwm_np_stock_recon_f01.
    I N I T I A L I Z A T I O N
    INITIALIZATION.
    PERFORM get_interface_filename USING c_interface_file p_file.
    PERFORM get_interface_filename USING c_archive_file p_arch."RM080107
    S T A R T O F S E L E C T I O N
    START-OF-SELECTION.
    PERFORM read_file USING p_file.
    PERFORM pre_processing.
    E N D O F S E L E C T I O N
    END-OF-SELECTION.
    PERFORM process_checks.
    IF w_no_change = 'X'.
    WRITE: / text-b03.
    WRITE: / sy-uline(34).
    ELSE.
    PERFORM bdc_mi09.
    PERFORM file_check_report.
    PERFORM bdc_report.
    ENDIF.
    PERFORM post_process_checks.
    *-- Move the processed file to archive directory
    PERFORM move_file.
    ...*************.........first include...................************
    INCLUDE ZWM_NP_STOCK_RECON_TOP *
    Data declaration ----------------------------------------------
    TYPES: st_rawdata(2000) TYPE c.
    TYPES: BEGIN OF st_stck_cnt,
    werks TYPE iseg-werks, "plant
    lgort TYPE iseg-lgort, "storage location
    matnr TYPE iseg-matnr, "material number
    charg TYPE iseg-charg, "batch
    vfdat TYPE mch1-vfdat, "Sell by date
    lwedt TYPE mch1-lwedt, "Manufacture date
    quarn(8) TYPE n, "qaunrantine quantity
    menge(8) TYPE n, "quantity on hand
    message(1), "Message Type (E/W/I)
    msg_txt TYPE t100-text, "Message Text
    zerostck(1), "Zero stock identifier "RM220307
    END OF st_stck_cnt.
    TYPES: BEGIN OF st_batch_errors,
    matnr TYPE iseg-matnr, "material number
    charg TYPE iseg-charg, "batch
    clabs TYPE mchb-clabs, "Stock Balance
    END OF st_batch_errors.
    DATA:
    t_rawdata TYPE TABLE OF st_rawdata,
    w_rawdata TYPE st_rawdata,
    t_stck_cnt TYPE TABLE OF st_stck_cnt,
    d_stck_cnt TYPE TABLE OF st_stck_cnt, "RM191006
    w_stck_cnt TYPE st_stck_cnt,
    t_batch_errors TYPE TABLE OF st_batch_errors,
    w_batch_errors TYPE st_batch_errors,
    t_messtab LIKE bdcmsgcoll OCCURS 0,
    w_messtab LIKE LINE OF t_messtab,
    w_no_change.
    CONSTANTS: c_interface_file(26) TYPE c VALUE 'ZNP_STOCK_RECON',
    c_archive_file(26) TYPE c
    VALUE 'ZNP_STOCK_RECON_ARCHIVE'. "RM080107
    .*************................second include..........************
    ***INCLUDE ZWM_NEXTPHARMA_STOKRECON_F01 .
    *& Form read_file
    reads NextPharma file sent through via webmethods
    -->P_FILENAME
    FORM read_file USING p_filename.
    CLEAR: t_rawdata,
    w_rawdata.
    REFRESH: t_rawdata.
    OPEN DATASET p_filename FOR INPUT IN TEXT MODE.
    IF sy-subrc <> 0.
    MESSAGE e720(01).
    ENDIF.
    DO.
    READ DATASET p_filename INTO w_rawdata.
    IF sy-subrc <> 0.
    EXIT.
    ELSE.
    APPEND w_rawdata TO t_rawdata.
    ENDIF.
    ENDDO.
    CLOSE DATASET p_filename.
    ENDFORM. " read_file
    *& Form pre_processing
    Read file values into internal table
    FORM pre_processing.
    DATA: lw_matnr TYPE iseg-matnr.
    LOOP AT t_rawdata INTO w_rawdata.
    lw_matnr = w_rawdata+21(20). "RM031006
    lw_matnr = w_rawdata+22(18). "RM031006
    CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
    EXPORTING
    input = lw_matnr
    IMPORTING
    output = lw_matnr
    EXCEPTIONS
    length_error = 1
    OTHERS = 2.
    MOVE: lw_matnr TO w_stck_cnt-matnr.
    w_stck_cnt-werks = w_rawdata+14(4).
    w_stck_cnt-lgort = w_rawdata+18(4).
    w_stck_cnt-charg = w_rawdata+84(25).
    w_stck_cnt-vfdat = w_rawdata+109(8).
    w_stck_cnt-lwedt = w_rawdata+117(8).
    w_stck_cnt-quarn = w_rawdata+141(8).
    w_stck_cnt-menge = w_rawdata+125(8).
    APPEND w_stck_cnt TO t_stck_cnt.
    CLEAR w_stck_cnt.
    ENDLOOP.
    SORT t_stck_cnt BY werks
    lgort
    matnr
    charg.
    DELETE ADJACENT DUPLICATES FROM t_stck_cnt.
    ENDFORM. " pre_processing
    *& Form bdc_mi09
    Run file data via BDC TCODE: MI09
    FORM bdc_mi09.
    DATA: t_bdcdata TYPE TABLE OF bdcdata,
    w_bdcdata TYPE bdcdata,
    lw_datum(10) TYPE c,
    lw_count(2) TYPE n.
    WRITE sy-datum TO lw_datum DD/MM/YYYY.
    <b>select single MATNR
                       WERKS
                       CHARG
               from MCHA
               into (l_matnr, l_werks, l_charg)
               where matnr = w_stck_cnt-matnr
                  and werks = w_stck_cnt-werks.
                  and charg =  w_stck_cnt-charg.
    if sy-subrc ne 0.
    continue.
    endif.</b>
    Front Screen
    CLEAR w_bdcdata.
    w_bdcdata-program = 'SAPMM07I'.
    w_bdcdata-dynpro = '0700'.
    w_bdcdata-dynbegin = 'X'.
    APPEND w_bdcdata TO t_bdcdata.
    Enter
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'BDC_OKCODE'.
    w_bdcdata-fval = '/00'.
    APPEND w_bdcdata TO t_bdcdata.
    Count Date
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'RM07I-ZLDAT'.
    w_bdcdata-fval = lw_datum.
    APPEND w_bdcdata TO t_bdcdata.
    Document Date
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'RM07I-BLDAT'.
    w_bdcdata-fval = lw_datum.
    APPEND w_bdcdata TO t_bdcdata.
    Plant
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'IKPF-WERKS'.
    w_bdcdata-fval = w_stck_cnt-werks.
    APPEND w_bdcdata TO t_bdcdata.
    Storage Location
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'IKPF-LGORT'.
    w_bdcdata-fval = w_stck_cnt-lgort.
    APPEND w_bdcdata TO t_bdcdata.
    LOOP AT t_stck_cnt INTO w_stck_cnt.
    Do not submit items with Errors against them
    CHECK w_stck_cnt-message NE 'E' AND
    w_stck_cnt-zerostck NE 'X'.
    "RM220307
    lw_count = lw_count + 1.
    Input Screen
    CLEAR w_bdcdata.
    w_bdcdata-program = 'SAPMM07I'.
    w_bdcdata-dynpro = '0731'.
    w_bdcdata-dynbegin = 'X'.
    APPEND w_bdcdata TO t_bdcdata.
    Page Down
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'BDC_OKCODE'.
    w_bdcdata-fval = '=P+'.
    APPEND w_bdcdata TO t_bdcdata.
    Material
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'ISEG-MATNR(01)'.
    w_bdcdata-fval = w_stck_cnt-matnr.
    APPEND w_bdcdata TO t_bdcdata.
    Batch
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'ISEG-CHARG(01)'.
    w_bdcdata-fval = w_stck_cnt-charg.
    APPEND w_bdcdata TO t_bdcdata.
    IF w_stck_cnt-menge NE 0.
    Quantity
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'ISEG-ERFMG(01)'.
    w_bdcdata-fval = w_stck_cnt-menge.
    APPEND w_bdcdata TO t_bdcdata.
    *-- Begin RM220307 - We need to create an item when the quantity is zero
    *-- in file and is non-zero in SAP
    ELSE.
    Zero Stock indicator
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'ISEG-XNULL(01)'.
    w_bdcdata-fval = 'X'.
    APPEND w_bdcdata TO t_bdcdata.
    *-- End RM220307
    ENDIF.
    ENDLOOP.
    CHECK lw_count NE 0.
    After all line items have been input
    Final Screen
    CLEAR w_bdcdata.
    w_bdcdata-program = 'SAPMM07I'.
    w_bdcdata-dynpro = '0731'.
    w_bdcdata-dynbegin = 'X'.
    APPEND w_bdcdata TO t_bdcdata.
    Save Document
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'BDC_OKCODE'.
    w_bdcdata-fval = '=BU'.
    APPEND w_bdcdata TO t_bdcdata.
    CALL TRANSACTION 'MI09' USING t_bdcdata
    MODE p_mode
    MESSAGES INTO t_messtab.
    ENDFORM. " bdc_mi09
    *& Form bdc_report
    Write BDC Messages.
    FORM bdc_report.
    DATA: lw_text TYPE t100-text.
    SKIP.
    WRITE: / text-b01.
    WRITE: / sy-uline(21).
    SKIP.
    Write BDC Messages
    LOOP AT t_messtab INTO w_messtab WHERE msgspra = sy-langu.
    MESSAGE ID w_messtab-msgid TYPE w_messtab-msgtyp
    NUMBER w_messtab-msgnr
    WITH w_messtab-msgv1
    w_messtab-msgv2
    w_messtab-msgv3
    w_messtab-msgv4
    INTO lw_text.
    WRITE: / lw_text.
    ENDLOOP.
    ENDFORM. " bdc_report
    *& Form process_checks
    Perform process check before creating BDC Session
    FORM process_checks.
    DATA: lw_clabs LIKE mchb-clabs,
    lw_menge LIKE mchb-clabs,
    lw_matnr LIKE mara-matnr,
    lw_charg LIKE mch1-charg,
    lw_fail,
    lw_vfdat TYPE mch1-vfdat,
    lv_sell TYPE c, "RM191006
    lv_qty(8) TYPE c. "RM191006
    CLEAR: d_stck_cnt[], d_stck_cnt. "RM191006
    Check if any of the stock figures differ from current stock figures
    LOOP AT t_stck_cnt INTO w_stck_cnt.
    lw_menge = w_stck_cnt-menge.
    SELECT SINGLE clabs INTO lw_clabs
    FROM mchb
    WHERE matnr = w_stck_cnt-matnr
    AND werks = w_stck_cnt-werks
    AND lgort = w_stck_cnt-lgort
    AND charg = w_stck_cnt-charg.
    IF sy-subrc = 0.
    IF lw_clabs NE lw_menge.
    lw_fail = 'X'.
    *-- Begin RM220307 - Do not create PI item if the stock is zero in the
    *-- file and is zero in SAP
    EXIT.
    ELSEIF lw_clabs = 0 AND lw_menge = 0.
    w_stck_cnt-zerostck = 'X'.
    MODIFY t_stck_cnt FROM w_stck_cnt.
    ENDIF.
    *-- End RM220307
    ELSE.
    lw_fail = 'X'.
    ERROR
    ENDIF.
    ENDLOOP.
    If no differences are found set NO CHANGE Flag
    IF lw_fail NE 'X'.
    w_no_change = 'X'.
    EXIT.
    ENDIF.
    Check for Errors in file data
    LOOP AT t_stck_cnt INTO w_stck_cnt.
    CLEAR lv_sell. "RM191006
    SELECT SINGLE matnr INTO lw_matnr
    FROM mara
    WHERE matnr = w_stck_cnt-matnr.
    IF sy-subrc NE 0.
    Invalid Material (E)
    w_stck_cnt-message = 'E'.
    w_stck_cnt-msg_txt = 'Invalid Material'.
    MODIFY t_stck_cnt FROM w_stck_cnt.
    CONTINUE.
    ENDIF.
    SELECT SINGLE charg vfdat
    INTO (lw_charg, lw_vfdat)
    FROM mch1 "KOB01 - changed from MCHA
    WHERE matnr = w_stck_cnt-matnr
    AND charg = w_stck_cnt-charg.
    AND werks = w_stck_cnt-werks.
    IF sy-subrc NE 0.
    Invalid Material Batch (E)
    w_stck_cnt-message = 'E'.
    CONCATENATE 'Invalid Material Batch for plant' w_stck_cnt-werks
    INTO w_stck_cnt-msg_txt SEPARATED BY space.
    MODIFY t_stck_cnt FROM w_stck_cnt.
    CONTINUE.
    ELSE.
    IF w_stck_cnt-vfdat <> lw_vfdat.
    Sell by dates do not match (W)
    w_stck_cnt-message = 'W'.
    w_stck_cnt-msg_txt =
    'Sell by Date does not match Shelf life Expiry Date'.
    MODIFY t_stck_cnt FROM w_stck_cnt.
    lv_sell = 'X'. "RM191006
    CONTINUE. "RM191006
    ENDIF.
    ENDIF.
    IF w_stck_cnt-quarn > 0.
    Quarantine balance not Zero (W)
    w_stck_cnt-message = 'W'.
    *-- Begin RM191006
    *-- We do want all warning messages on the report
    lv_qty = w_stck_cnt-quarn.
    CONDENSE lv_qty NO-GAPS.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
    EXPORTING
    input = lv_qty
    IMPORTING
    output = lv_qty.
    w_stck_cnt-msg_txt = 'Quarantine balance is not zero'.
    CONCATENATE 'Quarantine balance is ' lv_qty '- not zero'
    INTO w_stck_cnt-msg_txt SEPARATED BY space.
    MODIFY t_stck_cnt FROM w_stck_cnt.
    CONTINUE.
    IF lv_sell = 'X'.
    APPEND w_stck_cnt TO d_stck_cnt.
    CLEAR lv_sell.
    ELSE.
    MODIFY t_stck_cnt FROM w_stck_cnt.
    ENDIF.
    *-- End RM191006
    ENDIF.
    ENDLOOP.
    *-- Begin RM191006
    *-- Finally get all the records into dummy table to report
    APPEND LINES OF t_stck_cnt TO d_stck_cnt.
    SORT d_stck_cnt.
    DELETE ADJACENT DUPLICATES FROM d_stck_cnt.
    *-- End RM191006
    ENDFORM. " process_checks
    *& Form file_check_report
    Write warning and Error messages from File checks
    FORM file_check_report.
    WRITE: /2 'Material',
    22 'Batch',
    32 'Sell By',
    45 'Message Text'.
    WRITE: /2 sy-uline(115).
    SKIP.
    LOOP AT t_stck_cnt INTO w_stck_cnt. "RM191006
    LOOP AT d_stck_cnt INTO w_stck_cnt. "RM191006
    CHECK w_stck_cnt-message NE ' '.
    WRITE: /2 w_stck_cnt-matnr,
    22 w_stck_cnt-charg,
    32 w_stck_cnt-vfdat,
    43 w_stck_cnt-message,
    45 w_stck_cnt-msg_txt.
    ENDLOOP.
    ENDFORM. " file_check_report
    *& Form post_process_checks
    Check Material Batches in SAP against NP File
    FORM post_process_checks.
    RANGES: r_matnr FOR mchb-matnr,
    r_lgort FOR mchb-lgort,
    r_werks FOR mchb-werks.
    SORT t_stck_cnt.
    LOOP AT t_stck_cnt INTO w_stck_cnt.
    AT END OF matnr.
    r_lgort-sign = 'I'.
    r_lgort-option = 'EQ'.
    r_lgort-low = w_stck_cnt-lgort.
    APPEND r_lgort.
    r_werks-sign = 'I'.
    r_werks-option = 'EQ'.
    r_werks-low = w_stck_cnt-werks.
    APPEND r_werks.
    r_matnr-sign = 'I'.
    r_matnr-option = 'EQ'.
    r_matnr-low = w_stck_cnt-matnr.
    APPEND r_matnr.
    ENDAT.
    ENDLOOP.
    Select all material batches for NP Materials
    SELECT matnr charg clabs
    INTO TABLE t_batch_errors
    FROM mchb
    WHERE werks IN r_werks
    AND lgort IN r_lgort.
    IF sy-subrc EQ 0.
    Check if the Material Batches are in the NP file
    LOOP AT t_batch_errors INTO w_batch_errors.
    Disregard Batches without positive unrestricted stock
    IF w_batch_errors-clabs LE 0.
    DELETE t_batch_errors.
    CONTINUE.
    ENDIF.
    READ TABLE t_stck_cnt INTO w_stck_cnt
    WITH KEY matnr = w_batch_errors-matnr
    charg = w_batch_errors-charg.
    IF sy-subrc = 0.
    DELETE t_batch_errors.
    ENDIF.
    ENDLOOP.
    ENDIF.
    CHECK NOT t_batch_errors[] IS INITIAL.
    Write Batch chak results to report
    SKIP.
    WRITE: / text-b02.
    WRITE: / sy-uline(74).
    WRITE: /2 'Material',
    22 'Batch'.
    WRITE: /2 sy-uline(32).
    SKIP.
    LOOP AT t_batch_errors INTO w_batch_errors.
    WRITE: /2 w_batch_errors-matnr,
    22 w_batch_errors-charg.
    ENDLOOP.
    ENDFORM. " post_process_checks
    G E T _ I N T E R F A C E _ F I L E N A M E
    FORM get_interface_filename USING filename lw_path.
    DATA: i_file TYPE filename-fileintern,
    out_filename LIKE v_path-pathextern.
    CLEAR: out_filename.
    i_file = filename.
    get the interface filename to be used when creating file
    CALL FUNCTION 'FILE_GET_NAME'
    EXPORTING
    logical_filename = i_file
    IMPORTING
    file_name = out_filename
    EXCEPTIONS
    file_not_found = 1
    OTHERS = 2.
    IF sy-subrc = 0.
    MOVE out_filename TO lw_path.
    IF filename NE c_archive_file. "RM080107
    CONCATENATE lw_path 'NP_StockBalance.dat'
    INTO lw_path.
    *-- Begin RM080107 - Add timestamp to the archived file
    ELSE.
    CONCATENATE lw_path 'NP_StockBalance' sy-datum sy-uzeit '.dat'
    INTO lw_path.
    ENDIF.
    *-- End RM080107
    ELSE.
    ENDIF.
    ENDFORM. "get_interface_filename
    *& Form move_file RM080107
    Move the processed file to archive directory
    FORM move_file.
    *-- At last move the file to archive directory
    OPEN DATASET p_arch FOR OUTPUT IN TEXT MODE.
    IF sy-subrc = 0.
    LOOP AT t_rawdata INTO w_rawdata.
    TRANSFER w_rawdata TO p_arch.
    ENDLOOP.
    ENDIF.
    CLOSE DATASET p_arch.
    DELETE DATASET p_file.
    ENDFORM. " move_file
    Best regards,
    Prashant

  • REP-1419: 'beforereport': PL/SQL program aborted.

    Hi,
    We transmitted a payment batch file to one of our Banks (via FTP). First time it failed because our Bank ftp details were changed overnight and the folder where we transfer the file (via PGP) is missing. Now the Bank has recreated the directory and gave full access to transmit the file. After getting the intimation from the Bank, we cancelled our Payment Batch program and resubmitted the Payment batch once again. However, this time the Payment Batch is ending at Format stage itself. And throwing the above error < REP-1419: 'beforereport': PL/SQL program aborted.>
    Now I do not know why the formatting is failing when all directories are exisiting and have full access ? Do we need to revalidate the already validated and approved invoices? Do we need to delete the earlier file that was created in the morning?
    Can anyone throw some light on this?
    I appreciate your help.
    (PS: all other information including, vendor, vendor sites, bank, pay group and etc are all fine)

    check the code in reports before parameter form.
    May be the related objects are not there. You can try opening this report in the new version and compile the before parameter form trigger
    Rajesh Alex

  • Akonadi database error code: 1062 Duplicate entry for key

    Since my email provider migrated their webmail platform, I keep getting an error each time kmail attempts to get emails from their imap server: could not create collection INBOX resourceid: 17
    I double checked the provided imap settings have not changed and are correct : imap.laposte.net port 993 using SSL/TLS
    As you can see in the pasted akonadi self-test report below, I have a few errors related to innodb, the absence of mysql tables in local/share/akonadi/db_data/ and the table performance_schema having the wrong structure. Those have been there for several months but I've been unable to fix them and I didn't care because my email was working. I suppose they are unrelated to my current issues.
    Any help I can get is much welcome.
    Akonadi Server Self-Test Report
    ===============================
    Test 1: SUCCESS
    Database driver found.
    Details: The QtSQL driver 'QMYSQL' is required by your current Akonadi server configuration and was found on your system.
    File content of '/home/the_user/.config/akonadi/akonadiserverrc':
    [%General]
    Driver=QMYSQL
    [QMYSQL]
    Name=akonadi
    Host=
    Options="UNIX_SOCKET=/tmp/akonadi-the_user.kKTLSR/mysql.socket"
    ServerPath=/usr/bin/mysqld
    StartServer=true
    User=
    Password=
    [Debug]
    Tracer=null
    [QPSQL]
    StartServer=true
    Name=akonadi
    Host=
    User=
    Password=
    Port=5432
    [SQLITE]
    Name=akonadi
    Test 2: SUCCESS
    Akonadi is not running as root
    Details: Akonadi is not running as a root/administrator user, which is the recommended setup for a secure system.
    Test 3: SUCCESS
    MySQL server found.
    Details: You have currently configured Akonadi to use the MySQL server '/usr/bin/mysqld'.
    Make sure you have the MySQL server installed, set the correct path and ensure you have the necessary read and execution rights on the server executable. The server executable is typically called 'mysqld'; its location varies depending on the distribution.
    Test 4: SUCCESS
    MySQL server is executable.
    Details: MySQL server found: /usr/bin/mysqld Ver 10.0.14-MariaDB-log for Linux on x86_64 (MariaDB Server)
    Test 5: ERROR
    MySQL server log contains errors.
    Details: The MySQL server error log file &apos;<a href='/home/the_user/.local/share/akonadi/db_data/mysql.err'>/home/the_user/.local/share/akonadi/db_data/mysql.err</a>&apos; contains errors.
    File content of '/home/the_user/.local/share/akonadi/db_data/mysql.err':
    141129 9:34:33 [Warning] You need to use --log-bin to make --binlog-format work.
    2014-11-29 09:34:33 7f5b81d0b780 InnoDB: Warning: Using innodb_additional_mem_pool_size is DEPRECATED. This option may be removed in future releases, together with the option innodb_use_sys_malloc and with the InnoDB's internal memory allocator.
    141129 9:34:33 [Note] InnoDB: Using mutexes to ref count buffer pool pages
    141129 9:34:33 [Note] InnoDB: The InnoDB memory heap is disabled
    141129 9:34:33 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
    141129 9:34:33 [Note] InnoDB: Memory barrier is not used
    141129 9:34:33 [Note] InnoDB: Compressed tables use zlib 1.2.8
    141129 9:34:33 [Note] InnoDB: Using Linux native AIO
    141129 9:34:33 [Note] InnoDB: Using CPU crc32 instructions
    141129 9:34:33 [Note] InnoDB: Initializing buffer pool, size = 80.0M
    141129 9:34:33 [Note] InnoDB: Completed initialization of buffer pool
    141129 9:34:33 [Note] InnoDB: Highest supported file format is Barracuda.
    141129 9:34:33 [Note] InnoDB: The log sequence numbers 66340678877 and 66340678877 in ibdata files do not match the log sequence number 66344113222 in the ib_logfiles!
    141129 9:34:33 [Note] InnoDB: Database was not shutdown normally!
    141129 9:34:33 [Note] InnoDB: Starting crash recovery.
    141129 9:34:33 [Note] InnoDB: Reading tablespace information from the .ibd files...
    141129 9:34:33 [Note] InnoDB: Restoring possible half-written data pages
    141129 9:34:33 [Note] InnoDB: from the doublewrite buffer...
    141129 9:34:34 [Note] InnoDB: 128 rollback segment(s) are active.
    141129 9:34:34 [Note] InnoDB: Waiting for purge to start
    141129 9:34:34 [Note] InnoDB: Percona XtraDB (http://www.percona.com) 5.6.20-68.0 started; log sequence number 66344113222
    141129 9:34:34 [Note] Plugin 'FEEDBACK' is disabled.
    141129 9:34:34 [ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist
    141129 9:34:34 [Warning] Can't open and lock time zone table: Table 'mysql.time_zone_leap_second' doesn't exist trying to live without them
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'cond_instances' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'events_waits_current' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'events_waits_history' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'events_waits_history_long' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'events_waits_summary_by_host_by_event_name' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'events_waits_summary_by_instance' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'events_waits_summary_by_thread_by_event_name' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'events_waits_summary_by_user_by_event_name' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'events_waits_summary_by_account_by_event_name' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'events_waits_summary_global_by_event_name' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'file_instances' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'file_summary_by_event_name' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'file_summary_by_instance' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'host_cache' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'mutex_instances' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'objects_summary_global_by_type' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'performance_timers' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'rwlock_instances' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'setup_actors' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'setup_consumers' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'setup_instruments' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'setup_objects' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'setup_timers' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'table_io_waits_summary_by_index_usage' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'table_io_waits_summary_by_table' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'table_lock_waits_summary_by_table' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'threads' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'events_stages_current' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'events_stages_history' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'events_stages_history_long' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'events_stages_summary_by_thread_by_event_name' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'events_stages_summary_by_account_by_event_name' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'events_stages_summary_by_user_by_event_name' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'events_stages_summary_by_host_by_event_name' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'events_stages_summary_global_by_event_name' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'events_statements_current' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'events_statements_history' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'events_statements_history_long' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'events_statements_summary_by_thread_by_event_name' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'events_statements_summary_by_account_by_event_name' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'events_statements_summary_by_user_by_event_name' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'events_statements_summary_by_host_by_event_name' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'events_statements_summary_global_by_event_name' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'events_statements_summary_by_digest' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'users' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'accounts' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'hosts' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'socket_instances' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'socket_summary_by_instance' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'socket_summary_by_event_name' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'session_connect_attrs' has the wrong structure
    141129 9:34:34 [ERROR] Native table 'performance_schema'.'session_account_connect_attrs' has the wrong structure
    141129 9:34:34 [Warning] Failed to load slave replication state from table mysql.gtid_slave_pos: 1146: Table 'mysql.gtid_slave_pos' doesn't exist
    141129 9:34:34 [Note] Reading of all Master_info entries succeded
    141129 9:34:34 [Note] Added new Master_info '' to hash table
    141129 9:34:34 [Note] /usr/bin/mysqld: ready for connections.
    Version: '10.0.14-MariaDB' socket: '/tmp/akonadi-the_user.kKTLSR/mysql.socket' port: 0 MariaDB Server
    2014-11-29 09:34:34 7f5b81c77700 InnoDB: Error: Table "mysql"."innodb_table_stats" not found.
    141129 15:14:56 [Warning] Aborted connection 58 to db: 'akonadi' user: 'the_user' host: '' (Unknown error)
    Test 6: SUCCESS
    MySQL server default configuration found.
    Details: The default configuration for the MySQL server was found and is readable at <a href='/usr/share/config/akonadi/mysql-global.conf'>/usr/share/config/akonadi/mysql-global.conf</a>.
    File content of '/usr/share/config/akonadi/mysql-global.conf':
    # Global Akonadi MySQL server settings,
    # These settings can be adjusted using $HOME/.config/akonadi/mysql-local.conf
    # Based on advice by Kris Köhntopp <[email protected]>
    [mysqld]
    # strict query parsing/interpretation
    # TODO: make Akonadi work with those settings enabled
    # sql_mode=strict_trans_tables,strict_all_tables,strict_error_for_division_by_zero,no_auto_create_user,no_auto_value_on_zero,no_engine_substitution,no_zero_date,no_zero_in_date,only_full_group_by,pipes_as_concat
    # sql_mode=strict_trans_tables
    # DEBUGGING:
    # log all queries, useful for debugging but generates an enormous amount of data
    # log=mysql.full
    # log queries slower than n seconds, log file name relative to datadir (for debugging only)
    # log_slow_queries=mysql.slow
    # long_query_time=1
    # log queries not using indices, debug only, disable for production use
    # log_queries_not_using_indexes=1
    # mesure database size and adjust innodb_buffer_pool_size
    # SELECT sum(data_length) as bla, sum(index_length) as blub FROM information_schema.tables WHERE table_schema not in ("mysql", "information_schema");
    # NOTES:
    # Keep Innob_log_waits and keep Innodb_buffer_pool_wait_free small (see show global status like "inno%", show global variables)
    #expire_logs_days=3
    #sync_bin_log=0
    # Use UTF-8 encoding for tables
    character_set_server=utf8
    collation_server=utf8_general_ci
    # use InnoDB for transactions and better crash recovery
    default_storage_engine=innodb
    # memory pool InnoDB uses to store data dictionary information and other internal data structures (default:1M)
    # Deprecated in MySQL >= 5.6.3
    innodb_additional_mem_pool_size=1M
    # memory buffer InnoDB uses to cache data and indexes of its tables (default:128M)
    # Larger values means less I/O
    innodb_buffer_pool_size=80M
    # Create a .ibd file for each table (default:0)
    innodb_file_per_table=1
    # Write out the log buffer to the log file at each commit (default:1)
    innodb_flush_log_at_trx_commit=2
    # Buffer size used to write to the log files on disk (default:1M for builtin, 8M for plugin)
    # larger values means less I/O
    innodb_log_buffer_size=1M
    # Size of each log file in a log group (default:5M) larger means less I/O but more time for recovery.
    innodb_log_file_size=64M
    # # error log file name, relative to datadir (default:hostname.err)
    log_error=mysql.err
    # print warnings and connection errors (default:1)
    log_warnings=2
    # Convert table named to lowercase
    lower_case_table_names=1
    # Maximum size of one packet or any generated/intermediate string. (default:1M)
    max_allowed_packet=32M
    # Maximum simultaneous connections allowed (default:100)
    max_connections=256
    # The two options below make no sense with prepared statements and/or transactions
    # (make sense when having the same query multiple times)
    # Memory allocated for caching query results (default:0 (disabled))
    query_cache_size=0
    # Do not cache results (default:1)
    query_cache_type=0
    # Do not use the privileges mechanisms
    skip_grant_tables
    # Do not listen for TCP/IP connections at all
    skip_networking
    # The number of open tables for all threads. (default:64)
    table_open_cache=200
    # How many threads the server should cache for reuse (default:0)
    thread_cache_size=3
    # wait 365d before dropping the DB connection (default:8h)
    wait_timeout=31536000
    # We use InnoDB, so don't let MyISAM eat up memory
    key_buffer_size=16K
    [client]
    default-character-set=utf8
    Test 7: SUCCESS
    MySQL server custom configuration found.
    Details: The custom configuration for the MySQL server was found and is readable at <a href='/home/the_user/.config/akonadi/mysql-local.conf'>/home/the_user/.config/akonadi/mysql-local.conf</a>
    File content of '/home/the_user/.config/akonadi/mysql-local.conf':
    # workaround fix for akonadi db error after server upgrade
    # http://forum.kde.org/viewtopic.php?f=215&t=101004
    [mysqld]
    binlog_format=row
    Test 8: SUCCESS
    MySQL server configuration is usable.
    Details: The MySQL server configuration was found at <a href='/home/the_user/.local/share/akonadi/mysql.conf'>/home/the_user/.local/share/akonadi/mysql.conf</a> and is readable.
    File content of '/home/the_user/.local/share/akonadi/mysql.conf':
    # Global Akonadi MySQL server settings,
    # These settings can be adjusted using $HOME/.config/akonadi/mysql-local.conf
    # Based on advice by Kris Köhntopp <[email protected]>
    [mysqld]
    # strict query parsing/interpretation
    # TODO: make Akonadi work with those settings enabled
    # sql_mode=strict_trans_tables,strict_all_tables,strict_error_for_division_by_zero,no_auto_create_user,no_auto_value_on_zero,no_engine_substitution,no_zero_date,no_zero_in_date,only_full_group_by,pipes_as_concat
    # sql_mode=strict_trans_tables
    # DEBUGGING:
    # log all queries, useful for debugging but generates an enormous amount of data
    # log=mysql.full
    # log queries slower than n seconds, log file name relative to datadir (for debugging only)
    # log_slow_queries=mysql.slow
    # long_query_time=1
    # log queries not using indices, debug only, disable for production use
    # log_queries_not_using_indexes=1
    # mesure database size and adjust innodb_buffer_pool_size
    # SELECT sum(data_length) as bla, sum(index_length) as blub FROM information_schema.tables WHERE table_schema not in ("mysql", "information_schema");
    # NOTES:
    # Keep Innob_log_waits and keep Innodb_buffer_pool_wait_free small (see show global status like "inno%", show global variables)
    #expire_logs_days=3
    #sync_bin_log=0
    # Use UTF-8 encoding for tables
    character_set_server=utf8
    collation_server=utf8_general_ci
    # use InnoDB for transactions and better crash recovery
    default_storage_engine=innodb
    # memory pool InnoDB uses to store data dictionary information and other internal data structures (default:1M)
    # Deprecated in MySQL >= 5.6.3
    innodb_additional_mem_pool_size=1M
    # memory buffer InnoDB uses to cache data and indexes of its tables (default:128M)
    # Larger values means less I/O
    innodb_buffer_pool_size=80M
    # Create a .ibd file for each table (default:0)
    innodb_file_per_table=1
    # Write out the log buffer to the log file at each commit (default:1)
    innodb_flush_log_at_trx_commit=2
    # Buffer size used to write to the log files on disk (default:1M for builtin, 8M for plugin)
    # larger values means less I/O
    innodb_log_buffer_size=1M
    # Size of each log file in a log group (default:5M) larger means less I/O but more time for recovery.
    innodb_log_file_size=64M
    # # error log file name, relative to datadir (default:hostname.err)
    log_error=mysql.err
    # print warnings and connection errors (default:1)
    log_warnings=2
    # Convert table named to lowercase
    lower_case_table_names=1
    # Maximum size of one packet or any generated/intermediate string. (default:1M)
    max_allowed_packet=32M
    # Maximum simultaneous connections allowed (default:100)
    max_connections=256
    # The two options below make no sense with prepared statements and/or transactions
    # (make sense when having the same query multiple times)
    # Memory allocated for caching query results (default:0 (disabled))
    query_cache_size=0
    # Do not cache results (default:1)
    query_cache_type=0
    # Do not use the privileges mechanisms
    skip_grant_tables
    # Do not listen for TCP/IP connections at all
    skip_networking
    # The number of open tables for all threads. (default:64)
    table_open_cache=200
    # How many threads the server should cache for reuse (default:0)
    thread_cache_size=3
    # wait 365d before dropping the DB connection (default:8h)
    wait_timeout=31536000
    # We use InnoDB, so don't let MyISAM eat up memory
    key_buffer_size=16K
    [client]
    default-character-set=utf8
    # workaround fix for akonadi db error after server upgrade
    # http://forum.kde.org/viewtopic.php?f=215&t=101004
    [mysqld]
    binlog_format=row
    Test 9: SUCCESS
    akonadictl found and usable
    Details: The program '/usr/bin/akonadictl' to control the Akonadi server was found and could be executed successfully.
    Result:
    Akonadi 1.13.0
    Test 10: SUCCESS
    Akonadi control process registered at D-Bus.
    Details: The Akonadi control process is registered at D-Bus which typically indicates it is operational.
    Test 11: SUCCESS
    Akonadi server process registered at D-Bus.
    Details: The Akonadi server process is registered at D-Bus which typically indicates it is operational.
    Test 12: SKIP
    Protocol version check not possible.
    Details: Without a connection to the server it is not possible to check if the protocol version meets the requirements.
    Test 13: SUCCESS
    Resource agents found.
    Details: At least one resource agent has been found.
    Directory listing of '/usr/share/akonadi/agents':
    akonadibalooindexingagent.desktop
    akonadinepomukfeederagent.desktop
    akonotesresource.desktop
    archivemailagent.desktop
    birthdaysresource.desktop
    contactsresource.desktop
    davgroupwareresource.desktop
    facebookresource.desktop
    followupreminder.desktop
    googlecalendarresource.desktop
    googlecontactsresource.desktop
    icaldirresource.desktop
    icalresource.desktop
    imapresource.desktop
    invitationsagent.desktop
    kabcresource.desktop
    kalarmdirresource.desktop
    kalarmresource.desktop
    kcalresource.desktop
    kdeaccountsresource.desktop
    knutresource.desktop
    kolabproxyresource.desktop
    kolabresource.desktop
    localbookmarksresource.desktop
    maildirresource.desktop
    maildispatcheragent.desktop
    mailfilteragent.desktop
    mboxresource.desktop
    migrationagent.desktop
    mixedmaildirresource.desktop
    mtdummyresource.desktop
    newmailnotifieragent.desktop
    nntpresource.desktop
    notesresource.desktop
    openxchangeresource.desktop
    pop3resource.desktop
    sendlateragent.desktop
    vcarddirresource.desktop
    vcardresource.desktop
    Environment variable XDG_DATA_DIRS is set to '/usr/share:/usr/share:/usr/local/share'
    Test 14: ERROR
    Current Akonadi server error log found.
    Details: The Akonadi server reported errors during its current startup. The log can be found in <a href='/home/the_user/.local/share/akonadi/akonadiserver.error'>/home/the_user/.local/share/akonadi/akonadiserver.error</a>.
    File content of '/home/the_user/.local/share/akonadi/akonadiserver.error':
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    Test 15: ERROR
    Previous Akonadi server error log found.
    Details: The Akonadi server reported errors during its previous startup. The log can be found in <a href='/home/the_user/.local/share/akonadi/akonadiserver.error.old'>/home/the_user/.local/share/akonadi/akonadiserver.error.old</a>.
    File content of '/home/the_user/.local/share/akonadi/akonadiserver.error.old':
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    DATABASE ERROR:
    Error code: 1062
    DB error: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex'"
    Error text: "Duplicate entry '93-INBOX' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement"
    Query: "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, enabled, syncPref, displayPref, indexPref, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10)"
    Control process died, committing suicide!
    Test 16: ERROR
    Current Akonadi control error log found.
    Details: The Akonadi control process reported errors during its current startup. The log can be found in <a href='/home/the_user/.local/share/akonadi/akonadi_control.error'>/home/the_user/.local/share/akonadi/akonadi_control.error</a>.
    File content of '/home/the_user/.local/share/akonadi/akonadi_control.error':
    Executable "akonadi_nepomuk_feeder" for agent "akonadi_nepomuk_feeder" could not be found!
    Test 17: ERROR
    Previous Akonadi control error log found.
    Details: The Akonadi control process reported errors during its previous startup. The log can be found in <a href='/home/the_user/.local/share/akonadi/akonadi_control.error.old'>/home/the_user/.local/share/akonadi/akonadi_control.error.old</a>.
    File content of '/home/the_user/.local/share/akonadi/akonadi_control.error.old':
    Executable "akonadi_nepomuk_feeder" for agent "akonadi_nepomuk_feeder" could not be found!

    After Upload you can delete the Duplicates comparing the employee Id.
    It Will be Possible only when you use OLE and read the file records line by Line. I am not sure of the error Handling with OLE control. It may lead to some performance issues..

Maybe you are looking for

  • User sip folder have many .cache files with 4kb and the folder is becoming full and Lync Client stops working

    User sip folder have manu Mailitem&username&.cache files until folder is full and Lync client stops working.

  • No dev with DSE bluetooth dongle

    Hi All, I have found an old DSE bluetooth dongle I am trying to use and when I do a "hcitool dev" no devices show up. lsusb shows: Bus 006 Device 003: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode) both dbus and bluetooth are r

  • Oracle fail safe中提示cannot move group

    环境平台: windows 2003 32 bit oracle fail safe 3.3.3 两个主机加入windows cluster并安装了oracle fail safe 在oracle fail safe manager 中的一个cluster group点选 'move to a different node' 提示:the cluster group cannot be moved because is contains oracle service for mscs 觉得奇怪为

  • Page size limitation on Sun ONE directory server 5.2

    Hi All, How do i know what is the Page size limitation on Sun ONE directory server 5.2? How do i cahnage it? Best Regards, Ayelet Regev [email protected]

  • Installation Error, Phase 22 of 23

    I get the following error on Phase 22 of 23 during the installation: An error occured while processing SAP NetWeaver '04 Support Release 1> Java System>MaxDB> Central System> Custom Installation - Java System I hit the 'View Log' button, and saw the