COMPLEX PO - NO FUNCTIONALITY TO REDUCE TO VALUE OF RETAINAGE HELD
Hi,
R12 Purchasing provides Retainage functionality. Retainage represents funds withheld from payment to ensure that the contractor finishes work as agreed. The buying organization releases these funds only after verifying that the contractor has fulfilled all contractual obligations. Retainage is also called "retention" or "contractual withholds".
The only way to reduce the Retainage amount held is to create a retainage release invoice which then pays the Supplier.
No functionality is provided to reduce the value of the retainage down to reflect the buying companies use of the funds to penalise the contractor if they have not fulfilled all contractual obligations.
This is an incomplete solution. the purpose of retainage is to provide the buying company funds to recompense failure of the selling company. But how do we record use of those funds?
If there is no mechanism to reduce the value of the retainage held then the value is always available to be paid to the contractor
Thanks
Umesh
Edited by: Umesh Chandra Moharana on Jun 25, 2009 4:05 PM
Edited by: Umesh Chandra Moharana on Jul 2, 2009 9:40 AM
Umesh
If you want to partially pay (out of retained amount), create AP invoice manually (which is the way to get rid of retained amount) for that amount and pass GL entries in GL for the remaining.
If decide not to pay at all, you can either manually pass entries in GL or enter AP invoice manually and cancel the invoice and pass entries manually to get rid of retained account value.
Also something can be done in the SLA to create these entires automatically (with custom AAD)
Thanks
Nagamohan
Similar Messages
-
Use Planning Function to calculate new value
Hi All,
I have what seems to be a simple problem, but no success in resolving.
I have 3 planning keyfigures:
-Units
-Price
-Value
The price field is populated from another planning sheet.
The unit field is entered by the user.
The value should be calculated by planning function when button pushed.
I have tried just basic "Value=Units*Price", but always comes back zero.
I have also tried more complex "{Value, CharA, CharB, CharC} = {Units, CharA, CharB...." for each characteristic. Still zero.
It must be multipling by zero, but not sure how to avoid.
If I put "Value=Price", it works. If I put "Value=Units", it works. If I put "Value=Units+Price", it works.
Please help.
Terrence
Here is the details.
In the infoprovider the data is like this:
Country/ Product/ Unit Sales/ Price/ Value
DE/ Shirt/ 50/ 0/ 0
DE/ Shirt/ 0/ 100.00/ 0
The query is display:
Country/ Product/ Unit Sales/ Price/ Value
DE/ Shirt/ 50/ 100.00/ 0
I have tried the following 2 formulas:
Formula 1:
= {Unit Sales} *
Formula 2:
FOREACH Country, Product.
{Value, Country, Product} = {Unit Sales, Country, Product} * {Price, Country, Product}
ENDFOR.
Both return zero for values.
Thanks,
Terrence
Here is the details.
In the infoprovider the data is like this:
Country/ Product/ Unit Sales/ Price/ Value
DE/ Shirt/ 50/ 0/ 0
DE/ Shirt/ 0/ 100.00/ 0
The query is display:
Country/ Product/ Unit Sales/ Price/ Value
DE/ Shirt/ 50/ 100.00/ 0
I have tried the following 2 formulas:
Formula 1:
= {Unit Sales} *
Formula 2:
FOREACH Country, Product.
{Value, Country, Product} = {Unit Sales, Country, Product} * {Price, Country, Product}
ENDFOR.
Both return zero for values.
Thanks,
Terrence
Derelease of Purchase order in case of reducing the value
Hi Friends,
When ever we increase the value in Purchase Order it will derelease.
But we want to derelease the Purchase Orders if we reduce the value
also. Can we do this with any user exit or BADI.
We also want to have if any changes happen in perticular field, it shoudl DERELEASE PO, how to do this ?
Regards,
Sai Krishna
Hi,
We can do using the following logic / BADI / user exit:
User exit
During the individual release for purchase requisitions, the user exit is called in function module ME_REL_STRATEGIE_EBAN, in the overall release, it is called in function module ME_REL_GENERAL_STRATEGY_EBAN.
(Enhancement M06B0002, EXIT_SAPLEBND_001, ZXM06U13)
During the release for purchase orders the user exit in function module ME_REL_STRATEGIE_EKKO is called, in releases > 3.1X in program MM06EF0S_STRATEGIE_CEKKO (Enhancement M06E0004, EXIT_SAPLEBND_002, ZXM06U22).
The data is available in the user exit in structure I_CEBAN or I_CEKKO. The transfer from this structure to the calling program runs using structure E_CEBAN or E_CEKKO. In the user exit, I_CEBAN must be copied to E_CEBAN or I_CEKKO must be copied to E_CEKKO anywhere in the user exit, for example E_CEBAN = I_CEBAN.
Regards
Calling function from list of values section?
can i call a function from list of values(LOV) section as well? I know we can sql query but udf is supported?
See this recent thread: Display as Text (LOV) or join
Scott
Function which returns multiple values that can then be used in an SQL Sele
I'd like to create a function which returns multiple values that can then be used in an SQL Select statement's IN( ) clause
Currently, the select statement is like (well, this is a very simplified version):
select application, clientid
from tbl_apps, tbl_status
where tbl_apps.statusid = tbl_status.statusid
and tbl_status.approved > 0;
I'd like to pull the checking of the tbl_status into a PL/SQL function so my select would look something like :
select application, clientid
from tbl_apps
where tbl_apps.statusid in (myfunction);
So my function would be running this sql:
select statusid from tbl_status where approved > 0;
... will return values 1, 5, 15, 32 (and more)
... but I haven't been able to figure out how to return the results so they can be used in SQL.
Thanks for any help you can give me!!
Trisha Gorr
Perhaps take a look at pipelined functions:
Single column example:
SQL> CREATE OR REPLACE TYPE split_tbl IS TABLE OF VARCHAR2(32767);
2 /
Type created.
SQL> CREATE OR REPLACE FUNCTION split (p_list VARCHAR2, p_delim VARCHAR2:=' ') RETURN SPLIT_TBL PIPELINED IS
2 l_idx PLS_INTEGER;
3 l_list VARCHAR2(32767) := p_list;
4 l_value VARCHAR2(32767);
5 BEGIN
6 LOOP
7 l_idx := INSTR(l_list, p_delim);
8 IF l_idx > 0 THEN
9 PIPE ROW(SUBSTR(l_list, 1, l_idx-1));
10 l_list := SUBSTR(l_list, l_idx+LENGTH(p_delim));
11 ELSE
12 PIPE ROW(l_list);
13 EXIT;
14 END IF;
15 END LOOP;
16 RETURN;
17 END SPLIT;
18 /
Function created.
SQL> SELECT column_value
2 FROM TABLE(split('FRED,JIM,BOB,TED,MARK',','));
COLUMN_VALUE
FRED
JIM
BOB
TED
MARK
SQL> create table mytable (val VARCHAR2(20));
Table created.
SQL> insert into mytable
2 select column_value
3 from TABLE(split('FRED,JIM,BOB,TED,MARK',','));
5 rows created.
SQL> select * from mytable;
VAL
FRED
JIM
BOB
TED
MARK
SQL>Multiple column example:
SQL> CREATE OR REPLACE TYPE myrec AS OBJECT
2 ( col1 VARCHAR2(10),
3 col2 VARCHAR2(10)
4 )
5 /
Type created.
SQL>
SQL> CREATE OR REPLACE TYPE myrectable AS TABLE OF myrec
2 /
Type created.
SQL>
SQL> CREATE OR REPLACE FUNCTION pipedata(p_str IN VARCHAR2) RETURN myrectable PIPELINED IS
2 v_str VARCHAR2(4000) := REPLACE(REPLACE(p_str, '('),')');
3 v_obj myrec := myrec(NULL,NULL);
4 BEGIN
5 LOOP
6 EXIT WHEN v_str IS NULL;
7 v_obj.col1 := SUBSTR(v_str,1,INSTR(v_str,',')-1);
8 v_str := SUBSTR(v_str,INSTR(v_str,',')+1);
9 IF INSTR(v_str,',')>0 THEN
10 v_obj.col2 := SUBSTR(v_str,1,INSTR(v_str,',')-1);
11 v_str := SUBSTR(v_str,INSTR(v_str,',')+1);
12 ELSE
13 v_obj.col2 := v_str;
14 v_str := NULL;
15 END IF;
16 PIPE ROW (v_obj);
17 END LOOP;
18 RETURN;
19 END;
20 /
Function created.
SQL>
SQL> create table mytab (col1 varchar2(10), col2 varchar2(10));
Table created.
SQL>
SQL> insert into mytab (col1, col2) select col1, col2 from table(pipedata('(1,2),(2,3),(4,5)'));
3 rows created.
SQL>
SQL> select * from mytab;
COL1 COL2
1 2
2 3
4 5
Analytic function to retrieve a value one year ago
Hello,
I'm trying to find an analytic function to get a value on another row by looking on a date with Oracle 11gR2.
I have a table with a date_id (truncated date), a flag and a measure. For each date, I have at least one row (sometimes 2), so it is gapless.
I would like to find analytic functions to show for each date :
sum of the measure for that date
sum of the measure one week ago
sum of the measure one year ago
As it is gapless I managed to do it the week doing a group by date in a subquery and using a LAG with offset set to 7 on top of it (see below).
However I'm struggling on how to do that for the data one year ago as we might have leap years. I cannot simply set the offset to 365.
Is it possible to do it with a RANGE BETWEEN window clause? I can't manage to have it working with dates.
Week :LAG with offset 7
SQL Fiddle
or
create table daily_counts
date_id date,
internal_flag number,
measure1 number
insert into daily_counts values ('01-Jan-2013', 0, 8014);
insert into daily_counts values ('01-Jan-2013', 1, 2);
insert into daily_counts values ('02-Jan-2013', 0, 1300);
insert into daily_counts values ('02-Jan-2013', 1, 37);
insert into daily_counts values ('03-Jan-2013', 0, 19);
insert into daily_counts values ('03-Jan-2013', 1, 14);
insert into daily_counts values ('04-Jan-2013', 0, 3);
insert into daily_counts values ('05-Jan-2013', 0, 0);
insert into daily_counts values ('05-Jan-2013', 1, 1);
insert into daily_counts values ('06-Jan-2013', 0, 0);
insert into daily_counts values ('07-Jan-2013', 1, 3);
insert into daily_counts values ('08-Jan-2013', 0, 33);
insert into daily_counts values ('08-Jan-2013', 1, 9);
commit;
select
date_id,
total1,
LAG(total1, 7) OVER(ORDER BY date_id) total_one_week_ago
from
select
date_id,
SUM(measure1) total1
from daily_counts
group by date_id
order by 1;
Year : no idea?
I can't give a gapless example, would be too long but if there is a solution with the date directly :
SQL Fiddle
or add this to the schema above :
insert into daily_counts values ('07-Jan-2012', 0, 11);
insert into daily_counts values ('07-Jan-2012', 1, 1);
insert into daily_counts values ('08-Jan-2012', 1, 4);
Thank you for your help.
Floyd
Hi,
Sorry, I;m not sure I understand the problem.
If you are certain that there is at least 1 row for every day, then you can be sure that the GROUP BY will produce exactly 1 row per day, and you can use LAG (total1, 365) just like you already use LAG (total1, 7).
Are you concerned about leap years? That is, when the day is March 1, 2016, do you want the total_one_year_ago column to reflect March 1, 2015, which was 366 days earlier? If that case, use
date_id - ADD_MONTHS (date_id, -12)
instead of 365.
LAG only works with an exact number, but you can use RANGE BETWEEN with other analytic functions, such as MIN or SUM:
SELECT DISTINCT
date_id
, SUM (measure1) OVER (PARTITION BY date_id) AS total1
, SUM (measure1) OVER ( ORDER BY date_id
RANGE BETWEEN 7 PRECEDING
AND 7 PRECEDING
) AS total1_one_week_ago
, SUM (measure1) OVER ( ORDER BY date_id
RANGE BETWEEN 365 PRECEDING
AND 365 PRECEDING
) AS total1_one_year_ago
FROM daily_counts
ORDER BY date_id
Again, use date arithmetic instead of the hard-coded 365, if that's an issue.
As Hoek said, it really helps to post the exact results you want from the given sample data. You're miles ahead of the people who don't even post the sample data, though.
You're right not to post hundreds of INSERT statements to get a year's data. Here's one way to generate sample data for lots of rows at the same time:
-- Put a 0 into the table for every day in 2012
INSERT INTO daily_counts (date_id, measure1)
SELECT DATE '2011-12-31' + LEVEL
, 0
FROM dual
CONNECT BY LEVEL <= 366
Using Javascript function to change the value of a request variable
Have a javascript function that activates onchange within a form variable. Would like the javascript function to change the value of a request variable.
The javascript function is able to obtain the current value of the request variable ( which is 0 ) however I am unsuccessful in changing the value to 1.
I have been trying to use the following:
var vchange = 'request.changes_made = 1 ;' ;
eval(vchange);
Any ideas?
If the user makes a change to the content of the form, and then attempts to leave the form, a javascript alert pops up giving the user the option of cancelling the submit, returning to the form and saving it.
If there have been no changes, then the user is free to migrate to another page.
This process is to protect users from losing valuable information but not to annoy them with "R U Sure" messages.
Knowing the status of the form content is important to the functionality of the application.
G
How to create a procedure function with a return value of ref cursor?
Can anybody provide a sample about how to create a procedure function with a return value of REF CURSOR?
I heard if I can create a function to return a ref cursor, I can use VB to read its recordset.
Thanks a lot.
http://osi.oracle.com/~tkyte/ResultSets/index.html
Function module for retrieving values of the Characteristics?
Hi,
is there a function module for retrieving values of the Characteristics?
will reward,
regards,
M.
Hello,
Check this.
L_OBJECT = G_T_STPO-IDNRK.
*--- Merkmale incl. Bewertung zum Objekt/Klassenart lesen ----------*
CALL FUNCTION 'CLAF_CLASSIFICATION_OF_OBJECTS'
EXPORTING
CLASSTEXT = 'X'
CLASSTYPE = '300'
FEATURES = 'X'
LANGUAGE = SY-LANGU
OBJECT = L_OBJECT
INITIAL_CHARACT = ' ' "keine unbewertete M.
OBJECTTABLE = 'MARA'
KEY_DATE = SY-DATUM
* NO_VALUE_DESCRIPT =
CHANGE_SERVICE_CLF = 'X'
INHERITED_CHAR = 'X'
TABLES
T_CLASS = H_CLASS
T_OBJECTDATA = H_CLOBJDAT
EXCEPTIONS
NO_CLASSIFICATION = 1
NO_CLASSTYPES = 2
INVALID_CLASS_TYPE = 3
OTHERS = 4.
Regards,
Vasanth
Function Modules for indirect values
What are the function modules for indirect values?
Hi,
The SAP function module for indirect valuation of wages is RP_FILL_WAGE_TYPE_TABLE_EXT.
Also, if indirect valuation is being used, the annual salary field ANSAL also may not be populated. Again, there are some SAP function modules to help us out:
RP_ANSAL_FROM_PERNR - Use this one if all you have is PERNR
RP_ANSAL_FROM_INFOTYPE - Good if you have already data for infotypes 0001 & 0008
RP_ANSAL_FROM_WAGETYPES - It requires a list of wage types used in 8 .
by
Prasad gvk.
Line Charts - X-axis Labels as function of X-axis value
Hi,
1) Is there a way to put X-Axis labels in line chart as function of X-axis values ?
For instance, X-axis values are in minutes and I need to show those as Hours.
I'm having Hours as separate column as well, but when its selected as X-axis value column, the line graph is disturbed.
2) Also, how to specify the length/range of X-axis ?
For instance, in dataset if I've x-axis values from 0 to 5 hours but still want to show on graph the X-axis till 8 hours.
Thanks for your help in advance.
Regards,
Sumit
Hi Sumit,
I have tried following things with proper datetime format may be help you.
1> in your applet code you can add below param
<PARAM NAME="XAxisDateFormat" VALUE="H">
it will display your levels in hours for more details please refer Date and Time Format under query template in MII help.
2>In your Query template under date range you can select duration and duration unit.
for 8 hour span you can select Duration = 8 and in duration unit = H
I have tested it for a tag query, may be i did not understand your issue properly but hope it helps you!!!
Regards,
Manoj Bilthare
Hello our business wants to reduce the tax value of an asset.
I created two transaction types by copying 200/250 and restricted them to the tax area only. Is this the right way? the asset has two transactions as a result of settlements from Asset Under construction in the current year. When I try to post a retirement to reduce the value of the asset I am getting an error message
The asset has a lot of value this year( I just
Check amount entered (Amount is too high)
Message no. AA317
Diagnosis
The retirement amount entered is higher than the sum of the transactions changing the acquisition value in area . Taking into account the entered asset value date and the posting period, the maximum retirement amount is 1.00.
Procedure
Check the asset value date, the posting period, and the retirement amount.
If there are also acquisitions from previous years on the asset, then you have to post the retirement of the acquisitions from previous years separately, using a different transaction type
Hi,
From your inputs, its been understood two TTY's created with standard transactions types 200/250.
200 - Retirement without revenue, 250 - Retirement of current year acquisition w/o revenue.
Therefore we would like you to use TTY 250 for the retiring the APC cost of current year acquistion and also you must remember that the retirement cost cannot be greater than the APC costs.
Please let me know if you stil have any issues.
Regards
Govindarajan
Function not returning right value
I have this following function, based on the return value from this function, I am inserting a row into the GROUP_MAP table.
This function is returning a value greater than zero even though constrains would not let it select any rows.
It looks as if it is not applying the "AND STRING_CODE = String_Code" constraint to the result set. If there are two records matching the groupOID I passed it is returning two as the count(*). I checked by executing the query directly and I got 0 as the result. I sounds so strange. Is there any thing I am doing wrong ?
Thanks in Advance,
-Bhasker
FUNCTION FIND_CODE_GROUP (groupOID IN NUMBER, String_Code IN VARCHAR2)
RETURN NUMBER
AS
RETURN_VAL NUMBER(10);
BEGIN
RETURN_VAL := 0;
SELECT
COUNT(*)
INTO
RETURN_VAL
FROM
GROUP_MAP
WHERE
STRING_GROUP = groupOID AND STRING_CODE = String_Code;
DBMS_OUTPUT.PUT_LINE('RETURN_VAL:'|| RETURN_VAL || ' String code : ' || STRING_CODE);
RETURN(RETURN_VAL);
EXCEPTION
WHEN OTHERS THEN
RETURN(0);
END FIND_CODE_GROUP;
FUNCTION FIND_CODE_GROUP (groupOID IN NUMBER, String_Code IN VARCHAR2)
RETURN NUMBER
AS
RETURN_VAL NUMBER(10);
BEGIN
RETURN_VAL := 0;
SELECT
COUNT(*)
INTO
RETURN_VAL
FROM
GROUP_MAP
WHERE
STRING_GROUP = groupOID AND STRING_CODE = String_Code;The second parameter to your function has the same name as the column name "STRING_CODE" in your table. You should change
the name of your second parameter to something other than "STRING_CODE".
XMLTABLE function not returning any values if xml has attribute "xmlns"
Hi,
XMLTABLE function not returning any values if xml has attribute "xmlns". Is there way to get the values if xml has attribute as "xmlns".
create table xmltest (id number(2), xml xmltype);
insert into xmltest values(1,
'<?xml version="1.0"?>
<emps>
<emp empno="1" deptno="10" ename="John" salary="21000"/>
<emp empno="2" deptno="10" ename="Jack" salary="310000"/>
<emp empno="3" deptno="20" ename="Jill" salary="100001"/>
</emps>');
insert into xmltest values(2,
'<?xml version="1.0"?>
<emps xmlns="http://emp.com">
<emp empno="1" deptno="10" ename="John" salary="21000"/>
<emp empno="2" deptno="10" ename="Jack" salary="310000"/>
<emp empno="3" deptno="20" ename="Jill" salary="100001"/>
</emps>');
commit;
SELECT a.*
FROM xmltest,
XMLTABLE (
'for $i in /emps/emp
return $i'
PASSING xml
COLUMNS empno NUMBER (2) PATH '@empno',
deptno NUMBER (3) PATH '@deptno',
ename VARCHAR2 (10) PATH '@ename',
salary NUMBER (10) PATH '@salary') a
WHERE id = 1;
The above query returning results but below query is not returning any results because of xmlns attribute.
SELECT a.*
FROM xmltest,
XMLTABLE (
'for $i in /emps/emp
return $i'
PASSING xml
COLUMNS empno NUMBER (2) PATH '@empno',
deptno NUMBER (3) PATH '@deptno',
ename VARCHAR2 (10) PATH '@ename',
salary NUMBER (10) PATH '@salary') a
WHERE id = 1;
how to get rid out of this problem.
Thanks,
-Mani
Added below one in xmltable, its working now.
XmlNamespaces(DEFAULT 'http://emp.com')
Function to compare particular value with LOV Additional Description column
Hi,
Is there an existing function that compares a value with the "Additional Description" of a particular LOV ?
Can the comparison be done by "Adminstration - Personalization"?
Sorry & thanks sathish,
Now i got the result.
SQL> select DECISIONED_STAGE_ID,DECISIONED_STAGE_USER_ID from naap10_application where APP_DECISION_DATE BETWEEN TO_DATE ('31.01.2007 00:00:00', 'DD.MM.YYYY HH24:MI:SS') AND TO_DATE ('31.01.2007 23:59:59', 'DD.MM.YYYY HH24:MI:SS')
2 and application_id=2007010028552;
DECISIONED_STAGE_ID DECISIONED_STAG
2006060113 SYSTEM
================================
But one doubt,
When i created the column with the date datatype how it gets the time value,
And in one environment db i got the result but in another environment i dont get,
Shall i want to change any session status of date?
Maybe you are looking for
-
SAP Memory, Set and Get parameter
Hi All, I am running two programs in background from program1 Eq: Program1 --> Calls 2 programs Program1_01.(First Program) Program2_01(Second Program). Programs1 schedules Program1_01 and Prog
-
I cant download apps ... im stuck ??
i try to download apps and i cant ... it asked me for a number which is only 10 numbers long ? and says select state .. Can any1 help me ?
-
Problem while connecting the Weblogic Domain to MySql5.
Hi, I would like to send you the entire stacktrace.. JAVA Memory arguments: -Xms256m -Xmx768m -XX:CompileThreshold=8000 -XX:PermSize=128m -XX:MaxPermSize=192m WLS Start Mode=Development CLASSPATH=;C:\WEBLOG~1\patch_wlw1030\profiles\default\sys_manife
-
ITunes 6.0 not compatible with fifth generation Nano
Just bought a new Nano but can't upload tracks onto it as iTunes version 6.0 isn't new enough for it. I wasn't given CD with the iPod and don't have internet access on my home PC to download the latest version onto. Any thoughts? Windows XP
-
General exception in deploy transformation for object "ZWAD_PPQM_Q009.
hi experts I am getting this error when i am tring to access report General exception in deploy transformation for object "ZWAD_PPQM_Q009. thanks