cancel
Showing results for 
Search instead for 
Did you mean: 

How to debug BDocs from CRM to ECC during Customer creation?

Former Member
0 Kudos

Hi all,

            I searched for forums but could not get the correct one with step by step or screen shots. Actually I know how to debug by stopping the Queue in SMQS. But since I need to debug without stopping the QUEUE. Can any one please let me know the step-by step procedure?

Thanks,

Baasanthi

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi

  1. Create or modify a BP/Account in CRM that should be updated in the ECC system (as a Customer).
  2. You get an erroneous bdoc in SMW01 transaction with error message "Fill in all required entry fields".

it is possible to debug the upload as follows, in order to identify the required field:                              

  1. Display the BDOC in SMW01
  2. Enter /h in the transaction code field
  3. Press the 'retry to process message' button.
  4. In the debugger - select the Settings button and 'In background task  do not process' (Classical debugger)
  5. Enter F8
  6. Create a new session for the outbound queue (/osmq1) there will be an entry R3AUBUPA*** or CSA_BUPA**
  7. Double-Click on this queue entry twice and choose Debug for the CRM_UPLOAD_TRIGGER
  8. In the debugger, set a breakpoint at statement 'CALL TRANSACTION' and then press F8.
  9. At this statement double-click on the statement CALL_TRANSACTION and change the variable CALL_TRANSACTION_MODE from N to A, press the 'change field content' button and then press F8
  10. Now you will be in the R/3 System and you can see the batch input screen for this customer and you will then be prompted for the missing field in the BDOC.

When the field has been identified, please maintain this field in CRM.

Remark: In order to enter into debugging mode, you should ensure that the USER to connect to the R/3 system via RFC (txn SM59, Logon and Security tab), is set in your R/3 system as Dialog mode (txn SU01).

Regards,

Vaibhav Shah


Former Member
0 Kudos

Vaibhav,

            Thanks for your continuous response. I tried your above options but couldn't see any QUEUE in OUTBOUND QUEUE(SMQ1). I followed your above steps but in the 3'rd point I think it should be 'Reprocess BDoc Message ' instead of above 'retry to process message'. As soon as I press F8(above 5'th step) after the 4'th step, I am getting 'Reprocessing BDoc can cause consistencies! Do you want to proceed'? Then I am clicking Yes but nothing is happening but saying ' I BDoc processed sucessfully'. As you said, I didnt find any Queue in SMQ1 after this step.Could you please help me in this regard? I also have below questions.

1.  In order to enter into debugging mode, you should ensure that the USER to connect to the R/3 system via RFC (txn SM59, Logon and Security tab), is set in your R/3 system as Dialog mode (txn SU01).

Question : Where can I check for user. Because some people say blindly it is ALEREMOTE. But I checked in SM59 in my CRM(CRQCLNT100). There under ABAP Connections, I found my ECC System(SRQCLT100) and double clicked it. Then under Logon and Security tab I found the user to be CRMUSER. So you mean to say CRMUSER has to be dialouge enabled in ECC or ALEREMOTE? I dont understand what ALEREMOTE is? Even my functional consultant was also mentioning blindly about ALEREMOTE. But when I checked in SU59 the user to be CRMUSER. Could you please clarify this also?

Thanks,

Baasanthi.

Former Member
0 Kudos

Yes you are correct regarding RFC Destination of ECC in SM59 on tab Logon & Security USER in ECC should be Dialog user (this CRMUSER user should set as dialog user in your case)

once you reached to ABAP debugging screen on menu tab click on switch to classic debugg

In the debugger - select the Settings button and 'In background task  do not process' (Classical debugger) ( Note : once you reached to ABAP debugging screen on menu tab click on switch to classic debug)

if your RFC user is not dialog in that case only you won't see any outbound queue in txn SMQ1

FYR : 1541354 - Error message _Fill in all required entry fields_ (Error Message no. 00055)

Regards,

Vaibhav Shah

Former Member
0 Kudos

Vaibhav,

                Thanks for your reponse. I want to know whether I need to deregister the Queue or not. Even If I dont deregister the Queue, will the Queue be still available in SMQ1 when the CRMUSER is dailog user?

Thanks,

Baasanthi.

Former Member
0 Kudos

Baasanthi,

there are two ways

1) first one mention above (yes If you dont deregister the Queue, Queue still will be available in SMQ1 )

2) Deregister the Queue and after than start from Step 6 mention above

Thanks,

Vaibhav Shah

Former Member
0 Kudos

Viabhav,

                 Sorry to interrupt you again and again. I am not clear about your above 2 answers. In 1'st point you are saying no need to deregister the Queue but still the outbound Queue is available in SMQ1. And in the second point you are mentioining to deregister the Queue and start from step 6. Little bit confused.

1. What ever 10 points you mentioned above, are those after steps to be followed by deregistering the Queue in SMQS or register the Queue?

2.  I followed your above steps but in the 3'rd point I think it should be 'Reprocess BDoc Message ' instead of above 'retry to process message'. As soon as I press F8(above 5'th step) after the 4'th step, I am getting 'Reprocessing BDoc can cause consistencies! Do you want to proceed'? Then I am clicking Yes but nothing is happening but saying ' I BDoc processed sucessfully.

So here in this step am I following right path or not?

3. I want to proceed without deregestering the Queue.

And also I contacted my basis person to make CRMUSER to dialogue but he said it would be affect other process so he couldn't make it. Currently it is communication user. So how to proceed now? 

Thanks,

Baasanthi.

Former Member
0 Kudos

Baasanthi

Reply to

Reply toPoint 1 : after registering queue

Reply toPoint 2 : yes your right Reprocess BDoc Message  =retry to process message

"nothing is happening"due to your RFC USER  (CRMUSER ) is not dialogue user

Reply to Point 3 : you can proceed without deregestering queue also but mandatory condition is CRMUSER must be dialogue User type (without Dialogue user you cannot be in the R/3 System )

1541354 - Error message "Fill in all required entry fields" (Error Message no. 00055).

    • Enter the dialog user for both RFC connections used for the data exchange between the CRM system and the R/3 OLTP system.
    • Ensure that these dialog users also have authorization for debugging.

communication user disadvantage cannot perform an interactive logon.that no remote debugging is possible which makes support and troubleshooting more difficult. A disadvantage of the non-interactive user is, however, that no remote debugging is possible which makes support and troubleshooting more difficult (see Note 443900).

Regards,

Vaibhav Shah

Former Member
0 Kudos

Vaibhav ,

                Sorry to interrupt you again. I dont think without deregistering the Queue in SMQS we can see the Queue is SMQ1( the point you mentioned in the 6'th point).

Any how now I am able to go to ECC but I have below issue at call transaction statment, where it is calling XD02 transaction. I changed the mode to 'A' (all screen) and pressed F6 but it is not showing screen by screen but instead it is directly coming out of the entire process. Even I put the breakpoint after this call transaction statement and clicked F8 but it is not going there instead it is directly coming out of the entire process. Could you please drop any clue?

Thanks,

Baasanthi.

Former Member
0 Kudos

Vaibhav,

               Sorry to interrupt you again and again. Finally I am able to go to ECC but my problem is at call transaction statement in ECC. Could you please drop me a hint why it is coming out of entire process to SAP Easy access screen but the replication is happening correctly.

Thanks,

Baasanthi.

Former Member
0 Kudos

Baasanthi,

above mention Debug step for identify the required /mandatory field while creating customer in ECC check in ECC field grouping did you set required field mandatory.

Regards,

Vaibhav Shah

Former Member
0 Kudos

Vaibhav,

             Very very thanks for your prompt response. As I said, replication is happening correctly. But when the debugger stops at call transaction statement, then if I click F6 or F8( by keeping another breakpoint immediate next statement to call transation statement) it is coming to SAP Easy Access screen. I dont have any problems with mandatory fields.

1. One more thing is.I remember you saying the RFC User has to be dialogue user.I cheked with Basis and made it as dialogue user and able to get into ECC.Also I am able to go into ECC in debug mode when the RFC User is not made as dialogue also.How come it could be possible.Could you please drop me any hint on this also?

2. According to you, I followed another step also. I deregister the Queue in SMQS and tried to execute the Queue in SMQ1 in debug( by clicking LUW) but it is directly getting executed instead of going to RFC. Here the user is set to dialogue only. Am I missing anything else?

Very very thanks,

Baasanthi.