0 Replies Latest reply: Jan 24, 2013 4:53 AM by StoneDX RSS

    Stop Import if condition is not set

    StoneDX
      Hi all,

      I would like to check if content of the file I want to import is similar to POV selection.
      To do thaht I created a BefImport script that read the first line of my file and check Period and Category POV with date and category values on my file.
      It work well, an error is displayed but the import still continue and finish successfully.
      What I want is to block that import, so user must change POV to correctly import his file.

      You can find below the script I use. Could anyone tell me what I have to add to block import ?

      Dim fso, fs, s, objFilePath
      Dim InboxPath
      Dim strCodeMois, strLibMois, strAnnee, strLibPeriode
      Dim lngProcessType
      Dim blnProcessState
      Dim strProcessMsg

      '******************************************************************
      '************************ Initialisation **************************
      '******************************************************************

      'Initialisation des états de flux FDM
      lngProcessType = 1 '(See enmProcessType)
      blnProcessState = 0 'False = Process Failed, True = Process Complete
      strProcessMsg = "Erreur a l'import"     'Text Message for the process

      InboxPath = DW.Connection.PstrDirInbox & "\"

      '******************************************************************
      '********* Gestion avant import du ficher SILTIME-SOLEDAD *********
      '******************************************************************

      If strLoc = "SILTIME-SOLEDAD" Then

      FilePath = InboxPath & strFile
      Set fso = CreateObject("Scripting.FileSystemObject")
      If fso.FileExists(FilePath) Then

      '*** Ouverture du fichier a importer ***
      Set fs = fso.OpenTextFile(FilePath,1)

      '*** Lecture de la deuxième ligne ***
      fs.SkipLine
      s = fs.ReadLine

      '*** Récupération de la période ***
      strCodeMois = Right(DW.Utilities.fParseString (s, 24, 1, ";"),2)
      Select Case strCodeMois
      Case "01" : strLibMois = "Jan"
      Case "02" : strLibMois = "Fev"
      Case "03" : strLibMois = "Mar"
      Case "04" : strLibMois = "Avr"
      Case "05" : strLibMois = "Mai"
      Case "06" : strLibMois = "Jun"
      Case "07" : strLibMois = "Jul"
      Case "08" : strLibMois = "Aou"
      Case "09" : strLibMois = "Sep"
      Case "10" : strLibMois = "Oct"
      Case "11" : strLibMois = "Nov"
      Case "12" : strLibMois = "Dec"
      Case Else : strLibMois = ""
      End Select

      strAnnee = Left(DW.Utilities.fParseString (s, 24, 1, ";"),4)
      strLibPeriode = strLibMois & " - " & strAnnee

      '*** Fermeture du fichier a importer ***
      fs.Close

      '*** Controle de la période du fichier avec la PERIOD du POV ***
      If strLibPeriode <> strPer Then
      '*** Erreur sur la période de chargement ***
      RES.PlngActionType = 6
      RES.PstrActionValue = "La période du fichier de chargement : " & strLibPeriode & " et le point de vue de chargement : " & RES.PstrPer &" doivent être identiques"
      API.MaintenanceMgr.mProcessLog API.POVMgr.PPOVLocation, API.POVMgr.PPOVCategory, API.POVMgr.PPOVPeriod, CLng(2), CLng(False), CStr("Import cancelled"), Now()
      Exit Sub

      '*** Controle de la CATEGORIE du POV ***
      ElseIf strCat <> "RM" Then
      '*** Erreur sur la catégorie sélectionnée ***
      RES.PlngActionType = 6
      RES.PstrActionValue = "Le fichier SILTIME-SOLEDAD doit être chargé sur le scénario RM." & vbcrlf & "Veuillez sélectionner cette catégorie dans le Point De Vue."
      API.MaintenanceMgr.mProcessLog API.POVMgr.PPOVLocation, API.POVMgr.PPOVCategory, API.POVMgr.PPOVPeriod, CLng(2), CLng(False), CStr("Import cancelled"), Now()
      Exit Sub

      End If



      Else
      RES.PlngActionType = 6
      RES.PstrActionValue = "Le fichier est introuvable"
      End If

      End If

      End Sub

      Thank you in advance
      Sébastien