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,
PalYou 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,
RajeshAction: 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,
YogeshVERSION 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 -
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 youhi 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 RingHi
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 -
Can any body give me the logic to list the oper sales orders.
Thanks,
srikHi,
*& 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 -
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,
JoannaHI
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. -
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 youRelation 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 -
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....
Raghavhi , 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 RaviHi 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
-
<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