on 02-08-2010 6:55 AM
Hi Gurus,
I am working on scenario in which i have to use overwrite and append both in Receiver File Adapter.
I have created two CChannel(BS) in which first one for create with (OverWrite) and for Second one (Append). for this i have added one field (flag) in which i am sending value flag=0 and 1 .
My logic is like this
if flag=0 then use CChannel(BS) for Create(overwrite )
and
if flag=1 the use CChannel(BS) for append
so that for time it will overwrite the file first time and for flag=1 it will append the records in same file.
when i am defineing them in Receiver Determination(Conditional Editor) i am getting error in MONI(NO Receiver Found)
Please suggest...............
Regards
Abhay
Hi Abhay,
Check Main in SOAP Header of the SXMB_MONI message, see whether the sender parameters matches with the Receiver Determination sender.
Also check the cache in Integration Directory and SXI_Cache...
Secondly, I am not sure whether this approach (one channel creating and another one appending) will be working. What will happen if both the channel brings messages!!!. I would suggest you to use EOIO mode in the sender channel
Regards
Suraj
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi All,
I got the solution for my problem . I have checked the input payload from ECC in that there some space was coming in tag.
I have remove that i have tested and it got processed successfully.........:) .
thanks to all for help..............:)
Regards
Abhay Agarwal
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi All,
Edited by: Abahy Aggarwal on Feb 10, 2010 6:30 AM
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
HI All,
I got the point. In my payload(Which is coming from ECC side) there are some tags in which space is coming whenever i am using those fields which is having space (error) is coming for that condition only. wht i need it to do for this space issue kindly suggest.
Regards
Abhay Agarwal
Edited by: Abahy Aggarwal on Feb 9, 2010 1:48 PM
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi All,
Can any one suggest me on this ? i have tried everything it seems notthing is working......:(
Below is trace
Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
<Trace level="3" type="T">Calling pipeline service: PLSRV_RECEIVER_DETERMINATION</Trace>
<Trace level="3" type="T">Reading Pipeline-Service specification...</Trace>
<Trace level="3" type="T" />
<Trace level="3" type="T">Pipeline service specification (table SXMSPLSRV)</Trace>
<Trace level="3" type="T">PLSRVID = PLSRV_RECEIVER_DETERMINATION</Trace>
<Trace level="3" type="T">PLSRVTYPE =</Trace>
<Trace level="3" type="T">ADRESSMOD = LOCAL</Trace>
<Trace level="3" type="T">P_CLASS = CL_RD_PLSRV</Trace>
<Trace level="3" type="T">P_IFNAME = IF_XMS_PLSRV</Trace>
<Trace level="3" type="T">P_METHOD = ENTER_PLSRV</Trace>
<Trace level="3" type="T">FL_LOG =</Trace>
<Trace level="3" type="T">FL_DUMMY = 0</Trace>
<Trace level="3" type="T" />
<Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL" />
- <!--
-->
- <Trace level="1" type="B" name="CL_RD_PLSRV-ENTER_PLSRV">
<Trace level="1" type="T">R E C E I V E R - D E T E R M I N A T I O N</Trace>
<Trace level="1" type="T">Cache Content is up to date</Trace>
<Trace level="2" type="T">Start without given receiver</Trace>
<Trace level="2" type="T">Classic Receiver Determination via Rules.</Trace>
<Trace level="2" type="T">Check conditions for rule line no. 1</Trace>
<Trace level="3" type="T">...create rule engine</Trace>
<Trace level="3" type="T">...call rule engine for Condition %CL_SAI_SWF_RULE_ENGINE.MSG_GET(MSG=&_MSG&;NSP=&_NSM&;XPATH="/p1:UST04_MT/row/Index")% CE 0</Trace>
<Trace level="2" type="T">......extracting (new) for Extractor: XP /p1:UST04_MT/row/Index</Trace>
<Trace level="2" type="T">......extracting values found: *</Trace>
<Trace level="2" type="T">......extracting values found: *</Trace>
<Trace level="2" type="T">...invalid Receiver: - RFC2File13</Trace>
<Trace level="2" type="T">No Receiver found behaviour: 0</Trace>
</Trace>
</Trace>
- <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST">
<Trace level="3" type="T">Persisting message after plsrv call</Trace>
<Trace level="3" type="T">Message-Version = 001</Trace>
<Trace level="3" type="T">Message version 001</Trace>
<Trace level="3" type="T">Pipeline CENTRAL</Trace>
<Trace level="1" type="T">--start sender interface action determination</Trace>
<Trace level="1" type="T">select interface UST04_OB*</Trace>
<Trace level="1" type="T">select interface namespace ness.com:Eurekify:UST04</Trace>
<Trace level="1" type="T">no interface found</Trace>
</Trace>
<Trace level="3" type="System_Error">Error exception return from pipeline processing!</Trace>
<Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />
- <!--
-->
<Trace level="3" type="T">Persisting message Status = 014</Trace>
<Trace level="3" type="T">Message version 002</Trace>
<Trace level="3" type="T">Pipeline CENTRAL</Trace>
<Trace level="1" type="T">--start sender interface action determination</Trace>
<Trace level="1" type="T">select interface UST04_OB*</Trace>
<Trace level="1" type="T">select interface namespace ness.com:Eurekify:UST04</Trace>
<Trace level="1" type="T">no interface found</Trace>
Regards
Abhay
Edited by: Abahy Aggarwal on Feb 9, 2010 6:49 AM
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Can you host the screenshot of your RD on some commonly accessible site....if wiki allows host it there.
If you are 100% sure that you have maintained a proper condition in RD and even the input payload is satisfying this then do some dummy changes to RD and again activate (or recreate RD) and refresh the cache.
Are your Receiver services created/ activated properly and visible in SXI_CACHE?
Regards,
Abhishek.
HI Abhishek,
I have uploaded the doucment withh screen shots on below link
http://www.4shared.com/file/218146859/1459f18f/NORecevier_Conditional.html
http://www.4shared.com/file/218146859/1459f18f/NORecevier_Conditional.html
Regards
Abhay
Hi Abhishek,
I think the error which is coming only when i am assging the condition otherwise it processing correctly
You can check the trace
">...call rule engine for Condition %CL_SAI_SWF_RULE_ENGINE.MSG_GET(MSG=&_MSG&;NSP=&_NSM&;XPATH="/p1:UST04_MT/row/Index")% CE 0</Trace>
<Trace level="2" type="T">......extracting (new) for Extractor: XP /p1:UST04_MT/row/Index</Trace>
<Trace level="2" type="T">......extracting values found: *</Trace>
<Trace level="2" type="T">......extracting values found: *</Trace>
<Trace level="2" type="T">...invalid Receiver: - RFC2File13</Trace>
<Trace level="2" type="T">No Receiver found behaviour: 0</Trace>
/p1:UST04_MT/row/Index=0 ( I have given this condition Do i need to assgin something else is opreator which i am using correct )
My payload is
<?xml version="1.0" encoding="utf-8" ?>
- <n0:UST04_MT xmlns:n0="ness.com:Eurekify:UST04" xmlns:prx="urn:sap.com:proxy:DV3:/1SAI/TAS9238077179A583C7CD28:701:2009/02/10">
- <row>
<Index>0</Index>
<Date>20100208</Date>
<MANDT>100</MANDT>
<Flag>1</Flag>
<Identifier>UST04</Identifier>
<BNAME>............</BNAME>
<PROFILE>............</PROFILE>
</row>
- <row>
<Index>0</Index>
<Date>20100208</Date>
<MANDT>100</MANDT>
<Flag>1</Flag>
<Identifier>UST04</Identifier>
<BNAME>AADLER</BNAME>
<PROFILE>BASE_TRANS</PROFILE>
</row>
Regards
Abhay
Similar discussion going on here:
for this i have added one field (flag) in which i am sending value flag=0 and 1
It should not be 0 and 1.....it should be 0 or 1...the occurence of the field should be 0..1 in the entire message
Once you define a condition in RD you shoul make sure that you have maintained a different set of ID objects (interface determination, receiver agreement, receiver channel...each two in number)....so at any given time only one set of objects will be working (either appending or over-writting)
I am wondering why such a business requirement to append or over-write the file?
Regards,
Abhishek.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
as you said it will take 0 or 1 then wht use of conditionl editor in receiver determination.........
OK...let us consider an example where you get both 0 and 1....which channel do you expect to trigger?
Condition in receiver determination will ensure that either of the two channels have to be used....or may be your business requirement is not being understood by me.
Regards,
Abhishek.
i am a bit confused on has to why you are having issues.
Either go for xpath in your RD - /people/shabarish.vijayakumar/blog/2006/06/07/customise-your-xpath-expressions-in-receiver-determination or explore the option of an xpath in your ID - /people/suraj.sr/blog/2006/01/05/multiple-inbound-interfaces-within-a-service
Could you check the above and if it still doesnt solve, explain to us a bit more of your issue.
>
> I dont think he is confused about writing the condition.
>
> his intention is to perform Append and Overwrite at the same time.....any suggestions?
but if he is using a condition, how can append and overwrite happen at the same time? (i am confused again )
One thing is for sure, you cannot use append and overwrite at the same time.
Hi Abhishek , Shab,
Yes abhishek is corrcot i want to use create(With OverWrite) and append fn both for that i have created 2 services with 2 channels(1 for Create and 1 for Append) and after that i have created two aggremants and after that 2 Interface Determination with same message mapping as i am same structure . after that in Receiiver Determination Conditional Editor i have given condtion that if flag=0 then create with (OverWrite) and in 2nd Condition flag=1 then append the records.
beacuse my req is i have create the file in one day and keep appending the records and after that on next day i have to overwrite the existing file.........
Regards
Abhay Agarwal
>
> Hi Abhishek , Shab,
>
>
> Yes abhishek is corrcot i want to use create(With OverWrite) and append fn both for that i have created 2 services with 2 channels(1 for Create and 1 for Append) and after that i have created two aggremants and after that 2 Interface Determination with same message mapping as i am same structure . after that in Receiiver Determination Conditional Editor i have given condtion that if flag=0 then create with (OverWrite) and in 2nd Condition flag=1 then append the records.
>
>
> beacuse my req is i have create the file in one day and keep appending the records and after that on next day i have to overwrite the existing file.........
>
>
>
> Regards
> Abhay Agarwal
ok got it.
So say flag is 0 - you use CC1 which is used for Create operation and from then on your source message will have flag as 1 and then you need to use CC2 using the append option. Isnt it?
If the above is true. I suggest going for conditional routing in the Interface determination.
Hi Abhay,
What happend to your problem "No receiver Found" Did you checked as I mentioned? Also check whether you have star value in the sender party field of sender agreement or receiver determination.
Also what abput the concern which I mentioned earlier
>>Secondly, I am not sure whether this approach (one channel creating and another one appending) will be working. What will happen if both the channel brings messages!!!. I would suggest you to use EOIO mode in the sender channel
Regards
Suraj
HI Shab,
thanks for reply .........
i have tested with first condition flag=0 and assgin assgin one service with one Channel(Create opreation) and it is showing NO Receiver Found for that also .
/p1:UST04_MT/row/Index=0 service = Proxy2file1
My input paylaod is
<?xml version="1.0" encoding="utf-8" ?>
- <n0:UST04_MT xmlns:n0="ness.com:Eurekify:UST04" xmlns:prx="urn:sap.com:proxy:DV3:/1SAI/TAS9238077179A583C7CD28:701:2009/02/10">
- <row>
<Index>0</Index>
<Date>20100208</Date>
<MANDT>100</MANDT>
<Flag>1</Flag>
<Identifier>UST04</Identifier>
<BNAME>............</BNAME>
<PROFILE>............</PROFILE>
</row>
- <row>
<Index>0</Index>
<Date>20100208</Date>
<MANDT>100</MANDT>
<Flag>1</Flag>
<Identifier>UST04</Identifier>
<BNAME>AADLER</BNAME>
<PROFILE>BASE_TRANS</PROFILE>
</row>
- <row>
<Index>0</Index>
<Date>20100208</Date>
<MANDT>100</MANDT>
<Flag>1</Flag>
<Identifier>UST04</Identifier>
<BNAME>AADLER</BNAME>
<PROFILE>CELLCOM___</PROFILE>
</row>
for this also it is showing error........
Reagrds
Abhay
Hi Shab,
Why we will for interface routing why can't we go for reciver determination routing.
the logic is simple i am sending the Records like this
p1:UST04_MT/row/Index=0 service = Proxy2file1
My input paylaod is
<?xml version="1.0" encoding="utf-8" ?>
- <n0:UST04_MT xmlns:n0="ness.com:Eurekify:UST04" xmlns:prx="urn:sap.com:proxy:DV3:/1SAI/TAS9238077179A583C7CD28:701:2009/02/10">
- <row>
<Index>0</Index>
<Date>20100208</Date>
<MANDT>100</MANDT>
<Flag>1</Flag>
<Identifier>UST04</Identifier>
<BNAME>............</BNAME>
<PROFILE>............</PROFILE>
</row>
- <row>
<Index>0</Index>
<Date>20100208</Date>
<MANDT>100</MANDT>
<Flag>1</Flag>
<Identifier>UST04</Identifier>
<BNAME>AADLER</BNAME>
<PROFILE>BASE_TRANS</PROFILE>
</row>
- <row>
<Index>0</Index>
<Date>20100208</Date>
<MANDT>100</MANDT>
<Flag>1</Flag>
<Identifier>UST04</Identifier>
<BNAME>AADLER</BNAME>
<PROFILE>CELLCOM___</PROFILE>
</row>
for this also it is showing error........and if i am removing the this condition my message processd successfully............
Please suggset........
Regards
Abhay
>
> Why we will for interface routing why can't we go for reciver determination routing.
this is because, logically your receiver system is same. so you will have one receiver determination and then in your interface determination use your conditions
You can also go for two receivers provided they are different entities eg. receiver1 and receiver2 etc
HI Shab,
Can you plz more elaborate on right option . I am using X-Path in which i am given the flag =0 which is coming in payload and receiver service still it is showing error for this...........that no receiver found but when i am removing this condition then this is getting processs successfully....
Regards
Abhay Agarwal
>
> Hi Shab,
>
>
> Why we will for interface routing why can't we go for reciver determination routing.
>
>
> the logic is simple i am sending the Records like this
>
**> p1:UST04_MT/row/Index=0 service = Proxy2file1>
>
> Abhay
chek the lines taht i have marked in bold u have put a XPATH condition on node INDEX and not FLAG
hope this solves ur problem
Edited by: Tarang Shah on Feb 8, 2010 9:33 PM
Edited by: Tarang Shah on Feb 8, 2010 9:34 PM
Edited by: Tarang Shah on Feb 8, 2010 9:34 PM
Edited by: Tarang Shah on Feb 8, 2010 9:35 PM
HI All,
Thanks for your all help. Now i think it will be solved .My Message structure is below
<Index>1</Index>
<Date>20100209</Date>
<MANDT>100</MANDT>
<Flag>1</Flag>
<Identifier>UST04</Identifier>
<BNAME>AADLER</BNAME>
<PROFILE>BASE_TRANS</PROFILE>
In above structure when i am assgiing the condition /p1:UST04_MT/row/MANDT=100 it is getting successful but when i am assign any other condition for any field it's showing error ..
Regards
Abhay
Edited by: Abahy Aggarwal on Feb 9, 2010 1:16 PM
User | Count |
---|---|
92 | |
11 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.