Mapping IDOC to CSV file - Missing blank field values in CSV file
Hello:
I am mapping an IDOC to a .csv file, using File Content Conversion. I specify comma as the value for the parameter 'fieldSeparator'. I get a .csv file, but blank field values are missing in the .csv file.
For example, if the .csv file format is <field1>,<field2>,<field3>
and if <field2> is blank, then the .csv file contains
<field1>,<field3>
Hi Bac,
As long as the XML that goes to your File Receiver Channel contains the elements, even if they don't contain values, it should work fine.
For example:
<field1>data</field1>
<field2></field2>
<field3>data2</field3>
I suspect that your XML looks like the following:
<field1>data</field1>
<field3>data2</field3>
If this is the case you can update your map. You shouldn't need to put a space, just make sure the element gets created.
Thanks,
Jesse
Similar Messages
-
How to Handle Blank Field Value based Condition in SmartForms
Dear Sir,
In SMARTFORM , we need to define a Condition that incase Field Value is not equal to BLANK value (blank means that field is empty) then a specific text gets printed .
Our problem is that We do not know as how to define Empty Field Value based condition .
Had it been Non Empty Field value based condition then solution was simple and could be done in following way :
Field Value R Comparision Value
WA_KZDKZ = 'X'
In our case , we need to give Blank (Empty Value) instead of 'X' .
Kindly help us pl .
Rgds
B MittalHi,
To handle blank field values in SMARTFORMS,
Go to the conditions tab in your SMARTFORM and give condition there
Field Comparision operator value
<Field name> <> Here symbol is diff space.
eg:
wa_mara-matnr =/ space.
Regards,
Santosh Kumar M. -
S_DOKU_AUT is missing with field values: dummy .
Hello,
A user wants to upload a document and failed. SU53 says:
S_DOKU_AUT is missing with field values: <dummy>.
What need to be done to resolve this issue.
Edited by: vijay kumar on May 3, 2009 12:47 AMI am having the same problem as Vijay in my database.
I am hung up when I try to change a standard SAP document using transaction CV02N. The system tests to see if I have access to object S_DOKU_ACT with the following parameters:
DOKU_ACT value <DUMMY>
DOKU_DEVCL value <DUMMY>
DOKU_MODE value <DUMMY>
I have found that this object with these keys has to do with creating Online Documentation within SAP. The documents that I am working on are standard SAP documents which were defined using standard DMS customizing steps. As far as I know, they have nothing to do with online documentation, at least, I didn't customize them that way (not knowingly anyway).
What could cause the system to want to test for an access right to these objects?
Oddly enough, the test only occcurs for certain documents within the affected document type (not all documents).
Regards,
---Ray -
IDoc output is not showing blank fields before the carriage return
When we produce the Material Master IDoc (MATMAS), we send it to a ascii file, to a file port. That works fine when we execute BD10 to produce the IDoc and the file. But, the 3rd party mapping software wants to see every field, even if blank, in each segment it is fed. So, let's say the E1MARCM segment is 750 chars, when you add up all the field lengths in the structure, but the last 5 fields are blank. SAP does not include those trailing blanks at the end of the segment in the file. It just puts a carriage return. How can we configure it to output the trailing blanks?
Hi Mark Mathison
In IDoc ....if no value is passed in to that field then, the field wonu2019t be populated in Doc....
There is no chance of getting blank field in IDocs...
Ramesh -
How can I add form field value to the file name in save as dialog box
I do not want the form to be saved automatically, just want the form to auto populate the "file name" only.
A little background on the forms I want to use: My company has 70 retail outlets, I'll use one of our pdf forms called an "Incident Report" as an example. I would like for a store manager to be able to complete the form, then email the form to the main office (I already have javascript to add field values and form name to the email subject line), once the main office receives it, I want for them to be able to file the pdf electronically on our server. We have mutliple forms that we use so I do not want any of the forms to automatically save anywhere, (at this time anyway) I just want the office personnel to be able to click "save as" (or whatever they will need to click) and the form automatically add certain field values from the pdf they have received, of which will be different each time the form is sent to the office (Date, store #, employee name etc.) in addition to the name of the form in the "File name" of the "Save As" dialog box. The main office employees will decide into which server file the pdf should be saved.
I'm using Acrobat 8 professional, the stores and office personnel use Adobe reader.
One little note: We currently print and file a lot of paper on a daily bases, as soon as I can get this to work, we are going green.
Me and a lot of trees in this will really apprecitate any help you can give with this! :-)You might want to take a look at the document "Developing Acrobat Applications Using JavaScript" (js_developer_guide.pdf) which is part of the Adobe Acrobat SDK, which can be downloaded here. Read the "Privileged versus non-privileged context" (p. 45ff.). You will find an example for "Executing privileged methods in a non-privileged context". Should be almost exactly what you are looking for.
Small Outline: For security reasons ("the user always has to know what's going on") you are not allowed to use the "Doc.saveAs"-method without the user permission (--> in a non-privileged context). In order to reach the goal of a privileged context you can use a trusted function. You do this by creating a JavaScript file (*.js) in either the Application-JavaScript-Folder (default location on Windows systems: "%ProgramFiles%\Adobe\Acrobat 10.0\Acrobat\Javascripts") or the User-JavaScript-Folder (default location on Windows systems: "%AppData%\Adobe\Acrobat\10.0\JavaScripts"). Add the following content to the new file:
myTrustedBrowseForDoc = app.trustedFunction( function ( oArgs ) {
app.beginPriv();
var myTrustedRetn = app.browseForDoc( oArgs );
app.endPriv();
return myTrustedRetn;
myTrustedSaveAs = app.trustedFunction( function ( doc, oArgs ) {
app.beginPriv();
var myTrustedRetn = doc.saveAs( oArgs );
app.endPriv();
return myTrustedRetn;
The developer guide actually wants you to add this content to the existing "config.js" file. I recommend creating a new file, since its easier to deploy in a network. Either way, every client/user who needs to be able to save documents this way, needs this JavaScript Code in his Application/User-JavaScript-Folder.
Within the Acrobat Document, which you want to obtain a certain file name, you can now use the trusted functions "myTrustedBrowseForDoc" and "myTrustedSaveAs" to store the file. To call the trusted functions and deliver the file name you can either you use a form field (button) or you add a new menu item. Add the following JavaScript Action to the button/menu item and change "Roller Coaster" to the name of the field which contains the value which you want to become the new file name:
var fileName = this.getField("Roller Coaster").valueAsString;
try {
var oRetn = myTrustedBrowseForDoc({bSave: true, cFilenameInit: fileName + ".pdf"});
try {
myTrustedSaveAs(this, { cPath: oRetn.cPath, cFS:oRetn.cFS });
catch(e) {
console.println("Save not allowed, perhaps readonly.");
catch(e) {
console.println("User cancelled Save As dialog box");
Good Luck! -
Auto-populate Field value From a File Picker Window
I have a PDF form with many fields where my users are required to enter the filename of documents. I am using Adobe Acrobat 9 Pro
I've been trying to find a way to create a field Action that does the following:
User clicks field
File browser window opens
User selects relevant file
Filename and extension is placed into the field that was clicked
Any tips or suggestions on how to implement this would be welcome.
Additionally, if it is possible, could it support multiple field/documents in a single interactions. Example: User clicks field1 and selects 5 files. The files filenames are placed in fields1, field2, field3, field4, and field5 respectively.
P.S.
I am not trying to attach files to the PDF. I just want the filenames to be placed into the form.Are the files being selected PDF files, or other types? There's another method that can be used for file selection, but it only lists PDF files. It is possible (at least on Windows computers) to use it to select any file-type, but it's a bit tricky...
If not, using a hidden field is your only option. But you can reset if after copying the file-name to the other field, like this:
this.getField("FilePath").browseForFileToSubmit();
var filePath = this.getField("FilePath").value;
this.getField("FileName").value = filePath.substring(filePath.lastIndexOf("\\")+1);
this.getField("FilePath").value = "";
If you use this code (as the button's Mouse Up action), make sure you remove all other codes associated with the text fields. And you don't need to create a duplicate field for each file selection field, only one will do... It can even be placed in a doc-level function so you only have to call it from each button and have the code itself in a single location. -
Can you assign field values as the file name
When filling fillable pdf forms I would like to assign the name of the file (automate a Save As) to field values.
Place a regular button on the form and write the below code in the click event of button:
app.execMenuItem("SaveAs");
Thanks,
Vipin -
UTL File not return any values in .CSV oracle plsql hrms
Hello experts,
We want to extract employee details from Core hrms with output as .csv file :
i have created below package for utl but not return any values in csv file pls help me on this.:::
CREATE OR REPLACE PACKAGE BODY APPS."XXPER_PAYROLL_XIR_PKG"
AS
procedure payroll_main (
in_from_date IN date,
in_to_date IN date,
p_errbuf OUT VARCHAR2,
p_retcode OUT NUMBER
) is
cursor c_person is
SELECT distinct ppf.person_id
FROM per_person_types ppt,
pay_payrolls_f pp,
per_person_type_usages_f pptu,
per_all_people_f ppf,
per_all_assignments_f ppa
WHERE ppf.person_id = pptu.person_id
AND pptu.person_type_id = ppt.person_type_id
AND ppt.user_person_type in ('Employee', 'Ex-employee' ,'Intern')
AND ppf.person_id = ppa.person_id
AND ppa.assignment_type = 'E'
AND ppa.primary_flag = 'Y'
AND ppa.payroll_id = pp.payroll_id
-- and nvl(ppa.ass_attribute10, 'N') = 'Y' -- this is in Production
AND pp.payroll_name = 'Calendar Payroll'
AND trunc( ppf.last_update_date) between in_from_date and in_to_date
AND trunc( ppa.last_update_date) between in_from_date and in_to_date
AND trunc( ppt.last_update_date) between in_from_date and in_to_date
AND trunc( pptu.last_update_date) between in_from_date and in_to_date
AND trunc(sysdate) between ppf.effective_start_date and ppf.effective_end_date
AND trunc(sysdate) between ppa.effective_start_date and ppa.effective_end_date
AND trunc(sysdate) between ppf.effective_start_date and ppf.effective_end_date
AND trunc(sysdate) between pptu.effective_start_date and pptu.effective_end_date
AND ppf.employee_number <> 'NONE';
v_person_id number;
v_dom_eff_dt date;
io_err_flag varchar2(1);
io_err_desc varchar2(2000);
io_record_update boolean;
BEGIN
dbms_output.put_line('in_from_date-' || in_from_date);
dbms_output.put_line('in_to_date-' || in_to_date );
open c_person;
loop
fetch c_person into v_person_id;
exit when c_person%NOTFOUND;
get_person_information( v_person_id ,
in_from_date ,
in_to_date ,
io_err_flag ,
io_err_desc );
dbms_output.put_line('Per_id-' || v_person_id || ': ' || 'Payroll_main' || sqlcode || sqlerrm );
end loop;
close c_person;
end payroll_main;
PROCEDURE get_person_information(in_person_id IN number,
in_from_date IN date,
in_to_date IN date,
io_err_flag IN OUT varchar2,
io_err_desc IN OUT varchar2) is
--v_service_date DATE;
v_data_file UTL_FILE.FILE_TYPE;
v_record VARCHAR2(1000);
v_header VARCHAR2(1000);
v_record_mail VARCHAR2(1000);
v_file_name VARCHAR2(100);
v_file_name_mail VARCHAR2(100);
v_ser_name VARCHAR2(50);
v_dir VARCHAR2(100) :='XX_XIR_HR_PAY';
v_con_req_id NUMBER;
v_user_id NUMBER;
v_resp_id NUMBER;
v_resp_appl_id NUMBER;
p_request_id NUMBER;
P_status VARCHAR2(100);
cursor c1 is
SELECT ppf.person_id per_id,
ppf.employee_number emp_num,
ppf.first_name f_name,
ppf.last_name l_name,
ppf.national_identifier nat_id,
ppf.date_of_birth dat_birth,
ppf.sex sex_g,
-- TO_DATE(ppf.attribute1,'DD-MON-YYYY') att_date,
ppt.user_person_type per_type,
ppf.email_address email_id,
ppf.last_update_date last_upd_date
FROM per_person_type_usages_f pptu,
per_person_types ppt,
per_people_f ppf
WHERE ppf.person_id = in_person_id
AND ppf.person_id = pptu.person_id
AND pptu.person_type_id = ppt.person_type_id
and trunc(ppf.last_update_date) between in_from_date and in_to_date
and trunc( pptu.last_update_date) between in_from_date and in_to_date
AND trunc( ppt.last_update_date) between in_from_date and in_to_date
AND trunc(sysdate) between ppf.effective_start_date and ppf.effective_end_date
AND trunc(sysdate) between pptu.effective_start_date and pptu.effective_end_date
AND ppt.user_person_type in ('Employee', 'Ex-employee' ,'Intern')
and ppt.system_person_type in ('EX_EMP', 'EMP') ;
cursor c2 is
SELECT substr(pa.address_line1, 1, 60) address_line1,
substr(pa.address_line2, 1, 60) address_line2,
pa.town_or_city city,
pa.region_2,
pa.postal_code,
pa.region_1,
pa.country,
pa.date_from,
nvl(pa.date_to, to_date('12/31/4712', 'mm/dd/yyyy')),
pa.creation_date,
pa.last_update_date
FROM per_addresses pa
WHERE pa.person_id = in_person_id
AND pa.last_update_date between in_from_date and in_to_date
AND trunc(sysdate) between date_from and nvl(date_to, to_date('12/31/4712', 'mm/dd/yyyy'))
AND pa.primary_flag = 'Y';
cursor c3 is
SELECT pp.phone_number pnum
FROM per_phones pp
WHERE pp.parent_id = in_person_id
AND pp.last_update_date between in_from_date and in_to_date
AND trunc(sysdate) between date_from and nvl(date_to, to_date('12/31/4712', 'mm/dd/yyyy'))
AND phone_type = 'H1';
cursor c4 is
SELECT ppos.period_of_service_id,
ppos.date_start start_date,
ppos.adjusted_svc_date,
ppos.actual_termination_date,
TO_DATE(ppos.attribute1,'yyyy/mm/dd hh24:mi:ss') last_day
FROM per_periods_of_service ppos
WHERE ppos.person_id = in_person_id
AND ppos.last_update_date between in_from_date and in_to_date
AND ppos.date_start = ( select max(date_start)
from per_periods_of_service
where person_id = in_person_id
and trunc(date_start) <= trunc(sysdate) );
Begin
dbms_output.put_line('Directory:'||v_dir);
BEGIN
v_header := 'Employee Number'||CHR(9)
||'Fore Name'||CHR(9)
||'Sur Name'||CHR(9)
||'PPS'||CHR(9)
||'Date of birth'||CHR(9)
||'Gender'||CHR(9)
||'Person Type'||CHR(9)
||'Email Address'||CHR(9)
||'Last Update Date'||CHR(9)
||'Address1'||CHR(9)
||'Address2'||CHR(9)
||'Phone_Number'||CHR(9)
||'Start Date'||CHR(9)
||'Last Day';
v_file_name :='XIR_DATA.xls';
dbms_output.put_line('Excel_file_name:'||v_file_name);
v_data_file :=UTL_FILE.FOPEN(v_dir,v_file_name, 'W');
UTL_FILE.PUT_LINE(v_data_file,v_header);
FOR i IN c1 LOOP
FOR j IN c2 LOOP
FOR k IN c3 LOOP
FOR m IN c4 LOOP
dbms_output.put_line(' excel file loop ');
v_record:=i.emp_num||CHR(9)
||i.f_name||CHR(9)
||i.l_name||CHR(9)
||i.nat_id||CHR(9)
||i.dat_birth||CHR(9)
||i.sex_g||CHR(9)
||i.per_type||CHR(9)
||i.email_id||CHR(9)
||i.last_upd_date||CHR(9)
|| j.address_line1||CHR(9)
||j.address_line2||CHR(9)
||k.pnum||CHR(9)
||m.start_date||CHR(9)
||m.last_day;
UTL_FILE.PUT_LINE(v_data_file,v_record);
END LOOP;
END LOOP;
END LOOP;
END LOOP;
UTL_FILE.FCLOSE(v_data_file);
dbms_output.put_line(' close excel file');
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('unable to create data excel file in proc1'||SUBSTR(SQLERRM,1,25));
END;
end get_person_information;
END xxper_payroll_xir_pkg;
EE Number Forename Surname Dept effective Start Date_dept Start Date Leave Date effective Start Date_leave_Dt Date of Birth Address1
Thanks
Edited by: 981527 on Feb 12, 2013 5:59 AM
Edited by: 981527 on Feb 12, 2013 6:05 AMDid you make sure that the queries are returning values in the first place? From the last few lines, it looks like you have the header written to the file. Is that correct?
-Karthik -
Merging of flat files based on some value in the file.
Hi all,
I have one requirment in which I need to pick some flat files(Let say N number of files).
Third row in each file, needs to be read and all files having same value in 3rd row needs to be merged in single file.
There should be as many output files as many different values at row 3rd in all files.
All the files having unique 3rd row value, will be having sequence number in 4th row. While merging we need to take care of the sequence number and need to be merged based on sequence number.
All the files need to be placed at some FTP location
Thanks
Jaithanks for ur response Raj.
My input files don't have any fixed length or structure.. So It is not possible to write FCC.
Can you please explain your point in detais
My approach is to store the files at some intermediate location and go with two interfaces.
If you have any other idea please let me know.
Thanks
Jai -
Value Maps for Collections in Archiver missing some fields
Hi all,
I'm using Archiver and I need to map some of my folder metadata like the profile trigger but when I'm at the "Edit Value Maps" to map the old value to the new value for this field I find that the field I want is missing (in fact all fields that start with ColMeta. are missing.. something tells me these are the fields that are custom).
It does not let me do a custom query either! is there any way I can get this to work?
This field does appear for Content tho, it's just for folder/project metadata.
I'm looking into doing a "Field Map" from ColMeta.xProfileTrigger to some field available and then use that field for the value map but I'm not sure of the implications this will have in the field I choose since those others are fields used for something else and I don't want my mapping going to that other field.
Thanks for any help,
malkyWell nevermind I solved it, but I'll say how in case someone has the same problem:
Just create the archive with any field, then go and replace that field with the one you want everywhere in the archive.hda file.
If someone has a more elegant or better way to do this I'd like to hear it for future reference.
Cheers, -
Sender File FCC - Key Field Value not available in file
Hi All,
I am new to SAP PI. I am working on Sender FCC. Below is the source file structure. I need to handle multiple sub structures Header,1Data,*. I think I have to use Key.field Name and Value. But in the below format we don't have any indicator to identify which is header and which is data record. Please suggest how to processed.
Header Record (Pipe delimited) (Cardinality 1:1)
Date
Invoice Number
Total Amount
Company Name
Data Records (Fixed Length) (Cardinality 1:n)
Date
Amount
Country
Card Number
etc...
Sample File Snippet:
20100430|4123451810|218.50|CC
20100430 $150.00 INDIA 1234567
20100430 $150.00 INDIA 1234567
20100430 $150.00 INDIA 1234567
20100430 $150.00 INDIA 1234567Hi
Try using the below parameters in FCC
Header.fieldSeparator |
Header.endSeparator 'nl'
Data.fieldFixedLengths ur values --3,5,5..
Data.endSeparator 'nl'
Regards
Ramg
Edited by: Ramkumar Ganesh on May 24, 2010 4:05 AM -
File receiver : blank line at end of file
Dear friends,
we are using file receiver with file content conversion , tp : FTP
The file has a flat structure & fixed length (no delimiters) :
reordset parameters used- fieldFixedLengths
each record is in a different line, but at the end of the records a blank line is inserted.
(no endSeparator is used.)
Can you pls advise hot to get rid of this extra blank lineHi Datta,
I am not sure but you can try with follwing parameters...
NameA.fixedLengthTooShortHandling Specify how you want the system to respond when column widths in the actual document exceed those defined in NameA.fieldFixedLengths. The following values are permitted:
· Error
Error means that processing of the document is terminated.
· Cut
Cut means that a value is shortened to the maximum permitted length.
· Ignore
Ignore means that the system applies the value completely, regardless of it being too long. Subsequent columns are moved correspondingly.
U can use ignore in your case.
For more info. plz check
http://help.sap.com/saphelp_nw04/helpdata/en/d2/bab440c97f3716e10000000a155106/frameset.htm
Regards
Sachin -
PDF files missing and leaving AA and AAA files???
I'm working from a Mac OSX 10.5.8 and using Adobe Acrobat Pro 9.
I have pdfs on a server that are reviewed by people with Acrobat Reader and every now and then when someone saves changes, the pdf will go missing leaving a file like "aaa01744" or "aab04284" in its place which opens in Terminal when clicked on.
What's the error here, and is there anyway to open the "aa" type of files?Hi risscand,
Are you still facing this issue or your issue has been resolved?
Regards,
Rahul -
Key Field Value in Sender File Adapter
Hi,
I am having a File>XI>File scenerio.
The incoming file is having a fixed length content and is coming in as a single Header and multiple Line Item records. The single header is the first record and the rest are line item.
The problem is that we do not have a keyfield, for the header as well as the Item records.
Is there any possible configuration that I can do to still read the file; without specifying the parameters, xml.header.keyFieldName & xml.Header.keyFieldValue for the header and xml.Item.keyFieldName & xml.Item.keyFieldValue for the Item structures in which I would like to read my data.
I am curretly using SP12.
Regards,
AnshulHi Mohan,
The Source File is coming like below:
121000248 xyz 20051215120158
9600193091 1000000 1000000 JEN'S TEST 9600193091 1000001 1000001
9600193091 1000002 1000002 HSI METAL 9600193091 1000003 1000003
First record will always be a header and the rest of the records will be Item records.
Note: There will always be one header in the File.
The problem is that we do not have a keyfield, for the header as well as the Item records
Is there any possible configuration that I can do to still read the file; without specifying the parameters, xml.header.keyFieldName & xml.Header.keyFieldValue for the header and xml.Item.keyFieldName & xml.Item.keyFieldValue for the Item structures in which I would like to read my data.
Data type Structure is like :
<b>Header</b>
bankl
name
<b>Item</b>
AcountNo
CheckNo
Payee
If you need further clarification please do let me know. -
Populating a PDF file with Database Field values - URGENT PLEASE REPLY
I have a requirement where in I hae PDF files as templates. The data for these templates is the database.
Example : a.pdf
Name :
Database table : name varchar(20)
What I want to do is read this PDF template and populate the Name with the value in the table.
Any Ideas on how to do this. Pointers/Source code would be appreciated. Hve been scrambling my head for quite a while without any lucknot a portal question..
u will need some pdf library / api - such as itext, etc
Maybe you are looking for
-
How can I get back an itunes gift code redeemed by the same gifting account?
I gifted an aplication that I already owned to mi mail so I could resend it as needed to someone else. I tried right clicking in the redeem button to get the code but instead it opened itunes and automaticaly started downloading the app even wen I al
-
Iphone 5 during calls I hear my own voice back to me and then call ends. Can anyone help?
-
StageDisplayState.FULL_SCREEN_INTERACTIVE failing
I'm having some issues with the fullscreen mode in AIR and hopefully you guys can point me in the right direction. Our application is a pure actionscript project that's published as an AIR file. When the app starts it should jump into full screen mod
-
Oracle BI Web Services "SecurityServices.createAccount" Failure
I am attempting to create a script to add potentially 1200 accounts to our BI presentation server. If this is not the best method for doing this please suggest something else. I am trying to use the Webservice interface to call the securityservices.c
-
Multitasking causing internet apps to not run
I have had this happen at least 3 times to me on the iphone 4. The most recent was last night. I was using the Facebook app after the recent update to allow fast user switching. I was on wifi. Everything was going fine loading profiles, pics, etc, bu