原来使用 in smatnr 由于 oracle 1000 条 限制 出现问题 。。。。
来源:互联网 发布:哪个软件有腾落指标 编辑:程序博客网 时间:2024/06/03 05:34
SPAN {font-family: "Courier New";font-size: 10pt;color: #000000;background: #FFFFFF;}.L1S31 {font-style: italic;color: #808080;}.L1S32 {color: #3399FF;}.L1S33 {color: #4DA619;}.L1S52 {color: #0000FF;}FUNCTION Z_MAT_ST_DATA.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" VALUE(PMATNR) TYPE MATNR DEFAULT 'Y*'
*" VALUE(PWERKS) TYPE WERKS_D
*" VALUE(PMTART) TYPE MTART OPTIONAL
*" VALUE(PREADZ) TYPE CHAR1 DEFAULT 'X'
*" TABLES
*" SLGORT STRUCTURE ZSTDATA OPTIONAL
*" SDATA STRUCTURE ZMATSTDATA
*"----------------------------------------------------------------------
tables: mbew,makt.
ranges:smatnr for mara-matnr,
slg for mard-lgort .
data
len type i.
data : begin of itmatnr occurs 0,
matnr like mara-matnr,
meins like mara-meins,
end of itmatnr.
data : begin of itmok OCCURS 1,
matnr like mara-matnr,
werks like mkol-werks,
lgort like mkol-lgort,
sobkz like mkol-sobkz,
slabs like mkol-slabs,
end of itmok.
if pmatnr ne space.
if pmatnr cs '*' .
smatnr-sign = 'I'.
smatnr-option = 'CP'.
smatnr-low = pmatnr.
append smatnr.
else.
smatnr-sign = 'I'.
smatnr-option = 'EQ'.
smatnr-low = pmatnr.
append smatnr.
endif.
endif.
loop at slgort.
slg-sign = 'I'.
slg-option = 'EQ'.
slg-low = slgort-lgort.
append slg.
endloop.
select matnr meins into table itmatnr
from mara
where matnr in smatnr
and mtart eq pmtart.
if itmatnr[] is INITIAL.
exit.
endif.
select matnr
werks
lgort
labst
into corresponding fields of table SDATA
from mard
FOR ALL ENTRIES IN itmatnr
where werks eq pwerks
and lgort in slg
and matnr eq itmatnr-matnr.
clear len.
describe table sdata lines len.
if len ne 0.
loop at sdata.
select single * from mbew
where BWKEY eq pwerks
and matnr eq sdata-matnr.
if sy-subrc eq 0.
sdata-salk3 =
sdata-labst *
mbew-verpr.
sdata-waers = 'CNY'.
modify sdata transporting salk3 waers.
endif.
endloop.
endif.
clear sdata.
select matnr
werks
lgort
sobkz
slabs
into CORRESPONDING FIELDS OF TABLE itmok
from mkol
FOR ALL ENTRIES IN itmatnr
where werks eq pwerks
and lgort in slg
and matnr eq itmatnr-matnr.
loop at itmok.
clear sdata.
SDATA-matnr = itmok-matnr.
sdata-werks = itmok-werks.
sdata-lgort = itmok-lgort.
sdata-sobkz = itmok-sobkz.
sdata-labst = itmok-slabs.
append sdata.
endloop.
sort sdata by matnr.
loop at sdata.
at new matnr.
clear makt.
select single * from makt
where matnr eq sdata-matnr
and spras eq sy-langu.
endat.
read table itmatnr with key
matnr = sdata-matnr.
if sy-subrc eq 0.
sdata-meins = itmatnr-meins.
endif.
sdata-maktx = makt-maktx.
modify sdata transporting maktx meins.
endloop.
if preadz eq space.
delete sdata where labst eq 0.
endif.
ENDFUNCTION.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" VALUE(PMATNR) TYPE MATNR DEFAULT 'Y*'
*" VALUE(PWERKS) TYPE WERKS_D
*" VALUE(PMTART) TYPE MTART OPTIONAL
*" VALUE(PREADZ) TYPE CHAR1 DEFAULT 'X'
*" TABLES
*" SLGORT STRUCTURE ZSTDATA OPTIONAL
*" SDATA STRUCTURE ZMATSTDATA
*"----------------------------------------------------------------------
tables: mbew,makt.
ranges:smatnr for mara-matnr,
slg for mard-lgort .
data
len type i.
data : begin of itmatnr occurs 0,
matnr like mara-matnr,
meins like mara-meins,
end of itmatnr.
data : begin of itmok OCCURS 1,
matnr like mara-matnr,
werks like mkol-werks,
lgort like mkol-lgort,
sobkz like mkol-sobkz,
slabs like mkol-slabs,
end of itmok.
if pmatnr ne space.
if pmatnr cs '*' .
smatnr-sign = 'I'.
smatnr-option = 'CP'.
smatnr-low = pmatnr.
append smatnr.
else.
smatnr-sign = 'I'.
smatnr-option = 'EQ'.
smatnr-low = pmatnr.
append smatnr.
endif.
endif.
loop at slgort.
slg-sign = 'I'.
slg-option = 'EQ'.
slg-low = slgort-lgort.
append slg.
endloop.
select matnr meins into table itmatnr
from mara
where matnr in smatnr
and mtart eq pmtart.
if itmatnr[] is INITIAL.
exit.
endif.
select matnr
werks
lgort
labst
into corresponding fields of table SDATA
from mard
FOR ALL ENTRIES IN itmatnr
where werks eq pwerks
and lgort in slg
and matnr eq itmatnr-matnr.
clear len.
describe table sdata lines len.
if len ne 0.
loop at sdata.
select single * from mbew
where BWKEY eq pwerks
and matnr eq sdata-matnr.
if sy-subrc eq 0.
sdata-salk3 =
sdata-labst *
mbew-verpr.
sdata-waers = 'CNY'.
modify sdata transporting salk3 waers.
endif.
endloop.
endif.
clear sdata.
select matnr
werks
lgort
sobkz
slabs
into CORRESPONDING FIELDS OF TABLE itmok
from mkol
FOR ALL ENTRIES IN itmatnr
where werks eq pwerks
and lgort in slg
and matnr eq itmatnr-matnr.
loop at itmok.
clear sdata.
SDATA-matnr = itmok-matnr.
sdata-werks = itmok-werks.
sdata-lgort = itmok-lgort.
sdata-sobkz = itmok-sobkz.
sdata-labst = itmok-slabs.
append sdata.
endloop.
sort sdata by matnr.
loop at sdata.
at new matnr.
clear makt.
select single * from makt
where matnr eq sdata-matnr
and spras eq sy-langu.
endat.
read table itmatnr with key
matnr = sdata-matnr.
if sy-subrc eq 0.
sdata-meins = itmatnr-meins.
endif.
sdata-maktx = makt-maktx.
modify sdata transporting maktx meins.
endloop.
if preadz eq space.
delete sdata where labst eq 0.
endif.
ENDFUNCTION.
- 原来使用 in smatnr 由于 oracle 1000 条 限制 出现问题 。。。。
- oracle使用函数in解决不能超过1000条数据的限制
- oracle in查询 1000条限制的解决方案
- oracle in的1000限制
- Mac远程桌面连接Windows问题,出现“由于账户限制,您无法登陆”
- oracle 记录超过1000条,使用in方法
- oracle in函数限制
- Excel出现“由于本机的限制,该操作已被取消,请与系统管理员联系”问题的解决办法。
- Oracle监听自动关闭问题 -- 由于修改了计算机名称,导致出现这个错误
- SVN使用出现由于计算机积极拒绝,无法连接的问题
- mybatis关于oracle in 1000个数限制的解决
- 解决oracle关键字in其中内容1000的限制
- 远程桌面由于帐户限制你无法登录问题
- OutLook中“由于本机限制...”无法打开链接问题
- “由于帐户限制您无法登录”小问题的解决办法
- “由于帐户限制您无法登录”小问题的解决办法
- 解决访问优盘(MP3)出现 "本次操作由于受计算机的限制而被取消,请与你的系统管理员联系" 的问题
- Oracle中varchar2类型字段长度限制使用问题
- OutputDebugString("hello world/n");case WM_TIMER:WINDOW api中的几种计时。
- XPath Essentials
- 开始学习了~
- Building Websites with VB.NET and DotNetNuke 4
- MYSQL数据库设计的一些小技巧[整理] 有感
- 原来使用 in smatnr 由于 oracle 1000 条 限制 出现问题 。。。。
- The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling (Second Edition)
- 孙正义的网络图谋
- PDC:Anders谈C# 4.0:新功能和展望
- CSS Cookbook, 2nd Edition [ILLUSTRATED]
- 小记武都区第一人民医院护士长张婧
- Large-Scale Software Architecture: A Practical Guide using UML
- SQL 2008的继任者:开发代号“Kilimanjaro”
- Data Compression: The Complete Reference