Modification de feuilles Excel pour les Frais de déplacement professionnel 

Vous pouvez utiliser les feuilles de calcul Excel pour saisir les frais de déplacement professionnel dans la composante applicative pour Internet (CAI) correspondante. Si les feuilles Excel installées ne répondent pas à vos exigences, vous pouvez les modifier (par exemple, en insérant ou en supprimant des zones de saisie). Ce chapitre vous offre une rapide vue d’ensemble des feuilles fournies avec l’installation CAI standard et décrit la manière selon laquelle vous pouvez les modifier.

Introduction

Lorsque vous installez la CAI Frais de déplacement professionnel sur le serveur Web, les feuilles Excel relatives aux frais de déplacement sont placées avec les fichiers de service PRWW (dans le sous-répertoire 99\SHEETS).

Les feuilles Excel EN_TRIP.xls et DE_TRIP.xls figurant dans le répertoire 99\Sheets s’ouvrent lorsque l’utilisateur clique sur le lien Télédécharger saisie de justificatifs. Nous vous recommandons toutefois de ne pas modifier ces feuilles, car il est beaucoup plus facile de modifier la feuille Excel TRIP_ITS.xls, qui ne possède pas de protection standard. Elle contient des macros supplémentaires qui vous aident à effectuer des modifications et à traduire dans la langue significative, et qui renouvellent la protection avant de l’envoyer à l’utilisateur final.

Fonctionnement

Lorsque l’utilisateur clique sur le lien Télédécharger saisie de justificatifs, la zone de commande « LOAD » est traitée dans le système R/3. Pendant l’exécution de cette commande, plusieurs appels OLE sont envoyés au serveur spécifié dans le Customizing de destination RFCCOM de la table T706ESS1. Toutes les destinations RFCCOM de la table T706ESS1 sont traitées consécutivement, en prenant en compte un équilibrage simple de la charge entre les différents serveurs. L’appel OLE démarre tout d’abord Excel sur le serveur RFCCOM. Ensuite, les modèles préliminaires spécifiés pour la langue de travail de l’utilisateur sont ouverts (par exemple, DE_TRIP.xls pour l’allemand ou EN_TRIP.xls pour l’anglais). Le répertoire dans lequel la feuille est choisie est déterminé par le paramètre « RAW_TEMPLATE » de la table T706ESS2. Pour accélérer le processus de chargement, vous pouvez copier les dossiers sur le disque dur local (par exemple, dans C:\temp). Une fois la feuille ouverte, toutes les données du Customizing dérivées de la méthode EmployeeTrip.GetOptions sont transférées dans la feuille Excel. Les données y sont enregistrées en arrière-plan et ne peuvent être vues par l’utilisateur. Ces données comprennent les règles de contrôle de données, les valeurs pour les listes de sélection et les règles de gestion d’entreprise pour les justificatifs.

Après l’initialisation, la feuille Excel est protégée et enregistrée dans le répertoire statique du serveur Web sous un nom prédéfini (le matricule de l’utilisateur). Le répertoire dans lequel la feuille est enregistrée est déterminé par le paramètre TEMPLATE de la table T706ESS2. Après que la feuille a été sauvegardée, une page HTML du navigateur Web de l’utilisateur est affichée et le navigateur charge la feuille Excel à partir du serveur Web. Le serveur Web à partir duquel la feuille est chargée est également défini par les paramétrages du Customizing dans la table T706ESS2 (paramètre HTTP_OUT). Les paramètres TEMPLATE et HTTP_OUT font tous deux référence au même répertoire. Le paramètre TEMPLATE spécifie le nom UNC et le paramètre HTTP_OUT le nom URL pour le répertoire.

Lorsque la feuille a été chargée depuis le serveur Web, elle est affichée dans le mandant (dans le navigateur ou une fenêtre Excel distincte). L’utilisateur peut maintenant commencer à saisir des frais de déplacement ou sauvegarder la feuille sur le disque dur local et l’utiliser comme modèle pour la saisie des déplacements.

Après avoir saisi les données, l’utilisateur sélectionne Soumettre. Cette commande lance la macro Excel « Submit_Web » qui extrait les données saisies. Lorsque les données sont extraites de la feuille, elles ne sont pas immédiatement transférées au serveur Web. Elles sont tout d’abord enregistrées dans un dossier sur le disque dur local, sous C:\EmployeeID.htm, où EmployeeID correspond au matricule de l’utilisateur. Ce fichier contient toutes les données saisies dans des zones HTML et des zones de saisie masquées pour le nom d’utilisateur et le mot de passe (le salarié peut être hors ligne entre le moment où la feuille est télédéchargée et celui où les données sont demandées).

Dès que l’utilisateur a saisi le mot de passe et sélectionné Soumettre, le formulaire est transféré au serveur Web. Le service PRWW est lancé et la zone de commande CREA est traitée immédiatement. Toutes les données sont extraites du flux de données HTTP et enregistrées dans la méthode EmployeeTrip.CreateFromData.

Les processus d’initialisation et de demande sont illustrés dans les graphiques suivants :

Fonctions de base

Fonctions générales

Lorsque le fichier Excel est créé pour le salarié, la feuille « Lookup_Data » est complétée avec les informations du Customizing pour ce salarié. Cette feuille contient toutes les informations récupérées à partir du système R/3 (par exemple, les catégories de frais et les pays).

Lorsque les données sont saisies, la feuille « Données » enregistre toutes les données du justificatif (en particulier les informations sur les justificatifs supplémentaires). Toutes les autres informations sont enregistrées dans les écrans de saisie significatifs, afin d’éviter d’enregistrer les mêmes informations à différents endroits.

La feuille « Textes » contient toutes les chaînes de caractères de ressource nécessaires pour afficher des messages ou des textes de zone dans la langue appropriée de manière à pouvoir convertir le fichier Excel. Si des messages d’erreur sont nécessaires, la macro « MsgText » (dans le module fonction) est appelée. Elle prend le texte de cette feuille et remplace les variables $v1 à $v3 par les valeurs de zone appropriées ou d’autres textes.

Si l’utilisateur accède au fichier Excel sur le disque dur local ou qu’il l’appelle à partir du navigateur Web, la macro « Auto_open » est exécutée. Cette macro lance les événements « Modifier » (macro « Field_OnChange ») et « Double-cliquer » (macro « Field_OnDoubleClick ») dans l’écran de saisie principal et occulte le bouton Démarrer. (Celui-ci n’est visible que dans les cas où la macro « Auto_open » n’est pas exécutée, comme dans certaines versions antérieures d’Excel).

Le module Excel « Soumettre » comprend le code permettant d’extraire les données saisies dans le fichier Excel et crée un fichier HTML sur le disque dur local. Lorsque les données sont extraites, une chaîne de caractères contenant toutes les instructions HTML nécessaires pour une page HTML complète (par exemple <HTML> <BODY> <...> </BODY> </HTML>) est créée. Dans cette chaîne de caractères, toutes les données saisies sont enregistrées dans des zones HTML masquées (<INPUT TYPE=HIDDEN NAME=xyz VALUE="abc">). Cette chaîne est ensuite enregistrée dans Excel sous le nom de fichier EmployeeID.htm à l’aide de commandes d’E/S standard. Enfin, après la sauvegarde du dossier, la macro « Define_Transfer » est exécutée. Cette macro spécifie le mode de lancement du navigateur standard. (Excel 95 utilise la commande start, NT 4.0 la commande cmd et Windows 3.x le chemin d’accès complet vers le navigateur Web). Le navigateur est ensuite lancé avec la commande Shell et le mode de transfert significatif afin de lancer le fichier récemment créé.

Modification des feuilles - introduction

Vous pouvez modifier les modèles de base à l’aide d’Excel 97 (n’utilisez pas les versions antérieures), en commençant par le modèle de conversion (TRIP_ITS.xls). Les modèles de base (par exemple, DE_TRIP.xls et EN_TRIP.xls) peuvent être créés semi-automatiquement par la suite dans le processus à l’aide du modèle de conversion. Ce dernier contient des macros supplémentaires qui peuvent vous aider pendant le processus de modification.

Pour accéder au modèle de conversion, sélectionnez le fichier TRIP_ITS.xls dans la boîte de dialogue « Ouvrir fichier » et appuyez sur la touche MAJUSCULE pendant que vous sélectionnez « Ouvrir ».

Cela empêche l’exécution de la macro auto_open. Dès que cette macro auto_open a été exécutée, certains boutons ne peuvent plus être affichés et tous les événements pour la feuille sont lancés   : toute modification de la feuille devient pratiquement impossible.

 

 

Création de feuilles dépendantes de la langue

Conditions préalables :

  1. MS Excel 97 ou une version supérieure est installé.
  2. La bibliothèque RFC de SAP Automation est installée.

Comme mentionné auparavant, vous ne devez pas utiliser les feuilles dépendantes de la langue pour modifier la feuille. Utilisez la feuille TRIP_ITS.xls pour effectuer vos modifications, puis recréez les feuilles dépendantes de la langue.

  1. Lorsque vous avez fini de modifier le modèle de conversion, vous devez recréer le modèle de base dépendant de la langue. Pour ce faire, procédez comme suit :
  2. Sauvegardez la version actuelle de la feuille TRIP_ITS.xls dans le répertoire 99\sheets.
  3. Ouvrez le module fonction « xxx_ITS ».
  4. Sélectionnez la macro « Traduire ».
  5. Sélectionnez la langue appropriée, en paramétrant la variable « Langue » (par exemple, langue = « EN » pour l’anglais).
  6. Les chaînes de caractères sont lues pour la langue sélectionnée à partir du système R/3.

  7. Lancez la macro « Traduire ».
  8. Cette macro lit les chaînes de caractères du système R/3 en lançant le module fonction GET_TEXTELEMENT_FOR_SHEET plusieurs fois. Vous pouvez ajouter plus d’éléments de texte à la table T706ESS3 dans les intervalles de nom client X*, Y*, et Z*.

  9. Si vous le souhaitez, vous pouvez supprimer le module fonction xxx_ITS afin de sauvegarder la bande passante de transfert lors du transfert vers le PC mandant. Pour supprimer le module, cliquez dessus avec le bouton droit de la souris et sélectionnez « Supprimer » dans le menu de la boîte de dialogue.
  10. Sauvegardez le modèle de base récemment créé dans le répertoire 99\sheets sous le nom [langue]_TRIP.xls, où [langue] correspond au code langue à deux caractères R/3.
  11. Rechargez le modèle de conversion et répétez la procédure à partir de l’étape 2 pour toutes les langues que vous voulez proposer sur votre serveur Web.
  12. Cette procédure garantit que les feuilles Excel sont les mêmes dans toutes les langues et fonctionnent de la même manière.

  13. Si la variable « RAW_TEMPLATE » de la table T706ESS2 ne correspond pas au chemin sous lequel vous avez enregistré les modèles de base, vous devez envoyer les nouvelles feuilles à tous les serveurs exécutant RFCCOM et les placer dans les répertoires appropriés.

 

Conventions d’appellation pour le transfert de données

Quand des données sont transférées au serveur Web à l’aide de HTTP Post, vous ne devez pas utiliser plusieurs noms de zone lorsque vous ajoutez des zones à la feuille. Ces noms de zone sont déjà utilisés par le fichier Excel. Le chapitre suivant liste ces noms de zone.

Saisie des justificatifs

Données de déplacement générales :

Nom de zone

Description

Nom de zone

Description

       

PID

Identification de l’employé

   

SDATE

Date de début du déplacement

STIME

Heure de début du déplacement

EDATE

Date de fin du déplacement

ETIME

Heure de fin du déplacement

REASON

Motif du déplacement

DEST

Destination

COUNTRY

Pays de déplacement principal

REGION

Région de déplacement principale

PDMEALS

Calcul forfaitaire des repas

PDACCOM

Calcul forfaitaire nuitées

NONIGHTS

Calcul forfaitaire du nombre de nuits

   

DATEOUT

Date de passage de la frontière à l’aller

TIMEOUT

Heure de passage de la frontière à l’aller

DATEIEN

Date de passage de la frontière au retour

TIMEIN

Heure de passage de la frontière au retour

COUNTRYIN

Pays d’où il revient

REGIONIN

Région d’où il revient

TTCSIN

Catégorie de déplacement propre à la société pour le passage de la frontière

   

SCHEMA

Schéma de déplacement

TTCS

Catégorie de déplacement globale propre à la société

TTSTAT

Catégorie de déplacement globale statutaire

TTACTI

Catégorie d’activité du déplacement globale

 

Justificatifs :

(xxx est un paramètre remplaçable pour le numéro du justificatif significatif, par exemple, RTY012 pour la catégorie de justificatif 12)

RNOxxx

Numéro du justificatif

RTYxxx

Catégorie de frais

RAMxxx

Montant du justificatif (4 décimales)

RCUxxx

Devise

RRAxxx

Cours de la devise (5 décimales)

RVAxxx

Taux de la TVA (2 car.)

RDAxxx

Date du justificatif

RTExxx

Désignation (11 car.)

RSTxxx

Affectation d’étape

RPSxxx

Pourcentage ou absolu

RBRxxx

Nombre de petits déjeuners

RCNxxx

Pays du justificatif

RRGxxx

Région du justificatif

RTTxxx

Catégorie de déplacement pour le justificatif

RFDxxx

Date de début

RTDxxx

Date de fin

RNUxxx

Nombre (de nuitées/personnes)

RDExxx

Description (50 car.)

RLOxxx

Lieu (50 car.)

RPUxxx

But (50 car.)

RRExxx

Motif (50 car.)

RCCxxx

Société de carte de crédit (2 car.)

RCDxxx

N° de la carte de crédit

RCTxxx

Établissement de service de la carte de crédit

 

Kilomètres :

(xxx est un paramètre remplaçable pour le poste km significatif, par exemple, MICO012 pour le poste km 12, pays)

MINOxxx

Nombre de km

MIDAxxx

Date des km

MITOxxx

Total des km

MIDOMxxx

Kilométrage intérieur

MIPLxxx

Plaque minéralogique

MIMAxxx

Marque de la voiture

MITYxxx

Catégorie de véhicule

MICLxxx

Classe de véhicule

MICOxxx

Pays

MIRGxxx

Région

 

Étapes :

(xx est un paramètre remplaçable pour le poste d’étape significatif, par exemple, STFD01 pour la date de début, poste d’étape 1)

STNOxx

Nombre d’étapes

STFDxx

Date de début

STFTxx

De l’heure

STTDxx

Date de fin

STTTxx

À l’heure

STRExx

Motif

STLOxx

Lieu

STCOxx

Pays

STRGxx

Région

STSTTxx

Catégorie légale de déplacement

STTTCSxx

Catégorie de déplacement interne

STATTxx

Catégorie d’activité du déplacement

STNIGHTxx

Nombre de nuitées lors de l’étape

   

 

Texte :

TEXTxxx

Ligne de texte