Déplacer FMOIX/FMCOX les structures Internes de la Table
Je suis un débutant à l'ABAP (3 jours d'expérience) et je suis actuellement sur une tâche de rédiger des rapports à l'aide de code ABAP. C'est comme le déplacement des données d'une base de données SAP pour une Intelligence d'Affaires de la zone de transit.
De sorte que le cœur de la difficulté, c'est que certaines des données sur le serveur SAP est le format de dictionnaire des structures (FMOIX, FMCOX, etc.) et j'ai besoin de déplacer ces données dans les tables internes lors de l'exécution. On m'a dit que OPENSQL ne fonctionnerait pas dans ce cas.
Si vous ne pouvez toujours pas obtenir ce que je veux dire, je peux vous proposer plusieurs façons, en fait donnée par mon superviseur. La première est d'utiliser GET événement, dire
GET FMOIX.
IF FMOIX-zhdlt > From_dat and FMOIX-zhdlt < to_dat.
Append FMOIX to itab.
ENDIF.
Le truc c'est que je ne suis pas encore très clair à ce sujet, OBTENIR de l'événement. Est-ce juste un gestionnaire d'événement chose, ou peut-elle parcourir en boucle les enregistrements de données?
Ce que j'ai googlé pour plus de deux jours à me donner quelque chose comme
LOOP at FMOIX.
MOVE FMOIX to itab.
ENDLOOP.
Quels sont donc les moyens de se déplacer transactionnelle de la structure comme FMOIX dans les tables internes, dire le nom interne de table est ITAB?
Votre réponse serait grandement apprécié. Si j'ai le temps, je suis totalement nouveau.
Merci beaucoup.
Vous devez vous connecter pour publier un commentaire.
Si votre superviseur est à dire que vous utilisez le cas, cela signifie que votre programme est (ou devrait être) à l'aide d'un logique de la base de données - dans ce cas probablement FMF ou FMF_BCS.
Faire
GET FMOIX
lit un ensemble de champs définis dans la base de données logique (comme un nœud). En dessous de votre instruction GET, vous pouvez utiliser FMOIX comme une structure, par exempleWRITE FMOIX-field1
. Le programme (de manière implicite, il n'est pas explicitement défini dans le code comme unLOOP...ENDLOOP
est) une boucle sur toutes les lignes retournées en fonction de vos critères de sélection. Vous devriez être en mesure d'utiliserMOVE-CORRESPONDING
pour déplacer le contenu de chaque ligne dans une structure appropriée, puisAPPEND
que la structure de vos itab.Lien rapide à OBTENIR dans ABAPDocu
Note: cette réponse est un peu une supposition, car je ne l'ai utilisé une base de données logique une fois, et la documentation est un peu mince sur le terrain par rapport aux volumes au sujet de la norme
SELECT
s et les tables internes.Vous pouvez créer votre table interne dans le type de structure tels que:
Et vous pouvez utiliser cette table interne pour remplir n'importe où en utilisant votre sélectionnez les codes.
Tels que:
Je ne suis pas sûr que c'est ce que vous cherchez, mais je peux vous dire que la création d'itab dans le type de structure peut être rempli avec tous les datas à venir à partir de votre sélection. Vous ne pouvez pas en boucle FMOIX parce que ce n'est pas un tableau, c'est une structure. Donc, il y a une raison pour tenir vos données dans les structures?
Espère que ça a été utile.
Talha