Listing 4

#

database cardfile

main
    define label_rec record like contact.*
    define filehandle integer
    define err_code   smallint
    define buffer     char(256)
    define filename   char(80)
    define max_val    smallint

    display "Labels v1.00a -- (c) Victor R. Volkman"
    call fgl_max(4,2,1,3) returning max_val
    display "max value was ",max_val
    let filename = "labels.prn"
    call FGL_fopen(filename,"w") returning filehandle

    declare label_cur cursor for
       select * from contact
             order by last_name, first_name

    foreach label_cur into label_rec.*
       let buffer = "\n", label_rec.first_name clipped, " ",
            label_rec.last_name
        CALL FGL_fputs(buffer,filehandle) returning err_code
        let buffer = label_rec.address
        CALL FGL_fputs(buffer,filehandle) returning err_code
        let buffer = label_rec.city clipped, "",label_rec.state clipped,
            " ", label_rec.zip, "\n\n"
        CALL FGL_fputs(buffer,filehandle) returning err_code
    end foreach
    CALL FGL_fclose(filehandle)

end main