1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

Why does field value with space contain a new line when exporting to a text file in Progress...

Discussão em 'StackOverflow' iniciado por fdantas, Dezembro 16, 2014.

  1. fdantas

    fdantas Administrator Moderador

    I am able to export the data to a text file but the formatting in the text file is not good. For example when a filed value has space in it - it contains a new line in the file.

    Sample data: 846438828|10121803||HEIN|KATIE|270||PEBBLE
    CREEK|DR|||usa|GA|30605||7DAY|1|2| 842486060|1012||GUNTER|LEWELL|230||MCDUFFIE|DR|||ATHENS|GA|30605|7065430640|FRI-SUN|1|2| 889388948|101205||WEEKS|J D|183||MELL|ST|||ATHENS|GA|30605|7065481437|SUNONLY|1|2|

    The value of the field streetname "PEBBLE "CREEK but in the report it looks like:

    PEBBLE

    CREEK

    Why does this happen?

    def var v-copies as inte no-undo.
    def var v-phone as char format "x(16)" no-undo.
    def var v-loc as char no-undo.
    def var v-file as char format "x(30)" no-undo.
    def var v-demoid as char format "x(20)" no-undo.
    def var v-email as char format "x(30)" no-undo.
    def var v-hostname as char format "x(20)" no-undo.

    def var v-RouteIDs as char no-undo.
    def var v-Product as char no-undo.
    def var v-ExDir as char format "x(80)" no-undo.
    def var v-LookBack as int no-undo init 90.

    {tools/altpubs/audit/var.i}
    {tools/altpubs/audit/procedures.i}

    def stream sout.

    def temp-table tt-demo
    field entityid as int format ">>>>>>>>>9"
    field answer like DemographicAnswer.Answer.


    v-ConfigFile = search(v-ConfigFile).
    if v-ConfigFile = ? then do:
    message "config file config.csv was not found" view-as alert-box.
    RETURN "ERROR".
    end.

    input from value(v-ConfigFile).
    run ReadConfig.
    input close.

    for each tt-Config where tt-Config.Section = 'local' and
    tt-Config.SectionValue <> ?:
    v-loc = tt-Config.SectionValue.
    case tt-Config.SettingName:
    when 'ExchDir' then v-ExDir = tt-Config.SettingValue.
    when 'Product' then v-Product = tt-Config.SettingValue.
    when 'Routes' then v-RouteIDs = tt-Config.SettingValue.
    when 'LookBack' then
    do:
    v-LookBack = integer(tt-Config.SettingValue) no-error.
    if error-status:error then v-LookBack = 90.
    end.
    end.
    end.

    v-ExDir = v-Exdir + lc(v-loc) + "/".
    file-info:file-name = v-ExDir.
    if not( file-info:file-type begins "D") or file-info:file-type = ? then
    do:
    unix silent makedir value(v-ExDir) && chmod 777 value(v-ExDir).
    file-info:file-name = v-ExDir.
    end.

    assign
    v-File = v-ExDir + lc(v-Product) + "Audit" +
    string(month(today),"99") + "-" +
    string(day(today),"99") + "-" +
    substring(string(year(today),"9999"),3) + ".txt".

    for each DemographicAnswer where DemographicAnswer.DemographicId = v-RouteIDs
    no-lock:
    create tt-demo.
    assign tt-demo.entityid = int(DemographicAnswer.EntityId)
    tt-demo.answer = DemographicAnswer.Answer.
    end.

    output stream sout to value(v-file).

    put stream sout unformatted
    "HEADER B2 " string(today) skip.

    for each tt-demo,
    each Subscription no-lock
    where Product = v-product
    and SubscriptionID = tt-demo.entityid
    and Subscriber = yes
    and Getspaper = yes:

    find last RouteSubscription of Subscription no-lock no-error.
    if available routeSubscription then do:

    for each Occupant of Subscription no-lock,
    each Address of Subscription no-lock:

    find OccupantPhone of Occupant no-lock no-error.
    if available OccupantPhone then
    v-phone = OccupantPhone.AreaCode + OccupantPhone.Phone.
    else
    v-phone = "".

    find last OccupantEmail of Occupant no-lock no-error.
    if available OccupantEmail then
    v-email = OccupantEmail.EmailAddress.
    else
    v-email = "".

    case DeliveryScheduleId:
    when "MON-FRI" then v-copies = RouteSubscription.Copies[2].
    when "FRI-SUN" then v-copies = RouteSubscription.Copies[1].
    when "SUNONLY" then v-copies = RouteSubscription.Copies[1].
    when "7DAY" then v-copies = RouteSubscription.Copies[1].
    when "MON-SAT" then v-copies = RouteSubscription.Copies[2].
    when "THUONLY" then v-copies = RouteSubscription.Copies[5].
    when "WEDONLY" then v-copies = RouteSubscription.Copies[4].
    when "SATSUN" then v-copies = RouteSubscription.Copies[1].
    end case.

    put stream sout unformatted
    tt-demo.Answer "|"
    Subscription.SubscriptionId "|"
    Subscription.Product "|"
    Occupant.LastName "|"
    Occupant.FirstName "|"
    trim( Address.HouseNumber) "|"
    trim(Address.Postdirectional) "|"
    trim(Address.StreetName) "|"
    trim(Address.StreetSuffixId) "|"
    trim(Address.postdirectional) "|"
    trim(Address.UnitDesignatorID + trim(Address.UnitNumber)) "|"
    Address.CityId "|"
    Address.StateId "|"
    Address.ZipCode "|"
    v-phone "|"
    Subscription.DeliveryScheduleId "|"
    v-copies "|"
    "2" "|"
    v-email skip.
    end.
    end.
    end.
    put stream sout unformatted
    "TRAILER ".
    output stream sout close.

    Continue reading...

Compartilhe esta Página