Error text in BAPI conversion
Hello All,
I have a requirement where A bapi's response should be in the language of the called party. I found that BAPI's response is always in english. I need to convert this response message into the calling language. I found a BAPI which converts the response codes/ texts into the required language.
My initial solution was to use BPM and call the conversion BAPI with the response from the 1st BAPI and then send this converted response to the Calling( sender) system. Could anybody give me the BPM steps needed to acheive this , or is there a better way to achieve it without using BPM and the 2nd BAPI ?
Basically i would liek to know how to call two BAPIs in sequence with the response of the first BAPI used as request of the second BAPI and the response of the second BAPI is sent to the Sender System .
Thanks a lot
sudheer
sudheer kamepalli wrote:>
> Hi Jakub ,
>
> The sending system is a legacy system and is only in english. I guess I have to call the BAPI only in english , isn't it ?
You ask me?
>Is there a Parameter in BAPIS where you can select the language as well ?
Rather not but in RFCReceiver CC you can specify the language.
Regards,
Jakub
Similar Messages
-
Runtime error in J2IUN - "DYNPRO_FIELD_CONVERSION" / "Conversion Error*"
Hi All,
I am facing run time error problem during Transaction J2IUN "DYNPRO_FIELD_CONVERSION" / "Conversion Error"
Error analysis:
The program has been interrupted and cannot resume.
Program "J_1IRUTZN" attempted to display fields on screen 9000.
An error occurred during the conversion of this data.
There was a conversion error in the output of fields to the screen.
The formats of the ABAP output field and the screen field may not match.
Some field types require more space on the screen than in the ABAP
program. For example, a date output field on the screen requires two
more characters than the corresponding field in the ABAP program. When
the date is displayed on the screen, an error occurs resulting in this
error message.
Screen name.............. "J_1IRUTZN"
Screen number............ 9000
Screen field............. "UTIL1-REM_BAL"
Error text............... "FX015: Sign lost."
Other data:
Kindly guide me to resolve the issue.
Regards,
P.S.ChitraHi,
Here comes the solution...
Please implemet the SAP note 1252418...
Looking very much relavent to your problem...
Regs,
Lokesh. -
hi all,
how to handle errors in bapis,and also can anyone send faqs on bapis.Hi
A BAPI should be able to record and classify all possible errors that may occur a function Module BAPI_MESSAGE_GETDETAIL is used to Handle the Error Messages..
You have to create a parameter named Return for every BAPI. This parameter returns exception messages or success messages to the calling program.
BAPIs themselves must not trigger any messages (such as MESSAGE xnnn) in the coding. In particular they must not generate terminations or display dialog boxes. Instead, all messages must be intercepted internally and reported back to the calling program in the Return parameter. Otherwise the BAPI will not be processed correctly and control may not be given back to the calling program.
All error messages or indeed any message that may be returned by the BAPI, must be defined in message table (Tools ® ABAP Workbench ® Development ® Programming environment ® Messages) and described in the documentation for the return parameter. This also applies to the most important or most likely error messages generated by other programs that can be indirectly passed via the BAPI to the application program.
You must not use exceptions in BAPI interfaces.
When a termination message (message type A) is triggered, a database rollback is executed in the standard programming model, that is, all tasks performed since the last COMMIT WORK are canceled. When you program BAPIs, we recommend that you also execute a database rollback in the return parameter for termination messages. You must describe this process in the documentation for the Return parameter. For messages of type E (error), the calling program performs the error handling.
Application developers are provided with two service BAPIs to diagnose and process error messages from BAPI calls:
BapiService.MessageGetDetail() displays the short and long texts of BAPI error messages.
BapiService.ApplicationLogGetDetail(), with which information in application logs can be displayed.
Features
The export parameter Return can be implemented as follows:
As a structure, whereby it must be defined in the function module as an export parameter, as well as in the method in the BOR.
As a table, whereby it must be defined in the function module as a table parameter, as well as in the method in the BOR as an export parameter.
Before filling the Return parameter you should either initialize the structure with CLEAR or the table with REFRESH and CLEAR.
If the return parameter is not set or is set to an initial value this means that no error has occurred.
The Return parameter may be based on the following reference structures:
BAPIRET2
You must use this reference structure when developing new BAPIS.
BAPIRET1, BAPIRETURN
These reference structures are still partly used in old BAPIs.
Both structures must be filled in the logon language.
Reward if Helpfull,
Naresh. -
Numeric or value error: hex to raw conversion error , pls help
I am having problem with a sproc which accepts a Raw parameter.
I have a table called Profile:
CREATE TABLE PROFILES
PROFILEID INTEGER NOT NULL,
USERID INTEGER NOT NULL,
PROFILE RAW(255)
and a sproc named addprofile
CREATE OR REPLACE PROCEDURE addprofile
profile IN RAW,
userName IN VARCHAR2
AS
userId INT;
BEGIN
GetUserIdByName( userName, userId);
INSERT INTO Profiles
( ProfileID,userId , profile )
VALUES ( Profiles_ProfileID_SEQ.NEXTVAL,AddProfile.userId ,
AddProfile.profile );
END;
I am calling the Ent Library's Insert profile method which is part of DbProfileProvider.cs (Security App block). It is trying to persist a serialized profile object into the database.
private void InsertProfile(string userName, byte[] serializedProfile,
Data.Database securityDb, IDbTransaction transaction)
DBCommandWrapper cmd = securityDb.GetStoredProcCommandWrapper
(SPAddProfile);
cmd.AddInParameter("userName", DbType.String, userName);
cmd.AddInParameter("profile", DbType.Binary, serializedProfile);
securityDb.ExecuteNonQuery(cmd, transaction);
I get the following error:
Any suggestion on what needs to be changed to get this working? thanks!
Exception Details: Oracle.DataAccess.Client.OracleException: ORA-06502: PL/SQL: numeric or value error: hex to raw conversion error ORA-06512: at line 1
Stack trace:
[OracleException: ORA-06502: PL/SQL: numeric or value error: hex to raw conversion error
ORA-06512: at line 1]
Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure)
Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src)
Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery()
Microsoft.Practices.EnterpriseLibrary.Data.Database.DoExecuteNonQuery(DBCommandWrapper command)
Microsoft.Practices.EnterpriseLibrary.Data.Database.ExecuteNonQuery(DBCommandWrapper command, IDbTransaction transaction)
Microsoft.Practices.EnterpriseLibrary.Security.Database.DbProfileProvider.InsertProfile(String userName, Byte[] serializedProfile, Database securityDb, IDbTransaction transaction)
Microsoft.Practices.EnterpriseLibrary.Security.Database.DbProfileProvider.SetProfile(IIdentity identity, Object profile)
[InvalidOperationException: Error saving the profile for the following user 'test'.]
Microsoft.Practices.EnterpriseLibrary.Security.Database.DbProfileProvider.SetProfile(IIdentity identity, Object profile)
EntLibSecuritySample.DFO.Security.SecurityHelper.SetUserProfile(IIdentity identity, Object Profile) in C:\DFO\Sample\Security\EntLibSecuritySample\SecurityHelper.vb:285
[ApplicationException: An error has occurred saving profile object to Datastore. See stack trace for further information]
EntLibSecuritySample.DFO.Security.SecurityHelper.SetUserProfile(IIdentity identity, Object Profile) in C:\DFO\Sample\Security\EntLibSecuritySample\SecurityHelper.vb:287
EntLibSecuritySample.ProfilePage.cmdSaveProfile_Click(Object sender, EventArgs e) in C:\DFO\Sample\Security\EntLibSecuritySample\profile.aspx.vb:59
System.Web.UI.WebControls.Button.OnClick(EventArgs e)
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
System.Web.UI.Page.ProcessRequestMain() +1292Harsh,
I am not a user of the Enterprise Library so I can not speak to the specifics of that. However, here is a short sample that is based on the information you've provided. Perhaps it will be useful.
Database:
create table profiles
profileid integer not null,
userid integer not null,
profile raw(255)
create or replace procedure addprofile
p_profileid in integer,
p_userid in integer,
p_profile in raw
as
begin
insert into
profiles (profileid, userid, profile)
values (p_profileid, p_userid, p_profile);
end;
/C# code:
using System;
using System.Data;
using System.Text;
using Oracle.DataAccess.Client;
using Oracle.DataAccess.Types;
namespace HarshTest
/// <summary>
/// Summary description for Class1.
/// </summary>
class Class1
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
// connect to local db using o/s authentication
OracleConnection con = new OracleConnection("User ID=/; Pooling=False");
con.Open();
// create command object and set properties
OracleCommand cmd = new OracleCommand();
cmd.Connection = con;
cmd.CommandText = "ADDPROFILE";
cmd.CommandType = CommandType.StoredProcedure;
// parameter object for profileid
OracleParameter p_profileid = new OracleParameter();
p_profileid.OracleDbType = OracleDbType.Int32;
p_profileid.Value = 1;
p_profileid.Direction = ParameterDirection.Input;
// parameter object for userid
OracleParameter p_userid = new OracleParameter();
p_userid.OracleDbType = OracleDbType.Int32;
p_userid.Value = 1;
p_userid.Direction = ParameterDirection.Input;
// create a byte array for the raw value
ASCIIEncoding encoder = new ASCIIEncoding();
byte[] byteArray = encoder.GetBytes("TestProfile");
// parameter object for profile
OracleParameter p_profile = new OracleParameter();
p_profile.OracleDbType = OracleDbType.Raw;
p_profile.Value = byteArray;
p_profile.Direction = ParameterDirection.Input;
// add parameters to collection
cmd.Parameters.Add(p_profileid);
cmd.Parameters.Add(p_userid);
cmd.Parameters.Add(p_profile);
// execute the stored procedure
try
cmd.ExecuteNonQuery();
catch (OracleException ex)
Console.WriteLine(ex.Message);
// clean up objects
p_profile.Dispose();
p_userid.Dispose();
p_profileid.Dispose();
cmd.Dispose();
con.Dispose();
}Maybe the part about creating the byte array is what you are missing...
- Mark -
SMQ2 (Inbound Queue) : Error occurred during character conversion
Hi,
In SMQ2 an Inbound Queue has failed with status text "Error occurred during character conversion". The XML message inside this queue is in waiting status with status text " Scheduled for Outbound Processing" .
Even after cancelling this message from SXMB_MONI, and reposting the PO, still again the queue and the XML message inside the queue are in same status.
As this is in XI production system, requesting to provide some suggestion ASAP.
Thanks,
Mateen.The queue status is still sysfail. There is only 1 message waiting in the queue.
I think that the queue might be locked for some reason and after unlocking the queue and restarting the message, the message will get processed successfully.
But before working on this I want to make sure that the queue is locked.
Do you or anyone else know how and from where can I check whether the queue is locked or unlocked?
Regards,
Mateen. -
Error Text = PL/SQL: ORA-00926
Can some one tell me what the problem is with this, fairly urgent
ERROR:Line # = 120 Column # = 28 Error Text = PL/SQL: ORA-00926: missing VALUES keyword
Line # = 120 Column # = 2 Error Text = PL/SQL: SQL [b]Statement ignored
Oracle Migration Workbench
CREATE OR REPLACE FUNCTION "SA"."SPCXDB_DELIVERPRJ" (
CurrUser_ID IN NUMBER DEFAULT NULL,
Object_ID IN NUMBER DEFAULT NULL,
Path_ID IN NUMBER DEFAULT NULL,
IsLastPhase IN NUMBER DEFAULT NULL,
NewPhase_ID IN NUMBER DEFAULT NULL,
User_ID IN NUMBER DEFAULT NULL,
Comment_ IN VARCHAR2 DEFAULT NULL,RC1_CALL IN OUT Omwb_emulation.globalPkg.RCT1 )
RETURN INTEGER
AS
CurrUser_ID_ NUMBER(10,0) := CurrUser_ID;
Object_ID_ NUMBER(10,0) := Object_ID;
Path_ID_ NUMBER(10,0) := Path_ID;
IsLastPhase_ NUMBER(3,0) := IsLastPhase;
NewPhase_ID_ NUMBER(10,0) := NewPhase_ID;
User_ID_ NUMBER(10,0) := User_ID;
Comment__ VARCHAR2(255) := Comment_;
StoO_selcnt INTEGER;
StoO_error INTEGER;
StoO_rowcnt INTEGER;
StoO_crowcnt INTEGER := 0;
StoO_fetchstatus INTEGER := 0;
StoO_errmsg VARCHAR2(255);
StoO_sqlstatus INTEGER;
tempVar1 NUMBER :=3;
tempVar2 NUMBER :=1;
id NUMBER(10,0);
CURSOR ptr IS
SELECT Object_ID
FROM TT_DVROBJECTS;
dummy_var1 INTEGER;
/****** Object: Stored Procedure dbo.spCXDB_deliverprj Script Date: 2003-11-12 14:21:41 ******/
-- currently logged user id
BEGIN
NULL;
/*[SPCONV-ERR(12)]:(set XACT_ABORT) Manual conversion required*/
1) update project
IF SPCXDB_DELIVERPRJ.IsLastPhase_ = 0 THEN
BEGIN
BEGIN
StoO_error := 0;
StoO_rowcnt := 0;
UPDATE sa.CXDBObjects
SET DvrPath_ID = SPCXDB_DELIVERPRJ.Path_ID_,
DvrPhase_ID = SPCXDB_DELIVERPRJ.NewPhase_ID_,
DvrUser_ID = SPCXDB_DELIVERPRJ.User_ID_
WHERE Object_ID = SPCXDB_DELIVERPRJ.Object_ID_;
StoO_rowcnt := SQL%ROWCOUNT;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
-- Status = 4
END;
ELSE
BEGIN
BEGIN
StoO_error := 0;
StoO_rowcnt := 0;
UPDATE sa.CXDBObjects
SET DvrPath_ID = 0,
DvrPhase_ID = 0,
DvrUser_ID = 0
WHERE Object_ID = SPCXDB_DELIVERPRJ.Object_ID_;
StoO_rowcnt := SQL%ROWCOUNT;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
-- Status = 0
BEGIN
StoO_error := 0;
StoO_rowcnt := 0;
UPDATE sa.CXDBDeliverPaths
SET RefCount = RefCount - 1
WHERE Path_ID = SPCXDB_DELIVERPRJ.Path_ID_;
StoO_rowcnt := SQL%ROWCOUNT;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
2) get all subobjects , subprojects and documents
END;
END IF;
/* Emulating @@TRANCOUNT functionality in Oracle model */
omwb_emulation.globalPkg.trancount:=omwb_emulation.globalPkg.trancount+1;
/*[SPCONV-ERR(55)]:CREATE TABLE TT_DVROBJECTS_2-- TT_DVROBJECTS Will be used -- statement passed to ddl file*/
DELETE FROM TT_DVROBJECTS;
BEGIN
StoO_error := 0;
StoO_rowcnt := 0;
INSERT INTO TT_DVROBJECTS ; /*ERROR:Line # = 120 Column # = 28 Error Text = PL/SQL: ORA-00926: missing VALUES keyword
Line # = 120 Column # = 2 Error Text = PL/SQL: SQL Statement ignored
SQL SERVER 2000
BEGIN TRAN
CREATE TABLE #DvrObjects ( Object_ID int NOT NULL )
NSERT
#DvrObjects
EXEC
spCXDB_expandtree @Object_ID,3,1 */
StoO_rowcnt := SQL%ROWCOUNT;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
BEGIN
/* demoDMS*/sa.spCXDB_expandtree(SPCXDB_DELIVERPRJ.Object_ID_,
tempVar1,
tempVar2,
RC1 => RC1_CALL);
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
3) put documents and projects onto deliver path
NULL;/*DECLARE CURSOR ptr */
BEGIN
StoO_error := 0;
StoO_rowcnt := 0;
StoO_crowcnt := 0;
OPEN ptr;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
BEGIN
StoO_error := 0;
StoO_rowcnt := 0;
StoO_crowcnt := 0;
FETCH ptr INTO
SPCXDB_DELIVERPRJ.id;
EXCEPTION
WHEN OTHERS THEN
StoO_rowcnt := 0;
StoO_selcnt := 0;
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
IF ptr%NOTFOUND THEN
StoO_sqlstatus := 2;
StoO_fetchstatus := -1;
ELSE
StoO_sqlstatus := 0;
StoO_fetchstatus := 0;
END IF;
<<i_loop1>>
WHILE ( StoO_fetchstatus = 0) LOOP
BEGIN
-- IF (SELECT Status FROM CXDBObjects WHERE Object_ID = @id) = 4 AND
BEGIN
StoO_selcnt := 0;
StoO_error := 0;
StoO_rowcnt := 0;
SELECT 1 INTO StoO_selcnt
FROM DUAL
WHERE 0 <> (
SELECT DvrPhase_ID
FROM CXDBObjects
WHERE Object_ID = SPCXDB_DELIVERPRJ.id ) AND SPCXDB_DELIVERPRJ.Path_ID_
= (
SELECT DvrPath_ID
FROM CXDBObjects
WHERE Object_ID = SPCXDB_DELIVERPRJ.id );
StoO_rowcnt := SQL%ROWCOUNT;
EXCEPTION
WHEN NO_DATA_FOUND THEN
StoO_rowcnt := 0;
StoO_selcnt := 0;
WHEN OTHERS THEN
StoO_rowcnt := 0;
StoO_selcnt := 0;
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
IF StoO_selcnt != 0 THEN
BEGIN
BEGIN
BEGIN
StoO_selcnt := 0;
StoO_error := 0;
StoO_rowcnt := 0;
SELECT 1 INTO StoO_selcnt
FROM DUAL
WHERE 0 = (
SELECT type_
FROM CXDBObjects
WHERE Object_ID = SPCXDB_DELIVERPRJ.id );
StoO_rowcnt := SQL%ROWCOUNT;
EXCEPTION
WHEN NO_DATA_FOUND THEN
StoO_rowcnt := 0;
StoO_selcnt := 0;
WHEN OTHERS THEN
StoO_rowcnt := 0;
StoO_selcnt := 0;
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
IF StoO_selcnt != 0 THEN
BEGIN
-- update project data
IF SPCXDB_DELIVERPRJ.IsLastPhase_ = 0 THEN
BEGIN
BEGIN
StoO_error := 0;
StoO_rowcnt := 0;
UPDATE sa.CXDBObjects
SET DvrPath_ID = SPCXDB_DELIVERPRJ.Path_ID_,
DvrPhase_ID = SPCXDB_DELIVERPRJ.NewPhase_ID_,
DvrUser_ID = SPCXDB_DELIVERPRJ.User_ID_
WHERE Object_ID = SPCXDB_DELIVERPRJ.id;
StoO_rowcnt := SQL%ROWCOUNT;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
-- Status = 4
END;
ELSE
BEGIN
BEGIN
StoO_error := 0;
StoO_rowcnt := 0;
UPDATE sa.CXDBObjects
SET DvrPath_ID = 0,
DvrPhase_ID = 0,
DvrUser_ID = 0
WHERE Object_ID = SPCXDB_DELIVERPRJ.id;
StoO_rowcnt := SQL%ROWCOUNT;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
-- Status = 0
--decrease path reference counter
BEGIN
StoO_error := 0;
StoO_rowcnt := 0;
UPDATE sa.CXDBDeliverPaths
SET RefCount = RefCount - 1
WHERE Path_ID = SPCXDB_DELIVERPRJ.Path_ID_;
StoO_rowcnt := SQL%ROWCOUNT;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
END;
END IF;
END;
ELSE
BEGIN
BEGIN
dummy_var1 := /* demoDMS*/sa.spCXDB_deliverdocument(SPCXDB_DELIVERPRJ.CurrUser_ID_,
SPCXDB_DELIVERPRJ.id,
SPCXDB_DELIVERPRJ.Path_ID_,
SPCXDB_DELIVERPRJ.IsLastPhase_,
SPCXDB_DELIVERPRJ.NewPhase_ID_,
SPCXDB_DELIVERPRJ.User_ID_,
SPCXDB_DELIVERPRJ.Comment__);
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
END;
END IF;
END;
END;
END IF;
BEGIN
StoO_error := 0;
StoO_rowcnt := 0;
StoO_crowcnt := 0;
FETCH ptr INTO
SPCXDB_DELIVERPRJ.id;
EXCEPTION
WHEN OTHERS THEN
StoO_rowcnt := 0;
StoO_selcnt := 0;
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
IF ptr%NOTFOUND THEN
StoO_sqlstatus := 2;
StoO_fetchstatus := -1;
ELSE
StoO_sqlstatus := 0;
StoO_fetchstatus := 0;
END IF;
END;
END LOOP;
BEGIN
StoO_error := 0;
StoO_rowcnt := 0;
CLOSE ptr;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
NULL;
/* Emulating @@TRANCOUNT functionality in Oracle model */
IF omwb_emulation.globalPkg.trancount = 1 THEN
COMMIT WORK;
END IF;
IF omwb_emulation.globalPkg.trancount > 0 THEN
omwb_emulation.globalPkg.trancount:=omwb_emulation.globalPkg.trancount-1;
END IF;
RETURN (0);
END SPCXDB_DELIVERPRJ;
Thank'sHi Hilary,
This is the original T-SQL code. Please, help me.
CREATE PROCEDURE spCXDB_deliverPrj
@CurrUser_ID int, -- currently logged user id
@Object_ID int,
@Path_ID int,
@IsLastPhase tinyint,
@NewPhase_ID int,
@User_ID int,
@Comment varchar(255) = NULL
AS
SET XACT_ABORT ON
1) update project
IF @IsLastPhase = 0
BEGIN
UPDATE
CXDBObjects
SET
DvrPath_ID = @Path_ID,
DvrPhase_ID = @NewPhase_ID,
DvrUser_ID = @User_ID
-- Status = 4
WHERE
Object_ID = @Object_ID
END
ELSE
BEGIN
UPDATE
CXDBObjects
SET
DvrPath_ID = 0,
DvrPhase_ID = 0,
DvrUser_ID = 0
-- Status = 0
WHERE
Object_ID = @Object_ID
UPDATE
CXDBDeliverPaths
SET
RefCount = RefCount - 1
WHERE
Path_ID = @Path_ID
END
2) get all subobjects , subprojects and documents
BEGIN TRAN
CREATE TABLE #DvrObjects ( Object_ID int NOT NULL )
INSERT
#DvrObjects
EXEC
spCXDB_expandtree @Object_ID,3,1
3) put documents and projects onto deliver path
DECLARE @id int
DECLARE ptr CURSOR FOR SELECT Object_ID FROM #dvrobjects
OPEN ptr
FETCH NEXT FROM ptr INTO @id
WHILE(@@FETCH_STATUS = 0)
BEGIN
-- IF (SELECT Status FROM CXDBObjects WHERE Object_ID = @id) = 4 AND
IF (SELECT DvrPhase_ID FROM CXDBObjects WHERE Object_ID = @id) <> 0 AND
(SELECT DvrPath_ID FROM CXDBObjects WHERE Object_ID = @id) = @Path_ID
BEGIN
IF (SELECT type FROM CXDBObjects WHERE Object_ID = @id) = 0
BEGIN
-- update project data
IF @IsLastPhase = 0
BEGIN
UPDATE
CXDBObjects
SET
DvrPath_ID = @Path_ID,
DvrPhase_ID = @NewPhase_ID,
DvrUser_ID = @User_ID
-- Status = 4
WHERE
Object_ID = @id
END
ELSE
BEGIN
UPDATE
CXDBObjects
SET
DvrPath_ID = 0,
DvrPhase_ID = 0,
DvrUser_ID = 0
-- Status = 0
WHERE
Object_ID = @id
--decrease path reference counter
UPDATE
CXDBDeliverPaths
SET
RefCount = RefCount - 1
WHERE
Path_ID = @Path_ID
END
END
ELSE
BEGIN
EXEC spCXDB_deliverdocument @CurrUser_ID, @id,@Path_ID,@IsLastPhase,@NewPhase_ID,@User_ID, @Comment
END
END
FETCH NEXT FROM ptr INTO @id
END
CLOSE ptr
DEALLOCATE ptr
COMMIT TRAN
RETURN(0)
Regards,
Emilia. -
Error during XML = ABAP conversion
Hi
We have a synchronous call from a SRM application through a proxy framework to a vendor http server through XI. The response from the vendor's http server is returned through a custom structure -and is returned through XI back to the calling SRM application.
After receiving the response, the calling SRM application checks for a particular field value of the custom return structure for a error code and sends out an email - accordingly.
Now, the response message comes back from the vendor's server - but the lines of code beyond the synchronous call in the SRM calling application does not get executed ( mail generation part ) I get the following error on the SRM front end - <b>Error in Exchange Infrastructure: Error during XML => ABAP conversion (Response Message; error ID: CX_ST_MATCH_ELEMENT; (/1SAI/TXS00000000000000000001 XML Bytepos.: 39 XML Path: Error Text: System e</b>
Now, this error when occured in our dev environment, I set the extended xml attribute property to 'X' for the synchronous payload in calling SRM application code. The problem is, this error is occuring now in our QA environment inspite of this property being set.
Any ideas/suggestions as to why this message occurs in a standard proxy framework setup ?Hi,
Please check this link <a href="http://help.sap.com/saphelp_nw04/helpdata/en/0c/402040abf2c442e10000000a1550b0/content.htm"></a>
This talks about having the first element of the xml fragment as X0.
Hope this helps.
Regards,
Smitha. -
Hi all ,
Im getting the below error , actually recently i created my own custom table zstudent, later i wrote select query to fetch data from the same and dump at internal table and then bind this to the table node.
But im getting below error, even i removed the select query still same error is occuring.
Error when processing your request
What has happened?
The URL http://********00.*****b.com:8000/sap/bc/webdynpro/sap/zdemo_student/ was not called due to an error.
Note
The following error text was processed in the system IDS : Access via 'NULL' object reference not possible.
The error occurred on the application server axsids00_IDS_00 and in the work process 0 .
The termination type was: RABAX_STATE
The ABAP call stack was:
Method: WDDOINIT of program /1BCWDY/YUSM2Q74A826Y0JY1I4V==CP
Method: IF_WDR_COMPONENT_DELEGATE~WD_DO_INIT of program /1BCWDY/YUSM2Q74A826Y0JY1I4V==CP
Method: DO_INIT of program CL_WDR_DELEGATING_COMPONENT===CP
Method: INIT_CONTROLLER of program CL_WDR_CONTROLLER=============CP
Method: INIT_CONTROLLER of program CL_WDR_COMPONENT==============CP
Method: INIT of program CL_WDR_CONTROLLER=============CP
Method: INIT of program CL_WDR_CLIENT_COMPONENT=======CP
Method: INIT of program CL_WDR_CLIENT_APPLICATION=====CP
Method: IF_WDR_RUNTIME~CREATE of program CL_WDR_MAIN_TASK==============CP
Method: HANDLE_REQUEST of program CL_WDR_CLIENT_ABSTRACT_HTTP===CPThanks Rama,
Acutally i accidentally commented the lo_nd_student = wd_context ....etc
this line was commented .
i have one small requirement to fetch data from local customised table and fill the same to internal table and bind that to table node.
my table node is student having attributes as name , city and number , all are of type strings.
now i created one custom table zstudent having ID - char of length 10,
name of type string
city of type string
num of type string
i have inserted records
but when i use select query to fill data from this zstudent to my internal table of type lt_student type wd_this->elements_student ,
im getting same above error. -
Function returning error text validation
Hi,
I have a page where i can insert/update user, organisation, responsible.
Organisation can be nullable.
Only one user at a time can be responsible for a organisation.
To check this responsible validation i made a function returning error text validation as follow:
BEGIN
FOR c IN (SELECT usr_spa
FROM kpi_users
WHERE usr_org_id = :p22_usr_org_id
LOOP
IF upper(:p22_usr_spa) = upper('YES') and upper(c.usr_spa) = upper('YES')
THEN
RETURN 'A user is already responsible for this organisation'||'!';
END IF;
END LOOP;
END;
The validation works fine.
But it goes wrong when i want to insert a new user, without assigning him to an organisation.
I get following message:
ORA-01722: invalid number
ERR-1024 Unable to run "function body returning text" validation.
Can someone please help me solve this problem?
ThanksHi,
try:
BEGIN
FOR c IN (SELECT usr_spa
FROM kpi_users
WHERE usr_org_id = nvl(:p22_usr_org_id,-1)
LOOP
IF upper(:p22_usr_spa) = upper('YES') and upper(c.usr_spa) = upper('YES')
THEN
RETURN 'A user is already responsible for this organisation'||'!';
END IF;
END LOOP;
END;This assumes that :p22_usr_org_id could be null and converts this to -1 (pick another default value if this may exist as an id). It is possible that the statement would otherwise be seen as WHERE usr_org_id = null which is invalid.
or you could do:
BEGIN
IF :p22_usr_org_id IS NOT NULL THEN
FOR c IN (SELECT usr_spa
FROM kpi_users
WHERE usr_org_id = :p22_usr_org_id
LOOP
IF upper(:p22_usr_spa) = upper('YES') and upper(c.usr_spa) = upper('YES')
THEN
RETURN 'A user is already responsible for this organisation'||'!';
END IF;
END LOOP;
END IF;
END;As this would stop the validation running if the :p22_usr_org_id is null.
Or, you could just make your validation conditional on p22_usr_org_id not being null?
Andy -
Reg:Getting error text from a channel into a file or into a variable
Hi,
Can we get the error text such as u201Cjava.lang.NegativeArraySizeExceptionu201D from a communication channel into a variable or in the form of an xml message so that based on kind of error further processing can be done.
Regards,
RahulYou can decide further processing based on the data available in the mapping. If the value comes in the source field for a list element as you expected do UDF and return error as string and decide the mapping as per business need. I talk about something like enhanced interface determination. That's one way. Reading the error message from the communication channel and decide does not seem to be better option.
-
Database error text: invalid number
Hi Gurus,
I am calling a procedure proxy from ECC and it is giving me a short dump:
Error 339 has occurred while executing database procedure
""_SYS_BIC"."Krishna_Demo_Proj.Model/KC_GET_MARA"" on the
current database connection "R/3".
Database error text: invalid number: ''
Triggering statement: "dsql_open_proc"
I have created a table with only one field.
Mapped the Data types after creating the Procedure Proxy
Which data type I need to use? I tried with lots of combinations but, still the same error.
Regards,
Krishna ChauhanHi Srinu,
I have used NVARCHAR 18 and corresponding to that CHAR18 is used.
Please see the attached screen shots.
Regards,
Krishna Chauhan -
The database error text is: ORA-01843: not a valid month
I am trying to use a date field as a query filter and I keep getting the
following error:
A database error occurred. The database error text is: ORA-01843: not a
valid month. (WIS 10901).
When I remove the query filter and run the query it works as
expected. I want to be able to allow the users to use the date field in order
to select a date range. Can someone provide me with some information on how to
resolve this issue.SQL> SELECT (to_char(tO_date('09/29/2006', 'mm/dd/yyyy'))||':'||TO_CHAR(systimestamp,'hh24:mi:ss:ff6'))
2 FROM dual;
(TO_CHAR(TO_DATE('09/29/2006
29-SEP-06:01:33:09:023000
But you want mm/dd/yyyy hh24:mi:ss:ff6 format then use TO_CHAR function for format specifier
SQL> SELECT to_char(to_timestamp((to_char(tO_date('09/29/2006', 'mm/dd/yyyy'))||':'||TO_CHAR(systimestamp,'hh24:mi:ss:ff6')), 'dd/mm/yyyy hh24:mi:ss:ff6'),'mm/dd/yyyy hh24:mi:ss:ff6')
2 FROM DUAL
3 /
TO_CHAR(TO_TIMESTAMP((TO_CHAR
09/29/0006 01:40:27:113000
SQL> Khurram -
Hi,
My Webi report is geeting failed with the error
"A database error occured. The database error text is: ORA-29275: partial multibyte character . (WIS 10901)"
may i know the root cause of the above error and how to resolve it. I am using BO 3.1.
Its very important to provide the report. Please help urgently.
Thanks in advance.
AbidHi Abid,
Please see SAP Note 1556127.
Symptom
A database error occurs after refreshing a web intelligence report in java report panel or web intelligence in interactive mode
The database error text is: ORA 29275 with partial multibyte character (WIS 10901)
Environment
windows 2003 Server
Cause
Environment variables are not set with value UTF-8:LC_ALL,LANG, and NLS_LANG
Resolution
Set following system environment variables: LC_ALL,LANG, and NLS_LANG with value UTF-8. For example, LC_ALL=EN_US.UTF-8 -
Hi experts,
I have a big issue in production server,
the Queues are stuking in smq2 " command to tRFC/qRFC: execute LUW again"
if i am reprocess or press F6 it is going manually.
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Call Adapter
-->
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:Category>XIServer</SAP:Category>
<SAP:Code area="INTERNAL">CLIENT_RECEIVE_FAILED</SAP:Code>
<SAP:P1>400</SAP:P1>
<SAP:P2>ICM_HTTP_CONNECTION_FAILED</SAP:P2>
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText><html><head><title>Application Server Error</title> <style type="text/css"> body { font-family: arial, sans-serif;} </style> </head> <BODY text="#172972" link="#808080" vlink="#808080" alink="#8e236b" bgcolor=white leftmargin="0" topmargin="0" marginheight="0" marginwidth="0"> <table height="61" width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td background="http://xidist:8000/sap/public/icman/img/bluebar_tile.gif" height="30"><table> <tr> <td width=5></td> <td width=20% nowrap><font face=arial size="-1" color=white>SAP NetWeaver Application Server </font></td><td width=75% align="right" nowrap><font face=arial size="-1" color="white"><a href="http://help.sap.com/">Help </font></td><td width=5% nowrap></font></td> </tr></table> </td><td rowspan=2 width=122 height=61 valign=top><img src= "http://xidist:8000/sap/public/icman/img/theme.jpg" width=122 height=61 border=0 alt="SAP"></td> </tr><tr><td background="http://xidist:8000/sap/public/icman/img/graybar_tile.jpg" height="31"> </td></tr> </table> <br><br> <table width=800> <tr><td width=50 nowrap> </td><td> <H2><b>404 Resource not found</b></H2><br>Partner not reached<br><br><hr> <table border="0"> <tr><td>Error:</td><td>-20</td></tr> <tr><td>Version:</td><td>7000</td></tr> <tr><td>Component:</td><td>ICM</td></tr> <tr><td>Date/Time:</td><td>Wed May 14 15:50:24 2014 </td></tr> <tr><td>Module:</td><td>icxxconn.c</td></tr> <tr><td>Line:</td><td>2341</td></tr> <tr><td>Server:</td><td>xidist_GXI_00</td></tr> <tr><td>Error Tag:</td><td>{004654a1}</td></tr> <tr><td>Detail:</td><td>Connection request from (110/28816/0) to host: xidist, service: 50000 failed (NIESERV_USED) EX-T110, U28816, 001 PIAFUSER, 10.1.57.50, 15:50:24, M0, W1, , 1/0</td></tr> </table> <p></p> </td></tr></table> <table><tr><td width=50 nowrap></td> <td nowrap><FONT SIZE=-1><a href="http://www.sap.com/">© 2001-2009, SAP AG</a></FONT> </td></tr></table> </body></html></SAP:AdditionalText>
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>Error while receiving by HTTP (error code: 400, error text: ICM_HTTP_CONNECTION_FAILED)</SAP:Stack>
<SAP:Retry>N</SAP:Retry>
</SAP:Error>
Regards,
Kiran polaniDear Sriram Ramani,
in ths case some scenarios are working good. proxy to soap, idoc to soap and jdbc to proxy, proxy to jdbc all are working with out error.
but my problem is in Soap to RFC case..
for all RFC communication channels are working but some time it is throwing RFC_COMMUNICATION_ERROR and messages are stucks in smq2 with retry.
when i check with retry error with in sxmb_moni log showing ICM_HTTP_CONNECTION_FAILED with error code 400.
not for all signals for few signals for some time..
Why it is happening i can't understand.
in repository it is saying Repsitory object hmi failed and address already in use.
is there any problem with loading IR objects.
Please suggest me good suggestion for this type of issue what can do for this to resolve.
Regards,
Kiran Polani -
ST22 Short Dump DATASET_WRITE_ERROR Error text: "Input/output error" Error
Dear All,
Please kindly help. I have the following error. Is it possibility due to disk full?
DATASET_WRITE_ERROR
An error occurred when writing to the file
"/capps/AP0/edi/CCM/565500_001105200_00126_20080715_042803.tmp".
Error text: "Input/output error"
Error code: 5
Many thanks in advance,
YanHi,
Check the return code of the OPEN DATASET. May be autorizations for writing might not be there.
If the file is written partially it would be due to memory problem.
Also check the OPEN DATASET Parameters if they are correct.
Hope this helps.
Maybe you are looking for
-
How can I setup multiple iCloud accounts on my Mac?
I'm trying to setup additional icloud accounts. Is this possible and if so, how do you go about doing it? Thanks!
-
I noticed recently that I cannot see anymore free/busy information for my own organization colleagues. I'm using Outlook 2013 (latest updates) upon Exchange 2010 (SP ?). The suggestion DO work on my account using OWA. Other users w/Outlook 2010 have
-
The greeting button on my iPhone 4S is not working it is there but it is grayed out I am trying to change my greeting from personal to the default one how to I fix this?
-
A new FOC is setup to connect our ONS to a far-end optical system (unknown)belonging to another carrier. I want to test the FOC connection for errors, is ONS intelligent to do that?
-
How to send different type of data
Hello, everyone, I am trying to send different types of data between client and server. For example, from server to client, I need to send some String data, using PrintWriter.println(String n); and send some other stuff using OutputStream.write(byte[