write .csv file to folder
- omeja
- Topic Author
- Visitor
-
13 years 9 months ago #8885
by omeja
write .csv file to folder was created by omeja
Hi all,
Im trying to read fields from Ft transactions with commision.type eq nssfcom and to write them to a folder in .csv format but i get the error below. Find the routine at the end. Itis attached to the version for FT
0049 DEBUG
jBASE debugger->C
Invalid or uninitialised variable -- NULL USED ,
Var Y.COMPANY , Line 80 , Source TB.NSSF.TRANS.FILE
Invalid or uninitialised variable -- NULL USED ,
Var Y.NSSF.NO , Line 80 , Source TB.NSSF.TRANS.FILE
Invalid or uninitialised variable -- NULL USED ,
Var Y.CONTRIB.MONTH , Line 80 , Source TB.NSSF.TRANS.FILE
Invalid or uninitialised variable -- NULL USED ,
Var Y.CONTRIB.YEAR , Line 80 , Source TB.NSSF.TRANS.FILE
Invalid or uninitialised variable -- NULL USED ,
Var Y.PAID.AMNT , Line 85 , Source TB.NSSF.TRANS.FILE
Invalid or uninitialised variable -- NULL USED ,
Var Y.PAY.DATE , Line 85 , Source TB.NSSF.TRANS.FILE
** Error [ NOT_FILE_VAR ] **
Variable is not an opened file descriptor ,
Var (UNKNOWN) , Line 88 , Source TB.NSSF.TRANS.FILE
Trap from an error message, error message name = NOT_FILE
0088 WRITE Y.REC TO OUT.FILE
jBASE debugger->
routine
*
*
* <Rating>269</Rating>
*
SUBROUTINE TB.NSSF.TRANS.FILE
*
*
*
$INSERT I_COMMON
$INSERT I_EQUATE
$INSERT I_F.FUNDS.TRANSFER
$INSERT BP I_F.TAB.H.NSSF.PARAM1
GOSUB OPENFILE
GOSUB PROCESS
RETURN
*********
OPENFILE:
*********
FN.NSSF.PAR = 'F.EB.TAB.H.NSSF.PARAM1'
F.NSSF.PAR = ''
CALL OPF(FN.NSSF.PAR,F.NSSF.PAR)
FN.INFO = 'F.EB.TAB.H.NSSF.PRN.DETS'
F.INFO = ''
CALL OPF(FN.INFO,F.INFO)
CUS.COMPANY.POS = ''
CALL GET.LOC.REF('FUNDS.TRANSFER','COMPANY.NAME',CUS.COMPANY.POS)
CUS.NSSF.POS = ''
CALL GET.LOC.REF('FUNDS.TRANSFER','NSSF.NO',CUS.NSSF.POS)
PAYMENT.AMT.POS = ''
CALL GET.LOC.REF('FUNDS.TRANSFER','NSSF.PAY.AMT',PAYMENT.AMT.POS)
YEAR.POS = ''
CALL GET.LOC.REF('FUNDS.TRANSFER','CONTRIB.YEAR',YEAR.POS)
MONTH.POS = ''
CALL GET.LOC.REF('FUNDS.TRANSFER','CONTRIB.MONTH',MONTH.POS)
RETURN
********
PROCESS:
********
DEBUG
IF APPLICATION = 'FUNDS.TRANSFER' THEN
Y.COM = R.NEW(FT.COMMISSION.TYPE)
IF Y.COM = 'NSSFCOM' THEN
Y.COMPANY = R.NEW(FT.LOCAL.REF)<1,CUS.COMPANY.POS>
Y.NSSF.NO = R.NEW(FT.LOCAL.REF)<1,CUS.NSSF.POS>
Y.NSSF.AMT = R.NEW(FT.LOCAL.REF)<1,PAYMENT.AMT.POS>
Y.CONTRIB.YEAR = R.NEW(FT.LOCAL.REF)<1,YEAR.POS>
Y.CONTRIB.MONTH = R.NEW(FT.LOCAL.REF)<1,MONTH.POS>
Y.PAID.AMNT = R.NEW(FT.DEBIT.AMOUNT)
IF Y.PAID.AMNT = '' THEN
Y.PAID.AMNT = R.NEW(FT.CREDIT.AMOUNT)
END
Y.PAY.DATE = R.NEW(FT.DEBIT.VALUE.DATE)
Y.FT.REF = ID.NEW
END
END
Y.ID = 'SYSTEM'
CALL F.READ(FN.NSSF.PAR,Y.ID,R.NSSF.PAR.REC,F.NSSF.PAR,PAR.ERR)
IF PAR.ERR <> '' THEN RETURN
Y.PATH.OUT = R.NSSF.PAR.REC<EB.TAB58.OUT.PATH >
Y.FT.REF = ID.NEW:'.csv'
*
Y.FILE.ID = Y.COMPANY:'/':Y.NSSF.NO :'/':Y.CONTRIB.MONTH::Y.CONTRIB.YEAR:'/':Y.FT.REF
*Open, writing and closing the file.
OPENSEQ Y.PATH.OUT:Y.FILE.ID TO OUT.FILE ELSE CREATE OUT.FILE ELSE PRINT 'CANNOT OPEN'
Y.REC = Y.COMPANY:',':Y.NSSF.NO:',':Y.PAID.AMNT:',':Y.CONTRIB.YEAR:',':Y.CONTRIB.MONTH:',': Y.PAY.DATE:',':Y.FT.REF
*
*
WRITE Y.REC TO OUT.FILE
RETURN
CLOSESEQ OUT.FILE
RETURN
END ;*DONE
Im trying to read fields from Ft transactions with commision.type eq nssfcom and to write them to a folder in .csv format but i get the error below. Find the routine at the end. Itis attached to the version for FT
0049 DEBUG
jBASE debugger->C
Invalid or uninitialised variable -- NULL USED ,
Var Y.COMPANY , Line 80 , Source TB.NSSF.TRANS.FILE
Invalid or uninitialised variable -- NULL USED ,
Var Y.NSSF.NO , Line 80 , Source TB.NSSF.TRANS.FILE
Invalid or uninitialised variable -- NULL USED ,
Var Y.CONTRIB.MONTH , Line 80 , Source TB.NSSF.TRANS.FILE
Invalid or uninitialised variable -- NULL USED ,
Var Y.CONTRIB.YEAR , Line 80 , Source TB.NSSF.TRANS.FILE
Invalid or uninitialised variable -- NULL USED ,
Var Y.PAID.AMNT , Line 85 , Source TB.NSSF.TRANS.FILE
Invalid or uninitialised variable -- NULL USED ,
Var Y.PAY.DATE , Line 85 , Source TB.NSSF.TRANS.FILE
** Error [ NOT_FILE_VAR ] **
Variable is not an opened file descriptor ,
Var (UNKNOWN) , Line 88 , Source TB.NSSF.TRANS.FILE
Trap from an error message, error message name = NOT_FILE
0088 WRITE Y.REC TO OUT.FILE
jBASE debugger->
routine
*
*
* <Rating>269</Rating>
*
SUBROUTINE TB.NSSF.TRANS.FILE
*
*
*
$INSERT I_COMMON
$INSERT I_EQUATE
$INSERT I_F.FUNDS.TRANSFER
$INSERT BP I_F.TAB.H.NSSF.PARAM1
GOSUB OPENFILE
GOSUB PROCESS
RETURN
*********
OPENFILE:
*********
FN.NSSF.PAR = 'F.EB.TAB.H.NSSF.PARAM1'
F.NSSF.PAR = ''
CALL OPF(FN.NSSF.PAR,F.NSSF.PAR)
FN.INFO = 'F.EB.TAB.H.NSSF.PRN.DETS'
F.INFO = ''
CALL OPF(FN.INFO,F.INFO)
CUS.COMPANY.POS = ''
CALL GET.LOC.REF('FUNDS.TRANSFER','COMPANY.NAME',CUS.COMPANY.POS)
CUS.NSSF.POS = ''
CALL GET.LOC.REF('FUNDS.TRANSFER','NSSF.NO',CUS.NSSF.POS)
PAYMENT.AMT.POS = ''
CALL GET.LOC.REF('FUNDS.TRANSFER','NSSF.PAY.AMT',PAYMENT.AMT.POS)
YEAR.POS = ''
CALL GET.LOC.REF('FUNDS.TRANSFER','CONTRIB.YEAR',YEAR.POS)
MONTH.POS = ''
CALL GET.LOC.REF('FUNDS.TRANSFER','CONTRIB.MONTH',MONTH.POS)
RETURN
********
PROCESS:
********
DEBUG
IF APPLICATION = 'FUNDS.TRANSFER' THEN
Y.COM = R.NEW(FT.COMMISSION.TYPE)
IF Y.COM = 'NSSFCOM' THEN
Y.COMPANY = R.NEW(FT.LOCAL.REF)<1,CUS.COMPANY.POS>
Y.NSSF.NO = R.NEW(FT.LOCAL.REF)<1,CUS.NSSF.POS>
Y.NSSF.AMT = R.NEW(FT.LOCAL.REF)<1,PAYMENT.AMT.POS>
Y.CONTRIB.YEAR = R.NEW(FT.LOCAL.REF)<1,YEAR.POS>
Y.CONTRIB.MONTH = R.NEW(FT.LOCAL.REF)<1,MONTH.POS>
Y.PAID.AMNT = R.NEW(FT.DEBIT.AMOUNT)
IF Y.PAID.AMNT = '' THEN
Y.PAID.AMNT = R.NEW(FT.CREDIT.AMOUNT)
END
Y.PAY.DATE = R.NEW(FT.DEBIT.VALUE.DATE)
Y.FT.REF = ID.NEW
END
END
Y.ID = 'SYSTEM'
CALL F.READ(FN.NSSF.PAR,Y.ID,R.NSSF.PAR.REC,F.NSSF.PAR,PAR.ERR)
IF PAR.ERR <> '' THEN RETURN
Y.PATH.OUT = R.NSSF.PAR.REC<EB.TAB58.OUT.PATH >
Y.FT.REF = ID.NEW:'.csv'
*
Y.FILE.ID = Y.COMPANY:'/':Y.NSSF.NO :'/':Y.CONTRIB.MONTH::Y.CONTRIB.YEAR:'/':Y.FT.REF
*Open, writing and closing the file.
OPENSEQ Y.PATH.OUT:Y.FILE.ID TO OUT.FILE ELSE CREATE OUT.FILE ELSE PRINT 'CANNOT OPEN'
Y.REC = Y.COMPANY:',':Y.NSSF.NO:',':Y.PAID.AMNT:',':Y.CONTRIB.YEAR:',':Y.CONTRIB.MONTH:',': Y.PAY.DATE:',':Y.FT.REF
*
*
WRITE Y.REC TO OUT.FILE
RETURN
CLOSESEQ OUT.FILE
RETURN
END ;*DONE
Please Log in or Create an account to join the conversation.
- jpb
-
- Offline
- Moderator
-
- retired . . . ¯\_(ツ)_/¯
Less
More
- Posts: 2859
- Thank you received: 650
13 years 9 months ago - 13 years 9 months ago #8887
by jpb
Replied by jpb on topic Re: write .csv file to folder
1. Do the WRITE only inside IF Y.COM = 'NSSFCOM' to avoid NULL.USED etc. (move END for the IF to end of routine)
2. Have a look at OPENSEQ command - shouldn't you use LOCKED ?
3. writing to a sequential file should be done with WRITESEQ (and maybe APPEND)
4. The CLOSESEQ is never executed
2. Have a look at OPENSEQ command - shouldn't you use LOCKED ?
3. writing to a sequential file should be done with WRITESEQ (and maybe APPEND)
4. The CLOSESEQ is never executed
Last edit: 13 years 9 months ago by jpb.
Please Log in or Create an account to join the conversation.
Time to create page: 0.037 seconds