Vous êtes sur la page 1sur 8

REPORT zsdrp_sdd1. TABLES vbak.

TYPES: BEGIN OF ty_vbak, vbeln TYPE vbak-vbeln, audat TYPE vbak-audat, vbtyp TYPE vbak-vbtyp, netwr TYPE vbak-netwr, vkorg TYPE vbak-vkorg, END OF ty_vbak. TYPES: BEGIN OF ty_vbap, vbeln TYPE vbap-vbeln, posnr TYPE vbap-posnr, matnr TYPE vbap-matnr, matkl TYPE vbap-matkl, netwr TYPE vbap-netwr, vstel TYPE vbap-vstel, END OF ty_vbap. TYPES: BEGIN OF ty_lips, vbeln TYPE lips-vbeln, posnr TYPE lips-posnr, pstyv TYPE lips-pstyv, matnr TYPE lips-matnr, vgbel TYPE lips-vgbel, vgpos TYPE lips-vgpos, END OF ty_lips. TYPES: BEGIN OF ty_vbrp, vbeln TYPE vbrp-vbeln, posnr TYPE vbrp-posnr, netwr TYPE vbrp-netwr, meins TYPE vbrp-meins, vgbel TYPE vbrp-vgbel_ex, vgpos TYPE vbrp-vgpos_ex, arktx TYPE vbrp-arktx, fkimg TYPE vbrp-fkimg, vrkme TYPE vbrp-vrkme, END OF ty_vbrp. TYPES: BEGIN OF ty_vbrk, vbeln TYPE vbrk-vbeln, fkart TYPE vbrk-fkart, fktyp TYPE vbrk-fktyp, netwr TYPE vbrk-netwr, waerk TYPE vbrk-waerk, fkdat TYPE vbrk-fkdat, vkorg TYPE vbrk-vkorg,

konda TYPE vbrk-konda, kunrg TYPE vbrk-kunrg, END OF ty_vbrk. TYPES: BEGIN OF ty_vbfa, vbelv TYPE vbfa-vbelv, posnv TYPE vbfa-posnv, vbeln TYPE vbfa-vbeln, posnn TYPE vbfa-posnn, vbtyp_n TYPE vbfa-vbtyp_n, END OF ty_vbfa.

****************************************** TYPES: BEGIN OF ty_billing, sd_vbeln TYPE vbak-vbeln, audat TYPE vbak-audat, vbtyp TYPE vbak-vbtyp, t_netwr TYPE vbak-netwr, vkorg TYPE vbak-vkorg, * +++ty_vbak. posnr TYPE vbap-posnr, matnr TYPE vbap-matnr, matkl TYPE vbap-matkl, i_netwr TYPE vbap-netwr, * +++ty_vbap. d_vbeln TYPE lips-vbeln, pstyv TYPE lips-pstyv, * +++ty_lips. b_vbeln TYPE vbrp-vbeln, fkimg TYPE vbrp-fkimg, vrkme TYPE vbrp-vrkme, arktx TYPE vbrp-arktx, * +++ty_vbrp. waerk TYPE vbrk-waerk, kunrg TYPE vbrk-kunrg, fkdat TYPE vbrk-fkdat, * +++ty_vbrk. f_vbelv f_posnv f_vbeln f_posnn TYPE TYPE TYPE TYPE vbfa-vbelv, vbfa-posnv, vbfa-vbeln, vbfa-posnn,

f_vbtyp_n TYPE vbfa-vbtyp_n, * +++ty_vbfa. END OF ty_billing. ****************** ****************************************

DATA: it_vbak TYPE TABLE OF it_vbap TYPE TABLE OF it_lips TYPE TABLE OF it_vbrp TYPE TABLE OF it_vbrk TYPE TABLE OF it_vbfa TYPE TABLE OF it_billing TYPE TABLE

ty_vbak, ty_vbap, ty_lips, ty_vbrp, ty_vbrk, ty_vbfa, OF ty_billing,

wa_vbak TYPE ty_vbak, wa_vbap TYPE ty_vbap, wa_lips TYPE ty_lips, wa_vbrp TYPE ty_vbrp, wa_vbrk TYPE ty_vbrk, wa_vbfa TYPE ty_vbfa, wa_billing TYPE ty_billing. PARAMETERS: p_saldoc TYPE vbak-vbeln. IF p_saldoc IS NOT INITIAL. SELECT vbeln audat vbtyp netwr vkorg FROM vbak INTO TABLE it_vbak WHERE vbeln = p_saldoc. ELSE. MESSAGE 'Document No. is empty' TYPE 'S'. ENDIF. IF it_vbak[] IS NOT INITIAL. SELECT vbeln posnr matnr

matkl netwr vstel FROM vbap INTO TABLE it_vbap FOR ALL ENTRIES IN it_vbak WHERE vbeln = it_vbak-vbeln. ELSE. MESSAGE 'Document not found' TYPE 'S'. ENDIF. IF it_vbap[] IS NOT INITIAL. SELECT vbeln posnr pstyv matnr vgbel vgpos FROM lips INTO TABLE it_lips FOR ALL ENTRIES IN it_vbap WHERE vgbel = it_vbap-vbeln AND vgpos = it_vbap-posnr. ELSE. MESSAGE 'Document not found' TYPE 'S'. ENDIF. IF it_lips[] IS NOT INITIAL. SELECT vbeln posnr netwr meins vgbel vgpos arktx fkimg vrkme FROM vbrp INTO TABLE it_vbrp FOR ALL ENTRIES IN it_lips WHERE vgbel = it_lips-vbeln

AND vgpos = it_lips-posnr. ELSE. MESSAGE 'Document not found' TYPE 'S'. ENDIF. IF it_vbrp[] IS NOT INITIAL. SELECT vbeln fkart fktyp netwr waerk fkdat vkorg konda kunrg FROM vbrk INTO TABLE it_vbrk FOR ALL ENTRIES IN it_vbrp WHERE vbeln = it_vbrp-vbeln. ELSE. MESSAGE 'Not Found' TYPE 'S'. ENDIF. IF it_vbap[] IS NOT INITIAL. SELECT vbelv posnv vbeln posnn vbtyp_n FROM vbfa INTO TABLE it_vbfa FOR ALL ENTRIES IN it_vbap WHERE vbelv = it_vbap-vbeln AND posnv = it_vbap-posnr AND vbtyp_n = 'J'. ELSE. MESSAGE 'Document not found' TYPE 'S'. ENDIF. IF it_vbrk[] IS NOT INITIAL.

CLEAR it_billing[]. LOOP AT it_vbap INTO READ TABLE it_vbfa _vbap-posnr. READ TABLE it_lips _vbap-posnr. READ TABLE it_vbrp _lips-posnr. READ TABLE it_vbrk READ TABLE it_vbak wa_vbap. INTO wa_vbfa WITH KEY vbelv = wa_vbap-vbeln posnv = wa INTO wa_lips WITH KEY vgbel = wa_vbap-vbeln vgpos = wa INTO wa_vbrp WITH KEY vgbel = wa_lips-vbeln vgpos = wa INTO wa_vbrk WITH KEY vbeln = wa_vbrp-vbeln. INTO wa_vbak WITH KEY vbeln = wa_vbap-vbeln.

wa_billing-sd_vbeln = wa_vbak-vbeln. wa_billing-audat = wa_vbak-audat. wa_billing-vbtyp = wa_vbak-vbtyp. wa_billing-t_netwr = wa_vbak-netwr. wa_billing-vkorg = wa_vbak-vkorg. * ---ty_vbak. wa_billing-posnr = wa_vbap-posnr. wa_billing-matnr = wa_vbap-matnr. wa_billing-matkl = wa_vbap-matkl. wa_billing-i_netwr = wa_vbap-netwr. * ---ty_vbap. wa_billing-d_vbeln = wa_lips-vbeln. wa_billing-pstyv = wa_lips-pstyv. * ---ty_lips. wa_billing-b_vbeln = wa_vbrp-vbeln. wa_billing-fkimg = wa_vbrp-fkimg. wa_billing-vrkme = wa_vbrp-vrkme. * ---ty_vbrp. wa_billing-waerk = wa_vbrk-waerk. wa_billing-kunrg = wa_vbrk-kunrg. * ---ty_vbrk. wa_billing-f_vbelv = wa_billing-f_posnv = wa_billing-f_vbeln = wa_billing-f_posnn = wa_billing-f_vbtyp_n * ---ty_vbfa. APPEND wa_billing TO wa_vbfa-vbelv. wa_vbfa-posnv . wa_vbfa-vbeln. wa_vbfa-posnn. = wa_vbfa-vbtyp_n. it_billing.

WRITE : / 'Document Date audat color 5,/ 'SD document category vbtyp color 5,/ 'Sales Organization vkorg color 5,/ 'Material Number matnr color 5,/ 'Material Group matkl color 5,/ 'Preceding sales and distribution document f_vbelv color 5,/ 'Preceding item f_posnv color 5,/ 'Subsequent sales and distribution document f_vbeln color 5,/ 'Subsequent item f_posnn color 5,/ 'Document category f_vbtyp_n color 5,/ 'Delivery No. d_vbeln color 5,/ 'Delivery item category pstyv color 5,/ 'Payer kunrg color 5,/ 'Billing Document b_vbeln color 5,/ 'SD Document Currency waerk color 5,/ 'Billing Date fkdat color 5,/ 'Payer kunrg color 5,/ 'Billing item posnr color 5,/ 'Billing quantity fkimg color 5,/ 'Net value of the billing item i_netwr color 5. SKIP 1. ULINE. clear wa_billing. ENDLOOP. ELSE.

: ', wa_billing: ', wa_billing: ', wa_billing: ', wa_billing: ', wa_billing: ', wa_billing: ', wa_billing: ', wa_billing: ', wa_billing: ', wa_billing: ', wa_billing: ', wa_billing: ', wa_billing: ', wa_billing: ', wa_billing: ', wa_billing: ', wa_billing: ', wa_billing: ', wa_billing: ', wa_billing-

MESSAGE 'Header Data Not Found' TYPE 'S'. ENDIF.

Vous aimerez peut-être aussi