25 mai 2016

BOV-BBAO0020-ERREUR MODULE JAVA JAVAPRESELECTION TYPE CONNECTION

Depuis HRv5 la plupart des chaines batch HR Access possèdent une étape de pré-sélection de la population à traiter. Elle peut prendre la forme d'un ordre SELECT ou d'un appel à un Query Population (information ZO5T).

select * from ZO5T where nudoss = 8590;

    NUDOSS SOC     PGPDOS T CDQURY
---------- --- ---------- - --------
      8590 INT          0 Q VBSOCPER


Cette pré-sélection passe donc par le serveur HRQuery.
  • Un java est exécuté 
  • Il reçoit le NUDOSS du dossier de Travail via la socket IP libellée "TCPPort"dans la Topologie HRS. 
  • En retour - si la présélection prend la forme d'un Query Population - HRQuery alimente la ZO5W du travail avec l'ordre SQL correspondant au query passé en paramètre.

if
  [ $MAX_RETOUR -le 4 ]
  then
echo "*-------------------------- STEP105N ----------------*"
echo "*          Execution module JAVA                    *"
echo "*---------------------------------------------------*"
   cd $SIGACS/openhr/lib
   java -jar preselection.jar \
   filein=$TMP/T100C1."$nupro"\
   fileout=$TMP/T105JV."$nupro"
   cd $TMP
    CODE_RETOUR=$?
if
  [ $CODE_RETOUR -gt $MAX_RETOUR ]
  then
      MAX_RETOUR=$CODE_RETOUR
fi
echo "\n"
fi


Dans le fichier en entrée, on trouvera les paramètres d'accès au serveur de Query et le numéro de dossier du travail :

[CONNECTION]
HOST=myhrserver
PORT=1234
[GENERAL]
ACTION=1
NUDOSS=000008590
LANG=F



Le log de la chaine indique :

*-------------------------- STEP105N ----------------*
*          Execution module JAVA                    *
*---------------------------------------------------*
Filein: /hraqua/txt/tmp/T100C1.4105
Fileout: /hraqua/txt/tmp/T105JV.4105
Reading INI file /hraqua/txt/tmp/T100C1.4105 ...
Action: 1
Host:
myhrserver
Port: 1234
Dossier ID: 000008590
Language: F
Opening socket to myhrserver:1234 ...
Writing request ...
Wrote request. Reading response ...
Read response: OK
Closing socket ...
Socket closed
Writing response to file /hraqua/txt/tmp/T105JV.4105 ...
Wrote response to file /hraqua/txt/tmp/T105JV.4105


Le log de HRQuery

2016-05-25 08:56:10,500 [PopulationConnector] INFO  - HRJS1031 Proxy created
2016-05-25 08:56:10,501 [Thread-70] INFO  - HRJS1033 Proxy started
2016-05-25 08:56:10,502 [Blank][Thread-70] INFO  - QRSRV1004 Start of preselection query execution 2016-05-25.08.56.10
2016-05-25 08:56:10,563 [Blank][Thread-70] INFO  - SQLNG1014 Creating query from xml
2016-05-25 08:56:10,565 [Blank][Thread-70] INFO  - SQLNG1020 Generating SQL ...
2016-05-25 08:56:10,608 [Blank][Thread-70] INFO  - QRSRV1005 End of batch preselection execution 2016-05-25.08.56.10
2016-05-25 08:56:10,608 [Blank][Thread-70] INFO  - HRJS1032 Proxy closed


Dans le fichier retour :
JAVAPRESELECTION
OK


Le serveur HRQuery va modifier le dossier de travail pour alimenter dans une occurrence de ZO5W l'ordre SELECT de creation de population (cf ligne 9000 pour JQP)

select * from ZO2P where nudoss = 8590;

    NUDOSS     NULIGN SOC     PGPDOS TIMDEB              TIMFIN              CDP ZOSOUM CD
---------- ---------- --- ---------- ------------------- ------------------- --- ------ --
      8590          1 INT          0 2016-05-25-08.56.10 2016-05-25-08.56.10 BOU        01
      8590          2 INT          0 2016-05-25-08.56.10 2016-05-25-08.56.10 BOV        00
      8590          3 INT          0 2016-05-25-08.56.10 2016-05-25-08.56.10 DC6        12
      8590          4 INT          0 2016-05-25-08.56.10 2016-05-25-08.56.10 BE9        00
      8590          5 INT          0 2016-05-25-08.56.11 2016-05-25-08.56.11 BLZ        00
      8590       9000 INT          0 2016-05-25-08.56.10 2016-05-25-08.56.10 JQP        00

6 rows selected.

hr@APCV9QUA@frsopslappv26> select * from ZO5W where nudoss = 8590;

    NUDOSS SOC     PGPDOS CDIDEN
---------- --- ---------- --------
ZOREQU
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      8590 INT          0
SELECT DISTINCT   T1.NUDOSS    FROM ZX00 T1,ZX6B T2  WHERE   T1.NUDOSS  = T2.NUDOSS   AND   T1.PERPAI = 'MT201606' AND T2.CODSOC = '001'


En cas d'erreur c'est BOV qui signale l'incident
AD800BOV-BBAO0020-ERREUR MODULE JAVA JAVAPRESELECTION TYPE CONNECTION
sans fournir aucun détails ...

Il pourrait s'agir d'un serveur de Query fermé,

Dans mon exemple, la demande ZO fait référence à un Query Population qui n'a pas été déployé.

select * from ZO00 where TYTMPL='T' and CDELMT='VBSOCPER';
no rows selected