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 -
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 clusteroops ... seems to be the wrong forum for this question !
regards,
the oracle reports team -
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 exampleLook 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 -
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 .SHi 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
BhaskarPooled 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 -
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.
BertHi,
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, Timyes, 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>
SindhuIs 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 > 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 PMhi 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
-
Help needed in Regular Expression
I have been give a task to replace all table_name (Emp) in Procedure p1 to Table_name(Employee). Can anyone help me ? Regards, Prathamesh
-
How do I turn off the automatic date-reading function when adding a new reminder in Reminders?
While using Reminders in Mavericks or in Mountain Lion, if I type something like, "Finish the details of version 6.19 for publication", the Reminders app REMOVES 6.19, and adds a remind-on-date for 6/19. I do not want my words to be naturally interpr
-
I can no longer see my card reader
I can no loger see my card reader in finder or iphoto in the last month. Everything was working fine and then nothing. Its no the reader as it works on other macs and in windows mode on my mac so that rules out any usb fault. Any ideas.
-
Can I use an iPhone5 bought from Hong Kong in South Korea?
As title.
-
Mac won't recognize CD and Zip Drive
I have a Beige g3 MiniTower 400mhz running 9.2.2 with built in Apple CD and Zip Drive. Overnight, the machine no longer recongnizes either drive. The extensions are there, and checked. I upgraded from 9.2.1 to 9.2.2 - no change. I downloaded the late