Error on a Dynamic Select using Pro*C
I am a new user on Pro*C and I am facing an error for which I could not find a solution in the Pro*C/C++ Programmer’s Guide. The problem occurs when I do a dynamic SELECT to retrieve sequence of numbers (from 0 to 10) from a very simple table in a database.
The program is retrieving the following sequence: {705, 961, 1217, 1473, 1729, 1985, 2241, 2497, 2753, 3009} rather than the sequence {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}.
It’s very interesting to notice that the retrieved sequence, in hexadecimal, is equal to {2C1, 3C1, 4C1, 5C1, 6C1, 7C1, 8C1, 9C1, AC1, BC1}.
I am quite sure that I'm missing a small detailed here and I would appreciate
any help. Please find below the code that I am using.
Thanks a lot!
#include <string>
#include <iostream>
using namespace std;
#include <sqlca.h>
#include <sqlcpr.h>
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR username[30];
VARCHAR password[30];
VARCHAR db_name [30];
VARCHAR dns_name[30];
EXEC SQL END DECLARE SECTION;
void SQL_Error ( void )
char msg[200];
size_t buf_len = sizeof ( msg );
size_t msg_len;
sqlglm( msg, &buf_len, &msg_len );
if ( msg_len > buf_len )
msg_len = buf_len;
cout << msg << endl;
bool OpenDBConnection( char uname, char pword, char dns, char dbname )
// Assign the database identifications to the ORACLE variables
username.len = (unsigned short) strlen ( strcpy( (char *) username.arr, uname ) );
password.len = (unsigned short) strlen ( strcpy( (char *) password.arr, pword ) );
dns_name.len = (unsigned short) strlen ( strcpy( (char *) dns_name.arr, dns ) );
db_name.len = (unsigned short) strlen ( strcpy( (char *) db_name.arr , dbname ) );
/* Register sql_error() as the error handler */
EXEC SQL WHENEVER SQLERROR goto err;
/* Connect to the non default database */
EXEC SQL CONNECT :username IDENTIFIED BY :password AT :db_name USING :dns_name;
return ( true );
err:
SQL_Error();
return ( false );
** Select the database using a dynamic method
long SelectIDRecord ( void )
EXEC SQL BEGIN DECLARE SECTION;
// Define the dynamic statement
char dyn_statement[4000];
// Define the bind variables
long db_id = 0;
long db_id_type = 2; /* NUMBER */
long db_id_len = 10;
EXEC SQL END DECLARE SECTION;
// Initialize the dynamic statement
memset ( dyn_statement, 0, sizeof( dyn_statement ) );
strcpy ( dyn_statement, "SELECT ID FROM TEST_DB ORDER BY ID" );
EXEC SQL AT :db_name PREPARE s1 FROM :dyn_statement;
// Declare and initialize the output descriptor
EXEC SQL ALLOCATE DESCRIPTOR 'out';
EXEC SQL AT :db_name DESCRIBE OUTPUT s1 USING DESCRIPTOR 'out';
EXEC SQL SET DESCRIPTOR 'out' value 1 TYPE = :db_id_type,
LENGTH = :db_id_len, DATA = :db_id;
// Declare and open the cursor
EXEC SQL AT :db_name DECLARE test_db_cursor CURSOR FOR s1;
EXEC SQL AT :db_name OPEN test_db_cursor;
EXEC SQL WHENEVER NOT FOUND DO BREAK;
long nRec = 0;
while ( true )
EXEC SQL AT :db_name FETCH test_db_cursor INTO DESCRIPTOR 'out';
EXEC SQL GET DESCRIPTOR 'out' VALUE 1 :db_id = DATA;
nRec++;
cout << "ID = " << (long) db_id << endl;
// Close the cursor
EXEC SQL AT :db_name CLOSE test_db_cursor;
EXEC SQL DEALLOCATE DESCRIPTOR 'out';
return ( nRec );
err:
SQL_Error();
return ( 0 );
int main ()
char *uname = "test";
char *pword = "test";
char *dns = "test_db";
char *dbname = "test";
OpenDBConnection ( uname, pword, dns, dbname );
long nRec = SelectIDRecord ();
}
No need to specify the length if the data type is number and pointing to Long.
You can directly map the values using INTO clause.
Similar Messages
-
Dynamic select using jsp?
grrrrr............ok so I'm kinda new to this, and just a little frustrated. I'm gonna ramble here, so any time I sound like I don't know what I'm talking about it 's because I don't..correct me. I want to include a bean in a jsp which will buil d a dynamic select box on the fly. That is, connect to an LDAP db and place each value returned in the query in a select box. Now, I can compile and run the bean in my IDE and watch the output in the console. It's correct because I see "<select><option value = hall>hall....</select>". In the buildSelectBox() method I'm using System.out.println to display each line of my select box (is that right?). Now, when I copy the .class file over to the server I was initially getting an error because the bean wasn't found. I resolved that by properly compiling the bean in a package. Problem is that if I call the bean.buildSelect() method in the .jsp nothing comes back. The page is left blank. What in the world is that about? Can someone push me toward a tutorial that can push me in the right direction or sumthin? Why am I having so much trouble with this? Should I be building the select on the jsp?
regards,
matHi!
If i understand you correctly :-) you are doing not very right things. I don't want it to seem like I'm going to teach you, but:
The Bean that has buildSelect() method is not a bean at all. Usualy Beans contain getter/setters and accumulate data. If you want to build html code dynamicaly then you should use servlets(Which is not very flexible in your situation, I think), not JSPs. And if you are using JSPs then you have to make Tag which will do this everything.
Other way is to use Struts framework which is very good and flexible for building web applications - it has it's own tags for many cases. You can make loops in JSPs, use beans and all that stuff.
Guys will correct me if I missed something.
Good luck -
Dynamic Selection using Summarization Fields Missing in TCODE CN43N
If Using TCODE CN43 I can select using Summarization Fiields from PSMERK via Dynamic Selections.
However, when I use TCODE CN43N the "Summarization Fields" node is not displayed.
Does anyone know if it is possible to activate this option for CN43N.Hi,
Please refer sap note 679705.
hope it will be helpful
thanks
abdul -
Hi,
I want to include two fields of custom infotype in dynamic selection of LDB so that they are handeled automatically by LDB while selection.
can anyone tell me how to achieve the same?
Thanks
-AleriaThankyou for the reply. However, can you plz tell me the step to followfor addition of fields after copying the LDB.
-Aleria -
Error in mappingwith dynamic configuration using udf
Hi All,
Good Morning,
i am working with ABAP proxy to file scenarion but here according my client requirement i am using udf for file dynamic configuration.
In mapping, i mapped the field from "Filename" to message type tag(receiver file header) "/ns0:MTxxxxxxDataFile". between there two fields i am using the following udf for dynamic configuration. but i got error after testing with test data in mapping that is also mentioned below.
plz help me to solve the error. i will be wait for ur immediate response this sis very urgent.
very thankfull to immediate response.
UDF:
i am not puting any packages here.
public String putFileNameInHeader1(String a,Container container){
//write your code here
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File", "FileName");
conf.put(key, a);
return "";
ERROR:
12:21:30 Start of test
Compilation of MMSAPLegacySalesDataToCOGNOS successful Runtime exception during processing target field mapping /ns0:MTCOGNOSLegacySalesDataFile. The message is: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._MMSAPLegacySalesDataToCOGNOS_ method putFileNameInHeader1$[cd00000038, com.sap.aii.mappingtool.tf3.rt.Context@f300f30] com.sap.aii.mappingtool.tf3.MessageMappingException: Runtime exception during processing target field mapping /ns0:MTCOGNOSLegacySalesDataFile. The message is: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._MMSAPLegacySalesDataToCOGNOS_ method putFileNameInHeader1$[cd00000038, com.sap.aii.mappingtool.tf3.rt.Context@f300f30] at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:350) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:401) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:142) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.execute(MapServiceRemoteObjectImpl0_0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:313) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:199) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:136) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(AccessController.java:215) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Root Cause: com.sap.aii.utilxi.misc.api.BaseRuntimeException: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._MMSAPLegacySalesDataToCOGNOS_ method putFileNameInHeader1$[cd00000038, com.sap.aii.mappingtool.tf3.rt.Context@f300f30] at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.calculateCurrentValue(FunctionWrapper.java:83) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.cacheValue(FunctionWrapper.java:59) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.gotoNextContext(FunctionWrapper.java:37) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:252) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:401) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:142) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.execute(MapServiceRemoteObjectImpl0_0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:313) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:199) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:136) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(AccessController.java:215) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Root Cause: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60) at java.lang.reflect.Method.invoke(Method.java:391) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.calculateCurrentValue(FunctionWrapper.java:75) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.cacheValue(FunctionWrapper.java:59) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.gotoNextContext(FunctionWrapper.java:37) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:252) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:401) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:142) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.execute(MapServiceRemoteObjectImpl0_0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:313) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:199) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:136) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(AccessController.java:215) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Caused by: java.lang.NullPointerException at com.sap.xi.tf._MMSAPLegacySalesDataToCOGNOS_.putFileNameInHeader1$(_MMSAPLegacySalesDataToCOGNOS_.java:853) ... 26 more RuntimeException in Message-Mapping transformation: Runtime exception during processing target field mapping /ns0:MTCOGNOSLegacySalesDataFile. The message is: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._MMSAPLegacySalesDataToCOGNOS_ method putFileNameInHeader1$[cd00000038, com.sap.aii.mappingtool.tf3.rt.Context@f300f30]
12:21:35 End of testHi Sai,
First of all, this UDF is pretty well knaown so there is no error in this UDF or your configuration for this UDF. I can suggest you something that at the time of configuration in IR, give a context object for that particular field of that file and then use the contect object name everywhere to refer that field. and also check the message type config for correction for my sake.
There is also a possibility that of the input data. i guess you are sending the input file from Cognos and you making the file and putting some where in XI directory and want these to process something and generate with some new desired filename. Check the input because i guess its finding NOTHINg as an Input. check once again.
Hope this will help you.
Regards
Aashish Sinha
PS : Reward points if helpful. -
Error in creating dynamic select list
Hi all,
I am creating a select list at runtime by using the following code.
While submitting, I got error.
ERROR:
ORA-06550: line 13, column 1: PLS-00428: an INTO clause is expected in this SELECT statement
My Code behind is:
SELECT HTMLDB_ITEM.SELECT_LIST_FROM_QUERY_XL(1,ename,'select distinct ename r, ename t from emp') FROM emp;
Then I modified the above code as :
SELECT HTMLDB_ITEM.SELECT_LIST_FROM_QUERY_XL(1,ename,'select distinct ename r, ename t from emp') [b]into test FROM emp;
(NOTE:where datatype of test is CLOB)
I am getting following error:
ORA-01422: exact fetch returns more than requested number of rows
Can anybody tell me, what should be the datatype of test to get rid of this error OR is there some other way to overcome this problem?
Thanks,
DineshOK I got it working... Mostly... I don't know if it was a combination of changes that made the difference, but I'll put down what I did. First, I switched my select object in the form bean into just a string type from a string array (it was allowing the selection of one entry anyways). Second, rather than just blanking out the options map, I also blanked out the select object [eg form.setSelect("")].
Now when I select an entry and click delete, the resulting select list is short one visible element. However, you can still select the blank spot where that last entry used to be. However, this is not a huge issue for me now; I will investigate this at a later time. -
Stale Data Error only Resolved by selecting "Use Update Batching"
Hello,
I'm having an issue after creating an update page in OAF. The page only works when I select update batching within my EO. The problem with this is my page is using a column type of BLOB which greys out the option to use update batching. I have tried everything I can think of as well as search on every possible topic over the internet to resolve this issue. Can't seem to figure it out. It has become very frustrating as to why I can only update the table by selecting update batching. Does anyone know how to overcome this issue?
Thanks,
JeffI resolved this issue. The reason I was receiving the stale data error was due to a custom table I created getting corrupted when adding the primary key through SQL Developer instead of doing coding it. After I recreated the table the stale data error stopped displaying. Hope this helps people in the future. Just remember to code the table creation instead of creating it through SQL Developer.
-
Dynamic selections with FBL1N transaction
Hello,
I want to add new fields to do dynamic selections using FBL1N transaction.
I have "House bank" field in the company code fields, but I want this field in the document fields.
How could I do it?
Thank you very muchDear Beatriz
Yes this is possible. You need to extend the selection view for the logical database KDF using transaction SE36, to have more selection fields available in the dynamic selections of the line item display.
Call up Transaction SE36 and enter the logical database KDF.
Choose "Extras --> Selection views".
Select the origin of view.
Choose "Display" or "Change".
Vendors: logical database: KDF
Permitted tables:
LFA1, LFB1: All fields are permitted that are contained in the VF_KRED
view. If necessary, you have to include additional fields in
the view fields category using Transaction SE11.
BSIK: all fields
Change the source code in program SAPDBKDF, Form INIT as explained in the SAP note 310886.
If this helps please reward with points.
Best Regards
Kesav -
Dynamic selection field display
Hi
Can we display field values for a field from Dynamic selection ?Hi,
Yes, you can display field values in dynamic selection field.
If I understood your question correctly, you are talking about the dynamic selection used in reports ( For eg. ME2N). The field which are appearing in dynamic selection shows the field values. ( you can press F4 and check the field values).
Rajesh. -
Runtime Error while using Dynamic Selection
Hi,
We are getting a runtime error while using a dynamic selection. One of the fields has got an apostrophe in the middle of the text and so the condition is returning an error SAPSQL_WHERE_PARANTHESES.
Let's say the value in the field is SCV's. So the WHERETAB is filled as 'SCV's' or `SCV's`. An exception is caught in this case as there is no closing apostrophe.
Let us know if anyone has come across a similar issue and any help is appreciated.
Regards,
SarvesHi Sarves,
as Rob said.
check also the [ORACLE FAQS|http://www.orafaq.com/faq/how_does_one_escape_special_characters_when_writing_sql_queries] or [SQL SERVER u2013 How to Escape Single Quotes|http://blog.sqlauthority.com/2008/02/17/sql-server-how-to-escape-single-quotes-fix-error-105-unclosed-quotation-mark-after-the-character-string/]
Honestly: Before posting here and getting a whole lot of more or less useless comments just use your favorite search engine.
Regards,
Clemens -
Why do I get an error page when I select Toolkit for CreateJS? I am using CS6 Flash Pro.
hello Mac.INXS, please [[Clear the cache - Delete temporary Internet files to fix common website issues|clear the cache]] & [[Delete cookies to remove the information websites have stored on your computer|cookies from mozilla.org]] and then try logging into AMO again.
-
ORA-01458 error while using Pro*C to invoke PL/SQL procedure, pls help
I am using Pro*C (Oracle 10g on Itanium platform) to invoke PL/SQL procedure to read RAW data from database, but always encoutered ORA-01458 error message.
Here is the snippet of Pro*C code:
typedef struct dataSegment
unsigned short len;
unsigned char data[SIZE_DATA_SEG];
} msg_data_seg;
EXEC SQL TYPE msg_data_seg IS VARRAW(SIZE_DATA_SEG);
EXEC SQL BEGIN DECLARE SECTION;
unsigned short qID;
int rMode;
unsigned long rawMsgID;
unsigned long msgID;
unsigned short msgType;
unsigned short msgPriority;
char recvTime[SIZE_TIME_STRING];
char schedTime[SIZE_TIME_STRING];
msg_data_seg dataSeg;
msg_data_seg dataSeg1;
msg_data_seg dataSeg2;
short indSeg;
short indSeg1;
short indSeg2;
EXEC SQL END DECLARE SECTION;
qID = q_id;
rMode = (int)mode;
EXEC SQL EXECUTE
BEGIN
SUMsg.read_msg (:qID, :rMode, :rawMsgID, :msgID, :msgType, :msgPriority, :recvTime,
:schedTime, :dataSeg:indSeg, :dataSeg1:indSeg1, :dataSeg2:indSeg2);
END;
END-EXEC;
// Check PL/SQL execute result, different from SQL
// Only 'sqlcode' and 'sqlerrm' are always set
if (sqlca.sqlcode != 0)
if (sqlca.sqlcode == ERR_QUEUE_EMPTY) // Queue empty
throw q_eoq ();
char msg[513]; // Other errors
size_t msg_len;
msg_len = sqlca.sqlerrm.sqlerrml;
strncpy (msg, sqlca.sqlerrm.sqlerrmc, msg_len);
msg[msg_len] = '\0';
throw db_error (string(msg), sqlca.sqlcode);
and here is the PL/SQL which is invoked:
SUBTYPE VarChar14 IS VARCHAR2(14);
PROCEDURE read_msg (
qID IN sumsg_queue_def.q_id%TYPE,
rMode IN INTEGER,
raw_msgID OUT sumsg_msg_data.raw_msg_id%TYPE,
msgID OUT sumsg_msg_data.msg_id%TYPE,
msgType OUT sumsg_msg_data.type%TYPE,
msgPrior OUT sumsg_msg_data.priority%TYPE,
msgRecv OUT VarChar14,
msgSched OUT VarChar14,
msgData OUT sumsg_msg_data.msg_data%TYPE,
msgData1 OUT sumsg_msg_data.msg_data1%TYPE,
msgData2 OUT sumsg_msg_data.msg_data2%TYPE
) IS
BEGIN
IF rMode = 0 THEN
SELECT raw_msg_id, msg_id, type, priority, TO_CHAR(recv_time, 'YYYYMMDDHH24MISS'),
TO_CHAR(sched_time, 'YYYYMMDDHH24MISS'), msg_data, msg_data1, msg_data2
INTO raw_msgID, msgID, msgType, msgPrior, msgRecv, msgSched, msgData, msgData1, msgData2
FROM (SELECT * FROM sumsg_msg_data WHERE q_id = qID AND status = 0 ORDER BY sched_time, raw_msg_id)
WHERE ROWNUM = 1;
ELSIF rMode = 1 THEN
SELECT raw_msg_id, msg_id, type, priority, TO_CHAR(recv_time, 'YYYYMMDDHH24MISS'),
TO_CHAR(sched_time, 'YYYYMMDDHH24MISS'), msg_data, msg_data1, msg_data2
INTO raw_msgID, msgID, msgType, msgPrior, msgRecv, msgSched, msgData, msgData1, msgData2
FROM (SELECT * FROM sumsg_msg_data WHERE q_id = qID AND status = 0 ORDER BY recv_time, raw_msg_id)
WHERE ROWNUM = 1;
ELSE
SELECT raw_msg_id, msg_id, type, priority, TO_CHAR(recv_time, 'YYYYMMDDHH24MISS'),
TO_CHAR(sched_time, 'YYYYMMDDHH24MISS'), msg_data, msg_data1, msg_data2
INTO raw_msgID, msgID, msgType, msgPrior, msgRecv, msgSched, msgData, msgData1, msgData2
FROM (SELECT * FROM sumsg_msg_data WHERE q_id = qID AND status = 0 ORDER BY priority, raw_msg_id)
WHERE ROWNUM = 1;
END IF;
UPDATE sumsg_msg_data SET status = 1 WHERE raw_msg_id = raw_msgID;
EXCEPTION
WHEN NO_DATA_FOUND THEN
raise_application_error (-20102, 'Queue empty');
END read_msg;
where sumsg_msg_data.msg_data%TYPE, sumsg_msg_data.msg_data1%TYPE and sumsg_msg_data.msg_data2%TYPE are all defined as RAW(2000). When I test the PL/SQL code seperately, everything is ok, but if I use the Pro*C code to read, the ORA-01458 always happen, unless I change the SIZE_DATA_SEG value to 4000, then it passes, and the result read out also seems ok, either the bigger or smaller value will encounter ORA-01458.
I think the problem should happen between the mapping from internal datatype to external VARRAW type, but cannot understand why 4000 bytes buffer will be ok, is it related to some NLS_LANG settings, anyone can help me to resolve this problme, thanks a lot!It seems that I found the way to avoid this error. Now each time before I read RAW(2000) data from database, i initialize the VARRAW.len first, set its value to SIZE_DATA_SEG, i.e., the outside buffer size, then the error disappear.
Oracle seems to need this information to handle its data mapping, but why output variable also needs this initialization, cannot precompiler get this from the definition of VARRAW structure?
Anyone have some suggestion? -
Hello Gurus,
We have a dynamic SELECT statement in our BW Update Rules where the the Selection Fields are populated at run-time and so are the look-up target and also the WHERE clause. The code basically looks like below:
SELECT (lt_select_flds)
FROM (lf_tab_name)
INTO CORRESPONDING FIELDS OF TABLE <lt_data_tab>
FOR ALL ENTRIES IN <lt_source_data>
WHERE (lf_where).
In this instance, we are selecting 5 fields from Customer Master Data and the WHERE condition for this instance of the run is as below:
WHERE: DIVISION = <lt_source_data>-DIVISION AND DISTR_CHAN = <lt_source_data>-DISTR_CHAN AND SALESORG = <lt_source_data>-SALESORG AND CUST_SALES = <lt_source_data>-SOLD_TO AND OBJVERS = 'A'
This code was working fine till yesterday when we encountered serious performance problems and the Basis team had to do some changes at the DB level [Oracle]. Ever since, when we execute our data load, we get the CX_SY_DYNAMIC_OSQL_SEMANTICS.
Is setting changes at the Oracle level cause issues with how the data is being read at the DB. If yes, can you suggest what can we do to this code to get is working correctly [in case Basis can't revert back their changes]?
Would appreciate any help we can get here.You don't understand - this error comes up when we run specific BEx queries. It was working yesterday, but today it is not. Our support package did not change from yesterday. We did not apply any OSSnotes.
We are however doing pre-prepare on our Prod system.
The temporary table is used to store SIDs for use in the join. the table exists in the dictionary, but not at an Oracle level. -
How to deal with dynamic selection screen elements when macros are used?
Hello experts,
This is regarding the dynamic selection screen elements. Actually the requirement is to modify the existing standard report program RFUMSV00 by copying it into a Z report, adding a few selection screen elements and new fields in the output. I actually did everything required except for the one thing that is going out of my reach.
There are a certain fields which are coming when they are not supposed to get displayed. I don't understand the code because of its obsoleteness. Neither can I debug it because it is just data declaration.
This is the code where there is a fault. If I copy the entire code into a new Z report, I'm getting new fields like Entry Date, Document Type, Reference Transaction, Reference key, Logical system.
DEFINE selection_screen_line.
selection-screen: begin of line.
parameters &3 like &4 default 'X' modif id mc4.
selection-screen: comment (30) &1 for field &3 modif id mc4.
selection-screen: comment pos_low(10) text-019
for field &2 modif id mc4. "neu
parameters &2 like rfums_alv-variante modif id mc4.
selection-screen:
position pos_high.
selection-screen: pushbutton (15) text-028
user-command &5 modif id mc4.
selection-screen end of line.
END-OF-DEFINITION.
Kindly, suggest me the right solution.In the program attributes ( SE38 > RFUMSV00 > GOTO > Properties ), you will find a logical database BRF declared. The include DBBRFSEL is part of the selection screen of this logical database.
The selection screen is actually the selection screen of this logical database.
Under the Logical Database field, there is a Selection screen field where you can input which selection screen of the logical database to be used.
But, this is just to change the selection screen that is displayed. To completely suppress it you need to remove logical database declaration from the properties of the program and call it inside your program through function module.
You cannot just remove it from the declaration because many of its variables are used in the program.
So call it using function module as the first step in INITIALIZATION section of the program.
The syntax and function module to call it in your program can be found in the following thread :
How to hide the selection screen of a Logical datebase?
Regards,
Ashish -
Error in generating HTML output using Central Output Pro Server 5.5
I am getting the following error while generating HTML output using the Output Pro Server. A new printer was created with the Physical Device as "HTML Template Generation - [html]" and added to the Job.<br /><br />2004/05/07 20:09:53 D:\Program Files\Adobe\Central\Bin\jfmerge: [400](1801) The printer name is invalid.<br /><br />2004/05/07 20:09:53 D:\Program Files\Adobe\Central\Bin\jfmerge: [3015]Error, unable to open printer.<br />2004/05/07 20:09:53 D:\Program Files\Adobe\Central\Bin\jfmerge: [3008]Error, unable to get info about device 'PAYMENTADVICEHTM.html' attached to port '<nil>'.<br />2004/05/07 20:09:53 D:\Program Files\Adobe\Central\Bin\jfmerge: [400](183) Cannot create a file when that file already exists.<br /><br />2004/05/07 20:09:53 D:\Program Files\Adobe\Central\Bin\jfmerge: [2]Error opening output device/file 'PAYMENTADVICEHTM.html'.<br />2004/05/07 20:09:53 D:\Program Files\Adobe\Central\Bin\jfmerge: [400](6) The handle is invalid.<br /><br />2004/05/07 20:09:53 D:\Program Files\Adobe\Central\Bin\jfmerge: [3018]Error ending page on printer.<br />2004/05/07 20:09:53 D:\Program Files\Adobe\Central\Bin\jfmerge: [210]Nothing was printed.<br />2004/05/07 20:09:53 D:\Program Files\Adobe\Central\Bin\jfserver.exe: [314]Agent exit message: [3018]Error ending page on printer.
If I were to guess, I'd guess that your filename is invalid. How about removing all special characters (spaces, brackets, etc.) from the device name. Also, make sure your form was compiled for HTML.
I haven't actually used the HTML driver, but these are general things you should do if you have trouble with any Central driver.
Regards,
Rob McDougall
Indigo Pacific
Maybe you are looking for
-
When I connect my headphones via bluetooth to my iPad 4 I lose my internet connection?
I recently upgraded to iOS 7.1 and along with the problem mentioned in the title there are many other, not so major problems but I can put up with them. So basically before I updated I could do this fine with no problems but ever since it updated my
-
I have formatted the My Passport drive as a MS-DOS (FAT) but the G4 which is running on Mac OS 10.2.8 can not see the drive on the desktop. The G5 (Mac OS 10.6.8) has no problem reading the drive. I have about 7 GB of data that I need to transfer fro
-
Windows 8.1 x64 BSOD on shutdown - ntoskrnl.exe
This has been happening for several months to me, where in Windows 8.1 x64 when I go to shut down to install any Windows updates, I get a BSOD that says REFERENCE_BY_POINTER. I've uploaded the minidump files here: https://skydrive.live.com/redir?res
-
Sproxy to file and mail but reciver system one
Hi All, I have requirements like from proxy (SOURCE system) to mail and File (RECEIVER system) Asynchronous communication in this requirements sender system one and one receiver system here data send to from source system to receiver system data like
-
SFTP and passkeys with Dreamweaver 8
I've been using WinSCP3 to manage a site but would like to set up Dreamweaver to manage it so I can directly edit and check in/out etc. Basically I want all the niceties of a decent GUI rather than having to edit files through WinSCP. With WinSCP I u