Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > ERP > SAP
SAP Forum d'entraide sur SAP et sur la programmation avec le langage ABAP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/01/2008, 17h22   #1
Membre habitué
 
Inscription : juin 2003
Messages : 146
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Vienne (Poitou Charente)

Informations forums :
Inscription : juin 2003
Messages : 146
Points : 135
Points : 135
Envoyer un message via MSN à Sh@m@n
Par défaut Call Transaction avec variante

Bonjour,

je voulais savoir s'il était possible dans un programme de faire un CALL TRANSACTION et de "charger" ou "appeler" une variante ???


D'avance, merci.

ShAmAn
Sh@m@n est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2008, 14h58   #2
Membre habitué
 
Inscription : juin 2003
Messages : 146
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Vienne (Poitou Charente)

Informations forums :
Inscription : juin 2003
Messages : 146
Points : 135
Points : 135
Envoyer un message via MSN à Sh@m@n
Bon et bien pr le moment, j'ai trouvé ceci :

=> création d'une transaction spécfique ZTEST avec en paramètre :
programme = RAGITT_ALV01
Exécuter avec var. = Nom de ma variable


Et je n'ai plus qu'à faire, dans mon programme spécifique, un CALL TRANSACTION de ZTEST.



PS : si quelqu'un trouve néanmoins une aute solution, merci de la partager.


Cdt,
Sh@m@n
Sh@m@n est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2008, 16h05   #3
Rédacteur/Modérateur
 
Avatar de cladsam
 
Morgan Bourgeois
Inscription : août 2003
Messages : 1 730
Détails du profil
Informations personnelles :
Nom : Morgan Bourgeois
Âge : 32
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : août 2003
Messages : 1 730
Points : 1 862
Points : 1 862
Citation:
Envoyé par Sh@m@n Voir le message
PS : si quelqu'un trouve néanmoins une aute solution, merci de la partager.


Cdt,
Sh@m@n
set paramter id ....
call transaction bidule and skip first screen

ou call transaction machin using bdcdata cela ne répond pas à ton besoin ?
__________________
----------------------------------------------------
Consultant technico-fonctionnel SAP logistique -
Mon site sur developpez
---------------------------------------------------
Anakin Skywalker turn to the Dark Side after his failed attempt to upgrade R/2-D2 to R/3-D2.
cladsam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2008, 16h29   #4
Membre habitué
 
Inscription : juin 2003
Messages : 146
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Vienne (Poitou Charente)

Informations forums :
Inscription : juin 2003
Messages : 146
Points : 135
Points : 135
Envoyer un message via MSN à Sh@m@n
Mais dans mon bdcdata, tu mets le nom de la variante ou les données de la variante préalablement récupérées?

Dans les 2 cas, ca serait bon tu me diras...
Sh@m@n est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2008, 16h54   #5
Membre confirmé
 
Inscription : octobre 2007
Messages : 209
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 209
Points : 211
Points : 211
j'ai du mal à comprendre le concept de variante sur du transactionnel

pour moi il y a 2 types de variantes :
1) variantes de sélection
elles existent pour des reports avec écran de sélection (tu peux les appeler via l'instruction SUBMIT)
2) variantes d'affichage
elles existent pour les états ALV pour pré-définir un format d'affichage
la variante se précise lors de l'appel à la fonction ALV

mais pour le transactionnel, je ne vois pas
splash1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2008, 19h15   #6
Rédacteur/Modérateur
 
Avatar de cladsam
 
Morgan Bourgeois
Inscription : août 2003
Messages : 1 730
Détails du profil
Informations personnelles :
Nom : Morgan Bourgeois
Âge : 32
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : août 2003
Messages : 1 730
Points : 1 862
Points : 1 862
Citation:
Envoyé par splash1 Voir le message
j'ai du mal à comprendre le concept de variante sur du transactionnel

pour moi il y a 2 types de variantes :
1) variantes de sélection
elles existent pour des reports avec écran de sélection (tu peux les appeler via l'instruction SUBMIT)
2) variantes d'affichage
elles existent pour les états ALV pour pré-définir un format d'affichage
la variante se précise lors de l'appel à la fonction ALV

mais pour le transactionnel, je ne vois pas
ben a mon avis il y a la variante de selection dans la transaction.
Ensuite, il veut faire un call transaction avec les valeurs de la variable de selection.
Intéret par rapport a un call transaction and skip first screen dans lequel il mettrait en dur les valeurs de selection via des parameters ID, ca doit etre que, en se basant sur la variante de selection, si celle-ci change, il en va de meme des parameter ID.
Du coup pour offrir cette souplesse, si j'ai bien compris le besoin, il faut
1) récupérer les valeurs de la variante de selection
--> ce qu'il peut faire enfouillant les tables suivantes (peu pas faire la requete je m'en souviens plus et je n'ai pas de systeme sous la main):

VARI ABAP/4: Variant storage (similar to INDX)
VARID Variant directory
VARINUM Internal number assignment for variants
VARIT Variant texts
TVARV Table of variables in selection criteria
TVARC Variant conditions
TVARUVN Individual Variant Variable: Assignment TVARV
TVARCT Text for Variants Conditions
TVARH Header entries for screen variants
TVARIND Save screen variants

2) envoyer les paramètres requis via des set parameters ID

3) faire un call transaction and skip first screen
__________________
----------------------------------------------------
Consultant technico-fonctionnel SAP logistique -
Mon site sur developpez
---------------------------------------------------
Anakin Skywalker turn to the Dark Side after his failed attempt to upgrade R/2-D2 to R/3-D2.
cladsam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2008, 09h21   #7
Membre habitué
 
Inscription : juin 2003
Messages : 146
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Vienne (Poitou Charente)

Informations forums :
Inscription : juin 2003
Messages : 146
Points : 135
Points : 135
Envoyer un message via MSN à Sh@m@n
Je pense que tu as bien résumé Clad.

Et pr donner un exemple de ce ke j'ai fais, voici un bout du code :

* Dans un premier temps, j'insere des baeur qui ne sont pas dans ma
*variante, car elle viendront de paramètres.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
PERFORM bdc_dynpro    USING 'RAGITT_ALV01' '1000'.
PERFORM bdc_field       USING 'BDC_OKCODE' '=ONLI'.
PERFORM bdc_field       USING 'BUKRS-LOW' l_bukrs.
PERFORM bdc_field       USING 'BERDATUM' l_date.
PERFORM bdc_field       USING 'BEREICH1' '01'.
PERFORM bdc_field       USING 'SRTVR' 'Z020'.
PERFORM bdc_field       USING 'SUMMB' 'X'.
PERFORM bdc_field       USING 'PA_GITVS' '0001'.
PERFORM bdc_field       USING 'BDC_SUBSCR'
                              'SAPLSSEL                                2001%_SUBSCREEN_%_SUB%_CONTAINER'.
PERFORM bdc_field     USING 'BDC_SUBSCR'
                              'SAPLSSEL                                2002SUBSCREEN_CONTAINER2'.

PERFORM bdc_dynpro    USING 'SAPMSSY0' '0120'.
PERFORM bdc_field       USING 'BDC_OKCODE' '=&XXL'.

PERFORM bdc_dynpro    USING 'SAPLSPO5' '0101'.
PERFORM bdc_field       USING 'BDC_CURSOR' 'SPOPLI-SELFLAG(01)'.
PERFORM bdc_field       USING 'BDC_OKCODE' '=OK'.

PERFORM bdc_dynpro    USING 'SAPLSPO5' '0101'.
PERFORM bdc_field       USING 'BDC_CURSOR' 'SPOPLI-SELFLAG(01)'.
PERFORM bdc_field       USING 'BDC_OKCODE' '=OK'.

PERFORM bdc_transaction USING 'ZTEST'.

Et comme je le précisait plus haut, j'ai créé la transaction ZTEST, qui fait appel au pgm 'RAGITT_ALV01', et je met le nom de la variable ds "Exécuter avec var.".


Voila, maintenant, si vous avez des questions...

Cdt,
ShAmAn
Sh@m@n est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2008, 12h05   #8
Membre du Club
 
Inscription : mars 2007
Messages : 62
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 62
Points : 61
Points : 61
Juste une question. La transaction que tu veux appeler est un report (de type executable, ce qui me semble est le cas vu que le programme est 'RAGITT_ALV01')?
Car dans ce cas tu te prends la tête pour rien il suffit de faire un 'SUBMIT' du programme; cela te permetteras d'utiliser la variante très simplement.
Blash est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2008, 14h06   #9
Membre habitué
 
Inscription : juin 2003
Messages : 146
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Vienne (Poitou Charente)

Informations forums :
Inscription : juin 2003
Messages : 146
Points : 135
Points : 135
Envoyer un message via MSN à Sh@m@n
remarque très pertinente Blash!!!

Il est vrai que j'ai foncé tête baissée dans ce que m'a dit le pilote : "il faut prendre cette transaction"

Je regarde ça tt de suite.
Sh@m@n est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2008, 14h33   #10
Membre habitué
 
Inscription : juin 2003
Messages : 146
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Vienne (Poitou Charente)

Informations forums :
Inscription : juin 2003
Messages : 146
Points : 135
Points : 135
Envoyer un message via MSN à Sh@m@n
et bien après avoir regarder un peu le submit, il semblerait ke je ne puisse pas lancer l'affichage de l'état.
J'arrive à lancer le programme avec la variante, mais c'est tout... dommage.

Mais merci pour l'idée
Sh@m@n est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h03.


 
 
 
 
Partenaires

Hébergement Web