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,
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 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.
| User | Count |
|---|---|
| 6 | |
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |