FCC in reciever File Adapter to supress a field output
Hi All ,
I am doing IDOC to File interface , and i also doinf variable substitution , so in target file structure i have a field called FileName , which is also coming in my output , even though i am not giving the name of the field in the HEADER.fieldNames, anyone please helpp me regarding for this
thanking you
Sridhar
Hi,
remove field FileName from target msg structure............in ID, in reciver file adpater, remove variable substitution and to get the filename dynamically, in revier file adatper, check the option Adpter spcefic msg attributes and in it FileName........then in msg mapping, create a UDF and in it using Dynamic Configuration, set the filename and map this UDF output to a header target node.........
Regards,
Rajeev Gupta
Edited by: RAJEEV GUPTA on Feb 6, 2009 9:40 AM
Similar Messages
-
Specifically FCC with Reciever file adapter
Gurus,
java lookup in message mapping......In a scenario..for Soap to IDOC(ECC)....
what are the valid values for Service, ChannelName......
try {
Channel channel = LookupService.getChannel(Service, channelName);
accessor = LookupService.getDataBaseAccessor(channel);
dbRes = accessor.execute(sqlStmt);
} catch (LookupException e) {
e.printStackTrace();
} finally {
if (accessor != null)
try {
accessor.close();
} catch (LookupException e1) {
trace.addWarning("Error closing accessor - " + e1);Hi,
While dealing with the SAP Applications we have to use Business system.
In your case, you are using the Idoc, so use the Business system to communicate with the SAP ECC.
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/profile/2007/05/11/fileToIDOC&
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/profile/2007/05/11/fileToIDOC-Part2+(Configuration)&
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/profile/2007/05/11/fileToIDOC-Part3(StepsrequiredinXIandR3)&
Regards
Seshagiri -
Content conversion in Reciever File Adapter
Hi Frens,
Iam doing A FCC in Reciever file adapter. My input structure is
DT_structure
->Record
->Row
Field1
Field2
Field3
I have donr the configuration as
Recordset Structure : Record,Row
Row.fieldSeparator : ,
Row.endSeparator : 'nl'
Record.fieldSeparator : 'nl'.
With this configuration Iam able to display only one record but I need to display multiple records in the file. Please do suggest me wha need to be done to achieve this.
Radhika.First check whether your datatype has the occurrence of records unbounded or not. Then goto content conversion. If both your Record and Row tags can occur multiple times, then use
Recordset Structure : Record,*,Row,*
Or if Record occurs only once and multiple Row nodes are required, then use
Recordset Structure : Record,1,Row,*
Regards,
Prateek -
Mapping problem due to FCC in sender file adapter
Hi All
I am doing File( Flat File ) to RFC Scenario.it is working fine..
the problem comes in mapping with multiple records.
FCC at sender file adapter is used
my Data Type are :
Source DT Target RFC import parameter(table).
E2ED20* ITEM*
KEY VBELN
VBELN POSNR
E2E24* CHARG
KEY
POSNR
CHARG
<b>*->>multiple occurence
E2ED20 and E2E24 are 2 segment ,KEY is used in FCC to identify E2EDL20 & E2EDL24</b>
My source text file is like this :
E2EDL20 0200
E2EDL24 xyz
E2EDL20 0201
E2EDL24 abc
E2EDL24 efg
E2EDL24 mln
E2EDL20 0202
E2EDL24 gty
so the payload should be :
0200 xyz
0201 abc
0201 efg
0201 mln
0202 gty
in <i>FCC ignoer record set= true</i>
otherwise is not called...
i try to use split by value & use oneasmany , not helpfull.
in message mapping when i checked th field VBELN -> display queue
i am getting an array 0200
0201
0202 in white fields
thanks & regards
Ashutosh Rawat<b>Source payload</b>
<?xml version="1.0" encoding="utf-8" ?>
- <ns:MT_MATNO_FILE xmlns:ns="urn:abc:xxx">
- <E2ED20>
<KZ>E2EDL20</KZ>
<FIELD1>020</FIELD1>
<b><VBELN>0083662685</VBELN></b>
</E2ED20>
- <E2E24>
<KZ>E2EDL24</KZ>
<FIELD2>020</FIELD2>
<POSNR>900001</POSNR>
<CHARG>1078629</CHARG>
<LFIMG>3200</LFIMG>
<MEINS>PCE</MEINS>
</E2E24>
- <E2E24>
<KZ>E2EDL24</KZ>
<FIELD2>020</FIELD2>
<POSNR>900002</POSNR>
<CHARG>1078630</CHARG>
<LFIMG>1895</LFIMG>
<MEINS>PCE</MEINS>
</E2E24>
- <E2E24>
<KZ>E2EDL24</KZ>
<FIELD2>020</FIELD2>
<POSNR>900003</POSNR>
<CHARG>1079145</CHARG>
<LFIMG>1883</LFIMG>
<MEINS>PCE</MEINS>
</E2E24>
- <E2E24>
<KZ>E2EDL24</KZ>
<FIELD2>020</FIELD2>
<POSNR>900004</POSNR>
<CHARG>1079146</CHARG>
<LFIMG>3195</LFIMG>
<MEINS>PCE</MEINS>
</E2E24>
- <E2ED20>
<KZ>E2EDL20</KZ>
<FIELD1>020</FIELD1>
<b> <VBELN>0083662648</VBELN></b>
</E2ED20>
- <E2E24>
<KZ>E2EDL24</KZ>
<FIELD2>020</FIELD2>
<POSNR>900011</POSNR>
<CHARG>1001450</CHARG>
<LFIMG>2946</LFIMG>
<MEINS>8PC</MEINS>
</E2E24>
- <E2ED20>
<KZ>E2EDL20</KZ>
<FIELD1>020</FIELD1>
<b> <VBELN>0083673936</VBELN></b> </E2ED20>
- <E2E24>
<KZ>E2EDL24</KZ>
<FIELD2>020</FIELD2>
<POSNR>900012</POSNR>
<CHARG>1073953</CHARG>
<LFIMG>2458</LFIMG>
<MEINS>PCE</MEINS>
</E2E24>
</ns:MT_MATNO_FILE>
<b>at target what required is</b>
<item>
<b><VBELN>0083662685</VBELN></b>
<POSNR>900001</POSNR>
</item>
<item>
<b><VBELN>0083662685</VBELN></b>
<POSNR>900002</POSNR>
</item>
<item>
<b><VBELN>0083662685</VBELN></b>
<POSNR>900003</POSNR>
</item>
<item>
<b><VBELN>0083662685</VBELN></b>
<POSNR>900004</POSNR>
</item>
<item>
<b><VBELN>0083662648</VBELN></b>
<POSNR>900011</POSNR>
</item>
<item>
<b><VBELN>0083673936</VBELN></b>
<POSNR>900012</POSNR>
</item>
in Sender FCC
E2ED20.fieldFixedLengths 7,76
E2ED20.fieldNames KZ,VBELN
E2ED20.keyFieldValue E1EDL20
E2ED20.endSeparator 'nl'
E2E24.fieldFixedLengths 7,24,13,7,3
E2E24.keyFieldValue E1EDL24
E2E24.fieldNames KZ,POSNR,CHARG,LFIMG,MEINS
E2E24.endSeparator 'nl'
ignoreRecordsetName true
source file is already there...
Message was edited by:
ashutosh rawat -
Dynamic File naming in reciever File Adapter
Hi all,
I am using a reciever File adapter and my requirement is to generate 3 different file names based on the value of an element from the Payload.For example..
Say in Payload for the first Occurence of the Data segment which contains Field-1 and Field-1 Contains value X then filename should be X.CSV,
same as
For the next occurence of the Data Segment if the Value of Field-1 is Y then File name should be Y.CSV.
Similarly For Z as well.
This is something like this...
SOurce Structure
================
IDOC
DATA SEGMENT-1
Field-1---> X
Field-2
Field 10
DATA SEGMENT-2
Field-1
Field-2
Field 10
DATA SEGMENT-3
Field-1
Field-2
Field 10
then the output and filenames should be...
X.CSV
Field-1
Field-2
Field-3
Y.CSV
Field-1
Field-2
Field-3
Z.CSV
Field-1
Field-2
Field-3
Kindly help, is there any way i can do this using File Adapter Configurations .Please suggest.Hi,
you can use a small business process.
There you will receiver the message in one receive step.
than you need a transformation Step with a mapping which split your message to several messages.
At least you have now a Multi Row container with one message for each data segment.
For sending each messages of this multirow container you need a block in BPM.. this you have to set to parallel processing.
Inside this block you have a sending step which send the single message.
and without BPM take a look at this Weblog(you need SP14):
<a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions me</a>
Regards,
Robin -
Error in reciever file adapter , where i am getting file name dynamically
hi all,
error in reciever file adapter , where i am getting file name dynamically, please help me in this isssue , i am trying for a long time
MP: Exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'Conversion configuration error: Unknown structure 'ns0:MT_eINVOICE_RECV' found in document', probably configuration error in file adapter (XML parser error)': java.lang.Exception: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'Conversion configuration error: Unknown structure 'ns0:MT_eINVOICE_RECV' found in document', probably configuration error in file adapter (XML parser error)'i am getting new error
MP: Exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: Channel has not been correctly initialized and cannot process messages
this is my strcuture
and i have changed my structure
<HEADER>
<ADDRESS1/>
<ADDRESS2/>
<ADDRESS3/>
<ADDRESS4/>
</HEADER>
<HEADER_GST>
<TAX1/>
<TAX2/>
<TAX3/>
</HEADER_GST>
<LINE>
<QTY/>
<UOM/>
<UNIT_AMT/>
<CHARGE_TO_DT/>
</LINE>
<FILENAME>
<FILENAME/>
</FILENAME>
i have given the recordset structure as
HEADER,HEADER_GST,LINE,FILE -
Error in reciever file adapter
Getting following error in a reciever file adapter (stack trace extracted from defaultTrace)
#1#com.sap.engine.services.dbpool.exceptions.BaseSQLException: ResourceException in method ConnectionFactoryImpl.getConnection(): com.sap.engine.services.connector.exceptions.BaseResourceException: Cannot open resource(Managed Connection) with LocalTransaction support or add a second one in the same transaction, for component "ejbContexts/sap.com/com.sap.aii.af.app/CallSapAdapter" in application "sap.com/com.sap.aii.af.app".
at com.sap.engine.services.dbpool.cci.ConnectionFactoryImpl.getConnection(ConnectionFactoryImpl.java:59)
at com.sap.aii.af.ra.ms.runtime.Resources.getDBConnection(Resources.java:362)
at com.sap.aii.af.ra.ms.impl.core.store.MessageStore.getMessageProfile(MessageStore.java:1228)
at com.sap.aii.af.ra.ms.impl.ConnectionImpl.deliveryAck(ConnectionImpl.java:399)
at com.sap.aii.adapter.file.SapAdapterServiceFrameImpl.sendAcks(SapAdapterServiceFrameImpl.java:350)
at com.sap.aii.adapter.file.SapAdapterServiceFrameImpl.callSapAdapter(SapAdapterServiceFrameImpl.java:250)
at com.sap.aii.af.modules.CallAdapterWithMessageBean.process_receiver(CallAdapterWithMessageBean.java:201)
at com.sap.aii.af.modules.CallAdapterWithMessageBean.process(CallAdapterWithMessageBean.java:161)
at com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl1.process(ModuleLocalLocalObjectImpl1.java:103)
at com.sap.aii.af.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:252)
at com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0.process(ModuleProcessorLocalLocalObjectImpl0.java:103)
at com.sap.aii.af.listener.AFWListenerBean.onMessage(AFWListenerBean.java:243)
at com.sap.aii.af.listener.AFWListenerLocalObjectImpl0.onMessage(AFWListenerLocalObjectImpl0.java:103)
at com.sap.aii.af.ra.ms.impl.ServicesImpl.deliver(ServicesImpl.java:253)
at com.sap.aii.adapter.xi.ms.XIEventHandler.onDeliver(XIEventHandler.java:838)
at com.sap.aii.af.ra.ms.impl.core.queue.ReceiveConsumer.invokeHandler(ReceiveConsumer.java:351)
at com.sap.aii.af.ra.ms.impl.core.queue.ReceiveConsumer.onMessage(ReceiveConsumer.java:100)
at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java:831)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
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: com.sap.engine.services.connector.exceptions.BaseResourceException: Cannot open resource(Managed Connection) with LocalTransaction support or add a second one in the same transaction, for component "ejbContexts/sap.com/com.sap.aii.af.app/CallSapAdapter" in application "sap.com/com.sap.aii.af.app".
at com.sap.engine.services.connector.resource.impl.ResourceSetImpl.checkEnlist(ResourceSetImpl.java:308)
at com.sap.engine.services.connector.jca.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:229)
at com.sap.engine.services.dbpool.cci.ConnectionFactoryImpl.getConnection(ConnectionFactoryImpl.java:51)
... 21 moreHI,
Refer this link. It gives solution to the above problem.
http://help.sap.com/saphelp_nw04s/helpdata/en/5c/2f2c4142aef623e10000000a155106/content.htm
Regards,
Sudheer. -
Archiving in Reciever file adapter
Hi .
can any one plz help me in <b>archiving file's in reciever file adapter</b> .
thanks
shakifHi Mohamed,
Normally we acrchive the files only in the sender communicaton channel by selecting the processing mode as Archive and giving the path of the directory where the sucessfully processed files are to be placed int the archieve directory.
There is no option to archieve the files in the receiver file adapter.
<a href="http://help.sap.com/saphelp_nw04/helpdata/en/e3/94007075cae04f930cc4c034e411e1/content.htm">Configuring Sender File Adapter</a>
<a href="http://help.sap.com/saphelp_nw04/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/content.htm">Configuring Receiver File Adapter</a>
Regards
Santhosh
Remember to set the thread to solved when you have received a solution
[url=Use a Good Subject Line, One Question Per Posting - Award Points; Use a Good Subject Line, One Question Per Posting - Award Points[/url] -
Anonymous login in sender,reciever file adapter
hi all xi's
i dont know what is the need of anonymous login option in sender,reciever file adapter and the other thing is if i use check anonymous login there is no option for
specifing username,pwd,ftp server ip.
early anser will be appreciated.
bye.
regards.
seeta ram.Hi,
when you configure your FTP server you can opt for anonymous login.
It means anyone can log on to this server just by using the IP address.
No user creation.. so ..No need for user id or pwd. i mean no authentication.
FTP connection parameters.. i.e. server n port will always be there if you are going for FTP.
It wont ask for these if you select NFS.
Being Anonymous only removes the user id n pswd option.
Anonymous login is "Never suggested"..Pretty insecure..
Dont forget to award SDN points Seeta.
Regards
Pushkar
Message was edited by:
pushkar anand -
Reciever file adapter permissions
Hi
I am trying to writing a file on remote computer using nfs reciever file adapter
I get the following error
Message processing failed.Cause com:sap.aii.af.ra.ms.api.RecoverableException: Target directory '
Hfavediqa2_0\ZIMEQCDATAIN' does not exist
The XI Server users are not in the domain of the customer
so we created a local user in the Hfavediqa2_0 with same password
so if I login with the user and password of xidadm to this server I can connent to the share
Hfavediqa2_0\ZIMEQCDATAIN and write files in this directory
how to solve this issue ? seems very stange to me
thx
ShaiHi,
Try and check if you can access the server mentioned here. ie. Hfavediqa2_0. NFS is used for files on shared directories in local network. Hence you should be able to ping this server. Simply type ping <server name/IP> and you should see the response. If you are not able to do that, then it won't be possible to reach the destination directory, hence the error. Using FTP could be alternate solution.
Thanks,
Bhavish
Award points is comments helpful -
File Adapter: trailing space in field using XSD:Decimal in a CSV file
Hi Folks,
I have a problem which i am unable to understand fully.
We have a SAP to file via XI scenario where a mail adapter is used. We are producing a CSV file as an mail attachment.
The issue is all the decimal fields have an extra space before the next delimiter i.e. comma.
The data type used in mapping is XSD:Decimal with 'fraction' set as 2.
I have checked the source XML and there is no trailing spaces there. Initially i thought this might be due to doing the conversion using transformation beans in mail adapter, to rule this out i checked other files produced using FILE adapter they also appear to have same issue.
I can't get my head around it, could not find any parameter i need to pass in content conversion either in MAIL adapter or FILE adapter to supress trailing space before the delimiter.
I suppose this must have occured with others as well.
Any directions would be greatly appreciated.
Btw, we are on PI 7.0 and ECC 6
-Praveen
Edited by: - External Consultants Mouchel on Sep 15, 2009 5:34 PMHi Mouchel,
I personally didnot encounter this kind of issue with the file adapter at any point of time. I would suggest you to check the message mapping before and after payload in sxmb_moni. If you see in mapping you may not find out, so view the source in notepad and then see.
Regards,
---Satish -
Problem when doing fcc and configuring file adapter
Hi all,
I have done all my xi work in my interface task -design IR, mapping, ID.I aslo passed succesfully XML testing.Now I am going to use 2 file adapters to complete the task..
I am having problems configuring content conversions parameters in receiver.
..I want to be able to pass a text file to input and output again text file.
If someone can help me I can provide screenshots .Appreciate your help..
ThanksHi,
File Content Conversions
http://help.sap.com/saphelp_nw04/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/d2/bab440c97f3716e10000000a155106/content.htm
/people/michal.krawczyk2/blog/2004/12/15/how-to-send-a-flat-file-with-fixed-lengths-to-xi-30-using-a-central-file-adapter - FCC
/people/jeyakumar.muthu2/blog/2005/11/29/file-content-conversion-for-unequal-number-of-columns - FCC
/people/anish.abraham2/blog/2005/06/08/content-conversion-patternrandom-content-in-input-file - FCC
/people/shabarish.vijayakumar/blog/2006/04/03/xi-in-the-role-of-a-ftp - FCC
/people/prateek.shah/blog/2005/06/14/file-to-r3-via-abap-proxy - FCC
/people/mickael.huchet/blog/2006/09/18/xipi-how-to-exclude-files-in-a-sender-file-adapter - EOIO - File
/people/venkat.donela/blog/2005/03/02/introduction-to-simplefile-xi-filescenario-and-complete-walk-through-for-starterspart1
/people/venkat.donela/blog/2005/03/03/introduction-to-simple-file-xi-filescenario-and-complete-walk-through-for-starterspart2
/people/venkat.donela/blog/2005/06/08/how-to-send-a-flat-file-with-various-field-lengths-and-variable-substructures-to-xi-30
/people/arpit.seth/blog/2005/06/02/file-receiver-with-content-conversion
/people/shabarish.vijayakumar/blog/2005/08/17/nab-the-tab-file-adapter
/people/shabarish.vijayakumar/blog/2006/02/27/content-conversion-the-key-field-problem
/people/sap.user72/blog/2005/01/06/how-to-process-csv-data-with-xi-file-adapter
Hope it helps..
Kumar.S -
Hi,
My scenario is proxy to flat file(FCC). The incoming structure has following format:
Header1
Item1
Header2
Item1
Item2
Item3
Header3
Item1
Item2
Control
Each Header can have multiple item fields. The last line is control record.
So the structure is like ::::: header, item, item, item, header, item u2026.., control.
what configuration should be done in FCC?
Thanks in Advance.
Regards,
MitenHi,
Please check some links on FCC
Introduction to simple(File-XI-File)scenario and complete walk through for starters(Part1)
Introduction to simple (File-XI-File)scenario and complete walk through for starters(Part2)
File Receiver with Content Conversion
Content Conversion (Pattern/Random content in input file)
NAB the TAB (File Adapter)
Introduction to simple(File-XI-File)scenario and complete walk through for starters(Part1)
Introduction to simple (File-XI-File)scenario and complete walk through for starters(Part2)
How to send a flat file with various field lengths and variable substructures to XI 3.0
Content Conversion (Pattern/Random content in input file)
NAB the TAB (File Adapter)
File Content Conversion for Unequal Number of Columns
Content Conversion ( The Key Field Problem )
The specified item was not found.
File Receiver with Content Conversion
http://help.sap.com/saphelp_nw04/helpdata/en/d2/bab440c97f3716e10000000a155106/content.htm
Regards,
sainath -
Reciever File Adapter - Temp File Name Scheme using Variable Substitution
How can I create a temporary file that uses variable substitution?
We are having a problem with files merging when we write files using the "Use Temporary File" setting on the FIle Adapter. So two independent files are merging into a single file. We are not using the "Append" setting.
We would like to use a Temp File Name Scheme that would append the message id onto the temporary file name.
Using variable substitution we created a msgid variable. When added to the temporary file name using %msgid% the temporary file name is created with %msgid% in the name instead of the actual message id. We put the variable into the "File Name Scheme" as well and the end completed file used the message id in the name.
Any Ideas?
Thanks,
MattHI Matthew,
Why are you adding the message id into the temporary file??
I understand that you want the output of the filename to contain message id .. and hence you are using variable substitution for the same.
Temporary file name will anyways get overwritten by the actual file name (here the actual filename will be using variable substituion).
So i suggest to achieve your scenario you can add any name in the temporary file and maintain the desired filename you require as output in the variable subsititution.
Temporary File Name option actually acts as a lock - unlock mechanism from PI side while the file is getting written to the file server so that while PI is writting the file no third party application batch program picks it up.
I hope this helps.
Cheers
Dhwani -
Reciever file adapter configuration for Deep structure
Hi Experts,
I have a idoc to file scenario in which i used a data type for file in below format:
DT_Test
-->Recordset(0.unbounded)
>E21DPU1(0.unbounded)
>field1
>field2
>E21DPU5(0.unbounded)
>filed 3
>filed 4
>E21DP03(0.unbounded)
>filed 5
>filed 6
Here DT_test is datatype name,Recordset is a structure name which contain E21DPU1, E21DPU5,E21DPO3 stucture inside it.Now,E21DPU5 and E21DPO3 structures are under E21DPU1.
I am confused in creating content conversion parameters i.e what we have to mention in Recordset Stucture .
I used E21DPU1,,E21DPU5,,E21DP03,* .should it work for deep structure.
Thanks
DeepakHi,
file adapter does not handle 2 level deep structures
the easiest way to do it now is to go for abap or java mapping
and create a line for each of the output lines and handle this in the file adapter
so like <line> </line>
<line>E21DPU1(0.unbounded) with fields </line>
<line>E21DPU5(0.unbounded) with fields </line>
<line> etc. </line>
Regards,
Michal Krawczyk
Maybe you are looking for
-
Email a created text file by the click of a button
Hi What I am trying to do it that: In the Front Panels, All the data is collected via String Control and other Control, then when a press saved, a text file is created and stored in the path that I specified. It is possible in LabView to using a Butt
-
How do I add a UDF in Recurring Postings?
Hi All, is there a way to add a UDF in Recurring Postings Form? Thanks, Vangelis
-
Can't Highlight ANY text, please help.
I can't highlight any text in any application. I can't drag my mouse to highlight, and when I press Ctrl+A it only highlights pictures and links on a web page. Please help, I need to be ably to copy text for my work and I can't even select it.
-
Hi All, I've got Photoshop CS3 (10.0.1) installed on Leopard (10.5.1) and am having trouble with the crop tool. Measurements input into the Width and Height fields don't appear and only way to fix it is to restart the application. Its worth noting th
-
Smooth a curve through an anchor point
want to smooth a curve through an anchor point, it has a slight kink in it & it isn't smooth on the templates I've cut out, it's a guitar body curve. just want to make it smooth without effecting the surrounding shape?