Skip to Content
0
Mar 12, 2009 at 04:02 PM

Help required in reading freight price for PO item. See below code.

40 Views

H All,

I have a requirement to read frieght cost for each PO item.

Please see the below code and let me know is this approach is correct or not.

* Fetch PO header details for selected criteria
  SELECT ebeln                         "Purchasing document
         bstyp
         bsart
         loekz
         lifnr                         "Vendor
         ekgrp                         "Purchasing group
         bedat                         "Document date
         knumv
    INTO TABLE t_ekko
    FROM ekko
   WHERE ebeln IN s_ebeln
     AND lifnr IN s_lifnr
     AND ekgrp IN s_ekgrp
     AND bedat IN s_bedat.

  IF sy-subrc EQ 0.

    DELETE t_ekko
     WHERE ( bstyp NE c_bstyp_f
       AND bsart NE c_bsart_nb
       AND loekz NE space ).

    SELECT knumv
           kposn
           kdatu
           kbetr
           kwert
           lifnr
      INTO TABLE t_konv
      FROM konv
       FOR ALL ENTRIES IN t_ekko
     WHERE knumv EQ t_ekko-knumv
       AND lifnr EQ t_ekko-lifnr
       AND kdatu EQ t_ekko-bedat
       AND kappl EQ c_kappl_m
       AND kschl EQ c_kschl_frc1.

*  Fetch PO item details for the retrieved purchase orders
    SELECT ebeln                       "Purchasing document
           ebelp                       "PO item
           txz01                       "Short text
           matnr                       "Material
           matkl                       "Material group
           menge                       "PO quantity
           meins                       "UOM
           netpr                       "Net price
           netwr                       "Net value
     INTO TABLE t_ekpo
     FROM ekpo
      FOR ALL ENTRIES IN t_ekko
    WHERE ebeln EQ t_ekko-ebeln
      AND matnr IN s_matnr
      AND loekz EQ space
      AND matkl IN s_matkl.
LOOP AT t_ekpo INTO fs_ekpo.
* Read header details from EKKO for each PO item
    READ TABLE t_ekko
          INTO fs_ekko
          WITH KEY ebeln = fs_ekpo-ebeln.
    IF sy-subrc EQ 0.
      MOVE:
        fs_ekpo-ebeln TO fs_poitems-ebeln,
        fs_ekpo-ebelp TO fs_poitems-ebelp,
        fs_ekko-lifnr TO fs_poitems-lifnr,
        fs_ekko-ekgrp TO fs_poitems-ekgrp,
        fs_ekko-bedat TO fs_poitems-bedat,
        fs_ekpo-txz01 TO fs_poitems-txz01,
        fs_ekpo-matnr TO fs_poitems-matnr,
        fs_ekpo-menge TO fs_poitems-menge,
        fs_ekpo-meins TO fs_poitems-meins,
        fs_ekpo-netpr TO fs_poitems-netpr,
        fs_ekpo-netwr TO fs_poitems-netwr.
* Read table KONV for fetching fieght charge
      READ TABLE t_konv
            INTO fs_konv
            WITH KEY  kposn = fs_poitems-ebelp
                      kdatu = fs_poitems-bedat
                      lifnr = fs_poitems-lifnr.
      IF sy-subrc EQ 0.
        MOVE:
          fs_konv-kwert TO fs_poitems-fri_val.
      ENDIF.                           " if sy-subrc eq 0.

Please suggest me.

Thanks,

Jwala

Edited by: Rob Burbank on Mar 12, 2009 12:09 PM

Please use code tags