Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

CJ02, Settlement Rule

Former Member
0 Likes
3,452

Hi All,

Does any one know of any BAPI's which help create settlement rule (CJ02 TCODE). I saw many thread but none seem to work. If any body know of some BAPI or FM do le me know.

Regards,

Prashant.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
2,556

earlier I had similar kind of requirement for which Ive used Recording. I was not able to find BAPI/FM. Please check the below code for the same.

*...Load the data using BDC.

LOOP AT it_loaddata INTO wa_loaddata.

g_index = sy-tabix.

l_ind = l_ind + 1.

l_pspid = wa_loaddata-proj_def.

l_posid = wa_loaddata-wbs_ele.

AT NEW wbs_ele.

PERFORM bdc_dynpro USING 'SAPLCJWB' '0100'.

PERFORM bdc_field USING 'BDC_CURSOR'

'*PRPS-POSID'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=METB'.

PERFORM bdc_field USING '*PROJ-PSPID'

l_pspid. "'C-444099'

PERFORM bdc_field USING '*PRPS-POSID'

l_posid. "'C-444099-FEAS-001'

PERFORM bdc_dynpro USING 'SAPLCJWB' '1999'.

PERFORM bdc_field USING 'BDC_CURSOR'

'PRPS-POSID'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=ABRV'.

PERFORM bdc_dynpro USING 'SAPLKOBS' '0130'.

PERFORM bdc_field USING 'BDC_CURSOR'

'COBRB-GBISJ(01)'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

ENDAT.

CLEAR l_konty.

CONCATENATE 'COBRB-KONTY(' l_ind ')' INTO l_konty.

PERFORM bdc_field USING l_konty

wa_loaddata-konty. "'fxa'.

CLEAR l_empge.

CONCATENATE 'DKOBR-EMPGE(' l_ind ')' INTO l_empge.

PERFORM bdc_field USING l_empge

wa_loaddata-empge. "'20000115-0'.

CLEAR l_prozs.

CONCATENATE 'COBRB-PROZS(' l_ind ')' INTO l_prozs.

PERFORM bdc_field USING l_prozs

wa_loaddata-prozs. "'100'.

CLEAR l_perbz.

CONCATENATE 'COBRB-PERBZ(' l_ind ')' INTO l_perbz.

PERFORM bdc_field USING l_perbz

wa_loaddata-perbz. "'ful'.

**...If Source Assignment is not initial then only consider.

IF wa_loaddata-urzuo IS NOT INITIAL.

CLEAR l_urzuo.

CONCATENATE 'COBRB-URZUO(' l_ind ')' INTO l_urzuo.

PERFORM bdc_field USING l_urzuo

wa_loaddata-urzuo. "'1'.

ENDIF.

CLEAR l_extnr.

CONCATENATE 'COBRB-EXTNR(' l_ind ')' INTO l_extnr.

PERFORM bdc_field USING l_extnr

wa_loaddata-extnr. "'1'.

CLEAR l_gabpe.

CONCATENATE 'COBRB-GABPE(' l_ind ')' INTO l_gabpe.

PERFORM bdc_field USING l_gabpe

wa_loaddata-gabpe. "'01'.

CLEAR l_gabja.

CONCATENATE 'COBRB-GABJA(' l_ind ')' INTO l_gabja.

PERFORM bdc_field USING l_gabja

wa_loaddata-gabja. "'2008'.

CLEAR l_gbisp.

CONCATENATE 'COBRB-GBISP(' l_ind ')' INTO l_gbisp.

PERFORM bdc_field USING l_gbisp

wa_loaddata-gbisp. "'12'.

CLEAR l_gbisj.

CONCATENATE 'COBRB-GBISJ(' l_ind ')' INTO l_gbisj.

PERFORM bdc_field USING l_gbisj

wa_loaddata-gbisj. "'2008'.

AT END OF wbs_ele.

CLEAR l_ind.

PERFORM bdc_dynpro USING 'SAPLKOBS' '0130'.

PERFORM bdc_field USING 'BDC_CURSOR'

'COBRB-KONTY(01)'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=BACK'.

PERFORM bdc_dynpro USING 'SAPLCJWB' '1999'.

PERFORM bdc_field USING 'BDC_CURSOR'

'PRPS-POSID'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=BU'.

*...Call transaction to update the data.

CALL TRANSACTION 'CJ12' USING bdcdata MESSAGES INTO it_bdcmsgcoll MODE 'N' UPDATE 'S'.

REFRESH bdcdata.

Hi All,

Does any one know of any BAPI's which help create settlement rule (CJ02 TCODE). I saw many thread but none seem to work. If any body know of some BAPI or FM do le me know.

Regards,

Prashant.

8 REPLIES 8
Read only

Former Member
0 Likes
2,556

hi prashant

try this

BAPI_BUS2054_CREATE_MULTI

hope this helps

regards

Aakash Banga

Read only

former_member632729
Contributor
0 Likes
2,556

Hi,

Check with this BAPI ....BAPI_PROJECT_MAINTAIN

Raghunath.S

Read only

Former Member
0 Likes
2,556

Hi,

BAPI_BUS2054_CREATE_MULTI BAPI is for creating WBS element and BAPI_PROJECT_MAINTAIN is for maintaining Project Definition and WBS element. Is there any other BAPI??

Regards,

Prashant.

Read only

GauthamV
Active Contributor
0 Likes
2,556

hi,

check these function modules.

K_SETTLEMENT_RULE_INSERT

K_SETTLEMENT_RULE_SAVE

K_SETTLEMENT_RULE_UPDATE.

Read only

Former Member
0 Likes
2,556

hi,

I have already checked these none seems to be according to my requirement-

K_SETTLEMENT_RULE_INSERT

K_SETTLEMENT_RULE_SAVE

K_SETTLEMENT_RULE_UPDATE.

Regards,

Prashant.

Read only

0 Likes
2,556

Try K_SRULE_CREATE

Read only

Former Member
0 Likes
2,557

earlier I had similar kind of requirement for which Ive used Recording. I was not able to find BAPI/FM. Please check the below code for the same.

*...Load the data using BDC.

LOOP AT it_loaddata INTO wa_loaddata.

g_index = sy-tabix.

l_ind = l_ind + 1.

l_pspid = wa_loaddata-proj_def.

l_posid = wa_loaddata-wbs_ele.

AT NEW wbs_ele.

PERFORM bdc_dynpro USING 'SAPLCJWB' '0100'.

PERFORM bdc_field USING 'BDC_CURSOR'

'*PRPS-POSID'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=METB'.

PERFORM bdc_field USING '*PROJ-PSPID'

l_pspid. "'C-444099'

PERFORM bdc_field USING '*PRPS-POSID'

l_posid. "'C-444099-FEAS-001'

PERFORM bdc_dynpro USING 'SAPLCJWB' '1999'.

PERFORM bdc_field USING 'BDC_CURSOR'

'PRPS-POSID'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=ABRV'.

PERFORM bdc_dynpro USING 'SAPLKOBS' '0130'.

PERFORM bdc_field USING 'BDC_CURSOR'

'COBRB-GBISJ(01)'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

ENDAT.

CLEAR l_konty.

CONCATENATE 'COBRB-KONTY(' l_ind ')' INTO l_konty.

PERFORM bdc_field USING l_konty

wa_loaddata-konty. "'fxa'.

CLEAR l_empge.

CONCATENATE 'DKOBR-EMPGE(' l_ind ')' INTO l_empge.

PERFORM bdc_field USING l_empge

wa_loaddata-empge. "'20000115-0'.

CLEAR l_prozs.

CONCATENATE 'COBRB-PROZS(' l_ind ')' INTO l_prozs.

PERFORM bdc_field USING l_prozs

wa_loaddata-prozs. "'100'.

CLEAR l_perbz.

CONCATENATE 'COBRB-PERBZ(' l_ind ')' INTO l_perbz.

PERFORM bdc_field USING l_perbz

wa_loaddata-perbz. "'ful'.

**...If Source Assignment is not initial then only consider.

IF wa_loaddata-urzuo IS NOT INITIAL.

CLEAR l_urzuo.

CONCATENATE 'COBRB-URZUO(' l_ind ')' INTO l_urzuo.

PERFORM bdc_field USING l_urzuo

wa_loaddata-urzuo. "'1'.

ENDIF.

CLEAR l_extnr.

CONCATENATE 'COBRB-EXTNR(' l_ind ')' INTO l_extnr.

PERFORM bdc_field USING l_extnr

wa_loaddata-extnr. "'1'.

CLEAR l_gabpe.

CONCATENATE 'COBRB-GABPE(' l_ind ')' INTO l_gabpe.

PERFORM bdc_field USING l_gabpe

wa_loaddata-gabpe. "'01'.

CLEAR l_gabja.

CONCATENATE 'COBRB-GABJA(' l_ind ')' INTO l_gabja.

PERFORM bdc_field USING l_gabja

wa_loaddata-gabja. "'2008'.

CLEAR l_gbisp.

CONCATENATE 'COBRB-GBISP(' l_ind ')' INTO l_gbisp.

PERFORM bdc_field USING l_gbisp

wa_loaddata-gbisp. "'12'.

CLEAR l_gbisj.

CONCATENATE 'COBRB-GBISJ(' l_ind ')' INTO l_gbisj.

PERFORM bdc_field USING l_gbisj

wa_loaddata-gbisj. "'2008'.

AT END OF wbs_ele.

CLEAR l_ind.

PERFORM bdc_dynpro USING 'SAPLKOBS' '0130'.

PERFORM bdc_field USING 'BDC_CURSOR'

'COBRB-KONTY(01)'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=BACK'.

PERFORM bdc_dynpro USING 'SAPLCJWB' '1999'.

PERFORM bdc_field USING 'BDC_CURSOR'

'PRPS-POSID'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=BU'.

*...Call transaction to update the data.

CALL TRANSACTION 'CJ12' USING bdcdata MESSAGES INTO it_bdcmsgcoll MODE 'N' UPDATE 'S'.

REFRESH bdcdata.

Read only

Former Member
0 Likes
2,556

Thread closed.