cancel
Showing results for 
Search instead for 
Did you mean: 

Create Contract in Backend System

Former Member
0 Kudos

Hi Experts,

I need to implement the method CONTRACT_LOGSYS_DETERMINE (on the BADI BBP_DETERMINE_LOGSYS) setting the logical system to create Contracts in the Backend system.

But, I want to found this value (CV_LOGSYS) dinamically, without need to put the local system on the code (CV_LOGSYS = AABBCCC111).

Can anyone help me with this???

Thank you!

Best Regards,

Luciana

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi,

You can use the FM "BBP_LOGICAL_SYSTEM_BY_TYPE" to get all the logical systems defined in SRM system.

For eg.to get the Logical system for your R/3 backend,pass the SYSTEM TYPE as "ERP_1.0"(For ECC 5.0) to the above FM and you will get the Logical system name in the table ET_LOGSYS(field is LOG_SYS).

Some of the possible values for the SYSTEM TYPES are;

ERP_1.0 - ECC 5.0

ERP_2.0 - ECC 6.0

LOCAL - Local B2B system(Local SRM)

R/3_4.70 - R/3 system - version 4.70

R/3_4.6C - R/3 system - version 4.6C

Also for sample codiing for the BADI ,refer the foll threads:

BR,

Disha.

Edited by: Craig Cmehil on Jul 9, 2008 9:01 AM

pedro_santos6
Contributor
0 Kudos

Disha,

Do you have the code of this method?

CONTRACT_LOGSYS_DETERMINE

Thanks,

Pedro

Former Member
0 Kudos

Hi,

Enter value field of the parameter CV_LOGSYS in the method CONTRACT_LOGSYS_DETERMINE.

Sample code:

method IF_EX_BBP_DETERMINE_LOGSYS~CONTRACT_LOGSYS_DETERMINE.

DATA: ls_partner TYPE bbp_pds_partner,

ls_ORG type bbp_pds_org.

  • use the purchase org to determine if the document should be sent

  • to a backend system

read table IT_ORG into ls_org index 1.

if ls_org-proc_org_id = '50000027'.

cv_logsys = 'QW8CLNT250'.

elseif ls_org-proc_org_id = '50000953'.

cv_logsys = 'QPTCLNT100'.

endif.

endmethod.

BR,

Disha.

Do reward full points for useful answers.

pedro_santos6
Contributor
0 Kudos

Thanks Disha,

Do you have for these others methods?

Badi: BBP_CTR_BE_CREATE

Method: CONTRACT_INTERFACE_FILL

Method: CONTRACT_PROCESS_TYPE_FILL

Regards,

Pedro

Former Member
0 Kudos

Hi,

Pls refer to following links for sample code ->

BR,

Disha.

Do reward full points for useful answers and close the thread if your query is answered.

pedro_santos6
Contributor
0 Kudos

Disha,

My PO was released in SRM. Now, how can I send this PO to R/3, which step I have to do?

My badis BBP_CTR_BE_CREATE and BBP_DETERMINE_LOGSYS was actived.

Rgs,

Pedro

Former Member
0 Kudos

Hi Petro,

when your settings and Badis are all OK, the contract should be automatically created afteryou release the contract. Do you have a contract in R/3? Any error messages in SRM on the Web or in SLG1?

Cheers,

Claudia

pedro_santos6
Contributor
0 Kudos

Hi,

Thanks to contact me!

So... I have two erros in SLG1 transaction, take a look: [SLG1|http://geocities.yahoo.com.br/pedrosapmm/slg1.jpg]

Do you know what this means?

Thanks again,

Pedro

Former Member
0 Kudos

Hi,

seems the system is down. The RFC call does not get thru.

Check the RFC Connection and the connection between the logical systems. Without connect the system cannot post.

Cheers,

Claudia

pedro_santos6
Contributor
0 Kudos

Hi Claudia,

Can you send me the code of these methods?

CONTRACT_INTERFACE_FILL

CONTRACT_PROCESS_TYPE_FILL

Thanks,

Pedro

Former Member
0 Kudos

Hi Pedro,

Disha gave you already the necessary hints and codes:

Hi,

Enter value field of the parameter CV_LOGSYS in the method CONTRACT_LOGSYS_DETERMINE.

Sample code:

method IF_EX_BBP_DETERMINE_LOGSYS~CONTRACT_LOGSYS_DETERMINE.

DATA: ls_partner TYPE bbp_pds_partner,

ls_ORG type bbp_pds_org.

use the purchase org to determine if the document should be sent to a backend system

read table IT_ORG into ls_org index 1.

if ls_org-proc_org_id = '50000027'.

cv_logsys = 'QW8CLNT250'.

elseif ls_org-proc_org_id = '50000953'.

cv_logsys = 'QPTCLNT100'.

endif.

endmethod.

BR,

Disha.

Cheers,

Claudia