B2 Cluster, ZL Table population.

Hello Experts,
I have a problem with ZL table.
I have an In-Lieu-Of (ILO) hours getting generated.
ILO =  Meals allowance.
For a given day, if i coded for 16 hrs of time in Time Sheet,
I have to produce an ILO of 2 hours.
Now, when i have to allocate this two hours of time to employee, i have only 1/2 hour left. So, out of 2 hours i had allocated 23:30 to 24:00 on the same day and 00:00 to 01:30 next day. The records are getting fine in ZL table after evaluation.
Now my question is, there is a field START_BEF_ZERO in ZL table, can i populate this field with 'X' for the next day record i.e record generate from 00:00 to 01:30 . If yes, how to do this.
Please let me know.
Thanks and Regards,
Krishna M.

Hi Mann
Could you please let me know if you've managed to find a way to enhance 0HR_PT_2 with additional fields? If so, how did you do it?
I have a similar requirement to enhance 0HR_PT_2 with additional field 'AWART' from table 'PA2001' but I get this message 'DataSource 0HR_PT_2 is extracted using functional module HR_BIW_GET_DATA' when I go to RSO2 and try to Display / Change 0HR_PT_2.
Your help is much appreciated.
Thanks,
Chandu

Similar Messages

  • How to find the list of all tables populated

    How to find the list of tables populated in the implentation of a particular company. DD02L contains all the tables SAP having. But i want only which are configured for a particular company.
    Also how to find the list of reports used by all users in a particular company. TSTC contains all transactions. But i require only reports used by a particular company.

    Hi Mohamed
    You use Solution Manager to do the comparison for you.  There are some nice features that will highlight all your customised coding.  Have a look at the SolMan resources on the Support Portal e.g. using SolMan for upgrade comparisons.
    Rgards
    Carl.

  • Saving and passing SelectOneChoice Values for af: table population

    Hey yall.
    *First things first... I am using the EJB as opposed to ADF BC so any examples involving VO's would not help me at this point and that's pretty much all I have been able to find online when searching for help.  I am using JDev version 10.1.3.1.
    Im having some trouble trying to figure out how to program my command button to return a table using the values acquired from a set of 3 dynamic LOV's. In detail, this is what I'm trying to do but can't get it to work no matter what I do:
    1. I have a page where the user must select an option from each drop down list (there are 3 in all). The 2nd list depends on the 1st and the 3rd list depends on the 1st and 2nd. That part is working fine.
    2. Once all selections are made, the user must then click on execute (my command button on page) to then be taken to another page with a table populated using the values selected in the previous page. The table was created using a method from the data control palette that contains the named queries needed to return results in the table.
    3. My problem is figuring out how to wire the execute button to do the tasks mention in #2 above.
    Any suggestions? Ideas? Help?
    Greatly appreciative... Thanks.

    Hi,
    you can do this from the UI using createWithParams
    http://www.oracle.com/technetwork/developer-tools/adf/learnmore/13-create-with-params-169140.pdf
    Or by overriding the doDML on the parent EO so you can use an association to update the child records. And of course you could use view links similar. However, the update is recognized on the entity level. And finally, another option - if the tables are not loaded together in an application, is to use a database trigger
    Frank

  • Cluster/pool table

    How to see the names of the table which are incorporated in a cluster/pool table.
    e.g: tab1 is a cluster ,and tab2 is a table which is incorporated in tab1 .
    Then how to find out the other tables within tab1 cluster

    oops ... seems to be the wrong forum for this question !
    regards,
    the oracle reports team

  • Cluster,pool tables

    how can i see cluster and pooled tables
    in se11 i tried but i am not able to see
    can any body help in this regard with example

    Look at <a href="http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCDWBDIC/BCDWBDIC.pdf">BC - ABAP Dictionary</a>
    <b>Pooled and Cluster Tables</b>
    Table pools (pools) and table clusters (clusters) are special table types in the ABAP Dictionary.
    The data from several different tables can be stored together in a table pool or table cluster.
    Tables assigned to a table pool or table cluster are referred to as pooled tables or cluster tables.
    A table pool or table cluster should be used exclusively for storing internal control information
    (screen sequences, program parameters, temporary data, continuous texts such as
    documentation). All data of commercial relevance is stored exclusively in transparent tables!
    <b>Table Pools</b>
    A table in the database in which all records from the pooled tables assigned to the table pool are
    stored corresponds to a table pool.
    <b>Table Clusters</b>
    Several logical data records from different cluster tables can be stored together in one physical
    record in a table cluster.
    A cluster key consists of a series of freely definable key fields and a field (Pageno) for
    distinguishing continuation records. A cluster also contains a long field (Vardata) that contains
    the contents of the data fields of the cluster tables for this key. If the data does not fit into the long
    field, continuation records are created. Control information on the structure of the data string is
    still written at the beginning of the Vardata field.
    Regards

  • Internal table population

    Here in this code the internal table it_mseg and it_mbew
    are not being populated in the following code.Can anybody please tell me what the reason.
    Thanks and regards
    jyoti
    SELECT mblnr
             bwart
             matnr
             INTO TABLE it_mseg
             FROM mseg.
      IF it_mseg IS NOT INITIAL .
        SELECT mblnr
               bldat
               INTO TABLE it_mkpf
               FROM mkpf
               FOR ALL ENTRIES IN it_mseg
               WHERE mblnr = it_mseg-mblnr.
      ENDIF.
      IF it_mseg IS NOT INITIAL.
        SELECT matnr
               bwkey
               bwtar
               lbkum
               INTO TABLE it_mbew
               FROM mbew
               FOR ALL ENTRIES IN it_mseg
               WHERE matnr = it_mseg-matnr.
      ENDIF.

    Hi,
      Syntax of  IF it_mseg IS NOT INITIAL is wrong
       Please check this code.
    DATA:it_mseg LIKE MSEG OCCURS 0 WITH HEADER LINE,
         it_mkpf LIKE MKPF OCCURS 0 WITH HEADER LINE,
         it_mbew LIKE MBEW OCCURS 0 WITH HEADER LINE.
    SELECT mblnr bwart matnr
    INTO CORRESPONDING FIELDS OF TABLE it_mseg
    FROM mseg.
    <b>IF NOT it_mseg[] IS INITIAL .</b>
    SELECT mblnr
    bldat
    INTO CORRESPONDING FIELDS OF TABLE it_mkpf
    FROM mkpf
    FOR ALL ENTRIES IN it_mseg
    WHERE mblnr = it_mseg-mblnr.
    ENDIF.
    IF not it_mseg IS INITIAL.
    SELECT matnr
    bwkey
    bwtar
    lbkum
    INTO CORRESPONDING FIELDS OF TABLE it_mbew
    FROM mbew
    FOR ALL ENTRIES IN it_mseg
    WHERE matnr = it_mseg-matnr.
    ENDIF.

  • Normal query on cluster/pooled tables...

    Hi experts,
    Can i write a normal sql query on cluster or pooled tables?
    Will it create any sort of problem?
    Regards,
    Viswanathan .S

    Hi Viswanathan,
    It is not recommended to access them directly due to there size like tables BSEG, CDPOS.
    Report may run smooth on dev but will slow down as data increases in case of production server.
    There are alternative tables available for their substitution. Which table(s) are you trying to access anyways ?
    Regards,
    Naveen

  • Need Help:Reading Data from RU payroll cluster for table GRREC

    Hi...
    I need help on how to read data from RU cluster table for table GRREC for the employee & run date and get the value from structure PC292 .
    Please let me know about the includes and the import and export statements to be used.
    Thanks in advance,
    RAVI.

    Hi,
    Here goes pseudocode
    Includes:
    include: rpppxd00    ,
                rpppxd10     ,
                rpc2cd09     , 
                rpc2rx02_ce , "if ldb pnp_ce is used else use the same include with out _ce
                rpc2rx29      ,  
                rpc2rx39      ,
                rpppxm00    ,
                rpc2ruu0_ce ,
    Declare:
    DATA : i_rgdir   LIKE pc261        OCCURS 0 WITH HEADER LINE     ,
               i_result  TYPE pay99_result OCCURS 0 WITH HEADER LINE ,
               i_grrec   LIKE  pc292           OCCURS 0 WITH HEADER LINE .
    start-of-selection:
    GET pernr.
    Get the RGDIR VALUE for the current PERNR & selected Molga
    get rgdir data TABLES i_rgdir
                          USING pernr-pernr
                                     p_molga " parameter
    CD-KEY-PERNR = PERNR-PERNR.
    RP-IMP-C2-CU.
    i_rgdir [] = rgdir[].
      LOOP AT i_rgdir WHERE fpbeg  LE  pn-endda
                        AND fpend  GE  pn-begda
                        AND srtza  EQ 'A'
                        AND void   NE   'V'.
      get_result_tabs   TABLES i_result
                                   USING 'RU'    "  US cluster
                                         pernr-pernr
                                         i_rgdir-seqnr
          RX-KEY-PERNR = PERNR-PERNR.
          UNPACK i_RGDIR-SEQNR TO RX-KEY-SEQNO.
          RP-IMP-C2-RU.
      i_grrec[] = i_result-inter-grrec[].
      LOOP AT i_grrec.
      case i_grrec.
      use wage types required here and pass the data to output table.
      endcase.
      endloop.
      endloop
    end-of-selction.

  • Where does we use Cluster & Pooled Tables

    can you please tell where does we actually use the Cluster and pooled tables...and what is the main purpose of the cluster and pooled
    Thankyou for your time
    Bhaskar

    Pooled tables can be used to store control data (e.g. screen sequences, program parameters or temporary data). Several pooled tables can be combined to form a table pool. The table pool corresponds to a physical table on the database in which all the records of the allocated pooled tables are stored.
    A001
    A004
    A005
    A006
    A007
    A009
    A010
    A012
    A015
    A016
    A017
    A018
    A019
    A021
    A022
    Cluster tables contain continuous text, for example, documentation. Several cluster tables can be combined to form a table cluster. Several logical lines of different tables are combined to form a physical record in this table type. This permits object-by-object storage or object-by-object access. In order to combine tables in clusters, at least parts of the keys must agree. Several cluster tables are stored in one corresponding table on the database.
    AUAA
    AUAB
    AUAO
    AUAS
    AUAT
    AUAV
    AUAW
    AUAY
    BSEC
    BSED
    BSEG
    BSES
    BSET
    CDPOS
    Raja T

  • Cluster,pooled tables

    Hi all,
    What is the difference of Cluster and pooled tables.and the specific applications.do we get the need to create the pooled tables in implmentations.
    u.khan.

    Hai
    Pooled tables. Pooled tables in the dictionary has a many-to-one relation with the table in database. Table in the database has the different name as in the dictionary. Pooled table are stored in table pool at the database level.
    Several logical data records from different cluster tables can be stored together in one physical record in a table cluster.
    A cluster key consists of a series of freely definable key fields and a field (Pageno) for distinguishing continuation records. A cluster also contains a long field (Vardata) that contains the contents of the data fields of the cluster tables for this key. If the data does not fit into the long field, continuation records are created. Control information on the structure of the data string is still written at the beginning of the Vardata field. A table cluster has the following structure:
    Field
    Data type
    Meaning
    CLKEY1
    First key field
    CLKEY2
    Second key field
    CLKEYn
    nth key field
    Pageno
    INT2(5)
    Number of the continuation record
    Timestamp
    CHAR(14)
    Time stamps
    Pagelg
    INT2(5)
    Length of the string in Vardata
    Vardata
    RAW (n)
    Contains the entries from the data fields of the assigned cluster tables as a string, max. length n depends on the database system used
    Cluster Tables
    The records of all cluster tables with the same key are stored under one key in the assigned table cluster. The values of the key fields are stored in the corresponding key fields of the table cluster. The values of all data fields of the assigned cluster tables are written as a string to the Vardata field of the table cluster. Besides the actual data values, the data string contains information on the structure of the data and which table it comes from. If the string exceeds the maximum length of the Vardata field, a continuation record is written with the same key values. The continuation records for a key are distinguished by their value in field Pageno. The actual length of the string in the Vardata field is stored in the Pagelg field by the database interface.
    the major difference between Standard tables, Pooled tables and Clusterd Tables?
    A transparent table is a table that stores data directly. You can read these tables directly on the database from outside SAP with for instance an SQL statement. 
    Transparent table is a one to one relation table i.e. when you create one transparent table then exactly same table will create in data base and if is basically used to store transaction data. 
    A clustered and a pooled table cannot be read from outside SAP because certain data are clustered and pooled in one field. 
    One of the possible reasons is for instance that their content can be variable in length and build up. Database manipulations in Abap are limited as well. 
    But pool and cluster table is a many to one relationship table. This means many pool table store in a database table which is know as table pool.
    All the pool table stored table in table pool does not need to have any foreign key relationship but in the case of cluster table it is must. And pool and cluster table is basically use to store application data.
    Table pool can contain 10 to 1000 small pool table which has 10 to 100 records. But cluster table can contain very big but few (1 to 10)  cluster table.
    For pool and cluster table you can create secondary index and you can use select distinct, group for pool and cluster table. You can use native SQL statement for pool and cluster table. 
    A structure is a table without data. It is only filled by program logic at the moment it is needed starting from tables. 
    A view is a way of looking at the contents of tables. It only contains the combination of the tables at the basis and the way the data needs to be represented. You actually call directly upon the underlying tables.
    Go through the following Link
    http://help.sap.com/saphelp_nw04/helpdata/en/cf/21f083446011d189700000e8322d00/content.htm
    Thanks & regards
    Sreenivasulu P

  • Time cluster B2 - table ZES vs. table ZL

    Hello,
    I have to report the paid over-time of our workers.
    We have different companies with different working hours in our human resource system.
    Now I wonder what is the right table to report the right values of each company:
    ZES or ZL
    Could somebody help me by explaining the difference between these tables ?
    Thanks a lot in advance.
    Bert

    Hi,
    TES - All time balances of the day are finally totaled into this table.  The balances are finally transferred to output table ZES in cluser B2. This table will store the day wise time balance.
    ZL: Table will store the time wage types from the DZL, ZML tables. 
    Time wage type data from DZL and ZML are transferred to output table ZL in B2.
    Finally those two table will store in under CUMBT function. These two will store in cluster B2.
    RPTBAL00 extracts time evaluation tables (ZES, SALDO, ZL) from cluster B2.
    This ZL table integrate with payroll also with ZLIT function.
    Regards,
    Devi.

  • Pre-loading a table, populating data

    hopefully someone has already crossed this bridge,
    does anyone know how to pre-load a table and then populate the data returned from a query? I have seen websites like ingrammicro.com that display the results from a search where you can see the table and some of the data , and then slowly you start seeing pricing populated within the table. maybe this is more of an HTML question.not sure. thanks for any information you can give.
    thanks, Tim

    yes, that will work. thanks.

  • How FND_PRIMARY_KEYS table populated

    Hello All,<br><br>
    I would like to know how FND_PRIMARY_KEYS are populated. In our application, as per Apps guidelines, we dont have primary key defined on tables. We have indexes. But for Audit Trial we need primary keys. So i would like to know how we can populate the FND_PRIMARY_KEYS table with relevant information ? What information we need to provide and how ?
    <br><br>
    Any pointers are welcome
    <br><br>
    Thanks<br>
    Sindhu

    Is the application, Oracle Applications, or some other vendor's application? Is there a version number?
    I would think that the columns that make up the unique index on a table, providing it has only one unique index, would be the columns that would make up the PK if it were definded. See DBA_IND_COLUMNS. For tables with multiple unique indexes one would likely be the PK and the others UK constraints.
    HTH -- Mark D Powell --

  • Help with PLSQL table population.....

    Hi all,
    I am populating a PLSQL table from a cursor and then inserting into a target table using FORALL.
    While populating, I need two two records differing only by the process_name.
    Say my populated PLSQL table should look like this.
    vt_proc_status_tbl:
    1     76     Pname_A     20     Sysdate     1     U     1
    1     76     Pname_B     20     Sysdate     1     U     1
    How can I create duplicate records like this inside the PLSQL table varying only by process_name????
    OPEN cur_fcst_sites_ppo;
    FETCH cur_fcst_sites_ppo
    BULK COLLECT INTO vt_fcst_sites_tbl;
    CLOSE cur_fcst_sites_ppo;
    FOR v_idx_fcst_sites IN 1 .. vt_fcst_sites_tbl.COUNT
    LOOP
    BEGIN
    SELECT seq_ods_site_process_status.NEXTVAL
    INTO v_odssiteprocessid
    FROM DUAL;
    END;
    v_pst_idx := v_pst_idx + 1;
    vt_proc_status_tbl (v_pst_idx).odssiteprocessid :=
    v_odssiteprocessid;
    vt_proc_status_tbl (v_pst_idx).SYSTEM := pi_system;
    vt_proc_status_tbl (v_pst_idx).process_name := pi_process_name;
    vt_proc_status_tbl (v_pst_idx).siteid :=
    vt_fcst_sites_tbl (v_idx_fcst_sites).siteid;
    vt_proc_status_tbl (v_pst_idx).bday := pi_transferday;
    vt_proc_status_tbl (v_pst_idx).is_no := pi_is_no;
    vt_proc_status_tbl (v_pst_idx).rest_status := c_status_unprocessed;
    vt_proc_status_tbl (v_pst_idx).batch_id := v_batch_id;
    v_cntr := v_cntr + 1;
    IF v_cntr = pi_sites_at_a_time
    THEN
    v_batch_id := v_batch_id + 1;
    v_cntr := 0;
    END IF;
    v_odssiteprocessid := NULL;
    END LOOP;
    IF v_pst_idx &gt; 0
    THEN
    BEGIN
    FORALL v_proc_status_tbl_idx IN 1 .. vt_proc_status_tbl.COUNT
    INSERT INTO ods_site_process_status
    VALUES vt_proc_status_tbl (v_proc_status_tbl_idx);
    END;
    ELSE
    v_code := NULL;
    SELECT SUBSTR ( '[M]:0- No Site Available for the '
    || pi_process_name
    || ' Process For '
    || DECODE (pi_process_name,
    c_transform_bmi_ppo, 'IS_NO '
    || pi_is_no,
    'TransferDay ' || pi_transferday
    || '..',
    1,
    125
    INTO v_errm
    FROM DUAL;
    DBMS_OUTPUT.put_line (v_errm);
    scimf_common.write_log (v_code, --Log error into the LOGFILE
    'E',
    'p_mfcst_transform_master',
    v_errm,
    vr_market.marketid,
    'I'
    END IF;
    Thanks in Advance.
    Jagadish
    Edited by: user646716 on Oct 12, 2008 10:08 AM
    Edited by: user646716 on Oct 12, 2008 12:02 PM

    hi aweiden,
    Please find my entire code below.
    what I am trying to achieve is that when my plsql table vt_proc_status_tbl is populated, I want two different rows to be populated for different process names (i.e bmi_ppo and bmi_ai ) and load it into ODS_SITE_PROCESS_STATUS table so that i do not have to alter my forall statement.
    Thanks for the help
    PROCEDURE p_mfcst_transform_master (
    pi_system IN mfcst_ppo.SYSTEM%TYPE,
    pi_is_ no IN mfcst_ppo.is_no%TYPE,
    pi_transferday IN mfcst_ppo.transferday%TYPE,
    pi_sites_at_a_time IN NUMBER,
    pi_process_name IN ods_site_process_status.process_name%TYPE,
    po_status OUT NUMBER,
    po_error OUT VARCHAR2
    AS
    -- Cursor to get sites to be processed for bmi to ppo transformation process
    CURSOR cur_fcst_sites_ppo
    IS
    SELECT DISTINCT siteid
    FROM sci_restaurant
    WHERE hist_load_status in ('L','H')
    AND SYSTEM = pi_system
    ORDER BY siteid;
    -- Cursor to get sites to be processed for bmi to ai transformation process
    -- Note this cursor is based on the system and transfer day
    TYPE sites_tbltype IS TABLE OF cur_fcst_sites_ppo%ROWTYPE
    INDEX BY PLS_INTEGER;
    vt_fcst_sites_tbl sites_tbltype;
    TYPE proc_status_tbltype IS TABLE OF ods_site_process_status%ROWTYPE
    INDEX BY PLS_INTEGER;
    vt_proc_status_tbl proc_status_tbltype;
    v_cnt NUMBER := 0;
    v_cntr NUMBER := 0;
    v_batch_id NUMBER := 1;
    v_pst_idx PLS_INTEGER := 0;
    v_k PLS_INTEGER := 0;
    v_odssiteprocessid ods_site_process_status.odssiteprocessid%TYPE;
    v_exceptionid NUMBER;
    --variable to log exception into sci_exception table
    BEGIN
    --- If sites were identitfied before, skip the rest of the execution
    --- Note that ods_site_process_status holds the status from the prior runs
    po_error := '';
    po_status := 0;
    scimf_common.p_get_market_parameters (NULL,
    pi_system,
    vr_market,
    v_error_out
    IF v_error_out IS NOT NULL
    THEN
    RAISE e_market_not_found;
    END IF;
    IF pi_process_name = c_transform_bmi_ppo
    THEN
    SELECT COUNT (*)
    INTO v_cnt
    FROM ods_site_process_status
    WHERE SYSTEM = pi_system
    AND process_name = pi_process_name
    AND is_no = pi_is_no
    AND ROWNUM < 2;
    ELSIF pi_process_name = c_transform_bmi_ai
    THEN
    SELECT COUNT (*)
    INTO v_cnt
    FROM ods_site_process_status
    WHERE SYSTEM = pi_system
    AND process_name = pi_process_name
    AND rest_status = c_status_processed
    AND ROWNUM < 2;
    ELSE
    v_code := NULL;
    v_errm :=
    SUBSTR ( '[E]:0- Process Name :>'
    || pi_process_name
    || '<Is Not Proper For System:>'
    || pi_system
    || '< and IS_NO :>'
    || pi_is_no
    || '< and TransferDay :>'
    || pi_transferday
    || '<',
    1,
    125
    DBMS_OUTPUT.put_line (v_errm);
    scimf_common.write_log (v_code, --Log error into the LOGFILE
    'E',
    'p_mfcst_transform',
    v_errm,
    vr_market.marketid,
    'I'
    po_error := TO_CHAR (SQLCODE) || ' -Error Message: ' || v_errm;
    po_status := -1;
    -- Log Exception in the log file and come out.
    END IF;
    IF NVL (v_cnt, 0) > 0
    THEN
    IF pi_process_name = c_transform_bmi_ppo
    THEN
    SELECT SUBSTR
    ( ':0- Sites are already identified before for the '
    || pi_process_name
    || ' Process For '
    || DECODE (pi_process_name,
    c_transform_bmi_ppo, 'IS_NO ' || pi_is_no,
    'TransferDay ' || pi_transferday
    || '..'
    || 'proceeding to invoke child scripts',
    1,
    125
    INTO v_errm
    FROM DUAL;
    DBMS_OUTPUT.put_line (v_errm);
    ELSIF pi_process_name = c_transform_bmi_ai
    THEN
    SELECT SUBSTR
    ( '[I]:0- Sites are already identified before for the '
    || pi_process_name
    || ' Process For '
    || DECODE (pi_process_name,
    c_transform_bmi_ai, 'IS_NO ' || pi_is_no,
    'TransferDay ' || pi_transferday
    || '..'
    || 'proceeding to invoke child scripts',
    1,
    125
    INTO v_errm
    FROM DUAL;
    DBMS_OUTPUT.put_line (v_errm);
    END IF;
    ELSIF NVL (v_cnt, 0) = 0
    THEN
    OPEN cur_fcst_sites_ppo;
    FETCH cur_fcst_sites_ppo
    BULK COLLECT INTO vt_fcst_sites_tbl;
    CLOSE cur_fcst_sites_ppo;
    END IF;
    -- Logic to batch the sites to be processed in the batches of
    -- sites derived from the pi_sites_at_a_time parameter
    -- Batch_Id starts with 1 and need to used along with
    -- either is_no (bmi-ppo) and process name or along with
    -- system, bday and process_name (bmi-ai)
    IF pi_sites_at_a_time IS NULL
    THEN
    v_code := NULL;
    v_errm := 'Site At A Time not defined';
    scimf_common.write_log (v_code, --Log error into the LOGFILE
    'E',
    'p_mfcst_transform_master',
    v_errm,
    vr_market.marketid,
    'I'
    po_error := TO_CHAR (SQLCODE) || ' -Error Message: ' || v_errm;
    po_status := -1;
    raise_application_error (-200002, v_errm);
    END IF;
    FOR v_idx_fcst_sites IN 1 .. vt_fcst_sites_tbl.COUNT
    LOOP
    BEGIN
    SELECT seq_ods_site_process_status.NEXTVAL
    INTO v_odssiteprocessid
    FROM DUAL;
    EXCEPTION
    WHEN OTHERS
    THEN
    ROLLBACK;
    DBMS_OUTPUT.put_line ( '[E]:0- Sequence :>'
    || 'seq_ods_site_process_status'
    || ' <Is Invalid>'
    || '<'
    v_errm :=
    SUBSTR ( 'Sequence seq_ods_site_process_status Error:'
    || SQLERRM,
    1,
    125
    scimf_common.write_log (v_code, --Log error into the LOGFILE
    'E',
    'p_mfcst_transform',
    v_errm,
    vr_market.marketid,
    'I'
    po_error :=
    TO_CHAR (SQLCODE) || ' -Error Message: '
    || v_errm;
    po_status := -1;
    raise_application_error (-200002, v_errm);
    END;
    v_pst_idx := v_pst_idx + 1;
    vt_proc_status_tbl (v_pst_idx).odssiteprocessid :=
    v_odssiteprocessid;
    vt_proc_status_tbl (v_pst_idx).SYSTEM := pi_system;
    vt_proc_status_tbl (v_pst_idx).process_name := pi_process_name;
    vt_proc_status_tbl (v_pst_idx).siteid :=
    vt_fcst_sites_tbl (v_idx_fcst_sites).siteid;
    vt_proc_status_tbl (v_pst_idx).bday := pi_transferday;
    vt_proc_status_tbl (v_pst_idx).is_no := pi_is_no;
    vt_proc_status_tbl (v_pst_idx).rest_status := c_status_unprocessed;
    vt_proc_status_tbl (v_pst_idx).batch_id := v_batch_id;
    v_cntr := v_cntr + 1;
    IF v_cntr = pi_sites_at_a_time
    THEN
    v_batch_id := v_batch_id + 1;
    v_cntr := 0;
    END IF;
    v_odssiteprocessid := NULL;
    END LOOP;
    IF v_pst_idx > 0
    THEN
    BEGIN
    FORALL v_proc_status_tbl_idx IN 1 .. vt_proc_status_tbl.COUNT
    INSERT INTO ods_site_process_status
    VALUES vt_proc_status_tbl (v_proc_status_tbl_idx);
    EXCEPTION
    WHEN OTHERS
    THEN
    ROLLBACK;
    v_error_count := SQL%BULK_EXCEPTIONS.COUNT;
    DBMS_OUTPUT.put_line
    ( '[E]:0- Bulk Insert Fail using FORALL Number of Failure:>'
    || v_error_count
    || '<'
    FOR v_i IN 1 .. v_error_count
    LOOP
    v_errm :=
    SUBSTR
    ( '[E]:Error Insert into ODS_SITE_PROCESS_STATUS table '
    || 'Insert Error: '
    || v_i
    || ' Array Index: '
    || SQL%BULK_EXCEPTIONS (v_i).ERROR_INDEX
    || SQLERRM
    (-SQL%BULK_EXCEPTIONS (v_i).ERROR_CODE),
    1,
    125
    DBMS_OUTPUT.put_line (v_errm);
    END LOOP;
    v_code := NULL;
    scimf_common.write_log (v_code, --Log error into the LOGFILE
    'E',
    'p_mfcst_transform_master',
    v_errm,
    vr_market.marketid,
    'I'
    po_error :=
    TO_CHAR (SQLCODE) || ' -Error Message: '
    || v_errm;
    po_status := -1;
    END;
    ELSE
    v_code := NULL;
    SELECT SUBSTR ( '[M]:0- No Site Available for the '
    || pi_process_name
    || ' Process For '
    || DECODE (pi_process_name,
    c_transform_bmi_ppo, 'IS_NO '
    || pi_is_no,
    'TransferDay ' || pi_transferday
    || '..',
    1,
    125
    INTO v_errm
    FROM DUAL;
    DBMS_OUTPUT.put_line (v_errm);
    scimf_common.write_log (v_code, --Log error into the LOGFILE
    'E',
    'p_mfcst_transform_master',
    v_errm,
    vr_market.marketid,
    'I'
    END IF;
    END IF;
    COMMIT;
    po_status := NVL (po_status, 0);
    EXCEPTION
    WHEN e_market_not_found
    THEN
    ROLLBACK;
    v_code := NULL;
    v_errm := SUBSTR ('[E]:Error Market Not Found ' || SQLERRM, 1, 125);
    scimf_common.write_log (v_code, --Log error into the LOGFILE
    'E',
    'p_mfcst_transform_master',
    v_errm,
    vr_market.marketid,
    'I'
    raise_application_error (-200001,
    'Market parameter not found for system'
    || pi_system
    po_error := TO_CHAR (SQLCODE) || ' -Error Message: ' || SQLERRM;
    po_status := -1;
    WHEN OTHERS
    THEN
    ROLLBACK;
    DBMS_OUTPUT.put_line ( '[E]:0-ERROR :-- '
    || ' --SQLCODE: '
    || SQLCODE
    || ' -Error Message: '
    || SQLERRM
    po_error := TO_CHAR (SQLCODE) || ' -Error Message: ' || SQLERRM;
    po_status := -1;
    END;

  • URGENT:how to get the error table populated in ODI

    Hello all,
    I am working on an interface of ODI where mapping is from a XML file to the database tables. I want, when there is any bad data (having length size greater than the target table's column length or data type mismatch) the bad data should get rejected or separated.
    I am using LKM, CKM, and IKM knowledge modules, but the erroneous record is not getting populated in even in the error table.
    when I try to insert lets say 4 records and 2nd record is erroneous then it is only inserting the 1st record. i want that the erroneous record should get inserted in the error table.
    Please suggest, if anybody is having any related information to get this done. That would be really helpful.
    Thanks in advance!

    Hello Phil,
    Thanks for your update.
    The option which you have mentioned having cloumn as char 4000, I can not do that as my target tables are seeded tables.
    I have also tried to get the data atleast in C$ tables having their length as varchar 4000. but it is not allowing to insert in C$ tables also.
    In my case I am getting data for ex: date_of_birth in VARCHAR datatype from the source XML and I have converted it ot DATE while mapping it to target column having DATE as the datatype.
    what if the DATE in xml source is invalid? its giving me the error while execution "Invalid datetime format". how would I identify that this error is for a particular record. If I can get this erroneous record atleast in C$ table I can find a work around for this correction then.
    I hope you have solution for this problem :)
    Thanks.

Maybe you are looking for