White lines generateds in a File Adapter when using variable substitution.
Hi all,
I have been a problem in File generated by XI, my File Adapter is using variable substitution with reference to a field of my message type. Because it, the files generated has white lines in top of file.
What can I do to not apears these lines ?
Thanks
Regis,
Try to give a more detailed description of your problem otherwise I don't know who's gonna answer...
Alexx
Similar Messages
-
White lines generated in a txt File when using variable substitution
Hello,
I have a problem with a File generated by XI, my File Adapter is using variable substitution with reference to a field of my message type. I use content conversion as well and the generated file has a white line in top of file.
How could I avoid this and make the white lines disappear? I was trying a lot of things but I dont really know how to solve this issue, the following is the data type used:
<FILE_NAME></FILE_NAME>
<COMPANY>
<COMPANY_CODE></COMPANY_CODE>
<COMPANY_NAME></COMPANY_NAME>
<ADRESS></ADRESS>
</COMPANY>
FILE_NAME is the field I use for variable substitution and COMPANY is declare as 0..unbounded.
Thanks a lot in advanced,
LuisHi Jai,
I have declare the following Content Conversion parameters:
Recordset Structure: COMPANY
FILE_NAME.fieldFixedLengths 0
FILE_NAME.fixedLengthTooShortHandling cut
COMPANY.fieldFixedLengths 10,80,10,2,50,30,5,5,2,50,50
COMPANY.addHeaderLine 0
COMPANY.endSeparator 'nl'
But it does not work, I have the same white line in the beginning of the file. Do you have any other suggestion??
I couldnt find the blog written by Sravya either, could you post the link?
Thanks a lot,
Luis -
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 -
Blank Lines at end of file when using Variable Substitution in File Adapter
Hi all,
I'm using variable substitution in a File Adapter, it's refers an element of message, like:
filename payload:MESSAGE_INTERFACE,1,FILENAME,1
The variable substitution is working right, but it's append a BLANK LINE at end of file.
Anyone knows how to solve this problem ?
Thanks in advance.Hi Regis,
I suppose you're using content conversion?
if so try adding
<b>endSeparator</b> = '0'
to your last element
this will delete the default line break at the end
Regards,
michal
<a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions">XI FAQ - Frequently Asked Questions</a> -
FTPs connection error:When using Variable substitution for Directory path
Hi
I am transferring data from BI to xml file via PI: Here a Client proxy from BI sends the data to PI and the PI FTPs the XML file to a remote location. For FTP I am using FTPs SSL connection.
It was working fine untill I used Variable susbstitution to determine Directory path dynamically. I am using this because different xml files are intended to goto the different locations.
I did the variable substitution like this:
Target Message Structure:
---> Target Directory: %var1%
<?xml version="1.0" encoding="UTF-8" ?>
<MT_BI_EXTRACT_FILE>
<Header>
<Directory>/Customer</Directory>
</Header>
<Detail>
</Detail>
</MT_BI_EXTRACT_FILE>
And in the variable substitution I am doing it this way
payload:MT_BI_EXTRACT_FILE,1,Header,1,Directory,1
And the error I am getting is:
Attempt to process file failed with Error when getting an FTP connection from connection pool: com.sap.aii.af.service.util.concurrent.ResourcePoolException: Unable to create new pooled resource: iaik.security.ssl.SSLException: Peer sent alert: Alert Fatal: handshake failure
MP: Exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: Error when getting an FTP connection from connection pool: com.sap.aii.af.service.util.concurrent.ResourcePoolException: Unable to create new pooled resource: iaik.security.ssl.SSLException: Peer sent alert: Alert Fatal: handshake failure
Exception caught by adapter framework: Error when getting an FTP connection from connection pool: com.sap.aii.af.service.util.concurrent.ResourcePoolException: Unable to create new pooled resource: iaik.security.ssl.SSLException: Peer sent alert: Alert Fatal: handshake failure
Delivery of the message to the application using connection File_http://sap.com/xi/XI/System failed, due to: com.sap.aii.af.ra.ms.api.RecoverableException: Error when getting an FTP connection from connection pool: com.sap.aii.af.service.util.concurrent.ResourcePoolException: Unable to create new pooled resource: iaik.security.ssl.SSLException: Peer sent alert: Alert Fatal: handshake failure.
Does anybody have some Idea of this ??
Regards
NainaHi,
I guess the problem is not with Variable Substitution..
Error when getting an FTP connection from connection pool:
So its a connection problem..
Also check the option Disable Security check and try again...
Try to check again if the interface is executing properly without Variable substitution and let us know..
Babu
Edited by: hlbabu123 on Jan 7, 2011 2:46 PM -
Why do I get white lines surrounding PSD or Tiff transparencies when exported as a PDF for print - Indesign Version 9.2?
I recently upgraded creative suite - now I am having issues with white lines surrounding any tiffs or PSDs when exporting for print.
I initially thought it was an acrobat viewer problem, but it seems to be effecting print. Please let me know if anyone knows the answer to this problem. thanks!Thanks Bob, to date I have simply used the High Quality Print default, which is actually Acrobat 4 (PDF 1.3) - I have never had issues before - until now when I upgraded my software..
-
Add Counter to File name when using Tran Protocol as FTP
Hi There,
Was wondering if there was any way to achive the same "Add Counter" functionality used for File names in Reciever file adapter when we are using FTP as the transport protocol, this option is only provided in NFS,
My requirement is ..
Write files using counter on to ftp..
say if three files already exists on the ftp server with names ...fname001, fname002 and fname003
then the next time a file is written it should have a file name fname004 else fname001 if no file exists.
Any help would be greatly appreciatedNo such standard functionality is available in communication channel...
But you can try customizing ur scenario in one of the following ways...
Case 1: If a field in source data carries the information regarding the sequence.
You can map this value ( Directly .. or using some transformation ) in some temporary field in the target and then use a Variable substitution at the receiver communication channel.
Case 2. If the source file name carries the sequence information. then you can enable the Adapter specific settings in the Sender communication channel , and then get the information of the source file name using the Container object in the mapping. Then assign the sequence number to a field in the target , use a Variable substitution at the receiver communication channel.
Case 3 : If Case 1 and Case 2 are not applicable ... then you have to use a Ztable to store the sequence number , a function module to fetch the number , and then use a UDF in which you will implement the RFC call logic.Then the same process .... assign the sequence number to a field in the target , use a Variable substitution at the receiver communication channel.
BR,
Sushil. -
Revision: 674
Author: [email protected]
Date: 2008-02-27 09:41:30 -0800 (Wed, 27 Feb 2008)
Log Message:
LCDS-110: If you don't specify file type when using DocumentReference, a java.lang.NullPointerException occurs.
qa: yes
bug: LCDS-110
doc: no
checkintests: passed
Details:
modules/common/src/java/flex/messaging/errors.properties
* new error message
Ticket Links:
http://bugs.adobe.com/jira/browse/LCDS-110
http://bugs.adobe.com/jira/browse/LCDS-110
Modified Paths:
blazeds/branches/3.0.x/modules/common/src/java/flex/messaging/errors.propertiesYes I know that ;) and I fixed it myself too by initializing it like this: private GameObject[] apple = new GameObject[max_apples];But now I get this error instead:
Exception in thread "Thread-4" java.lang.ArrayIndexOutOfBoundsException: 3
at Main.run(Main.java:35)
at java.lang.Thread.run(Unknown Source)
Exception in thread "AWT-EventQueue-1" java.lang.ArrayIndexOutOfBoundsException: 3
at Main.paint(Main.java:134)
at sun.awt.RepaintArea.paintComponent(Unknown Source)
at sun.awt.RepaintArea.paint(Unknown Source)
at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)So now I need help on this... =D CHEERS! :P -
Used variable substitution to substiture the field 'date' in file name
Hi gurus
I have used variable substitution to substiture the field 'date' (dd/MM/yyyy/hh/mm/ss) in the file name so when empty payload (a valid xml ) is generated by Message mapping then the communication channel is failing by showing the following error
File processing failed with com.sap.aii.adapter.file.configuration.DynamicConfigurationException: Error during
variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload
: date
As of now the business is not getting effected as the business scenarion needs only customer master data at the reciever side But when ever there is no custmer master data in the sourse side the message mapping is generating an empty payload and the communication channel is failing ( so it is an internal issue and is there any way which could solve the both (ie the business must not get effected and as well the communication channel must not fail)
any coments on this will be higly apreciated
thanks and regards
sandeepHi Sandeep -
Yes If you use the Variable substitution from the payload , that perticular field has to be generated in the target structure.
To handle this You can do the following:
Sourcefield --->exists -> IfThenElse-->TargetField
Where SourceField>exists(node function)-> If
SourceField -
>Then
CurrentDate(Date Function)----->Else
Hope this will help !!
Regards.
Jeet. -
Query runs slower when using variables & faster when using hard coded value
Hi,
My query runs slower when i use variables but it runs faster when i use hard coded values. Why it is behaving like this ?
My query is in cursor definition in a procedure. Procedure runs faster when using hard coded valus and slower when using variables.
Can anybody help me out there?
Thanks in advance.Hi,
Thanks for ur reply.
here is my code with Variables:
Procedure populateCountryTrafficDetails(pWeekStartDate IN Date , pCountry IN d_geography.country_code%TYPE) is
startdate date;
AR_OrgId number(10);
Cursor cTraffic is
Select
l.actual_date, nvl(o.city||o.zipcode,'Undefined') Site,
g.country_code,d.customer_name, d.customer_number,t.contrno bcn,
nvl(r.dest_level3,'Undefined'),
Decode(p.Product_code,'820','821','821','821','801') Product_Code ,
Decode(p.Product_code,'820','Colt Voice Connect','821','Colt Voice Connect','Colt Voice Line') DProduct,
sum(f.duration),
sum(f.debamount_eur)
from d_calendar_date l,
d_geography g,
d_customer d, d_contract t, d_subscriber s,
d_retail_dest r, d_product p,
CPS_ORDER_DETAILS o,
f_retail_revenue f
where
l.date_key = f.call_date_key and
g.geography_key = f.geography_key and
r.dest_key = f.dest_key and
p.product_key = f.product_key and
--c.customer_key = f.customer_key and
d.customer_key = f.customer_key and
t.contract_key = f.contract_key and
s.SUBSCRIBER_KEY = f.SUBSCRIBER_KEY and
o.org_id(+) = AR_OrgId and
g.country_code = pCountry and
l.actual_date >= startdate and
l.actual_date <= (startdate + 90) and
o.cli(+) = s.area_subno and
p.product_code in ('800','801','802','804','820','821')
group by
l.actual_date,
o.city||o.zipcode, g.country_code,d.customer_name, d.customer_number,t.contrno,r.dest_level3, p.product_code;
Type CountryTabType is Table of country_traffic_details.Country%Type index by BINARY_INTEGER;
Type CallDateTabType is Table of country_traffic_details.CALL_DATE%Type index by BINARY_INTEGER;
Type CustomerNameTabType is Table of Country_traffic_details.Customer_name%Type index by BINARY_INTEGER;
Type CustomerNumberTabType is Table of Country_traffic_details.Customer_number%Type index by BINARY_INTEGER;
Type BcnTabType is Table of Country_traffic_details.Bcn%Type index by BINARY_INTEGER;
Type DestinationTypeTabType is Table of Country_traffic_details.DESTINATION_TYPE%Type index by BINARY_INTEGER;
Type ProductCodeTabType is Table of Country_traffic_details.Product_Code%Type index by BINARY_INTEGER;
Type ProductTabType is Table of Country_traffic_details.Product%Type index by BINARY_INTEGER;
Type DurationTabType is Table of Country_traffic_details.Duration%Type index by BINARY_INTEGER;
Type DebamounteurTabType is Table of Country_traffic_details.DEBAMOUNTEUR%Type index by BINARY_INTEGER;
Type SiteTabType is Table of Country_traffic_details.Site%Type index by BINARY_INTEGER;
CountryArr CountryTabType;
CallDateArr CallDateTabType;
Customer_NameArr CustomerNameTabType;
CustomerNumberArr CustomerNumberTabType;
BCNArr BCNTabType;
DESTINATION_TYPEArr DESTINATIONTYPETabType;
PRODUCT_CODEArr PRODUCTCODETabType;
PRODUCTArr PRODUCTTabType;
DurationArr DurationTabType;
DebamounteurArr DebamounteurTabType;
SiteArr SiteTabType;
Begin
startdate := (trunc(pWeekStartDate) + 6) - 90;
Exe_Pos := 1;
Execute Immediate 'Truncate table country_traffic_details';
dropIndexes('country_traffic_details');
Exe_Pos := 2;
/* Set org ID's as per AR */
case (pCountry)
when 'FR' then AR_OrgId := 81;
when 'AT' then AR_OrgId := 125;
when 'CH' then AR_OrgId := 126;
when 'DE' then AR_OrgId := 127;
when 'ES' then AR_OrgId := 123;
when 'IT' then AR_OrgId := 122;
when 'PT' then AR_OrgId := 124;
when 'BE' then AR_OrgId := 132;
when 'IE' then AR_OrgId := 128;
when 'DK' then AR_OrgId := 133;
when 'NL' then AR_OrgId := 129;
when 'SE' then AR_OrgId := 130;
when 'UK' then AR_OrgId := 131;
else raise_application_error (-20003, 'No such Country Code Exists.');
end case;
Exe_Pos := 3;
dbms_output.put_line('3: '||to_char(sysdate, 'HH24:MI:SS'));
populateOrderDetails(AR_OrgId);
dbms_output.put_line('4: '||to_char(sysdate, 'HH24:MI:SS'));
Exe_Pos := 4;
Open cTraffic;
Loop
Exe_Pos := 5;
CallDateArr.delete;
FETCH cTraffic BULK COLLECT
INTO CallDateArr, SiteArr, CountryArr, Customer_NameArr,CustomerNumberArr,
BCNArr,DESTINATION_TYPEArr,PRODUCT_CODEArr, PRODUCTArr, DurationArr, DebamounteurArr LIMIT arraySize;
EXIT WHEN CallDateArr.first IS NULL;
Exe_pos := 6;
FORALL i IN 1..callDateArr.last
insert into country_traffic_details
values(CallDateArr(i), CountryArr(i), Customer_NameArr(i),CustomerNumberArr(i),
BCNArr(i),DESTINATION_TYPEArr(i),PRODUCT_CODEArr(i), PRODUCTArr(i), DurationArr(i),
DebamounteurArr(i), SiteArr(i));
Exe_pos := 7;
dbms_output.put_line('7: '||to_char(sysdate, 'HH24:MI:SS'));
EXIT WHEN ctraffic%NOTFOUND;
END LOOP;
commit;
Exe_Pos := 8;
commit;
dbms_output.put_line('8: '||to_char(sysdate, 'HH24:MI:SS'));
lSql := 'CREATE INDEX COUNTRY_TRAFFIC_DETAILS_CUSTNO ON country_traffic_details (CUSTOMER_NUMBER)';
execDDl(lSql);
lSql := 'CREATE INDEX COUNTRY_TRAFFIC_DETAILS_BCN ON country_traffic_details (BCN)';
execDDl(lSql);
lSql := 'CREATE INDEX COUNTRY_TRAFFIC_DETAILS_PRODCD ON country_traffic_details (PRODUCT_CODE)';
execDDl(lSql);
lSql := 'CREATE INDEX COUNTRY_TRAFFIC_DETAILS_SITE ON country_traffic_details (SITE)';
execDDl(lSql);
lSql := 'CREATE INDEX COUNTRY_TRAFFIC_DETAILS_DESTYP ON country_traffic_details (DESTINATION_TYPE)';
execDDl(lSql);
Exe_Pos:= 9;
dbms_output.put_line('9: '||to_char(sysdate, 'HH24:MI:SS'));
Exception
When Others then
raise_application_error(-20003, 'Error in populateCountryTrafficDetails at Position: '||Exe_Pos||' The Error is '||SQLERRM);
End populateCountryTrafficDetails;
In the above procedure if i substitute the values with hard coded values i.e. AR_orgid = 123 & pcountry = 'Austria' then it runs faster.
Please let me know why it is so ?
Thanks in advance. -
File to file with out message mapping and using variable substitution
Hi,
Can any one send me a scenario where we can have file to file scenario with out message mapping and where i can use variable substitution.
As of now i am using integrate configurations where i cant use variable substitution as the message does not reflect in integration engine. I need to populate time stamp between <filename><timestamp>.txt.pgp
I am as of now using configuration scenario.
The time stamp always writes before the last file extension.
Let me know your thoughts?
Thanks,
Chandra.Hi Chandra,
u can use the Variable substitution even without IR contents also(Mapping....).
in the receiver communication channel just specify the path u want to access for a value...
eg: filename payload:mt_name,1,records,1,name,1
and in th file name give it as %filename%.txt... or vt ever ur requirement
Babu -
I have a CMYK file, outlined product, that looks perfect in Photoshop. When I place the image into Illustrator, it shows up with a thin white line around parts of the product (fyi - it shows up on a print as well). I have tried to place an RGB file and it does not have the white line around the product. I assume it has something to do with it being CMYK, but I'm at a loss on how to fix this. I'm desperate for any help.
Okay, please refer this image and change the option within Ai General preferences. Uncheck the option Anti-Aliased artwork.
-
Error-Receiver File Adapter using Variable substitution when file is empty
XI Experts,
We are on PI 7.0, SP14.
We are using variable subtitution to get the filename from source message. This works fine as long as we have data in the payload for filename element. But we have a scenario where we don't have to create file when certain condition does not exists in source message so in the message payload filename element will not exists in such condition and file will be empty and we should not create file.
Parameter in the communication channel for Handling empty message is "Ignore".
Does anyone knows how to handle this scneario. We don't want to default any file name in the message mapping if source file name element does not exists.
We are following getting error in the Adapter engine.
MP: Exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: file: com.sap.aii.adapter.file.configuration.DynamicConfigurationException: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: file
Thanks
MPYou can implement this by writing the module to throw an exception or whatever method you want to execute.
If you don't want to receive an error message then module is suitable for you.
Gaurav Jain -
File Adapter: File name when using event
I'm using the Bea file adapter 7.0 to retrieve ascii files from the file system
and this triggers a business process in WLI. Is there any way that you can get
the name of the file when doing this? And is there a way to dynamically name a
file when you write it to the file system using the file adapter?Dear Prakasu,
In reply to your help
"Select the Time out tag.
Fill the require time limit.Like if you want to process a file with in 10 min then maintain 10 min.
If the file is not transfered with in 10 min then adapter consider an error and through the error.Use alert for adapter errors and send the alert."
I didn't find Time Out in sender Adapter,Time Out Flag is visible in OS CMDS..
Can you explain me in more details..
Thanks
Prabhakar -
Exception handling in File adapter when directory structure is incorrect
hi,
How can exception handling part be done in File adapter in cases where directory structure is incorrect, or directory
we are referring to is not present.
thanks
YatanIf you are polling then there will be error message in log files.But i dont think we can do exception handling in such cases.
Cheers
Maybe you are looking for
-
This issue is difficult to explain, but here it goes... I have 2 users (desktops) setup on Lion. My primarydesktop is the Admin account and my wife has her own (for her iTunes,mail, etc.). Until just recently, I could switch between users easilyand
-
How do I put a picture in the background on Pages
I must be having a senior moment! In the past I have made a poster in Pages and put a picture in the background and text over the top. I have just tried to do it again and can't for the life of me remember how to do it. I do have a new version of
-
The song I downloaded (Slayer, Criminally Isane) cuts off about 3 seconds before the ending, I have tried re-downloding per apple support directions with the same results. What further actions may I take to fix this issue?
-
Use of hierarchy with cell definition
Hi all, I have an issue with a query that is using cell definition in order to have different selection criteria in 2 columns. In the cell definition, it has being defined a new selection using a hierarchy ( 0costcenter hierarchy) to filter and selec
-
hi How can we know the size of the entire database, number of tables,views ,procedures in the database .. thanks