<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic AMDP: Error When executing database procedure: SQL Code: 339 in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/amdp-error-when-executing-database-procedure-sql-code-339/m-p/11906717#M1962777</link>
    <description>&lt;P&gt;Hello Experts, I am getting the mentioned error when I am executing AMDP through a transaction. &lt;/P&gt;
  &lt;P&gt;Types of the internal tables used&lt;/P&gt;
  &lt;P&gt;ET_BATCH&lt;/P&gt;
  &lt;P&gt; TYPES: BEGIN OF ty_batch,&lt;BR /&gt; matnr TYPE matnr,&lt;BR /&gt; werks TYPE werks_d,&lt;BR /&gt; LGORT type LGORT_d,&lt;BR /&gt; charg TYPE charg_d,&lt;BR /&gt; hsdat TYPE hsdat,&lt;BR /&gt; verab TYPE verab,&lt;BR /&gt; qty TYPE labst,&lt;BR /&gt; week TYPE char8,&lt;BR /&gt; year TYPE char4,&lt;BR /&gt; month TYPE char10,&lt;BR /&gt; quater TYPE char7,&lt;BR /&gt; price TYPE stprs,&lt;BR /&gt; objek TYPE cuobj_bm,&lt;BR /&gt; b_unit TYPE meins,&lt;BR /&gt; END OF ty_batch,&lt;/P&gt;
  &lt;P&gt;IT_T_BATCH&lt;/P&gt;
  &lt;P&gt; TYPES : BEGIN OF ty_t_batch,&lt;BR /&gt; matnr TYPE matnr,&lt;BR /&gt; werks TYPE werks_d,&lt;BR /&gt; charg TYPE charg_d,&lt;BR /&gt; qty TYPE menge_d,&lt;BR /&gt; hsdat TYPE hsdat,&lt;BR /&gt; verab TYPE verab,&lt;BR /&gt; b_unit TYPE meins,&lt;BR /&gt; END OF ty_t_batch,&lt;/P&gt;
  &lt;P&gt;Following is the code inside the method&lt;/P&gt;
  &lt;P&gt;DECLARE lc_qty CONSTANT decimal( 13,3 ) := '0.000';&lt;BR /&gt; DECLARE lc_zero CONSTANT char( 1 ) := '0';&lt;BR /&gt; DECLARE lc_space CONSTANT char( 8 ) := ' ';&lt;BR /&gt; DECLARE lc_date CONSTANT DATE := '00000000';&lt;BR /&gt; DECLARE lc_set CONSTANT char( 1 ) := 'X';&lt;BR /&gt;*======================================================================*&lt;BR /&gt;* Get Week, Month and Year based on Manufaring date-&lt;BR /&gt;&lt;BR /&gt; et_batch = SELECT&lt;BR /&gt; matnr,&lt;BR /&gt; werks,&lt;BR /&gt; lgort,&lt;BR /&gt; charg,&lt;BR /&gt; hsdat,&lt;BR /&gt; verab,&lt;BR /&gt; qty,&lt;BR /&gt; isoweek (TO_DATE(hsdat, 'YYYYMMDD')) as week,&lt;BR /&gt; case when hsdat = 00000000 OR hsdat is NULL or hsdat = lc_space then 00000000&lt;BR /&gt; when hsdat is NOT NULL and hsdat != 00000000 then year (TO_DATE(hsdat, 'YYYYMMDD'))&lt;BR /&gt; end as year,&lt;BR /&gt; monthname (hsdat) as month,&lt;BR /&gt; case when hsdat != lc_space and hsdat != 00000000 then&lt;BR /&gt; quarter (to_date(hsdat, 'YYYYMMDD')) END as quater,&lt;BR /&gt; :lc_zero as price,&lt;BR /&gt; cuobj_bm as objek,&lt;BR /&gt; b_unit as b_unit&lt;BR /&gt; FROM(&lt;BR /&gt;* Get manufacturing date from MCH1 and convert batch quantity to User Enterd UOM&lt;BR /&gt; SELECT DISTINCT&lt;BR /&gt; a.matnr,&lt;BR /&gt; b.werks,&lt;BR /&gt; b.lgort,&lt;BR /&gt; a.charg,&lt;BR /&gt; a.hsdat,&lt;BR /&gt; a.verab,&lt;BR /&gt; case when unts.umrez = 0 or unts.umrez is NULL then 0.000&lt;BR /&gt; when unts.umrez is NOT NULL then&lt;BR /&gt;* Begin of MOD: MONTAOSP: WO0000000126366: 11.06.2019&lt;BR /&gt;* ROUND( ( ( b.CLABS + B.CUMLM + B.CINSM + B.CEINM + B.CSPEM + b.CRETM ) *&lt;BR /&gt; ROUND( ( ( b.CLABS + B.CUMLM + B.CINSM + B.CEINM + b.CRETM ) *&lt;BR /&gt;* End of MOD: MONTAOSP: WO0000000126366: 11.06.2019&lt;BR /&gt; ( unts.umren / unts.umrez ) ), 3, ROUND_HALF_EVEN)&lt;BR /&gt; end as qty,&lt;BR /&gt; a.cuobj_bm,&lt;BR /&gt; c.meins as b_unit&lt;BR /&gt; from "MCH1" as a&lt;BR /&gt; INNER join "MCHB" as b&lt;BR /&gt; on b.mandt = a.mandt&lt;BR /&gt; AND b.matnr = a.matnr&lt;BR /&gt; and b.charg = a.charg&lt;BR /&gt; inner join "MARA" as c&lt;BR /&gt; on c.matnr = a.matnr&lt;BR /&gt; left outer join (&lt;BR /&gt; SELECT DISTINCT matnr,&lt;BR /&gt; meinh,&lt;BR /&gt; umren,&lt;BR /&gt; umrez&lt;BR /&gt; FROM marm&lt;BR /&gt; WHERE mandt = session_context( 'CLIENT' )&lt;BR /&gt; AND matnr IN ( SELECT DISTINCT matnr FROM :it_marc )&lt;BR /&gt; AND meinh = :iv_unit ) AS unts ON&lt;BR /&gt; unts.matnr = a.matnr&lt;BR /&gt; where a.mandt = session_context( 'CLIENT' )&lt;BR /&gt; and c.mandt = session_context( 'CLIENT' )&lt;BR /&gt; and a.matnr in ( select DISTINCT matnr FROM :it_marc )&lt;BR /&gt; and b.werks in ( select DISTINCT werks from :it_marc )&lt;BR /&gt; and a.hsdat != :lc_space&lt;BR /&gt; and a.hsdat != :lc_date&lt;BR /&gt; and a.hsdat is NOT NULL&lt;BR /&gt; and ( b.CLABS != lc_qty&lt;BR /&gt; or B.CUMLM != lc_qty&lt;BR /&gt; or B.CINSM != lc_qty&lt;BR /&gt; or B.CEINM != lc_qty&lt;BR /&gt; or B.CSPEM != lc_qty&lt;BR /&gt; or b.CRETM != lc_qty )&lt;BR /&gt; UNION ALL&lt;BR /&gt;* Add transit batchs along with complete batches&lt;BR /&gt; SELECT matnr,&lt;BR /&gt; werks,&lt;BR /&gt; 0 as lgort,&lt;BR /&gt; charg,&lt;BR /&gt; hsdat,&lt;BR /&gt; verab,&lt;BR /&gt; qty,&lt;BR /&gt; CONCAT( matnr, werks) AS objek,&lt;BR /&gt; b_unit&lt;BR /&gt; FROM :it_t_batch );&lt;BR /&gt;&lt;BR /&gt;* Fetch Characteristics details, if required!&lt;BR /&gt; IF iv_char_flag = :lc_set&lt;BR /&gt; THEN&lt;BR /&gt;* Get details for selected characteristics!!&lt;BR /&gt; li_temp =&lt;BR /&gt; SELECT btc.matnr,&lt;BR /&gt; btc.werks,&lt;BR /&gt; btc.charg,&lt;BR /&gt; btc.hsdat,&lt;BR /&gt; btc.verab,&lt;BR /&gt; btc.qty AS qty,&lt;BR /&gt; btc.week,&lt;BR /&gt; btc.year,&lt;BR /&gt; btc.month,&lt;BR /&gt; btc.quater,&lt;BR /&gt; chr.atwrt AS ch_val,&lt;BR /&gt; btc.qty AS cr_qty&lt;BR /&gt; FROM :et_batch as btc&lt;BR /&gt; INNER JOIN ausp as chr&lt;BR /&gt; ON chr.mandt = SESSION_CONTEXT( 'CLIENT' )&lt;BR /&gt; AND chr.objek = btc.objek&lt;BR /&gt; WHERE atinn = iv_cr_nm;&lt;BR /&gt;&lt;BR /&gt;* Filter details based on selected Values!!&lt;BR /&gt; et_batch_cr = APPLY_FILTER (:li_temp, :iv_values);&lt;BR /&gt;&lt;BR /&gt; END IF;&lt;/P&gt;</description>
    <pubDate>Mon, 17 Jun 2019 19:52:34 GMT</pubDate>
    <dc:creator>tech_viren</dc:creator>
    <dc:date>2019-06-17T19:52:34Z</dc:date>
    <item>
      <title>AMDP: Error When executing database procedure: SQL Code: 339</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/amdp-error-when-executing-database-procedure-sql-code-339/m-p/11906717#M1962777</link>
      <description>&lt;P&gt;Hello Experts, I am getting the mentioned error when I am executing AMDP through a transaction. &lt;/P&gt;
  &lt;P&gt;Types of the internal tables used&lt;/P&gt;
  &lt;P&gt;ET_BATCH&lt;/P&gt;
  &lt;P&gt; TYPES: BEGIN OF ty_batch,&lt;BR /&gt; matnr TYPE matnr,&lt;BR /&gt; werks TYPE werks_d,&lt;BR /&gt; LGORT type LGORT_d,&lt;BR /&gt; charg TYPE charg_d,&lt;BR /&gt; hsdat TYPE hsdat,&lt;BR /&gt; verab TYPE verab,&lt;BR /&gt; qty TYPE labst,&lt;BR /&gt; week TYPE char8,&lt;BR /&gt; year TYPE char4,&lt;BR /&gt; month TYPE char10,&lt;BR /&gt; quater TYPE char7,&lt;BR /&gt; price TYPE stprs,&lt;BR /&gt; objek TYPE cuobj_bm,&lt;BR /&gt; b_unit TYPE meins,&lt;BR /&gt; END OF ty_batch,&lt;/P&gt;
  &lt;P&gt;IT_T_BATCH&lt;/P&gt;
  &lt;P&gt; TYPES : BEGIN OF ty_t_batch,&lt;BR /&gt; matnr TYPE matnr,&lt;BR /&gt; werks TYPE werks_d,&lt;BR /&gt; charg TYPE charg_d,&lt;BR /&gt; qty TYPE menge_d,&lt;BR /&gt; hsdat TYPE hsdat,&lt;BR /&gt; verab TYPE verab,&lt;BR /&gt; b_unit TYPE meins,&lt;BR /&gt; END OF ty_t_batch,&lt;/P&gt;
  &lt;P&gt;Following is the code inside the method&lt;/P&gt;
  &lt;P&gt;DECLARE lc_qty CONSTANT decimal( 13,3 ) := '0.000';&lt;BR /&gt; DECLARE lc_zero CONSTANT char( 1 ) := '0';&lt;BR /&gt; DECLARE lc_space CONSTANT char( 8 ) := ' ';&lt;BR /&gt; DECLARE lc_date CONSTANT DATE := '00000000';&lt;BR /&gt; DECLARE lc_set CONSTANT char( 1 ) := 'X';&lt;BR /&gt;*======================================================================*&lt;BR /&gt;* Get Week, Month and Year based on Manufaring date-&lt;BR /&gt;&lt;BR /&gt; et_batch = SELECT&lt;BR /&gt; matnr,&lt;BR /&gt; werks,&lt;BR /&gt; lgort,&lt;BR /&gt; charg,&lt;BR /&gt; hsdat,&lt;BR /&gt; verab,&lt;BR /&gt; qty,&lt;BR /&gt; isoweek (TO_DATE(hsdat, 'YYYYMMDD')) as week,&lt;BR /&gt; case when hsdat = 00000000 OR hsdat is NULL or hsdat = lc_space then 00000000&lt;BR /&gt; when hsdat is NOT NULL and hsdat != 00000000 then year (TO_DATE(hsdat, 'YYYYMMDD'))&lt;BR /&gt; end as year,&lt;BR /&gt; monthname (hsdat) as month,&lt;BR /&gt; case when hsdat != lc_space and hsdat != 00000000 then&lt;BR /&gt; quarter (to_date(hsdat, 'YYYYMMDD')) END as quater,&lt;BR /&gt; :lc_zero as price,&lt;BR /&gt; cuobj_bm as objek,&lt;BR /&gt; b_unit as b_unit&lt;BR /&gt; FROM(&lt;BR /&gt;* Get manufacturing date from MCH1 and convert batch quantity to User Enterd UOM&lt;BR /&gt; SELECT DISTINCT&lt;BR /&gt; a.matnr,&lt;BR /&gt; b.werks,&lt;BR /&gt; b.lgort,&lt;BR /&gt; a.charg,&lt;BR /&gt; a.hsdat,&lt;BR /&gt; a.verab,&lt;BR /&gt; case when unts.umrez = 0 or unts.umrez is NULL then 0.000&lt;BR /&gt; when unts.umrez is NOT NULL then&lt;BR /&gt;* Begin of MOD: MONTAOSP: WO0000000126366: 11.06.2019&lt;BR /&gt;* ROUND( ( ( b.CLABS + B.CUMLM + B.CINSM + B.CEINM + B.CSPEM + b.CRETM ) *&lt;BR /&gt; ROUND( ( ( b.CLABS + B.CUMLM + B.CINSM + B.CEINM + b.CRETM ) *&lt;BR /&gt;* End of MOD: MONTAOSP: WO0000000126366: 11.06.2019&lt;BR /&gt; ( unts.umren / unts.umrez ) ), 3, ROUND_HALF_EVEN)&lt;BR /&gt; end as qty,&lt;BR /&gt; a.cuobj_bm,&lt;BR /&gt; c.meins as b_unit&lt;BR /&gt; from "MCH1" as a&lt;BR /&gt; INNER join "MCHB" as b&lt;BR /&gt; on b.mandt = a.mandt&lt;BR /&gt; AND b.matnr = a.matnr&lt;BR /&gt; and b.charg = a.charg&lt;BR /&gt; inner join "MARA" as c&lt;BR /&gt; on c.matnr = a.matnr&lt;BR /&gt; left outer join (&lt;BR /&gt; SELECT DISTINCT matnr,&lt;BR /&gt; meinh,&lt;BR /&gt; umren,&lt;BR /&gt; umrez&lt;BR /&gt; FROM marm&lt;BR /&gt; WHERE mandt = session_context( 'CLIENT' )&lt;BR /&gt; AND matnr IN ( SELECT DISTINCT matnr FROM :it_marc )&lt;BR /&gt; AND meinh = :iv_unit ) AS unts ON&lt;BR /&gt; unts.matnr = a.matnr&lt;BR /&gt; where a.mandt = session_context( 'CLIENT' )&lt;BR /&gt; and c.mandt = session_context( 'CLIENT' )&lt;BR /&gt; and a.matnr in ( select DISTINCT matnr FROM :it_marc )&lt;BR /&gt; and b.werks in ( select DISTINCT werks from :it_marc )&lt;BR /&gt; and a.hsdat != :lc_space&lt;BR /&gt; and a.hsdat != :lc_date&lt;BR /&gt; and a.hsdat is NOT NULL&lt;BR /&gt; and ( b.CLABS != lc_qty&lt;BR /&gt; or B.CUMLM != lc_qty&lt;BR /&gt; or B.CINSM != lc_qty&lt;BR /&gt; or B.CEINM != lc_qty&lt;BR /&gt; or B.CSPEM != lc_qty&lt;BR /&gt; or b.CRETM != lc_qty )&lt;BR /&gt; UNION ALL&lt;BR /&gt;* Add transit batchs along with complete batches&lt;BR /&gt; SELECT matnr,&lt;BR /&gt; werks,&lt;BR /&gt; 0 as lgort,&lt;BR /&gt; charg,&lt;BR /&gt; hsdat,&lt;BR /&gt; verab,&lt;BR /&gt; qty,&lt;BR /&gt; CONCAT( matnr, werks) AS objek,&lt;BR /&gt; b_unit&lt;BR /&gt; FROM :it_t_batch );&lt;BR /&gt;&lt;BR /&gt;* Fetch Characteristics details, if required!&lt;BR /&gt; IF iv_char_flag = :lc_set&lt;BR /&gt; THEN&lt;BR /&gt;* Get details for selected characteristics!!&lt;BR /&gt; li_temp =&lt;BR /&gt; SELECT btc.matnr,&lt;BR /&gt; btc.werks,&lt;BR /&gt; btc.charg,&lt;BR /&gt; btc.hsdat,&lt;BR /&gt; btc.verab,&lt;BR /&gt; btc.qty AS qty,&lt;BR /&gt; btc.week,&lt;BR /&gt; btc.year,&lt;BR /&gt; btc.month,&lt;BR /&gt; btc.quater,&lt;BR /&gt; chr.atwrt AS ch_val,&lt;BR /&gt; btc.qty AS cr_qty&lt;BR /&gt; FROM :et_batch as btc&lt;BR /&gt; INNER JOIN ausp as chr&lt;BR /&gt; ON chr.mandt = SESSION_CONTEXT( 'CLIENT' )&lt;BR /&gt; AND chr.objek = btc.objek&lt;BR /&gt; WHERE atinn = iv_cr_nm;&lt;BR /&gt;&lt;BR /&gt;* Filter details based on selected Values!!&lt;BR /&gt; et_batch_cr = APPLY_FILTER (:li_temp, :iv_values);&lt;BR /&gt;&lt;BR /&gt; END IF;&lt;/P&gt;</description>
      <pubDate>Mon, 17 Jun 2019 19:52:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/amdp-error-when-executing-database-procedure-sql-code-339/m-p/11906717#M1962777</guid>
      <dc:creator>tech_viren</dc:creator>
      <dc:date>2019-06-17T19:52:34Z</dc:date>
    </item>
    <item>
      <title>Re: AMDP: Error When executing database procedure: SQL Code: 339</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/amdp-error-when-executing-database-procedure-sql-code-339/m-p/11906718#M1962778</link>
      <description>&lt;P&gt;This is resolved as found that there is data type mismatch at line "0 as LGORT". The lgort field is character and by assigning 0 I was converting it to integer. Changed it to blank and it worked.&lt;/P&gt;</description>
      <pubDate>Mon, 17 Jun 2019 20:28:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/amdp-error-when-executing-database-procedure-sql-code-339/m-p/11906718#M1962778</guid>
      <dc:creator>tech_viren</dc:creator>
      <dc:date>2019-06-17T20:28:31Z</dc:date>
    </item>
  </channel>
</rss>

