SoftTree Technologies SoftTree Technologies
Technical Support Forums
RegisterSearchFAQMemberlistUsergroupsLog in
Strange PingPort problem

 
Reply to topic    SoftTree Technologies Forum Index » 24x7 Scheduler, Event Server, Automation Suite View previous topic
View next topic
Strange PingPort problem
Author Message
Sidney Broerse



Joined: 11 Mar 2003
Posts: 6

Post Strange PingPort problem Reply with quote

Hi,

I am developing a 24x7 script to download files from an FTP-server (actually an FTP-
connection with a mainframe).
To do this, the script uses a user-defined statement (built by me)
that uses pingport max. two times in a loop to determine if the FTP-connection
is 'alive'. If this is true, it will download some files.

The problem is that everything works just fine in debug mode, but when I
run the main script with 'Run Now' it halts altogether at the PingPort statement.

If I test the statement in another script, which will only determine whether the
files are there, it works fine in both debug mode and run mode.

What is the problem? Am I missing something?


Tue Mar 11, 2003 8:09 am View user's profile Send private message
SysOp
Site Admin


Joined: 26 Nov 2006
Posts: 7964

Post Re: Strange PingPort problem Reply with quote

Turn on the trace option (Tools/Options;Logging;Tracing enabled). Let the job run and heck for additional messages in the trace window and trace files that can shed some light on the problem. If the script hangs please let me know which specific operation causes it to hang.

: Hi,

: I am developing a 24x7 script to download files from an FTP-server (actually
: an FTP-
: connection with a mainframe).
: To do this, the script uses a user-defined statement (built by me)
: that uses pingport max. two times in a loop to determine if the
: FTP-connection
: is 'alive'. If this is true, it will download some files.

: The problem is that everything works just fine in debug mode, but when I
: run the main script with 'Run Now' it halts altogether at the PingPort
: statement.

: If I test the statement in another script, which will only determine whether
: the
: files are there, it works fine in both debug mode and run mode.

: What is the problem? Am I missing something?

Tue Mar 11, 2003 9:06 am View user's profile Send private message
Sidney Broerse



Joined: 11 Mar 2003
Posts: 6

Post Re: Strange PingPort problem Reply with quote

I have tested it already with Tracing enabled and this is what happens:

It reads

PINGPORT
EXECUTING PINGPORT("172.26.1.2","21","false")
Pingport 172.26.1.2:21...
Pinging 172.26.1.2:21Found active port at 172.26.1.2:21, service name: "ftp"

After this, it simply halts and gives control back to the user interface of 24x7
(as if it has finished).

I also tried using PING, which gives the following:

PING
Executing PING("172.26.1.2","false")
PING 172.26.1.2...
Pinging 172.26.1.2
64 bytes from 172.26.1.2: icmp_seq = 0. time: 16 ms
64 bytes from 172.26.1.2: icmp_seq = 1. time: 15 ms
64 bytes from 172.26.1.2: icmp_seq = 2. time: 16 ms

After which the same occurs: it halts as if it is finished.
Trying this with a simple testscript results in a
Return "true" after both the PINGPORT and the PING sequence and a normal execution of the rest
of the script.

The PINGPORT/PING statement is part of a user-defined statement I built.
Calling this statement in the script I'm developing results in the situation
above; calling the statement in a simple testscript results in normal execution.

I tried Pinging the IP-adress in the DOS-prompt, which gave no problems.


Wed Mar 12, 2003 6:21 am View user's profile Send private message
SysOp
Site Admin


Joined: 26 Nov 2006
Posts: 7964

Post Re: Strange PingPort problem Reply with quote

Please post your script.

: I have tested it already with Tracing enabled and this is what happens: It
: reads

: PINGPORT
: EXECUTING PINGPORT("172.26.1.2","21","false")
: Pingport 172.26.1.2:21...
: Pinging 172.26.1.2:21Found active port at 172.26.1.2:21, service name:
: "ftp"

: After this, it simply halts and gives control back to the user interface of
: 24x7
: (as if it has finished).

: I also tried using PING, which gives the following: PING
: Executing PING("172.26.1.2","false")
: PING 172.26.1.2...
: Pinging 172.26.1.2
: 64 bytes from 172.26.1.2: icmp_seq = 0. time: 16 ms
: 64 bytes from 172.26.1.2: icmp_seq = 1. time: 15 ms
: 64 bytes from 172.26.1.2: icmp_seq = 2. time: 16 ms

: After which the same occurs: it halts as if it is finished.
: Trying this with a simple testscript results in a
: Return "true" after both the PINGPORT and the PING sequence and a
: normal execution of the rest
: of the script.

: The PINGPORT/PING statement is part of a user-defined statement I built.
: Calling this statement in the script I'm developing results in the situation
: above; calling the statement in a simple testscript results in normal
: execution.

: I tried Pinging the IP-adress in the DOS-prompt, which gave no problems.

Wed Mar 12, 2003 8:58 am View user's profile Send private message
Sidney Broerse



Joined: 11 Mar 2003
Posts: 6

Post Re: Strange PingPort problem Reply with quote

THIS IS THE MAIN SCRIPT:

//***************************************************************************************
//
// Job: GetFromGEMAL
// Creatiedatum: 04-02-2003
// Auteur: S.Q. Broerse, GBS-MDS
// Contactpersoon: J-P. Lerou, GHRS-OS
// G. v/d Steen, GHRS-OS
// Functionaliteit: Deze job start ieder half uur en op het moment dat er een GEMAL-controle-bestand
// aanwezig is haalt het na aanwezigheidscontroles dit controlebestand en een ZIP-
// bestand op uit de GEMAL-omgeving. Tenslotte worden de benodigde bestanden
// uitgepakt en op inhoud gecontroleerd.
//
//***************************************************************************************

//***************************************************************************************
//
// Wijzigingen (ook aangeven op lokatie in script)
//
// Datum:
// Wijziging door:
// Beschrijving wijziging:
//
// Datum:
// Wijziging door:
// Beschrijving wijziging:
//
//***************************************************************************************

//***************************************************************************************
//
// Variabele-declaraties
//
//***************************************************************************************

//Naampad controlebron

Dim strCtlSrc,string
//Naampad controledoel

Dim strCtlTar,string
//Naampad bronbestand (ZIP)

Dim strZIPSrc, String
//Naam/pad doelbestand (ZIP)

Dim strZIPTar, String
//Servernaam of IP-adres

Dim strServer, String
//Gebruikernaam

Dim strUser, String
//Wachtwoord

Dim strPWD, String
//Te loggen Entry

Dim strEntry,String
//Lock-file op FTP-server

Dim strLockFile,string
//Directory om uitgepakte bestanden te plaatsen

Dim strUnzipDir,string
//In-directory voor PASRUN

Dim strPASRUN_IN,string
//Directory voor backups die OK zijn

Dim strBKUP_OK,string
//Directory voor backups die NIET OK zijn

Dim strBKUP_ERR,string
//Directory statusbestanden

Dim strStatusDir,string

//Geeft returnwaarden van user-defined statements ed.

Dim blnOK,Boolean

//Bestandsnummer

Dim numFileNumber,number

//***************************************************************************************
//
// Initialisatie
//
//***************************************************************************************

//Openen INI-bestand (het enige hard geprogrammeerde pad)

FileExists "c:\\MF2PAS_INI\\GEMALGET.INI", blnOK

if(blnOK,INI_FOUND,NO_INI_FOUND)

//INI-bestand niet gevonden (FOUT)

NO_INI_FOUND:

set strEntry,""

ConcatEx "INI-bestand NIET Gevonden!!",strEntry

GOTO HANDLE_ERRORS

//INI-bestand gevonden

INI_FOUND:
//Openen bestand

FileOpen "c:\\MF2PAS_INI\\GEMALGET.INI","LINEMODE","READ",False,numFileNumber
//Zetten naam/pad controlebronbestand

FileRead numFileNumber, strCTLSrc
//Zetten naam/pad controledoelbestand

FileRead numFileNumber, strCTLTar
//Zetten naam/pad bronbestand

FileRead numFileNumber, strzipsrc
//Zetten naam/pad doelbestand

FileRead numFileNumber,strziptar
//Zetten FTP-server

FileRead numFileNumber,strserver
//Zetten usernaam en password

FileRead numFileNumber,strUser

FileRead numFileNumber,strPWD
//Zetten LOCKFILE

FileRead numFileNumber,strLockFile
//Zetten directory om te unzippen

FileRead numFileNumber,strUnzipDir
//Zetten in-directory PASRUN

FileRead numFileNumber,strPASRUN_IN
//Zetten backupdirectories

FileRead numFileNumber,strBKUP_OK

FileRead numFileNumber,strBKUP_ERR
//Zetten statusdirectory

FileRead numFileNumber,strStatusDir
//Sluiten bestand

FileClose numFileNumber

//***************************************************************************************
//
// Proces
//
//***************************************************************************************

//Bepalen of andere engines draaien met behulp van een user-defined statement

checkengines "GEMAL",strStatusDir,blnOK

if(blnOK,FREE,NO_FREE)

//Een van de engines is aktief; melden en stoppen

NO_FREE:

//Log-entry creeeren en wegschrijven mbv een user-defined statement

set strEntry,""

ConcatEx "Een van de Engines is bezig; GEMAL is gestopt",strEntry

customOK strEntry,"GetFromGEMAL"

GOTO CLOSE

// Er is geen engine aktief; deze engine kan verder

FREE:

//Pollen naar controlebestand met behulp van een user-defined statement

pollforFile strCTLSrc,strCTLTar,strServer,21,"GEMAL",strUser,strPWD,blnOK

if(blnOK, CONTROL_OK,NO_CONTROL)

//Controle-bestand niet aanwezig; melden en stoppen

NO_CONTROL:
//OK-log entry creeeren en wegschrijven mbv een user-defined statement

set strEntry,""

ConcatEx "Controlebestand ",strCTLSrc," niet gevonden.",strEntry

customOK strEntry,"GetFromGEMAL"

GOTO CLOSE

//Controle-bestand aanwezig

CONTROL_OK:

//OK-logentry creeeren en wegschrijven mbv een user-defined statement

set strEntry,""

ConcatEx "Controlebestand ",strCTLSrc," gevonden.",strEntry

customOK strEntry,"GetFromGEMAL"
//Pollen naar ZIP-bestand met behulp van een user-defined statement

wait 5

blockFTP strServer,21,strLockFile,"GEMAL",strUser,strPWD,blnOK

if(blnOK,LOCK,NO_LOCK)

NO_LOCK:

GOTO UNBLOCK

LOCK:

pollforFile strZIPsrc,strZIPTar,strServer,21,"GEMAL",strUser,strPWD,blnOK

if(blnOK,ZIP,NO_ZIP)

//ZIP-bestand niet aanwezig (terwijl het controlebestand wel aanwezig is: FOUT!)

NO_ZIP:

//Fout-logentry creeeren

set strEntry,""

ConcatEx "ZIP-bestand ",strZIPSrc," NIET Gevonden!!",strEntry

GOTO HANDLE_ERRORS

//ZIP-bestand bestaat

ZIP:

//Uitpakken ZIP-bestand met behulp van een userdefined statement

unzipandlog strZIPTar,strUnzipDir,"GEMAL",blnOK

if(blnOK, UNZIP,NO_UNZIP)

//Niet Uitgepakt; de fout wordt elders afgehandeld; sluiten

NO_UNZIP:

GOTO UNBLOCK

//Wel uitgepakt

UNZIP:

//Controle uitgepakte bestanden (allemaal aanwezig vlgs. Controlebestand)

checkfiles strCTLTar,strUnZipDir,"GEMAL",blnOK

if (blnOK,WRAP_UP, NO_GOOD)

//Niet alle bestanden aanwezig

NO_GOOD:

GOTO UNBLOCK

//Wel alle bestanden aanwezig

WRAP_UP:

//Verplaatsen naar PASRUN-directory

setforpasrun strPASRUN_IN,strUnzipDIr,strBKUP_OK,"GEMAL"

GOTO UNBLOCK

HANDLE_ERRORS:
//Wegschrijven foutmelding mbv een user-defined statement

customerror(strentry,"s.q.broerse@getronics.nl","GetFromGEMAL")

UNBLOCK:
//Deblokkeren GEMAL

unblockFTP strServer,21,strLockFile,"GEMAL",strUser,strPWD
//Verwijderen controlebestand van server

deletefromserver strServer,21,strUser,strPWD,strCTLSrc,"GEMAL",blnOK

if(blnOK,CTRLDELETED,CTRLNOTDELETED)
//Bestand niet verwijderd

CTRLNOTDELETED:

GOTO CLOSE
//Bestand verwijderd

CTRLDELETED:
//Zip van server verwijderen

deletefromserver strServer,21,strUser,strPWD,strZIPSrc,"GEMAL",blnOK

if(blnOK,ZIPDELETED,ZIPNOTDELETED)
//ZIP niet verwijderd

ZIPNOTDELETED:

GOTO CLOSE
//ZIP verwijderd

ZIPDELETED:
//Lokaal controlebestand verwijd eren

deletefromclient strCTLTar,"GEMAL",blnOK

if(blnOK,LOCALCDELETED,LOCALCNOTDELETED)
//Bestand niet verwijderd

LOCALCNOTDELETED:

GOTO CLOSE
//Bestand verwijderd

LOCALCDELETED:
//ZIP lokaal verwijderen

deletefromclient strZIPTar,"GEMAL",blnOK

if(blnOK,LOCALZDELETED,LOCALZNOTDELETED)
//ZIP niet verwijderd

LOCALZNOTDELETED:

GOTO CLOSE
//ZIP verwijderd

LOCALZDELETED:

CLOSE:
// Deblokkeren script en SLUITEN
unblockEngine "GEMAL",strStatusDir

Exit


Wed Mar 12, 2003 9:09 am View user's profile Send private message
Sidney Broerse



Joined: 11 Mar 2003
Posts: 6

Post Re: Strange PingPort problem Reply with quote

THIS IS THE SCRIPT FOR checkengines:

//***************************************************************************************
//
//Custom Script: checkengines
// Creatiedatum: 17-02-2003
// Auteur: S.Q. Broerse, GBS-MDS
// Contactpersoon: J-P. Lerou, GHRS-OS
// G. v/d Steen, GHRS-OS
// Functionaliteit: Dit script voor een user-defined statement ontvangt een engine-naam en controleert
// vervolgens aan een aantal statusbestanden of deze engine verder mag.
// Parameters: Dit script accepteert de volgende parameters:
// AskingEngine: Engine die 'vraagt' of hij kan gaan draaien
// Return: Dit script geeft een boolean (True of False) terug
//
//***************************************************************************************

//***************************************************************************************
//
// Wijzigingen (ook aangeven op lokatie in script)
//
// Datum:
// Wijziging door:
// Beschrijving wijziging:
//
// Datum:
// Wijziging door:
// Beschrijving wijziging:
//
//***************************************************************************************

//***************************************************************************************
//
// Variabele-declaraties
//
//***************************************************************************************

//Geeft aan of de vragende engine GEMAL is

Dim blnGEMAL,boolean
//Geeft aan of de vragende engine ASAP is

Dim blnASAP,boolean
//Geeft aan of de vragende engine BRUNET is

Dim blnBRUNET,boolean
//Geeft aan of de vragende engine ILIAS is

Dim blnILIAS,boolean
//Geeft aan of de vragende engine INTRACOM is

Dim blnINTRACOM,boolean
//Geeft aan of een statusbestand bestaat

Dim blnFound,boolean
//Returnwaarde

Dim blnRet,boolean

//Naam betreffende engine

Dim strEngineNaam,string
//Status betreffende engine

Dim strEngine,string
//Bestandsnaam & pad

dim strBestand,string
//Log-entry

Dim strEntry,string

//Bestandsnummer

Dim numFileNumber,number

//***************************************************************************************
//
// Proces
//
//***************************************************************************************

//Initialisatie boolean engines

set blnGEMAL,false

set blnASAP,false

set blnBRUNET,false

set blnILIAS,false

set blnINTRACOM,false

//Bepalen welke engine vraagt

ChooseCase AskingEngine, END_ASK

Case "GEMAL"

set blnGEMAL,true

Case "ASAP"

set blnASAP,true

Case "BRUNET"

set blnBRUNET,true

Case "ILIAS"

set blnILIAS,true

Case "INTRACOM"

set blnINTRACOM,true

CaseElse

set strentry,""

ConcatEx "De vragende Engine (",AskingEngine,") is onbekend!! Pas de statement checkengines aan.",strentry

Goto HANDLE_ERRORS

END_ASK:

//Controle ASAP

if(blnASAP,ASAP_ASKS,NO_ASAP_ASKS)

//ASAP is niet de vragende engine

NO_ASAP_ASKS:

set strEngineNaam,"ASAP"
//Controle bestaan bestand

set strBestand,""

concatex PadNaarStatus,"\\ASAPStatus.txt",strBestand

FileExists strBestand,blnfound

if(blnfound,ASAPSTAT_EXISTS,NO_STAT_EXISTS)

//Bestand bestaat

ASAPSTAT_EXISTS:

//Openen bestand

FileOpen strBestand,"LineMode","Read",False,numFileNumber
//Uitlezen inhoud

FileRead numFileNumber,strEngine

//Bepalen status ASAP

ChooseCase strEngine,END_ASAP

Case "ASAP_FREE"

FileClose numFileNumber

CaseElse

FileClose numFileNumber

set blnRet,false

GOTO WRAPUP

END_ASAP:

//ASAP is de vragende Engine

ASAP_ASKS:

//Controle ILIAS

if(blnILIAS,ILIAS_ASKS,NO_ILIAS_ASKS)

//ASAP is niet de vragende engine

NO_ILIAS_ASKS:

set strEngineNaam,"ILIAS"
//Controle bestaan bestand

set strBestand,""

concatex PadNaarStatus,"\\ILIASStatus.txt",strBestand

FileExists strBestand,blnfound

if(blnfound,ILIASSTAT_EXISTS,NO_STAT_EXISTS)

//Bestand bestaat

ILIASSTAT_EXISTS:

//Openen bestand

FileOpen strBestand,"LineMode","Read",False,numFileNumber
//Uitlezen inhoud

FileRead numFileNumber,strEngine

//Bepalen status ILIAS

ChooseCase strEngine,END_ILIAS

Case "ILIAS_FREE"

FileClose numFileNumber

CaseElse

FileClose numFileNumber

set blnRet,false

GOTO WRAPUP

END_ILIAS:

//ILIAS is de vragende Engine

ILIAS_ASKS:

//Controle INTRACOM

if(blnINTRACOM,INTRACOM_ASKS,NO_INTRACOM_ASKS)

//INTRACOM is niet de vragende engine

NO_INTRACOM_ASKS:

set strEngineNaam,"INTRACOM"
//Controle bestaan bestand

set strBestand,""

concatex PadNaarStatus,"\\INTRACOMStatus.txt",strBestand

FileExists strBestand,blnfound

if(blnfound,INTRACOMSTAT_EXISTS,NO_STAT_EXISTS)

//Bestand bestaat

INTRACOMSTAT_EXISTS:

//Openen bestand

FileOpen strBestand,"LineMode","Read",False,numFileNumber
//Uitlezen inhoud

FileRead numFileNumber,strEngine

//Bepalen status ASAP

ChooseCase strEngine,END_INTRACOM

Case "INTRACOM_FREE"

FileClose numFileNumber

CaseElse

FileClose numFileNumber

set blnRet,false

GOTO WRAPUP

END_INTRACOM:

//INTRACOM is de vragende Engine

INTRACOM_ASKS:

//Controle BRUNET

if(blnBRUNET,BRUNET_ASKS,NO_BRUNET_ASKS)

//Brunet is niet de vragende engine

NO_BRUNET_ASKS:

set strEngineNaam,"BRUNET"
//Controle bestaan bestand

set strBestand,""

concatex PadNaarStatus,"\\BRUNETStatus.txt",strBestand

FileExists strBestand,blnfound

if(blnfound , BRUNETSTAT_EXISTS,NO_STAT_EXISTS)

//Bestand bestaat

BRUNETSTAT_EXISTS:

//Openen bestand

FileOpen strBestand,"LineMode","Read",False,numFileNumber
//Uitlezen inhoud

FileRead numFileNumber,strEngine

ChooseCase strEngine,END_BRUNET

Case "BRUNET_FREE"

FileClose numFileNumber

CaseElse

FileClose numFileNumber

set blnRet,false

GOTO WRAPUP

END_BRUNET:
//Brunet is de vragende engine

BRUNET_ASKS:

//Controle GEMAL

if(blnGEMAL,GEMAL_ASKS,NO_GEMAL_ASKS)

//Gemal is niet de vragende engine

NO_GEMAL_ASKS:

set strEngineNaam,"GEMAL"
//Controle bestaan bestand

set strBestand,""

concatex PadNaarStatus,"\\GEMALStatus.txt",strBestand

FileExists strBestand,blnfound

if(blnfound , GEMALSTAT_EXISTS,NO_STAT_EXISTS)

//Bestand bestaat

GEMALSTAT_EXISTS:

//Openen bestand

FileOpen strBestand,"LineMode","Read",False,numFileNumber
//Uitlezen inhoud

FileRead numFileNumber,strEngine

ChooseCase strEngine,END_GEMAL

Case "GEMAL_FREE"

FileClose numFileNumber

CaseElse

FileClose numFileNumber

set blnRet,false

GOTO WRAPUP

END_GEMAL:

//Gemal is de vragende engine

GEMAL_ASKS:

set strentry,""

ConcatEx ASKINGENGINE," kan doorgaan",strentry

customOK strentry,"CheckEngines"

blockengine AskingEngine,PadNaarStatus

set blnRet, true

GOTO Wrapup

NO_STAT_EXISTS:
//Er ontbreekt een statusbestand

set strentry,""

ConcatEx "Het statusbestand voor ",strEngineNaam," ontbreekt!!",strentry

Goto HANDLE_ERRORS

HANDLE_ERRORS:
//Foutafhandeling

customerror(strentry,"s.q.broerse@getronics.nl","CheckEngines")

set blnRet,false
WRAPUP:

Return blnRet


Wed Mar 12, 2003 9:10 am View user's profile Send private message
Sidney Broerse



Joined: 11 Mar 2003
Posts: 6

Post Re: Strange PingPort problem Reply with quote

This is the script for POLLFORFILE:

//***************************************************************************************
//
//Custom Script: pollforfile
// Creatiedatum: 18-02-2003
// Auteur: S.Q. Broerse, GBS-MDS
// Contactpersoon: J-P. Lerou, GHRS-OS
// G. v/d Steen, GHRS-OS
// Functionaliteit: Dit script voor een user-defined statement pollt voor een bestand en indien gevonden
// haalt hij het bestand over
// Parameters: Dit script accepteert de volgende parameters:
// FileNamePath: Naam en pad bestand waarvoor gepolld wordt op FTP-server
// LocalNamePath: Naam en pad bestand waarnaartoe gekopieerd dient te worden
// TheServer: Naam FTP-server waar het bestand gezocht wordt
// ThePort: Poortnummer FTP-server
// Engine: Naam betreffende salaris-engine
// Username: Gebruikersnaam account
// Password: Wachtwoord account
// Return: Dit script geeft een boolean (TRUE of FALSE) terug.
//
//***************************************************************************************

//***************************************************************************************
//
// Wijzigingen (ook aangeven op lokatie in script)
//
// Datum:
// Wijziging door:
// Beschrijving wijziging:
//
// Datum:
// Wijziging door:
// Beschrijving wijziging:
//
//***************************************************************************************

//***************************************************************************************
//
// Variabele-declaraties
//
//***************************************************************************************

//Loop-criterium

Dim blnOut,boolean
//Geeft aan of loop afgebroken moet worden (max. 2 maal laten loopen)

Dim blnEnd,boolean
//Geeft aan of er contact met de database is

Dim blnContact,boolean
//Geeft aan of een bestand gevonden is

Dim blnFound,boolean
//Returnwaarde

Dim blnRet,boolean

//Teller voor in loop

Dim numTeller,number
//Interne teller om teller op te kunnen hogen

Dim numIntern,number

//Log-entry

Dim strEntry,string

//***************************************************************************************
//
// Proces
//
//***************************************************************************************

//Zetten boolean voor loop

Set blnOut,true

//Starten loop

LoopWhile(blnOut,ENDLOOP)

//Controleren contact met FTP-server/Salaris-engine

PingPort (TheServer,ThePort,blnContact)

//ping Theserver, blnContact

wait 5

If(blnContact,GO_ON,NO_GO)
//Indien contact

GO_ON:

//Stoppen loop

Set blnout, false

Break

//Geen contact

NO_GO:

//Teller ophogen met 1

Add(numTeller,1,numIntern)

Set numTeller, numIntern
//Test of teller > 1 is

IsGreater(numTeller,1,blnEnd)

If(blnEnd,GET_OUT,REPEAT)

//Indien teller > 1

GET_OUT:

//Stoppen loop

Set blnOut,false

Break

//Indien teller <= 1

REPEAT:

//Herhalen loop

Set blnOut,true

ENDLOOP:

If(blnContact,PROCESS,CONTACT_ERROR)

//Contact OK

PROCESS:

//OK logentry creeeren

set strentry,""

ConcatEx "Contact met FTP-server ",TheServer," (",Engine,") OK",strentry
//OK log schrijven mbv user-defined statement

customOK strentry,"pollforfile"
//Configureren FTP-settings

FTPConfig("TRANSFER MODE","BINARY")
//Test of Controlebestand bestaat op server

FTPFileExists(TheServer,UserName,PassWord,FileNamePath,blnFound)

If(blnFound,ISTHERE,NOTTHERE)

//Bestand op FTP-server niet gevonden. Omdat niet ieder bestand per se gevonden hoeft te worden; foutafhandeling indien nodig elders

NOTTHERE:

set blnRet,False

GOTO CLOSE

//Bestand gevonden

ISTHERE:
//OK-logentry creeeren en wegschrijven mbv een user-defined statement

Set strEntry,""

ConcatEx "Bestand ",FileNamePath," op server ",TheServer," (", Engine, ") gevonden",strEntry

customok strEntry,"pollforfile"
//Ophalen bestand

FTPGetFile(TheServer,UserName,PassWord,FileNamePath,LocalNamePath)
//Lokaal op aanwezigheid controleren

FileExists(LocalNamePath,blnFound)

If(blnFound,PROCEED,NOTHERE)

//Bestand is lokaal aanwezig en dus gekopieerd

PROCEED:

//Creeeren OK-logentry en wegschrijven mbv een user-defined statement

set strEntry,""

ConcatEx "Bestand ",FIleNamePath," van server ", TheServer," (", Engine,") succesvol gekopieerd",strEntry

customok strEntry,"pollforfile"

set blnRet,True

GOTO CLOSE

//Bestand is lokaal niet aanwezig: FOUT

NOTHERE:

//Creeeren Error-logentry

set strEntry,""

ConcatEx "Bestand ",FileNamePath," van server ", TheServer, " (",Engine,") NIET gekopieerd!!",strEntry

GOTO HANDLE_ERRORS

//Contact niet OK

CONTACT_ERROR:

//Error logentry creeeren

Set strEntry,""

ConcatEx "Contact met FTP-server ", TheServer, " (",Engine, ") niet in orde!!",strentry

Goto HANDLE_ERRORS

HANDLE_ERRORS:
//Error log schrijven mbv user-defined statement

customerror(strEntry,"s.q.broerse@getronics.nl","pollforfile")

set blnRet,False
CLOSE:

Return blnRet

Wed Mar 12, 2003 9:12 am View user's profile Send private message
SysOp
Site Admin


Joined: 26 Nov 2006
Posts: 7964

Post Re: Strange PingPort problem Reply with quote

Did you say the job runs fine in debugger but behaves incorrectly when it runs normally?
Does the job have "ignore errors" property checked?

If the job is set to run asynchronous please try setting it to run synchronously and check the trace files after the run. Please either check script.log file in 24x7 home directory or check [job id].log file in the Performance Data subdirectory. The latest should have complete tracing log for all runs. If you cannot file why the job breaks. Please email your scripts and the trace file to support@softtreetech.com.

: This is the script for POLLFORFILE:
: //***************************************************************************************
: //
: //Custom Script: pollforfile
: // Creatiedatum: 18-02-2003
: // Auteur: S.Q. Broerse, GBS-MDS
: // Contactpersoon: J-P. Lerou, GHRS-OS
: // G. v/d Steen, GHRS-OS
: // Functionaliteit: Dit script voor een user-defined statement pollt voor een
: bestand en indien gevonden
: // haalt hij het bestand over
: // Parameters: Dit script accepteert de volgende parameters: // FileNamePath:
: Naam en pad bestand waarvoor gepolld wordt op FTP-server
: // LocalNamePath: Naam en pad bestand waarnaartoe gekopieerd dient te worden
: // TheServer: Naam FTP-server waar het bestand gezocht wordt
: // ThePort: Poortnummer FTP-server
: // Engine: Naam betreffende salaris-engine
: // Username: Gebruikersnaam account
: // Password: Wachtwoord account
: // Return: Dit script geeft een boolean (TRUE of FALSE) terug.
: //
:
: //***************************************************************************************

:
: //***************************************************************************************
: //
: // Wijzigingen (ook aangeven op lokatie in script)
: //
: // Datum: // Wijziging door: // Beschrijving wijziging: //
: // Datum: // Wijziging door: // Beschrijving wijziging: //
:
: //***************************************************************************************

:
: //***************************************************************************************
: //
: // Variabele-declaraties
: //
:
: //***************************************************************************************

: //Loop-criterium

: Dim blnOut,boolean
: //Geeft aan of loop afgebroken moet worden (max. 2 maal laten loopen)

: Dim blnEnd,boolean
: //Geeft aan of er contact met de database is

: Dim blnContact,boolean
: //Geeft aan of een bestand gevonden is

: Dim blnFound,boolean
: //Returnwaarde

: Dim blnRet,boolean

: //Teller voor in loop

: Dim numTeller,number
: //Interne teller om teller op te kunnen hogen

: Dim numIntern,number

: //Log-entry

: Dim strEntry,string

:
: //***************************************************************************************
: //
: // Proces
: //
:
: //***************************************************************************************

: //Zetten boolean voor loop

: Set blnOut,true

: //Starten loop

: LoopWhile(blnOut,ENDLOOP)

: //Controleren contact met FTP-server/Salaris-engine

: PingPort (TheServer,ThePort,blnContact)

: //ping Theserver, blnContact

: wait 5

: If(blnContact,GO_ON,NO_GO)
: //Indien contact

: GO_ON: //Stoppen loop

: Set blnout, false

: Break

: //Geen contact

: NO_GO: //Teller ophogen met 1

: Add(numTeller,1,numIntern)

: Set numTeller, numIntern
: //Test of teller > 1 is

: IsGreater(numTeller,1,blnEnd)

: If(blnEnd,GET_OUT,REPEAT)

: //Indien teller > 1

: GET_OUT: //Stoppen loop

: Set blnOut,false

: Break

: //Indien teller <= 1

: REPEAT: //Herhalen loop

: Set blnOut,true

: ENDLOOP: If(blnContact,PROCESS,CONTACT_ERROR)

: //Contact OK

: PROCESS: //OK logentry creeeren

: set strentry,""

: ConcatEx "Contact met FTP-server ",TheServer,"
: (",Engine,") OK",strentry
: //OK log schrijven mbv user-defined statement

: customOK strentry,"pollforfile"
: //Configureren FTP-settings

: FTPConfig("TRANSFER MODE","BINARY")
: //Test of Controlebestand bestaat op server

: FTPFileExists(TheServer,UserName,PassWord,FileNamePath,blnFound)

: If(blnFound,ISTHERE,NOTTHERE)

: //Bestand op FTP-server niet gevonden. Omdat niet ieder bestand per se
: gevonden hoeft te worden; foutafhandeling indien nodig elders

: NOTTHERE: set blnRet,False

: GOTO CLOSE

: //Bestand gevonden

: ISTHERE: //OK-logentry creeeren en wegschrijven mbv een user-defined
: statement

: Set strEntry,""

: ConcatEx "Bestand ",FileNamePath," op server
: ",TheServer," (", Engine, ") gevonden",strEntry

: customok strEntry,"pollforfile"
: //Ophalen bestand

: FTPGetFile(TheServer,UserName,PassWord,FileNamePath,LocalNamePath)
: //Lokaal op aanwezigheid controleren

: FileExists(LocalNamePath,blnFound)

: If(blnFound,PROCEED,NOTHERE)

: //Bestand is lokaal aanwezig en dus gekopieerd

: PROCEED: //Creeeren OK-logentry en wegschrijven mbv een user-defined
: statement

: set strEntry,""

: ConcatEx "Bestand ",FIleNamePath," van server ",
: TheServer," (", Engine,") succesvol
: gekopieerd",strEntry

: customok strEntry,"pollforfile"

: set blnRet,True

: GOTO CLOSE

: //Bestand is lokaal niet aanwezig: FOUT

: NOTHERE: //Creeeren Error-logentry

: set strEntry,""

: ConcatEx "Bestand ",FileNamePath," van server ",
: TheServer, " (",Engine,") NIET gekopieerd!!",strEntry

: GOTO HANDLE_ERRORS

: //Contact niet OK

: CONTACT_ERROR: //Error logentry creeeren

: Set strEntry,""

: ConcatEx "Contact met FTP-server ", TheServer, "
: (",Engine, ") niet in orde!!",strentry

: Goto HANDLE_ERRORS

: HANDLE_ERRORS: //Error log schrijven mbv user-defined statement

:
: customerror(strEntry,"s.q.broerse@getronics.nl","pollforfile")

: set blnRet,False
: CLOSE: Return blnRet

Wed Mar 12, 2003 9:52 am View user's profile Send private message
Sidney Broerse



Joined: 11 Mar 2003
Posts: 6

Post Re: Strange PingPort problem Reply with quote

"Ignore Errors" was not checked. However, I was running it asynchronously.
When I tried to run it synchronously, it worked just fine!!! So, thanks very
much. I just have one more question (out of curiosity): Why doesn't it work asynchronously??

Thu Mar 13, 2003 4:40 am View user's profile Send private message
SysOp
Site Admin


Joined: 26 Nov 2006
Posts: 7964

Post Re: Strange PingPort problem Reply with quote

In asynchronous mode some operation can be also executed asynchronously and as a result they can run concurrently which can sometimes (rarely) produce different results.

: "Ignore Errors" was not checked. However, I was running it
: asynchronously.
: When I tried to run it synchronously, it worked just fine!!! So, thanks very
: much. I just have one more question (out of curiosity): Why doesn't it work
: asynchronously??

Thu Mar 13, 2003 9:33 am View user's profile Send private message
Display posts from previous:    
Reply to topic    SoftTree Technologies Forum Index » 24x7 Scheduler, Event Server, Automation Suite All times are GMT - 4 Hours
Page 1 of 1

 
Jump to: 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


 

 

Powered by phpBB © 2001, 2005 phpBB Group
Design by Freestyle XL / Flowers Online.