PO with BWVORG = 008

Dear coleagues,
i need charge PO with field BWVORG = 008 into BW, if you run the extractor2LIS_02_ITM on RSA3 you can see this PO's, when you try to charge this one on BW you can't because the start routine deleting this kind of BWVORG, please how can i fix it ?  i can't find note for this on sao notes...
Thanks in adavance.
Fabrício

Hi,
From what i could understand from the question, you are having a PO in ECC but in BW it's getting filtered right? So as you have written a start routine is written to filter it out, so if you want this PO to be present in the BW you have to change the start routine to remove the deletion line for BWVORG. Please let me know if this is not the case.
Regards,
Arminder

Similar Messages

  • Purchasing report for orders with GR

    Hi All,
    I need to do reporting on the purchasing values only for PO item with movement type 101,102 and few other related to GR.
    Objective is only PO items where item goods receipt has happened.
    Will the 2LIS_01_ITM do with BWVORG? Or any other extractor needs to be used
    Regards,
    Pal

    You can do it either in data loading level using routine or at Report level.
    I prefer doing it at data load level  ,like manasi said..write routine to filter out unwanted movement types.
    Better keep dso in your model and between dso to cube you write this so that in future you enhance it then you just need to modify the logic between the dso and cube..
    Regards,
    RK

  • Getting error RVTBM-008 and RVTBM-120 during receiving RMA line

    Hello,
    Initially we tried to receive the RMA line but here we forgot to setup the lot number hence i am getting error when i was run the receiving transaction processor.
    Then i put the correct LOT number and again delete all the lines from 'Receiving Transaction Summary' and tried to receive the RMA line in Inventory but i am getting below error when the Receiving Transaction Processor run.
    Concurrent program RVCTP returned error
    Cause: RVCTP encountered an internal error. Parameters: RVCTP,IMMEDIATE,584656,
    Action: Note both this error number and the actions you are trying to perform. Contact your system ad
    RVTBM-008: Subroutine rvtbm_immediate_mngr() returned error
    Cause: Subroutine rvtbm_immediate_mngr() returned an internal error.
    Action: Note this error number and the actions you are trying to perform. Contact your syste
    RVTBM-120: Subroutine rvtptcontrol() returned error
    Cause: Subroutine rvtptcontrol() returned an internal error.
    Action: Note this error number and the actions you are trying to perform. Contact your system administrator
    Concurrent Manager encountered an error while attempting to start your immediate concurrent program RVCTP. Routine &ROUTINE received a return code of failure.
    Contact your support representative.
    I am using Apps version-12.0.6
    Please help me to rectify this issue.
    Thanks,
    Rajesh

    Action: Note both this error number and the actions you are trying to perform. Contact your system ad
    RVTBM-008: Subroutine rvtbm_immediate_mngr() returned error
    Cause: Subroutine rvtbm_immediate_mngr() returned an internal error.
    Action: Note this error number and the actions you are trying to perform. Contact your syste
    RVTBM-120: Subroutine rvtptcontrol() returned errorSearch MOS for the above two errors and go through the docs.
    RMA Deliver Transactions Stuck in RVCTP With RVTPT-020: Rvtoe_rmapushapi() [ID 278993.1]
    UNABLE TO MAKE RECEIPTS AGAINST RMA User-Defined Exception in Package [ID 1082586.1]
    RCVRCERC: Some RMAs fail with RVTBM-008: Subroutine rvtbm_immediate_mngr() returned error [ID 738890.1]
    RVTII-030 rvtiicreate() When Receiving some RMA [ID 371464.1]
    RVTBM-008: Subroutine rvtbm_immediate_mngr() returned error in Depot Repair Bulk Receiving [ID 1301960.1]
    Thanks,
    Hussein

  • How to download output data into Excel with all Column Headings

    Hi Experts,
    Please tell me How to download output data of ALV Grid into Excel file with all Column Headings and I want to do this using coding,
    please send me if any solution is available.
    Thanks & Regards,
    Yogesh

    VERSION CONTROL (Most recent on top):                                *
      DATE(mm.dd.yyyy)    AUTHOR                                         *
      06.25.2007         Pattan Naveen                                   *
    Hi yogesh,,
    Go through this in this u find ur solution.
    report ZTEst_programe no standard page heading
                               line-size 100
                               line-count 50(5)
                               message-id zz.
    *--alv type declaration
    type-pools: slis.
    *--Tables:
    tables: anla,
            anlz,
            anlh,
            anlb,
            anlc.
    data: v_pos type i.
    data: v_ndjar type i.
    data: v_ndper type i,
          v_ndperndabp type i,
          v_ndjarndabp1 type i,
          v_ndjarndabp type i,
          value type i,
    date(10) type c value '2006.12.04'.
    data: c_0000(4) type c value '0000'.
    data: begin of it_final occurs 0,
             anlkl(8),
             bukrs(4),
             anln1 like anla-anln1,
             anln2 like anla-anln2,
             txt50 like anla-txt50,
             txa50 like anla-txa50,
             anlhtxt like anlh-anlhtxt,
             sernr like anla-sernr,
             invnr like anla-invnr,
             menge like anla-menge,
             meins like anla-meins,
             inken like anla-inken,
               ivdat like anla-ivdat,
             aktiv like anla-aktiv,
             gsber like anlz-gsber,
             kostl like anlz-kostl,
             kostlv like anlz-kostlv,
             werks like anlz-werks,
             stort like anlz-stort,
              raumn like anlz-raumn,
              txjcd like anlz-txjcd,
             ord41 like anla-ord41,
             ord44 like anla-ord44,
             gdlgrp like anla-gdlgrp,
             anlue like anla-anlue,
             lifnr like anla-lifnr,
             typbz like anla-typbz,
             aibn1 like anla-aibn1,
          aibn2 like anla-aibn2,
            aibdt like anla-aibdt,
             posnr like anla-posnr,
            vmgli like anla-vmgli,
            invzu like anla-invzu,
            ernam like anla-ernam,
            erdat like anla-erdat,
             afabe like anlb-afabe,
            afasl like anlb-afasl,
             ndjar like anlb-ndjar,
             ndper like anlb-ndper,
            afabg like anlb-afabg,
            ndabj like anlc-ndabj,
            ndabp like anlc-ndabp,
            andsj like anlc-andsj,
             andsp like anlc-andsp,
            safbg like anlb-safbg,
             umjar like anlb-umjar,
           inbda like anlb-inbda,
           kansw like anlc-kansw,
           knafa like anlc-knafa,
            kaafa like anlc-kaafa,
                     deakt like anla-deakt,
    kanza like anlc-kanza,
    kaufw like anlc-kaufw,
    kinvz like anlc-kinvz,
    ksafa like anlc-ksafa,
    kmafa like anlc-kmafa,
      end of it_final.
    data: begin of it_final_as91 occurs 0,
             anlkl(8),
             bukrs(4),
             anln1 like anla-anln1,
             anln2 like anla-anln2,
             txt50 like anla-txt50,
             txa50 like anla-txa50,
             anlhtxt like anlh-anlhtxt,
             sernr like anla-sernr,
             invnr like anla-invnr,
             menge like anla-menge,
             meins like anla-meins,
             inken like anla-inken,
             ivdat like anla-ivdat,
             aktiv like anla-aktiv,
             gsber like anlz-gsber,
             kostl like anlz-kostl,
             kostlv like anlz-kostlv,
             werks like anlz-werks,
             stort like anlz-stort,
             raumn like anlz-raumn,
             txjcd like anlz-txjcd,
             ord41 like anla-ord41,
             ord44 like anla-ord44,
             gdlgrp like anla-gdlgrp,
             anlue like anla-anlue,
             lifnr(10),
             typbz(15),
             aibn1 like anla-aibn1,
             aibn2 like anla-aibn2,
            aibdt like anla-aibdt,
             posnr like anla-posnr,
            vmgli like anla-vmgli,
            invzu like anla-invzu,
            ernam like anla-ernam,
            erdat like anla-erdat,
    end of it_final_as91.
    data: it_download_as91 like it_final_as91 occurs 0
                                              with header line."#EC NEEDED
    data: begin of it_final_as92 occurs 0,
             anlkl(8),
             bukrs(4),
             anln1 like anla-anln1,
             anln2 like anla-anln2,
             deakt like anla-deakt,
             ernam like anla-ernam,
             erdat like anla-erdat,
             afabe like anlb-afabe,
             afasl like anlb-afasl,
             ndjar like anlb-ndjar,
             ndper like anlb-ndper,
              afabg like date,
             ndabj(3) type c,
             ndabp(3) type c,
            kansw like anlc-kansw,
           knafa like anlc-knafa,
            kaafa like anlc-kaafa,
    kanza like anlc-kanza,
    kaufw like anlc-kaufw,
    kinvz like anlc-kinvz,
    ksafa like anlc-ksafa,
    kmafa like anlc-kmafa,
      end of it_final_as92.
    data: it_download_as92 like it_final_as92 occurs 0
                                              with header line."#EC NEEDED
    data: begin of it_values occurs 0,
             anlkl(8),
             bukrs(4),
             anln1 like anla-anln1,
             anln2 like anla-anln2,
             deakt like anla-deakt,
             afabe like anlb-afabe,
            afasl like anlb-afasl,
             ndjar like anlb-ndjar,
             ndper like anlb-ndper,
             afabg like date,
             ndabj(3) type c,
             ndabp(3) type c,
             afabe_02 like anlb-afabe,
             afasl_02 like anlb-afasl,
             ndjar_02 like anlb-ndjar,
             ndper_02 like anlb-ndper,
              afabg_02 like date,
             ndabj_02 like anlc-ndabj,
             ndabp_02 like anlc-ndabp,
            kansw01 like anlc-kansw,
           knafa01 like anlc-knafa,
            kaafa01 like anlc-kaafa,
              kansw02 like anlc-kansw,
           knafa02 like anlc-knafa,
            kaafa02 like anlc-kaafa,
              kansw03 like anlc-kansw,
           knafa03 like anlc-knafa,
            kaafa03 like anlc-kaafa,
              kansw04 like anlc-kansw,
           knafa04 like anlc-knafa,
            kaafa04 like anlc-kaafa,
              kansw05 like anlc-kansw,
           knafa05 like anlc-knafa,
            kaafa05 like anlc-kaafa,
           kansw06 like anlc-kansw,
           knafa06 like anlc-knafa,
           kaafa06 like anlc-kaafa,
           kansw07 like anlc-kansw,
           knafa07 like anlc-knafa,
           kaafa07 like anlc-kaafa,
           kansw08 like anlc-kansw,
           knafa08 like anlc-knafa,
           kaafa08 like anlc-kaafa,
           kansw09 like anlc-kansw,
           knafa09 like anlc-knafa,
           kaafa09 like anlc-kaafa,
    kanza01 like anlc-kanza,
    kaufw01 like anlc-kaufw,
    kinvz01 like anlc-kinvz,
    ksafa01 like anlc-ksafa,
    kmafa01 like anlc-kmafa,
      end of it_values.
    data: it_values_xls like it_values occurs 0
                                       with header line."#EC NEEDED
    data: begin of it_itab1 occurs 0,
           bukrs like anla-bukrs,
           anlkl like anla-anlkl,
           anln1 like anla-anln1,
             anln2 like anla-anln2,
           txt50 like anla-txt50,
           txa50 like anla-txa50,
           invnr like anla-invnr,
           ktogr like anla-ktogr,
           sernr like anla-sernr,
           menge like anla-menge,
           meins like anla-meins,
           ivdat like anla-ivdat,
           inken like anla-inken,
           aktiv like anla-aktiv,
           deakt like anla-deakt,
           zugdt like anla-zugdt,
           zujhr like anla-zujhr,
           zuper like anla-zuper,
           gdlgrp like anla-gdlgrp,
           anlue like anla-anlue,
           xafabch like anla-xafabch,
           aibn1 like anla-aibn1,
           aibn2 like anla-aibn2,
           aibdt like anla-aibdt,
           posnr like anla-posnr,
           ord41 like anla-ord41,
            ord44 like anla-ord44,
            vmgli like anla-vmgli,
             invzu like anla-invzu,
             typbz like anla-typbz,
             lifnr like anla-lifnr,
             ernam like anla-ernam,
             erdat like anla-erdat,
          end of it_itab1.
    data: begin of it_itab2 occurs 0,
            bukrs like anlz-bukrs,
            anln1 like anlz-anln1,
             anln2 like anla-anln2,
            bdatu like anlz-bdatu,
            werks like anlz-werks,
            gsber like anlz-gsber,
            kostl like anlz-kostl,
            kostlv like anlz-kostlv,
            stort like anlz-stort,
            raumn like anlz-raumn,
            txjcd like anlz-txjcd,
            ipsnr like anlz-ipsnr,
          end of it_itab2.
    data: begin of it_itab3 occurs 0,
            bukrs like anlh-bukrs,
            anln1 like anlh-anln1,
            anlhtxt like anlh-anlhtxt,
           end of it_itab3.
    data: begin of it_itab4 occurs 0,
            bukrs like anlb-bukrs,
            anln1 like anlb-anln1,
             anln2 like anla-anln2,
            afabe like anlb-afabe,
            bdatu like anlb-bdatu,
            afasl like anlb-afasl,
            ndjar like anlb-ndjar,
            ndper like anlb-ndper,
            afabg like anlb-afabg,
            ndurj like anlb-ndurj,
            ndurp like anlb-ndurp,
            umjar like anlb-umjar,
            safbg like anlb-safbg,
            zinbg like anlb-zinbg,
            inbda like anlb-inbda,
            end of it_itab4.
    data: begin of it_itab5 occurs 0,
           bukrs like anlc-bukrs,
           anln1 like anlc-anln1,
             anln2 like anla-anln2,
           gjahr like anlc-gjahr,
           afabe like anlc-afabe,
           zujhr like anlc-zujhr,
           zucod like anlc-zucod,
           ndabj like anlc-ndabj,
           ndabp like anlc-ndabp,
           kansw like anlc-kansw,
           knafa like anlc-knafa,
           kaafa like anlc-kaafa,
           ksafa like anlc-ksafa,
           andsj like anlc-andsj,
           andsp like anlc-andsp,
    kanza like anlc-kanza,
    kaufw like anlc-kaufw,
    kinvz like anlc-kinvz,
    kmafa like anlc-kmafa,
          end of it_itab5.
    ALV DECLARATIONS
    *--declarations for Xls sheet header field names
    data: begin of it_head occurs 0,
    column(70).
    data: end of it_head.
    data: begin of it_head1 occurs 0,
    column(70).
    data: end of it_head1.
    *--type declarations for field catalog for basic report
    data: it_fldcat_head  type slis_t_fieldcat_alv,
          wa_fldcat_head type slis_fieldcat_alv."#EC NEEDED
    data : w_field type slis_fieldcat_alv."#EC NEEDED
    data: it_fldcat_head1  type slis_t_fieldcat_alv,
          wa_fldcat_head1 type slis_fieldcat_alv."#EC NEEDED
    *--type declarations for layout design
    data: wa_layout type slis_layout_alv.
    *--type declarations for list header on grid
    *data: top_of_page type slis_t_listheader.
    *--declaration of variables
    data : w_repid like sy-repid.
    **selection-screen
    select-options: s_bukrs for anla-bukrs,
                    s_anln1 for anla-anln1.
    select-options: s_deakt for anla-deakt,
                    s_gjahr for anlc-gjahr obligatory,
                    s_anlkl for anla-anlkl,
                    s_date for anla-aktiv.
    *selection-screen
    selection-screen begin of block blk1 with frame title  text-022.
    selection-screen begin of line.
    parameters : r1 radiobutton group g1 default 'X'.
    selection-screen comment 20(50) text-020.
    selection-screen end of line.
    selection-screen begin of line.
    parameters : r2 radiobutton group g1.
    selection-screen comment 20(50) text-021.
    selection-screen end of line.
    selection-screen end of block blk1.
    selection-screen begin of block blk2 with frame title  text-023.
    select-options: s_ernam for anla-ernam,
                       s_erdat for anla-erdat .
    selection-screen end of block blk2.
    *--INITIALIZATION
    initialization.
      w_repid = sy-repid.
    at selection-screen.
      if r1 = 'X'.
        perform selection_screen_validation.
      endif.
      if r2 = 'X'.
        perform selection_screen_validation.
      endif.
    *--START-OF-SELCTION
    start-of-selection.
      if r1 = 'X'.
        perform populate-data.
        perform fill_finaldata.
       perform comment_build using top_of_page.
        perform xls_output.
        perform download.
      endif.
      if r2 = 'X'.
        perform populate-data.
        perform fill_finaldata.
        perform fill_as92data.
        perform putdata_horizontal.
        perform xls_output_as92.
        perform download_as92.
      endif.
    *--END-OF-SELCTION
    end-of-selection.
      if r1 = 'X'.
        perform build_layout.
        perform build_fieldcatalog.
       perform top_of_page.
        perform list-display.
      endif.
      if r2 = 'X'.
        perform build_layout.
        perform build_fieldcatalog1.
        perform list-display1.
      endif.
    *&      Form  SELECTION_SCREEN_VALIDATION
          text
    -->  p1        text
    <--  p2        text
    form selection_screen_validation.
    *--validating originating company code
      data: l_bukrs like anla-bukrs."#EC NEEDED
      if not s_bukrs[] is initial.
        select single bukrs from anla
               into l_bukrs
               where bukrs in s_bukrs.
        if sy-subrc <> 0.
          message e000 with text-001 .
        endif.
      endif.
    *--validating originating main asset no.
      data: l_anln1 like anla-anln1."#EC NEEDED
      if not s_anln1[] is initial.
        select single anln1 from anla
               into l_anln1
               where anln1 in s_anln1.
        if sy-subrc <> 0.
          message e000 with text-002 .
        endif.
      endif.
    *--validating originating Deactivation date
      data: l_deakt like anla-deakt."#EC NEEDED
      if not s_deakt[] is initial.
        select single deakt from anla
               into l_deakt
               where deakt in s_deakt.
        if sy-subrc <> 0.
          message e000 with text-004 .
        endif.
      endif.
    *--validating originating asset class.
      data: l_anlkl like anla-anlkl."#EC NEEDED
      if not s_anlkl[] is initial.
        select single anlkl from anla
               into l_anlkl
               where anlkl in s_anlkl.
        if sy-subrc <> 0.
          message e000 with text-006 .
        endif.
      endif.
    *--validating originating Date
      data: l_date like anla-aktiv."#EC NEEDED
      if not s_date[] is initial.
        select single aktiv from anla
               into l_date
               where aktiv in s_date.
        if sy-subrc <> 0.
          message e000 with text-007 .
        endif.
      endif.
    *--validating originating Fiscal year which first acquisition was posted
      data: l_gjahr like anlc-gjahr."#EC NEEDED
      if not s_gjahr[] is initial.
        select single gjahr from anlc
               into l_gjahr
               where gjahr in s_gjahr.
        if sy-subrc <> 0.
          message e000 with text-008.
        endif.
      endif.
      data: l_ernam like anla-ernam."#EC NEEDED
      if not s_ernam[] is initial.
        select single ernam from anla
               into l_ernam
               where ernam in s_ernam.
        if sy-subrc <> 0.
          message e000 with text-009.
        endif.
      endif.
      data: l_erdat like anla-erdat."#EC NEEDED
      if not s_erdat[] is initial.
        select single erdat from anla
               into l_erdat
               where erdat in s_erdat.
        if sy-subrc <> 0.
          message e000 with text-010.
        endif.
      endif.
    endform.                    " SELECTION_SCREEN_VALIDATION
    *&      Form  POPULATE-DATA
          text
    -->  p1        text
    <--  p2        text
    form populate-data.
      select bukrs
             anlkl
             anln1
             anln2
             txt50
             txa50
             invnr
             ktogr
             sernr
             menge
             meins
             ivdat
             inken
             aktiv
             deakt
             zugdt
             zujhr
             zuper
             gdlgrp
             anlue
             xafabch
             aibn1
             aibn2
             aibdt
             posnr
             ord41
             ord44
             vmgli
             invzu
             typbz
             lifnr
             ernam
             erdat
            from anla
                into table it_itab1
                where anlkl in s_anlkl and
                      anln1 in s_anln1 and
                      deakt in s_deakt and
                      bukrs in s_bukrs and
                      aktiv in s_date.
      if sy-subrc ne 0.
        message e000 with 'Data does not exist'(094).
      endif.
      if not it_itab1[] is initial.
        select bukrs
               anln1
               anln2
               bdatu
               werks
               gsber
               kostl
               kostlv
               stort
               raumn
               txjcd
               ipsnr
               from anlz
               into table it_itab2
               for all entries in it_itab1
               where bukrs = it_itab1-bukrs and
                     anln1 = it_itab1-anln1 and
                    anln2 = it_itab1-anln2.
                      anln2 = '0000'.
        if sy-subrc ne 0.
          message e000 with 'Data does not exist'(094).
        endif.
      endif.
      if not it_itab2[] is initial.
        select bukrs
               anln1
               anlhtxt
               from anlh
               into table it_itab3
        for all entries in it_itab2
        where bukrs = it_itab2-bukrs and
              anln1 = it_itab2-anln1.
        if sy-subrc ne 0.
          message e000 with 'Data does not exist'(094).
        endif.
      endif.
      if not it_itab1[] is initial.
        select bukrs
        anln1
        anln2
        afabe
        bdatu
        afasl
        ndjar
        ndper
        afabg
        ndurj
        ndurp
        umjar
        safbg
        zinbg
        inbda
        from anlb
        into table it_itab4
        for all entries in it_itab1
        where bukrs = it_itab1-bukrs and
              anln1 = it_itab1-anln1 and
             anln2 = it_itab1-anln2.
               anln2 = '0000'.
        if sy-subrc ne 0.
          message e000 with 'Data does not exist'(094).
        endif.
      endif.
      sort it_itab4  by bukrs anln1 anln2 afabe.
      if not it_itab4[] is initial.
        select bukrs
              anln1
              anln2
             gjahr
            afabe
            zujhr
            zucod
             ndabj
             ndabp
             kansw
             knafa
             kaafa
             ksafa
             andsj
             andsp
             kanza
    kaufw
    kinvz
    kmafa
             from anlc
             into table it_itab5
             for all entries in it_itab4
             where bukrs = it_itab4-bukrs and
                anln1 = it_itab4-anln1 and
               anln2 = it_itab4-anln2 and
                anln2 = '0000' and
                gjahr in s_gjahr.
        if sy-subrc ne 0.
          message e000 with 'Data does not exist'(094).
        endif.
      endif.
      sort it_itab5 by bukrs anln1 anln2 ndabj ndabp.
    endform.                    " POPULATE-DATA
    *&      Form  FILL_FINALDATA
          text
    -->  p1        text
    <--  p2        text
    form fill_finaldata.
      loop at it_itab5.
        loop at it_itab4 where bukrs = it_itab5-bukrs and
                            anln1 = it_itab5-anln1 and
                            anln2 = it_itab5-anln2 and
                            afabe = it_itab5-afabe.
          it_final-afabe = it_itab4-afabe.
          it_final-afasl = it_itab4-afasl.
          it_final-ndjar = it_itab4-ndjar.
          it_final-ndper = it_itab4-ndper.
          it_final-afabg = it_itab4-afabg.
          it_final-umjar = it_itab4-umjar.
          it_final-safbg = it_itab4-safbg.
          it_final-inbda = it_itab4-inbda.
          it_final-ndabj = it_itab5-ndabj.
          it_final-ndabp = it_itab5-ndabp.
          it_final-kansw = it_itab5-kansw.
          it_final-knafa = it_itab5-knafa.
          it_final-kaafa = it_itab5-kaafa.
          it_final-andsj = it_itab5-andsj.
          it_final-andsp = it_itab5-andsp.
          it_final-kanza = it_itab5-kanza.
          it_final-kaufw = it_itab5-kaufw.
          it_final-kinvz = it_itab5-kinvz.
          it_final-ksafa = it_itab5-ksafa.
          it_final-kmafa = it_itab5-kmafa.
          read table it_itab1 with key   bukrs = it_itab5-bukrs
                                      anln1 = it_itab5-anln1
                                      anln2 = it_itab5-anln2.
          if sy-subrc = 0.
            it_final-anlkl = it_itab1-anlkl.
            it_final-anln1 = it_itab1-anln1.
            it_final-anln2 = it_itab1-anln2.
            it_final-bukrs = it_itab1-bukrs.
            it_final-txt50 = it_itab1-txt50.
            it_final-txa50 = it_itab1-txa50.
            it_final-invnr = it_itab1-invnr.
            it_final-sernr = it_itab1-sernr.
            it_final-menge = it_itab1-menge.
            it_final-meins = it_itab1-meins.
            it_final-ivdat = it_itab1-ivdat.
            it_final-inken = it_itab1-inken.
            it_final-aktiv = it_itab1-aktiv.
            it_final-deakt = it_itab1-deakt.
            it_final-gdlgrp = it_itab1-gdlgrp.
            it_final-anlue = it_itab1-anlue.
            it_final-aibn1 = it_itab1-aibn1.
            it_final-aibn2 = it_itab1-aibn2.
            it_final-aibdt = it_itab1-aibdt.
            it_final-ord41 = it_itab1-ord41.
            it_final-ord44 = it_itab1-ord44.
            it_final-vmgli = it_itab1-vmgli.
            it_final-typbz = it_itab1-typbz.
            it_final-lifnr = it_itab1-lifnr.
            it_final-posnr = it_itab1-posnr.
            it_final-invzu = it_itab1-invzu.
          endif.
          read table it_itab2 with key   bukrs = it_itab5-bukrs
                                    anln1 = it_itab5-anln1
                                    anln2 = it_itab5-anln2.
          if sy-subrc = 0.
            it_final-werks = it_itab2-werks.
            it_final-gsber = it_itab2-gsber.
            it_final-kostl = it_itab2-kostl.
            it_final-kostlv = it_itab2-kostlv.
            it_final-stort = it_itab2-stort.
            it_final-raumn = it_itab2-raumn.
            it_final-txjcd = it_itab2-txjcd.
          endif.
          read table it_itab3 with key  bukrs = it_itab5-bukrs
                                     anln1 = it_itab5-anln1.
          if sy-subrc = 0.
            it_final-anlhtxt = it_itab3-anlhtxt.
          endif.
          append it_final.
          clear it_final.
        endloop.
      endloop.
      loop at it_final.
        move-corresponding it_final to it_final_as91.
        append it_final_as91.
        clear it_final_as91.
      endloop.
      delete adjacent duplicates from it_final_as91 comparing anlkl bukrs
      anln1 anln2.
      it_download_as91[] = it_final_as91[].
    endform.                    " FILL_FINALDATA
    *&      Form  BUILD_LAYOUT
          text
    -->  p1        text
    <--  p2        text
    form build_layout.
      wa_layout-zebra = 'X'.
    endform.                    " BUILD_LAYOUT
    *&      Form  BUILD_FIELDCATALOG
          text
    -->  p1        text
    <--  p2        text
    form build_fieldcatalog.
      if it_fldcat_head is initial.
        v_pos = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'ANLKL'.
        wa_fldcat_head-seltext_l = 'Asset Class'(093).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'BUKRS'.
        wa_fldcat_head-seltext_l = 'Company'(092).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'ANLN1'.
        wa_fldcat_head-seltext_l = 'Asset No'(091).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'ANLN2'.
        wa_fldcat_head-seltext_l = 'Asset Sub No'(090).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'TXT50'.
        wa_fldcat_head-seltext_l = 'Asset Des.'(089).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'TXA50'.
        wa_fldcat_head-seltext_l = 'Asset Des.'(088).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'ANLHTXT'.
        wa_fldcat_head-seltext_l = 'Asset main no txt'(087).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'SERNR'.
        wa_fldcat_head-seltext_l = 's.no/Expl no.'(086).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'INVNR'.
        wa_fldcat_head-seltext_l = 'Inv No'(085).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'MENGE'.
        wa_fldcat_head-seltext_l = 'Qtty'(084).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'MEINS'.
        wa_fldcat_head-seltext_l = 'Units'(083).
        append wa_fldcat_head to it_fldcat_head.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'INKEN'.
        wa_fldcat_head-seltext_l = 'Inv indi.'(082).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'IVDAT'.
        wa_fldcat_head-seltext_l = 'Last inv date'(081).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'AKTIV'.
        wa_fldcat_head-seltext_l = 'Asset Capital date'(080).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'GSBER'.
        wa_fldcat_head-seltext_l = 'Busin. Area'(079).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'KOSTL'.
        wa_fldcat_head-seltext_l = 'cost centre'(078).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'KOSTLV'.
        wa_fldcat_head-seltext_l = 'CC respon.for asset'(077).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'WERKS'.
        wa_fldcat_head-seltext_l = 'Plant'(076).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'STORT'.
        wa_fldcat_head-seltext_l = 'Asset location'(075).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'RAUMN'.
        wa_fldcat_head-seltext_l = 'Room'(074).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'TXJCD'.
        wa_fldcat_head-seltext_l = 'Tax. Jur.'(073).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'ORD41'.
        wa_fldcat_head-seltext_l = 'Evaluation Grp 1'(072).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'ORD44'.
        wa_fldcat_head-seltext_l = 'Evaluation Grp 4'(071).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'GDLGRP'.
        wa_fldcat_head-seltext_l = 'Evalu. group 5'(070).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'ANLUE'.
        wa_fldcat_head-seltext_l = 'Asset Super No'(069).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'LIFNR'.
        wa_fldcat_head-seltext_l = 'Vendor Acct. No.'(068).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'TYPBZ'.
        wa_fldcat_head-seltext_l = 'Reference no'(067).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'AIBN1'.
        wa_fldcat_head-seltext_l = 'Original Asset Trans.'(066).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'AIBN2'.
        wa_fldcat_head-seltext_l = 'Original Asset Trans.'(065).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'AIBDT'.
        wa_fldcat_head-seltext_l = 'Trans. Asset'(064).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'POSNR'.
        wa_fldcat_head-seltext_l = 'WBS Elt. Invt. Proj.'(063).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'VMGLI'.
        wa_fldcat_head-seltext_l = 'Property clas.key'(062).
        append wa_fldcat_head to it_fldcat_head.
       V_POS = 0.
        v_pos = v_pos + 1.
        w_field-col_pos = v_pos.
        wa_fldcat_head-tabname = 'it_FINAL_AS91'.
        wa_fldcat_head-fieldname = 'INVZU'.
        wa_fldcat_head-seltext_l = 'suppl.inv spec.'(061).
        append wa_fldcat_head to it_fldcat_head.
      endif.
    endform.                    " BUILD_FIELDCATALOG
    *&      Form  COMMENT_BUILD
          text
         -->P_TOP_OF_PAGE  text
    *form comment_build using top_of_page type slis_t_listheader.
    data: ls_line type slis_listheader.
    ****Header
    clear : ls_line.
    ls_line-typ = 'H'.
    LS_LINE-KEY: not used for this type
    ls_line-info = 'ASSET MASTER DATA LIST'.
    append ls_line to top_of_page.
    ****Selection
    clear ls_line.
    ls_line-typ = 'S'.
    ls_line-key = 'Key 1'.
    ls_line-info = 'Asset Records'.
    append ls_line to top_of_page.
    ****Action
    clear ls_line.
    ls_line-typ = 'A'.
    LS_LINE-KEY: not used for this type
    ls_line-info = 'for AS91'.
    append ls_line to top_of_page.
    *endform. "comment_build
          FORM top_of_page                                              *
    *form top_of_page.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
          exporting
               i_logo             = 'ENJOYSAP_LOGO'
               it_list_commentary = top_of_page.
    *endform. "top_of_page
    *&      Form  LIST-DISPLAY
          text
    -->  p1        text
    <--  p2        text
    form list-display.
    wa_layout-colwidth_optimize = 'X'.
      call function 'REUSE_ALV_GRID_DISPLAY'
           exporting
                i_callback_program     = w_repid
               i_callback_top_of_page = 'TOP_OF_PAGE'
                is_layout              = wa_layout
                it_fieldcat            = it_fldcat_head
               i_background_id        = 'ALV_BACKGROUND'
           tables
                t_outtab               = it_final_as91
           exceptions
                program_error          = 1
                others                 = 2.
      if sy-subrc <> 0.
    write:/'No Top of Page'(098).
      endif.
    endform.                    " LIST-DISPLAY
    *&      Form  DOWNLOAD
          text
    -->  p1        text
    <--  p2        text
    form download.
      perform setup_header.
      call function 'DOWNLOAD'
           exporting
                filetype                = 'DAT'
           tables
                data_tab                = it_download_as91
                fieldnames              = it_head
           exceptions
                invalid_filesize        = 1
                invalid_table_width     = 2
                invalid_type            = 3
                no_batch                = 4
                unknown_error           = 5
                gui_refuse_filetransfer = 6
                customer_error          = 7
                others                  = 8.
      if sy-subrc <> 0.
    write:/'Error in file Type'(097).
      endif.
    endform.                    " DOWNLOAD
    *&      Form  setup_header
          text

  • Calculations with Currency fields

    Hi Experts,
    Could you kindly throw some light on how Currency fields are processed in the Dictionary? How does the system calculate the local currency?
    For example, let us consider table BSAK,  I see the fields WAERS(Curr key), DMBRT (Amount in local currency) and WRBTR (Amount in document currency).
    How do I calculate the total Amount for a given values of
    LIFNR, BUKRS,GJAHR, MONAT and SHKZG = 'S' ?
    Do I just add all the DMBTR values?
    What would be the local currency be?
    Kindly advice.

    Hi Vimal,
    The fields DMBRT and WRBTR hold the amount whereas the field WAERS specifies the currency key of these fields . That is whether they are in Indian Currency ( IND ) or is it US Dollars ( USD ) etc... The Table to hold the currency keys is TCURC. You can find this table as a value table in the domain of the field WAERS.
    So if you have to calculate the currencies you have to check with their currency keys if the currency key is same then you Add the prices.
    Try to write this code in ABAP Editor :
    *"Table Declarations...................................................
    TABLES :
      sflight.                             " Flight
    *"Select Screen Elements...............................................
    SELECT-OPTIONS :
      s_carrid FOR sflight-carrid.         " Carrier ID
    *"Data Declarations....................................................
    * Work Variables                                                      *
    DATA :
      w_gross    TYPE p DECIMALS 2,        " Holds Gross Value
      w_net      TYPE p DECIMALS 2,        " Holds Net Value
      w_curr     LIKE sflight-currency.    " Holds Currency
    * Internal table to hold Flight data                                  *
    DATA :
      t_sflight LIKE
       STANDARD TABLE
             OF sflight.
    *                       TOP-OF-PAGE EVENT                             *
    TOP-OF-PAGE.
      PERFORM top_of_page.
    *                    AT SELECTION-SCREEN EVENT                        *
    AT SELECTION-SCREEN.
      PERFORM at_selection_screen.
    *                    START-OF-SELECTION EVENT                         *
    START-OF-SELECTION.
      PERFORM fetch_sflight_data.
      PERFORM display_sflight_data.
    *&      Form  top_of_page
    * This Subroutine Performs the Event Top-Of-Page
    *  There are no interface parameters to be passed to this subroutine.  *
    FORM top_of_page .
      WRITE :/45 text-001.
      ULINE.
    ENDFORM.                               " FORM TOP_OF_PAGE
    *&      Form  AT_SELECTION_SCREEN                                      *
    * This Subroutine Performs the Required Input Validations              *
    *  There are no interface parameters to be passed to this subroutine.  *
    FORM at_selection_screen .
      SELECT carrid                        " Carrier ID
        FROM sflight
        INTO TABLE t_sflight
       WHERE carrid = s_carrid-low.
      IF sy-subrc NE 0
      AND s_carrid-low NE space.
        MESSAGE e184(bc_global) WITH text-007.
      ENDIF.                               " IF SY-SUBRC NE 0
      SELECT carrid                        " Carrier ID
        FROM sflight
        INTO TABLE t_sflight
       WHERE carrid = s_carrid-high.
      IF sy-subrc NE 0
      AND s_carrid-high NE space.
        MESSAGE e184(bc_global) WITH text-008.
      ENDIF.                               " IF SY-SUBRC NE 0
    ENDFORM.                               " AT_SELECTION_SCREEN
    *&      Form  FETCH_SFLIGHT_DATA                                       *
    * This Subroutine Fetches Data from the Database table Sflight         *
    *  There are no interface parameters to be passed to this subroutine.  *
    FORM fetch_sflight_data .
      SELECT carrid                        " Carrier ID
             connid                        " Connection ID
             fldate                        " Flight Date
             price                         " Price
             currency                      " Currency
             seatsmax                      " Seats Maximum
             seatsocc                      " Seats Occupied
        FROM sflight
        INTO CORRESPONDING FIELDS OF
       TABLE t_sflight
       WHERE carrid IN s_carrid.
    ENDFORM.                               " FORM FETCH_SFLIGHT_DATA
    *&      Form  display_sflight_data
    * This Subroutine Displays Data from the Database table Sflight        *
    *  There are no interface parameters to be passed to this subroutine.  *
    FORM display_sflight_data .
      LOOP AT t_sflight INTO sflight.
        AT FIRST.
          FORMAT COLOR 1.
          WRITE :  /5  'Carrier ID'(002),
                  140  space,
                  /25  'Flight Date'(003),
                  140  space,
                  /44  'Seats'(004),
                   65  'Seats'(004),
                  140  space,
                  /44 '(Maximum)'(005),
                   65 '(Occupied)'(006),
                  140   space.
          ULINE.
        ENDAT.
    *" AT NEW CONNID
        AT NEW connid.
          FORMAT COLOR 6 INTENSIFIED OFF.
          WRITE :/  sflight-carrid   UNDER text-002,
                 10   sflight-connid.
        ENDAT.                             " AT NEW CONNID
        FORMAT COLOR 5 INTENSIFIED OFF.
        WRITE :/  sflight-fldate   UNDER text-003,
                  sflight-seatsmax UNDER text-005,
                  sflight-seatsocc UNDER text-006,
               90 sflight-currency,
              110 space.
        w_gross = w_gross + sflight-price * sflight-seatsocc.
        w_curr = sflight-currency.
    *" AT END OF CONNID
        AT END OF connid.
          FORMAT COLOR 3 INTENSIFIED OFF.
          WRITE :/ 'Total Bookings so far '(009),
                 40 w_gross,
                 60 w_curr.
          w_net = w_net + w_gross.
        ENDAT.                             " AT END OF CONNID
    *" AT END OF CARRID
        AT END OF carrid.
          SKIP 2.
          FORMAT COLOR 3 INTENSIFIED ON.
          WRITE :/ 'Total Bookings so far for '(013),
                   sflight-carrid,
                   w_net,
                   w_curr.
          ULINE.
          CLEAR w_gross.
          CLEAR w_net.
        ENDAT.                             " AT END OF CARRID
      ENDLOOP.                             " LOOP AT T_SFLIGHT...
    ENDFORM.                               " FORM DISPLAY_SFLIGHT_DATA
    This is to sum the prices of a flight according to currency key
    Regards,
    Swapna.

  • BW: Transaction Key  in 2LIS_02_ITM

    Hi ,
    In the datasource for Purchasing 2LIS_02_ITM and it is also there in the Schedule line item 2LIS_02_SCL, there is a field called BW: Transaction Key mapped to BWVORG in R/3. It looks to me, that it provides information about, whether it is a invoice, GR, and so on. Does anyone know, what are the different values and what do they mean. Thanks a bunch for helping me.

    Hi Sonali,
    Check oss 684465
    In the BW customizing is possible to maintain the description of the
    transaction key for transferring Logistics movement data to BW system,
    field BWVORG in purchasing data sources, but this will not change
    the BWVORG determination process.
    Customizing (transaction MCB0):
    Settings for application specific -> Logistics ->Purchasing settings ->
    Maintain Transaction Key for SAP BW.
    Here is a list of the values that BWVORG can assume, according with
    the purchasing item type, processed document and purchasing order type:
    1 - For non return items:
        a) Document type: Purchasing order
            - Normal purchasing order - BWVORG = 001
            - Stock transport order   - BWVORG = 011
            - Cross company order     - BWVORG = 021
        b) Document type: Goods receipt
            - Normal purchasing order - BWVORG = 002
            - Stock transport order   - BWVORG = 012
            - Cross company order     - BWVORG = 022
        c) Document type: Invoice receipt
            - Normal purchasing order - BWVORG = 003
    - Stock transport order - BWVORG = 013
            - Cross company order     - BWVORG = 023
        d) Document type: Scheduling agreement
            - Normal scheduling agreement - BWVORG = 004
            - Stock transport agreement   - BWVORG = 014
            - Cross company agreement     - BWVORG = 024
        e) Document type: Contract
            - Normal contract             - BWVORG = 008
            - Cross company contract      - BWVORG = 028
        f) Document type: Request of quotation
            - Request of quotation        - BWVORG = 009
            - Quotation                  - BWVORG = 040
    2 - For return items:
        a) Document type: Purchasing order
            - Normal purchasing order - BWVORG = 005
            - Stock transport order   - BWVORG = 015
            - Cross company order     - BWVORG = 025
        b) Document type: Goods receipt
            - Normal purchasing order - BWVORG = 006
            - Stock transport order   - BWVORG = 016
            - Cross company order     - BWVORG = 026
        c) Document type: Invoice receipt
            - Normal purchasing order - BWVORG = 007
            - Stock transport order   - BWVORG = 017
            - Cross company order     - BWVORG = 027
        d) Document type: Scheduling agreement
            - Normal scheduling agreement - BWVORG = 041
            - Stock transport agreement   - BWVORG = 051
            - Cross company agreement     - BWVORG = 061
    Jaya

  • What are process KEYS in MM

    COuld someone please explain what process keys are and what is thier significance on MM extractors....what i am looking for is an exact definition of process keys...
    Thank you

    hi Southie,
    process key is used to interpret document information from r/3 to bw.
    The extractors presented here represent, in principle, structures that collect document-specific information from the logistics application Purchasing and transfer it to the SAP BW.
    Many key figures are yielded from the application. These must be transferred to the SAP BW with the help of the extractors. SAP ensures that document information is interpreted in advance with the help of a 'process key' so that key figures, which describe and measure the particular processes, can be more easily derived for customers.
    how to
    to activate : transaction Transaction MCB_ in r/3
    sample in purchasing
    Here is a list of the values that process key - BWVORG can assume, according with the purchasing item type, processed document and purchasing order type:
    1 - For non return items:
    a) Document type: Purchasing order
    - Normal purchasing order - BWVORG = 001
    - Stock transport order - BWVORG = 011
    - Cross company order - BWVORG = 021
    b) Document type: Goods receipt
    - Normal purchasing order - BWVORG = 002
    - Stock transport order - BWVORG = 012
    - Cross company order - BWVORG = 022
    c) Document type: Invoice receipt
    - Normal purchasing order - BWVORG = 003
    - Stock transport order - BWVORG = 013
    - Cross company order - BWVORG = 023
    d) Document type: Scheduling agreement
    - Normal scheduling agreement - BWVORG = 004
    - Stock transport agreement - BWVORG = 014
    - Cross company agreement - BWVORG = 024
    e) Document type: Contract
    - Normal contract - BWVORG = 008
    - Cross company contract - BWVORG = 028
    f) Document type: Request of quotation
    - Request of quotation - BWVORG = 009
    - Quotation - BWVORG = 040
    2 - For return items:
    a) Document type: Purchasing order
    - Normal purchasing order - BWVORG = 005
    - Stock transport order - BWVORG = 015
    - Cross company order - BWVORG = 025
    b) Document type: Goods receipt
    - Normal purchasing order - BWVORG = 006
    - Stock transport order - BWVORG = 016
    - Cross company order - BWVORG = 026
    c) Document type: Invoice receipt
    - Normal purchasing order - BWVORG = 007
    - Stock transport order - BWVORG = 017
    - Cross company order - BWVORG = 027
    d) Document type: Scheduling agreement
    - Normal scheduling agreement - BWVORG = 041
    - Stock transport agreement - BWVORG = 051
    - Cross company agreement - BWVORG = 061

  • MM Purchasing - BW Processkeys

    We have installed the Purchasing Business Content modules but wish to expand it beyond the pesent delivery service use. Presently the Purchase Order Item ODS(0PUR_O01) and Header ODS (0PUR_O02) infoproviders have start routines to to filter records by processkey = 001,011,021,002,012,022 (Item) and hdrprocess = 01 (Header).
    Does anybody know what these represent or have any documentation and are there any other processkeys we may require to use the ODS stuctures to create Cubes for general Purchase Order reporting?

    Hi dear,
    from OSS Note 684465 "BWVORG for purchasing data sources":
    Here is a list of the values that BWVORG can assume, according with
    the purchasing item type, processed document and purchasing order type:
    1 - For non return items:
        a) Document type: Purchasing order
            - Normal purchasing order - BWVORG = 001
            - Stock transport order   - BWVORG = 011
            - Cross company order     - BWVORG = 021
        b) Document type: Goods receipt
            - Normal purchasing order - BWVORG = 002
            - Stock transport order   - BWVORG = 012
            - Cross company order     - BWVORG = 022
        c) Document type: Invoice receipt
            - Normal purchasing order - BWVORG = 003
    - Stock transport order - BWVORG = 013
            - Cross company order     - BWVORG = 023
        d) Document type: Scheduling agreement
            - Normal scheduling agreement - BWVORG = 004
            - Stock transport agreement   - BWVORG = 014
            - Cross company agreement     - BWVORG = 024
        e) Document type: Contract
            - Normal contract             - BWVORG = 008
            - Cross company contract      - BWVORG = 028
        f) Document type: Request of quotation
            - Request of quotation        - BWVORG = 009
            - Quotation                  - BWVORG = 040
    2 - For return items:
        a) Document type: Purchasing order
            - Normal purchasing order - BWVORG = 005
            - Stock transport order   - BWVORG = 015
            - Cross company order     - BWVORG = 025
        b) Document type: Goods receipt
            - Normal purchasing order - BWVORG = 006
            - Stock transport order   - BWVORG = 016
            - Cross company order     - BWVORG = 026
        c) Document type: Invoice receipt
            - Normal purchasing order - BWVORG = 007
            - Stock transport order   - BWVORG = 017
            - Cross company order     - BWVORG = 027
        d) Document type: Scheduling agreement
            - Normal scheduling agreement - BWVORG = 041
            - Stock transport agreement   - BWVORG = 051
            - Cross company agreement     - BWVORG = 061
    Hope it helps!
    Bye,
    Roberto

  • Process key for infosource 2LIS_02_SCL

    Hi
    Is processkey a standard across a module eg: MM and SD. In the transfer rule, there is a coding to check on process key in 2LIS_02_SCL. eg:
    if ( comm_structure-processkey = '002' or  
        comm_structure-processkey = '012' or
        comm_structure-processkey = '022' )
        and comm_structure-bwapplnm eq 'MM'
        and comm_structure-cppvlc <> 0.
                                                                                    result = comm_structure-cppvlc.
        returncode = 0.
    else.
        returncode = 4.
    endif.
                                                                                    I would like to know what is the meaning of these process keys? Are the configure somewhere? Can anyone share with me?
    Regards
    Kang Ring

    Hi
    Here are the transaction keys from OSS note:
    Here is a list of the values that BWVORG can assume, according with
    the purchasing item type, processed document and purchasing order type:
    1 - For non return items:
        a) Document type: Purchasing order
            - Normal purchasing order - BWVORG = 001
            - Stock transport order   - BWVORG = 011
            - Cross company order     - BWVORG = 021
        b) Document type: Goods receipt
            - Normal purchasing order - BWVORG = 002
            - Stock transport order   - BWVORG = 012
            - Cross company order     - BWVORG = 022
        c) Document type: Invoice receipt
            - Normal purchasing order - BWVORG = 003
    - Stock transport order - BWVORG = 013
            - Cross company order     - BWVORG = 023
        d) Document type: Scheduling agreement
            - Normal scheduling agreement - BWVORG = 004
            - Stock transport agreement   - BWVORG = 014
            - Cross company agreement     - BWVORG = 024
        e) Document type: Contract
            - Normal contract             - BWVORG = 008
            - Cross company contract      - BWVORG = 028
        f) Document type: Request of quotation
            - Request of quotation        - BWVORG = 009
            - Quotation                  - BWVORG = 040
    2 - For return items:
        a) Document type: Purchasing order
            - Normal purchasing order - BWVORG = 005
            - Stock transport order   - BWVORG = 015
            - Cross company order     - BWVORG = 025
        b) Document type: Goods receipt
            - Normal purchasing order - BWVORG = 006
            - Stock transport order   - BWVORG = 016
            - Cross company order     - BWVORG = 026
        c) Document type: Invoice receipt
            - Normal purchasing order - BWVORG = 007
            - Stock transport order   - BWVORG = 017
            - Cross company order     - BWVORG = 027
        d) Document type: Scheduling agreement
            - Normal scheduling agreement - BWVORG = 041
            - Stock transport agreement   - BWVORG = 051
            - Cross company agreement     - BWVORG = 061

  • Reg:open sales orders

    Can any body give me the logic to list the oper sales orders.
    Thanks,
    srik

    Hi,
    *& Report  ZOPEN_SALESORDER
    report zopen_salesorder message-id arc no standard page heading.
    tables :kna1,vbak.
    select-options : so_vkorg for vbak-vkorg ,
    so_vtweg for vbak-vtweg ,
    so_spart for vbak-spart,
    so_kunnr for kna1-kunnr.
    data : keybalance like bapi3007_3 occurs 0 with header line.
    data : begin of sales_open occurs 0 ,
    vbeln like vbak-vbeln,
    auart like vbak-auart,
    kunnr like kna1-kunnr,
    bstnk like vbak-bstnk,
    lfstk like vbuk-lfstk,
    fkstk like vbuk-fkstk,
    gbstk like vbuk-gbstk,
    end of sales_open.
    data : begin of itm_sales occurs 0,
    vbeln like vbap-vbeln,
    posnr like vbap-posnr,
    matnr like vbap-matnr,
    lfsta like vbup-lfsta,
    lfgsa like vbup-lfgsa,
    fksta like vbup-fksta,
    fksaa like vbup-fksaa,
    gbsta like vbup-gbsta,
    end of itm_sales.
    data : l_kunnr like kna1-kunnr,
    l_vkorg like vbak-vkorg,
    l_vtweg like vbak-vtweg,
    l_spart like vbak-spart.
    data: v_statusl(20) type c,
    v_statusb(20) type c,
    v_statusf(20) type c,
    v_statusg(20) type c,
    v_status(20) type c,
    v_field(1) type c.
    **Selection Screen Validations.
    at selection-screen.
    perform validations.
    *& Form Validations
    text
    --> p1 text
    <-- p2 text
    form validations.
    **Customer
    if not so_kunnr[] is initial.
    select single kunnr into l_kunnr
    from kna1
    where kunnr in so_kunnr.
    if sy-subrc ne 0.
    message e002 with text-005.
    endif.
    endif.
    **Sales Organization
    if not so_vkorg[] is initial.
    select single vkorg into l_vkorg
    from tvko
    where vkorg in so_vkorg.
    if sy-subrc ne 0.
    message e003 with text-006.
    endif.
    endif.
    **Distribution Channel
    if not so_vtweg[] is initial.
    select single vtweg into l_vtweg
    from tvkov
    where vkorg in so_vkorg
    and vtweg in so_vtweg.
    if sy-subrc ne 0.
    message e004 with text-007.
    endif.
    endif.
    **Division
    if not so_spart[] is initial.
    select single spart into l_spart
    from tvta
    where vkorg in so_vkorg
    and vtweg in so_vtweg
    and spart in so_spart.
    if sy-subrc ne 0.
    message e005 with text-008.
    endif.
    endif.
    endform. " Validations
    top-of-page.
    perform sales_top_of_page.
    start-of-selection.
    perform sales_sel.
    *& Form sales_sel
    text
    --> p1 text
    <-- p2 text
    form sales_sel.
    data: date type sy-datum.
    date = sy-datum - 3000.
    select vbeln auart kunnr bstnk
    lfstk fkstk gbstk
    into table sales_open
    from vbakuk
    where vkorg in so_vkorg
    and vtweg in so_vtweg
    and spart in so_spart
    and kunnr in so_kunnr
    "and gbstk ne 'C'.
      and gbstk in ('A','B')
      and erdat >= date.
    loop at sales_open.
    call function 'BAPI_AR_ACC_GETKEYDATEBALANCE'
          exporting
            companycode = '1919'
            customer    = sales_open-kunnr
            keydate     = sy-datum
          tables
            keybalance  = keybalance.
        read table keybalance index sy-tabix.
    write:/4 sy-vline,
    5 sales_open-vbeln  color 2 intensified on,
    16 sy-vline,
    17 sales_open-auart color 2 intensified on,
    27 sy-vline,
    28 sales_open-kunnr color 2 intensified on,
    40 sy-vline,
    41 sales_open-bstnk color 2 intensified on,
    55 sy-vline,
    56 sales_open-lfstk,
    76 sy-vline,
    77 sales_open-fkstk,
    96 sy-vline,
    97 sales_open-gbstk ,
    117 sy-vline,
    118 keybalance-lc_bal,
    142 sy-vline.
    "hide sales_open-vbeln .
    endloop.
    write :/4 sy-uline(160).
    endform. " sales_sel
    *& Form sales_top_of_page
    text
    --> p1 text
    <-- p2 text
    form sales_top_of_page.
    write:/4 sy-uline(160),
    50 'OPEN SALES ORDERS' color 7 intensified on .
    write: /4 sy-vline,
    5 'SalesOrder' color 1 ,
    16 sy-vline,
    17 'OrderType' color 1,
    27 sy-vline,
    28 'Customer' color 1,
    40 sy-vline,
    41 'PoNumber' color 1,
    55 sy-vline,
    56 'Delivery Status' color 1,
    76 sy-vline,
    77 'Billing Status' color 1,
    96 sy-vline,
    97 'Processing Status' color 1,
    117 sy-vline,
    130 'Balance' color 1,
    142 sy-vline.
    write:/4 sy-uline(160).
    endform. " sales_top_of_page
    "at line-selection.
    "select a~vbeln
    "a~posnr
    "a~matnr
    "* a~kwmeng
    "b~lfsta
    "b~lfgsa
    "b~fksta
    "b~fksaa
    "b~gbsta
    "into table itm_sales
    "from vbap as a join vbup as b
    "on avbeln eq bvbeln
    "and aposnr eq bposnr
    "and b~gbsta ne 'C'
    "where a~vbeln eq sales_open-vbeln.
    "if not sales_open is initial.
    "loop at itm_sales.
    "write:/5 itm_sales-vbeln,
    "itm_sales-posnr,
    "itm_sales-matnr,
    "itm_sales-lfsta,
    "itm_sales-lfgsa,
    "itm_sales-fksta,
    "itm_sales-fksaa,
    "itm_sales-gbsta.
    "endloop.
    "endif.
    thanks
    Ravi

  • Display data in excel

    Hi, I have program which display data in Excel layout of ALV loaded from internal table..
    It means that in sap i received excel sheet with all its functionality.
    The problem is that sometimes there are missed some rows with data.
    Did someone meet with similar situation?
    Regards,
    Joanna

    HI
    DATA: v_file LIKE rlgrap-filename,
            v_filename TYPE string.
      REFRESH i_matcontrol.
      CLEAR   i_matcontrol.
      TRANSLATE v_exten TO UPPER CASE.
      IF v_exten = 'XLS'.
        v_file = p_p_file.
        CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
          EXPORTING
            i_field_seperator    = 'X'
            i_tab_raw_data       = ws_rawdata
            i_filename           = v_file
          TABLES
            i_tab_converted_data = i_data.
      ELSEIF v_exten = 'TXT'.
        v_filename = p_p_file.
    File upload
        CALL FUNCTION 'GUI_UPLOAD'
          EXPORTING
            filename                = v_filename
            filetype                = 'ASC'
            has_field_separator     = 'T'
          TABLES
            data_tab                = i_data
          EXCEPTIONS
            file_open_error         = 1
            file_read_error         = 2
            no_batch                = 3
            gui_refuse_filetransfer = 4
            invalid_type            = 5
            no_authority            = 6
            unknown_error           = 7
            bad_data_format         = 8
            header_not_allowed      = 9
            separator_not_allowed   = 10
            header_too_long         = 11
            unknown_dp_error        = 12
            access_denied           = 13
            dp_out_of_memory        = 14
            disk_full               = 15
            dp_timeout              = 16
            OTHERS                  = 17.
        CASE sy-subrc.
          WHEN 1.
            MESSAGE e001(00) WITH text-001.
            STOP.
          WHEN 2.
            MESSAGE e001(00) WITH text-002.
            STOP.
          WHEN 0.
            IF i_data IS INITIAL.
              MESSAGE s001(00) WITH text-008.
            ENDIF.
        ENDCASE.
      ENDIF.
      DELETE i_data WHERE matnr IS INITIAL AND
                                  werks IS INITIAL.

  • Report - SD module

    Hi,
    I am creating a report for SD module.
    I have to fetch the billing docs for a given date and find the open sales orders & print the report.
    I could fetch the billing docs...open sales order for the given date.
    What is the relation (link) between the Billing and the sales orders. HOw will i find out that the Open sales order and the billing doc. belong to the sales order made by the customer.
    Thank you

    Relation between a sales order and a Billing document ( Invoice ).
    After the sales order is processed then comes the stage of Delivery where the items under the sales order are processed , picked , packed and Pgi'ed (goods issue is completed) .
    once this is done then an Invoice (billing document number is generated for that delivery )
    This is the Sequence.
    For ur understanding goto VF03 and give an invoice number as input and hit an enter.
    Now in the screen at the left top corner in the select Document Flow (shift+F7) and click that .. This will show u the status of the sales order /delivery /invoice number.
    sales order in VBAK---item VBAP
    delivery      in LIKP  ---iteM LIPS
    Invoice       in VBRK---item VBRP
    in order to capture the sales order as open or closed ..
    You need to proceed like
    take the sales order number and goto table VBUK and input the sales order number and check for field VBUK-GBSTK NE C
    if its C then its Closed else if it is A or B then its open .
    GBSTK--is the overall processing status for the order ..
    U need to write a join for this or directly fetch the entry from table VBAKUK.
    here is a sample code to fetch the open orders at header and item level.
    execute the code to understand teh logic
    REPORT ZEX2  MESSAGE-ID arc NO STANDARD PAGE HEADING.
    Tables :kna1,vbak.
    SELECT-OPTIONS : so_vkorg FOR  vbak-vkorg OBLIGATORY, "sales area
                     so_vtweg FOR  vbak-vtweg OBLIGATORY,
                     so_spart FOR  vbak-spart,                                 
                     so_kunnr FOR  kna1-kunnr.                        "ur customer 
    DATA : BEGIN OF sales_open OCCURS 0 ,
           vbeln LIKE vbak-vbeln,
           auart LIKE vbak-auart,
           kunnr LIKE kna1-kunnr,
           bstnk LIKE vbak-bstnk,
           lfstk LIKE vbuk-lfstk,
           fkstk LIKE vbuk-fkstk,
           gbstk LIKE vbuk-gbstk,
           END OF sales_open.
    DATA : BEGIN OF itm_sales OCCURS 0,
           vbeln LIKE vbap-vbeln,
           posnr LIKE vbap-posnr,
           matnr LIKE vbap-matnr,
           kwmeng like vbap-kwmeng,
           lfsta LIKE vbup-lfsta,
           lfgsa LIKE vbup-lfgsa,
           fksta LIKE vbup-fksta,
           fksaa LIKE vbup-fksaa,
           gbsta LIKE vbup-gbsta,
           END OF itm_sales.
    DATA : l_kunnr LIKE kna1-kunnr,
           l_vkorg LIKE vbak-vkorg,
           l_vtweg LIKE vbak-vtweg,
           l_spart LIKE vbak-spart.
    DATA: v_statusl(20) TYPE c,
          v_statusb(20) TYPE c,
          v_statusf(20) TYPE c,
          v_statusg(20) TYPE c,
          v_status(20) TYPE c,
          v_field(1) TYPE c.
    data : v_openqty like vbap-kwmeng.
    **Selection Screen Validations.
    AT SELECTION-SCREEN.
      PERFORM validations.
    *&      Form  Validations
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM validations.
    **Customer
      IF NOT so_kunnr[] IS INITIAL.
        SELECT SINGLE kunnr INTO l_kunnr
               FROM kna1
               WHERE kunnr IN so_kunnr.
        IF sy-subrc NE 0.
          MESSAGE e002 WITH text-005.
        ENDIF.
      ENDIF.
    **Sales Organization
      IF NOT so_vkorg[] IS INITIAL.
        SELECT SINGLE vkorg INTO l_vkorg
               FROM tvko
               WHERE vkorg IN so_vkorg.
        IF sy-subrc NE 0.
          MESSAGE e003 WITH text-006.
        ENDIF.
      ENDIF.
    **Distribution Channel
      IF NOT so_vtweg[] IS INITIAL.
        SELECT SINGLE vtweg INTO l_vtweg
                FROM tvkov
                WHERE   vkorg IN so_vkorg
                 AND    vtweg IN so_vtweg.
        IF sy-subrc NE 0.
          MESSAGE e004 WITH text-007.
        ENDIF.
      ENDIF.
    **Division
      IF NOT so_spart[] IS INITIAL.
        SELECT SINGLE spart INTO l_spart
                FROM tvta
                WHERE   vkorg IN so_vkorg
                AND     vtweg IN so_vtweg
                AND     spart IN so_spart.
        IF sy-subrc NE 0.
          MESSAGE e005 WITH text-008.
        ENDIF.
      ENDIF.
    ENDFORM.                    " Validations
    Top-of-page.
    PERFORM sales_top_of_page.
    Start-of-selection.
    PERFORM sales_sel.
    *&      Form  sales_sel
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM sales_sel.
    SELECT vbeln auart kunnr bstnk
         lfstk fkstk gbstk
         INTO TABLE sales_open
         FROM vbakuk
         WHERE vkorg IN so_vkorg
         AND   vtweg IN so_vtweg
         AND   spart IN so_spart
         AND   kunnr IN so_kunnr
         AND gbstk NE 'C'.
      LOOP AT sales_open.
        WRITE:/4 sy-vline,
               5 sales_open-vbeln HOTSPOT ON COLOR 2 INTENSIFIED OFF,
               16 sy-vline,
               17 sales_open-auart COLOR 2 INTENSIFIED OFF,
               27 sy-vline,
               28 sales_open-kunnr COLOR 2 INTENSIFIED OFF,
               40 sy-vline,
               41 sales_open-bstnk COLOR 2 INTENSIFIED OFF,
               55 sy-vline,
               56 sales_open-lfstk,
               76 sy-vline,
               77 sales_open-fkstk,
               96 sy-vline,
               97 sales_open-gbstk ,
               117 sy-vline.
        HIDE sales_open-vbeln .
      ENDLOOP.
    ENDFORM.                    " sales_sel
    *&      Form  sales_top_of_page
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM sales_top_of_page.
      WRITE:/4 sy-uline(114),
         50 'OPEN SALES ORDERS' COLOR 7 INTENSIFIED ON .
      WRITE: /4 sy-vline,
              5 'SalesOrder' COLOR 1 ,
              16 sy-vline,
             17  'OrderType' COLOR 1,
             27  sy-vline,
             28  'Customer' COLOR 1,
             40  sy-vline,
             41  'PoNumber' COLOR 1,
             55  sy-vline,
             56  'Delivery Status' COLOR 1,
             76  sy-vline,
             77  'Billing Status' COLOR 1,
             96  sy-vline,
             97  'Processing Status' COLOR 1,
             117  sy-vline .
      WRITE:/4 sy-uline(114).
    ENDFORM.                    " sales_top_of_page
    AT LINE-SELECTION.
      SELECT       a~vbeln
                   a~posnr
                   a~matnr
                   a~kwmeng
                   b~lfsta
                   b~lfgsa
                   b~fksta
                   b~fksaa
                   b~gbsta
                   INTO TABLE itm_sales
                   FROM vbap AS a JOIN vbup AS b
                   ON a~vbeln EQ b~vbeln
                   AND a~posnr EQ b~posnr
                   AND b~gbsta NE 'C'
                   WHERE a~vbeln EQ sales_open-vbeln.
      IF NOT sales_open IS INITIAL.
        LOOP AT itm_sales.
          at end of vbeln .
          sum.
          v_openqty = itm_sales-kwmeng.
          endat.
          WRITE:/5  itm_sales-vbeln,
                    itm_sales-posnr,
                    itm_sales-matnr,
                    itm_sales-kwmeng,
                    itm_sales-lfsta,
                    itm_sales-lfgsa,
                    itm_sales-fksta,
                    itm_sales-fksaa,
                    itm_sales-gbsta.
        ENDLOOP.
      ENDIF.
    skip 2.
      write:/  'open Quantity for the order is ', v_openqty .
    in order to fetch the invoice number from sales order ..
    goto table VBFA and give the input as sales order number in Preceding document no(VBELV) and in the Document category of subsequent document (VBTYP_N) give it as caps 'M'
    for fetching delivery from sales order same as above with vbtyp_n = 'J'.
    regards,
    vijay

  • Open Orders Report.

    Hello,
    Can anyone give me the code for the open orders report??Using the tables VBAP,VBAK and VBUK.
    Thanking you in anticipation.
    Regards,
    Sirisha.

    hi sirisha ,
    check this code for open sales order(basic list) + open items (secondary list).
    check the status as A--not yet processed..  
                        B--partially processed
                        C--completely processed
    hope this helps u out in getting the functionality.
    u can take the header data from vbakuk ( vbak + vbuk )
    and items from vbap as shown ..
    fetching the data from vbakuk minimizes joins on vbak and vbuk.
    execute the below code.
    REPORT ZEX2  MESSAGE-ID arc NO STANDARD PAGE HEADING.
    Tables :kna1,vbak.
    SELECT-OPTIONS : so_vkorg FOR  vbak-vkorg OBLIGATORY,
                     so_vtweg FOR  vbak-vtweg OBLIGATORY,
                     so_spart FOR  vbak-spart,
                     so_kunnr FOR  kna1-kunnr.
    DATA : BEGIN OF sales_open OCCURS 0 ,
           vbeln LIKE vbak-vbeln,
           auart LIKE vbak-auart,
           kunnr LIKE kna1-kunnr,
           bstnk LIKE vbak-bstnk,
           lfstk LIKE vbuk-lfstk,
           fkstk LIKE vbuk-fkstk,
           gbstk LIKE vbuk-gbstk,
           END OF sales_open.
    DATA : BEGIN OF itm_sales OCCURS 0,
           vbeln LIKE vbap-vbeln,
           posnr LIKE vbap-posnr,
           matnr LIKE vbap-matnr,
           lfsta LIKE vbup-lfsta,
           lfgsa LIKE vbup-lfgsa,
           fksta LIKE vbup-fksta,
           fksaa LIKE vbup-fksaa,
           gbsta LIKE vbup-gbsta,
           END OF itm_sales.
    DATA : l_kunnr LIKE kna1-kunnr,
           l_vkorg LIKE vbak-vkorg,
           l_vtweg LIKE vbak-vtweg,
           l_spart LIKE vbak-spart.
    DATA: v_statusl(20) TYPE c,
          v_statusb(20) TYPE c,
          v_statusf(20) TYPE c,
          v_statusg(20) TYPE c,
          v_status(20) TYPE c,
          v_field(1) TYPE c.
    **Selection Screen Validations.
    AT SELECTION-SCREEN.
      PERFORM validations.
    *&      Form  Validations
          text
    -->  p1        text
    <--  p2        text
    FORM validations.
    **Customer
      IF NOT so_kunnr[] IS INITIAL.
        SELECT SINGLE kunnr INTO l_kunnr
               FROM kna1
               WHERE kunnr IN so_kunnr.
        IF sy-subrc NE 0.
          MESSAGE e002 WITH text-005.
        ENDIF.
      ENDIF.
    **Sales Organization
      IF NOT so_vkorg[] IS INITIAL.
        SELECT SINGLE vkorg INTO l_vkorg
               FROM tvko
               WHERE vkorg IN so_vkorg.
        IF sy-subrc NE 0.
          MESSAGE e003 WITH text-006.
        ENDIF.
      ENDIF.
    **Distribution Channel
      IF NOT so_vtweg[] IS INITIAL.
        SELECT SINGLE vtweg INTO l_vtweg
                FROM tvkov
                WHERE   vkorg IN so_vkorg
                 AND    vtweg IN so_vtweg.
        IF sy-subrc NE 0.
          MESSAGE e004 WITH text-007.
        ENDIF.
      ENDIF.
    **Division
      IF NOT so_spart[] IS INITIAL.
        SELECT SINGLE spart INTO l_spart
                FROM tvta
                WHERE   vkorg IN so_vkorg
                AND     vtweg IN so_vtweg
                AND     spart IN so_spart.
        IF sy-subrc NE 0.
          MESSAGE e005 WITH text-008.
        ENDIF.
      ENDIF.
    ENDFORM.                    " Validations
    Top-of-page.
    PERFORM sales_top_of_page.
    Start-of-selection.
    PERFORM sales_sel.
    *&      Form  sales_sel
          text
    -->  p1        text
    <--  p2        text
    FORM sales_sel.
    SELECT vbeln auart kunnr bstnk
         lfstk fkstk gbstk
         INTO TABLE sales_open
         FROM vbakuk
         WHERE vkorg IN so_vkorg
         AND   vtweg IN so_vtweg
         AND   spart IN so_spart
         AND   kunnr IN so_kunnr
         AND gbstk NE 'C'.
      LOOP AT sales_open.
        WRITE:/4 sy-vline,
               5 sales_open-vbeln HOTSPOT ON COLOR 2 INTENSIFIED OFF,
               16 sy-vline,
               17 sales_open-auart COLOR 2 INTENSIFIED OFF,
               27 sy-vline,
               28 sales_open-kunnr COLOR 2 INTENSIFIED OFF,
               40 sy-vline,
               41 sales_open-bstnk COLOR 2 INTENSIFIED OFF,
               55 sy-vline,
               56 sales_open-lfstk,
               76 sy-vline,
               77 sales_open-fkstk,
               96 sy-vline,
               97 sales_open-gbstk ,
               117 sy-vline.
        HIDE sales_open-vbeln .
      ENDLOOP.
    ENDFORM.                    " sales_sel
    *&      Form  sales_top_of_page
          text
    -->  p1        text
    <--  p2        text
    FORM sales_top_of_page.
      WRITE:/4 sy-uline(114),
         50 'OPEN SALES ORDERS' COLOR 7 INTENSIFIED ON .
      WRITE: /4 sy-vline,
              5 'SalesOrder' COLOR 1 ,
              16 sy-vline,
             17  'OrderType' COLOR 1,
             27  sy-vline,
             28  'Customer' COLOR 1,
             40  sy-vline,
             41  'PoNumber' COLOR 1,
             55  sy-vline,
             56  'Delivery Status' COLOR 1,
             76  sy-vline,
             77  'Billing Status' COLOR 1,
             96  sy-vline,
             97  'Processing Status' COLOR 1,
             117  sy-vline .
      WRITE:/4 sy-uline(114).
    ENDFORM.                    " sales_top_of_page
    AT LINE-SELECTION.
      SELECT       a~vbeln
                   a~posnr
                   a~matnr
                a~kwmeng
                   b~lfsta
                   b~lfgsa
                   b~fksta
                   b~fksaa
                   b~gbsta
                   INTO TABLE itm_sales
                   FROM vbap AS a JOIN vbup AS b
                   ON avbeln EQ bvbeln
                   AND aposnr EQ bposnr
                   AND b~gbsta NE 'C'
                   WHERE a~vbeln EQ sales_open-vbeln.
      IF NOT sales_open IS INITIAL.
        LOOP AT itm_sales.
          WRITE:/5  itm_sales-vbeln,
                    itm_sales-posnr,
                    itm_sales-matnr,
                    itm_sales-lfsta,
                    itm_sales-lfgsa,
                    itm_sales-fksta,
                    itm_sales-fksaa,
                    itm_sales-gbsta.
        ENDLOOP.
      ENDIF.
    Regards,
    Vijay
    check the entries with t-code va05 for the same criteria.
    Message was edited by: Vijay

  • Function module for document flow

    Hi,
    I am developing a report on sales.
    i need to display the delivery and billing status of the sale order in the report.
    Is there any function module to get both the delivery and billing status for the input parameter sale order number.....?
    Thanks in advance....
    Raghav

    hi , check the code
    REPORT ZEX2  MESSAGE-ID arc NO STANDARD PAGE HEADING.
    Tables :kna1,vbak.
    SELECT-OPTIONS : so_vkorg FOR  vbak-vkorg OBLIGATORY,
                     so_vtweg FOR  vbak-vtweg OBLIGATORY,
                     so_spart FOR  vbak-spart,
                     so_kunnr FOR  kna1-kunnr.
    DATA : BEGIN OF sales_open OCCURS 0 ,
           vbeln LIKE vbak-vbeln,
           auart LIKE vbak-auart,
           kunnr LIKE kna1-kunnr,
           bstnk LIKE vbak-bstnk,
           lfstk LIKE vbuk-lfstk,
           fkstk LIKE vbuk-fkstk,
           gbstk LIKE vbuk-gbstk,
           END OF sales_open.
    DATA : BEGIN OF itm_sales OCCURS 0,
           vbeln LIKE vbap-vbeln,
           posnr LIKE vbap-posnr,
           matnr LIKE vbap-matnr,
           lfsta LIKE vbup-lfsta,
           lfgsa LIKE vbup-lfgsa,
           fksta LIKE vbup-fksta,
           fksaa LIKE vbup-fksaa,
           gbsta LIKE vbup-gbsta,
           END OF itm_sales.
    DATA : l_kunnr LIKE kna1-kunnr,
           l_vkorg LIKE vbak-vkorg,
           l_vtweg LIKE vbak-vtweg,
           l_spart LIKE vbak-spart.
    DATA: v_statusl(20) TYPE c,
          v_statusb(20) TYPE c,
          v_statusf(20) TYPE c,
          v_statusg(20) TYPE c,
          v_status(20) TYPE c,
          v_field(1) TYPE c.
    **Selection Screen Validations.
    AT SELECTION-SCREEN.
      PERFORM validations.
    *&      Form  Validations
          text
    -->  p1        text
    <--  p2        text
    FORM validations.
    **Customer
      IF NOT so_kunnr[] IS INITIAL.
        SELECT SINGLE kunnr INTO l_kunnr
               FROM kna1
               WHERE kunnr IN so_kunnr.
        IF sy-subrc NE 0.
          MESSAGE e002 WITH text-005.
        ENDIF.
      ENDIF.
    **Sales Organization
      IF NOT so_vkorg[] IS INITIAL.
        SELECT SINGLE vkorg INTO l_vkorg
               FROM tvko
               WHERE vkorg IN so_vkorg.
        IF sy-subrc NE 0.
          MESSAGE e003 WITH text-006.
        ENDIF.
      ENDIF.
    **Distribution Channel
      IF NOT so_vtweg[] IS INITIAL.
        SELECT SINGLE vtweg INTO l_vtweg
                FROM tvkov
                WHERE   vkorg IN so_vkorg
                 AND    vtweg IN so_vtweg.
        IF sy-subrc NE 0.
          MESSAGE e004 WITH text-007.
        ENDIF.
      ENDIF.
    **Division
      IF NOT so_spart[] IS INITIAL.
        SELECT SINGLE spart INTO l_spart
                FROM tvta
                WHERE   vkorg IN so_vkorg
                AND     vtweg IN so_vtweg
                AND     spart IN so_spart.
        IF sy-subrc NE 0.
          MESSAGE e005 WITH text-008.
        ENDIF.
      ENDIF.
    ENDFORM.                    " Validations
    Top-of-page.
    PERFORM sales_top_of_page.
    Start-of-selection.
    PERFORM sales_sel.
    *&      Form  sales_sel
          text
    -->  p1        text
    <--  p2        text
    FORM sales_sel.
    SELECT vbeln auart kunnr bstnk
         lfstk fkstk gbstk
         INTO TABLE sales_open
         FROM vbakuk
         WHERE vkorg IN so_vkorg
         AND   vtweg IN so_vtweg
         AND   spart IN so_spart
         AND   kunnr IN so_kunnr
         AND gbstk NE 'C'.
      LOOP AT sales_open.
        WRITE:/4 sy-vline,
               5 sales_open-vbeln HOTSPOT ON COLOR 2 INTENSIFIED OFF,
               16 sy-vline,
               17 sales_open-auart COLOR 2 INTENSIFIED OFF,
               27 sy-vline,
               28 sales_open-kunnr COLOR 2 INTENSIFIED OFF,
               40 sy-vline,
               41 sales_open-bstnk COLOR 2 INTENSIFIED OFF,
               55 sy-vline,
               56 sales_open-lfstk,
               76 sy-vline,
               77 sales_open-fkstk,
               96 sy-vline,
               97 sales_open-gbstk ,
               117 sy-vline.
        HIDE sales_open-vbeln .
      ENDLOOP.
    ENDFORM.                    " sales_sel
    *&      Form  sales_top_of_page
          text
    -->  p1        text
    <--  p2        text
    FORM sales_top_of_page.
      WRITE:/4 sy-uline(114),
         50 'OPEN SALES ORDERS' COLOR 7 INTENSIFIED ON .
      WRITE: /4 sy-vline,
              5 'SalesOrder' COLOR 1 ,
              16 sy-vline,
             17  'OrderType' COLOR 1,
             27  sy-vline,
             28  'Customer' COLOR 1,
             40  sy-vline,
             41  'PoNumber' COLOR 1,
             55  sy-vline,
             56  'Delivery Status' COLOR 1,
             76  sy-vline,
             77  'Billing Status' COLOR 1,
             96  sy-vline,
             97  'Processing Status' COLOR 1,
             117  sy-vline .
      WRITE:/4 sy-uline(114).
    ENDFORM.                    " sales_top_of_page
    AT LINE-SELECTION.
      SELECT       a~vbeln
                   a~posnr
                   a~matnr
                a~kwmeng
                   b~lfsta
                   b~lfgsa
                   b~fksta
                   b~fksaa
                   b~gbsta
                   INTO TABLE itm_sales
                   FROM vbap AS a JOIN vbup AS b
                   ON avbeln EQ bvbeln
                   AND aposnr EQ bposnr
                   AND b~gbsta NE 'C'
                   WHERE a~vbeln EQ sales_open-vbeln.
      IF NOT sales_open IS INITIAL.
        LOOP AT itm_sales.
          WRITE:/5  itm_sales-vbeln,
                    itm_sales-posnr,
                    itm_sales-matnr,
                    itm_sales-lfsta,
                    itm_sales-lfgsa,
                    itm_sales-fksta,
                    itm_sales-fksaa,
                    itm_sales-gbsta.
        ENDLOOP.
      ENDIF.

  • Details of open invoices for the current year/ material price analysis

    Hi,
    I'm very new to SAP SD,MM modules. Can any one help me in the following of my requirements?
    1. How to get the details of open invoices for the current year? Which table should I look into?
    2. I have to create a report to display material price analysis. How should I do that?
    3. How to develope a report to list out all the Open Sales Order with earliest ship date and requested ship date
    4.How to create an interactive report for displaying plant status to know the status of a particular material
    5. How to develope a report on Sales Order displaying Sales order Number, Sales order date, Material, PO Date and Customer requested date
    Thanks in advance!!
    Uma.
    Message was edited by:
            Uma Ravi

    Hi Ravi,
    for 3, 4, 5 --> u can go through the code ...
    REPORT ZEX2  MESSAGE-ID arc NO STANDARD PAGE HEADING.
    Tables :kna1,vbak.
    SELECT-OPTIONS : so_vkorg FOR  vbak-vkorg OBLIGATORY,
                     so_vtweg FOR  vbak-vtweg OBLIGATORY,
                     so_spart FOR  vbak-spart,
                     so_kunnr FOR  kna1-kunnr.
    DATA : BEGIN OF sales_open OCCURS 0 ,
           vbeln LIKE vbak-vbeln,
           auart LIKE vbak-auart,
           kunnr LIKE kna1-kunnr,
           bstnk LIKE vbak-bstnk,
           lfstk LIKE vbuk-lfstk,
           fkstk LIKE vbuk-fkstk,
           gbstk LIKE vbuk-gbstk,
           END OF sales_open.
    DATA : BEGIN OF itm_sales OCCURS 0,
           vbeln LIKE vbap-vbeln,
           posnr LIKE vbap-posnr,
           matnr LIKE vbap-matnr,
           kwmeng like vbap-kwmeng,
           lfsta LIKE vbup-lfsta,
           lfgsa LIKE vbup-lfgsa,
           fksta LIKE vbup-fksta,
           fksaa LIKE vbup-fksaa,
           gbsta LIKE vbup-gbsta,
           END OF itm_sales.
    DATA : l_kunnr LIKE kna1-kunnr,
           l_vkorg LIKE vbak-vkorg,
           l_vtweg LIKE vbak-vtweg,
           l_spart LIKE vbak-spart.
    DATA: v_statusl(20) TYPE c,
          v_statusb(20) TYPE c,
          v_statusf(20) TYPE c,
          v_statusg(20) TYPE c,
          v_status(20) TYPE c,
          v_field(1) TYPE c.
    data : v_openqty like vbap-kwmeng.
    **Selection Screen Validations.
    AT SELECTION-SCREEN.
      PERFORM validations.
    *&      Form  Validations
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM validations.
    **Customer
      IF NOT so_kunnr[] IS INITIAL.
        SELECT SINGLE kunnr INTO l_kunnr
               FROM kna1
               WHERE kunnr IN so_kunnr.
        IF sy-subrc NE 0.
          MESSAGE e002 WITH text-005.
        ENDIF.
      ENDIF.
    **Sales Organization
      IF NOT so_vkorg[] IS INITIAL.
        SELECT SINGLE vkorg INTO l_vkorg
               FROM tvko
               WHERE vkorg IN so_vkorg.
        IF sy-subrc NE 0.
          MESSAGE e003 WITH text-006.
        ENDIF.
      ENDIF.
    **Distribution Channel
      IF NOT so_vtweg[] IS INITIAL.
        SELECT SINGLE vtweg INTO l_vtweg
                FROM tvkov
                WHERE   vkorg IN so_vkorg
                 AND    vtweg IN so_vtweg.
        IF sy-subrc NE 0.
          MESSAGE e004 WITH text-007.
        ENDIF.
      ENDIF.
    **Division
      IF NOT so_spart[] IS INITIAL.
        SELECT SINGLE spart INTO l_spart
                FROM tvta
                WHERE   vkorg IN so_vkorg
                AND     vtweg IN so_vtweg
                AND     spart IN so_spart.
        IF sy-subrc NE 0.
          MESSAGE e005 WITH text-008.
        ENDIF.
      ENDIF.
    ENDFORM.                    " Validations
    Top-of-page.
    PERFORM sales_top_of_page.
    Start-of-selection.
    PERFORM sales_sel.
    *&      Form  sales_sel
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM sales_sel.
    SELECT vbeln auart kunnr bstnk
         lfstk fkstk gbstk
         INTO TABLE sales_open
         FROM vbakuk
         WHERE vkorg IN so_vkorg
         AND   vtweg IN so_vtweg
         AND   spart IN so_spart
         AND   kunnr IN so_kunnr
         AND gbstk NE 'C'.
      LOOP AT sales_open.
        WRITE:/4 sy-vline,
               5 sales_open-vbeln HOTSPOT ON COLOR 2 INTENSIFIED OFF,
               16 sy-vline,
               17 sales_open-auart COLOR 2 INTENSIFIED OFF,
               27 sy-vline,
               28 sales_open-kunnr COLOR 2 INTENSIFIED OFF,
               40 sy-vline,
               41 sales_open-bstnk COLOR 2 INTENSIFIED OFF,
               55 sy-vline,
               56 sales_open-lfstk,
               76 sy-vline,
               77 sales_open-fkstk,
               96 sy-vline,
               97 sales_open-gbstk ,
               117 sy-vline.
        HIDE sales_open-vbeln .
      ENDLOOP.
    ENDFORM.                    " sales_sel
    *&      Form  sales_top_of_page
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM sales_top_of_page.
      WRITE:/4 sy-uline(114),
         50 'OPEN SALES ORDERS' COLOR 7 INTENSIFIED ON .
      WRITE: /4 sy-vline,
              5 'SalesOrder' COLOR 1 ,
              16 sy-vline,
             17  'OrderType' COLOR 1,
             27  sy-vline,
             28  'Customer' COLOR 1,
             40  sy-vline,
             41  'PoNumber' COLOR 1,
             55  sy-vline,
             56  'Delivery Status' COLOR 1,
             76  sy-vline,
             77  'Billing Status' COLOR 1,
             96  sy-vline,
             97  'Processing Status' COLOR 1,
             117  sy-vline .
      WRITE:/4 sy-uline(114).
    ENDFORM.                    " sales_top_of_page
    AT LINE-SELECTION.
      SELECT       a~vbeln
                   a~posnr
                   a~matnr
                   a~kwmeng
                   b~lfsta
                   b~lfgsa
                   b~fksta
                   b~fksaa
                   b~gbsta
                   INTO TABLE itm_sales
                   FROM vbap AS a JOIN vbup AS b
                   ON a~vbeln EQ b~vbeln
                   AND a~posnr EQ b~posnr
                   AND b~gbsta NE 'C'
                   WHERE a~vbeln EQ sales_open-vbeln.
      IF NOT sales_open IS INITIAL.
        LOOP AT itm_sales.
          at end of vbeln .
          sum.
          v_openqty = itm_sales-kwmeng.
          endat.
          WRITE:/5  itm_sales-vbeln,
                    itm_sales-posnr,
                    itm_sales-matnr,
                    itm_sales-kwmeng,
                    itm_sales-lfsta,
                    itm_sales-lfgsa,
                    itm_sales-fksta,
                    itm_sales-fksaa,
                    itm_sales-gbsta.
        ENDLOOP.
      ENDIF.
    skip 2.
      write:/  'open Quantity for the order is ', v_openqty .
    for 1.
    open invoices..
    SELECT vbeln
             fkart
             kunag
             gbstk
             INTO TABLE it_billing_h
             FROM vbrkuk
             WHERE vkorg IN so_vkorg
             AND vtweg IN so_vtweg
    *        AND spart IN so_spart
             AND kunag IN so_kunnr
            and   year in p_year                  ---->"parameter for year..
             AND gbstk NE 'C'.                   "----> open invoices
    for 2..
    2. refer TABLES mara, EINA ..
    regards,
    VIjay

Maybe you are looking for

  • Subvi does not work properly when called inside a vi

    Hello Every body thanks for your help. i am using a sub vi for sine signal generation. as a vi it works fine. but when i called this subvi inside another VI it gives some problems. for example timer indicator works properly.it reinitializes as well i

  • Need help in matrix report

    <p>Dear fellows,<br> <br> I am designing a matrix report of Rooms those are vacant at certian time and days of week. In this time values are fixed, I have written the mention below query to design the report.<br> <b><br> Table Description is</b> <br>

  • Good software for mass mailing.

    We have been using mac for a while for design etc, but have relied on windows to send email marketing campaigns out. We have a huge list of 35,000+ emails to send newsletters/offers to. MAC address book cannot hadle that amount of contacts, so i am w

  • Connection hange while trying to connect via ssh.

    Hi all, I have this problem and i fixed it, just wanted to understand the logic behiend it. I tried to login to a machine via ssh. After providing the username and password, the connection hang until you press CTRL -C. I checked DNS configuration, an

  • Formating in Disk Utilility (Leopard Version)

    Fix request for bug in Disk Utility. I was formating a USB Drive (previously formated as OSX Journaled) into Dos format and it said that it had formated properly, however Windows XP could not recognise the drive. I Formated it again and this time not