‎2008 Aug 18 8:21 AM
Hi
it_billing is my final internal table. I have extraced some fields into this table.
REPORT zvio1044
TABLES:
vbrk,
likp,
lips,
vbpa,
vbrp,
vbak,
lipov,
z1ychlog,
z1ychclientid,
ekko,
ekpo .
TYPE-POOLS: slis. "ALV Declarations
*Data Declaration
DATA: BEGIN OF it_vbrk OCCURS 0,
vbeln LIKE vbrk-vbeln,
vkorg LIKE vbrk-vkorg,
kunag LIKE vbrk-kunag,
kunwe LIKE vbrk-kunwe,
fkart LIKE vbrk-fkart,
bstnk_vf LIKE vbrk-bstnk_vf,
waerk LIKE vbrk-waerk,
kurrf LIKE vbrk-kurrf,
fkdat LIKE vbrk-fkdat,
ernam LIKE vbrk-ernam,
END OF it_vbrk.
DATA: BEGIN OF it_vbrp OCCURS 0,
vbeln LIKE vbrp-vbeln,
werks LIKE vbrp-werks,
fkimg LIKE vbrp-fkimg,
vrkme LIKE vbrp-vrkme,
mwsbp LIKE vbrp-mwsbp,
END OF it_vbrp.
DATA: BEGIN OF it_vbfa OCCURS 0,
vbelv LIKE vbfa-vbelv,
vbeln LIKE vbfa-vbeln,
END OF it_vbfa.
DATA: BEGIN OF it_z1ychlog OCCURS 0,
vbeln LIKE vbfa-vbelv,
END OF it_z1ychlog.
DATA: BEGIN OF it_billing OCCURS 0,
sel(1) TYPE c,
werks LIKE vbrp-werks,
vkorg LIKE vbrk-vkorg,
kunag LIKE vbrk-kunag,
kunwe LIKE vbrk-kunwe,
vstel LIKE likp-vstel,
land1 LIKE vbpa-land1,
ddl LIKE lips-vbeln,
posnr LIKE lips-posnr,
vbeln LIKE vbrk-vbeln,
fkart LIKE vbrk-fkart ,
bstnk_vf LIKE vbrk-bstnk_vf,
vbpa LIKE vbpa-land1,
idnkd LIKE vbdpr-idnkd,
fkimg LIKE vbrp-fkimg,
vrkme LIKE vbrp-vrkme,
waerk LIKE vbrk-waerk,
waers LIKE t001-waers,
kurrf LIKE vbrk-kurrf,
kbetr LIKE komvd-kbetr,
kmein LIKE komvd-kmein,
kwert LIKE komvd-kwert,
mwsbp LIKE vbrp-mwsbp,
fkdat LIKE vbrk-fkdat,
ernam LIKE vbrk-ernam,
ex_date(8),
ex_time(6),
ex_by LIKE sy-uname,
file(90),
END OF it_billing.
*Selection Screen
PARAMETERS : p_vkorg LIKE vbrk-vkorg OBLIGATORY.
SELECT-OPTIONS :
s_vtweg FOR vbrk-vtweg ,
s_spart FOR vbrk-spart.
SELECTION-SCREEN SKIP.
SELECT-OPTIONS :
s_fkdat FOR vbrk-fkdat OBLIGATORY,
s_fkart FOR vbrk-fkart,
s_vbeln FOR vbrk-vbeln,
s_kunwe FOR vbrk-kunwe,
s_vstel FOR likp-vstel,
s_labd1 FOR vbpa-land1,
s_auart FOR vbak-auart NO-DISPLAY.
SELECTION-SCREEN SKIP.
PARAMETERS: " p_extun RADIOBUTTON GROUP sel1,
p_vari LIKE ltdxt-variant. " OBLIGATORY.
SELECTION-SCREEN SKIP.
PARAMETERS: p_pcfile LIKE rlgrap-filename
DEFAULT 'D:\Mlx2Ych\send\PCCCPPPPDDL-BILLINGNO_YYYYMMDD_HHMMSS.XLS'.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(40) text-015.
SELECTION-SCREEN END OF LINE.
************************************************************************
TYPE-POOLS: slis.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-name = 'P_PCFILE'.
" screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
INITIALIZATION.
AT SELECTION-SCREEN.
START-OF-SELECTION.
PERFORM get_billing.
END-OF-SELECTION.
*
*&---------------------------------------------------------------------*
*& Form GET_BILLING
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM get_billing .
SELECT vbeln vkorg kunag kunwe fkart
bstnk_vf waerk kurrf fkdat ernam FROM vbrk
INTO TABLE it_vbrk
WHERE vkorg = p_vkorg AND
fkdat IN s_fkdat AND
vtweg IN s_vtweg AND
spart IN s_spart AND
vbeln IN s_vbeln AND
fkart IN s_fkart AND
kunwe IN s_kunwe.
IF it_vbrk[] IS NOT INITIAL.
SELECT vbelv vbeln FROM vbfa
INTO TABLE it_vbfa
FOR ALL ENTRIES IN it_vbrk
WHERE vbeln = it_vbrk-vbeln.
ENDIF.
IF it_vbfa[] IS NOT INITIAL.
SELECT vbeln FROM z1ychlog
INTO TABLE it_z1ychlog
FOR ALL ENTRIES IN it_vbfa
WHERE vbeln = it_vbfa-vbelv.
ENDIF.
LOOP AT it_vbfa.
READ TABLE it_z1ychlog WITH KEY vbeln = it_vbfa-vbelv BINARY SEARCH.
IF sy-subrc <> 0.
DELETE it_vbfa.
ENDIF.
ENDLOOP.
**
IF it_vbfa[] IS NOT INITIAL.
SELECT vbeln werks fkimg vrkme mwsbp
FROM vbrp INTO TABLE it_vbrp
FOR ALL ENTRIES IN it_vbfa
WHERE vbeln = it_vbfa-vbeln.
ENDIF.
SORT it_vbfa.
SORT it_vbrp.
SORT it_vbrk.
LOOP AT it_vbfa.
READ TABLE it_vbrk WITH KEY vbeln = it_vbfa-vbeln BINARY SEARCH.
IF sy-subrc = 0.
it_billing-vbeln = it_vbrk-vbeln.
it_billing-vkorg = it_vbrk-vkorg.
it_billing-kunag = it_vbrk-kunag.
it_billing-kunwe = it_vbrk-kunwe.
it_billing-fkart = it_vbrk-fkart.
it_billing-bstnk_vf = it_vbrk-bstnk_vf.
it_billing-waerk = it_vbrk-waerk.
it_billing-kurrf = it_vbrk-kurrf.
it_billing-fkdat = it_vbrk-fkdat.
it_billing-ernam = it_vbrk-ernam.
it_billing-ex_date = sy-datum.
it_billing-ex_time = sy-uzeit.
it_billing-ex_by = sy-uname.
it_billing-file = p_pcfile.
ENDIF.
READ TABLE it_vbrp WITH KEY vbeln = it_vbfa-vbeln BINARY SEARCH.
IF sy-subrc = 0.
it_billing-werks = it_vbrp-werks .
it_billing-fkimg = it_vbrp-fkimg.
it_billing-vrkme = it_vbrp-vrkme.
it_billing-mwsbp = it_vbrp-mwsbp.
ENDIF.
APPEND it_billing.
CLEAR it_billing.
ENDLOOP.
ENDFORM. " GET_BILLINGNow i need to extract below fields into it_billing int.table
Doc. Price - KBERTR
Doc price unit-kmein
line item net abount per doc curr-kwertPls help me
Edited by: Julius Bussche on Aug 18, 2008 8:05 AM
‎2008 Aug 18 9:04 AM
You will get the fields from KONV table. Get the KNUMH from VBRK table and use that to get the value from KONV.
Hope That Helps
Anirban M,
‎2008 Aug 18 9:04 AM
You will get the fields from KONV table. Get the KNUMH from VBRK table and use that to get the value from KONV.
Hope That Helps
Anirban M,
‎2008 Aug 18 10:00 AM
Hi,
Use FM RV_PRICE_PRINT_ITEM to get item prices and FM RV_PRICE_PRINT_HEAD for header details.
Sample code.
CLEAR: wa_komk.
wa_komk-mandt = sy-mandt.
wa_komk-kalsm = i_vbrk-kalsm.
wa_komk-fkart = i_vbrk-fkart.
wa_komk-kappl = 'v'.
wa_komk-waerk = i_vbrk-waerk.
wa_komk-knumv = i_vbrk-knumv.
wa_komk-vbtyp = i_vbrk-vbtyp.
wa_komk-knuma = i_vbrk-knuma.
CALL FUNCTION 'RV_PRICE_PRINT_HEAD'
EXPORTING
comm_head_i = wa_komk
language = 'S'
IMPORTING
comm_head_e = wa_komk
* COMM_MWSKZ =
TABLES
tkomv = i_komv
tkomvd = i_komvd
.
Thanks,
Vinod.