Sie sind auf Seite 1von 4

This is a sample file uploaded for everything

SUBROUTINE CBOS.MIG.CUST

**********************************
$INSERT I_COMMON
$INSERT I_EQUATE
$INSERT I_F.CUSTOMER
**********************************
* This Mainline Routine reads a csv file and creates the Customers on T24
*

GOSUB INITIALIZE
GOSUB PROCESS.REC
RETURN

***********
INITIALIZE:
***********

FN.CUSTOMER = "F.CUSTOMER"
F.CUSTOMER = ""
CALL OPF(FN.CUSTOMER, F.CUSTOMER)

FN.DATA.BP = "./MIG.DATA.BP"
F.DATA.BP = ""
CALL OPF(FN.DATA.BP, F.DATA.BP)

PRINT "PLEASE ENTER FILE NAME : "


* FILE.ID = "CBOS.BANKS.csv"
INPUT FILENAME
FILE.ID = FILENAME
R.DATA = ""
CALL F.READ(FN.DATA.BP, FILE.ID, R.DATA, F.DATA.BP, DATA.ER)
IF DATA.ER THEN
RETURN
END

* Account Officer
PRINT "PLEASE ENTER DAO CODE: "
INPUT DAO.CODE

* Sector
PRINT "PLEASE ENTER SECTOR CODE: "
INPUT SECTOR.CODE

* Industry
PRINT "PLEASE ENTER INDUSTRY CODE: "
INPUT INDUSTRY.CODE

* Target
PRINT "PLEASE ENTER TARGET CODE: "
INPUT TARGET.CODE
APP.NAME = "CUSTOMER"
OFFUNCT = "I"
PROCESS = "PROCESS"
OFSVERSION = "CUSTOMER,CBOS.MIG.AUTH"
GTSMODE = 1
NO.OF.AUTH = 0
OFS.SOURCE.ID = "DM.OFS.SRC"
RETURN

************
PROCESS.REC:
************

EXECUTE "COMO ON CUS.UPLOAD"

CUS.CNT = DCOUNT(R.DATA,FM)
FOR I = 1 TO CUS.CNT
* DEBUG
PRINT @(10,12) :"Processing Record ":I:" Of ":CUS.CNT
RECORD = ""
NEXT.CUS.ID = ""
CUS.ID = ""
GOSUB GET.NEXT.CUS.ID
CUS.ID = NEXT.CUS.ID

CUS.REC = R.DATA<I>
RECORD<EB.CUS.MNEMONIC> = "CUS":CUS.ID
CUS.NAME.ARRAY = FIELD(CUS.REC,",",2)

IF LEN(CUS.NAME.ARRAY) LE 35 THEN
RECORD<EB.CUS.SHORT.NAME,1> = CUS.NAME.ARRAY
RECORD<EB.CUS.NAME.1,1> = CUS.NAME.ARRAY
END
IF LEN(CUS.NAME.ARRAY) GT 35 THEN
SPACE.CNT = DCOUNT(CUS.NAME.ARRAY," ")
RECORD<EB.CUS.SHORT.NAME,1> = FIELD(CUS.NAME.ARRAY," ",1,SPACE.CNT-1)
RECORD<EB.CUS.NAME.1,1> = FIELD(CUS.NAME.ARRAY,"
",1,SPACE.CNT-1)
RECORD<EB.CUS.NAME.2> = FIELD(CUS.NAME.ARRAY,"
",SPACE.CNT,1)
END

* APPL = 'CUSTOMER'
* FIELDNAME = 'LEGACY.ACCT.NO'
* POS = ''
* CALL GET.LOC.REF(APPL,FIELDNAME,POS)
* RECORD<EB.CUS.LOCAL.REF,POS> = FIELD(CUS.REC,",",1)

RECORD<EB.CUS.STREET,1> = "Mogadishu"
RECORD<EB.CUS.TOWN.COUNTRY> = "Somalia"
RECORD<EB.CUS.NATIONALITY> = "SO"
RECORD<EB.CUS.CUSTOMER.STATUS> = "9999"
RECORD<EB.CUS.RESIDENCE> = "SO"
RECORD<EB.CUS.LANGUAGE> = 1

*------------------------------------------------
* RECORD<EB.CUS.ACCOUNT.OFFICER> = 1
* RECORD<EB.CUS.SECTOR> = FIELD(CUS.REC,",",7)
* RECORD<EB.CUS.INDUSTRY> = FIELD(CUS.REC,",",8)
* RECORD<EB.CUS.TARGET> = FIELD(CUS.REC,",",9)

IF LEN(DAO.CODE) LT 1 THEN
RECORD<EB.CUS.ACCOUNT.OFFICER> = 1
END
IF LEN(DAO.CODE) GE 1 THEN
RECORD<EB.CUS.ACCOUNT.OFFICER> = DAO.CODE
END

IF LEN(SECTOR.CODE) LE 2 THEN
RECORD<EB.CUS.SECTOR> = FIELD(CUS.REC,",",7)
END
IF LEN(SECTOR.CODE) GT 2 THEN
RECORD<EB.CUS.SECTOR> = SECTOR.CODE
END

IF LEN(INDUSTRY.CODE) LE 1 THEN
RECORD<EB.CUS.INDUSTRY> = FIELD(CUS.REC,",",8)
END
IF LEN(INDUSTRY.CODE) GT 1 THEN
RECORD<EB.CUS.INDUSTRY> = INDUSTRY.CODE
END

IF LEN(TARGET.CODE) LT 1 THEN
RECORD<EB.CUS.TARGET> = FIELD(CUS.REC,",",9)
END
IF LEN(TARGET.CODE) GE 1 THEN
RECORD<EB.CUS.TARGET> = TARGET.CODE
END

GENDERX = FIELD(CUS.REC,",",11)
IF LEN(GENDERX) GT 3 THEN
RECORD<EB.CUS.GENDER> = FIELD(CUS.REC,",",11)
END

*---------------------------------------------------------------
* IF FILE.ID EQ "CBOS.MPS.csv" THEN
* RECORD<EB.CUS.GENDER> = FIELD(CUS.REC,",",13)
* END

OFSRECORD = ""
CALL OFS.BUILD.RECORD(APP.NAME, OFFUNCT, PROCESS, OFSVERSION, GTSMODE,
NO.OF.AUTH, CUS.ID, RECORD, OFSRECORD)
CALL OFS.GLOBUS.MANAGER(OFS.SOURCE.ID, OFSRECORD)
NEXT I

EXECUTE "COMO OFF CUS.UPLOAD"


PRINT "UPLOAD COMPLETED"
RETURN

****************
GET.NEXT.CUS.ID:
****************

SAVE.APPLICATION = APPLICATION
SAVE.V.FUNCTION = V$FUNCTION
SAVE.ID.F = ID.F
SAVE.ID.T = ID.T
SAVE.ID.T.4 = ID.T<4>
SAVE.ID.N = ID.N
SAVE.ID.CONCATFILE = ID.CONCATFILE
SAVE.ID.NEW = ID.NEW
SAVE.LIVE.RECORD.MANDATORY = LIVE.RECORD.MANDATORY
SAVE.PGM.TYPE = PGM.TYPE
SAVE.FULL.FNAME = FULL.FNAME
SAVE.COMI = COMI

APPLICATION = 'CUSTOMER'
V$FUNCTION = 'I'
ID.F = "LIST.ID"
ID.T = 'A'
ID.T<4> = "####/#####/#####"
ID.N = '14'
ID.CONCATFILE = ''
ID.NEW = ''
LIVE.RECORD.MANDATORY = 0
PGM.TYPE = 'L.IDO'
FULL.FNAME = FN.CUSTOMER
COMI = ''
Y.TYPE = 'F' ; Y.BASEID = ''
CALL GET.NEXT.ID(Y.BASEID, Y.TYPE)
NEXT.CUS.ID = COMI

APPLICATION = SAVE.APPLICATION
V$FUNCTION = SAVE.V.FUNCTION
ID.F = SAVE.ID.F
ID.T = SAVE.ID.T
ID.T<4> = SAVE.ID.T.4
ID.N = SAVE.ID.N
ID.CONCATFILE = SAVE.ID.CONCATFILE
ID.NEW = SAVE.ID.NEW
LIVE.RECORD.MANDATORY = SAVE.LIVE.RECORD.MANDATORY
PGM.TYPE = SAVE.PGM.TYPE
FULL.FNAME = SAVE.FULL.FNAME
COMI = SAVE.COMI
RETURN
END

Das könnte Ihnen auch gefallen