Problem in selection from data base with RANGE-TABLE.

Dear folks,
               I am facing weird problem with range table in selection query.I have problem with bold part of code.Here when i give input to both ranges r_salesno,r_brandid then and the selection occurs ,when i put black in one of those it does not work.I haev passed Empty table to range if no inpiut in elements..although it does not work..I dont know why it is happening...By the i m using this code in Webdynpro ABAP.Please help points will be awarded..
if  Stru_Cn_Selcrtr-ca_slsrl is not initial.
    wa_salesno-sign = 'I'.
    wa_salesno-option = 'EQ'.
    wa_salesno-LOW = Stru_Cn_Selcrtr-ca_slsrl.
    APPEND wa_salesno TO r_salesno.
    CLEAR : wa_salesno .
  else.
    wa_salesno-sign = 'I'.
    wa_salesno-option = 'EQ'.
    wa_salesno-LOW = space.
    APPEND wa_salesno TO r_salesno.
     CLEAR : wa_salesno .
  endif.
  if  Stru_Cn_Selcrtr-ca_brand is not initial.
    wa_brandid-sign = 'I'.
    wa_brandid-option = 'EQ'.
    wa_brandid-LOW = Stru_Cn_Selcrtr-ca_brand.
    APPEND  wa_brandid TO  r_brandid.
    CLEAR :  wa_brandid .
  else.
    wa_brandid-sign = 'I'.
    wa_brandid-option = 'EQ'.
     wa_brandid-LOW = space.
    APPEND wa_brandid  TO  r_brandid.
    CLEAR : wa_brandid  .
  endif.
*If any of these are given then select data accordingly.
    <b>select * from ZNSLVWHDIMMD_LCL
             into corresponding fields of table IT_VIEW
             WHERE SALESRLNO in  r_salesno
*             and   CREATEDBY in It_crtby_selopt
*            and   STARTDATE in It_validfrm_selopt
*             and   ENDDATE   in It_validto_selopt
*             and  STATUS     in It_status_selopt1
             and   BRANDID   in r_brandid.
*             and   MODELNO   in It_model_selopt.</b>

Hello Nirad
Your coding is problematic. I assume that field SALESRLNO (of table ZNSLVWHDIMMD_LCL) probably means sales number (or sales order) and, thus, must not be empty. If this is correct then the first IF statement is probably wrong:
if  Stru_Cn_Selcrtr-ca_slsrl is not initial.
    wa_salesno-sign = 'I'.
    wa_salesno-option = 'EQ'.
    wa_salesno-LOW = Stru_Cn_Selcrtr-ca_slsrl.
    APPEND wa_salesno TO r_salesno.
    CLEAR : wa_salesno .
  else.
    REFRESH: r_salesno.  " means: select all sales numbers
" NOTE: If you fill the range like below this means that only sales order
"            with no sales number (= ' ', space) should be select.
" Thus, there will never be any sales order selected.
*   wa_salesno-sign = 'I'.
*   wa_salesno-option = 'EQ'.
*   wa_salesno-LOW = space.
*   APPEND wa_salesno TO r_salesno.
*    CLEAR : wa_salesno .
  endif.
The same logic applies to the second IF statement. If you want to select all BRANDID if none has been provided as selection criteria then code:
  if  Stru_Cn_Selcrtr-ca_brand is not initial.
    wa_brandid-sign = 'I'.
    wa_brandid-option = 'EQ'.
    wa_brandid-LOW = Stru_Cn_Selcrtr-ca_brand.
    APPEND  wa_brandid TO  r_brandid.
    CLEAR :  wa_brandid .
  else.
    REFRESH: r_brandid.  " means: select all BRANDID
*    wa_brandid-sign = 'I'.
*    wa_brandid-option = 'EQ'.
*     wa_brandid-LOW = space.
*    APPEND wa_brandid  TO  r_brandid.
*    CLEAR : wa_brandid  .
  endif.
Regards
  Uwe

Similar Messages

  • Call function from data base with clob input parameter.

    Hello,
    In this project I use Jdev 11g.
    I call function from database.
    create or replace function get_fa_list (
    p_fa_id_list in clob
    return sys_refcursor
    is
    vCursor sys_refcursor;
    begin
    put_msg ('begin');
    if p_fa_id_list is null then
    put_msg ('CLOB is null!');
    else
    put_msg ('size CLOB: ' || dbms_lob.getlength (p_fa_id_list));
    end if;
    put_msg ('Save');
    open vCursor for
    select rownum as id, s.*
    from (
    select f.latitude, f.longitude, count (distinct f.res_id) as res_count, count (*) as fa_count, 16711680 as color, res_concat_distinct (f.res_id) as station_list
    from mv_frequency_assignment f, table (SplitClob (p_fa_id_list, ',')) l
    where f.ext_system = 'BI' and
    f.ext_sys_id = l.column_value
    group by f.latitude, f.longitude
    ) s;
    put_msg ('Open and End');
    return vCursor;
    end get_fa_list;
    I use TopLink in ejb.
    i use follow code for call function and get result.
    public List<TmpResPoints> findAllPointsBI(String p_id){
    UnitOfWork uow = getSessionFactory().acquireUnitOfWork();
    uow.beginEarlyTransaction();
    StoredFunctionCall call = new StoredFunctionCall();
    call.setProcedureName("get_fa_list");
    call.useUnnamedCursorOutputAsResultSet();
    ClobDomain c = new ClobDomain(p_id);
    //System.out.println(c.toString());
    call.addNamedArgumentValue("p_fa_id_list", c);
    ReadAllQuery query = new ReadAllQuery();
    query.setReferenceClass(TmpResPoints.class);
    query.setCall(call);
    List<TmpResPoints> result = (List<TmpResPoints>)uow.executeQuery(query);
    uow.commit();
    uow.release();
    return result;
    But size parameter "p_fa_id_list" is 0. (geting from temp table in Data base). this code in function >>
    if p_fa_id_list is null then
    put_msg ('CLOB is null!');
    else
    put_msg ('size CLOB: ' || dbms_lob.getlength (p_fa_id_list));
    end if;)
    How I can call this function from dataBase and get result?
    thx,
    Demka.

    What is the SQL generated?
    The argument should just be the Clob value (a String) not the domain object.
    Also try addNamedArgument, and then pass the named argument to the query.
    James : http://www.eclipselink.org

  • When to refresh Servlet data from Data Base

    Hello all,
    I have a servlet that retrive few hundreds thousands records from data base table.
    The data in data base table being updated once or twice in every week.
    Since same servlet instance serve all users, that access the servlet many times a day.
    I would like to avoid retriving the data from data base on each servlet access.
    and make the users use same data already retrieved and kept in servlet members.
    First, what is the best way to avoid data retrive from data base on each servlet access?
    and how could I have some kind of trigger that will refresh servlet data from data base every few days?
    Thanks in advance for every idea.
    Ami

    Java_A wrote:
    Thanks Saish for your reply.
    I'm not using DAO in my application but retrive the data from BI data base using a web service. response time querying the BI data base is not quick enuogh.
    Since, I wouldn't want to query the BI server on each servlet access.
    Because the data I retrived at the begining using the web service contains all required data for all servlet requests, I thought to store the data (~200K rows) once in the servlet which will be using for all requests.
    Why not store the results locally in your own database after you fetch them?
    This still leave me with the questions: in which event should I query the BI data, and also when or in which event should I update the data again from BI server?
    Query at startup, an user demand, when data becomes stale. It depends on your requirements.
    >
    Thanks
    Ami- Saish

  • Util class to extract Data from Data base Table.

    Is there any Util class to extract all records from Data base table into DAT file.For example(get all amployees from EMPLOYEE table in to employee.DAT )

    What is a DAT file?
    Anyway, this can be achieved using a shot of JDBC [1] and some business logic [2] to populate/group/concat the data together in a DAT format and writing [3] it to that DAT file.
    [1] JDBC tutorial: http://www.google.com/search?q=jdbc+tutorial+site:sun.com
    [2] Use your brains and things you ever learnt in maths and basic Java tutorials/books.
    [3] I/O tutorial: http://www.google.com/search?q=io+tutorial+site:sun.com

  • Why does "SELECT * FROM [database].[schema].[table]" not work in Azure ?

    Hi all
    In Microsoft Azure I have 2 databases.
    I work since more than 10 years with T-SQL and I always use
    fully qualified object names, means "[database].[schema].[table]".
    When I now make a connection to my database "A" in Azure and
    write a Query against database "B" ("SELECT * FROM [B].[schema].[table]")
    I get an exception. Of course when I connect to database "B" it works
    but again not to database "A". When I use "SELECT * FROM [schema].[table]"
    with the right database connected, it also works in Azure.
    Hope you understand what I mean :-)
    In MS-SQL, this of course works fine.
    Well my question is: What sense does this make ??
    Do I now have to re-write everything just for azure or will this behavior changed sometimes ?
    I know MS-SQL is not the same like Azure-SQL, but hey; does Microsoft think all projects have only one database ?? :-)
    Thanks for any answer
    Frank

    Hi Frank,
    According to your description, you want to retrieval data cross database in SQL Azure, right?
    As June said, Currently cross database joins are not supported in SQL Azure. Also you cannot change database mid query so you cannot, for example, put a USE [MyDB] in your query either. Please refer to the link below to see the details.
    http://www.britishdeveloper.co.uk/2011/11/cross-database-joins-in-sql-azure.html
    If you have any concern about this behavior, you can submit a feedback at
    http://connect.microsoft.com/SQLServer/Feedback and hope it is resolved in the next release of service pack or product. Your feedback enables Microsoft to make software and services the best that they can be, Microsoft might consider to add this feature
    in the following release after official confirmation.
    Regards,
    Charlie Liao
    TechNet Community Support

  • How to get selected row data of an ADF table in HashMap?

    Hi,
    Can anyone please tell me how to selected row data of an ADF table in HashMap like :
    Object obj = pageTable.getSelectedRowData();
    JUCtrlHierNodeBinding rowData = (JUCtrlHierNodeBinding)obj;
    Now in above code I want the convert rowData in HashMap.
    Can anyone please tell me how to do that? Its urgent.
    Thanks,
    Vik

    Vik,
    No need to ask the same question 3 times...
    In [url http://forums.oracle.com/forums/message.jspa?messageID=4590586]this post, Nick showed you how to get the Row.
    If it were so urgent, you could have done a little reading of the javadocs to come up with code like this (not tested, up to you to do that)
    HashMap m = new HashMap();
    Row r = get it like Nick showed you to;
    Object values[]=r.getAttributeValues();
    String names[]=r.getAttributeNames();
    for (int i=0; i<r.getAttributeCount(); i++)
    m.put(names, values[i]);

  • Performance problem in select data from data base

    hello all,
    could you please suggest me which select statement is good for fetch data form data base if data base contain more than 10 lac records.
    i am using SELECT PACKAGE SIZE n statement,  but it's taking lot of time .
    with best regards
    srinivas rathod

    Hi Srinivas,
    if you have huge data and selecting ,you could decrease little bit time if you use better techniques.
    I do not think SELECT PACKAGE SIZE  will give good performance
    see the below examples :
    ABAP Code Samples for Simple Performance Tuning Techniques
    1. Query including select and sorting functionality
    tables: mara, mast.
        data: begin of itab_new occurs 0,
                 matnr like mara-matnr,
                 ernam like mara-ernam,
                 mtart like mara-mtart,
                 matkl like mara-matkl,
                 werks like mast-werks,
               aenam like mast-aenam,
    stlal like mast-stlal,
         end of itab_new.
    select fmatnr fernam fmtart fmatkl gwerks gaenam g~stlal
    into table itab_new from mara as f inner join mast as g on
    fmatnr = gmatnr where gstlal = '01' order by fernam.
    Code B
    tables: mara, mast.
    data: begin of itab_new occurs 0,
          matnr like mara-matnr,
          ernam like mara-ernam,
          mtart like mara-mtart,
          matkl like mara-matkl,
          werks like mast-werks,
          aenam like mast-aenam,
          stlal like mast-stlal,
    end of itab_new.
    select fmatnr fernam fmtart fmatkl gwerks gaenam g~stlal
    into table itab_new from mara as f inner join mast as g on f~matnr =
    gmatnr where gstlal = '01'.
    sort itab_new by ernam.
    Both the above codes essentially do the same function, but the execution time for code B is considerably lesser than that of Code A. Reason: The Order by clause associated with a select statement increases the execution time of the statement, so it is profitable to sort the internal table once after selecting the data.
    2. Performance Improvement Due to Identical Statements – Execution Plan
    Consider the below queries and their levels of efficiencies is saving the execution
    tables: mara, mast.
    data: begin of itab_new occurs 0,
          matnr like mara-matnr,
          ernam like mara-ernam,
          mtart like mara-mtart,
          matkl like mara-matkl,
          werks like mast-werks,
          aenam like mast-aenam,
          stlal like mast-stlal,
    end of itab_new.
    select fmatnr fernam fmtart fmatkl gwerks gaenam g~stlal
    into table itab_new from mara as f inner join mast as g on f~matnr =
    gmatnr where gstlal = '01' .
    sort itab_new.
    select fmatnr fernam
    fmtart fmatkl gwerks gaenam g~stlal
    into table itab_new from mara as
    f inner join mast as g on f~matnr =
    gmatnr where gstlal
    = '01' .
    Code D (Identical Select Statements)
    tables: mara, mast.
    data: begin of itab_new occurs 0,
          matnr like mara-matnr,
          ernam like mara-ernam,
          mtart like mara-mtart,
          matkl like mara-matkl,
          werks like mast-werks,
          aenam like mast-aenam,
          stlal like mast-stlal,
    end of itab_new.
    select fmatnr fernam fmtart fmatkl gwerks gaenam g~stlal
    into table itab_new from mara as f inner join mast as g on f~matnr =
    gmatnr where gstlal = '01' .
    sort itab_new.
    select fmatnr fernam fmtart fmatkl gwerks gaenam g~stlal
    into table itab_new from mara as f inner join mast as g on f~matnr =
    gmatnr where gstlal = '01' .
    Both the above codes essentially do the same function, but the execution time for code B is considerably lesser than that of Code A. Reason: Each SQL statement during the process of execution is converted into a series of database operation phases. In the second phase of conversion (Prepare phase) an “execution  plan” is determined for the current SQL statement and it is stored, if in the program any identical select statement is used, then the same execution plan is reused to save time. So retain the structure of the select statement as the same when it is used more than once in the program.
    3. Reducing Parse Time Using Aliasing
    A statement which does not have a cached execution plan should be parsed before execution; this parsing phase is a highly time and resource consuming, so parsing time for any sql query must include an alias name in it for the following reason.
    1.     Providing the alias name will enable the query engine to resolve the tables to which the specified fields belong to.
    2.     Providing a short alias name, (a single character alias name) is more efficient that providing a big alias name.
    Code E
    select jmatnr jernam jmtart jmatkl
    gwerks gaenam g~stlal into table itab_new from mara as
    j inner join mast as g on jmatnr = gmatnr where
                g~stlal = '01' .
    In the above code the alias name used is ‘ j ‘.
    4. Performance Tuning Using Order by Clause
    If in a SQL query you are going to  read a particular database record based on some key values mentioned in the select statement, then the read query can be very well optimized by ordering the fields in the same order in which we are going to read them in the read query.
    Code F
    tables: mara, mast.
    data: begin of itab_new occurs 0,
          matnr like mara-matnr,
          ernam like mara-ernam,
          mtart like mara-mtart,
          matkl like mara-matkl,
          end of itab_new.
    select MATNR ERNAM MTART MATKL from mara into table itab_new where
    MTART = 'HAWA' ORDER BY  MATNR ERNAM  MTART MATKL.
    read table itab_new with key MATNR = 'PAINT1'   ERNAM = 'RAMANUM'
    MTART = 'HAWA'   MATKL = 'OFFICE'.
    Code G
    tables: mara, mast.
    data: begin of itab_new occurs 0,
          matnr like mara-matnr,
          ernam like mara-ernam,
          mtart like mara-mtart,
          matkl like mara-matkl,
          end of itab_new.
    select MATNR ERNAM MTART MATKL from mara into table itab_new where
    MTART = 'HAWA' ORDER BY  ERNAM MATKL MATNR MTART.
    read table itab_new with key MATNR = 'PAINT1'   ERNAM = 'RAMANUM'
    MTART = 'HAWA'   MATKL = 'OFFICE'.
    In the above code F, the read statement following the select statement is having the order of the keys as MATNR, ERNAM, MTART, MATKL. So it is less time intensive if the internal table is ordered in the same order as that of the keys in the read statement.
    5. Performance Tuning Using Binary Search
    A very simple but useful method of fine tuning performance of a read statement is using ‘Binary search‘ addition to it. If the internal table consists of more than 20 entries then the traditional linear search method proves to be more time intensive.
    Code H
    select * from mara into corresponding fields of table intab.
    sort intab.     
    read table intab with key matnr = '11530' binary search.
    Code I
    select * from mara into corresponding fields of table intab.
    sort intab.     
    read table intab with key matnr = '11530'.
    Thanks
    Seshu

  • Selecting data from data base tables into itab with multiple select queries

    Hi all,
           i am dealing with a situation where in there is 3 DB tables in all say
              1. ITAB - ZTBL_MAIN.
              2. DB table - ZTBL_SUB1.
              3. DB table - ZTBL_SUB2.
    ZTBL_MAIN contains feilds from both tables 2 and 3 so to choose some records from ZTBL_SUB1 into the ITAB a select query has been written as below.
    SELECT * FROM ZTBL_SUB1 INTO CORRESPONDING FIELDS OF TABLE ZTBL_MAIN
        WHERE <condition>.
    now i also want some feilds in main for each record to be filled from the other DB table for which if i use another select query after the above one in my report prog. say..
    SELECT * FROM ZTBL_SUB2 INTO CORRESPONDING FIELDS OF TABLE ZTBL_MAIN
        WHERE <condition>.
    then all the previous records are going to be erased..Kindly let me know a way in which i can implement the above implementation.
    Thanks&Rgds,
    Naveen M

    hi,
        Ur suggestions solved the syntax error. However my intial problem was not solved i.e., using the statement
    SELECT * FROM ztbl_sub2 APPENDING CORRESPONDING FIELDS OF TABLE ztbl_main FOR ALL ENTRIES IN ztbl_main
         WHERE <field1> =  ztbl_main-<field1>.
    creates or appends some more entries into the itab thats all.. But that is not what i am trying to implement.
    As explained before the first select query would have filled certain fields for all records in ztbl_main from ztbl_sub1.
    Now in the second select query i want to fill other fields of ztbl_main for all the records already fetched using first select query by using my where condition.
    The above select query that was suggested only creates new records in the table ztab_main but does not fill the fields of the records as i expected.
    how do i fullfil my requirment..
    kindly help.
    thnks & Rgds,
    Naveen M

  • UNIQUE Problem in pulling DATA from DATA base table to internal table

    Dear Experts,
    I am new to ABAP. I have a very basic question but looks a quite puzzling one to me. Hemnce I am posting it here.
    I am facing an unique problem in pulling data from database table and populating that data into internal table for further use.
    The data in the database table "Zlt_mita" with fields M1 (Employee Name, Type: Char20) and M2 (Employee Code, Type Char7) are:
    Plz refer the screenshot in the attached file:
    My Code:
    1) When I try to pull data from Dbase table by taking M2 as parameter.
         This code is succcessful and I am able to populate data in internal table it_dat.
    TYPES: Begin Of ty_DAT,
                     M1   TYPE  Zlt_mita-M1,
                     M2   TYPE  ZLT_mita-M2,
                 END  OF  ty_DAT.
    DATA: it_dat        TYPE STANDARD TABLE OF ty_dat with header line,
              wa_dat      TYPE   ty_dat.
    PARAMETERS: p_mitar    TYPE  Zlt_Mita-M2.
    SELECT           M1
                           M2
            FROM     ZLt_mita
            INTO       TABLE it_dat
            Where     M2 = p_mitar.
    Loop at it_dat into wa_dat.
       WRITE:/2 wa_dat-M1,
                  10 wa_dat-M2.
    ENDLOOP.
    2) When I try to pull data from Dbase table by taking M1 as parameter.
         This code is NOT succcessful and I am NOT able to populate data in internal table it_dat.
    TYPES: Begin Of ty_DAT,
                     M1   TYPE  Zlt_mita-M1,
                     M2   TYPE  ZLT_mita-M2,
                 END  OF  ty_DAT.
    DATA: it_dat        TYPE STANDARD TABLE OF ty_dat with header line,
               wa_dat      TYPE   ty_dat.
    PARAMETERS:    P_Mita    TYPE   ZLT_Mita-M1.
    SELECT           M1
                           M2
            FROM     ZLt_mita
            INTO       TABLE it_dat
            Where     M1 = P_Mita.
    Loop at it_dat into wa_dat.
       WRITE:/2 wa_dat-M1,
                 10 wa_dat-M2.
    ENDLOOP.
    Why is this happening when both M1 and M2 are Type Character fields.
    Looking forward for your replies.
    Regards
    Chandan Kumar

    Hi Chandan ,
    Database fetch is case sensitive ,So u need to give exact format in where condition.
    Make your parameter and database in same case so that you need not worry about case sensitivity .
    Check the lowecase check box in the domain .
    Then declare your parameter 
    PARAMETERS:
    P_Mita
    TYPE   ZLT_Mita-M1 LOWER CASE . 
    You can do the vice versa also by unchecking lowercase and giving Upper case instead of lower in parameter declartion .
    Regards ,
    Juneed Manha

  • Problem while selecting the data

    Hi,
    In my below code
    FORM select_data.
      DATA : i_viqmel TYPE STANDARD TABLE OF t_viqmel WITH HEADER LINE.
      DATA : i_viqmel1 TYPE t_viqmel OCCURS 0 WITH HEADER LINE.
      DATA : i_viqmel_n TYPE t_viqmel OCCURS 0 WITH HEADER LINE.
    **/ Notification Details
      SELECT qmnum qmdat ausvn erdat aufnr ausbs msaus qmart
      equnr kunum qmtxt strmn
      FROM viqmel INTO TABLE
      i_viqmel
      WHERE
      qmnum IN s_qmnum AND
      qmdat IN s_qmdat AND
      qmart IN s_qmart.
    select QMNUM MANUM MNGRP MNCOD MATXT PSTER FROM QMMA INTO TABLE GI_QMMA for all entries in i_viqmel
                            WHERE QMNUM = i_viqmel-QMNUM
                            AND   PSTER NE SPACE
                            AND   MNGRP EQ 'VISIT'
                            AND   MNCOD EQ 'ENVI'
                            AND   MATXT NE SPACE.
       IF SY-SUBRC EQ 0.
       SORT GI_QMMA ASCENDING BY PSTER.
      select CODEGRUPPE CODE KURZTEXT from qpct into table gi_qpct for all entries in GI_qmma where
                                                                       SPRACHE eq 'E'
                                                                     CODEGRUPPE eq 'VISIT'
                                                                    and code eq gi_qmma-mncod.
        endif.
    as per above code data is not coming in  GI_QMMA ,
    WHAT CAN BE THE PROBLEM.
    regards,
    zafar

    Hi Zafar,
    It could be internal table i_viqmel does not contain any entry, you can place SY-SUBRC after VIQMEL select statement as per below:
    FORM select_data.
    DATA : i_viqmel TYPE STANDARD TABLE OF t_viqmel WITH HEADER LINE.
    DATA : i_viqmel1 TYPE t_viqmel OCCURS 0 WITH HEADER LINE.
    DATA : i_viqmel_n TYPE t_viqmel OCCURS 0 WITH HEADER LINE.
    **/ Notification Details
    SELECT qmnum qmdat ausvn erdat aufnr ausbs msaus qmart
    equnr kunum qmtxt strmn
    FROM viqmel INTO TABLE
    i_viqmel
    WHERE
    qmnum IN s_qmnum AND
    qmdat IN s_qmdat AND
    qmart IN s_qmart.
    *--> Add sy-subrc
    if sy-subrc = 0.
    select QMNUM MANUM MNGRP MNCOD MATXT PSTER FROM QMMA INTO TABLE GI_QMMA for all entries in i_viqmel
    WHERE QMNUM = i_viqmel-QMNUM
    AND PSTER NE SPACE
    AND MNGRP EQ 'VISIT'
    AND MNCOD EQ 'ENVI'
    AND MATXT NE SPACE.
    IF SY-SUBRC EQ 0.
    SORT GI_QMMA ASCENDING BY PSTER.
    select CODEGRUPPE CODE KURZTEXT from qpct into table gi_qpct for all entries in GI_qmma where
    * SPRACHE eq 'E'
    CODEGRUPPE eq 'VISIT'
    and code eq gi_qmma-mncod.
    endif.
    endif.
    Hope this helps.
    Regards,
    Patrick

  • Message mapping problem: BAPI with range table parameters

    A kind hello to all,
    I try to call the BAPI_ALM_ORDERHEAD_GET_LIST in a 4.70 system via RFC connector. The configuration already works with another BAPI. With this here I get message mapping exception:
    Trace level="1" type="T">com.sap.aii.utilxi.misc.api.BaseRuntimeException: RuntimeException in Message-Mapping transformation: Zielelement /ns1:BAPI_ALM_ORDERHEAD_GET_LIST kann nicht angelegt werden. Prüfen Sie, ob die XML-Instanz für die Ausgangs-XSD und die Zielfeldzuordnung die Anforderungen der Ziel-XSD erfüllt. at com.sap.aii.mappingtool.tf3.AMappingProgram.start
    (How can I switch the trace language to English easily? I try to translate:
    "BAPI_ALM_ORDERHEAD_GET_LIST cannot be created. Check if the XML instance meets the requirements for the output XSD and the destination field mapping meets the requirements of the destination XSD.")
    But the mapping test tool in the Integration Builder Design does not report any warning or error.
    My guess is that the problem lies in the parameter structure of the BAPI_ALM_ORDERHEAD_GET_LIST: I have to fill the IT_RANGES selection range table, so it looks as if I need several instances of the item in the corresponding XML. Can I use "Duplicate tree" in the mapping editor? Here I got another exception?
    Many thanks for any help!
    Regards,
    Carsten

    Hi Udo,
    you gave the final hint, indeed I used a XML file that was not evidently not compliant to the message type I created (even though it had been validated by Altova XMLspy).
    From now onwards I only use the "Create instance" function of the test tool to create the XML body of my test messages...
    Thanks a lot,
    and best regards,
    Carsten

  • Problems managing select * from views

    Here a nice sample..
    I have a registered schema and a database with 8000 records.
    Create view first_search_view as
    select extractvalue(XML_CONTENT,'/word/@class') class,
    extractValue(xml_content, '/word/*/lemma/text()') lemma,
    extractValue(xml_content, '/word/*/adverb/form/w/text()') adverb_form,
    extractValue(xml_content, '/word/*/derivation/prebasuf/w/text()') derprebasuf,
    extractValue(xml_content, '/word/*/sense/comword/prebasuf/w/text()') comprebasuf,
    extract(xml_content, '/word/*/sense/collocation/pattern/w/text()').getstringval() colpattern,
    extract(xml_content, '/word/*/idiomExpr/pattern/w/text()') idiompattern,
    extract(xml_content, '/word/*/sense/model/realisation/modpattern/w/text()').getstringval() modpattern,
    extract(xml_content, '/word/*/sense/*/definition/w/text()').getstringval() definition,
    extract(xml_content, '/word/*/sense/description/characteristic/quality/w/text()').getstringval() descquality
    from xml_words
    all ok and infact
    SQL> desc first_search_view;
    Name Null? Type
    CLASS VARCHAR2(4000 CHAR)
    LEMMA VARCHAR2(4000)
    ADVERB_FORM VARCHAR2(4000)
    DERPREBASUF VARCHAR2(4000)
    COMPREBASUF VARCHAR2(4000)
    COLPATTERN VARCHAR2(4000)
    IDIOMPATTERN SYS.XMLTYPE
    MODPATTERN VARCHAR2(4000)
    DEFINITION VARCHAR2(4000)
    DESCQUALITY VARCHAR2(4000)
    But then, when I try to run just:
    Create table first_search as
    select *
    from first_search_view
    The answer is
    ERROR at line 3:
    ORA-19010: Cannot insert XML fragments
    I remove the XMLtype field... I think that it is probably the problem.
    Create table first_search as
    select lemma, adverb_form, DERPREBASUF, COMPREBASUF, COLPATTERN, MODPATTERN, DEFINITION, DESCQUALITY
    from first_search_view
    from first_search_view
    ERROR at line 3:
    ORA-19025: EXTRACTVALUE returns value of only one node
    but if I run the select....
    select lemma, adverb_form, DERPREBASUF, COMPREBASUF, COLPATTERN, MODPATTERN, DEFINITION, DESCQUALITY
    from first_search_view
    It is executed!!!
    There is something wrong.... Really I cannot understand the reason of this.
    Anyone could calrify what could be wrong?
    Stefano

    Stefano, since you did not post the latest xml instance, i have taken the one posted in your previous thread .
    So becuase of which i have to change the XPATH for "idiompattern" column to get some data.
    I too had the same problem as you have posted. But when i added a GetStringVal() method to the expression, it converts it to varchar data type and you are able to create the table. Also you can do GetClobVal if the string has chance to exceed 4000 characters. Later you can convert this to XMLTYPE when ever required.
    declare
      l_xml_data CLOB :=
      '<word class="adjective" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://words.xsd">
      <adjective id="de.a.warm.1">
      <lemma>warm</lemma>
      <morphology>
      <rawData>warm - wärmer - wärmst-</rawData>
      </morphology>
      <sense>
      <adjectiveSubsense>
      <definition>
      <rawData>Warm bedeutet, dass etwas eine relativ hohe Temperatur hat, aber nicht heiß ist.</rawData>
      </definition>
      <translation>
      <rawData>caldo</rawData>
      </translation>
      <example>
      <rawData>Angenehm warme Sommertemperaturen zwischen 24 und 26 Grad werden in der kommenden Woche erwartet. Es ist nicht übermäßig heiß, aber trotzdem warmes Badewetter.</rawData>
      </example>
      </adjectiveSubsense>
      <adjectiveSubsense>
      <definition>
      <rawData>Warm verwendet man für Essen, das gekocht und noch warm (1) ist.</rawData>
      </definition>
      <translation>
      <rawData>caldo</rawData>
      </translation>
      <example>
      <rawData>Das Essen steht auf dem Tisch! Würdest du bitte zu Tisch kommen, solange das Essen noch warm ist!~Ich komm ja gleich, ich muss nur noch schnell das Kapitel fertig lesen!</rawData>
      </example>
      </adjectiveSubsense>
      <insertElement target="field">de.a.warm.1.f1</insertElement>
      <collocation>
      <pattern>
      <rawData>jemdm. ist warm</rawData>
      </pattern>
      <translation>
      <rawData>qualcuno ha caldo</rawData>
      </translation>
      <example>
      <rawData>#Mir #ist #warm. Ich werde meinen Pullover ausziehen!</rawData>
      </example>
      </collocation>
      <collocation>
      <pattern>
      <rawData>etw. ist angenehm warm</rawData>
      </pattern>
      <translation>
      <rawData>qualcosa è bello caldo</rawData>
      </translation>
      <example>
      <rawData>Der Tee ist nicht mehr zu heiß. #Er #ist #angenehm #warm und gerade richtig zum Trinken.</rawData>
      </example>
      </collocation>
      <collocation>
      <pattern>
      <rawData>es ist warm</rawData>
      </pattern>
      <translation>
      <rawData>fa caldo</rawData>
      </translation>
      <example>
      <rawData>Kaum scheint nach dem Sommergewitter wieder die Sonne, #ist #es sofort wieder #warm.</rawData>
      </example>
      </collocation>
      <collocation>
      <pattern>
      <rawData>ein warmes Bad nehmen</rawData>
      </pattern>
      <translation>
      <rawData>farsi un bagno caldo</rawData>
      </translation>
      <example>
      <rawData>Ich bin völlig durchnässt und erfroren nach Hause gekommen. Dann #habe ich #ein #warmes #Bad #genommen, um mich wieder aufzuwärmen.</rawData>
      </example>
      </collocation>
      <collocation>
      <pattern>
      <rawData>warm essen</rawData>
      </pattern>
      <translation>
      <rawData>fare un pasto caldo</rawData>
      </translation>
      <example>
      <rawData>In diesem Restaurant ist die Küche bis 23 Uhr geöffnet und man kann #warm #essen.</rawData>
      </example>
      </collocation>
      <collocation>
      <pattern>
      <rawData>etw. warm stellen</rawData>
      </pattern>
      <translation>
      <rawData>mettere in caldo qualcosa</rawData>
      </translation>
      <example>
      <rawData>Herr Tieser hat sich zum Abendessen verspätet und seine Familie hat mit dem Essen nicht auf ihn gewartet. Sie #haben ihm #das #Risotto jedoch #warm #gestellt.</rawData>
      </example>
      </collocation>
      <collocation>
      <pattern>
      <rawData>warmes Wasser</rawData>
      </pattern>
      <translation>
      <rawData>acqua calda</rawData>
      </translation>
      <example>
      <rawData>Die Hausverwaltung weist die Parteien darauf hin, dass wegen Reparaturarbeiten morgen zwischen 9 und 12 Uhr #das #warme #Wasser abgestellt wird.</rawData>
      </example>
      </collocation>
      <collocation>
      <pattern>
      <rawData>warme Tage, warme Luft, ein warmes Klima, ein warmer Winter, ein warmer Sommer ...</rawData>
      </pattern>
      <translation>
      <rawData>giornate calde, aria calda, un clima caldo, un inverno caldo, un''esate calda ...</rawData>
      </translation>
      <example>
      <rawData>Ich habe seit drei Tagen Kopfschmerzen. Vermutlich liegt das am Föhn und #dieser #warmen #Luft, die ich nicht vertrage.</rawData>
      </example>
      </collocation>
      <collocation>
      <pattern>
      <rawData>eine warme Mahlzeit, enie warme Speise, ein warmes Essen ...</rawData>
      </pattern>
      <translation>
      <rawData>un pasto caldo, un piatto caldo, un pasto caldo ...</rawData>
      </translation>
      <example>
      <rawData>Nachdem ich in den letzten Tagen immer nur Salat gegessen habe, freue ich mich heute wieder darauf, #eine #warme #Speise zu genießen.</rawData>
      </example>
      </collocation>
      <collocation>
      <pattern>
      <rawData>warme und kalte Küche</rawData>
      </pattern>
      <translation>
      <rawData>piatti caldi e freddi</rawData>
      </translation>
      <example>
      <rawData>Die Cafeteria der Uni bietet durchgehend #warme #Küche an.</rawData>
      </example>
      </collocation>
      </sense>
      <sense>
      <adjectiveSubsense>
      <definition>
      <rawData>Warm bedeutet, dass etwas so ist, dass es vor Kälte schützt.</rawData>
      </definition>
      <translation>
      <rawData>caldo</rawData>
      </translation>
      <example>
      <rawData>Die Schuhverkäuferin preist die neue Ware an: Die gefütterten Winterschuhe sind sehr warm. Sie werden nie wieder kalte Zehen bekommen!</rawData>
      </example>
      </adjectiveSubsense>
      <insertElement target="field">de.a.warm.1.f2</insertElement>
      <collocation>
      <pattern>
      <rawData>etw. hält warm</rawData>
      </pattern>
      <translation>
      <rawData>qualcosa tiene caldo</rawData>
      </translation>
      <example>
      <rawData>Die selbst gestrickten Socken sind zwar kratzig, aber #sie #halten ausgesprochen #warm!</rawData>
      </example>
      </collocation>
      <collocation>
      <pattern>
      <rawData>sich warm anziehen</rawData>
      </pattern>
      <translation>
      <rawData>mettersi indumenti caldi~coprirsi bene</rawData>
      </translation>
      <example>
      <rawData>#Zieh #dich #warm an, wenn du bei dem Sturm hinausgehst, sonst verkühlst du dich noch!</rawData>
      </example>
      </collocation>
      <collocation>
      <pattern>
      <rawData>sich warm zudecken</rawData>
      </pattern>
      <translation>
      <rawData>coprirsi bene</rawData>
      </translation>
      <example>
      <rawData>Nach der Gutenachtgeschichte macht Vati das Licht aus, #deckt #mich #warm #zu und wünscht mir süße Träume.</rawData>
      </example>
      </collocation>
      <collocation>
      <pattern>
      <rawData>warm angezogen sein</rawData>
      </pattern>
      <translation>
      <rawData>indossare vestiti caldi, essere coperto bene</rawData>
      </translation>
      <example>
      <rawData>Bei diesen arktischen Temperaturen ist es wichtig, dass man #warm #angezogen #ist, wenn man das Haus verlässt.</rawData>
      </example>
      </collocation>
      <collocation>
      <pattern>
      <rawData>warm eingepackt sein</rawData>
      </pattern>
      <translation>
      <rawData>essere imbacuccato, essere coperto bene</rawData>
      </translation>
      <example>
      <rawData>Die Kinder spielen auf dem Kinderspielplatz. Sie #sind wegen des kalten Wetters sehr #warm #eingepackt und haben Mütze, Schal und Handschuhe an.</rawData>
      </example>
      </collocation>
      <collocation>
      <pattern>
      <rawData>warme Kleidung</rawData>
      </pattern>
      <translation>
      <rawData>indumenti caldi</rawData>
      </translation>
      <example>
      <rawData>Ab Jänner ist die #warme Winterkleidung bereits im Ausverkauf und die Frühlingsmode erscheint in den Schaufenstern.</rawData>
      </example>
      </collocation>
      </sense>
      <sense>
      <adjectiveSubsense>
      <definition>
      <rawData>Warm bedeutet freundlich und dass es von Herzen kommt.</rawData>
      </definition>
      <translation>
      <rawData>caldo~caloroso</rawData>
      </translation>
      <example>
      <rawData>Frau Hanse ist eine warme Frau. Sie interessiert sich immer ehrlich für das Wohlbefinden ihrer Nachbarn und ihr Mitgefühl kommt von Herzen.</rawData>
      </example>
      </adjectiveSubsense>
      <insertElement target="field">de.a.warm.1.f3</insertElement>
      <collocation>
      <pattern>
      <rawData>ein warmes Herz</rawData>
      </pattern>
      <translation>
      <rawData>un cuore caldo</rawData>
      </translation>
      <example>
      <rawData>Auf Anne kann man immer zählen. Sie hat #ein #warmes #Herz, hört einem immer zu und ist bei jedem Spass dabei. Sie ist eine gute Freundin.</rawData>
      </example>
      </collocation>
      <collocation>
      <pattern>
      <rawData>warme Worte</rawData>
      </pattern>
      <translation>
      <rawData>parole calorose</rawData>
      </translation>
      <example>
      <rawData>#Die #warmen, verständnisvollen #Worte taten meiner Seele gut und munterten mich wieder auf.</rawData>
      </example>
      </collocation>
      <collocation>
      <pattern>
      <rawData>ein warmer Händedruck</rawData>
      </pattern>
      <translation>
      <rawData>una calorosa stretta di mano</rawData>
      </translation>
      <example>
      <rawData>#Mit #einem #warmen #Händedruck verabschiedeten sich die beiden Freunde herzlich voneinander.</rawData>
      </example>
      </collocation>
      </sense>
      <sense>
      <adjectiveSubsense>
      <definition>
      <rawData>Warm verwendet man für Farben und Licht, die kräftig sind und warm (1a) wirken und die eine angenehme Antmosphäre verbreiten.</rawData>
      </definition>
      <translation>
      <rawData>caldo</rawData>
      </translation>
      <example>
      <rawData>Die Farbpalette wird in kalte und warme Farben eingeteilt. Rot und orange sind zum Beispiel warme Farben.</rawData>
      </example>
      </adjectiveSubsense>
      <insertElement target="field">de.a.warm.1.f4</insertElement>
      <collocation>
      <pattern>
      <rawData>etw. spendet warmes Licht</rawData>
      </pattern>
      <translation>
      <rawData>qalcosa emette una luce calda</rawData>
      </translation>
      <example>
      <rawData>#Die #flackernde #Kerze #spendet #warmes #Licht und taucht den Raum in eine behagliche Atmosphäre.</rawData>
      </example>
      </collocation>
      <collocation>
      <pattern>
      <rawData>warme Farben</rawData>
      </pattern>
      <translation>
      <rawData>colori caldi</rawData>
      </translation>
      <example>
      <rawData>Der Innenarchitekt empfiehlt dem jungen Ehepaar, #warme #Farben für das Kinderzimmer zu wählen, da sie ein Bedürfnis nach Harmonie wecken.</rawData>
      </example>
      </collocation>
      <collocation>
      <pattern>
      <rawData>ein warmes Braun, ein warmes Rot ...</rawData>
      </pattern>
      <translation>
      <rawData>un marrone caldo, un rosso caldo ...</rawData>
      </translation>
      <example>
      <rawData>Der Sonnenuntergang war sehr romantisch. #Das #warme #Rot der Sonne hat sich im Meer gespiegelt. Schließlich ist sie wie ein großer Ball am Horizont verschwunden.</rawData>
      </example>
      </collocation>
      </sense>
      <sense>
      <adjectiveSubsense>
      <definition>
      <rawData>Warm bedeutet, dass die Kosten für die Heizung bei der Miete schon dabei ist.</rawData>
      </definition>
      <translation>
      <rawData>riscaldamento incluso</rawData>
      </translation>
      <example>
      <rawData>Roland erkundigt sich beim Vermieter über die Mietkosten. Dieser erklärt ihm, dass die Wohnung 800 Euro im Monat warm kostet.</rawData>
      </example>
      </adjectiveSubsense>
      <insertElement target="field">de.a.warm.1.f5</insertElement>
      <collocation>
      <pattern>
      <rawData>das Zimmer, die Wohnung ... kostet x Euro warm</rawData>
      </pattern>
      <translation>
      <rawData>la camera, l''appartamento ... costa x euro riscaldamento incluso</rawData>
      </translation>
      <example>
      <rawData>Ich habe ein neues Zimmer gemietet. Die Kosten für die Heizung sind schon inklusive. Es kostet also 300 Euro warm.</rawData>
      </example>
      </collocation>
      </sense>
      <derivation>
      <prebasuf>
      <rawData>auf_wärm_en</rawData>
      </prebasuf>
      <translation>
      <rawData>(ri)scaldare</rawData>
      </translation>
      </derivation>
      <derivation>
      <prebasuf>
      <rawData>die Er_wärm_ung</rawData>
      </prebasuf>
      <translation>
      <rawData>il riscaldamento</rawData>
      </translation>
      </derivation>
      <derivation>
      <prebasuf>
      <rawData>er_wärm_en</rawData>
      </prebasuf>
      <translation>
      <rawData>(ri)scaldare, appassionare</rawData>
      </translation>
      </derivation>
      <derivation>
      <prebasuf>
      <rawData>vor_wärm_en</rawData>
      </prebasuf>
      <translation>
      <rawData>preriscaldare</rawData>
      </translation>
      </derivation>
      <derivation>
      <prebasuf>
      <rawData>die Wärme</rawData>
      </prebasuf>
      <translation>
      <rawData>il caldo, il calore</rawData>
      </translation>
      </derivation>
      <derivation>
      <prebasuf>
      <rawData>wärmen</rawData>
      </prebasuf>
      <translation>
      <rawData>(ri)scaldare</rawData>
      </translation>
      </derivation>
      <idiomExpr>
      <pattern>
      <rawData>sich warm machen</rawData>
      </pattern>
      <explanationDE>
      <rawData>vor dem Sport oder vor einem Wettbewerb Gymnastik machen, um die Muskeln aufzulockern</rawData>
      </explanationDE>
      <explanationIT>
      <rawData>fare ginnastica per scigliere i muscoli prima di una gara sportiva</rawData>
      </explanationIT>
      <translation>
      <rawData>riscaldarsi, fare riscaldamento</rawData>
      </translation>
      <example>
      <rawData>In einer halben Stunde beginnt der Wettkampf. Davor muss ich #mich noch #warm #machen.</rawData>
      </example>
      </idiomExpr>
      <idiomExpr>
      <pattern>
      <rawData>sich warm reden</rawData>
      </pattern>
      <explanationDE>
      <rawData>beim Reden seine Befangenheit, Zurückhaltung verlieren</rawData>
      </explanationDE>
      <explanationIT>
      <rawData>vincere la timidezza e la riservatezza e iniziare a parlare con scorrevolezza</rawData>
      </explanationIT>
      <translation>
      <rawData>sciogliersi, sciogliere la lingua</rawData>
      </translation>
      <example>
      <rawData>Mein Vortrag war sehr gut. Nach nur fünf Minuten #hatte ich #mich #warm #geredet und dann habe ich über eine halbe Stunde fließend geredet.</rawData>
      </example>
      </idiomExpr>
      <idiomExpr>
      <pattern>
      <rawData>mit jemdm./etw. (nicht) warm werden</rawData>
      </pattern>
      <comment>
      <rawData>umgangssprachlich</rawData>
      </comment>
      <explanationDE>
      <rawData>mit jemdm./etw. (nicht) vertraut werden und (nicht) sympathisch finden</rawData>
      </explanationDE>
      <explanationIT>
      <rawData>(non) acquisire familiarità con qualcuno/qualcosa</rawData>
      </explanationIT>
      <translation>
      <rawData>(non) entrare in confidenza con qualcuno/(non) prendere confidenza con qualcosa</rawData>
      </translation>
      <example>
      <rawData>Zu Claudia habe ich noch immer kein herzliches Verhältnis gefunden. Ich #werde einfach #nicht #warm #mit #ihr.</rawData>
      </example>
      </idiomExpr>
      </adjective>
      </word>';
    begin
      insert into xml_table values(1, xmltype(l_xml_data));
    end;
    Create or replace view first_search_view as
    select extractvalue(xml_data,'/word/@class') class,
      extractValue(xml_data, '/word/*/lemma/text()') lemma,
      extractValue(xml_data, '/word/*/adverb/form/w/text()') adverb_form,
      extractValue(xml_data, '/word/*/derivation/prebasuf/w/text()') derprebasuf,
      extractValue(xml_data, '/word/*/sense/comword/prebasuf/w/text()') comprebasuf,
      extract(xml_data, '/word/*/sense/collocation/pattern/w/text()').getstringval() colpattern,
    extract(xml_data, '/word/*/idiomExpr/pattern').GetClobVal() idiompattern,
      extract(xml_data, '/word/*/sense/model/realisation/modpattern/w/text()').getstringval() modpattern,
      extract(xml_data, '/word/*/sense/*/definition/w/text()').getstringval() definition,
      extract(xml_data, '/word/*/sense/description/characteristic/quality/w/text()').getstringval() descquality
    from xml_table
    create table test_xml_table
    as
    select * from first_Search_view
    SQL> desc first_search_View
    Name                                                  Null?    Type
    CLASS                                                          VARCHAR2(4000)
    LEMMA                                                          VARCHAR2(4000)
    ADVERB_FORM                                                    VARCHAR2(4000)
    DERPREBASUF                                                    VARCHAR2(4000)
    COMPREBASUF                                                    VARCHAR2(4000)
    COLPATTERN                                                     VARCHAR2(4000)
    IDIOMPATTERN                                                   CLOB
    MODPATTERN                                                     VARCHAR2(4000)
    DEFINITION                                                     VARCHAR2(4000)
    DESCQUALITY                                                    VARCHAR2(4000)
    SQL> desc test_xml_table
    Name                                                  Null?    Type
    CLASS                                                          VARCHAR2(4000)
    LEMMA                                                          VARCHAR2(4000)
    ADVERB_FORM                                                    VARCHAR2(4000)
    DERPREBASUF                                                    VARCHAR2(4000)
    COMPREBASUF                                                    VARCHAR2(4000)
    COLPATTERN                                                     VARCHAR2(4000)
    IDIOMPATTERN                                                   CLOB
    MODPATTERN                                                     VARCHAR2(4000)
    DEFINITION                                                     VARCHAR2(4000)
    DESCQUALITY                                                    VARCHAR2(4000)
    SQL> set linesize 200
    SQL> column class format a20
    SQL> column idiompattern format a70
    SQL>
    SQL> select class,  idiompattern from test_xml_table
      2  /
    CLASS                IDIOMPATTERN
    adjective            <pattern>
                           <rawData>sich warm machen</rawData>
                         </pattern>
                         <pattern>
                           <rawData>sich warm reden</rawData>
                         </pattern>
                         <pattern>
                           <rawData>mit jemdm./etw. (nicht) warm werden</rawData>
                         </pattern>
    SQL>

  • Problem when saving the Data basis for the Consolidation

    Hi Gurus,
    I am having 2 problems.
    1) When i try to execute the UCWB transaction . It gives an information message
    " Data basis DB needs to be generated (after upgrade) . I am following the procedure given in that "<b>Run maintenance of data basis DB in display mode. Go to the "Data Streams" tab page. Choose the "Generate" button.
    If changes to Customizing settings are permitted in the current system or client, as an alternative you can maintain the data basis in change mode and save. In the case of systems supplied with Customizing transports, as an alternative you can generate the data basis in the source system and then transport it again.</b>
    Even after doing that procedure when i again execute the UCWB. it give me the same message.
    2) when is try to save data basis for the consolidation . it give me this error message.
    "Field 0HC_ATCCODE: This compound differs from that of basic field 0HC_MEDCTG"
    I have checked the referenced Info objects . Checked the compound info objects. Activated them again. They dont differ in any way. but still i get this problem.
    Please help me out. If someone has come across this error and solved. Please help me.
    Regards
    satish

    Hi satish,
    I constantly receive the message like your #2 saying that it was a critical change in X infoobject. It's just a warning and I found several OSS notes saying that this message is not correct. Just ignore it.
    In case of your Q #1. The data basis might be generated in two ways: by pressing Save icon and by clicking the Generate icon (the system refers just to this very option) and then - Save. The last way is used in Productive environment. Try it.
    Hope this helps.

  • Delete From Data Base

    Dear Experts
    How we can  delete the Planned order & also  Production order from the DATA base sothat they will not display again.
    i have already setup the deletion Flag on all production order And also planned order were also deleted from the Delete button.
    so i need to delete it from the Data Base sothat it will not appear in the data.
    Rgds
    Pankaj Agarwal

    Dear,
    What is error you are getting?
    See also SAP notes 540834
    CO78 is a one stop transaction for production order setting deletion flag, deletion indicator, archiving and finally deleting. Please follow these step,
    Generally we schedule the following programs in background in the sequence below,
    1. PPARCHP1 for Setting Deletion Flag
    2. PPARCHP1 for Setting Deletion Indicator (Once set cannot be revoked- so care should be taken in selection of orders)
    3. PPARCHA1 for archiving the production order with Deletion Indicator active. Basis should set the database/storage space for archiving/storing the records.
    4. PPARCHD1 for Deleting the records from SAP database.
    Regards,
    R.Brahmankar

  • Timezone problem in XML from data template

    The xml returned from one of my data templates seems to be randomly applying timezones of +00:00 or +01:00 to the dates.
    This is causing a problem in the PDF output from the report where the timezone is processed and some of the dates are showing as the day before that held in the database. The sql in the data template is just returning the raw column, no extra processing there. What's going on, is this a known bug?
    Appreciate any help you can provide.
    Cheers,
    Dave
    XML extract:
    - <G_TRX>
    <EXPENSE_TEMPLATE>N/AMiscellaneous Expenses</EXPENSE_TEMPLATE>
    <TEMPLATE_DATE_CREATED>2007-09-13T11:51:46.000+01:00</TEMPLATE_DATE_CREATED>
    <TEMPLATE_DATE_INACTIVATED>2008-06-05T00:00:00.000+01:00</TEMPLATE_DATE_INACTIVATED>
    <EXPENSE_ITEM>Evening Dress Hire</EXPENSE_ITEM>
    <ITEM_DATE_CREATED>2007-09-13T12:24:54.000+01:00</ITEM_DATE_CREATED>
    <ITEM_DATE_INACTIVATED />
    <TAX_CATEGORY>PAY</TAX_CATEGORY>
    <ASSIGNMENT_DATE>2007-09-28T00:00:00.000+01:00</ASSIGNMENT_DATE>
    <TAXCAT_DATE_INACTIVATED>2007-11-07T00:00:00.000+00:00</TAXCAT_DATE_INACTIVATED>
    </G_TRX>
    - <G_TRX>
    <EXPENSE_TEMPLATE>N/AMiscellaneous Expenses</EXPENSE_TEMPLATE>
    <TEMPLATE_DATE_CREATED>2007-09-13T11:51:46.000+01:00</TEMPLATE_DATE_CREATED>
    <TEMPLATE_DATE_INACTIVATED>2008-06-05T00:00:00.000+01:00</TEMPLATE_DATE_INACTIVATED>
    <EXPENSE_ITEM>Evening Dress Hire</EXPENSE_ITEM>
    <ITEM_DATE_CREATED>2007-09-13T12:24:54.000+01:00</ITEM_DATE_CREATED>
    <ITEM_DATE_INACTIVATED />
    <TAX_CATEGORY>P11D</TAX_CATEGORY>
    <ASSIGNMENT_DATE>2007-11-08T00:00:00.000+00:00</ASSIGNMENT_DATE>
    <TAXCAT_DATE_INACTIVATED>4712-12-31T00:00:00.000+00:00</TAXCAT_DATE_INACTIVATED>
    </G_TRX>
    - <G_TRX>
    <EXPENSE_TEMPLATE>N/AMiscellaneous Expenses</EXPENSE_TEMPLATE>
    <TEMPLATE_DATE_CREATED>2007-09-13T11:51:46.000+01:00</TEMPLATE_DATE_CREATED>
    <TEMPLATE_DATE_INACTIVATED>2008-06-05T00:00:00.000+01:00</TEMPLATE_DATE_INACTIVATED>
    <EXPENSE_ITEM>Evening Dress Purchase</EXPENSE_ITEM>
    <ITEM_DATE_CREATED>2007-09-13T12:24:54.000+01:00</ITEM_DATE_CREATED>
    <ITEM_DATE_INACTIVATED />
    <TAX_CATEGORY>PAY</TAX_CATEGORY>
    <ASSIGNMENT_DATE>2007-01-01T00:00:00.000+00:00</ASSIGNMENT_DATE>
    <TAXCAT_DATE_INACTIVATED>4712-12-31T00:00:00.000+00:00</TAXCAT_DATE_INACTIVATED>
    </G_TRX>
    SQL from data template:
    - <sqlStatement name="Q_TRX">
    - <![CDATA[
    select aer.REPORT_TYPE "EXPENSE_TEMPLATE"
    ,aer.CREATION_DATE "TEMPLATE_DATE_CREATED"
    ,aer.INACTIVE_DATE "TEMPLATE_DATE_INACTIVATED" 
    ,aerp.PROMPT "EXPENSE_ITEM"
    ,aerp.CREATION_DATE "ITEM_DATE_CREATED"
    ,aerp.END_DATE "ITEM_DATE_INACTIVATED"
    ,xaetl.TAX_CATEGORY "TAX_CATEGORY"
    ,xaetl.EFFECTIVE_START_DATE "ASSIGNMENT_DATE"
    ,xaetl.EFFECTIVE_END_DATE "TAXCAT_DATE_INACTIVATED"
    from ap_expense_reports aer
    ,ap_expense_report_params aerp
    ,xx_ap_expense_tax_lines_f xaetl
    where aer.EXPENSE_REPORT_ID = aerp.EXPENSE_REPORT_ID
    and aerp.PARAMETER_ID = xaetl.expense_report_parameter_id
    AND &p_exp_item_lines_where
    AND &p_tax_category_where
    AND &p_exp_template_where
    ORDER BY aer.REPORT_TYPE
    ,aerp.PROMPT
    ,xaetl.EFFECTIVE_START_DATE
      ]]>
    </sqlStatement>

    Tim
    Is is a sample record from the sql query. Sorry it's not the same as the XML above but the data has changed on the instance so some of the fields weren't populated on those records.
    EXPENSE_TEMPLATE,TEMPLATE_DATE_CREATED,TEMPLATE_DATE_INACTIVATED,EXPENSE_ITEM,ITEM_DATE_CREATED,ITEM_DATE_INACTIVATED,TAX_CATEGORY,ASSIGNMENT_DATE,TAXCAT_DATE_INACTIVATED
    "Long Term Detached Duty",12/09/2007 14:45:57,null,"LTDD:Air Travel
    Domestic",13/09/2007 11:45:08,null,"PSA",01/01/2007,31/12/4712
    First row is column names for ease of understanding :-)
    Appreciate any info you can provide on this.
    Cheers,
    Dave

Maybe you are looking for