2017-05-16 1 views
0

J'essaie d'utiliser la fonction 'RV_INVOICE_DOCUMENT_READ' pour obtenir des données de prix d'une facture. Vérification de la fonction dans le SE37 fonctionne très bien, il récupère les données dont j'ai besoin. Toutefois, lorsque j'essaie d'utiliser la fonction dans un smartform, la fonction ne renvoie rien. Voici le code que j'ai:problèmes avec 'RV_INVOICE_DOCUMENT_READ'

DATA: LV_VBRK LIKE VBRK. 
LV_VBRK-VBELN = VL_VBELN. 

DATA: 
gs_komv TYPE komv, 
gt_komv like komv occurs 0 with header line, 
gs_vbpa TYPE vbpavb, 
gt_vbpa like vbpavb occurs 0 with header line, 
gs_vbrk TYPE vbrkvb, 
gt_vbrk like vbrkvb occurs 0 with header line, 
gs_vbrp TYPE vbrpvb, 
gt_vbrp like vbrpvb occurs 0 with header line. 

CALL FUNCTION 'RV_INVOICE_DOCUMENT_READ' 
EXPORTING 
    KONV_READ = 'X' 
    VBRK_I = LV_VBRK 
TABLES 
    xkomv = gt_komv 
    xvbpa = gt_vbpa 
    xvbrk = gt_vbrk 
    xvbrp = gt_vbrp. 

Quand je vérifie gt_komv, il contient des enregistrements nuls, mais quand dans le SE37 renvoie 28 enregistrements. Qu'est-ce que je fais mal?

Répondre

3

D'où vient le VL_VBELN? Le domaine derrière le champ a un ensemble de conversion alpha. Lorsque vous appelez FMs, vous entrez une conversion alpha lors du traitement des paramètres. Dans ABAP, vous avez donc besoin d'un format interne lorsque vous passez dessus.

En savoir plus sur la conversion alpha here.