cancel
Showing results for 
Search instead for 
Did you mean: 

Finding ABAP Program Name

Former Member
0 Kudos

Hello experts,

I'm very new to CRM and I have to develop a new smartform about sales. I have a basic problem. I should add an external debug to this program to see the variables etc. I don't know how to monitor the abap program name to place the smartform and if clauses there. Am I thinking in a wrong way or does it work just like what I think? I need an answer and I need it fast please

Thanks

Emre

Accepted Solutions (0)

Answers (2)

Answers (2)

stephenjohannes
Active Contributor
0 Kudos

Emre,

Well what you are talking about is how to debug actions/post processing framework in CRM. The program names are setup in configuration.

The proper way to figure this out is the following:

1) Determine the action profile for the transaction type which the smartform is being generated in customizing

2) View the action profile found in step 1 in SPPFCADM

3) Review the output actions defintions and under the processing you will find a form name, processing class and processing method.

4) Put your break-point in step 3.

Take care,

Stephen

Former Member
0 Kudos

Hello Stephen,

I know I'm totally a rookie about this. Let me tell you what program I exactly wanna add the new smartform. Can you check this link please? [http://i292.photobucket.com/albums/mm27/thekingy/2705.jpg]

On that screen when someone changes the status of a sales contract and click on save, I want the new smartform I'm gonna put there to work. So to sum up, I want to find the program/function that is working in background when the status of a sales contract changes. Then I will add the smartform there. Can you help me?

Maggie
Employee
Employee
0 Kudos

Hello Emre,

Your requirement can be fulfilled by using actions, there is no need to add additional coding.

You just need to define an action with start condition defined as '&CRM Sales Transaction.User Status& = <your user status>'

1. Creat your action profile and action with wiszard

SPRO - CRM - Basic Functions - Actions - Actions in Transactions - Create Actions with Wizard

Please use following parameters:

Processing Time = 3 Immediate Processing

Schedule Automatically

Rule Type = Workflow Conditions

Processing types: Smartforms *

Form Name = YOUR smartform

Processing Class CL_DOC_PROCESSING_CRM_ORDER

Processing Method CRM_SALECONT_EXEC_SMART_FORM <- for sales contract

2. Edit the start conditon

SPRO - CRM - Basic Functions - Actions - Actions in Transactions - Change Actions and Conditions - Define Conditions

You need to add the start condition '&CRM Sales Transaction.User Status& = YOUR user status' or '&CRM Sales Transaction.StatusTable& = SYSTEM status'

3. Assign the created action profile in step 1 into your transaction type.

I would also suggest you to go through the following wiki page to get a general idea about actions.

[http://wiki.sdn.sap.com/wiki/display/CRM/Actionprofilesin+SAP-CRM]

Please understand that the above steps are just for your interests, we do not know your business scenario and the detailed business requirement, it is really hard to give an exact desired solution.

Best regards,

Maggie

Former Member
0 Kudos

Please help. I really need some fresh information.

Maggie
Employee
Employee
0 Kudos

Hello Emre,

I am not very familar with smartforms.

I did some tests in CRM 7.0 system, and please allow me to share my findings with you.

The smartform is executed in CRM order by an action.

For example the transaction type TA has action profile ORDER_MESSAGES assigned.

In this action profile, you can find the action SALES_ORDER_PRINT (t-cd: CRMC_ACTION_DEF).

By navigating to this action's 'Process Types', you will see the following:

Form Name CRM_ORDER_CONFIRMATION_01 - the smart form used.

Processing Class CL_DOC_PROCESSING_CRM_ORDER

Processing Method CRM_ORDER_EXEC_SMART_FORM

I set break point at method CRM_ORDER_EXEC_SMART_FORM of class CL_DOC_PROCESSING_CRM_ORDER. Then creates a new order with transaction type TA, the break point at above class is hit when executing the action.

The call stacks are as following:

CL_DOC_PROCESSING_CRM_ORDER===CP METHOD CRM_ORDER_EXEC_SMART_FORM

CL_SF_PRINT_PPF===============CP METHOD (#00057) (PROGRAM SWAPPED)

CL_SF_PRINT_PPF===============CP METHOD (#00013) (PROGRAM SWAPPED)

CL_TRIGGER_PPF================CP METHOD EXECUTE

CL_GOS_SRV_PPF================CP METHOD EXECUTE

CL_GOS_SRV_PPF================CP METHOD IF_GOS_SERVICE_MULTIPLE~EXECUTE_FUNCTION

Best regards,

Maggie