Hi Claudine,
Here is an example of using the sample RRBYW19 database that demonstrates
the use of SFIL, SPUT, WRITE, FORMAT, APPEND commands to create fixed-field
plain text file.
Save this code as a command file in c:\RBTI\RBGXE\Samples\RRBYW19\ and then
just RUN that command.
Take a close look at the resulting RRBYW19_FixedFieldFile.txt file. Wow!!!!
Hope that helps you understand the technique and what you are trying to
accomplish.
Please feel free to modify and adapt to your situation as you see fit.
Very Best R:egards,
Razzak
-- Start here
-- SFIL_And_SPUT_Commands_To_Create_Fixed_Field_Text_File.rmd
-- Author: A. Razzak Memon
-- Date Created: February 19, 2018
-- Last Updated:
-- Check Database Connection
IF (CVAL('DATABASE')) <> 'RRBYW19' OR (CVAL('DATABASE')) IS NULL THEN
CONNECT RRBYW19 IDENTIFIED BY NONE
ENDIF
-- Pre-Define All Variables
SET VAR vOutputFileName TEXT = 'RRBYW19_FixedFieldFile.txt'
SET VAR vWrite TEXT = NULL
SET VAR vTransID INTEGER = NULL
SET VAR vCustID INTEGER = NULL
SET VAR vCompany TEXT = NULL
SET VAR vDescription TEXT = NULL
SET VAR vTransDate DATE = NULL
SET VAR vInvoiceTotal CURRENCY = NULL
SET VAR vAmount CURRENCY = NULL
SET VAR vCredit TEXT = 'CREDIT'
-- Create empty file
SET EOFCHAR OFF
OUTPUT .vOutputFileName
OUTPUT SCREEN
SET EOFCHAR ON
-- Create Empty Line
SET VAR vWrite = (SFIL((CHAR(00)),80))
-- Get Data
SET ERROR MESSAGE 705 OFF
DROP CURSOR c1
DECLARE c1 CURSOR FOR SELECT +
TransID,CustID,TransDate,InvoiceTotal FROM InvoiceHeader ORDER BY TransID
OPEN c1
FETCH c1 INTO +
vTransID INDIC iv1, +
vCustID INDIC iv1, +
vTransDate INDIC iv1, +
vInvoiceTotal INDIC iv1
WHILE SQLCODE <> 100 THEN
SELECT Company INTO vCompany INDIC iv1 FROM Customer WHERE CustID
= .vCustID
SET VAR vDescription = ((CTXT(.vCustID))&.vCompany)
SET VAR vAmount = (.vInvoiceTotal*100)
SET VAR vWrite = (SPUT(.vWrite,(CTXT(.vTransID)),1))
SET VAR vWrite = (SPUT(.vWrite,.vDescription,6))
SET VAR vWrite = (SPUT(.vWrite,(CTXT(FORMAT(.vTransDate,'YYMMDD'))),44))
SET VAR vWrite = (SPUT(.vWrite,(CTXT(FORMAT(.vAmount,'00000000000'))),50))
SET VAR vWrite = (SPUT(.vWrite,.vCredit,63))
SET EOFCHAR OFF
OUTPUT .vOutputFileName APPEND
WRITE .vWrite
OUTPUT SCREEN
SET EOFCHAR ON
SET VAR vWrite = (SFIL((CHAR(00)),80))
SET VAR vTransID = NULL
SET VAR vCustID = NULL
SET VAR vCompany = NULL
SET VAR vDescription = NULL
SET VAR vTransDate = NULL
SET VAR vInvoiceTotal = NULL
SET VAR vAmount = NULL
FETCH c1 INTO +
vTransID INDIC iv1, +
vCustID INDIC iv1, +
vTransDate INDIC iv1, +
vInvoiceTotal INDIC iv1
ENDWHILE
DROP CURSOR c1
LAUNCH &vOutputFileName
CLEAR VARIABLES iv%,vOutputFileName,vWrite,vTransID,vCustID,vCompany, +
vDescription,vTransDate,vInvoiceTotal,vAmount,vCredit
RETURN
-- Start here
At 10:54 PM 2/23/2018, Claudine Robbins wrote:
Either I output as ASCII or CSV and I still get those extra quotes and return.
Any idea how I can suppress those?
--
For group guidelines, visit
http://www.rbase.com/support/usersgroup_guidelines.php
---
You received this message because you are subscribed to the Google Groups "RBASE-L" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to rbase-l+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.