How to pass date into a sp?
Hi,
Could anybody know how to pass a parameter of type date into a
sp? Below are something I tried:
1.
create or replace package empTest AS
PRAGMA SERIALLY_REUSABLE;
TYPE curType IS REF CURSOR;
function Details (
hd date)
RETURN curType;
END;
CREATE OR REPLACE PACKAGE BODY empTest AS
PRAGMA SERIALLY_REUSABLE;
function Details (
hd date)
RETURN curType IS
sum_cv curType;
err_num NUMBER;
err_msg VARCHAR2(200);
sql_statement VARCHAR2(3000);
BEGIN
DBMS_OUTPUT.PUT_LINE(hd);
sql_statement :=' SELECT * from emp where hiredate <
to_date(''hd'', ''Dd-Mon-YY'') ';
DBMS_OUTPUT.PUT_LINE(sql_statement );
OPEN sum_cv FOR sql_statement ;
IF NOT sum_cv%ISOPEN THEN
OPEN sum_cv FOR sql_statement;
END IF;
RETURN sum_cv;
END Details ;
END;
RUN EXEC :CV := empTest.Details('10-DEC-01');
ORA-01858: a non-numeric character was found where a numeric was
expected
2. sql_statement :=' SELECT * from emp where hiredate <
to_date(hd) ';
Run in the same way:
ORA-00904: invalid column name
3. sql_statement :=' SELECT * from emp where hiredate < to_date
(''hd'') ';
Run in the same way:
ORA-01858: a non-numeric character was found where a numeric was
expected
Thanks
Use the call syntax ...
empTest.Details(to_date('10-DEC-01','DD-MON-RR'));
.. or better yet ...
empTest.Details(to_date('10-DEC-2001','DD-MON-YYYY'));
As you are passing a date you do not need to use the to_date function in the cursor SQL statement.
Similar Messages
-
Hello friends,
I am displaying values ie, amounts in the screen using write statements here i have to display the
sign left side , i am using Function module 'CLOI_PUT_SIGN_IN_FRONT'
Does anybody help me - How to pass paramter into this Function module.
Regards,
PhaneendraIf you look to the code of the function module, you can see it is condensing the value.
I would make a copy of this function, and remove the condense lines to give the result you want.
data: text1(1) type c.
search value for '-'.
if sy-subrc = 0 and sy-fdpos <> 0.
split value at '-' into value text1.
condense value.
concatenate '-' value into value.
else.
condense value.
endif. -
Performace tuning: how to pass data between different batch job programs?
Hi everyone,
now i have one problem about performance tuning using threading in SAP programs: split one big program into two programs - one is main program and the other is sub program. using batch jobs, we can submit multi jobs of sub program at the same time.
does anybody know how to pass data between different batch jobs? I don't want to use temp files. can ABAP memory can implement this?
thanks!Wei,
Yes we can transfer the data by using
SAP Memory OR ABAP Memory.
Ex: V_count TYPE i.
V_count = 100.
LOOP AT itab.
IF v_count EQ 25.
Here For every batch job
EXPORT data TO MEMORY ID 'ABC'
Function module
JOB_OPEN
JOB_SUBMIT
JOB_CLOSE.
ENDIF.
ENDLOOP .
IN your 2nd program.
INITIALIZATION.
IMPORT data FROM MEMORY IF 'ABC'.
FREE memory if .---When you free the memory you will get recent data.
Don't forget to reward if useful. -
SAP threading-how to pass data between different batch job programs?
Hi everyone,
now i have one problem about performance tuning using threading in SAP programs: split one big program into two programs - one is main program and the other is sub program. using batch jobs, we can submit multi jobs of sub program at the same time.
does anybody know how to pass data between different batch jobs? I don't want to use temp files. can ABAP memory can implement this?
thanks!Passing Data Between Programs
[http://help.sap.com/saphelp_47x200/helpdata/en/9f/db9df735c111d1829f0000e829fbfe/frameset.htm|http://help.sap.com/saphelp_47x200/helpdata/en/9f/db9df735c111d1829f0000e829fbfe/frameset.htm] -
How to pass data from one internal session to another
Hi SAP Experts,
How to pass data from one internal session to another and from One external session to another external session. I used import and export parmeter and SPA/GPA parameters. What is the other way to pass data?
Please tel me urgently
Thank you
BasuMemory Structures of an ABAP Program
In the Overview of the R/3 Basis System you have seen that each user can open up to six R/3 windows in a single SAPgui session. Each of these windows corresponds to a session on the application server with its own area of shared memory.
The first application program that you start in a session opens an internal session within the main session. The internal session has a memory area that contains the ABAP program and its associated data. When the program calls external routines (methods, subroutines or function modules) their main program and working data are also loaded into the memory area of the internal session.
Only one internal session is ever active. If the active application program calls a further application program, the system opens another internal session. Here, there are two possible cases: If the second program does not return control to the calling program when it has finished running, the called program replaces the calling program in the internal session. The contents of the memory of the calling program are deleted. If the second program does return control to the calling program when it has finished running, the session of the called program is not deleted. Instead, it becomes inactive, and its memory contents are placed on a stack.
The memory area of each session contains an area called ABAP memory. ABAP memory is available to all internal sessions. ABAP programs can use the EXPORT and IMPORT statements to access it. Data within this area remains intact during a whole sequence of program calls. To pass data to a program which you are calling, the data needs to be placed in ABAP memory before the call is made. The internal session of the called program then replaces that of the calling program. The program called can then read from the ABAP memory. If control is then returned to the program which made the initial call, the same process operates in reverse.
All ABAP programs can also access the SAP memory. This is a memory area to which all sessions within a SAPgui have access. You can use SAP memory either to pass data from one program to another within a session, or to pass data from one session to another. Application programs that use SAP memory must do so using SPA/GPA parameters (also known as SET/GET parameters). These parameters are often used to preassign values to input fields. You can set them individually for users, or globally according to the flow of an application program. SAP memory is the only connection between the different sessions within a SAPgui.
The following diagram shows how an application program accesses the different areas within shared memory:
In the diagram, an ABAP program is active in the second internal session of the first main session. It can access the memory of its own internal session, ABAP memory and SAP memory. The program in the first internal session has called the program which is currently active, and its own data is currently inactive on the stack. If the program currently active calls another program but will itself carry on once that program has finished running, the new program will be activated in a third internal session.
Data Clusters in ABAP Memory
You can store data clusters in ABAP memory. ABAP memory is a memory area within the internal session (roll area) of an ABAP program and any other program called from it using CALL TRANSACTION or SUBMIT.
ABAP memory is independent of the ABAP program or program module from which it was generated. In other words, an object saved in ABAP memory can be read from any other ABAP program in the same call chain. ABAP memory is not the same as the cross-transaction global SAP memory. For further information, refer to Passing Data Between Programs.
This allows you to pass data from one module to another over several levels of the program hierarchy. For example, you can pass data
From an executable program (report) to another executable program called using SUBMIT.
From a transaction to an executable program (report).
Between dialog modules.
From a program to a function module.
and so on.
The contents of the memory are released when you leave the transaction.
To save data objects in ABAP memory, use the statement EXPORT TO MEMORY.
Saving Data Objects in Memory
To read data objects from memory, use the statement IMPORT FROM MEMORY.
Reading Data Objects from Memory
To delete data clusters from memory, use the statement FREE MEMORY.
Deleting Data Clusters from Memory
please read this which provide more idea about memory
Message was edited by:
sunil kumar -
How to passing value into Captivate from html?
How to passing value into Captivate from html?
Or
How to communicate between objects in one slides?Hi czhao0378 and welcome to the forums!
Captivate does not natively allow you to communicate your own
data, either internally or externally. The only way to make this
happen is to create your own functionality, either via custom-built
Flash objects or JavaScript code executed in the browser or a
combination of both.
The only example I've seen of any "data passing" inside
Captivate is a custom text input/output solution that was posted on
the Captivate Developer Exchange:
http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&loc=en_us&extid=1253 021
This solution consists of an input box that takes information
from the user on one slide and a second box that displays that
information on another slide. The functionality was built in Flash
and is embedded in Captivate as a Flash "animation". Unfortunately,
since this is a custom functionality, the information is not
included in the user completion results Captivate can pass to a
Learning Management System.
Since the solution mentioned above relies on a Flash
Actionscript variable to hold the information that is displayed,
you can also pass the information from HTML to Captivate using the
"SetVariable" command in JavaScript. This would at least allow you
to display your own HTML-based data inside Captivate.
Beyond that, I'm not aware of any other way to gather and
pass data in Captivate. -
How to pass data between two internal sessions using ABAP memory?
Hi,
How to pass data between two internal sessions using ABAP memory?
It would be fine if you could explain with an example.
And also let me clear about the data passing between two main sessions and two external sessions with specific examples.
Thanks.Hi ,
check the example.
Reading Data Objects from Memory
To read data objects from ABAP memory into an ABAP program, use the following statement:
Syntax
IMPORT <f1> [TO <g 1>] <f 2> [TO <g 2>] ... FROM MEMORY ID <key>.
This statement reads the data objects specified in the list from a cluster in memory. If you do not use the TO <g i > option, the data object <f i > in memory is assigned to the data object in the program with the same name. If you do use the option, the data object <f i > is read from memory into the field <g i >. The name <key> identifies the cluster in memory. It may be up to 32 characters long.
You do not have to read all of the objects stored under a particular name <key>. You can restrict the number of objects by specifying their names. If the memory does not contain any objects under the name <key>, SY-SUBRC is set to 4. If, on the other hand, there is a data cluster in memory with the name <key>, SY-SUBRC is always 0, regardless of whether it contained the data object <f i >. If the cluster does not contain the data object <f i >, the target field remains unchanged.
In this statement, the system does not check whether the structure of the object in memory is compatible with the structure into which you are reading it. The data is transported bit by bit. If the structures are incompatible, the data in the target field may be incorrect.
PROGRAM SAPMZTS1.
DATA TEXT1(10) VALUE 'Exporting'.
DATA ITAB LIKE SBOOK OCCURS 10 WITH HEADER LINE.
DO 5 TIMES.
ITAB-BOOKID = 100 + SY-INDEX.
APPEND ITAB.
ENDDO.
EXPORT TEXT1
TEXT2 FROM 'Literal'
TO MEMORY ID 'text'.
EXPORT ITAB
TO MEMORY ID 'table'.
SUBMIT SAPMZTS2 AND RETURN.
SUBMIT SAPMZTS3.
The first part of this program is the same as the example in the section Saving Data Objects in Memory. In the example, the programs SAPMZTS1 and SAPMZTS2 are called using SUBMIT. You can create and maintain the programs called using the SUBMIT statement by double-clicking their names in the statement. For further information about the SUBMIT statement, refer to Calling Executable Programs (Reports)
Example for SAPMZTS2:
PROGRAM SAPMZTS2.
DATA: TEXT1(10),
TEXT3 LIKE TEXT1 VALUE 'Initial'.
IMPORT TEXT3 FROM MEMORY ID 'text'.
WRITE: / SY-SUBRC, TEXT3.
IMPORT TEXT2 TO TEXT1 FROM MEMORY ID 'text'.
WRITE: / SY-SUBRC, TEXT1.
Example for SAPMZTS3:
PROGRAM SAPMZTS3.
DATA JTAB LIKE SBOOK OCCURS 10 WITH HEADER LINE.
IMPORT ITAB TO JTAB FROM MEMORY ID 'table'.
LOOP AT JTAB.
WRITE / JTAB-BOOKID.
ENDLOOP.
The output is displayed on two successive screens. It looks like this:
and
The program SAPMZTS2 attempts to read a data object TEXT3 from the data cluster "text", which does not exist. TEXT3 therefore remains unchanged. The existing data object TEXT2 is placed in TEXT1. In both cases, SY-SUBRC is 0, since the cluster "text" contains data.
The program SAPMZTS3 reads the internal table ITAB from the cluster "table" into the internal table JTAB. Both tables have the same structure, namely that of the ABAP Dictionary table SBOOK.
Pls. reward if useful..... -
How to insert data into the mysql table by giving as a text file
Hi,
Any one know's how to insert data into the mysql table by giving as a text file as the input in JSP.Please respond ASAP.
Thanks:)At least you can try StringTokenizer to parse your text files. Or download a text JDBC driver to parse your files, for instance, HXTT Text(www.hxtt.net) or StelsCSV(www.csv-jdbc.com).
-
How to put data into a RFC import parameter structure from portal
Hi, All,
I have a RFC in which an import parameter is a structure (not a table). I want to put data into that structure. I know how to put data into a table or a string. I tried to use
IRecordSet MyTABStr = (IRecordSet)structureFactory.getStructure(function.getParameter("MYTABSTR").getStructure());
MyTABStr.setString("FIELD1", value1);
MyTABStr.setString("FIELD2", value2);
importParams.put("MYTABSTR",MyTABStr);
But it works for table not structure. Is there anybody know how to do that?
Thanks in advance!
MeiyingHi,
You can try the following code -
IRecord structure = (IRecord)structureFactory.getStructure(function.getParameter("MYTABSTR").getStructure());
structure.setString("FIELD1", value1);
structure.setString("FIELD2", value2);
importParams.put("MYTABSTR",structure);
Regards,
Sudip -
How to pass parameter into a source variable of a invoke activity
I'm an new BPELer, I created a invoke activity to submit Oracle Appplications concurrent program, but I don't know how to pass parameter into source variable.
BTW, I have created the mapper file (.xsl) file.
could anyone tell me how to do that?
Thanks,
VictorHi.
How you start application? I think you send message to webservice(BPEL process is webservice too). So construct message with variable and value.
But I created only processes where input value doesn't matter. I haven't use mapper yet too. -
How to use CrossReference and DVM in ODI &how to populate data into Xref
Can any one tell how to use Domain Value Maps and Cross Referencing in ODI?
DVM or Domain Value Map are created and used in ESB console of SOA suite.
My actual requirement is as follows:
The below steps describe loading data from ERP Application 1 to ERP Application 2.
1. The Source Application ERP APP1, populates the interface table using their native technology.
2. A job scheduler invokes the Source side ODI Package.
3. ODI then extracts the data from Source Interface table and populates the Target Interface table.
4. After populating the Target interface table the ODI populates the X-ref table with App 1 ID and generated common ID.
5. The ODI either deletes or updates the rows that were processed from the Source interface table.
6. On the Target Application ERP APP2, the native application extracts data from target interface table and populates target database there by generating ERP Application 2 ID.
7. A job scheduler on the Target application invokes the ODI package to populate the Application 2 ID onto the Xref table matching on the Common ID.
I just want to know :
1. How to populate data into the Xref table from Source datastore
2. And if data is successfully laoded from target datastore to actual base table of target then how to populate the target id into the cross reference table.can anyone suggest me some answer, then it would be of great help?
-
How to upload data into IT0000 using ABAP-HR program
Hello,
I'm required to upload data into multiple infotypes [IT000, 0001, 0002, etc] using single input text file. Can anyone able to guide me, how to upload data into IT0000 using ABAP program ?
Thanks in advance.
Regards
Prabhakar.
Message was edited by:
Prabhakara MuthyalExample code for HR_MAINTAIN_MASTERDATA to COPY IT0002
DATA: INT_0002_FINAL TYPE STANDARD TABLE OF PA0002 WITH HEADER LINE.
DATA: VALUES LIKE PPROP OCCURS 10 WITH HEADER LINE,
RETURN LIKE BAPIRETURN1,.
LOOP AT INT_0002_FINAL.
VALUES-INFTY = '0002'.
VALUES-FNAME = 'P0002-PERNR'.
VALUES-FVAL = INT_0002_FINAL-PERNR.
APPEND VALUES.
VALUES-INFTY = '0002'.
VALUES-FNAME = 'P0002-BEGDA'.
VALUES-FVAL = INT_0002_FINAL-BEGDA.
APPEND VALUES.
VALUES-INFTY = '0002'.
VALUES-FNAME = 'P0002-ENDDA'.
VALUES-FVAL = INT_0002_FINAL-ENDDA.
APPEND VALUES.
VALUES-INFTY = '0002'.
VALUES-FNAME = 'P0002-nachn'.
VALUES-FVAL = INT_0002_FINAL-NACHN.
APPEND VALUES.
VALUES-INFTY = '0002'.
VALUES-FNAME = 'P0002-gblnd'.
VALUES-FVAL = INT_0002_FINAL-GBLND.
APPEND VALUES.
VALUES-INFTY = '0002'.
VALUES-FNAME = 'P0002-vorna'.
VALUES-FVAL = INT_0002_FINAL-VORNA.
APPEND VALUES.
VALUES-INFTY = '0002'.
VALUES-FNAME = 'P0002-rufnm'.
VALUES-FVAL = INT_0002_FINAL-RUFNM.
APPEND VALUES.
VALUES-INFTY = '0002'.
VALUES-FNAME = 'P0002-name2'.
VALUES-FVAL = INT_0002_FINAL-NAME2.
APPEND VALUES.
VALUES-INFTY = '0002'.
VALUES-FNAME = 'P0002-inits'.
VALUES-FVAL = INT_0002_FINAL-INITS.
APPEND VALUES.
VALUES-INFTY = '0002'.
VALUES-FNAME = 'P0002-famst'.
VALUES-FVAL = INT_0002_FINAL-FAMST.
APPEND VALUES.
VALUES-INFTY = '0002'.
VALUES-FNAME = 'P0002-gbdat'.
VALUES-FVAL = INT_0002_FINAL-GBDAT.
APPEND VALUES.
VALUES-INFTY = '0002'.
VALUES-FNAME = 'P0002-sprsl'.
VALUES-FVAL = INT_0002_FINAL-SPRSL.
APPEND VALUES.
VALUES-INFTY = '0002'.
VALUES-FNAME = 'P0002-anzkd'.
VALUES-FVAL = INT_0002_FINAL-ANZKD.
APPEND VALUES.
VALUES-INFTY = '0002'.
VALUES-FNAME = 'P0002-natio'.
VALUES-FVAL = INT_0002_FINAL-NATIO.
APPEND VALUES.
* maintain master data
CALL FUNCTION 'HR_MAINTAIN_MASTERDATA'
EXPORTING
PERNR = INT_0002_FINAL-PERNR
ACTIO = 'COP'
BEGDA = INT_0002_FINAL-BEGDA
* ENDDA = INT_0002_FINAL-ENDDA
SUBTY = SPACE
NO_ENQUEUE = SPACE
DIALOG_MODE = '0'
TCLAS = 'A'
IMPORTING
RETURN1 = RETURN
TABLES
PROPOSED_VALUES = VALUES
* MODIFIED_KEYS =
EXCEPTIONS
OTHERS = 1.
IF RETURN IS INITIAL.
WRITE:/' Done....'.
ELSE.
WRITE:/ RETURN-ID, RETURN-TYPE, RETURN-NUMBER, RETURN-MESSAGE_V1, RETURN-MESSAGE_V2, RETURN-MESSAGE_V3, RETURN-MESSAGE_V4.
ENDIF.
CLEAR VALUES.
REFRESH VALUES.
ENDLOOP. -
How to pass Data from one form to the other
Hi all
Can any one suggest me how to pass data from one form to the other form, which i zoomed from the original one?
I tried to do this by passing parameter in Event Procedure but i am getting error msg when i am opening the zoomed form.
If any one of u have any idea, give me a reply
Thank you
SuhasiniIf you choose the second alternative you should erase these global variables after the second form is opened
You can erase the global variable using:
erase('global_var')
Greetings,
Sim -
How to upload data into form of Oracle EBS R12 using ATS ver 9.0
Hi experts,
Could you please guide me how to upload data into form on Oracle EBS R12 using Oracle Application Testing Suite verson 9.(The simpliest way)
For example: I need to create user account on Oracle EBS. Normally, I use Dataloader to upload the data, however it just can upload one by one record, cannot upload multi record at same time. Moreover if the performance of server is low, so I will get the issue when using dataloader.
Thanks in advance
Best Regards
HieuHi you can create Virtual users to enter data. Note than you have to name the objects accordingly.
For Example default recording provided by Open script is ObjectNAME_(Index No of the object).
when you record one iteration the name of any object would be ObjectNAME_(0)
You can then create virtual users so the index will increment as the total number of Virtual users increases. Also you have to handle which row of your test data would get mapped to which Virtual user in the script run session.
Thanks -
How to load data into user tables using DIAPIs?
Hi,
I have created an user table using UserTablesMD object.
But I don't have know how to load data into this user table. I guess I have to use UserTable object for that. But I still don't know how to put some data in particular column.
Can somebody please help me with this?
I would appreciate if somebody can share their code in this regard.
Thank you,
SudhaYou can try this code:
Dim lRetCode As Long
Dim userTable As SAPbobsCOM.UserTable
userTable = pCompany.UserTables.Item("My_Table")
'First row in the @My_Table table
userTable.Code = "A1"
userTable.Name = "A.1"
userTable.UserFields.Fields.Item("U_1stF").Value = "First row value"
userTable.Add()
'Second row in the @My_Table table
userTable.Code = "A2"
userTable.Name = "A.2"
userTable.UserFields.Fields.Item("U_1stF").Value = "Second row value"
userTable.Add()
This way I have added 2 lines in my table.
Hope it helps
Trinidad.
Maybe you are looking for
-
Need help to filter invalid chars very urgent
Hi, In data load some records are invald chars,its not filtering,those chars are special symbol here are the hex values for that invalid char 0012 0016 0005 0013 so all these values are below 20,we can't copy and paste. if any one knows abt sap const
-
CS5 purchase upgrade to CS5.5
Hello! When I purchased CS5 my business partner and I were both eligable for the free upgrade to CS5.5 to be sent to us. She got hers but for some reason I never got mine and it slipped my mind. Now she is sending me files that she has worked on and
-
Using php/mysql accountify
hello i am kinda new to dreamweaver and have had sucess doing what i have wanted up until this last snag. i want to be able to have people log in to my website into their own personal account. so far accountify is the only program that allows for me
-
App is terminated right away when connection is made.
It did work fine in the earlier version, but it doesn't work anymore. ( currently using 8.0.12 ) Does this happen only to me? My mac is currently on OSX Yosemite ( 10.10.1 ) and it's mid 2011, 13-inch. Remote app is immediately terminated when conne
-
I validated it with the Audio Units Manager and everything was successful. Still i can't open and use it? Im really frustrated about this. Since it cost me more than 100€ to buy this synthesizer. I want to use it and i thought it would be simple to d