Relance uproc SAP d'une session sans l'exécuter

Damien FranchommeDamien Franchomme Posts: 15 Journeyman ✭✭✭
Bonjour,

J'ai de temps à autre un crash du manager SAP sur mon noeud $U en 5.6.
Ce crash implique que toutes les uprocs de type SAP tombent en erreur dans $U.

Pour la reprise des jobs, il y a parfois des uprocs qui se sont correctement exécutées dans SAP mais qui apparaissent en erreur dans $U.
Dans le cas ou ces uprocs appartiennent à des sessions "simples", c'est-à-dire sans enchaînement d'uprocs mais avec uniquement des uprocs lancées en parallèle, je crée un événement en completed de l'uproc incidentée pour que ses dépendances s'exécutent correctement.
Mais dans le cas ou il s'agit d'une session avec des enchaînements d'uprocs, l'événement créé ne suffit pas pour lancer le reste de la session.

Je pose donc la question ici pour savoir si vous n'auriez pas une solution à mon problème.
J'ai déjà tenté de passer par une relance au step 99 / le positionnement de la variable UNI_SIMUL lors de la relance / la commande uxrst avec un statut "T" mais aucune de ces solutions n'a fonctionné correctement.

Merci de m'avoir lu et merci d'avance pour vos réponses.
Cdlt,
Damien

Best Answer

Answers

  • Jean-Yves RobertJean-Yves Robert Professional Services SingaporeTeam Automic Posts: 72 Journeyman ✭✭✭
    Hello!
    Si je comprends bien, tu veux forcer le status d'uprocs 'incidentees' vers 'ok'?
    En V6 tu aurais ca avec l'action depuis l'interface. En V5, il faut passer par les variables ou jalons effectivement.
    Maintenant tout depend de ton type d'uproc (CL_INT ou SAP XBP?)
    La variable UNI_SIMUL devrait marcher pourtant ( a verifier la U ANTE UPROC sur le noeud).
  • Damien FranchommeDamien Franchomme Posts: 15 Journeyman ✭✭✭
    edited February 12
    Bonjour Jean-Yves,

    C'est exactement ça oui, mes uprocs sont de types SAP_XBP2.
    J'ai effectivement déjà testé en positionnant la variable UNI_SIMUL à Y lors de la relance, mais elle n'est pas prise en compte et l'uproc se lance bien dans SAP.

    Dans le U_ANTE_UPROC du noeud, je n'ai rien de particulier sur le traitement de la variable UNI_SIMUL mis à part : 

    # En espace de test, on peut forcer le code retour à "KO"
    if [ "${UNI_SIMUL}" = "Y" ]; then
            if [ -r "${UXMGR}/${UNI_ESP}_UPR_KO.lst" ]; then
                    if  grep -x ${S_PROCEXE} $UXMGR/${UNI_ESP}_UPR_KO.lst
                    then
                    UNI_STATUT=KO
                    export UNI_STATUT
                    fi
            fi
    sleep 15
    fi


    De ce que je peux voir sur mes autres CL, la variable UNI_SIMUL est géré au niveau des scripts appelés directement comme $UXMGR/interne.ksh.

    Dois-je ajouter dans mon U_ANTE_UPROC, une partie comme ça (dans le if [ "${UNI_SIMUL}" = "Y" ]):
    CODE_RETOUR=0
    RESEXE=$CODE_RETOUR
    exit $RESEXE



  • Damien FranchommeDamien Franchomme Posts: 15 Journeyman ✭✭✭
    J'ai avancé un peu dans mes tests, mais en positionnant dans le U_ANTE_UPROC la variable RESEXE telle que :

    CODE_RETOUR=0
    RESEXE=$CODE_RETOUR
    export $RESEXE

    J'obtiens une erreur :
    u_batch[138]: .[117]: export: 0: is not an identifier

  • Damien FranchommeDamien Franchomme Posts: 15 Journeyman ✭✭✭
    Merci beaucoup Jean-Yves, les 2 solutions fonctionnent correctement maintenant !
    Relance à l'étape 99 et positionnement de la variable UNI_SIMUL


Sign In or Register to comment.