Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

logic needed for READ TABLE

Former Member
0 Likes
824

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_BILLING

Now 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-kwert

Pls help me

Edited by: Julius Bussche on Aug 18, 2008 8:05 AM

1 ACCEPTED SOLUTION
Read only

former_member480923
Active Contributor
0 Likes
594

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,

2 REPLIES 2
Read only

former_member480923
Active Contributor
0 Likes
595

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,

Read only

vinod_vemuru2
Active Contributor
0 Likes
594

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.