Joins in BODS
Hi All,
I am new to BODS. My requirement was to read a big flat file (size more than 180 GB) and join with small Database table.So I cannot do push down operation.
I tested the job with small test file and I can see that query transformer is doing the cross join even though I mentioned as inner join in query transformer. I have tested with many files and tables job always go for the cross join (according to the row count of the query transformer in the job log) and takes long time to finish
I am not sure why BODS behaves like this. Is there some configuration needed or it works this way?
Is there any better way of handling this requirement?
Regards,
Suman
1TB and 180GB is not exactly the same, is it?
Now, it all depends what your join is meant for.
1/. The join is for adding additional columns to your file data (lookup functionality). In that case, you'll need the storage anyway. Load your file into a table that already contains the extra columns. Then, in a 2nd dataflow, join the big table with the small one and update.
2/. The join is for filtering. Thyen check the settings for your input. The ones for the file should look like:
For the table:
The input with the highest join rank will be the driving one. Let us know how this works out.
Similar Messages
-
Hi All,
I am new to BODS tool. I am trying to read data from two databases (Hana and MS SQL Server)and do the inner join in Query transformation (From tab). These tables are huge in size and I don't need all the fields from Tables. So I am using SQL block to write custom selects for both tables with some where conditions . These select queries are working fine and takes less time to execute when I checked in the their respective consoles.
But the BODS job is taking lot of time to execute this job. The log of query transformation shows that it is going for a Cartesian join and then doing filter of join condition. The row count keeps on growing as it is a Cartesian join and I have to kill the job.
How Can I make this join to run faster . Is there any other option ?
Regards,
Suman.Hi Suman,
I would suggest you to create a database link since you are using two different database servers and make sure that your DF is full pushdown. Inner join shall not take much time if it is full push down.
You may refer this article on how to create a database link in sql server. URL
Another article on performance optimization. URL
Hope this would be helpful.
Regards,
MSA -
Error while loading data from R/3 to BODS!
Hi Experts,
In BODS, we use R/3 customized table as source and using a query transformation, we are loading the data to a file. When we trigger a load for around 3 million records in a single shot, its throwing the dump as shown below.
TSV_TNEW_PAGE_ALLOC_FAILED.
you attempted to extend an internal table, but the required space was not available.
ABAP Heap memory cannot be extended.
But when we do the same load, with the same restrcition from R/3 to BW side till PSA, the data is getting loaded into the PSA. This is happening without any errors or short dump.
The above mentioned load is a full load from R/3 to BODS as well as to BW.
Can you please help us by stating the suggestions in order to overcome the issue which we are facing in BODS data load.
Regards,
vivekYes, it seems like when you try to read a table w/ an ABAP dataflow, R/3 needs to read the whole table into memory, and, for large enough tables, can run out.
You can work around this, I think, in two ways: vertical or horizontal partitioning. Vertical: break the table apart by small sets of columns (always including the PK), staging each, and then joining them back together after you get them out of ECC. Horizontal: push-down some filtering operation, all the way into the ABAP dataflow, to chop the source table up into small, non-overlapping hunks-of-records, stage those out, and then UNION them back together.
Best wishes,
Jeff Prenevost
Data Services Practice Manager
itelligence -
'Join' two different field types together into a String - possible in Java?
Not entirely certain whether this is a straightforward Java or more of a JDBC question:
I have two fields, one is a String and one an integer. I need to concatenate these fields together to form one String, prior to performing an insert on a table. ie:
String s = dbRS.getString("partition_name"); //get full string
String partstr = s.substring(0, 14); // get first 14 (alpha) characters
int new_partition_number = max_partition_number + 1; //create new unique partition number, incremented by 1Now I have
- a String (partstr - i.e. "TN1234567890_")
- an integer (i.e. 50)
(NB. The number has to be an integer because it is subject to calculation elsewhere.)
I wish to join these together into a String ("TN1234567890_50") and use the field in an inserted row. I've tried using
String partition_string = new StringBuffer(partstr).append(new_partition_number ).toString();... but this doesn't work.
I read on a forum that it's impossible to cast an integer to a String in this way in Java, which sounds pretty incredulous from where I am! However my Osborne Java 2 Complete Reference doesn't mention it at all.
Any assistance will be very gratefully received!
Thanks.wonder why he thinks you can't append an int to a StringBuilder.
Works fine. Might of course not yield the expected result depending on expectations, but it works just fine.
But then, the coding conventions reminiscent of C don't bode well. -
Data Services (BODI) password file synchronization by external application
Hello,
Question: Is there any batch/shell process that update the BODS password file?
Issue: An external system (P-Synch) change the developper repository passwords every 60 days. The passwords have to be changed manually on the BODS server or account get locked.
Objective: Automation of BODI password syncrhonization (reset) on the server.
My dream: application_cmd -Repsoitory -Account -Password
Thank you,There's not a good option for that.
In the past, there was ABC Amber IPD converter which could extract or convert data from backup files to CSV or text files, but ABC is no longer available and I don't know of another IPD file extractor.
I don't know of another option. Let's see if someone else might.
1. If any post helps you please click the below the post(s) that helped you.
2. Please resolve your thread by marking the post "Solution?" which solved it for you!
3. Install free BlackBerry Protect today for backups of contacts and data.
4. Guide to Unlocking your BlackBerry & Unlock Codes
Join our BBM Channels (Beta)
BlackBerry Support Forums Channel
PIN: C0001B7B4 Display/Scan Bar Code
Knowledge Base Updates
PIN: C0005A9AA Display/Scan Bar Code -
Need help in doing BODS Certification
Hi All,
I am a beginner in BODS having 6 months experience. Now I am looking forward for BODS Certification,Can you pleae guide me in which course to take up and procedure for getting certified....Hi Harish,
The documents are not available as a free download. You must join the SAP education to obtain the training & material.
Kind regards,
Sundar -
Pass BODS job parameters as HAVA View parameters
Hi experts,
I use HANA Calculation View as Data Source and need to pass BODS job's parameters into Calculation View parameters. I have tried to use SQL Transformation with code like this (see below) but it doesn't work.
select RRCTY, RYEAR, FISCAL_PERIOD as POPER, FISCAL_YEAR_PERIOD, RBUKRS, RACCT, RCNTR, WBS, RZZPERNR, PLEVEL, ROW, MEASURE, REP_ID
from SOURCE_1.DIM_EMPLOYEE as emp
inner join "_SYS_BIC"."packeage/CalcView" (PLACEHOLDER."$$IP_SNAPSHOT_TIMESTAMP$$" => {$IP_SNAPSHOT_TIMESTAMP}, PLACEHOLDER."$$IP_REP_ID$$" => {$IP_REP_ID}) as mce1
on emp.EMPLOYEE_CHAR = mce1.RZZPERNR
How can I pass job parameters into HANA Calculation View from BODS?
Thank you!
With best regards,
SergeyHello
There's nothing wrong with your theory, it will work as all Data Services is doing is constructing an SQL string as passing it to HANA. Which version of HANA are you using? The PLACEHOLDER syntax changed slightly, however I suspect you are missing some single quotes around your parameter values.
Get the SQL working succesfully via the HANA Studio (or hdbsql) then reverse engineer the parameterised statement for the SQL transform.
Michael -
Is it possible to use a IF statement (i.e. CASE, DECODE) in the Join Line?
I need create a query that depending on the value of a column it will determine if I use a column A or column B in my join statement. I was thinking something like the following:
Select a.Value1, a.Value2, b.ColumnA, b.ColumnB
FROM Table1 a
INNER JOIN Table2 b ON a.Value2 = (if b.ColumnZ='Dept' then b.ColumnA else b.ColumnB END)
Oracle Version 10g
OS Windows XP
Thanks in advance!Hi,
Remember what a CASE expression does: it returns a single value in one of the SQL data types (such as VARCHAR2, NUMBER or DATE).
Each THEN (or ELSE) clause of a CASE expression references something that the CASE expression might return, so after each THEN (or ELSE) keyword there must be a single value in one of the SQL data types.
So you can't say:
case tdsi.level_code
when 'L' then tdsid.privilege_code = tdlm.location_code
when 'R' then tdsid.privilege_code = tdlm.region_code
when 'C' then tdsid.privilege_code = tdlm.country_code
endWhat is the data type being returned? "tdsid.privilege_code = tdlm.location_code" is not a single value in any of the SQL data types.
If location_code, region_code, country_code and privilege_code all have the same data type, then you can do something like this:
join dirpipe.dirpipe_location_map tdlm on case tdsi.level_code
when 'L' then tdlm.location_code
when 'R' then tdlm.region_code
when 'C' then tdlm.country_code
end = tdsid.privilege_code -
Hi, I am trying to properly display a list of tasks for a project however without a join to the project number (which I was aware of) and the employee table, I get over 500 results.
The task can be created without a employee assigned to it so therefore the page does not require the field to be filled in.
Here is the SQL code, any does anyone have any ideas?
select
pd.pk_proj_detail_id "Task Number",
pd.task_title "Task Title",
pd.DETAIL_STATUS "Task Status",
pm.name "Associated Project",
pps.last_name||', '||pps.first_name||', '||pps.middle_initial||'.' "Assigned Employee",
pd.TRACKIT_NUMBER "TrackIt! Number",
pd.CREATEBY_DATE "Date Entered",
pd.DATE_BEGIN "Date Began",
pd.ESTIMATED_DATE "Estimated Completion Date",
pd.DATE_END "Date Completed"
from
PROTRAC_DETAIL pd,
protrac_master pm,
cobr.vw_pps_payroll pps,
resources r
where
pd.fk_proj_master_id = pm.PK_PROJ_MASTER_ID
and r.fk_master_id = pm.PK_PROJ_MASTER_ID
and (r.emp_id = pps.emple_no
or r.emp_id is null)It's 10g r2 with Application Express 3.1.0.00.32
This is the tasks (detail) table
ALTER TABLE PROTRAC_DETAIL
DROP PRIMARY KEY CASCADE;
DROP TABLE PROTRAC_DETAIL CASCADE CONSTRAINTS;
CREATE TABLE PROTRAC_DETAIL
PK_PROJ_DETAIL_ID NUMBER NOT NULL,
FK_PROJ_MASTER_ID NUMBER,
TRACKIT_NUMBER NUMBER,
DETAIL_DESCRIPTION VARCHAR2(4000 CHAR),
DETAIL_STATUS VARCHAR2(19 CHAR),
DETAIL_STATUS_COMMENT VARCHAR2(4000 CHAR),
DATE_BEGIN DATE,
DATE_END DATE,
ESTIMATED_DATE DATE,
CREATEBY_DATE DATE,
CREATEBY_USER VARCHAR2(50 CHAR),
LASTMOD_DATE DATE,
LASTMOD_USER VARCHAR2(50 CHAR),
TASK_TITLE VARCHAR2(100 CHAR)
TABLESPACE DEVPROTRAC_DATA
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
CREATE UNIQUE INDEX PROTRAC_DETAIL_PK ON PROTRAC_DETAIL
(PK_PROJ_DETAIL_ID)
TABLESPACE DEVPROTRAC_DATA
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
CREATE OR REPLACE TRIGGER BUI_PROTRAC_DETAIL
before insert or update
on PROTRAC_DETAIL
referencing new as New old as Old
for each row
begin
if inserting then
select users_seq.nextval, sysdate, apex_application.g_user
into :new.pk_proj_detail_id, :new.createby_date, :new.createby_user
from dual;
elsif updating then
select sysdate, apex_application.g_user
into :new.lastmod_date, :new.lastmod_user
from dual;
end if;
end;
SHOW ERRORS;
ALTER TABLE PROTRAC_DETAIL ADD (
CONSTRAINT PROTRAC_DETAIL_PK
PRIMARY KEY
(PK_PROJ_DETAIL_ID)
USING INDEX
TABLESPACE DEVPROTRAC_DATA
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
ALTER TABLE PROTRAC_DETAIL ADD (
CONSTRAINT PROTRAC_DETAIL_NUM
FOREIGN KEY (FK_PROJ_MASTER_ID)
REFERENCES PROTRAC_MASTER (PK_PROJ_MASTER_ID));
ALTER TABLE DEVPROTRAC.RESOURCES ADD (
FOREIGN KEY (FK_DETAIL_ID)
REFERENCES DEVPROTRAC.PROTRAC_DETAIL (PK_PROJ_DETAIL_ID));
SET DEFINE OFF;
Insert into PROTRAC_DETAIL
(PK_PROJ_DETAIL_ID, FK_PROJ_MASTER_ID, TRACKIT_NUMBER, DETAIL_DESCRIPTION, DETAIL_STATUS,
DETAIL_STATUS_COMMENT, DATE_BEGIN, DATE_END, ESTIMATED_DATE, CREATEBY_DATE,
CREATEBY_USER, LASTMOD_DATE, LASTMOD_USER, TASK_TITLE)
Values
(34, 24, NULL, 'test', 'Queued',
NULL, NULL, NULL, NULL, TO_DATE('10/30/2008 13:37:01', 'MM/DD/YYYY HH24:MI:SS'),
'LREDMOND', TO_DATE('11/03/2008 15:19:35', 'MM/DD/YYYY HH24:MI:SS'), NULL, 'bananana');
Insert into PROTRAC_DETAIL
(PK_PROJ_DETAIL_ID, FK_PROJ_MASTER_ID, TRACKIT_NUMBER, DETAIL_DESCRIPTION, DETAIL_STATUS,
DETAIL_STATUS_COMMENT, DATE_BEGIN, DATE_END, ESTIMATED_DATE, CREATEBY_DATE,
CREATEBY_USER, LASTMOD_DATE, LASTMOD_USER, TASK_TITLE)
Values
(41, 40, NULL, '2354234', 'Queued',
NULL, NULL, NULL, NULL, TO_DATE('10/31/2008 00:00:00', 'MM/DD/YYYY HH24:MI:SS'),
'LREDMOND', TO_DATE('11/03/2008 13:52:02', 'MM/DD/YYYY HH24:MI:SS'), 'LREDMOND', 'I can type on the keyboarddf');
Insert into PROTRAC_DETAIL
(PK_PROJ_DETAIL_ID, FK_PROJ_MASTER_ID, TRACKIT_NUMBER, DETAIL_DESCRIPTION, DETAIL_STATUS,
DETAIL_STATUS_COMMENT, DATE_BEGIN, DATE_END, ESTIMATED_DATE, CREATEBY_DATE,
CREATEBY_USER, LASTMOD_DATE, LASTMOD_USER, TASK_TITLE)
Values
(49, 32, 78888, 'one day fishsticks will walk on the moon.', 'Queued',
'waiting for fishsticks.', NULL, NULL, NULL, TO_DATE('11/03/2008 11:28:11', 'MM/DD/YYYY HH24:MI:SS'),
'LREDMOND', NULL, NULL, 'Fix the keyboard');
Insert into PROTRAC_DETAIL
(PK_PROJ_DETAIL_ID, FK_PROJ_MASTER_ID, TRACKIT_NUMBER, DETAIL_DESCRIPTION, DETAIL_STATUS,
DETAIL_STATUS_COMMENT, DATE_BEGIN, DATE_END, ESTIMATED_DATE, CREATEBY_DATE,
CREATEBY_USER, LASTMOD_DATE, LASTMOD_USER, TASK_TITLE)
Values
(50, 38, NULL, 'dfdfdfdfdfdfdfdfdf', 'Queued',
NULL, NULL, NULL, NULL, TO_DATE('11/03/2008 12:03:06', 'MM/DD/YYYY HH24:MI:SS'),
'LREDMOND', TO_DATE('11/03/2008 15:19:44', 'MM/DD/YYYY HH24:MI:SS'), NULL, 'resreeeeeeeeee');
Insert into PROTRAC_DETAIL
(PK_PROJ_DETAIL_ID, FK_PROJ_MASTER_ID, TRACKIT_NUMBER, DETAIL_DESCRIPTION, DETAIL_STATUS,
DETAIL_STATUS_COMMENT, DATE_BEGIN, DATE_END, ESTIMATED_DATE, CREATEBY_DATE,
CREATEBY_USER, LASTMOD_DATE, LASTMOD_USER, TASK_TITLE)
Values
(33, 31, NULL, 'Make sure the bananas are fresh', 'Queued',
NULL, NULL, NULL, NULL, TO_DATE('10/29/2008 00:00:00', 'MM/DD/YYYY HH24:MI:SS'),
'LREDMOND', TO_DATE('11/03/2008 15:19:52', 'MM/DD/YYYY HH24:MI:SS'), NULL, 'e543563465');
Insert into PROTRAC_DETAIL
(PK_PROJ_DETAIL_ID, FK_PROJ_MASTER_ID, TRACKIT_NUMBER, DETAIL_DESCRIPTION, DETAIL_STATUS,
DETAIL_STATUS_COMMENT, DATE_BEGIN, DATE_END, ESTIMATED_DATE, CREATEBY_DATE,
CREATEBY_USER, LASTMOD_DATE, LASTMOD_USER, TASK_TITLE)
Values
(48, 37, NULL, 'guitar heros! yay', 'Queued',
NULL, NULL, NULL, NULL, TO_DATE('11/03/2008 11:26:06', 'MM/DD/YYYY HH24:MI:SS'),
'LREDMOND', TO_DATE('11/03/2008 15:19:57', 'MM/DD/YYYY HH24:MI:SS'), NULL, '34444444444444543etfg');
COMMIT;This is for the resources table:
ALTER TABLE RESOURCES
DROP PRIMARY KEY CASCADE;
DROP TABLE RESOURCES CASCADE CONSTRAINTS;
CREATE TABLE RESOURCES
PK_RESOURCES_ID NUMBER,
FK_DETAIL_ID NUMBER,
EMP_ID NUMBER,
RESOURCE_STATUS VARCHAR2(8 CHAR),
RESOURCE_COMMENT VARCHAR2(4000 CHAR),
CREATEBY_DATE DATE,
CREATEBY_USER VARCHAR2(50 CHAR),
LASTMOD_DATE DATE,
LASTMOD_USER VARCHAR2(50 CHAR),
FK_MASTER_ID NUMBER
TABLESPACE DEVPROTRAC_DATA
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
CREATE UNIQUE INDEX RESOURCES_PK ON RESOURCES
(PK_RESOURCES_ID)
TABLESPACE DEVPROTRAC_DATA
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
CREATE OR REPLACE TRIGGER BUI_RESOURCES
before insert or update
on RESOURCES
referencing new as New old as Old
for each row
begin
if inserting then
select users_seq.nextval, sysdate, apex_application.g_user
into :new.pk_resources_id, :new.createby_date, :new.createby_user
from dual;
elsif updating then
select sysdate, apex_application.g_user
into :new.lastmod_date, :new.lastmod_user
from dual;
end if;
end;
SHOW ERRORS;
ALTER TABLE RESOURCES ADD (
CONSTRAINT RESOURCES_PK
PRIMARY KEY
(PK_RESOURCES_ID)
USING INDEX
TABLESPACE DEVPROTRAC_DATA
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
ALTER TABLE RESOURCES ADD (
FOREIGN KEY (FK_DETAIL_ID)
REFERENCES PROTRAC_DETAIL (PK_PROJ_DETAIL_ID),
FOREIGN KEY (FK_MASTER_ID)
REFERENCES PROTRAC_MASTER (PK_PROJ_MASTER_ID));
SET DEFINE OFF;
Insert into RESOURCES
(PK_RESOURCES_ID, FK_DETAIL_ID, EMP_ID, RESOURCE_STATUS, RESOURCE_COMMENT,
CREATEBY_DATE, CREATEBY_USER, LASTMOD_DATE, LASTMOD_USER, FK_MASTER_ID)
Values
(53, 50, 356654, 'Active', NULL,
TO_DATE('11/04/2008 09:32:06', 'MM/DD/YYYY HH24:MI:SS'), 'LREDMOND', NULL, NULL, NULL);
Insert into RESOURCES
(PK_RESOURCES_ID, FK_DETAIL_ID, EMP_ID, RESOURCE_STATUS, RESOURCE_COMMENT,
CREATEBY_DATE, CREATEBY_USER, LASTMOD_DATE, LASTMOD_USER, FK_MASTER_ID)
Values
(51, 41, 447250, 'Active', 'No Sure.',
TO_DATE('11/03/2008 14:23:11', 'MM/DD/YYYY HH24:MI:SS'), NULL, TO_DATE('11/04/2008 09:00:04', 'MM/DD/YYYY HH24:MI:SS'), NULL, 40);
Insert into RESOURCES
(PK_RESOURCES_ID, FK_DETAIL_ID, EMP_ID, RESOURCE_STATUS, RESOURCE_COMMENT,
CREATEBY_DATE, CREATEBY_USER, LASTMOD_DATE, LASTMOD_USER, FK_MASTER_ID)
Values
(54, 50, 323829, 'Active', NULL,
TO_DATE('11/04/2008 10:26:08', 'MM/DD/YYYY HH24:MI:SS'), 'LREDMOND', NULL, NULL, 38);
Insert into RESOURCES
(PK_RESOURCES_ID, FK_DETAIL_ID, EMP_ID, RESOURCE_STATUS, RESOURCE_COMMENT,
CREATEBY_DATE, CREATEBY_USER, LASTMOD_DATE, LASTMOD_USER, FK_MASTER_ID)
Values
(52, 33, 8915, 'Active', 'get to work',
TO_DATE('11/03/2008 15:20:18', 'MM/DD/YYYY HH24:MI:SS'), 'LREDMOND', TO_DATE('11/03/2008 15:35:10', 'MM/DD/YYYY HH24:MI:SS'), NULL, NULL);
COMMIT;The results I want is everything above regardless of emp_id assigned (if any). Without the r.emp_id = pps.emple_no join, the query will generate 234234239482304234 results.
Hope this helps.
Edited by: leland on Nov 4, 2008 12:56 PM -
Wrong display of No. of days worked in Payslip for mid-month joining
Dear Experts,
We use PE51, form editor for payslip for indian payrol. Our issue is when an employee joins mid of the month or say 4th of any month, still in payslip it shows no. of working days as 30/31 days instead of actual days worked. But pay results are correctly being calculated on factoring basis.
Please let me know how to resolve it, we use PCR ZNP1 for factoring which is written as follows
ZNP1 Partial factors for India - /801(CD), /802(WD), /803(WH),/804(Nom)
/801 Partial period factor 1
RTE=TKSOLL Set
RTE-TKAU** Subtraction
RTE*KGENAU Multiplication
RTE/TKDIVI Division
ADDWT * OT Output table
/802 Partial period factor 2
RTE=TASOLL Set
RTE-TAAU** Subtraction
RTE*KGENAU Multiplication
RTE/TADIVI Division
ADDWT * OT Output table
/803 Partial period factor 3
RTE=TSSOLL Set
RTE-TSAU** Subtraction
RTE*KGENAU Multiplication
RTE/TSDIVI Division
ADDWT * OT Output table
/804 Partial period factor 4
/805 Partial period factor 5
/806 Partial period factor 6
/807 Partial period factor 7
Please guide, if i need to modify it for getting correct working days display in payslip
Regards
Tanin that case the Requirement is to display no of working days of employee in a month
Here working days means
Total Calendar Days - Unpaid days - Paid days = working days ( please check the said one again since i have inculded the paid days and unpaid days if u want u can remove paid days)
so in order to fetch this
we need Calendar days that is TKSOLL
Unpaid days check the technical wage types /845 Paid days /846 ( you can have custom wage types too)
Copy a wage type from standrad overtime wage type that will be 1555
The PCR is as follows
NUM=TKSOLL (calendar Days)
NUM-E /846 Paid days
NUM-E /845
ADDWT 15555
Use ACTIO function and insert it any where in Sub Schema XT00 -
For the mid month new joiner the annual Conveyance exemption is coming incorrectly
Dear All,
For one of our client, we have have faced a uniqe issue.
If any employee join in the mid of the month, his prorated conveyance amount ( wage type 2020) is coming correctly. Suppose an employee joined at 16th of the month, system is calculating his conveyance for that month as INR 400 and which is correct.
However in his tax calculation for that particular month, system is taking INR 400*(rest of the month of the FY) in the wage type /4E3. which is incorrect. Suppose he joined in 16th April , system is calculating tax exemption 400*12=4800
Now if we run next month payroll , system is caculating the exemption properly. i.e. INR 400 + 800* rest of the month of the FY,
Please help
Regards
TirthaHi Tirtha,
system is calculating perfectly.
first of all system check the no. of present days and accordingly it give the amount in the wage type /3C3 conveyance amount monthly and /3C4 will give Conveyance monthly exemption and it will multiply with no. of months to the fiscal year end and store in the wage type /4E3.
for example check for PF:
Every month PF amount store in WT /3F1 and send to /3F5 and this WT multiplied with No. of months and store the Annual amount in wt /3F6.
Regards,
Praneeth kumar -
Mid Month Joining-PF Basis Calculation
Hi All,
I have an emplyee whose joining is in the 3rd week of the month 23.04.2011.
His basic is 25000, 8 days working basic is 6667.
I want to restrict his PF contribution to PF at 780 his actual contri coming as 800, 12% of basic.
Here i want that system should maintain his PF as 780 not 800.
I tried marking Eligible pay Or Pf BAsis Which ever is less but of no use.
I have already gone through the Threads which suggest to go through User Exit: Override Employer Pension Basis.But it is not for PF Basis.
If any PCR is available for the same ?
Can any body guide me on the same?Hi,
the system is working fine if the person is present in the trust the full month by selecting the Eligible Pay Or PF base pay
which ever is less.
But when it comes to joining in the end of the month say 23 or 25th of the month & the employee is present in the trust for 8 or 5 days & if i try to take the basic as 6500 although the basic is higher than 6500(actual basic 25000, ,8 days-6667),if i select the
Eligible Pay Or PF base pay which ever is less,either it doest take the 6500 consideration or it calculates PF as 208.
Puting the RT details here when Eligible Pay Or PF base pay which ever is less is selected.
/101 Total gross 11,223.33
/111 EPF Basis 6,666.67
/112 ESI Basis 11,223.33
/113 ESI Basis N 26,666.67 11,010.00
/114 HRA Basis 6,666.67
/115 COA/CLA Bas 9,973.33
/116 Gratuity Ba 6,666.67
/117 Superannuat 6,666.67
/120 Nom. ExGrat 26,666.67 6,666.67
/121 Nom. ExGrat 26,666.67 6,666.67
/124 Mon Reg Inc 9,973.33
/125 Mon Irr Inc 1,250.00
/128 Leave Encas 6,666.67
/129 Voluntary R 25,000.01
/134 Annual Non- 1,250.00
/136 1DSD Basis 6,666.67
/137 1DSD Basis 6,666.67
/138 Form 217 2( 11,223.33
/139 VPF Basis 6,666.67
/140 LWF Basis 6,880.00
/3F1 Ee PF contr0101 208.00
/3F3 Er PF contr0101 245.00
/3F4 Er Pension 0101 555.00
/3F5 Ee Mon PF c 208.00
/3F6 Ee Ann PF c 8,788.00
/3F7 EDLI contri0101 3,333,335.00
/3F8 EDLI adm ch0101 66,667.00
/3F9 PF adm chrg0101 7,333,337.00
/3FA PF basis fo0101 1,733.00
/3FB PF Basis fo0101 6,667.00
/3FC Pension Bas0101 6,667.00
/3FJ VPF basis f0101 1,733.00
/3FL PF Basis fo0101 6,667.00
/3I1 Deduction u 8,788.00
/3I2 Gross amoun 8,788.00 -
Hi
Is it possible to join an open path (created with the Pen Tool) to a close path (also created with the Pen Tool)?
Grechy01I want to create a complex piece of artwork by using line art created with the Pen Tool and color it by filling in the paths with the Live Paint Bucket. Anyway, I should be able achieve this with not much extra work by using overlapping closed paths, Average function (under Object --> Path) to align the point where the two closed paths cross, Pathfinder Merge function and multiple layers to remove the segments of the path that I don’t want and the Live Paint Bucket to color the artwork. If you can think of an easer way to do this please let me know.
-
Join is not working in webi report
I have let's say three tables; one fact and two dimensions;
I manually joined each dimension table with the fact with 1 to many cardinality...
Now I'm trying to run a test report using few fields from each dimension and it doesn't seem to join; in the SQL Viewer in Edit Query mode, it has two queries under Synchronization...it doesn't show a joined query between tables....
I have a similar setup in another universe that is out of the box solution and that seems to work just fine...
Am I missing something here...Please help!Hi Ahmed,
Along with the context that is present in your universe, check under the parameters the fifth tab i.e. the sql tab.
In this see whether the options are checked or not.
the options :
1.Multiple sql statements for each context.
2.Multiple sql statements for each measure.
Gaurav -
My wife and I have made many purchases over several years on seperate accounts, how could we join them into one account, without losing everything? We both use Iphone 5's and share an Imac at home.
Purchases using one Apple ID cannot be merged or transferred to another Apple ID. Purchases are forever tied to that Apple ID used. You have to decide which Apple you want to use for purchases and stick to that Apple ID so that you can share: Settings > iTunes & App Stores > Apple ID : > use the same Apple ID here to share purchases.
Maybe you are looking for
-
I can not open documents using adobe reader because I have to accept "end user agreement". How do I get to agreement?
-
RichEditableText with embedded images does not handle mouse events reliably
I'm using Flash Builder "Burrito". downloaded a couple of weeks ago. Flash Player 10.1.85.3 debug version. I have the following MXML object: <s:Scroller width="100%" height="100%" xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe
-
Web UI Builder: I have a device that responds to HTTP GET messages. I made a simple vi that uses the HTTP GET String function connected to a string constant and WireShark to monitor Ethernet traffic. When the vi is first run an HTTP message is sent a
-
Touch won't restore!!!
My father gave me a Touch as a gift, and while I was restoring the defaults on it, my computer crashed. Now it won't do anything. It tells me it's in restore mode, and must be completed, but when I try to restore it, it gets half way through the proc
-
How to properly setup domain name ISP v. Registrar
Mac OS Server 10.6 (SLS). I have a static IP which my ISP assigned an alias for ease of their management. I have a domain name from a registrar (not from the same ISP) which is registered using their DNS with an MX record, A records, etc (they do not