Global Temp Tables in a Stored Proc
Hi All,
I'm trying to create a procedure that creates some tables and then creates global temporoay tables. This runs fine in a scrupt but when I place it in a proc, it fails with the following error
Error(172,10): PLS-00103: Encountered the symbol "TABLE" when expecting one of the following: := . ( @ % ;
I'm using the code below to create the global temp tables but I don't think you can do this in a procedure????
TRUNCATE TABLE TMP_table;
DROP TABLE TMP_table;
CREATE GLOBAL TEMPORARY TMP_table
ON COMMIT PRESERVE ROWS
AS SELECT
Thanks for any help given
Why are you trying to create a temporary table in a stored procedure?
In Oracle, you almost certainly want to create the temporary table once at compile time just like any other table. The difference is that the data in a temporary table is local to the session.
If you really wanted to execute DDL in a stored procedure, you'd need to use dynamic SQL. But it's almost always a bad idea to do so.
Justin
Similar Messages
-
Update Global Temp Table in Oracle 11g
Hi Experts,
Scenario: I have stored procedure A which calls procedure B. Procedure B uses Global temp Tables(With On Commit Preserve Rows) to work with the data.
I am trying to update one of the GTT in Proc B but unable to do it .. via SQL or via PL/SQL Cursor/Collection. There is no syntax nor logical error and the PL/SQL proc completes execution successfully but the rows are not getting updated. My Db version is Oralce 11g 11203.
Update statement is something like this.
Update <GTT>
SET amount1 = amount1 *-1, amount2 = amount2 *-1
where field1 = <value>
and field2 in ( Select filed2 from <table1> );
Any idea why would this update not work? Has anyone faced this issue in Oracle 11g??
Appreciate your suggestions & thanks in Advance for your inputs.
Cheers,
MSUpdate statement is something like this.
Update <GTT>
SET amount1 = amount1 *-1, amount2 = amount2 *-1
where field1 = <value>
and field2 in ( Select filed2 from <table1> );
Any idea why would this update not work?
You already told us that it DOES work - no errors or exceptions.
It is trivial to determine if that update will do anything - just turn it into a SELECT and see if any rows are ntselected:
v_cnt INTEGER;
SELECT COUNT(*) INTO v_cnt FROM myGTT
WHERE field1 = <value>
AND field2 in (Select field2 from <tablee1>);
Then take a look at the 'count' that you get. -
How can I get rid of Global Temp Table
Hello,
I've been writing PL/SQL stored proc for creating reports on VB.NET front end. Until now, I've been using session specific global temp table to store intermediate results and at the end I pass the result set to .NET via reference cursor. The reports are created by simply binding the ref cursor result sets to .NET grids. It's been working fine, but I am kind of bothered by the temp tables. I looked on other options, but couldn't really come up with one.
Can somebody suggest me how I can get rid of those temp tables? Thanks,Tubby, that's exactly I was trying to do. I think that table type has to be defined in database, not within PL/SQL. How can I create that table of user defined record type? I tried that, but it doesn't allow me. I think I am missing something. For example,
create type group_t is record
(A varchar2,
B number,
C number)
now inside sp, i have something like:
type my_group is table of group_t index by binary_integer
now I have sp cursor as
cursor cur_test IS 'ABC' as A, 1 as B, 5 as C
now i do something like this. My original queries are longer and much more complicated so please don't suggest you can directly open ref cursor for this query.
FETCH cur_test BULK COLLECT INTO my_group;
Then I do all the processing, calculations, totals, sub-totals, and insert into temp table and return via ref cursor.
My problem is I can't directly fetch into the above table you mentioned. How should I go about in this situation?
Maybe I should STOP thinking about this approach and just do whatever I've been doing or solve it through pure SQL. However, there are tons of problems with pure SQL approach. -
Global Temp Table, always return zero records
I call the procedure which uses glbal temp Table, after executing the Proc which populates the Global temp table, i then run select query retrieve the result, but it alway return zero record. I am using transaction in order to avoid deletion of records in global temp table.
whereas if i do the same thing in SQL navigator, it works
Cn.ConnectionString = Constr
Cn.Open()
If FGC Is Nothing Then
Multiple = True
'Search by desc
'packaging.pkg_msds.processavfg(null, ActiveInActive, BrandCode, Desc, Itemtype)
SQL = "BEGIN packaging.pkg_msds.processavfg(null,'" & _
ActiveInActive & "','" & _
BrandCode & "','" & _
Desc & "','" & _
Itemtype & "'); end;"
'Here it will return multiple FGC
'need to combine them
Else
'search by FGC
SQL = "BEGIN packaging.pkg_msds.processavfg('" & FGC & "','" & _
ActiveInActive & "','" & _
BrandCode & "',null,null); end;"
'will alway return one FGC
End If
' SQL = " DECLARE BEGIN rguo.pkg_msds.processAvedaFG('" & FGC & "'); end;"
Stepp = 1
Cmd.Connection = Cn
Cmd.CommandType = Data.CommandType.Text
Cmd.CommandText = SQL
Dim Trans As System.Data.OracleClient.OracleTransaction
Trans = Cn.BeginTransaction()
Cmd.Transaction = Trans
Dim Cnt As Integer
Cnt = Cmd.ExecuteNonQuery
'SQL = "SELECT rguo.pkg_msds.getPDSFGMass FROM dual"
SQL = "select * from packaging.aveda_mass_XML"
Cmd.CommandType = Data.CommandType.Text
Cmd.CommandText = SQL
Adp.SelectCommand = Cmd
Stepp = 2
Adp.Fill(Ds)
If Ds.Tables(0).Rows.Count = 0 Then
blError = True
BlComposeXml = True
Throw New Exception("No Record found for FGC(Finished Good Code=)" & FGC)
End If
'First Row, First Column contains Data as XML
Stepp = 0
Trans.Commit()Hi,
This forum is for Oracle's Data Provider and you're using Microsoft's, but I was curious so I went ahead and tried it. It works fine for me. Here's the complete code I used, could you point out what are you doing differently?
Cheers,
Greg
create global temporary table abc_tab(col1 varchar2(10));
create or replace procedure ins_abc_tab(v1 varchar2) as
begin
insert into abc_tab values(v1);
end;
using System;
using System.Data;
using System.Data.OracleClient;
class Program
static void Main(string[] args)
OracleConnection con = new OracleConnection("data source=orcl;user id=scott;password=tiger");
con.Open();
OracleTransaction txn = con.BeginTransaction();
OracleCommand cmd = new OracleCommand("begin ins_abc_tab('foo');end;", con);
cmd.Transaction = txn;
cmd.ExecuteNonQuery();
cmd.CommandText = "select * from abc_tab";
OracleDataAdapter da = new OracleDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
Console.WriteLine("rows found: {0}", ds.Tables[0].Rows.Count);
// commit, cleanup, etc ommitted for clarity
} -
Global Temp Table or PL/SQL Table
I am trying to determine if this can be done only using PL/SQL table. If not, will the usage of the global temp table affects the performance.
Here is the situation,
I have a data block that is based on a stored procedure. This stored procedure will return table of records from different database tables with join conditions. Some of the fields within the table of records will not have data returned from database tables. They will be the fields displayed on the form and the data will be entered by user.
For example:
Records will look like:
Id (will be populated by procedure)
Hist_avg (will be populated by procedure)
My_avg (will be used as field on the form so that user can enter their own avg)
Cheked (will be populated by procedure)
My questions are:
1. Is this doable in form using a data block based on PL/SQL table?
2. Will users be able to manipulate (update) the data that based on the PL/SQL table in the memory as they wish and invoke the procedure to update the underlying table when clicking on a button (Update Avg)?
3. What is the advantage of using PL/SQL table and global temp table from database and form point of views?
Any info is appreciated.Hi there...
Here is the Reference...
http://asktom.oracle.com/pls/ask/f?p=4950:8:2939484874961025998::NO::F4950_P8_DISPLAYID,F4950_P8_CRITERIA:604830985638
Best Regards...
Muhammad Waseem Haroon -
Global Temp Table Data Deleted Before Use
Hi All,
My application sends query to Procedure as input by using which data is inserted in Global Temp Table but when want to use inserted data in Application there are no records in table.
There is no implicit or explicit Commit after data insertion. If I use ON COMMIT PRESERVE ROWS option during global table creation, still records are deleted from temp table .....Application don't gets records.
What may be other reasons.
Thanks in Advance.
Rakesh-Indiabro u need to explicity use COMMIT for preserve transactions. the clause for the global temporary table states ON COMMIT; meaning if u commit ...got it now.
explicitly commiting the transactions after insert worked.
Now the global temp tab are session based, other user session cannot access the inserted rows.
If commiting the transaction doesn't work then u should retrieve the inserted rows within the procedure or at the end of the proc code the data may be truncated... but commiting the transactions should work easily.
zaibi. -
Multiple users accessing the same data in a global temp table
I have a global temp table (GTT) defined with 'on commit preserve rows'. This table is accessed via a web page using ASP.NET. The application was designed so that every one that accessed the web page could only see their data in the GTT.
We have just realized that the GTT doesn't appear to be empty as new web users use the application. I believe it has something to do with how ASP is connecting to the database. I only see one entry in the V$SESSION view even when multiple users are using the web page. I believe this single V$SESSION entry is causing only one GTT to be available at a time. Each user is inserting into / selecting out of the same GTT and their results are wrong.
I'm the back end Oracle developer at this place and I'm having difficulty translating this issue to the front end ASP team. When this web page is accessed, I need it to start a new session, not reuse an existing session. I want to keep the same connection, but just start a new session... Now I'm losing it.. Like I said, I'm the back end guy and all this web/connection/pooling front end stuff is magic to me.
The GTT isn't going to work unless we get new sessions. How do we do this?
Thanks!DGS wrote:
I have a global temp table (GTT) defined with 'on commit preserve rows'. This table is accessed via a web page using ASP.NET. The application was designed so that every one that accessed the web page could only see their data in the GTT.
We have just realized that the GTT doesn't appear to be empty as new web users use the application. I believe it has something to do with how ASP is connecting to the database. I only see one entry in the V$SESSION view even when multiple users are using the web page. I believe this single V$SESSION entry is causing only one GTT to be available at a time. Each user is inserting into / selecting out of the same GTT and their results are wrong.
I'm the back end Oracle developer at this place and I'm having difficulty translating this issue to the front end ASP team. When this web page is accessed, I need it to start a new session, not reuse an existing session. I want to keep the same connection, but just start a new session... Now I'm losing it.. Like I said, I'm the back end guy and all this web/connection/pooling front end stuff is magic to me.
The GTT isn't going to work unless we get new sessions. How do we do this?
Thanks!You may want to try changing your GTT to 'ON COMMIT DELETE ROWS' and have the .Net app use a transaction object.
We had a similar problem and I found help in the following thread:
Re: Global temp table problem w/ODP?
All the best. -
Inserting data in global temp table?
Hello experts,
i have a form having base table master and detail. i can insert upadate the records.
requirement: creating the global temp table for same form. sothat data save only form session.
for this i created 2 global temp table having same structure required for same form.
i changes the property for block as base table to global temp table.
now i am trying to save the records but not going in the temp table. as i changes the block base table property to temp tables
as well as advance data block properties also .
please tell me the reason? where can be the problem.
thanks yash
Edited by: yash_08031983 on Apr 16, 2012 1:27 AMi am trying to save the records but not going in the temp table.How do you check that? You cannot go to sqlplus and check if there are any records in the GTT. Data in a GTT is only visible in the current session (= only in the form).
What is the use of a GTT here? What are you trying to achieve? -
Global Temp table Vs Regular table
Hi,
I need a temp table to store few IDs (which I select from a complex query). I would be deleting the data from the temp table at the end of the session.
From a performance perspective, I was wondering if I should be using a GLOBAL temporary table or just a regular table in which I will manually delete rows at the end.
The tkprof showed using the global temp table expensive. If yes, I just want to confirm it and know why it is the case.
Thanks!
AnandAssuming that the cursor you open to get the transaction_id actually has a where clause, and refraining from comment on the need for dynamic column lists, I would likely do it something like:
DECLARE
lv_query VARCHAR2 (32767);
l_col_list VARCHAR2(4000);
BEGIN
l_col_list := control_module_common_pkg.get_columns('EPOS_TRANSACTION_HEADER',
FALSE);
lv_query := 'INSERT INTO AK_TRANSACTION_HEADER ('||l_col_list||
' ) SELECT '||l_col_list||' FROM EPOS_TRANSACTION_HEADER
WHERE ETH_TRANSACTION_ID IN (SELECT eth_transaction_id
FROM epos_transaction_header
WHERE <whatever would be in the cursor>)';
EXECUTE IMMEDIATE lv_query;
COMMIT;
END;If there really is no where clause ion the cursor, then it would simply be:
DECLARE
lv_query VARCHAR2 (32767);
l_col_list VARCHAR2(4000);
BEGIN
l_col_list := control_module_common_pkg.get_columns('EPOS_TRANSACTION_HEADER',
FALSE);
lv_query := 'INSERT INTO AK_TRANSACTION_HEADER ('||l_col_list||
' ) SELECT '||l_col_list||' FROM EPOS_TRANSACTION_HEADER';
EXECUTE IMMEDIATE lv_query;
COMMIT;
END;In either case, I would also re-consider the commit in the procedure. It should perhaps be the caller of this procedure that issues the commit, not the procedure itself.
John -
Global Temp Table Not found - SSIS
I am facing below error while using global temp table in SSIS.
[OLE DB Destination [78]] Error: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E37.
An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80040E37 Description: "Table/view either does not exist or contains errors.".
[OLE DB Destination [78]] Error: Failed to open a fastload rowset for " ##AGENTDTLS". Check that the object exists in the database.
[SSIS.Pipeline] Error: component "OLE DB Destination" (78) failed the pre-execute phase and returned error code 0xC0202040.
1) For data connection manager - Retain same connection is set to True
2) Data Flow task - Delay Validation is set to True
3) Destination Task - Using Temp Table - ValidateExternalMetadata is set to false.
4) I am just using one data connection.
5) before using the temp file I am checking if its exits and if yes drp it first and create it.
Not able to understand the reason for failure.Why don't you use permanent table in tempdb?
Kalman Toth Database & OLAP Architect
SQL Server 2014 Design & Programming
New Book / Kindle: Exam 70-461 Bootcamp: Querying Microsoft SQL Server 2012 -
Global temp table problem w/ODP?
I'm using the current version of the ODP .NET data adapter to access a global temporary table on an Oracle
9.2.0.4.0 server created with -
CREATE GLOBAL TEMPORARY TABLE euik_dex_open_tasks_temp1
(resource_id NUMBER,
task_assignment_id NUMBER,
task_id NUMBER,
incident_id NUMBER,
customer_product_id NUMBER,
inventory_item_id NUMBER,
contract_service_id NUMBER)
ON COMMIT DELETE ROWS
(See below for what is returned from the data dictionary for this table)
If I use SQLPlus to insert a row into this table, then query the table immediately, I see the inserted row.
If I use the same exact SQL through the ODP adapter, the ExecuteNonQuery statement returns the fact the 1 row was inserted. However, doing a SELECT from the table immediately after the INSERT, no rows are returned. See the .NET test ap, below.
Also, note that if I use a global temp table made with ON COMMIT PRESERVE ROWS, the ODP adapter works fine.
What am I doing wrong? Thanks in advance...
Pat
Private Sub TestTempTable()
Dim Str1 As New System.Text.StringBuilder
Dim Strx As New System.Text.StringBuilder
Dim StrOut As New System.Text.StringBuilder
Dim nInsert As Integer
Dim nRow As Integer
'Insert into the global temp table
Str1.Append("INSERT INTO euik_dex_open_tasks_temp1(resource_id, " & vbCrLf)
Str1.Append(" task_Assignment_id, " & vbCrLf)
Str1.Append(" task_id, " & vbCrLf)
Str1.Append(" incident_id, " & vbCrLf)
Str1.Append(" customer_product_id, " & vbCrLf)
Str1.Append(" inventory_item_id, " & vbCrLf)
Str1.Append(" contract_service_id) " & vbCrLf)
Str1.Append(" VALUES(1,2,3,4,5,6,7)" & vbCrLf)
Dim cn As New Oracle.DataAccess.Client.OracleConnection
Dim dr As Oracle.DataAccess.Client.OracleDataReader
Dim cd As New Oracle.DataAccess.Client.OracleCommand
Try
cn.ConnectionString = "Data Source=XXX;User ID=mickey;Password=mouse;"
cd.CommandType = CommandType.Text
cd.Connection = cn
cn.Open()
'Run the query to load data in the temp table
cd.CommandText = Str1.ToString()
nInsert = cd.ExecuteNonQuery()
MessageBox.Show(nInsert & " row(s) inserted.")
'See if there are rows in the temp table
Strx.Append("Select * from euik_dex_open_tasks_temp1")
cd.CommandText = Strx.ToString()
dr = cd.ExecuteReader
nRow = 0
While dr.Read
StrOut.Append(dr(0) & vbCrLf)
nRow = nRow + 1
End While
MessageBox.Show(nRow & " row(s) selected.")
Catch ex As OracleClient.OracleException
MessageBox.Show(ex.Message)
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
cn.Close()
End Try
End Sub
OWNER TABLE_NAME TABLESPACE_NAME CLUSTER_NAME IOT_NAME PCT_FREE PCT_USED
INI_TRANS MAX_TRANS INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE
FREELISTS FREELIST_GROUPS LOGGING BACKED_UP NUM_ROWS BLOCKS EMPTY_BLOCKS AVG_SPACE
CHAIN_CNT AVG_ROW_LEN AVG_SPACE_FREELIST_BLOCKS NUM_FREELIST_BLOCKS DEGREE INSTANCES
CACHE TABLE_LOCK SAMPLE_SIZE LAST_ANALYZED PARTITIONED IOT_TYPE TEMPORARY
SECONDARY NESTED BUFFER_POOL ROW_MOVEMENT GLOBAL_STATS USER_STATS DURATION
SKIP_CORRUPT MONITORING CLUSTER_OWNER DEPENDENCIES COMPRESSION
APPS EUIK_DEX_OPEN_TASKS_TEMP1 10 40 1 255
1 1 NO N
1 1 N ENABLED NO Y N NO
DEFAULT DISABLED NO NO SYS$TRANSACTION DISABLED NO DISABLED
DISABLEDAndrew,
As David indicated if you do not wish to have "auto commit mode" you just need to use a transaction object to manually control the transaction.
I'm just nervous at the idea of ODP.NET initiating interactions I am not aware of.I think it would be more fair to say "finishing interactions" in this case rather than "initiating interactions" but you could always just run a SQL trace from the database to see exactly what is happening if you are concerned.
HTH,
- Mark
=======================================
Mark A. Williams
Oracle DBA
Author, Professional .NET Oracle Programming
http://www.apress.com/book/bookDisplay.html?bID=378 -
Global temp table in Oracle EBS
hi gurus,
i have a GTT with "ON COMMIT PRESERVE ROWS".
i am populating this table through an OAF page and displaying the data.
as per the documentation it should delete the data from the table once user logs out from the Oracle EBS but it's not happening.
the user still sees the records from the previous session.
please throw some light here.
thanks,i was wondering if there is any sysadmin level setup/profile setup which can end the session (JDBC) once user logs out?No such profile option exists.
Behavior of Global Temp Table in JDBC
Behavior of Global Temp Table in JDBC
Global temp tables with connection pooling
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:4444273995237
Make global temporary tables transaction specific
http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:868691300346807468
Thanks,
Hussein -
Can a tabular form be created/used against a GLOBAL TEMP TABLE?
We are trying to simplify our apex applications. In doing so, we are examing the many collections we use to create tablular forms. These collections currently are tricky to manage and we are considering moving them to either VIEWS or GLOBAL TEMPORARY TABLES (GTT).
I have created a test app against a GLOBAL TEMP TABLE....it looks great, but when I add a row and SUBMIT I recieve a message indicating record is inserted....but where did it go? I am unable to retrieve...I cannot see it in the underlying GLOBAL TEMP TABLE (as expected)....
should I be creating an ON INSERT table on the GTT to automatically insert the data into a regular table?Now you know why you have to use collections :) Answered here:
working with global temp table and apex
Has to do with the session management and how APEX handles it.
Create a view on your collection using the column names from the source table. Use packages to write an update, delete and insert process. This can be written automatically if there are multiple collections to handle.
Denes Kubicek
http://deneskubicek.blogspot.com/
http://www.apress.com/9781430235125
http://apex.oracle.com/pls/apex/f?p=31517:1
http://www.amazon.de/Oracle-APEX-XE-Praxis/dp/3826655494
------------------------------------------------------------------- -
A better way than a global temp table to reuse a distinct select?
I get the impression from other threads that global temp tables are frowned upon so I'm wondering if there is a better way to simplify what I need to do. I have some values scattered about a table with a relatively large number of records. I need to distinct them out and delete from 21 other tables where those values also occur. The values have a really low cardinality to the number of rows. Out of 500K+ rows there might be a dozen distinct values.
I thought that rather than 21 cases of:
DELETE FROM x1..21 WHERE value IN (SELECT DISTINCT value FROM Y)
It would be better for performance to populate a global temp table with the distinct first:
INSERT INTO gtt SELECT DISTINCT value FROM Y
DELETE FROM x1..21 WHERE value IN (SELECT value FROM GTT)
People asking questions about GTT's seem to get blasted so is this another case where there's a better way to do this? Should I just have the system bite the bullet on the DISTINCT 21 times? The big table truncates and reloads and needs to do so quickly so I was hoping not to have to index it and meddle with disable/rebuild index but if that's better than a temp table, I'll have to make do.
As far as I understand WITH ... USING can't be used to delete from multiple tables or can it?Almost, but not quite, as efficient as using a temporary table would be to use a PL/SQL collection and FORALL statements and/or referencing the collection in your subsequent statements). Something like
DECLARE
TYPE value_nt IS TABLE OF y.value%type;
l_values value_nt;
BEGIN
SELECT distinct value
BULK COLLECT INTO l_values
FROM y;
FORALL i IN 1 .. l_values.count
DELETE FROM x1
WHERE value = l_values(i);
FORALL i IN 1 .. l_values.count
DELETE FROM x2
WHERE value = l_values(i);
END;or
CREATE TYPE value_nt
IS TABLE OF varchar2(100); -- Guessing at the type of y.value
DECLARE
l_values value_nt;
BEGIN
SELECT distinct value
BULK COLLECT INTO l_values
FROM y;
DELETE FROM x1
WHERE value = (SELECT /*+ cardinality(v 10) */ column_value from table( l_values ) v );
DELETE FROM x2
WHERE value = (SELECT /*+ cardinality(v 10) */ column_value from table( l_values ) v );
END;Justin -
How can i create a Global Temporary Table inside a Stored Procedure....
Hi...
I need to create a Global Temporary Table inside a Stored
Procedure....
I have no idea how to do that....
Please....if u can send me a sample, send to me....
Thanks a lotTo create a global temporary table inside a stored procedure,
the minimal syntax would be:
CREATE OR REPLACE PROCEDURE procedure_name
AS
BEGIN
EXECUTE IMMEDIATE 'CREATE GLOBAL TEMPORARY TABLE table_name'
|| '(column_name NUMBER)';
END procedure_name;
As Todd stated, it would probably be better to create the global
temporary table outside of the procedure:
SQL> CREATE GLOBAL TEMPORARY TABLE table_name
2 (column_name NUMBER);
Table created.
You can also specify things like ON COMMIT PRESERVE ROWS or ON
COMMIT DELETE ROWS.
It may be that there is something else, like a PL/SQL table of
records or a cursor, that would suit your needs better. It is
difficult to guess without knowing what you want to do with it.
Maybe you are looking for
-
Will someone please tell me why this will not open in safari. It is a link for you it will open on my Mac book. I'm having problems since ios6 update. http://m.youtube.com/#/watch?feature=em-uploademail-new&v=WXhWy0B5V5A&desktop_ur i=%2Fwatch%3Fv%3DW
-
hi i need to create pages in chinese i copy and paste text i got from the translator, most text is ok but here and there some characters are replaced by question marks. i tried several doctypes, i tried without, ( i just copy from chinese sites) on t
-
Lock the periods in Profit center Accounting
Hi all, Does SAP any latest or old versions support a transaction code for locking periods in Profit center accounting like example in FI - transaction code OB52 or in CO - transaction code OKP1 . If you see transaction code OKP1 then it shows lockin
-
How to use Function Module of Appraisal
Hi, I want to use the standard Function Module for Appraisal like HRHAP_DOCUMENT_GET_DETAIL. But how to use it. What is the procedure to use standard function module.
-
I use LightRoom 2 and CS3. All my photo enlargements are done at CostCo on a Noritsu 3111. In the past before I started using LightRoom, I edited in CS, then saved the file to a memory stick, and took it to CostCo for printing. I always got excell