SAP Tutoriel sur les scripts : SE71, SE78, SCC1, VF03, SO10

⚡ Résumé intelligent

SAP Les scripts constituent le système de traitement de texte du SAP Système d'impression de texte préformaté dans des formulaires préformatés. Cette page explique les cinq composants, la mise en page, les commandes de contrôle, le programme d'impression, les types de sortie et les transactions SE71, SE78, SO10 et SCC1.

  • 📝 Définition principale : SAPscript est le système de traitement de texte intégré de SAP, utilisé pour imprimer du texte préformaté dans des formulaires préformatés tels que des factures.
  • 🧱 Cinq composantes : Un éditeur, des styles et des ensembles de mise en page, le compositeur, une interface de programmation et les tables de base de données qui stockent les textes et les formulaires.
  • 📄 Ensemble de mise en page : Le jeu de mise en page ne contient aucune donnée. Il décrit les pages, les fenêtres et les éléments de texte, et le programme d'impression l'alimente avec des données sélectionnées dans la base de données.
  • ️ Commandes de contrôle : Saisies avec /: dans le format de paragraphe, les commandes telles que NEW-PAGE, PROTECT, INCLUDE et PERFORM pilotent la mise en forme de la sortie.
  • 🇧🇷 Programme d'impression : OPEN_FORM, WRITE_FORM et CLOSE_FORM sont obligatoires, tandis que START_FORM et END_FORM sont facultatifs.
  • (I.e. Types de sortie: Stocké dans la table NAST et exécuté par le programme RSNAST00, un type de sortie détermine si le document est imprimé, faxé ou envoyé par la poste.
  • (I.e. Dépendance du client : A SAPLe format du script dépend du client ; il est donc copié entre les clients avec SCC1 ou avec l'utilitaire Copier depuis le client de SE71.

SAP Scripts

Qu'est-ce que le SAP Scénario?

SAP le script est le SAP Le système de traitement de texte propre au système. Il ressemble beaucoup aux autres principaux systèmes de traitement de texte.

Il est utilisé pour imprimer du texte préformaté dans des formulaires préformatés.

Documents types produits avec SAPLes documents concernés sont les factures, les bons de commande, les bons de livraison et les lettres aux clients. Le formulaire est créé une seule fois dans la transaction SE71, et un programme d'impression ABAP fournit les données lors de l'exécution.

Composants de SAPscénario

SAP Les scripts comprennent cinq composants principaux :

Composants de SAPscénario

  1. Un éditeur pour saisir et éditer les lignes d'un texte
  2. Styles et ensembles de mise en page pour la mise en page d'impression. Ceux-ci sont créés indépendamment des textes individuels à l'aide des opérations de gestion correspondantes et sont affectés ultérieurement aux textes.
  3. Le compositeur est un module de sortie central. SAP Le compositeur du script est invisible à l'extérieur
  4. Une interface de programmation qui vous permet d'inclure SAP composants de script dans vos propres programmes d'application et pour contrôler la sortie des ensembles de mise en page à partir des programmes
  5. Plusieurs tables de base de données pour stocker les textes, les styles et les jeux de mise en page

Le schéma ci-dessus illustre l'assemblage de ces composants. L'ensemble de disposition, représenté au centre, est décrit ci-après.

Ensemble de mise en page

Pour éditer des documents à l'aide de l'interface de programmation, les programmes d'application R/3 ont besoin de ce que l'on appelle des jeux de mise en page (une sorte de formulaire). SAP script un jeu de mise en page décrit la mise en page des pages à imprimer individuelles et utilise des éléments de texte pour fournir des blocs de sortie définissables, qu'un programme d'impression peut appeler. Un jeu de mise en page peut être défini comme une conception de page pour un document.

La mise en page, prise isolément, ne contient aucune donnée. La sélection des données du document est effectuée par le programme d'impression. Ce dernier sélectionne les données dans une table de la base de données et les transmet à la mise en page. Une fois le programme d'impression exécuté, le document s'affiche à l'écran et s'imprime.

Généralement un SAPLa mise en page du script comprend les composants suivants

  1. Données d'en-tête: Les données d'en-tête sont utilisées à des fins d'information et de contrôle des SAP impression. Les données d'en-tête comprennent 2 parties - Indépendant du périphérique - Stocke des informations telles que la page de démarrage, le paragraphe par défaut, les attributs de langue, etc. Et dépendant du périphérique, stocke des informations telles que le format de page, les lignes d'orientation par pouce, etc.
  2. Formats de paragraphes et de caractères: Les paragraphes sont formatés à l'aide de divers attributs. Par exemple, les attributs de paragraphe standard spécifient la marge gauche ou droite, l'alignement, l'espacement des lignes, etc. Les attributs de police spécifient la famille de police, la taille de la police, etc. Les formats de caractères permettent de formater des blocs de texte entiers dans un paragraphe.
  3. Windows et éléments de texte : Windows sont des zones de texte individuelles (adresse d'en-tête, date, pied de page) dans une page . Il permet de combiner les informations contenues dans un document en certains groupes et de faire apparaître chaque groupe sur la page imprimée dans une zone individuelle. Vous pouvez définir des éléments de texte (textes de fenêtre) pour chaque fenêtre. Le programme d'impression accède aux éléments de texte par leur nom, les formate et les imprime dans la fenêtre correspondante. Le paragraphe et les formats de caractères utilisés doivent être définis dans le formulaire.
  4. Pages: Ce sont des pages individuelles d'un document et doivent avoir un nom unique. Vous trouverez souvent des mises en page différentes pour les pages individuelles : la première page d'une facture diffère des pages suivantes, sur lesquelles vous n'avez pas besoin de répéter des informations générales, telles que l'adresse ou les données du client.
  5. Page Windows: Lors de la définition des fenêtres et des pages, vous ne déterminez pas encore la position et l'espacement des textes à imprimer. Une fenêtre de page définit la zone de sortie rectangulaire dans le support de sortie en spécifiant le bord supérieur gauche de la zone de sortie ainsi que sa largeur et sa hauteur.

Commandes de contrôle

Le but des « commandes de contrôle » est de permettre le contrôle du formatage de la sortie. Ces commandes ne sont pas interprétées par le SAP éditeur de script, mais sont transmis à l'éditeur de script SAP Composer de script pour le traitement. Cela comprend, par exemple, le formatage des lignes et des pages, le formatage du texte selon les formats de paragraphe et de caractère spécifiés.

Syntaxe

Enter /: in the paragraph format

Exemples

  • NOUVELLE PAGE – Saut de page explicite
  • PROTECT ………ENDPROTECT – Pour imprimer un paragraphe complet sur une seule page.
  • INCLURE – Pour inclure le contenu d’un autre texte dans le texte actuel
  • PERFORM – Pour appeler un sous-programme de n’importe quel programme ABAP

Programme d'impression

L'exécution du script se fait via un Programme ABAP, appelé programme d'impression. Chaque programme d'impression doit avoir un formulaire ENTRY, qui sera appelé depuis la personnalisation.

Pour une configuration standard, nous pouvons voir le nom du formulaire (nom du script), le nom du programme d'impression et le type de sortie dans le tableau TNAPR. Le programme d'impression utilise les fonctions de contrôle Form pour appeler le script.

Le programme d'impression appelle tout ou partie des fonctions de contrôle de formulaire pour exécuter le script.

  • OPEN_FORM (obligatoire) Ouvre la sortie de l'ensemble de mises en page
  • CLOSE_FORM (obligatoire) termine la sortie de l'ensemble de mises en page
  • START_FORM (Facultatif) Démarre un nouvel ensemble de mises en page
  • WRITE_FORM (obligatoire) Appelle un élément d'ensemble de mise en page
  • END_FORM (Facultatif) Termine l'ensemble de mises en page actuel

Comment faire pour créer un SAPFormulaire de script dans SE71

Un travail SAPLa sortie du script nécessite un formulaire, un programme d'impression et une affectation dans la personnalisation. Les étapes ci-dessous permettent de créer un formulaire à partir d'un formulaire vide.

  1. Créez le formulaire : Dans SE71, saisissez un nom de formulaire et une langue, puis cliquez sur Créer. Renseignez les données d'en-tête avec la page de début, le paragraphe par défaut et le format de page.
  2. Définir les formats de paragraphe et de caractère : Créez au moins un format de paragraphe, par exemple AS pour une ligne standard, car chaque élément de texte fait référence à un format de paragraphe.
  3. Créez les pages : Définissez une première page, par exemple PREMIÈRE, et définissez sa page suivante sur SUIVANTE afin que les documents plus longs se poursuivent sur une deuxième mise en page.
  4. Créer les fenêtres et les fenêtres de page : Définissez les fenêtres telles que HEADER, MAIN et FOOTER, puis placez chacune d'elles sur la page et saisissez le bord supérieur gauche, la largeur et la hauteur.
  5. Écrivez les éléments de texte : Ouvrez l'éditeur de texte d'une fenêtre et marquez chaque bloc avec /E suivi du nom de l'élément. Le programme d'impression appellera l'élément par ce nom.
  6. Activez le formulaire et écrivez le programme d'impression : Activez le formulaire, puis appelez les fonctions de contrôle du formulaire depuis le programme ABAP comme indiqué ci-dessous.
  7. Attribuer le type de sortie : Saisissez le nom du formulaire, le programme d'impression et la routine ENTRY dans la table TNAPR via la personnalisation de la sortie de l'application, par exemple NACE.
CALL FUNCTION 'OPEN_FORM'
  EXPORTING
    form     = 'Z_INVOICE'
    language = sy-langu
    device   = 'PRINTER'.

* Print the element ITEM_LINE in the window MAIN
LOOP AT lt_items INTO ls_item.
  CALL FUNCTION 'WRITE_FORM'
    EXPORTING
      element  = 'ITEM_LINE'
      window   = 'MAIN'
      function = 'SET'
      type     = 'BODY'.
ENDLOOP.

CALL FUNCTION 'CLOSE_FORM'.

⚠️ Attention : La fonction WRITE_FORM n'imprime que les champs renseignés au moment de l'appel. Remplissez la zone de travail avant l'appel, car le formulaire utilise les champs globaux du programme d'impression et non les paramètres du module fonction.

Types de sortie

Le type de sortie peut spécifier un formulaire imprimé dont vous avez besoin pour un usage interne ou un formulaire que vous souhaitez envoyer à un client ou un fournisseur. Le type de sortie peut également être un message électronique interne que vous souhaitez envoyer au personnel d'un autre service.

Par exemple, « Impression » peut être classé comme un type de sortie d'une facture, c'est-à-dire que lorsque ce type de sortie est exécuté, la facture est imprimée. De même « Fax » peut être un type de sortie, c'est à dire que lorsque ce type de sortie est exécuté, un fax de la facture est envoyé.

Tous les types de sortie de n'importe quel document (par exemple, facture) seront stockés dans la table NAST. Les types de sortie sont exécutés via le programme RSNAST00 .

Exemple : Type de sortie dans une facture-

  1. Aller à VF03
  2. Saisissez le numéro de la facture et appuyez à nouveau sur Entrée
  3. Choisissez Sortie dans le menu Aller à -> En-tête
  4. Ici, Z101 est un type de sortie d'une sortie d'impression

Types de sortie

La capture d'écran montre l'écran de sortie de la transaction VF03, où le type de sortie Z101 est joint au document de facturation.

Textes et graphiques standards

Les textes standard pour votre rapport peuvent être créés à l'aide de la transaction SO10

Les macros graphiques et d'imprimante sont téléchargées avec rapport RSTXLDMC dans des documents texte standard individuels ou via une transaction SE78. Les graphiques sont téléchargés au format « Baseline TIFF 6.0 » (fichiers .tif sur PC).

SAP Les éléments de texte de script et standard peuvent être exportés ou importés entre deux systèmes à l'aide du programme RSTXSCRP.

Copie de scripts entre clients:

SAP Le script est un objet dépendant du client. Contrairement aux programmes, les modifications apportées à SAP le script dans un client ne sera pas reflété dans les autres clients. Pour copier le script d'un client à un autre, accédez à SE71 et utilisez l'option « Copier depuis le client » disponible dans le menu Utilitaires ou importez la demande de transport, dans laquelle le script est enregistré, depuis le client d'origine utilisant la transaction. CCS1.

Points importants à noter

  1. SAP le script ne conserve aucune version. Ainsi, lors de la modification du SAP script , assurez-vous que les modifications sont bien documentées dans le script. Cela s'applique également aux textes standards.
  2. La sortie du formulaire sera différente lorsqu’elle sera affichée à l’écran et sur l’imprimante. Testez donc toujours la sortie du script sur l’imprimante.

SAPScript vs Formulaires intelligents

SAPLe script est la plus ancienne des deux technologies de formulaire dans SAPet chaque nouveau formulaire est normalement construit avec Formulaires intelligentsLe tableau ci-dessous explique pourquoi.

Critères SAPscénario Formulaires intelligents
Transaction SE71 FORMULAIRES INTELLIGENTS
Dépendance du client Dépendant du client, copié avec SCC1 Indépendant du client
Fenêtre principale Une seule fenêtre principale est requise. Non obligatoire, et plusieurs fenêtres principales sont autorisées
Logique du programme Rédigé dans le programme d'impression séparé Intégré en partie au formulaire, qui génère son propre module de fonction
Formats de sortie Imprimer, faxer et envoyer par courrier Impression, fax, courrier et sortie XML ou HTML
Gestion de version Aucun, les modifications doivent donc être documentées manuellement. Disponible via l'établi

SAPL'écriture reste largement utilisée, car de nombreuses normes SAP Les formulaires et leurs programmes d'impression en dépendent toujours, et parce qu'un formulaire dépendant du client peut être adapté à chaque client.

FAQ

La table TNAPR stocke le nom du formulaire, le programme d'impression et la routine ENTRY pour chaque type de sortie. Consultez-la avec SE16 ou ouvrez la personnalisation des sorties de l'application dans la transaction NACE.

Les graphiques doivent être chargés au format Baseline TIFF 6.0 via SE78 ou le rapport RSTXLDMC, et le formulaire doit faire référence au texte standard généré. Les fichiers couleur ou PNG ne sont pas acceptés par le compositeur.

Activez le débogueur de formulaire via le menu Utilitaires, puis Activer le débogueur dans SE71. Le système s'arrête alors à chaque élément de texte pendant l'exécution du programme d'impression, ce qui permet de vérifier les valeurs des champs.

Le rapport de migration intégré à la transaction SMARTFORMS effectue la conversion. Des assistants IA interviennent ensuite en expliquant les nœuds convertis, en réécrivant les appels du programme d'impression et en listant les éléments de texte nécessitant une retouche manuelle.

SAPLe script ne conserve aucun historique des versions, il est donc difficile d'y apporter des modifications. trace. Les outils d'IA comparent deux exportations produites par RSTXSCRP, résument ce qui a changé dans chaque élément de texte et rédigent la documentation que le formulaire lui-même ne stocke pas.

Résumez cet article avec :