JDBC to IDOC scenario - Mapping problem with E1FIBSEG
Hi friends,
I have problem when generate multiple Idocs (FIDCC1) an multiple positions based on an External Definition for a SQL Server table. I have selected all fields from this table from a SELECT into the JDBC configuration.
My mapping is like this:
DWCAJA.ResultSet 1..1
IDOC.
Thats ok and generate n IDOCs by every change of PK.
The problem is when i want to map positions because i dont have any field in source message to identify the number of positions to map with E1FISEG.
If I have two differents Pks and n rows, the result of testing is as folow:
FIDCC1
IDOC
E1FIKPF
E1FISEG
E1FISEG
IDOC
E1FIKPF
I cant obtain n BSEG segments according PK. I've mapped and all fields of row segment but those are created in the first IDOC node only,
Any suggestions?
Regards,
Pablo.-
Important: Primary key : DWSucCod + DWCajSec
Payload:
- <row>
<DWSucCod>11</DWSucCod>
<DWCajSec>1</DWCajSec>
<DWCtaConCo>1100001</DWCtaConCo>
<DWRecImp>100</DWRecImp>
</row>
- <row>
<DWSucCod>11</DWSucCod>
<DWCajSec>1</DWCajSec>
<DWCtaConCo>1100002</DWCtaConCo>
<DWRecImp>200</DWRecImp>
</row>
Result:
IDOC
E1FIKPF
E1FISEG
hkont :1100001
dmbtr : 100
E1FISEG
hkont :1100002
dmbtr : 200
Payload:
- <row>
<DWSucCod>11</DWSucCod>
<DWCajSec>1</DWCajSec>
<DWCtaConCo>1100002</DWCtaConCo>
<DWRecImp>200</DWRecImp>
</row>
- <row>
<DWSucCod>12</DWSucCod>
<DWCajSec>1</DWCajSec>
<DWCtaConCo>1100003</DWCtaConCo>
<DWRecImp>300</DWRecImp>
</row>
Result:
IDOC
E1FIKPF
E1FISEG
hkont :1100002
dmbtr : 200
IDOC
E1FIKPF
E1FISEG
hkont :1100001
dmbtr : 300
Payload:
- <row>
<DWSucCod>11</DWSucCod>
<DWCajSec>1</DWCajSec>
<DWCtaConCo>1100001</DWCtaConCo>
<DWRecImp>100</DWRecImp>
</row>
- <row>
<DWSucCod>11</DWSucCod>
<DWCajSec>1</DWCajSec>
<DWCtaConCo>1100002</DWCtaConCo>
<DWRecImp>200</DWRecImp>
</row>
- <row>
<DWSucCod>12</DWSucCod>
<DWCajSec>1</DWCajSec>
<DWCtaConCo>1100003</DWCtaConCo>
<DWRecImp>300</DWRecImp>
</row>
Result:
IDOC
E1FIKPF
E1FISEG
hkont :1100001
dmbtr : 100
E1FISEG
hkont :1100002
dmbtr : 200
IDOC
E1FIKPF
E1FISEG
hkont :1100003
dmbtr : 300
Similar Messages
-
Mapping issue in jdbc to idoc scenario
Hi
we have a jdbc to idoc scenario , we need to repeat the segment given below which has only two fields FLDGRP and FLDVAL,
both filed_Group and fieldgroup1 is coming simultaneously . when field group =BATCH, batch=FLDVAL and fieldgroup1=CUST cust_code=FLDVAL
mapping is as follows :
E1WXX01 (segment name) occurance 0:9999999999
fieldgroup----
> FLDGRP
batch----
>FLDVAL
fieldgroup1----
>FLDGRP(same filed as above )
cust_code----
>FLDVAL(same filed as above)
pl sugggest how to map using graphical mapping
rgds
arunI see the problem here... hmmm.. It is simple
You need to just duplicate the E1WXX01 segment by right clicking and pressing Duplicate Subtree.
Once you do duplication of segment then you will have two segments of E1WXX01.
In first segment map
> fieldgroup----
> FLDGRP
> batch----
>FLDVAL
and in second segment of E1WXX0, map
> fieldgroup1----
>FLDGRP
> cust_code----
>FLDVAL
Regards,
sarvesh -
For Michal Krawczyk - JDBC to IDoc Scenario
Hi Michal,
I am trying to run JDBC to IDoc scenario and somehow my mapping is not getting executed and because of that at receiver side IDoc is not getting LIFNR value which should come from Database table and as a result i am getting error 51 on posting the IDoc...
Mr Reddy suggested me to go through your blog i.e
/people/michal.krawczyk2/blog/2005/09/16/xi-how-to-test-your-mapping-in-real-life-scenarios
After going through this blog i figured out that when i am trying to check the mapping as per way mentioned in the blog i am receiving the error "java.lang.NullPointerException"..But i am getting this error even for those scenarios also which are working fine on checking the mapping suggested by you.
Can you suggest something...
It would be better for you to understand my scenario if you will go through this thread also :
https://www.sdn.sap.com/irj/sdn/forumshi Santosh,
1. this is not a private forum - post to <b>everyone</b> so everyone will be have a look -<b> this way you will get more answers</b>
2. if you want my direct help contact me by e-mail and I will contact you with my team leader and I will repair your XI problem then
thanks for understanding
Regards,
michal
<a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a> -
Error while executing a JDBC to Idoc scenario : No standard agreement found
Hello SAP PI Gurus,
I am having a JDBC to idoc Scenario .And the interface is running at 10 min of duration.
<SAP:AdditionalText>No standard agreement found for ,
BS_EXT_CTBSREPDB, , BS_ERPQAS_QE1_320, http://XYZ.com/FI/FI_FI_01/Charges, FIDCC2</SAP:AdditionalText>.
While i test the configuration...i get an error in reciever agreement as mentioned above.
Can you pls help me in resolving this issue.
Regards,
RaviHi,
I think the problem is with namespace....for IDOC the namespace will be "urn:sap-com:document:sap:idoc:messages"...but in your case it is different.....i.e http:....etc.....please check whether you 've used the same IDOC withe above mentioned namespace in all the configuration objects like interface determination, receiveragreement etc.....
Thanks
Priyanka -
IDoc to JDBC and JDBC to IDoc Scenario
Dear All,
I am working on IDoc to JDBC and JDBC to IDoc Scenario.
I have to send Idoc from SAP to Non SAP system(.NET application) i almost configured in XI but still i don't know when my INTEGRATION will INVOKE how my data will proceed from IDOC to Oracle database(Through JDBC) and in case of revese how and when Data flow will start.
Does anyone have completed STEP by STEP scenario document for this?
How my Idoc will sent to XI?
How XI will pick up data from IDoc?
How XI will Convert data to JDBC and UPDATE in Oracle Database?
And i reverse case(JDBC to IDoc) when my INTEGRATION will INVOKE?
Where and When i can watch my process and data?
How can i test the whole integration?
I AM GETTING ERROR WHILE TESTING CONFIGURATION IN Integration Directory "Error while refreshing the XI runtime cache" and when i check this in SXI_CACHE it gives me error
"Unable to refresh cache "NO_BUSINESS_SYSTEM"
"Error during last refresh to cache"LCR_GET_OWN_BUSINESS_SYSTEM - NO_BUSINESS_SYSTEM"
Please solve all the above problems i will reward u points
thanks,
RPHi,
While we working on IDOC to JDBC interface..
We have to deploy JDBC Drivers?
Go through this links,
/people/varadharajan.krishnasamy/blog/2007/02/27/configuring-jdbc-connector-service-to-perform-database-lookups
http://searchsap.techtarget.com/tip/0,289483,sid21_gci1246926,00.html
To install JDBC driver follow the how to guide.
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/xi-how-to-guides/how%20to%20install%20and%20configure%20external%20drivers%20for%20jdbc%20and%20jms%20adapters.pdf
Configuration of JDBC Adapter for SQL Server
JDBC Driver = com.microsoft.jdbc.sqlserver.SQLServerDriver
Connection = jdbc:microsoft:sqlserver://hostname:<port>;DatabaseName=<DBName>
UserID and Password.
If the connection is not working find the correct port number.
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/40b92770-db81-2a10-8e91-f747188d8033
JDBC- X I - R/3 Scenario
/people/bhavesh.kantilal/blog/2006/07/03/jdbc-receiver-adapter--synchronous-select-150-step-by-step
/people/sap.user72/blog/2005/06/01/file-to-jdbc-adapter-using-sap-xi-30
Please check the driver path as mentioned below.
JDBC Driver : sun.jdbc.odbc.JdbcOdbcDriver
Connection:jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=//location of DB table.mdb;
No JDBC driver required.
Receiver JDBC scenario MS access - /people/sameer.shadab/blog/2005/10/24/connecting-to-ms-access-using-receiver-jdbc-adapter-without-dsn
follow this thread
Re: Problem when connecting to MS Access through JDBC Adapter.
SAP Note 850116 has details
/people/michal.krawczyk2/blog/2005/12/04/xi-idoc-bundling--the-trick-with-the-occurance-change
Configuring the Sender JDBC Adapter
http://help.sap.com/saphelp_nw04/helpdata/en/1d/756b3c0d592c7fe10000000a11405a/content.htm
Configuring the Receiver JDBC Adapter
http://help.sap.com/saphelp_nw2004s/helpdata/en/b0/676b3c255b1475e10000000a114084/content.htm
Idoc Reveiver adapter..
http://help.sap.com/saphelp_erp2004/helpdata/en/b9/c5b13bbeb0cb37e10000000a11402f/content.htm
Thanks,
Satya Kumar
/people/michal.krawczyk2/blog/2005/12/04/xi-idoc-bundling--the-trick-with-the-occurance-change
Edited by: SATYA KUMAR AKKARABOYANA on May 8, 2008 5:51 PM -
Hi Experts,
I have tried JDBC to IDOC Scenario but it is giving No Segments Found Exception. I don't know where I am doing the mistake.
can any body please send me a pdf document for JDBC TO IDOC Scenario with step by step procedure from scratch (including creation of LS,LI etc)
Thanks in Advance,
MurthyHi Murthy
The steps are pretty much the same as any other scenario with some exceptions
1: You import the IDOC structure from the R/3 System. This acts as the DT, MT and MI.
You also need to do some configurations on the ABAP Stacks of sender and XI system.
Sender:
WE20 Partner Profiles
SM59 RFC Destination
XI:
SM59 RFC Destination
IDX1 Ports
IDX2 This is the metadata repository so you wont necessarily need this.
Also because you IDOCs can be sent directly to the ABAP stack/Integration Server you do not need a sender comm channel or sender agreement.
The rest is pretty much as any other scenario.
Please see the below links
/people/prateek.shah/blog/2005/06/08/introduction-to-idoc-xi-file-scenario-and-complete-walk-through-for-starters
IDOc testing - /people/suraj.sr/blog/2005/12/29/generate-test-case-for-an-idoc-scenario
idoc settings /people/ravikumar.allampallam/blog/2005/02/23/configuration-steps-required-for-posting-idocsxi
idoc mapping - /people/james.guanzon/blog/2006/03/23/how-to-support-industry-standards-in-xi-part-ii-of-iii--mapping
Cheers..
Vasu
<u>** Reward Points if found useful **</u> -
JDBC to IDOC Scenario - select data in jdbc based on multiple conditions
Hello
I have a JDBC to IDOC Scenario. I have to select the records in JDBC based on different conditions each time. For example I have to select based on company code '1000' and Employee claasification 'E1' and date range. After I post these records in SAP again I want to select other records for some other company code '2000' and different business area and different dates. Basically I want to extract data multiple times based on different conditions.
Hiow do I achieve this?
Another question is in the JDBC to IDOC scenario since the sender adapter is JDBC and the sender adapter polls depending on the duration of time ( say 60 secs ) in the adapter once after I extract the data based on a condition how do I control in such a way that the same data is not extracted again.
Thanks
NagaHi Naga,
I have to select the records in JDBC based on different conditions each time. For example I have to select based on company code '1000' and Employee claasification 'E1' and date range. After I post these records in SAP again I want to select other records for some other company code '2000' and different business area and different dates. Basically I want to extract data multiple times based on different conditions.
-->
Such requirements cant be handle through select query of the sender...but you can handle this in the message mapping area.....you can fire a select query in the database to pick up records in a batch of 10K (do not keep any condition on this except for sorting). After the records come into PI you can send the message to your target based on the unique combination of "Company code+ Employee clasification + date range" handling this in the message mapping.
Another question is in the JDBC to IDOC scenario since the sender adapter is JDBC and the sender adapter polls depending on the duration of time ( say 60 secs ) in the adapter once after I extract the data based on a condition how do I control in such a way that the same data is not extracted again.
You can use the N--> C logic
The data records that you pick have a corresponding control table i assume. There should be a field STATUS where the initial status of record should be N.
After you pick the records this status should be made C so that only those records present in the database with status = N are picked up.
Mention the condition Status = N in the select query.
Thanks
Dhwani -
Deleting data from a table(JDBC to IDOC scenario).
Hi,
For JDBC to IDOC scenario, the requirement is as explained below:
1: There are 2 tables-> GDDB and CHANGES
2: Poll the CHANGES table every 30 mins everyday.
3: a)Publish the records for which the 'published' flag status is 'N'
b)Update the status as 'Y' after publishing.
4: On the first day of every month, delete the records from the CHANGES table if the record is 3 months old and 'published' status is 'Y'
I would like to know how update and delete can be done using one JDBC adapter?
Regards,
Vishal.P.KulkarniHi,
update:
there is a field in the sender jdbc adapter - SQL statement for update - put it there
delete - On the first day of every mont
create a job on the database which will trigger the delete statement
it does not/ should not have to be done with XI
Regards,
Michal Krawczyk -
Mapping problem with compressed key update record
Hi, could you please advise?
I'm getting the following problem:
About a week ago replicat abened with "Error in mapping" error. I found in discard file some record looking like:
filed1 = NULL
field2 =
field3 =
field4 =
field5 =
datefield = -04-09 00:00:00
field6 =
field8 =
field9 = NULL
field10 =
Where filed9 = @GETENV("GGHEADER", "COMMITTIMESTAM"), field10 = = @GETENV("GGHEADER", "COMMITTIMESTAM"), others are table fields mapped by USEDEFAULTS
So I got Mapping problem with compressed key update record at 2012-06-01 15:44
I guess I need to mention that extract failed in 5 minuts before it with: VAM function VAMRead returned unexpected result: error 600 - VAM Client Report <[CFileInfo::Read] Timeout expired after 10 retries with 1000 ms delay, waiting to read transaction log or backup files. To increase the number of retries, use SETENV (GGS_CacheRetryCount = n) in Extract parameter file. To control retry delay time, use SETENV (GGS_CacheRetryDelay = n). handle: 0000000000000398 ReadFile GetLastError:997 Wait GetLastError:997>.
I don't know if it has ther same source as data corruption, could you tell me if it is?
Well, I created new extract, starting 2012-06-01 15:30 to check if there was something with extract at the time, but got the same error.
If I run extract beging at 15:52 it starts and works.
But well, I got another one today. Data didn't look that bad, but yet one column came with null value:( And I'm using it as a key column, so I got Mapping problem with compressed key update record again:(
I'm replicating from SQL Server 2008 to Oracle 11g.
I'm actually using NOCOMPRESSUPDATES in Extract.
CDC is enabled for all tables replicated. The only thing is that it is enabled not by ADD TRANDATA command, but by SQL Server sys.sp_cdc_enable_table, does it matter?
Could you please advise why does it happen?Well, the problem begins somewhere in extract or before extract, may be in transaction log, I don't know:(
Here are extract parameters:
EXTRACT ETCHECK
TRANLOGOPTIONS MANAGESECONDARYTRUNCATIONPOINT
SOURCEDB TEST, USERID **, PASSWORD *****
exttrail ./dirdat/ec
NOCOMPRESSUPDATES
NOCOMPRESSDELETES
TABLE tst.table1, COLS (field1, field2, field3, field4, field5, field6, field7, field8 );
TABLE tst.table2, COLS (field1, field2, field3, field4 );
Data pump:
EXTRACT DTCHECK
SOURCEDB TEST, USERID **, PASSWORD *****
RMTHOST ***, MGRPORT 7809
RMTTRAIL ./dirdat/dc
TABLE tst.table1;
TABLE tst.table2;
Replicat:
REPLICAT rtcheck
USERID tst, PASSWORD ***
DISCARDFILE ./dirrpt/rtcheck.txt, PURGE
SOURCEDEFS ./dirdef/sourcei.def
HANDLECOLLISIONS
UPDATEDELETES
MAP tst.table1, t.table1, COLMAP (USEDEFAULTS , filed9 = @GETENV("GGHEADER", "COMMITTIMESTAMP"), filed10= @CASE(@GETENV("GGHEADER", "OPTYPE"), "SQL COMPUPDATE", "U", "PK UPDATE", "U",@GETENV("GGHEADER", "OPTYPE")) ), KEYCOLS (field3);
MAP dbo.TPROCPERIODCONFIRMSTAV, TARGET R_019_000001.TPROCPERIODCONFIRMSTAV, COLMAP (USEDEFAULTS , field5 = @GETENV("GGHEADER", "COMMITTIMESTAMP"), filed6= @CASE(@GETENV("GGHEADER", "OPTYPE"), "SQL COMPUPDATE", "U", "PK UPDATE", "U",@GETENV("GGHEADER", "OPTYPE")) ), KEYCOLS (filed1, field2, field3);
Rpt file for replicat:
Oracle GoldenGate Delivery for Oracle
Version 11.1.1.1 OGGCORE_11.1.1_PLATFORMS_110421.2040
Windows x64 (optimized), Oracle 11g on Apr 22 2011 00:34:07
Copyright (C) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
Starting at 2012-06-05 12:49:38
Operating System Version:
Microsoft Windows Server 2008 R2 , on x64
Version 6.1 (Build 7601: Service Pack 1)
Process id: 2264
Description:
** Running with the following parameters **
REPLICAT rtcheck
USERID tst, PASSWORD ***
DISCARDFILE ./dirrpt/rtcheck.txt, PURGE
SOURCEDEFS ./dirdef/sourcei.def
HANDLECOLLISIONS
UPDATEDELETES
MAP tst.table1, t.table1, COLMAP (USEDEFAULTS , filed9 = @GETENV("GGHEADER", "COMMITTIMESTAMP"), filed10= @CASE(@GETENV("GGHEADER", "OPTYPE"), "SQL COMPUPDATE", "U", "PK UPDATE", "U",@GETENV("GGHEADER", "OPTYPE")) ), KEYCOLS (field3);
MAP dbo.TPROCPERIODCONFIRMSTAV, TARGET R_019_000001.TPROCPERIODCONFIRMSTAV, COLMAP (USEDEFAULTS , field5 = @GETENV("GGHEADER", "COMMITTIMESTAMP"), filed6= @CASE(@GETENV("GGHEADER", "OPTYPE"), "SQL COMPUPDATE", "U", "PK UPDATE", "U",@GETENV("GGHEADER", "OPTYPE")) ), KEYCOLS (filed1, field2, field3);
CACHEMGR virtual memory values (may have been adjusted)
CACHEBUFFERSIZE: 64K
CACHESIZE: 512M
CACHEBUFFERSIZE (soft max): 4M
CACHEPAGEOUTSIZE (normal): 4M
PROCESS VM AVAIL FROM OS (min): 1G
CACHESIZEMAX (strict force to disk): 881M
Database Version:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for 64-bit Windows: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
Database Language and Character Set:
NLS_LANG = "AMERICAN_AMERICA.CL8MSWIN1251"
NLS_LANGUAGE = "AMERICAN"
NLS_TERRITORY = "AMERICA"
NLS_CHARACTERSET = "CL8MSWIN1251"
For further information on character set settings, please refer to user manual.
** Run Time Messages **
Opened trail file ./dirdat/dc000000 at 2012-06-05 12:49:39
2012-06-05 12:58:14 INFO OGG-01020 Processed extract process RESTART_ABEND record at seq 0, rba 925 (aborted 0 records).
MAP resolved (entry tst.table1):
MAP tst.table1, t.table1, COLMAP (USEDEFAULTS , filed9 = @GETENV("GGHEADER", "COMMITTIMESTAMP"), filed10= @CASE(@GETENV("GGHEADER", "OPTYPE"), "SQL COMPUPDATE", "U", "PK UPDATE", "U",@GETENV("GGHEADER", "OPTYPE")) ), KEYCOLS (field3);
2012-06-05 12:58:14 WARNING OGG-00869 No unique key is defined for table table1. All viable columns will be used to represent the key, but may not guarantee uniqueness. KEYCOLS may be used to define the key.
Using the following default columns with matching names:
field1=field1, field2=field2, field3=field3, field4=field4, field5=field5, field6=field6, field7=field7, field8=field8
Using the following key columns for target table R_019_000001.TCALCULATE: field3.
2012-06-05 12:58:14 WARNING OGG-01431 Aborted grouped transaction on 'tst.table1', Mapping error.
2012-06-05 12:58:14 WARNING OGG-01003 Repositioning to rba 987 in seqno 0.
2012-06-05 12:58:14 WARNING OGG-01151 Error mapping from tst.table1 to tst.table1.
2012-06-05 12:58:14 WARNING OGG-01003 Repositioning to rba 987 in seqno 0.
Source Context :
SourceModule : [er.main]
SourceID : [er/rep.c]
SourceFunction : [take_rep_err_action]
SourceLine : [16064]
ThreadBacktrace : [8] elements
: [C:\App\OGG\replicat.exe(ERCALLBACK+0x143034) [0x00000001402192B4]]
: [C:\App\OGG\replicat.exe(ERCALLBACK+0x11dd44) [0x00000001401F3FC4]]
: [C:\App\OGG\replicat.exe(<RCALLBACK+0x11dd44) [0x000000014009F102]]
: [C:\App\OGG\replicat.exe(<RCALLBACK+0x11dd44) [0x00000001400B29CC]]
: [C:\App\OGG\replicat.exe(<RCALLBACK+0x11dd44) [0x00000001400B8887]]
: [C:\App\OGG\replicat.exe(releaseCProcessManagerInstance+0x25250) [0x000000014028F200]]
: [C:\Windows\system32\kernel32.dll(BaseThreadInitThunk+0xd) [0x000000007720652D]]
: [C:\Windows\SYSTEM32\ntdll.dll(RtlUserThreadStart+0x21) [0x000000007733C521]]
2012-06-05 12:58:14 ERROR OGG-01296 Error mapping from tst.table1 to tst.table1.
* ** Run Time Statistics ** *
Last record for the last committed transaction is the following:
Trail name : ./dirdat/dc000000
Hdr-Ind : E (x45) Partition : . (x04)
UndoFlag : . (x00) BeforeAfter: A (x41)
RecLength : 249 (x00f9) IO Time : 2012-06-01 15:48:56.285333
IOType : 115 (x73) OrigNode : 255 (xff)
TransInd : . (x03) FormatType : R (x52)
SyskeyLen : 0 (x00) Incomplete : . (x00)
AuditRBA : 44 AuditPos : 71176199289771
Continued : N (x00) RecCount : 1 (x01)
2012-06-01 15:48:56.285333 GGSKeyFieldComp Len 249 RBA 987
Name: DBO.TCALCULATE
Reading ./dirdat/dc000000, current RBA 987, 0 records
Report at 2012-06-05 12:58:14 (activity since 2012-06-05 12:58:14)
From Table tst.table1 to tst.table1:
# inserts: 0
# updates: 0
# deletes: 0
# discards: 1
Last log location read:
FILE: ./dirdat/dc000000
SEQNO: 0
RBA: 987
TIMESTAMP: 2012-06-01 15:48:56.285333
EOF: NO
READERR: 0
2012-06-05 12:58:14 ERROR OGG-01668 PROCESS ABENDING.
Discard file:
Oracle GoldenGate Delivery for Oracle process started, group RTCHECK discard file opened: 2012-06-05 12:49:39
Key column filed3 (0) is missing from update on table tst.table1
Missing 1 key columns in update for table tst.table1.
Current time: 2012-06-05 12:58:14
Discarded record from action ABEND on error 0
Aborting transaction on ./dirdat/dc beginning at seqno 0 rba 987
error at seqno 0 rba 987
Problem replicating tst.table1 to tst.table1
Mapping problem with compressed key update record (target format)...
filed1 = NULL
field2 =
field3 =
field4 =
field5 =
datefield = -04-09 00:00:00
field6 =
field8 =
field9 = NULL
field10 =
Process Abending : 2012-06-05 12:58:14 -
Mapping problem with compressed key update record (target format)...
Hi Guys,
Getting below error while replication from Source to target. Source table is having NOT NULL Column, but on target replicat process giving error about some NULL value ??
How to overcome this issue, any idea...
2011-08-04 10:35:04 INFO OGG-00995 Oracle GoldenGate Delivery for Oracle, rmastrk.prm: REPLICAT RMASTRK starting.
2011-08-04 10:35:05 INFO OGG-00996 Oracle GoldenGate Delivery for Oracle, rmastrk.prm: REPLICAT RMASTRK started.
2011-08-04 10:35:06 WARNING OGG-00869 Oracle GoldenGate Delivery for Oracle, rmastrk.prm: OCI Error ORA-01407: cannot update ("INFRA"."CUST"."CODE") to NULL (status = 1407), SQL <UPDATE "INFRA"."CUST" SET "ORD_ID" = :a2,"DP_ID" = :a3,"EXCHNG_CODE" = :a4,"ORD_QTY" = :a5,"ORD_PRICE" = :a6,"CODE" = :a7,"MKRT_CODE" = :a8,"CHANN>.
2011-08-04 10:35:06 WARNING OGG-01004 Oracle GoldenGate Delivery for Oracle, rmastrk.prm: Aborted grouped transaction on 'INFRA.CUST', Database error 1407 (ORA-01407: cannot update ("INFRA"."CUST"."SCRP_CODE") to NULL).
2011-08-04 10:35:06 WARNING OGG-01003 Oracle GoldenGate Delivery for Oracle, rmastrk.prm: Repositioning to rba 44132192 in seqno 68708.
2011-08-04 10:35:06 *WARNING OGG-01154 Oracle GoldenGate Delivery for Oracle, rmastrk.prm: SQL error 1407 mapping INFRA.CUST to INFRA.CUST OCI Error ORA-01407:* *cannot update ("INFRA"."CUST"."SCRP_CODE") to NULL (status = 1407), SQL <UPDATE "INFRA"."CUST" SET "ORD_ID" = :a2,"DP_ID" = :a3,"EXCHNG_CODE"=:a4,"ORD_QTY"*
*= :a5,"ORD_PRICE" = :a6,"SCRP_CODE" = :a7,"MKRT_CODE" = :a8,"CHANN>.*
2011-08-04 10:35:06 WARNING OGG-01003 Oracle GoldenGate Delivery for Oracle, rmastrk.prm: Repositioning to rba 44132192 in seqno 68708.
2011-08-04 10:35:06 ERROR OGG-01296 Oracle GoldenGate Delivery for Oracle, rmastrk.prm: Error mapping from INFRA.CUST to INFRA.CUST.
2011-08-04 10:35:06 ERROR OGG-01668 Oracle GoldenGate Delivery for Oracle, rmastrk.prm: PROCESS ABENDING.
Oracle GoldenGate Delivery for Oracle process started, group RMASTRK discard file opened: 2011-08-04 10:35:05
Current time: 2011-08-04 10:35:06
Discarded record from action ABEND on error 1407
OCI Error ORA-01407: cannot update ("INFRA"."CUST"."SCRP_CODE") to NULL
(status = 1407), SQL <UPDATE "INFRA"."CUST" SET "ORD_ID" = :a2,"MKRT_CODE" = :a8,"CHANN>
Aborting transaction on ./dirdat/pm beginning at seqno 68708 rba 44132192
error at seqno 68708 rba 44132192
Problem replicating INFRA.CUST to INFRA.CUST
*Mapping problem with compressed key update record (target format)...*
ORD_QTY = 500
ORD_PRICE = 37430
SCRP_CODE =
MKRT_CODE = N
Oracle GoldenGate Delivery for Oracle process started, group RMASTRK discard file opened: 2011-08-
04 10:35:05
Current time: 2011-08-04 10:35:06
Discarded record from action ABEND on error 1407
OCI Error ORA-01407: cannot update ("INFRA"."CUST"."SCRP_CODE") to NULL
(status = 1407), SQL <UPDATE "INFRA"."CUST" SET "ORD_ID" = :a2,"MKRT_CODE" = :a8,"CHANN>
Aborting transaction on ./dirdat/pm beginning at seqno 68708 rba 44132192
error at seqno 68708 rba 44132192
Problem replicating INFRA.CUST to INFRA.CUST
Mapping problem with compressed key update record (target format)...
ORD_QTY = 500
ORD_PRICE = 37430
SCRP_CODE =
MKRT_CODE = N
Any inputs / help would be appreciated.
Regards,
ManishThe SCRP_CODE column has a NOT NULL constraint. The ORA-01407 error is telling you that you cannot update or set a value for this column to null because of the constraint. This has absolutely nothing to do with an index. You can use a marker/sentinel value in lieu of using NULL. For a numeric field, where everything is positive, a negative value (-1) can be decoded as meaning null. For a character field, a code such as NA can represent NULL.
This also has nothing to do (directly) with GoldenGate failing because of this error. The underlying SQL statement will fail everywhere, regardless of the tool or application. It is not a case of failing only in GoldenGate. -
JDBC to Idoc scenario - change of logical system name
Hi,
I have a JDBC to idoc scenario that worked. Now i had to change the logical system name from my sender system from ABC_123 into ABC123 in the SLD (Business System - Integration - Logical System name). I did so and also refreshed my Cache.
Afterwards I started the process, but it failed in the Receiver system. The idoc is correct expect of the partner name. My receiver system expect ABC123 - as I changed in the SLD - but PI send ABC_123.
If io look in SXI_CACHE - Services my Business System still got the "old" name (ABC_123).
Did i miss something resp. how can i load the current configuration from SLD?
Thanks in advance
MichaelHi Michael,
Again Import the changed logical system in the Integration directory of you PI system.
And check the scenario (Sender Agreement, Receiver agreement ) what system they are reflecting.
If they are showing old system then you have to replace the business system in all the scenario.
Edited by: Rajhans Abhay on Jan 7, 2010 3:14 PM -
Reg: JDBC to IDOC Scenario Message Mapping
hi Friends
i am designing a Scenario JDBC - IDOC for accounting document interface using ACC_DOCUMENT03 idoc.
i need the mapping program for that to map the JDBC fields with the IDOC fields, so can anyone help me the mandatory fields and the constant values for the IDOC which has to be mapped.Along with this can i know why the constants will be assigned to the fields like Begin =1 , MSGFN = 009 etc how these constants are defined.
Thanks&Regards
suman.Hi,
for mapping constants in graphical msg mapping, select your target IDOC field..........then you have a constant in the below screen.........click it and then double-click on constant to change the value of the constant field.........then map this constant to your target IDOC field.
for knowing which are the mandatory fields, ask your functional guys to tell you the mandatory fields in data segment of your IDOC and regarding Control segment EDIDC, you have to map fields which have sender and reciever system details.
Regards,
Rajeev Gupta
Edited by: RAJEEV GUPTA on Feb 2, 2009 7:55 AM -
HI ALL,
we have one requirement that is I DOC to JDBC....and JDBC to I DOC
we done The i doc to jdbc succesfuly.... again that data have to store in ECC side.
again we done jdbc to i doc scenario.
Appart that we done all IR and ID part. we striked in mapping pat in JDBC to IDOC....
There are sending like this
Rec 1 101
Rec 2 101
Rec 3 101
Rec 4 102
Rec 5 102
First record set have to map with header and item number( 1 to 3 )
second thing is have to mapwith header and item number...
Thanks and regards,
kesava.Sender_Header-removecontext--splitbyvalue(value change)----collpase context---Target_header
SenderItem----removecontext----
-------------------------------------FormatByexample----TragetItem
Sender_Header-removecontext--splitbyvalue(value change)----- -
JDBC - XI - IDOC scenario, SM58 error
I am trying to set up a scenario with JDBC -> XI-> IDOC. I seem to get the data, but when I look at it in SXMB_MONI, I get the checkered flag, for the overall status, but a red flag for the outbound status. This led me to SM58 where I see this error "No authorization to send IDocs with message type Z...". It shows the caller ID as being XIAFUSER (which is different from the ID I have created on the receiving SAP system) and is in function module IDOC_INBOUND_ASYNCHRONOUS. On XI, I have the RFC (SM59) and Port (IDX1) setup for the receiving SAP system. The receiving system has an ID setup (used in the RFC on XI), has a partner profile, port, logical system, and a RFC to XI setup.
Any ideas on where to track this down? I tried giving XIAFUSER sap_all, and it still fails and this ID does not exist on the receiving system.HI,
Just to inform you that, if any SM58 error, mainly because of IDX1 entry and RFC destination .
So that;s the reason , i just suggested to check this SAP note.
Now you have given SAP_ALL access to test right ? Even you can check with this SAP note-837595
Also check that SM59 (RFC destination) in XI system uses any User ID ? DO not select CURRENT USER option here.. and check it
Regards,
Moorthy -
Idoc to file problem with DynamicConfiguration
HI SAP Guru's
I have a iDoc to File scenario and the output file requirement is bit tricky.
output file should be xx_Region_iDoc Number_YYYYMMDDHHMMSS
I been through couple of blogs but non of them mentioned about the iDoc all of them showed the about the FileName in FileAdapter.
I believe it is only possibly via Dynamic configuration.
I need to extract E1EDKA1/LAND1, DOCNUM from Source IDoc Structure and then concat it with Date and generate the output file name.
I cannot even get the iDoc Number i.e. DOCNUM via Dynamic Configuration.
I was trying this method but it didn't work.
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/IDoc","DOCNUM");
String ourSourceFileName = conf.get(key);
return ourSourceFileName;
Can somebody please let me know how to achieve this and how?Hi Rodrigo,
I have done the UDF with 3 inputs and mapped it with header of Target side and now would like to know about the setting in File Adapter.
1. Could tell me what do I need to write in "File Name Scheme" , I am using *.xml , is it right?
2. I also check the Use Adapter Specific Message Attributes,
Fail if Adapter-Specific Message Attributes Missing
FileName
Could you please tell me is there anything else I need to do because I have been through couple of blogs and all of them mentioned about File but not about the IDoc.
DynamicConfigurationKey key = DynamicConfigurationKey.create(u201Chttp://sap.com/xi/XI/System/Fileu201D,u201CFileNameu201D);
Except you who mentioned this
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/IDoc",fileName);
I am bit confused about the FileName because there is no FileName in IDoc;
I found these information in IDoc Dynamic Configuration
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Receiver Determination
-->
- <SAP:DynamicConfiguration xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:Record namespace="http://sap.com/xi/XI/System/IDoc" name="SNDPOR">SAPDGE</SAP:Record>
<SAP:Record namespace="http://sap.com/xi/XI/System/IDoc" name="SNDPRN">DGE008</SAP:Record>
<SAP:Record namespace="http://sap.com/xi/XI/System/IDoc" name="SNDPRT">LS</SAP:Record>
<SAP:Record namespace="http://sap.com/xi/XI/System/IDoc" name="RCVPOR">A000000012</SAP:Record>
<SAP:Record namespace="http://sap.com/xi/XI/System/IDoc" name="RCVPRN">CITIPHMX</SAP:Record>
<SAP:Record namespace="http://sap.com/xi/XI/System/IDoc" name="RCVPRT">B</SAP:Record>
<SAP:Record namespace="http://sap.com/xi/XI/System/IDoc" name="MESTYP">PAYEXT</SAP:Record>
<SAP:Record namespace="http://sap.com/xi/XI/System/IDoc" name="IDOCTYP">PEXR2002</SAP:Record>
<SAP:Record namespace="http://sap.com/xi/XI/System/IDoc" name="CIMTYP">ZPEXR2002</SAP:Record>
<SAP:Record namespace="http://sap.com/xi/XI/Message/30" name="CALLER_CODEPAGE">4102</SAP:Record>
</SAP:DynamicConfiguration>
Please comment.
Maybe you are looking for
-
How do i get airport utility to recognize airport express?
Airport express does not show up on my list of devices when I start up Airport Utility. I'd love to use express with my stereo, but I cannot.
-
Lost User Account Settings After OSX Security Update
After loading the security update, the system booted up into OSX and into my account without asking for a password. Other than having the same dock icons and applications, my account seems to have been cleared. I have no files on my desktop and all m
-
8700 takes both Notes and Device password, then freezes up...
I've fully removed all desktop manager and reinstalled 4.7,, issue still persist. Any ideas out there? When I say it freezes... I mean you can see all of this... but you can't click on any of the icons... the PIN shows up (just blotted out fo
-
Hello All I'm hoping someone here has an idea. I just tried by MuVo Tx Fm on my WindowsXP computer for the first time after loading the latest drivers. XP deli'vers a message saying the USB device has failed and is nto recognized. When I click on the
-
DNG converter 8.3 download. does not contain camera raw 8.3 update. Where can I find it? (Mac)