Skip to Content
0
Former Member
Dec 02, 2006 at 03:47 AM

ABAP code in to JAVA for overwritting condition value for IPC pricing

46 Views

Dear experts i am an IPC JAVA developer and i am trying to translate an ABAP Routine in to JAVA code for overwriting condition value in the pricing user exit of IPC

Here is the ABAPcode segment i am trying to transulate

DATA: l_kdkg1 LIKE komk-kdkg1,

l_work TYPE f,

l_umren LIKE marm-umren,

l_umrez LIKE marm-umrez.

SELECT SINGLE peinh FROM mbew INTO mbew-peinh

WHERE matnr = komp-matnr

AND bwkey = komp-werks.

I need some help in the following things

1. I don't know how to transulate the following Line of ABAP code into JAVA

" AND bwkey = komp-werks."

-


Bwkey stands for plant details. I don't know how to get plant details from Pricing Item.

2. Someone please tell me weather the following JAVA transulation is correct

Vector x = prItem.getUserExitConditions();

db database = pricingEngine.getDatabase();

// set table name

String tableStart = "mbew";

// set query parameters

sys_query_pair[] queryPair = null;

//matnr = komp-matnr . Getting the material Number

String materialNo= prItem.getProduct().toString();

//bwkey = komp-werks.Getting plant.

// TODO: werks stands for plant. Not sure how to get it from prItem

String plant = "";

queryPair = new sys_query_pair[2];

queryPair[0] = new sys_query_pair("matnr", materialNo);

queryPair[1] = new sys_query_pair("bwkey", plant);

// set query columns

String ZZFIELDStart = "peinh";

String ZZFIELD_VALUEStart;

String[] projectionStart;

projectionStart = new String[];

BigDecimal pricingUnit = null;

try{

// execute query

res resultSetStart = database.db_read_table(tableStart, queryPair,projectionStart) ;

if (!res.db_empty_results_p(resultSetStart))

{

ZZFIELD_VALUEStart = resultSetStart.db_get_row_element_string(0);

pricingUnit = new BigDecimal(ZZFIELD_VALUEStart);

resultSetStart.db_finish();

}

else

{

System.out.println("Coudn't find a value of field peinh in table mbew!");

}

}

catch (exc_database_error e)

{

e.printStackTrace();

}