Sie sind auf Seite 1von 13

Interface sortante avec IDOC

1 D1 CI 8 0 1 0 P A B 01 I 99 0 Valid 3.2 Fran Français

TABLE DES MATIERES


1 OBJET 2

2 DESCRIPTION GÉNÉRALE 2
2.1 GÉNÉRALITÉS 2
2.2 EXTERNALISATION DES PARAMÈTRES 2
2.3 LE TYPE D’OBJET 2
3 PARAMETRAGE ALE 2

4 PARAMÈTRES DE SÉLECTION 2

5 FICHIERS UTILISES 4
5.1 CAS DES FICHIERS DES SYSTÈMES AMONTS (IMACS, SMOD, SDE, GTP,XAC) 4
5.1.1 Enregistrement d’en-tête 4
5.2 CAS DES FICHIERS EXCEL 5
6 ETAT 6

7 CONVERSION DE DONNÉES ET INTERFACES 7


7.1 STRUCTURE DU FICHIER IDOC GÉNÉRÉ. 7
7.1.1 Enregistrement de contrôle : structure EDI_DC 7
7.1.2 Enregistrement de données : structure EDI_DD 8
7.1.2.1 Segment d’en-tête Z1G08S1 9
7.1.2.2 Segment Z1G08S2 9
7.2 RÈGLES DE GESTION 10
7.3 TRANSCODIFICATION MERCATOR 12
8 TRANSACTION 14

9 ALGORITHME DÉTAILLÉ 14
9.1 PROGRAMME ZSGA124S DÉTAILLÉ 14
9.2 CRÉATION DE LA FONCTION Z_IDOC_OUTPUT_ZGA08S 15
PRÉFACE

Programme : Programme Z*******


Module fonction Z_IDOC_OUTPUT_**********
Titre :
Type : Interface sortante
Classe de développement : Z****
Nom de l'IDOC : ZS****
Spécification fonctionnelle :
Référence MERCATOR :

1 OBJET

2 DESCRIPTION GÉNÉRALE

2.1 Généralités

Le but de cette interface est de garder comme plate forme pour le traitement des
données venant des interfaces amonts et les données venant des fichiers EXCEL.

Cette interface traite des coûts réels résultant du travail (main d’œuvre) ou des activités
réelles des centres de coûts.

2.2 Externalisation des paramètres

2.3 Le type d’objet


Sans objet.

3 PARAMETRAGE ALE

Sans objet

4 PARAMÈTRES DE SÉLECTION

L’écran de sélection comporte également :

Elément de Type Obl. Valeurs Description Remarques


donnée SAP (P/S) (X/_) par défaut

RADIOBOUTON ‘X’ Traitement des Fichiers IMACS,


_1 fichiers SDE, XAC, GTP,
provenant des SMOD
applications
amont
P_FIC1 Nom du fichier à Fichiers IMACS,
traiter SDE, XAC, GTP,
SMOD
RADIOBOUTON Traitement des Fichier EXCEL
_2 fichiers EXCEL.
Lancement
manuel
P_FIC2 Nom du fichier à Fichier EXCEL
traiter
5 FICHIERS UTILISES
Tous les fichiers provenant des différents systèmes amonts (IMACS, SDE, SMOD, GTP,
XAC et fichiers EXCEL) possèdent la même structure.

5.1 Cas des fichiers des systèmes amonts (IMACS, SMOD, SDE, GTP,XAC)

5.1.1 Enregistrement d’en-tête

Description Nom de zone Positio Forma Valeur


n t
Type d’enregistrement ZTYPE 1 3 ‘000’
Identifiant interface ZPROGRAM 4 8 ‘ZEBR004S’
Origine ZORIGINE 12 15
Origine du fichier (nom
du système amont)
Statut ZSTATUT 27 1 ‘ ‘ : blanc
‘C’ : contrôlé
‘T’ : traité sans anomalie
‘A’ : traité avec anomalie
Date / Heure de création ZCREATION 28 14
Date / Heure de contrôle ZCONTROLE 42 14
Date / Heure de ZCONVERT 56 14
conversion
Code anomalie ZCODEANO 70 6
Message anomalie ZMESSAGE 76 80
Filler ZZ 156 5

Les zones Filler SONT DES ZONES NON OBLIGATOIRES POUR SAP mais qui gardent leur
longueur d’origine.

Correspondan SAP Format du attend


ce fichier u
Désignation Nom Type Travaux Zone VEGA Type/L libellé Valeur /
zone / Lg préparatoires actuelle g VEGA défaut
VEGA actuel
Type ZTYP C(03 char3 ‘100’
enregistrem E )
ent
Indicateur ZMAJ C(01 char1 à blanc
de mise à P )
jour
Clé 1 ZCLE C(20 char20 à blanc
1 )
Clé 2 ZCLE C(20 char20 à blanc
2 )
Clé 3 ZCLE C(20 char20 à blanc
3 )
Société BUKR C(04 Code société Char3 STE ‘S001’ pour
S ) CIT

Regroupeme
nt en 1
seule zone de Code Char2 ET
char 5 ( établissement
Code APPLI C(06 ‘GTP’ Code de Char8 CODE- Obligatoire
application ) ‘SDE’ l'application APPLI
amont
Numéro de Char5 N- FILLER
section (de SECTION
travail, de
coût,...)

5.2 Cas des fichiers EXCEL


La source est aujourd’hui des fichiers EXCEL avec extension .CSV. Le séparateur des
différentes zones est une virgule.

Nom de la zone SAP Libellé de la zone


WERKS société
Etablissement (non Non utilisé
repris)
PERIOD Année - mois
SKOST Centre émetteur
LSTAR Type d’activité
EKOST/EAUFN/EPROJ Centre récepteur Il s’agira d’alimenter une
des trois zones
EKOST/EAUFN/EPROJ selon le
code nature d’imputation
dans le fichier
LVBSU Quantité consommées
en 100tiième
SIGN Sens de l’écriture
texte
6 ETAT
Edition d’un compte-rendu :
Informations d’en-tête :
Nom du programme
Date et heure de lancement
Nom de l’utilisateur
Intitulé du compte-rendu
---------------------------------------------
Récapitulatif des paramètres en entrée
----------------------------------------------
Résumé :
Nombre d’Idocs créés

Récapitulatif :
Edition des messages d’erreurs
7 CONVERSION DE DONNÉES ET INTERFACES

7.1 Structure du fichier Idoc généré.

7.1.1 Enregistrement de contrôle : structure EDI_DC

Zone du Nom de zone Positio Forma Valeur et/ou règle de


fichier n t traitement

TABNAM Nom de la structure de 1 C(10) Constante ‘EDI_DC’


table
Défini par le système

MANDANT Mandant 11 C(3) Calculé par le système

DOCNUM N° de l’idoc 14 C(16) Calculé par le système

DOCREL Version SAP 30 C(4) Constante ‘31I’


Défini par le système

STATUS Statut de l’idoc 34 C(2) Calculé par le système

DOCTYP Type d’idoc 36 C(8) Constante ‘Z****S’


Défini par le système

DIRECT Sens 44 C(1) ‘1’ (pour sortante)


Défini par le système

RCVPOR Port destinataire 45 C(10) Calculé par le système

RCVPRT Type de partenaire 55 C(2) Constante ‘LS’


Défini par le système
RCVPRN N° partenaire 57 C(10)
destinataire

SNDPOR Port expéditeur 179 C(10) Syntaxe = ‘SAP’ + système


ID

SNDPRT Type du partenaire 189 C(2) Constante ‘LS’


expéditeur
Défini par le système

SNDPRN N° du partenaire 191 C(10)


expéditeur

MESTYP Type de message 418 C(6) Constante ‘Z****S’


logique
A forcer lors de la création
de l’IDOC

IDOCTP Nom du type idoc de 424 C(8) Constante ‘Z*****S’


base
A forcer lors de la création
de l’IDOC
Total : 464 caractères
7.1.2 Enregistrement de données : structure EDI_DD

Zone du Nom de zone Positio Format Valeur et/ou règle de


fichier n traitement

TABNAM Nom de la structure de 1 C(10) ‘Z1****1’ pour les données


d’entête ou
table
‘Z1****2’ pour les données
du fichier
MANDT Mandant 11 C(3) Calculé par le système

DOCNUM N° de l’idoc 14 C(16) Calculé par le système

SEGNUM N° du segment 30 C(6) Calculé par le système

SEGNAM Nom du segment 36 C(10) ‘Z1****1’ pour les données


d’entête
‘Z1****2’ pour les données
du fichier
C(10) A blanc
FILLER FILLER 46

SDATA Données d’application 56 C(1000) Cf. 7.1.2.1 (Z1***S1)


Cf. 7.1.2.2 (Z1***S2)

Total 1055 caractères


7.1.2.1 Segment d’en-tête Z1****1
Le champ SDATA aura la structure suivante pour les données concernant l’entête.

Zone du Nom de zone Positio Longue Valeur et/ou règle de


fichier n ur traitement

ORIGIN Nom du fichier d’origine 5

7.1.2.2 Segment Z1****2

Zone du Nom de zone Positi Longue Valeur et/ou règle de


fichier on ur traitement

NOSEQ Numéro de flux 2 Cf. RG01


BLDAT Date de pièce 8 Format AAAAMMDD
Cf. RG02
BUDAT Date de posting 8 Format AAAAMMDD
Cf. RG03
VERSN Version 3 ‘‘
KOKRS Périmètre analytique 4 ‘P001’
SKOST Centre de coût émetteur 10
LSTAR Type d’activité 6 Cf. RG04
LVBSU Consommation d’activité 15 Cf. RG05
SIGN Signe de la consommation 1 Cf. RG08
EKOST Centre de coût 10 Cf. RG06
EAUFN Ordre récepteur 12 Cf. RG06
EPROJ Elément d’OTP 24 Cf. RG06
BLTXT Texte d’en tête de 50 Cf. RG07
document
SGSBER Domaine d’activité du 4 Cf. RG09
centre émetteur
EGSBER Domaine d’activité du 4 Cf. RG10
centre récepteur
7.2 Règles de gestion

N° de la règle Description de la règle


Détermination du flux
RG01
‘S’ : émetteur centre de coût de type S
‘A’ : émetteur centre de coût de type A

Transmette Récepteur Flux


ur
S Centre opérationnel 01
S Ordre 02
S Elément OTP 03
A Centre opérationnel 04
A OTP de production * 05

Alimentation de la date de pièce BLDAT


RG02
On alimente la date de la pièce avec la date du jour du
fonctionnement de l’interface SY-DATUM.
Alimentation de la date de posting (BUDAT) :
RG03
Récupération de la date de fin de période comptable.

Si la période PERIOD (AAAAMM) n’est pas renseignée


dans le fichier, on se place à la date du jour.
Et on prend ‘01’ comme jour pour la période.

Ce qui donne : i_date +00(06)= PERIOD ou SY-DATUM


i_date +06(02) = 01
Sélection unique dans la table T001 avec comme clé :
 BUKRS = I_TAB-BUKRS
Récupération de la zone T001-PERIV pour les
fonctions.

Appel aux fonctions dans l’ordre suivant :


‘DATE_TO_PERIOD_CONVERT’
‘LAST_DAY_IN_PERIOD_GET’
Détermination du type d’activité :
RG04 Le type d’activité correspond à la zone code article
(MATNR) du fichier. Attention la zone MATNR est sur 18
caractères.
LSTAR = MATNR+0(5)
Détermination de la quantité LVBSU
RG05 La quantité sera codée sur 15 caractères dont 3
décimales
Ex : 12505+ dans le fichier donne 000000000125050
Le signe de la quantité sera placé dans une autre zone
Détermination du récepteur :
RG06
CAS N°1 :
La nature d’imputation de l’application amont détermine
le récepteur (Centre, ordre ou OTP) :

Nature Récepteur SAP


d’imputation

‘.’ ou ‘8’ ORDRE ’001P…

‘0’ OTP études ‘001-


R’
‘2’ OTP (Acom) 001-
S
‘5’ Centre de coût
‘S’
‘9’ Centre de coût
‘A’
‘ ‘ et premier ORDRE
caractère de centre
=’0’
‘ ‘ et premier OTP
caractère de centre
’0’

Alimentation de la zone BLTXT :


RG07
BLTXT = ‘UNILOG’

Alimentation de la zone SIGN :


RG08
SIGN = Zone QUANTITE + 14(1)

Détermination du domaine d’activité (zone SGSBER) :


RG09
UNIQUEMENT DANS LE CAS DES FLUX 04 ET 05
(centre de coût émetteur de type ‘A’)

Sélection dans la table CSKS avec comme clé :


 KOKRS = ‘P001’
 KOSTL = I_TAB-SKOST
Récupération de la zone CSKS-GSBER pour alimenter
la zone de l’idoc SGSBER.
Détermination du domaine d’activité (zone EGSBER) :
RG10
UNIQUEMENT DANS LE CAS DU FLUX 04
(centre de coût émetteur de type ‘A’)

Sélection dans la table CSKS avec comme clé :


 KOKRS = ‘P001’
 KOSTL = I_TAB-EKOST
Récupération de la zone CSKS-GSBER pour alimenter
la zone de l’idoc EGSBER.

8 TRANSACTION
Sans objet.

9 ALGORITHME DÉTAILLÉ

9.1 Programme ZS****S détaillé


Ouverture du fichier.
Si le fichier provient d’une application amont (IMACS, SDE, GTP, SMOD, XAC)
(radiobouton_1 = ‘X’)
Lecture du segment d’en-tête.
Traitement de ce segment.
Mettre le segment d’en-tête du fichier dans la structure Z****S
Appel du perform ‘controle-en-tete’ de l’include FZ****1.
Si le code retour est OK.
Chargement du fichier en table interne I_TAB.
Sinon.
On sort du programme avec édition d’un message d’erreur.
Finsi.
Finsi

Si le fichier test de type EXCEL.


Chargement du fichier en table interne I_TAB.
Finsi
Dans les cas des fichiers LLLL traitement spécifique au-préalable.
Recherche de l’imputation et modification de la table interne I_TAB.
Fin de traitement spécifique pour les fichiers LLLL

Boucle sur la table interne I_TAB des enregistrements du fichier.

Vérification de l’existence des ordres dans pour les OTP de production.


Sélection unique dans la table AUFK avec comme clés :
 AUFNR = I_TAB-EAUFN
 AUART = ‘A100’.
Si le code retour est KO.
On édite un message d’erreur et on passe à l’enregistrement suivant.
Sinon.
On continue le traitement.
Finsi.
Fin de vérification

Alimentation des zones de l’idoc en tenant compte des différentes règles de


gestion.

Appel de la transaction ‘Z_IDOC_OUTPUT_Z****S’ pour la création de


l’idoc.
Finsi.

Fin de boucle.

Edition du compte-rendu.

9.2 Création de la fonction Z_IDOC_OUTPUT_Z****S


Alimentation du segment de contrôle.
Appel de la fonction MASTER_IDOC_DISTRIBUTE qui crée l’Idoc. On lui passe en paramètre
le segment de contrôle plus la table des segments de données.

Das könnte Ihnen auch gefallen