Table des matières

MEP -> 1.09

Ce fichier correspond à la TO-DO liste pour la MEP 1.09.

Toutes les opérations à effectuer doivent être classées par “mission” (exemple : modification écran de création d'un ordre, mise en place du rapprochement de stock, etc..).

Chaque mission correspond à une section dans cette page. Un lien pour chaque mission doit être ajouté dans le sommaire ci-dessous pour pouvoir directement se placer sur la mission en cliquant sur ce lien.

Contacter Rénald pour une aide concernant la syntaxe Dokuwiki (ajout d'un lien interne dans le sommmaire, ajout d'une image, etc..)


SOMMAIRE


Rectification des options de profil

Mission

Lors d'un clonage, les options de profil n'étaient pas compatibles de la production vers les env de DEV,MIR etc.. car l'information stockée pour ces options de profil était un ID utilisateur, ID group, etc…

Pour résoudre ce problème, la colonne “val_niveau_prof” (qui stocke les ID) a été remplacée (mais pas supprimée) par la colonne “val_niveau_prof_code” contenant les CODES des users (ex : RMORICE), les codes des groups (ex : BO_SENIOR) etc… qui sont les mêmes d'un serveur à l'autre.

Elements pour MEP

1) Les fichiers à lancer :

Les fichiers sont flaggés sous “1_09”.

2) Modifications APEX :

select 
"VAL_PROFIL_ID",
"PROFIL_ID", 
"NOM_PROFIL",
"DESC_PROFIL",
OUTILS_PKG.decode_desc_val_lov('NIV_PROFIL',niveau_profil) "NIVEAU_PROFIL",

-- ANCIENNE COLONNE AVEC GESTION DE PROFIL PAR ID
--===============================================
-- decode(niveau_profil,1,OUTILS_PKG.decode_desc_val_lov('NIV_PROFIL',niveau_profil)
--        ,2, (select (SELECT application_name
-- 	    FROM APEX_APPLICATION_ITEMS
-- 	    WHERE item_name = 'APP_NAME') from dual)
--        ,3,  APEX_UTIL.GET_GROUP_NAME(p_group_id => VAL_NIVEAU_PROF)
--        ,4, APEX_UTIL.GET_USERNAME(p_userid => VAL_NIVEAU_PROF) 
-- )
-- "VAL_NIVEAU_PROF",
--===============================================

"VAL_PROFIL",
APEX_UTIL.PREPARE_URL('f?p=&APP_ID.:92:&SESSION.:::92:P92_SANS_DATE,P92_NOM_TABLE,P92_CLE_TECH1:O,VAL_PROFIL,' || VAL_PROFIL_ID) URL_AUDIT,
"VAL_NIVEAU_PROF_CODE",

--WHO COLUMNS
"CREE_PAR",
"MODIFIE_PAR",
"DATE_CREATION",
"DATE_MAJ"

from "#OWNER#"."PROFIL_V"
order by profil_id, niveau_profil

Ne pas oublier d'enregistrer cet état en cliquant sur “Actions → Enregistrer un état → Comme état par défaut → Principal → Appliquer”

PROFIL_PKG.ins_VAL_PROFIL(
	p_profil_id    		=> :P60_PROFIL_ID
	,p_niveau_profil     	=> :P60_NIVEAU_PROFIL
	,p_val_niveau_prof_code	=> :P60_VAL_NIVEAU_PROF
	,p_val_profil	        => :P60_VAL_PROFIL
	,p_val_profil_id	=> :P60_VAL_PROFIL_ID
);
PROFIL_PKG.upd_VAL_PROFIL(
	p_profil_id    		        => :P60_PROFIL_ID
	,p_niveau_profil     		=> :P60_NIVEAU_PROFIL
	,p_val_niveau_prof_code		=> :P60_VAL_NIVEAU_PROF
	,p_val_profil	                => :P60_VAL_PROFIL
	,p_val_profil_id		=> :P60_VAL_PROFIL_ID
);
SELECT desc_val, return_val
FROM
(
SELECT 'Système' desc_val ,'SYSTEME' return_val
FROM DUAL
WHERE :P60_NIVEAU_PROFIL = 1
UNION
SELECT application_name desc_val, application_name return_val
FROM APEX_APPLICATIONS
WHERE application_id = :APP_ID
AND :P60_NIVEAU_PROFIL = 2
UNION
SELECT group_name desc_val, group_name val
FROM WWV_FLOW_GROUP_USERS
WHERE :P60_NIVEAU_PROFIL = 3
UNION
select user_name desc_val, user_name return_val
from APEX_040200.WWV_FLOW_USERS
WHERE :P60_NIVEAU_PROFIL = 4
)

Mail de supervision d'environnement

Mission

Créer un mail qui permet de visualiser l'état d'un environnement le matin (est-ce que l'historisation c'est bien passée, les imports fournisseurs, dépositaires, etc…).

Elements pour MEP

Les fichiers à lancer :

  • la 2eme ligne de ce script est bonne pour l'env de PROD ?

#!/bin/sh

. /u01/app/oracle/.profile

# paramètres du script :
#       $1 : login BDD
#       $2 : mdp BDD
#       $3 : nom du client
#       $4 : adresse(s) de destination (si plusieurs, les séparer d'une virgule

if [ ! $4 ]; then
    dest="support@salamander-soft.com"
else
    dest=$4
fi

script_sql=$(sqlplus -s  /nolog <<EOF
connect $1/$2

BEGIN
    SUPERVISION_PKG.ENVOI_MAIL('$dest');
END;
/
EOF
)

result=$script_sql

if [ $(echo "$result" | grep -e '^ERROR' | wc -l) -ne 0 ];then
    fic_html=$(./supervision_erreur.sh "$3" "$result")
    echo $fic_html | mailx -a "Content-Type: text/html" -s  "Supervision $1/[S@M-$3]" "$dest"
fi
#!/bin/sh

. /u01/app/oracle/.profile

echo "
<!DOCTYPE HTML PUBLIC '-//W3C//DTD XHTML 1.0 Transitional //EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
    <title>Supervision</title>
    <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
    <meta content='width=device-width'>
    <style type='text/css'>
    /* Fonts and Content */
    tr, td, h1, h2 { font-family: 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size:14px; }
    body { background-color: #2A374E; margin: 0; padding: 0; -webkit-text-size-adjust:none; -ms-text-size-adjust:none; }
    </style>

</head>
<body style='margin:0px; padding:0px; -webkit-text-size-adjust:none;'>
        <table width='100%' cellpadding='0' cellspacing='0' border='0' style='background-color:rgb(42, 55, 78)' >

                <tbody>
            <tr>
                <td align='center' bgcolor='#2A374E'>
                    <table  cellpadding='0' cellspacing='0' border='0'>
                        <tbody>

                            <tr>
                                <td align='center' class='w740'  width='740' height='20'></td>
                            </tr>

                            <!-- entete -->
                            <tr>
                                <td class='w740'  width='740' bgcolor='#696969'>

                                                                        <p style='color:#FFFFFF; font-size:30px; text-align:center;'>Supervision S@M du $(date +"%d-%m-%y")  - $1</p>

                                </td>
                            </tr>

                            <!--  separateur horizontal après header -->
                            <tr>
                                <td class='w740'  width='740' height='15' bgcolor='#ffffff'></td>
                            </tr>

                                                        <tr>
                                                                <td class='w740'  width='740' bgcolor='#ffffff'>
                                                                        <table  cellpadding='0' cellspacing='0' border='0'>
                                                                                <tbody>

                                                                                        <tr>
                                                                                                <!--marge à gauche -->
                                                                                                <td class='w30'  width='30'></td>
                                                                                                <!--FEU ROUGE ou VERT -->
                                                                                                <td class='w50'  width='50'>


                                                                                                <div style='background-color:#FF0000; width: 50px; height: 50px; text-align: center; vertical-align: middle; line-height: 50px; text-align: center; border-radius: 50px;'>K0</div>

                                                                                                </td>
                                                                                                <!--marge à droite du FEU -->
                                                                                                <td class='w30'  width='30'></td>
                                                                                                <!-- TITRE -->
                                                                                                <td class='w630'  width='630'>
                                                                                                <h1 style='color:#0E7693; font-size:22px;'>Connexion à la database $1 impossible</h1>
                                                                                                </td>
                                                                                        </tr>
                                                                                        <tr>
                                                                                                <!-- CONTENU -->
                                                                                                <td colspan='3'></td>
                                                                                                <td class='w600'  width='600'>
                                                                                                        <div style='color: #000000;'>
                                                                                                                $2
                                                                                                        </div>
                                                                                                </td>
                                                                                                <!--marge à droite -->
                                                                                                <td class='w30'  width='30'></td>
                                                                                        </tr>

                                                                                </tbody>
                                                                        </table>
                                                                </td>
                                                        </tr>
                                                        <!--  separateur horizontal-->
                            <tr>
                                <td class='w740'  width='740' height='15' bgcolor='#ffffff'></td>
                            </tr>

                                                        <tr>
                                <td class='w740'  width='740' height='15' bgcolor='#ffffff'></td>
                            </tr>

                            <!-- pied de page -->
                            <tr class='pagebottom'>
                                <td class='w740'  width='740' height='30' bgcolor='#696969'></td>
                            </tr>
                            <tr>
                                <td class='w740'  width='740' height='60'></td>
                            </tr>
                        </tbody>
                    </table>
                </td>
            </tr>
        </tbody>


    </table>
</body>
</html>
"
00 07 * * * /CHEMIN/supervision.sh "LOGIN ORACLE" "MDP ORACLE" "nom du client" "adresse mail de destination (paramètre optionnel : support@salamander-soft.com par défaut)"

Nouveau menu S@M

Mission

Créer un nouveau menu S@M à partir de rien.

Elements pour MEP


1) Les fichiers à télécharger dans S@M :

4 fichiers CVS (dev_erra\appli\theme APEX\menu) sont à télécharger dans S@M (Shared Components → Static Files) :


2) Modifications APEX :

2-1) Dans Shared Components → Templates, créer ou modifer la “list” du menu :

<ul class="multiLevelMenu ul_racine">
<li class="pointer_cursor" onclick="location.href='#LINK#';">
  <img src="#IMAGE_PREFIX##IMAGE#" #IMAGE_ATTR# />
  #TEXT#
</li>
<li class="hasSubMenu default_cursor">
  <img src="#IMAGE_PREFIX##IMAGE#" #IMAGE_ATTR# />
  #TEXT#
  <div class="right-arrow"></div>
</li>
<ul class="multiLevelMenu subMenu">
<li class="pointer_cursor" onclick="location.href='#LINK#';">
  #TEXT#
</li>
<li class="hasSubMenu default_cursor">
  #TEXT#
  <div class="right-arrow"></div>
</li>
</ul>


2-2) Dans Shared Components → Templates, créer ou modifer la page “Salamander - One Level Tabs - Left and Right Sidebar (No fixed-width / DIV left and optional table-based right)” :

<!DOCTYPE html>
<html lang="&BROWSER_LANGUAGE." xmlns="http://www.w3.org/1999/xhtml" xmlns:htmldb="http://htmldb.oracle.com" xmlns:apex="http://apex.oracle.com">
<head>
  <title>#TITLE#</title>
  <link rel="icon" href="#IMAGE_PREFIX#favicon.ico" type="image/x-icon">
  <link rel="shortcut icon" href="#IMAGE_PREFIX#favicon.ico" type="image/x-icon">
  #APEX_CSS#
#TEMPLATE_CSS#
#THEME_CSS#
#PAGE_CSS#
#APEX_JAVASCRIPT#
#TEMPLATE_JAVASCRIPT#
#APPLICATION_JAVASCRIPT#
#PAGE_JAVASCRIPT#
#HEAD#
  <link rel="stylesheet" href="#IMAGE_PREFIX#themes/theme_1/css/theme_4_0.css" type="text/css" />
  <!--[if IE]><link rel="stylesheet" href="#IMAGE_PREFIX#themes/theme_1/css/theme_4_0_ie.css" type="text/css" /><![endif]-->
  <!--[if IE 6]><link rel="stylesheet" href="#IMAGE_PREFIX#themes/theme_1/css/theme_4_0_ie6.css" type="text/css" /><![endif]-->
  <!--[if IE 7]><link rel="stylesheet" href="#IMAGE_PREFIX#themes/theme_1/css/theme_4_0_ie7.css" type="text/css" /><![endif]-->

  <!-- RMORICE : ajout des fichiers css pour le menu -->
  <link rel="stylesheet" type="text/css" href="#APP_IMAGES#style_menu.css">

</head>
<body #ONLOAD#>
<!--[if lte IE 6]><div id="outdated-browser">#OUTDATED_BROWSER#</div><![endif]-->
#FORM_OPEN#
<div id="footer"><div class="content">
  #REGION_POSITION_05#
  <div id="customize">#CUSTOMIZE#</div>&nbsp;
</div></div>
#FORM_CLOSE#
#DEVELOPER_TOOLBAR#
#GENERATED_CSS#
#GENERATED_JAVASCRIPT#

  <!-- RMORICE : ajout des fichiers js pour le menu -->
  <script src="#APP_IMAGES#jquery-2.1.4.min.js"></script>
  <script src="#APP_IMAGES#jquery.hoverIntent.minified.js" type="text/javascript"></script>
  <script src="#APP_IMAGES#menu.js" type="text/javascript"></script>
</body>
</html>


2-3) Désactiver (Conditions : never) l'ancien menu sur la page 0 et 1.

2-4) Sur la page 0, créer une nouvelle région :

Une fois cette région créée, il faut :

2-5) Sur la page 0, créer une nouvelle région :

Une fois cette région créée, il faut :


Modifications du template

Mission

Modifier le template pour mieux placer, centrer, etc… les éléments.

Elements pour MEP

1) Pour supprimer la barre d'onglet, il faut :

2) Pour placer l'image de la page à gauche du menu, il faut :

3) Pour placer le Nb ordres à valider FO à droite du menu, commencer par désactiver l'ancien report “Nombre d'ordres validés par FO” puis créer une nouvelle région :

Une fois cette région créée, il faut :


4) Pour placer le PTF par défaut en dessous du menu :


5) Pour appliquer les modifications au template (images du header, le contenu des pages scrollable, supression footer, etc…), modifier le template Salamander - dérivé de One Level Tabs - Left and Right Sidebar (No fixed-width / DIV left and optional table-based right) :

<!DOCTYPE html>
<html lang="&BROWSER_LANGUAGE." xmlns="http://www.w3.org/1999/xhtml" xmlns:htmldb="http://htmldb.oracle.com" xmlns:apex="http://apex.oracle.com">
  <head>
    <title>#TITLE#</title>
    <link rel="icon" href="#IMAGE_PREFIX#favicon.ico" type="image/x-icon">
    <link rel="shortcut icon" href="#IMAGE_PREFIX#favicon.ico" type="image/x-icon">
    #APEX_CSS#
    #TEMPLATE_CSS#
    #THEME_CSS#
    #PAGE_CSS#
    #APEX_JAVASCRIPT#
    #TEMPLATE_JAVASCRIPT#
    #APPLICATION_JAVASCRIPT#
    #PAGE_JAVASCRIPT#
    #HEAD#
    <link rel="stylesheet" href="#IMAGE_PREFIX#themes/theme_1/css/theme_4_0.css" type="text/css" />
    <!--[if IE]><link rel="stylesheet" href="#IMAGE_PREFIX#themes/theme_1/css/theme_4_0_ie.css" type="text/css" /><![endif]-->
    <!--[if IE 6]><link rel="stylesheet" href="#IMAGE_PREFIX#themes/theme_1/css/theme_4_0_ie6.css" type="text/css" /><![endif]-->
    <!--[if IE 7]><link rel="stylesheet" href="#IMAGE_PREFIX#themes/theme_1/css/theme_4_0_ie7.css" type="text/css" /><![endif]-->

    <!-- RMORICE : ajout des fichiers css pour le menu -->
    <link rel="stylesheet" type="text/css" href="#APP_IMAGES#style_menu.css">

    <style>
    </style>

  </head>
  <body #ONLOAD#>

    <div id="header_modif">
      <div id="logo_modif"><a href="#HOME_LINK#">#LOGO##REGION_POSITION_06#</a></div>
      <div id="salamander_release">
        <img src="#WORKSPACE_IMAGES#Salamander.jpg" alt="logo Salamander"/>
        #APP_VERSION#
      </div>
      #REGION_POSITION_07#
      <div id="navbar_modif">
        #NAVIGATION_BAR#
        <div class="app-user">#WELCOME_USER#</div>
        #REGION_POSITION_08#
      </div>
    </div>

    <!--[if lte IE 6]><div id="outdated-browser">#OUTDATED_BROWSER#</div><![endif]-->
    #FORM_OPEN#
<style type="text/css">
      #header {
    height: 0px;
}
</style>

<div id="tabs">
  <div class="frame">
    <div class="bg" style="height: 3px;">
      <div class="tab-holder">
        #TAB_CELLS#
      </div>
    </div>
  </div>
</div>
<div id="topbar">#REGION_POSITION_01##REGION_POSITION_04#</div>
<div id="messages">#SUCCESS_MESSAGE##NOTIFICATION_MESSAGE##GLOBAL_NOTIFICATION#</div>

<div id="body">
    <div id="three-col-tbl">
      <table class="tbl-body" cellspacing="0" cellpadding="0" border="0" summary="">
        <tbody>
          <tr>
            <td class="tbl-sidebar">#REGION_POSITION_02#</td>
            <td class="tbl-main" width="100%">#BOX_BODY#</td>
            <td class="tbl-sidebar">#REGION_POSITION_03#</td>     
          </tr>
        </tbody>
      </table>
    </div>
</div>
    <!-- RMORICE : supression du footer  pas entièrement YROSELIER-->
     <div id="footer"  style="height: 1px;>
      <div class="content">
        #REGION_POSITION_05#
        <div id="customize">#CUSTOMIZE#</div>&nbsp;
        </div>
    </div> 
    #FORM_CLOSE#
    #DEVELOPER_TOOLBAR#
    #GENERATED_CSS#
    #GENERATED_JAVASCRIPT#

    <!-- RMORICE : ajout des fichiers js pour le menu -->
    <script src="#APP_IMAGES#jquery-2.1.4.min.js"></script>
    <script src="#APP_IMAGES#jquery.hoverIntent.minified.js" type="text/javascript"> </script>
    <script src="#APP_IMAGES#menu.js" type="text/javascript"></script>
  </body>
</html>

6) Modifier la taille de l'image de la page de connexion

  1. P101_LOGO ⇒ Condition = Never
  2. P101_USER_NAME ⇒ Label Alignement = Left Center
  3. P101_PASSWORD ⇒ Label Alignement = Left Center

7) Ajustements apportés au fichier menu.css (update KO sur CVS !??!)

li.hasSubMenu > div.right-arrow {
  display : inline-block;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 10px solid #C72729;
        float: right
}
/* propriétés communes des "ul" du menu header */
/*--------------------------------------------*/

ul.multiLevelMenu li, ul.subMenu li{
  position: relative;
  display: inline-block;
  width: 85px;
  padding: 5px 5px 5px 5px;
  text-align: center;
  background-color: #FFFFFF;
  color: #000000;
}
.showSubMenuNear {
  top: -4px;
  left: 80px;
}

8) Créer liste menu pour dropdown (récupérer celle de DEV) + créer liste dynamique utilisé par template.