Vous êtes sur la page 1sur 20

Modèle utilisé : STD-M_SAP_NumDemande_v1.

CS : CSA
Spécifications techniques détaillées
BD : OMEGA Projet : FI112 – Affacturage : Extraction facture/avoir

Auteurs Date de création : 23/12/09


MSAB Date de révision : --/--/----

Historique du document

Version Date Qui Ref. Descriptif des modifications


Besoin
V1.0 23/12/09 MSAB 0000020 Création programme
GOBR d’affacturage
SDEL
V1.1 03/12/2019 ATOS IL20704 Ajout du mode de paiement T
V1.2 11/02/2022 IHA ITSC-3997 Changer le n° du contrat en
(WYN fonction de la devise pour la
SYS) société de factoring d’Espagne

Documents associés

Version Date Nom du document Description

Recommandations pour la rédaction de ce document :


 Ce document doit comporter une référence en zone entête et en préfixe du nom du document
(ex : ADE-CODEV-NUMTACHE-VRS.doc)
 Les rubriques présentes dans le document vous permettent de construire votre spécification pas
à pas. Les indications, commentaires pré inscrits dans ces rubriques sont une aide et un rappel
des items à traiter : les remplacer par vos propres informations. Si une rubrique n’est pas
concernée par votre sujet mettre RAS en lieu et place.
 la gestion des versions doit se faire en les repérant avec un identifiant §xxx dans le document indiqué dans
la page de garde (Historique des versions), puis dans le document, en encadrant les modifications par d§xxx
(pour début) et f§xxx (pour fin). C'est contraignant, mais le développeur trouve les évolutions
immédiatement dans la spécification. Vous pouvez en plus utiliser le sur lignage de couleur (attention à
l’impression).
 la gestion des versions doit être conjointe avec un numéro de demande de travail
 en cas de création d'une table spécifique, il faut prévoir les règles et droits d'accès (cela peut conditionner la
façon de créer la table)
 bien décrire les messages (anomalies, warnings,….)
 prévoir toutes les traductions (champs, messages, sorties) en anglais
 dans la mesure du possible, identifier les objets SAP à modifier ou à créer

Fichier : 741594870.docx Page 1/20


Date d’impression : 04/04/24
Modèle utilisé : STD-M_SAP_NumDemande_v1.2

CS : CSA
Spécifications techniques détaillées
BD : OMEGA Projet : FI112 – Affacturage : Extraction facture/avoir

Revue fonctionnelle

Version Date Interlocuteur fonctionnel

Complexité

Complexité de l’interface Date


d’évaluation

Fichier : 741594870.docx Page 2/20


Date d’impression : 04/04/24
Modèle utilisé : STD-M_SAP_NumDemande_v1.2

CS : CSA
Spécifications techniques détaillées
BD : OMEGA Projet : FI112 – Affacturage : Extraction facture/avoir

SOMMAIRE

1 Description du besoin............................................................................................................................................. 3
Besoin fonctionnel.................................................................................................................................................. 3
Documents de référence........................................................................................................................................ 3
2 Schéma de traitement.............................................................................................................................................. 3
2.1 Description....................................................................................................................................................... 3
2.2 Objets créés...................................................................................................................................................... 3
2.3 Données en entrée........................................................................................................................................... 3
2.3.1 Ecran de sélection...................................................................................................................................... 3
2.3.2 Fichier en entrée........................................................................................................................................ 3
2.3.3 Tables spécifiques utilisées....................................................................................................................... 3
3 Algorithme................................................................................................................................................................ 3
3.1 DECLARATION des données.......................................................................................................................... 3
3.2 INITIALISATION des variables, structures, tables internes, etc..................................................................3
3.3 CONTROLE des saisies de l’écran de sélection...........................................................................................3
3.4 SELECTION des données................................................................................................................................ 3
3.5 TRAITEMENT des données selon les règles de gestion..............................................................................3
3.5.1 Etapes........................................................................................................................................................ 3
3.5.2 Règles de gestion...................................................................................................................................... 3
3.6 TRANSFERT des données vers le fichier de sortie......................................................................................3
3.7 EDITION............................................................................................................................................................. 3
Mode Sélection des données..................................................................................................................................... 3
Mode Création des pièces comptables...................................................................................................................... 3
Mode Modification des factures/avoirs....................................................................................................................... 3
Mode Génération du fichier........................................................................................................................................ 3
3.8 Liste des anomalies et/ou des messages d’erreur.......................................................................................3
3.9 Table des constantes ZTVARVC.....................................................................................................................3

Fichier : 741594870.docx Page 3/20


Date d’impression : 04/04/24
Modèle utilisé : STD-M_SAP_NumDemande_v1.2

CS : CSA
Spécifications techniques détaillées
BD : OMEGA Projet : FI112 – Affacturage : Extraction facture/avoir

1 Description du besoin
SGD va mettre en place un principe d’affacturage avec RBS. Pour cela, entre autre chose,
Besoin fonctionnel
SGD doit fournir les factures et avoirs des clients entrant dans le périmètre de cette
fonctionnalité sous la forme d’un fichier texte qui sera remonté manuellement dans un outil
WEB (FacFlow) fournit par RBS.

Documents de SGD-DSI-SFD-FI-FI112-Affacturage-interface-facture-avoir_FR-V18.doc
référence

Fichier : 741594870.docx Page 4/20


Date d’impression : 04/04/24
Modèle utilisé : STD-M_SAP_NumDemande_v1.2

CS : CSA
Spécifications techniques détaillées
BD : OMEGA Projet : FI112 – Affacturage : Extraction facture/avoir

2 Schéma de traitement

2.1 Description

Désignation Valeur Observations


Nom ZFI_MJ_AFFACTURAGE Nom du programme
Transaction ZFI112 Nom de la transaction
Type 1 Programme exécutable
Statut Programme client productif
Application * Inter appli.
Base de données Logique
Classe ZFI-FI112 Package

2.2 Objets créés

Désignation Valeur Observations


Programme ZFI_MJ_AFFACTURAGE
Transaction ZFI112
Transaction ZTFI112_01 Table de paramétrage
Transaction ZTFI112_DATA Table des données
Groupe d’autorisation AFF Affacturage
Package ZFI-FI112
Classe de messages ZFIAFFACT
Groupe de fonctions ZZFI112
Objet de blocage EZTFI112_01
Table ZTFI112_01 Table de paramétrage
Table ZTFI112_DATA Table des données
Elément de données ZCOMPTE_CR Compte créances cédées
Elément de données ZCOMPTE_RBS Compte RBS Factor
Elément de données ZCONTRAT_AFF N° du contrat d'affacturage
Elément de données ZENVOI N° d’envoi
Elément de données ZAFFACT_BELNR_M Pièce miroir
Elément de données ZAFFACT_LOG_EM Log Erreur Modification pièce
Elément de données ZAFFACT_LOG_EP Log Erreur Pièce miroir
Elément de données ZAFFACT_LOG_ES Log Erreur Sélection
Elément de données ZAFFACT_STATUT Statut
Elément de données ZAFFACT_TYPE Type Facture/Avoir
Elément de données ZENREG1_254 Enregistrement 1ère partie
Elément de données ZENREG2_106 Enregistrement 2ème partie
Domaine ZAFFACT_STATUT Statut (ES, EP, EM, PS, PM, PC
ou PT)
Domaine ZAFFACT_TYPE Type Facture/Avoir (F ou A)

Fichier : 741594870.docx Page 5/20


Date d’impression : 04/04/24
Modèle utilisé : STD-M_SAP_NumDemande_v1.2

CS : CSA
Spécifications techniques détaillées
BD : OMEGA Projet : FI112 – Affacturage : Extraction facture/avoir

2.3 Données en entrée

2.3.1 Ecran de sélection

Libellé Type Saisi Format Nom Contrôle Valeur par


e oui/non défaut
Critères principaux
N° de cession P O KNB1-CESSION_KZ P_CESSIO
N° d’envoi P F CHAR3 P_ENVOI Zone grisée
Mode test C F P_TEST Cochée
MODE NORMAL R P_NORM Coché
1 – Sélection des données C F P_TRAIT1 Cochée
Sélection pièces
Société P O BSID-BUKRS P_BUKRS Obligatoire si SGD
P_TRAIT1 cochée
Exercice SO F BSID-GJAHR S_GJAHR
N° de pièce comptable SO F BSID-BELNR S_BELNR
Date de création des pièces SO F BKPF-CPUDT S_CPUDT
Période SO F BKPF-MONAT S_MONAT
Devise P O KNVV-WAERS P_WAERS Obligatoire si
P_TRAIT1 cochée
Type de pièces facture SO O BSID-BLART S_BLARTF Obligatoire si
P_TRAIT1 cochée
Type de pièces avoir SO O BSID-BLART S_BLART Obligatoire si
A P_TRAIT1 cochée
Code relance SO F BSID-MANSP S_MANSP
Sélection clients
N° de client SO F KNA1-KUNNR S_KUNNR
Nom du client SO F KNA1-NAME1 S_NAME1
Mode de paiement SO F KNB1-ZWELS S_ZWELS
Comptes généraux SO O BSID-HKONT S_HKONT Obligatoire si
P_TRAIT1 cochée
Code Pays SO F KNA1-LAND1 S_LAND1

2 – Création des pièces C F P_TRAIT2


comptables de suivi

3 – Modification des C F P_TRAIT3


factures/avoirs

4 – Génération du fichier C F P_TRAIT4


Options techniques
Nom fichier P F P_FILE Obligatoire si
P_TRAIT4 cochée
MODE SUPPRESSION R P_SUPP
Information à afficher : Ce mode va supprimer les enregistrements préalablement sélectionnés pour le code cession donné,
le n° d’envoi vide, les pièces miroir non créées, les pièces originales non modifiées.

Type (P)arameters (S)elect-options (B)ooleen ®adio-bouton (C)ase à cocher


Saisie (O)bligatoire (F)acultatif

Fichier : 741594870.docx Page 6/20


Date d’impression : 04/04/24
Modèle utilisé : STD-M_SAP_NumDemande_v1.2

CS : CSA
Spécifications techniques détaillées
BD : OMEGA Projet : FI112 – Affacturage : Extraction facture/avoir

Fichier : 741594870.docx Page 7/20


Date d’impression : 04/04/24
Modèle utilisé : STD-M_SAP_NumDemande_v1.2

CS : CSA
Spécifications techniques détaillées
BD : OMEGA Projet : FI112 – Affacturage : Extraction facture/avoir

2.3.2 Fichier en entrée


SO

2.3.3 Tables spécifiques utilisées

ZTFI112_01
Nom de zone Clé Elément de Données Domaine Format Longueur Désignation
Domaine d’édition
MANDT X MANDT MANDT CLNT(3) 3 Mandant
CESSION X KNB1-CESSION_KZ CHAR 2 Code de cession
DEVISE X WAERS_V02D CUKY 5 Devise
CONTRAT CHAR 6 N° du contrat
d’affacturage
COMPTE BSID-HKONT CHAR 10 Compte RBS Factor
COMPTE_CR BSID-HKONT CHAR 10 Compte créances
cédées
ENVOI NUMC 5 N° d’envoi
La table ZTFI112_01 est gérée en SM30. La transaction ZTFI112_01 permet de gérer cette table.

Fichier : 741594870.docx Page 8/20


Date d’impression : 04/04/24
Modèle utilisé : STD-M_SAP_NumDemande_v1.2

CS : CSA
Spécifications techniques détaillées
BD : OMEGA Projet : FI112 – Affacturage : Extraction facture/avoir

ZTFI112_DATA
Nom de zone Clé Elément de Données Domaine Format Long. Désignation
Domaine
MANDT X MANDT MANDT CLNT(3) 3 Mandant
CESSION_KZ X CESSION_KZ CHAR 2 Code de cession
BUKRS X BUKRS CHAR 4 Société
GJAHR X GJAHR NUMC 4 Exercice comptable
BELNR X BELNR_D CHAR 10 Numéro de pièce
comptable
BUZEI X BUZEI NUMC 3 Numéro du poste dans la
pièce comptable
ZUONR ZUONR CHAR 18 Nº d'affectation
N_ENVOI ZENVOI NUMC 3 N° d’envoi
KUNNR KUNNR CHAR 10 Numéro de client 1
KURSF KURSF DEC 9 Cours de change
TYPE ZAFFACT_TYPE ZAFFACT_TYPE CHAR 1 Type Facture/Avoir
STATUT ZAFFACT_STATUT ZAFFACT_STAT CHAR 2 Statut
UT
BELNR_MIROIR ZAFFACT_BELNR_M CHAR 10 Pièce miroir
ENREG1 ZENREG1_254 CHAR 254 Enregistrement 1ère partie
ENREG2 ZENREG2_106 CHAR 106 Enregistrement 2ème
partie
LOG_ES CHAR 100 Log Erreur Sélection
LOG_EP CHAR 100 Log Erreur Pièce miroir
LOG_EM CHAR 100 Log Erreur Modification
pièce
La table ZTFI112_DATA est gérée en SM30. La transaction ZTFI112_DATA permet de gérer cette table.

Fichier : 741594870.docx Page 9/20


Date d’impression : 04/04/24
Modèle utilisé : STD-M_SAP_NumDemande_v1.2

CS : CSA
Spécifications techniques détaillées
BD : OMEGA Projet : FI112 – Affacturage : Extraction facture/avoir

3 Algorithme
Début de programme

DECLARATION des données (tables internes, variables, constantes, paramètres, SO,...),


INITIALISATION des variables, structures, tables internes, etc...
CONTROLE des saisies de l’écran de sélection,
SELECTION des données
TRAITEMENT des données selon les règles de gestion,
TRANSFERT des données vers le fichier de sortie,
EDITION du compte-rendu d’exécution.

Fin de programme

3.1 DECLARATION des données


Exemple de déclaration de table interne :

Nom de zone Libellé de la rubrique Définition zone Observations


BLDAT Date pièce BKPF-BLDAT

3.2 INITIALISATION des variables, structures, tables internes, etc...


Initialisation des critères de sélection
Alimenter le select_options s_kunnr avec les comptes clients suivants à exclure :
36129, 35560, 36339, 22401, 22402, 22407, *SG*

Alimenter le select-options s_name1 avec les noms de client suivants à exclure :


*saint*gobain* (quelque soit la casse)

3.3 CONTROLE des saisies de l’écran de sélection

# Zone RG
RG01 N° envoi Cette zone doit toujours être grisée.
Elle doit être renseignée par défaut avec le n° d’envoi présent dans la table de
paramétrage incrémenté de 1. Le n° d’envoi récupéré dans la table correspond à celui
dont la clé code cession est renseignée dans l’écran de sélection.
RG02 Code cession Le code cession doit se terminer par 0. Sinon message d’erreur
RG03 Mode sélection Si cette case est cochée, les zones suivantes sont obligatoires :
- Société
- Type de pièces facture
- Type de pièces avoir
- Devise
- Comptes généraux
RG04 Mode génération Si cette case est cochée, la zone correspondant au nom du fichier est obligatoire
fichier
RG05 Mode suppression Si ce mode est sélectionné, aucun des 4 traitements du mode normal ne sera effectué.
De plus, les contrôles sur les zones obligatoires ne doivent pas être réalisés même si les
modes sélection et/ou génération du fichier sont cochés .

Fichier : 741594870.docx Page 10/20


Date d’impression : 04/04/24
Modèle utilisé : STD-M_SAP_NumDemande_v1.2

CS : CSA
Spécifications techniques détaillées
BD : OMEGA Projet : FI112 – Affacturage : Extraction facture/avoir

3.4 SELECTION des données


Sélectionner les données de la table de paramétrage ZTFI112_01 avec comme critère le code cession et le devise
saisi sur l’écran de sélection et stocker le résultat dans une structure qui sera utilisée dans différentes parties du
programme.
Si aucune entrée n’est trouvée alors la sélection se fait uniquement par le code cession.
Si aucune entrée n’est trouvée
Affichage d’un message d’erreur : La table de paramétrage ZTFI112_01 est vide.

La sélection des données se fera en fonction du mode de traitement sélectionné.

Pour chaque traitement, il faudra lors de la sélection des données, procéder à un contrôle d’autorisation et afficher un
message si l’utilisateur n’a pas les droits pour la société traitée et arrêter le traitement.
Pour effectuer le contrôle, utiliser l’objet d’autorisation F_BKPF_BUK pour la société traitée et le code activité ‘01’.

Si Traitement 1 - Sélection des données


Sélection des clients
Sélectionner les clients n’ayant pas de témoin de suppression (LOEVM = vide) dans la table KNA1 avec les
critères n° client (KUNNR), code pays (LAND1) et nom (NAME1) correspondant à ceux de l’écran de
sélection.
Sélectionner dans la table KNB1 les données société des clients remontés par la sélection précédente avec la
société (BUKRS) et le mode de paiement (ZWELS) correspondant à ceux saisis sur l’écran de sélection.
Sélectionner dans la table KNVV les données de vente des clients remontés précédemment avec LOEVM =
vide et dont le schéma de couverture (KABSS est différent de ‘Z001’ et ‘Z003’.
Supprimer de T_KNA1 les clients non présents dans T_KNVV.

Si aucun compte client n’a été trouvé


Afficher un message le précisant est revenir sur l’écran de sélection
Sinon
Continuer le traitement

Sélection des pièces


Sélectionner les données dans la table BSID pour chaque client (KUNNR) de T_KNA1 avec les critères
suivants : Société (BUKRS), Exercice comptable (GJAHR), n° de pièce comptable (BELNR), Date de création
(CPUDT), Devise (WAERS), Période (MONAT), Comptes généraux (HKONT) et Code relance (MANSP)
correspondant à ceux saisis sur l’écran de sélection. De plus, le critère type de pièce (BLART) doit
correspondre aux zones types de pièce facture et types de pièce avoir.

Si aucune pièce comptable n’a été trouvée


Afficher un message le précisant est revenir sur l’écran de sélection
Sinon
Sélectionner les zones Société (BUKRS), n° de pièce comptable (BELNR), Exercice comptable
(GJAHR) et Cours de change (KURSF) de la table BKPF pour chaque entrée dans la table T_BSID.

Si Traitement 2 - Création des pièces comptables de suivi


Sélection des données dans ZTFI112_DATA avec :
o CESSION_KZ = code cession de l’écran de sélection
o N_ENVOI = 0
o STATUT = ‘PS’

Si Traitement 3 - Modification des factures/avoirs


Sélection des données dans ZTFI112_DATA avec :
o CESSION_KZ = code cession de l’écran de sélection
o N_ENVOI = 0
o STATUT = ‘PC’
o BELNR_MIROIR différent de vide

Si Traitement 4 - Génération du fichier


Sélection des données dans ZTFI112_DATA avec :
Fichier : 741594870.docx Page 11/20
Date d’impression : 04/04/24
Modèle utilisé : STD-M_SAP_NumDemande_v1.2

CS : CSA
Spécifications techniques détaillées
BD : OMEGA Projet : FI112 – Affacturage : Extraction facture/avoir

o CESSION_KZ = code cession de l’écran de sélection


o N_ENVOI = 0
o STATUT = ‘PM’

Si Mode suppression
Sélection des données dans ZTFI112_DATA avec :
o CESSION_KZ = code cession de l’écran de sélection
o N_ENVOI = 0
o STATUT = ‘PS’, ‘ES’ ou ‘EP’

3.5 TRAITEMENT des données selon les règles de gestion

3.5.1 Etapes
Blocage de la table de paramétrage ZTFI112_01
Vérifier si la table de paramétrage ZTFI112_01 est en cours de modification en SM30 en utilisant le Module Fonction
ENQUEUE_E_TABLEE
Si la table est en cours de modification
Afficher un message d’erreur

Si Mode normal et …
Si Traitement 1 - Sélection des données
Sélection des données comme précisé dans la partie 3.4

Mise à jour de la table des données affacturage ZTFI112_DATA


On commence par sélectionner les données affacturage correspondant aux zones code cession, exercice
comptable, n° pièce et n° poste de la pièce de la table T_BSID. De plus, la société correspond à celle saisie
sur l’écran de sélection, le n° envoi est égal à zéro et les statuts doivent être différents de ‘ES’, ‘PS’ et ‘EP’.

Boucler sur la table T_BSID


Si la pièce en cours est présente dans la table T_DATA issue de la sélection précédente
Aucun traitement n’est effectué, on passe à l’occurrence suivante de la boucle
Sinon
Mettre à jour la table des données ZTFI112_DATA avec les règles de gestion relatives à
chaque zone des enregistrements d’entête, de factures, d’avoirs et de fin (cf. 3.6).

Initialiser toutes les clés de la table de données avec les valeurs présentes dans T_BSID.

Faire une lecture dans T_BKPF pour l’enregistrement en cours de T_BSID afin d’initialiser la
zone KURSF de la table des données.

Les zones ENREG1 et ENREG2 de la table des données contiennent la concaténation des
champs d’un enregistrement facture ou d’un enregistrement avoir.

La zone LOG_ES contient la concaténation des zones obligatoires non renseignées. De


plus, si la date d’échéance est inférieure ou égale à la date du jour ajouter à cette zone :
‘Facture échue’ pour une facture ou ‘Avoir échu’ pour un avoir.

Si Traitement 2 - Création des pièces comptables de suivi


Sélection des données comme précisé dans la partie 3.4

Si mode test sélectionné


Afficher message : Aucune pièce créée, pas mise à jour de table
Arrêt du traitement 2

Boucle sur chaque pièce issue de la précédente sélection


Le but étant de conserver l’intégrité des données pour chaque pièce, le COMMIT ne sera effectué
que si la création de la pièce et la modification de la table ZTFI112_DATA ont bien été effectuées.
Dans les autres cas, faire un ROLLBACK et passer à l’occurrence suivante de la boucle.
Fichier : 741594870.docx Page 12/20
Date d’impression : 04/04/24
Modèle utilisé : STD-M_SAP_NumDemande_v1.2

CS : CSA
Spécifications techniques détaillées
BD : OMEGA Projet : FI112 – Affacturage : Extraction facture/avoir

Création de la pièce avec la BAPI BAPI_ACC_DOCUMENT_POST avec les paramètres suivants :


Structure DOCUMENTHEADER
 document header-bus_act = 'RFBU'
 document header-doc_type = ‘ZF’
 document header-doc_date = Date du jour
 document header-pstng_date = Date du jour
 document header-comp_code = zone société de l’enregistrement en cours
 document header-username = Nom utilisateur
 document header -header_txt = ‘Cess fac n°’ ou ‘Cess av n°’ selon type = ‘F’ ou ‘A’

Table ACCOUNTGL
1ère ligne
 accountgl-itemno_acc = '1'
 accountgl-gl_account = N° compte RBS (issu de la table de paramétrage en fonction code
cession saisi)
 accountgl-alloc_nmbr = N° de la facture ou n° de l’avoir
 accountgl-value_date = Date de la pièce facture ou avoir

2e ligne
 accountgl-itemno_acc = '2'
 accountgl-gl_account = N° compte créances (issu de la table de paramétrage en fonction
code cession saisi)
 accountgl-alloc_nmbr = N° de la facture ou n° de l’avoir
 accountgl-value_date = Date de la pièce facture ou avoir

Table CURRENCYAMOUNT
1ère ligne
 currencyamount-itemno_acc = '1'
 currencyamount-curr_type = '00'
 currencyamount-currency = Devise de la facture ou devise de l’avoir
 currencyamount-amt_doccur = Montant de la facture ou montant de l’avoir * -1
 currencyamount-exch_rate = Cours de change de la facture ou de l’avoir

2e ligne
 currencyamount-itemno_acc = '2'
 currencyamount-curr_type = '00'
 currencyamount-currency = Devise de la facture ou devise de l’avoir
 currencyamount-amt_doccur = Montant de la facture * -1 ou montant de l’avoir
 currencyamount-exch_rate = Cours de change de la facture ou de l’avoir

Si la création de la pièce a été effectuée avec succès, mettre à jour la table ZTFI112_DATA
concernant la pièce en cours de traitement. Mettre à jour les zones suivantes :
 STATUT = ‘PC’
 BELNR_MIROIR = n° pièce créée par la BAPI

Sinon, si l’appel à la BAPI a produit une erreur, mettre à jour la table ZTFI112_DATA de la façon
suivante :
 STATUT = ‘EP’
 LOG_EP = message d’erreur retournée par la BAPI

Si Traitement 3 - Modification des factures/avoirs


Sélection des données comme précisé dans la partie 3.4

Si le mode test est sélectionné


Afficher message : Pas de pièces modifiées et pas de mise à jour de la table
Sinon
Pour chaque entrée de la précédente sélection, sélectionner les données correspondantes dans la
table BSEG

Boucler sur le résultat de la sélection sur ZTFI112_DATA

Fichier : 741594870.docx Page 13/20


Date d’impression : 04/04/24
Modèle utilisé : STD-M_SAP_NumDemande_v1.2

CS : CSA
Spécifications techniques détaillées
BD : OMEGA Projet : FI112 – Affacturage : Extraction facture/avoir

Mettre à jour le texte d’entête de la pièce ZTFI112_DATA-BELNR en cours en utilisant le


module fonction FI_ITEMS_CHANGE
 Indiquer ‘Ecr cess :’ + ZTFI112_DATA-BELNR_MIROIR dans la zone NEWVAL de
T_ACCCHG du MF

Mettre à jour le code cession de la pièce en cours avec le module fonction


FI_ITEMS_MASS_CHANGE
 Incrémenter le code cession de 1 pour alimenter la zone S_BSEG-CESSION_KZ du MF

Si la mise à jour du texte d’entête et du code cession a été effectué avec succès, la table
ZTFI112_DATA est mise à jour de la façon suivante :
 STATUT = ‘PM’
Sinon
 STATUT = ‘EM’
 LOG_EM = Message retourné par le module fonction en erreur

Afin de conserver l’intégrité des données le COMMIT ne sera effectué que lorsque ces 3
mises à jour ont été effectuées avec succès.
Remarque : Le MF FI_ITEMS_MASS_CHANGE faisant un COMMIT implicite, il sera
effectué après l’appel au MF FI_ITEMS_CHANGE et au MODIFY de la table de
ZTFI112_DATA.

Si Traitement 4 - Génération du fichier


Sélection des données comme précisé dans la partie 3.4

Initialisation table pour génération du fichier


Alimentation des différentes zones indiquées dans la partie 3.6 pour les enregistrements d’entête, de facture,
d’avoir et de fin avec les règles de gestion correspondantes. L’initialisation des valeurs se fera dans une table
comportant une seule zone qui représente un enregistrement. On aura donc une entrée dans la table par
ligne à ajouter au fichier.

Génération du fichier
Générer le fichier de sortie en utilisant la table constituée ci-dessus et le module fonction GUI_DOWNLOAD.
S’il y a eu un problème lors de la génération du fichier
Ajouter le message suivant au compte-rendu : Problème lors de la génération du fichier
Aucune mise à jour de table ne doit être réalisée
Sinon
Si le mode test est sélectionné, seule la génération du fichier sera effectuée (aucune mise à jour de
table).
Mise à jour de la table des données
Mettre à jour la table des données ZTFI112_DATA de la façon suivante pour la sélection extraite en
début de traitement :
 STATUT = ‘PT’
 N_ENVOI = p_envoi (n° envoi indiqué sur l’écran de sélection)

Mise à jour de la table de paramétrage


Mettre à jour la table de paramétrage ZTFI112_01 de la façon suivante :
 ENVOI = p_envoi (n° envoi indiqué sur l’écran de sélection)

Le COMMIT ne sera effectué que si les mises à jour ont été effectuées avec succès afin de
conserver une intégrité des données entre ces 2 tables. On affichera ensuite des messages dans le
compte-rendu pour indiquer que la mise à jour des 2 tables s’est bien passée.

Par contre, si un problème est survenu, un ROLLBACK doit être réalisé sur les éventuelles mises à
jour déjà opérées. Un message devra être édité dans le compte-rendu précisant sur quelle table le
problème a été rencontré.

Sinon Si Mode suppression


Sélection des données comme précisé dans la partie 3.4

Si mode test sélectionné

Fichier : 741594870.docx Page 14/20


Date d’impression : 04/04/24
Modèle utilisé : STD-M_SAP_NumDemande_v1.2

CS : CSA
Spécifications techniques détaillées
BD : OMEGA Projet : FI112 – Affacturage : Extraction facture/avoir

Indiquer le nombre d'entrées à supprimer pour n° d'envoi vide, statut PS, ES ou EP et code cession
p_cessio
Sinon
Supprimer de la table des données ZTFI112_DATA l’ensemble des données issues de la sélection
précédente.
Indiquer le nombre d'entrées supprimées pour n° d'envoi vide, statut PS, ES ou EP et code cession
p_cessio

Déblocage de la table de paramétrage ZTFI112_01


A la fin du traitement, la table ZTFI112_01 sera débloquée avec le MF DEQUEUE_E_TABLEE.

Editer le compte-rendu
Cf. 3.7

3.5.2 Règles de gestion


Pour l’initialisation de la table des données ZTFI112_DATA de la partie Traitement 1 – Sélection des données et pour
l’alimentation du fichier dans la partie Traitement 4 – Génération du fichier, appliquer les règles de gestion détaillées
dans la colonne valeur des enregistrements d’entête, facture, avoir et fin listés dans la partie 3.6 ci-dessous.

3.6 TRANSFERT des données vers le fichier de sortie


Ouverture du fichier de sortie.
Lecture et écriture selon règles de gestion

Structure du fichier de sortie :

Le fichier sera créé en format texte. Il contiendra toujours :


- Un enregistrement d’entête,
- Un ou plusieurs enregistrements de facture,
- Un ou plusieurs enregistrements d’avoirs,
- Un enregistrement de fin.
Il n’y aura aucun intitulé de colonne.

Enregistrement d’entête
Nom du champ Position Longueur type valeur
Code enregistrement 1 3 N ‘000’
Code adhérent 4 6 N Le code adhérent est en fait le n° de contrat lié au
code cession de l’écran de sélection. Le prg ira le
chercher dans la table de paramétrage à l’aide de
la clé code cession.
Nom adhérent 10 40 AN ‘SGD SA’
Date de création du fichier 50 8 date Date du jour
Nom du contact adhérent 58 40 AN vide
Téléphone du contact 98 13 AN vide
Fax du contact 111 13 AN vide
Type d’identifiant client 124 1 N ‘1’
Numéro d’envoi 125 3 N N° d’envoi de l’écran de sélection.
Filler - champ libre 128 230 AN
Type de mouvement 358 3 AN ‘DEB’

Enregistrement facture
Nom du champ Pos. Long. O/F type valeur
Code enregistrement 1 3 O N ‘100’
Date de création du fichier 4 8 O Date Vide pour traitement 1
Date du jour pour traitement 4

Fichier : 741594870.docx Page 15/20


Date d’impression : 04/04/24
Modèle utilisé : STD-M_SAP_NumDemande_v1.2

CS : CSA
Spécifications techniques détaillées
BD : OMEGA Projet : FI112 – Affacturage : Extraction facture/avoir

Code adhérent 12 6 O N Le code adhérent est en fait le n° de contrat lié au


code cession de l’écran de sélection. Le prg ira le
chercher dans la table de paramétrage à l’aide de
la clé code cession.
Siren ou identifiant commun 18 9 O AN KNA1-STCD2 : zone facultative si la zone
« Contrôle Siren » (CTRL_SIREN) de la table de
paramétrage (ZTFI112_01) pour le code cession
de l’écran de sélection (P_CESSIO) est coché.

Code établissement (Nic) 27 5 F AN vide


Raison sociale de votre client 32 40 O AN KNA1-NAME1
Enseigne de votre Client 72 40 F AN KNA1-NAME1
N° et nom de la voie 112 40 O AN KNA1-STRAS
Complément d’adresse 152 40 F AN Si KNA1-NAME3 n’est pas vide : concaténer
KNA1-NAME3 et KNA1-NAME4 séparés par un
espace, sinon KNA1-NAME4
Code postal 192 10 O AN KNA1-PSTLZ, zone alphanumérique, ne pas
oublier de cadrer à gauche et compléter par des
blanc à droite. Pour les départements inférieurs à
10, ne pas oublier le 0 initial.
Ville 202 30 O AN KNA1-ORT01
Code Pays 232 3 O AN KNA1-LAND1
Téléphone Client 235 10 F AN KNA1-TELF1. zone facultative
Si la zone est non vide, il fut enlever tous les
caractères autres que des chiffres et concaténer le
résultat ici.
Code client 245 10 O AN KNA1-KUNNR (cadré à gauche sans les 0 devant)
Date de la facture 255 8 O N BSID-BLDAT
Numéro de la facture 263 15 O AN BSID-ZUONR
Devise de la facture 278 3 O AN BSID-WAERS
Signe de la facture 281 1 O AN ‘+’
Montant de la facture 282 15 O N BSAD-WRBTR (sans virgule)
Moyen de paiement 297 3 O AN Suivant KNB1-ZWELS
Si la zone ne contient qu’une seule valeur:
7 ’CHQ’ (pour les chèques)
8 ou 9 ou T ‘VIR’ pour les virements
1,2,3, ou 4  ‘EFF’ pour les effets
Si la zone contient plusieurs valeurs : mettre la
pièce en erreur
Date d’échéance 300 8 O N Calcul de la date d’échéance à partir de :
Cette date n’est pas stockée dans SAP. Pour la
calculer, il faut utiliser le module fonction :
DETERMINE_DUE_DATE comme dans la FBL5N
Tous les champs de la structure sont disponibles
dans BSID, sauf
I_FAEDE-KOART = ‘D’
I_FAEDE-NETDT = ne rien renseigner
I_FAEDE-SK1DT = ne rien renseigner
I_FAEDE-SK2DT = ne rien renseigner
I_GL_FAEDE = ‘X’
L’échéance est E_FAEDE-NETDT
Numéro de commande client 308 10 F AN BSID-ZUONR
Référence commande client 318 40 F AN vide
Type de mouvement 358 3 O AN ‘FAC’

Enregistrement avoir
Nom du champ Pos. Long. O/F type valeur
Code enregistrement 1 3 O N ‘200’
Date de création du fichier 4 8 O Date Vide pour traitement 1
Date du jour pour traitement 4
Code adhérent 12 6 O N Idem que entête

Fichier : 741594870.docx Page 16/20


Date d’impression : 04/04/24
Modèle utilisé : STD-M_SAP_NumDemande_v1.2

CS : CSA
Spécifications techniques détaillées
BD : OMEGA Projet : FI112 – Affacturage : Extraction facture/avoir

Siren ou identifiant commun 18 9 O AN KNA1-STCD2 : zone facultative si la zone


« Contrôle Siren » (CTRL_SIREN) de la table de
paramétrage (ZTFI112_01) pour le code cession
de l’écran de sélection (P_CESSIO) est coché.
Code établissement (Nic) 27 5 F AN vide
Raison sociale de votre client 32 40 O AN KNA1-NAME1
Enseigne de votre Client 72 40 F AN KNA1-NAME1
N° et nom de la voie 112 40 O AN KNA1-STRAS
Complément d’adresse 152 40 F AN Si KNA1-NAME3 n’est pas vide : concaténer
KNA1-NAME3 et KNA1-NAME4 séparés par un
espace, sinon KNA1-NAME4
Code postal 192 10 O AN KNA1-PSTLZ, zone alphanumérique, ne pas
oublier de cadrer à gauche et compléter par des
blanc à droite. Pour les départements inférieurs à
10, ne pas oublier le 0 initial.
Ville 202 30 O AN KNA1-ORT01
Code Pays 232 3 O AN KNA1-LAND1
Téléphone Client 235 10 F AN KNA1-TELF1. zone facultative
Si la zone est non vide, il fut enlever tous les
caractères autres que des chiffres et concaténer le
résultat ici.
Code client 245 10 O AN KNA1-KUNNR (cadré à gauche sans les 0 devant)
Date de l’avoir 255 8 O N BSID-BLDAT
Numéro de la facture 263 15 F AN vide
Devise de l’avoir 278 3 O AN BSID-WAERS
Signe de l’avoir 281 1 O AN ‘-’
Montant de l’avoir 282 15 O N BSID-WRBTR (sans virgule)
N° de l’avoir 297 15 O AN BSID-ZUONR
Observations - motif 312 40 F AN BSID-SGTXT
Filler champ libre 352 6 O AN vide
Type de mouvement 358 3 O AN ‘AVO’

Enregistrement de fin
Nom du champ Position Longueur type valeur
Code enregistrement 1 3 N ‘999’
Code adhérent 4 6 N Idem entête
Nom adhérent 10 40 AN Idem entête
Date de création du fichier 50 8 date Idem entête
Nbre d’enregistrements “100” 58 6 N Nb enreg type ‘F’
Nbre d’enregistrements “200” 64 6 N Nb enreg type ‘F’
Nbre d’enregistrements “300” 70 6 N ‘000000’
Nbre d’enregistrements “400” 76 6 N ‘000000’
Nbre d’enregistrements “500” 82 6 N ‘000000’
Filler - champ libre 88 270 AN vide
Type de mouvement 358 3 N ‘FIN’

Fichier : 741594870.docx Page 17/20


Date d’impression : 04/04/24
Modèle utilisé : STD-M_SAP_NumDemande_v1.2

CS : CSA
Spécifications techniques détaillées
BD : OMEGA Projet : FI112 – Affacturage : Extraction facture/avoir

3.7 EDITION
-------------------------------------------------------------------------------------------------------------------------------
Nom du programme :
Nom utilisateur :
Date d'exécution :
Code cession + libellé issu de la table TCESSIONT :
Mode test/Mode réel
Mode(s) de traitement sélectionné(s) (Indiquer uniquement les modes sélectionnés) :
 Mode suppression des données
 Mode sélection des données
 Mode création des pièces comptables
 Mode modification des factures/avoirs
 Mode génération du fichier
-------------------------------------------------------------------------------------------------------------------------------
Pour la suite indiquer uniquement le détail pour les modes sélectionnés

Mode Sélection des données


Nombre de pièces sélectionnées : xxx
Nombre de pièces correctes : xxx
Nombre de pièces en erreur : xxx

Mode Création des pièces comptables


Nombre de pièces sélectionnées : xxx
Nombre de pièces correctement crées : xxx
Nombre de pièces en erreur : xxx

Mode Modification des factures/avoirs


Nombre de pièces sélectionnées : xxx
Nombre de pièces correctement modifiées : xxx
Nombre de pièces en erreur : xxx

Mode Génération du fichier


Fichier généré : xxx
N° d’envoi : xxx
Nombre de pièces extraites : xxx

3.8 Liste des anomalies et/ou des messages d’erreur


Une classe de messages ZFIAFFACT est créée.
N° Type Classe Numéro Libellé Description
1 I ZFIAFFACT 001 Table de paramétrage affacturage
ZTFI112_01 en cours de modification
2 E ZFIAFFACT 002 Le n° de cession doit se terminer par 0
3 E ZFIAFFACT 003 La zone & est obligatoire
4 E ZFIAFFACT 004 La table de paramétrage ZTFI112_01
est vide.

3.9 Table des constantes ZTVARVC


SO
Fichier : 741594870.docx Page 18/20
Date d’impression : 04/04/24
Modèle utilisé : STD-M_SAP_NumDemande_v1.2

CS : CSA
Spécifications techniques détaillées
BD : OMEGA Projet : FI112 – Affacturage : Extraction facture/avoir

Nom Nom Type N° version signe Option Valeur Valeur Description


Prog. variable (S/P) basse haute

Fichier : 741594870.docx Page 19/20


Date d’impression : 04/04/24
Modèle utilisé : STD-M_SAP_NumDemande_v1.2

CS : CSA
Spécifications techniques détaillées
BD : OMEGA Projet : FI112 – Affacturage : Extraction facture/avoir

Historique des évolutions


Les différentes versions sont reprises (La version en cours détaille les principales modifications
liées à la montée de version, les versions antérieures sont résumées).

Version Date Auteur Description des évolutions


V1.2 20/01/2006 CSA CMMi Modification suite à revue CSA du 10/01/2006
 Modification du logo
V1.1 16/11/2005 CSA CMMi Modification du cartouche historique
V1.0 15/11/2005 CSA CMMi Mise à niveau CMMi niveau 2
V0.0 ? CSA CMMi Version initiale

Fichier : 741594870.docx Page 20/20


Date d’impression : 04/04/24

Vous aimerez peut-être aussi