2023 Sep 06 4:10 PM
hi team,
i am convery normal abap program into AMDP.
normal abap query is working fine but same requirement in AMDP is not working due to different variable and my whole query failed, i am getting all data from transplant table and getting dump with low memory.
i am sharing code which is not working.
METHOD get_wbs_details BY DATABASE PROCEDURE
FOR HDB
LANGUAGE SQLSCRIPT
OPTIONS READ-ONLY
USING
prps tgsbt prte zcustomer ztbglps001 prhi tgsbt t179t.
it_prps = select DISTINCT a.pspnr, a.posid, a.objnr, a.post1, a.psphi, a.poski, a.ernam, a.erdat, a.aenam, a.aedat, a.vernr, a.verna, a.pbukr, a.pgsbr, a.prctr, a.prart, a.stufe, a.fakkz, a.usr01, a.usr02, a.usr03, a.zlob, a.zlos, b.posnr, b.pstrt, b.peinh
FROM PRPS AS A
inner join prte as b
on A.PSPNR = B.posnr
where a.mandt = :ip_mandt;
it_ztbglps001 = select DISTINCT b.zlob, b.zlos, b.zlos_text FROM ztbglps001 as b
INNER join :it_prps as a
on a.zlob = b.zlob and a.zlos = b.zlos;
it_tgsbt = select DISTINCT * FROM tgsbt as b
INNER join :it_prps as a
on b.gsber = a.pgsbr
where spras = 'E';
it_prhi = SELECT b.up, b.psphi, b.posnr FROM prhi AS b
INNER join :it_prps as a
on b.posnr = a.pspnr;
itzcust = select b.zpernr, b.zname as csor_mgr_name from zcustomer as b
INNER join :it_prps as a
on b.zpernr = a.usr02;
it_tgsbt = select DISTINCT * FROM tgsbt as b
INNER join :it_prps as a
on b.gsber = a.pgsbr where spras = 'E';
it_179t = SELECT B.prodh, b.vtext as proj_attr_desc FROM t179t as b
iNNER join :it_prps as a
on b.prodh = a.usr01;
it_final = select
a.pspnr,
a.posnr,
a.psphi,
A.POST1,
A.pgsbr,
A.peinh,
a.zlob as zlob,
a.zlos as zlos,
a.stufe as wbs_level,
a.fakkz as bill_indicator,
a.pbukr as comp_code,
a.prart as proj_type_id,
a.prctr,
a.usr01 as proj_attribute,
a.usr03 as gem_no,
a.usr02 as csor_mgr_id,
a.pgsbr as business_area,
case when a.usr02 is not null
then '1'
when a.usr02 is null
then '0'
end csor_indicator,
b.zlos_text,
c.gtext,
D.proj_attr_desc
from :it_prps AS A
inner join :it_ztbglps001 as b
on a.zlob = b.zlob and
a.zlos = b.zlos
INNER JOIN :it_tgsbt as c
on c.gsber = a.pgsbr
LEFT OUTER JOIN :it_179t AS D
ON D.PRODH = A.USR01;
it_final = APPLY_FILTER( :it_final, :ip_filters );
Now I am passing only one data as WBS - PR23476-0001-0001 to this query
How how it is not working and I am getting dump because I am getting all data
for last condition of table it_179t AS D ON D.prodh = a.usr01;
I can analysis this technical setting and length is different of both variable
USR01 USR01PRPS CHAR 20
PRODH PRODH_D CHAR 18
Anyone help me for this issue? normal abap query is work fine with different column length, can we resolve requirement this type issue in sql script or should i write this code outside AMDP in amdp consumer program?