BizModel::list_Init ( code traitement , date )
-------------------------------------------------
; init traitement
1. BizModel::init_traitement ( )
; lit les données statiques
1.1. DAOModel::ReadArticle ( ModelArticle , ModelProduct , nbarticleModel , nbprodModel , productName , transrodModel )
; récupère les code values des stations de la liste
ITERE ' ARTY_CODE ((' 1 '))
[ SELECT ARTY_CODE, ARTY_NAME, ARTY_ISMAIN, ARTY_DEPENDANCE, ARTY_TRANSFERT FROM TARTICLETYPE ORDER BY ARTY_DISPLAYORDER
; init inModelArticle , inModelProduct , articleTransfert , inNbProd , inNbArticleModel , inTransprodModel
<--FIN ITERE
; lit les paramètres d'application
1.2. DAOModel::DAOReadApplicationParams ( ModelArticle , nbarticleModel , defaultTransCosts , defaultCreditCards , ectminModel , ectmaxModel , incoptimModel , defaultDeclumalNum , defaultRound , maxDurationTotalComp )
ITERE ' ARTY_CODE ((' 1 '))
[ SELECT ARTY_CODE, ARTY_DEFAULTTRANSCOSTS, ARTY_DEFAULTCREDITSCARDS FROM TARTICLETYPE ORDER BY ARTY_DISPLAYORDER
; init inDefaultTransCosts , inDefaultCreditsCards
<--FIN ITERE
; request in order to recovery ectmax,incoptim and ectmin variables values
ITERE ' ((' 1 '))
[ SELECT CTY_CODEISO, CTY_TRNS_CODE, CTY_OFFSETMINOPTIM, CTY_OFFSETMAXOPTIM, CTY_OPTIMINCREMENT, CTY_DEFAULTDECIMALNUMBER, CTY_DEFAULTROUND, CTY_OBSOLETEDAYNUMBER FROM TCOUNTRY WHERE CTY_CODEISO = countryCodeIso
; init inEctMinModel , inEctMaxModel , inIncoptimModel , defaultDecimalNum , defaultRound , inMaxDurationTotalComp
<--FIN ITERE
; safeguard of article numprod in attributes ModelArticle board in order to recreate file format of old PAPYRUS version
2. DAOModel::setDAOManagedCommit ( FALSE ) ' create
; this function save the article s numprod indicator in BizModel attribute board :ModelArticle
; it s use to recreate the file format of the old PAPYRUS version in order to test
3. DAOModel::DAOWriteTreatementNumProd ( codetreatment , date , ModelArticle , nbarticle )
BOUCLE i=0->nbarticle-1 ' ((' ? '))
[ DELETE FROM TTREATNUMPROD WHERE TNP_TPS_TRTCODE = codetreatment AND TNP_TPS_STARTDATE = TO_DATE( startdate , 'YYYYMMDDHH24MISS') AND TNP_ARTY_CODE= artycode
REPETE i=0->nbarticle-1 ' ((' 1 '))
[ INSERT INTO TTREATNUMPROD( TNP_TPS_TRTCODE , TNP_TPS_STARTDATE , TNP_ARTY_CODE , TNP_NUMPROD) VALUES ( codetreatment , TO_DATE( startdate , 'YYYYMMDDHH24MISS') , artycode , i )
; initialisation de year et date histo
; lecture of filling stations in delay list
; si nom de liste vide, utilise the filling station's code of inter variable
4. DAOMOdel::DAOReadDelayList ( codetreatment , inter , ModelArticle , nbarticleModel )
ITERE ' ((' 1 '))
[ SELECT TRT_CODE, TRT_LST_NAME, TRT_MSN_STACODE, TO_CHAR(TRT_BEGINDATE, 'YYYYMMDD'), TO_CHAR(TRT_ENDDATE, 'YYYYMMDD'), TRT_NAME, TRT_PREPA, TRT_COMPUTEMARG, TRT_COMPUTEMODEL, TRT_OPTIMMARGE, TRT_DATATYPE, TRT_READHISTO, TRT_SAVEHISTO, TRT_ISCUMUL, TRT_CUMULDATE, TRT_ISPROLONG, TRT_SEARCHLINE, TRT_SEARCHPROXIM, TRT_SEARCHPROXIMCOMPTOR, TRT_COMPUTBESTCOUPLE, TRT_USESEASONCORRECTION, TRT_DISPDATA, TRT_BEGINMONTH, TRT_MONTHNUM, TRT_STOCKEAPDATA, TRT_UPDATERESULTFILE, TRT_SAVERESULT, TRT_SAVEBATCH, TRT_STOCKRESULTEXP, TRT_TYPESEASON, TRT_TYPETREATEMENT FROM TTREATMENT WHERE TRT_CODE = codetreatment
; initialise inter
ITERE ' article ((' 1 '))
[ SELECT TAL_TRT_CODE, TAL_ARTY_CODE, TAL_ROTTERDAM FROM TTREATMENTARTICLELIST WHERE TAL_TRT_CODE = codetreatment
; initialise inter
SI ' inter.optim = 1
ITERE ' ((' ? '))
[ SELECT TTO_TRT_CODE, TTO_GRP_NAME, TTO_GRP_LSTNAME, TTO_COMPTORASSUMP, TTO_COMPUTEROTTERDAM, TTO_TREATMENTTYPE FROM TREATLMENTOPTIM WHERE TTO_TRT_CODE = codetreatment
; init inter
ITERE ' ((' ? '))
[ SELECT TAL_TRT_CODE, TAL_ARTY_CODE, TAL_REFEVOLUTION FROM T_TREATMENTARTICLELIST where TAL_TRT_CODE = codetreatment
; init inter
<--FIN SI
SI ' inter.saison = 1
ITERE ' ((' ? '))
[ SELECT TTS_TRT_CODE, TO_CHAR(TTS_SAFGUARBGDATE, 'YYYYMMDD'), TO_CHAR(TTS_SAFGUARDEDDATE , 'YYYYMMDD'), O_CHAR(TTS_PLAGBEGINDATE_1 , 'YYYYMMDD'), TO_CHAR(TTS_PLAGBEGINDATE_2 , 'YYYYMMDD'),TO_CHAR(TTS_PLAGBEGINDATE_3 , 'YYYYMMDD'), TO_CHAR(TTS_PLAGENDDATE_1 , 'YYYYMMDD'),TO_CHAR(TTS_PLAGENDDATE_2 , 'YYYYMMDD'), TO_CHAR(TTS_PLAGENDDATE_3 , 'YYYYMMDD'), TTS_PLAGTYPE FROM TREATMENTSEASON WHERE TTS_TRT_CODE = :1
; init inter
<--FIN SI
5. DAOModel::DAOReadStaList ( inter.liste , stationboardModel , nbstation )
5.1. DAOList::getPDAOConnectionManager ( ) ' create
5.2. DAOList::selectYearbookListName ( )
ITERE ' ((' 1 '))
[ SELECT LST_NAME FROM TLIST WHERE LST_ISYEARBOOKLIST = IS_YEARBOOKLIST
; init yearbooklistname , nbrecords
SI ' listname = yearbookListName
ITERE ' ((' 172 ? '))
[ SELECT GRP_NAME, listname (ex='MSNL_MSN_STACODE') FROM TMANAGEDSTATIONLIST, TGROUP WHERE MSNL_LST_NAME = GRP_LST_NAME AND MSNL_MSN_STACODE = :1 AND GRP_ISMAINGROUP = 1
; init stationboard.code
SINON
ITERE ' ((' 1 '))
[ SELECT MSNL_LST_NAME, MSNL_MSN_STACODE FROM TMANAGEDSTATIONLIST WHERE MSNL_LST_NAME= tmplistname
; init stationboard.code
6. DAOModel::DAOReadStation ( stationboardModel , nbstation )
; retrouve les données des stations
BOUCLE i=0->nbsta
' ((' 172 '))
[ SELECT STA_CODE, STA_NAME, STA_LONGITUDE, STA_LATITUDE, STA_GEO_CODE FROM TSTATION WHERE STA_CODE = codestation
; init station board
<--FIN BOUCLE
; retrouve les données des groupes de stations
ITERE ' ((' 172 '))
[ SELECT GRP_NAME, MSNL_MSN_STACODE FROM TMANAGEDSTATIONLIST, TGROUP WHERE MSNL_LST_NAME = GRP_LST_NAME AND MSNL_MSN_STACODE = :1 AND GRP_ISMAINGROUP = 1
; init stationboard.groupe
; modifie date selon paramètre
; met à jour selon seasonals : correction des dates
SI ' inter.typesaison = F | P | E | N | S
7. DAOModel::DAOReadSeasonalCorrection ( year , tabcorsai , nbcorsai )
ITERE ' ((' ? '))
[ SELECT TSC_CORRECTIONYEAR, TSC_CORRECTIONTYPE, TSC_CORRECTIONPERIOD, TSC_RANGEORDER, TO_CHAR( TSC_TREATBEGINDATE, 'YYYYMMDD'), TO_CHAR( TSC_TREATENDDATE, 'YYYYMMDD'), TO_CHAR( TSC_CORBEGINDATE, 'YYYYMMDD'), TO_CHAR( TSC_CORENDDATE, 'YYYYMMDD'),TO_CHAR( TSC_PERIODBEGINDATE, 'YYYYMMDD'), TO_CHAR( TSC_PERIODENDDATE, 'YYYYMMDD') FROM TSEASONNALCOR WHERE TSC_CORRECTIONYEAR = :1 AND TSC_TREATBEGINDATE<>TO_DATE ( 88881231, 'YYYYMMDD')
; init board value
; init tabcorsai , inter.deb , inter.fin , inter.debcor , inter.fincor , inter.debsai , inter.finsai , inter.typsai
<--FIN SI
; met à jour inter
; - historique calcul modèle
; initialisation du traitement
8. BizModel::list_InitResul ( codetreatment , date )
; writing s initialization of results in the database
8.1. DAOModel::setDAOManagedCommit ( FALSE ) ' create
SI ' inter.savbatch = 1
8.2. DAOModel::DAOReadDelay ( codetreatment , startdate , currentdelay , nbstation )
' ((' 1 '))
[ SELECT TO_CHAR( TPS_STARTDATE, 'YYYYMMDDHH24MISS'), TO_CHAR(TPS_ENDDATE, 'YYYYMMDDHH24MISS'), TPS_STATUS, TPS_PROGRESS, TRT_PERIODICITY, TRT_TYPETREATEMENT FROM TTREATMENTPROCESS, TTREATMENT WHERE TPS_STARTDATE= TO_DATE(:1, 'YYYYMMDDHH24MISS') AND TPS_TRT_CODE = TRT_CODE AND TPS_TRT_CODE = :2
SI ' indiceDelay = 0
8.3. DAOModel::DAOSavDelay ( codetreatment , currentDelay , nbstation )
' ((' 118 '))
[ SELECT COUNT(*) FROM TTREATMENTPROCESS WHERE TPS_TRT_CODE = :1 AND TPS_STARTDATE = TO_DATE(:2, 'YYYYMMDDHH24MISS')
SI ' count > 0
SI delayModel->fin!=0
' ((' ? '))
[ UPDATE TTREATMENTPROCESS SET F_TPS_STATUS , F_TPS_PROGRESS , F_TPS_EXIT,F_TPS_ENDDATE=TO_DATE(:4, 'YYYYMMDDHH24MISS') WHERE TPS_TRT_CODE=:5 AND TPS_STARTDATE= TO_DATE(:6, 'YYYYMMDDHH24MISS')
SINON
' ((' ? '))
[ UPDATE TTREATMENTPROCESS SET F_TPS_STATUS , F_TPS_PROGRESS , F_TPS_EXIT WHERE TPS_TRT_CODE=:5 AND TPS_STARTDATE= TO_DATE(:6, 'YYYYMMDDHH24MISS')
SINON
SI delayModel->fin!=0
' ((' ? '))
[ INSERT INTO TTREATMENTPROCESS VALUES F_TPS_TRT_CODE=:1,F_TPS_STARTDATE=TO_DATE(:2, 'YYYYMMDDHH24MISS'),F_TPS_STATUS=:3,F_TPS_PROGRESS=:4,F_TPS_EXIT=:5,F_TPS_SIZEINDICATOR=:6,F_TPS_ENDDATE=TO_DATE(:7, 'YYYYMMDDDHH24MISS')
SINON
' ((' ? '))
[ INSERT INTO TTREATMENTPROCESS VALUES F_TPS_TRT_CODE=:1,F_TPS_STARTDATE=TO_DATE(:2, 'YYYYMMDDHH24MISS'),F_TPS_STATUS=:3,F_TPS_PROGRESS=:4,F_TPS_EXIT=:5,F_TPS_SIZEINDICATOR=:6
<--FIN SI
' ((' ? '))
[ UPDATE TTREATMENT SET F_TRT_TYPETREATMENT=:1 WHERE TRT_CODE=:2
<--FIN SI
; following Delay s relaunching in the case of a pre_recorded with regular launching
SI ' inter.savbatch = 1 etalors currentDelay.frequence!=A
8.4. DAOModel::DAOReadNextActivationDate ( codetreatment , currentNextActivDate )
[ SELECT TO_CHAR( TRT_NEXTACTIVDATE, 'YYYYMMDDHH24MISS') FROM TTREATMENT WHERE TRTCODE = treatmentcode
8.5. DAOModel::DAOSavDelayList ( codetreatment , workinter , nextActivDate )
[ UPDATE TTREATMENT SET TRT_BEGINDATE = TO_DATE(:1, 'YYYYMMDD') , TRT_ENDDATE=TO_DATE(:2, 'YYYYMMDD'),TRT_SAVEBATCH=:3,TRT_NEXTACTIVDATE=TO_DATE(:4, 'YYYYMMDDHH24MISS') WHERE TRT_CODE = :5
8.6. DAOModel::DAOSavDelay ( codetreatment , workdDelay , 1 )
...
<--FIN SI
SI ' currentDelay.frequence = A
8.7. DAOModel::DAOReadStartDate ( codetreatment )
' ((' 1 '))
[ SELECT TO_CHAR( TPS_STARTDATE, 'YYYYMMDDHH24MISS') FROM TTREATMENTPROCESS WHERE TPS_TRT_CODE = codetreatment
8.8. DAOModel::DAOSavActivationDate ( codetreatment , startDate )
' ((' ? '))
[ UPDATE TTREATMENT SET TRT_NEXTACTIVDATE=TO_CHAR( :1, 'YYYYMMDDHH24MISS') WHERE TPS_TRT_CODE = codetreatment
<--FIN SI
DAOModel::ManagedCommit ( )
SI ' inter.cumum = 1
9. BizModelFortran::initValueForCumul ( )
10. DAOModel::ManagedCommit ( )