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 Mittal

    Hi,
    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 AM

    I 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 AM

    Did 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
    Jai

    thanks 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,
    malky

    Well 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       1234567

    Hi
    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 line

    Hi 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,
    Anshul

    Hi 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 luck

    not a portal question..
    u will need some pdf library / api - such as itext, etc

Maybe you are looking for