SAP SRM / CRM TIPS – Downloading Products from ERP to SRM / CRM





There is 31000 products in ERP and only 4100 in CRM. I’ve found products that are not in CRM!

I made the download creating a request via transaction R3AR2 but I have just looked at the filters on the material object via transaction R3AC1, and there is a lot of filter settings. Does those filters influence the request I created?

Filters that are set in txn:R3AC1 for the object would be applicable for all types of load including request load, delta load and initial load.

You can check tables CRMM_PR_SALESA CRMM_PR_SALESG for corresponding MVKE records of R/3.

What I could understand is that you have some problem with your filter conditions.

Hence forth, I would like to clarify the filter conditions and will try explain it to you how it works :

Case 1 :

In R3AC1 : Filter is VKORG : 1000

In R3AR2 : Filter is VKORG : 2000

On Request Download from R/3 to CRM, Data will get downloaded for the Request Filter.

Case 2 :

In R3AC1 : Filter is VKORG : 1000

KUNNR : 1000 – 2000

In R3AR2 : Filter is KUNNR : 1500 – 2500

On Request Download from R/3 to CRM, Data will get downloaded for KUNNR 1500 – 2500 with VKORG :1000 from R3AC1.

Case 3 :

In R3AC1 : Filter is VKORG : 1000

KUNNR : 1000 – 2000

In R3AR2 : Filter is VKORG : 2000

KUNNR : 1500 – 2500

On Request Download from R/3 to CRM, Data will get downloaded for KUNNR 1500 – 2500 with VKORG :2000 from R3AR2.

At the End of the Day, The filter works as follows :

1. SAME TABLE FIELD present in R3AC1 and R3AR2 :

Result : The filter conditions of request download will override the filter conditions of R3AC1.

2. DIFFERENT TABLE FILED present in R3AC1 and R3AR2 :

Result : The filter conditions of both R3AR2 and R3AC1 are considered and the data is filtered in the Request download. So , basically if the fields are different, THE AND condition is applied on the filter.

By: sap-img.com

Tags: , , ,



SAP SRM Tips – How to configure product category





The usual scenario is where clients have product category maintained in R/3 (SPRO / Logistics – General / Material master / Settings for key fields / Define Material groups).
You can use LSMW to create product categories.

Then you have to replicate those categories / Material groups to SRM. You can do this by Midleware (transaction R3AS). You can see hierarchies in srm at transaction comm_hierarchy.

Enjoy it icon smile SAP SRM Tips   How to configure product category

Tags: , , ,



SAP SRM Interview Questions





Here are some questions:

• 1.Name some of basis steps associatted with the configuration of SRM ?
• 2. Why do you configure number ranges in SRM ?
• 3. What number ranges to be configured in SRM ?
• 4. Why do you create internal number ranges for Local bid invitations ?
• 5. What is difference between SRM Vendor list and Sourse list from R/3 ?
• 6. How do you define the ITS URL ?
• 7. What is SRM equalent terminology for Material group material master ?
• 8. If you want to replicate only a subset of material group to SRM Product categories ? how it can be accomplished ?
• 9. In disconnected mode how many local system should be connected / defined?
• 10. How often must be define Org unit address ?
• 11. Is there any thing special about replicating vendors in the org plan ?
• 12. What are some of non –MM objects, that must be replicated in SRM system ?
• 13. If you are replicating from R/3 back end , and some thing is stuck in the queue in R/3 , WHAT CAN YOU DO ?
• 14. What you can do to see if you have a queue in EBP?
• 15. Is there is any thing in particular that needs to be done to a user or vendor to make them a valid part of SRM? ANS : Bussiness partner of organaisation unit does not exists .
• 16. What purpose does SRM Org structure serve?
• 17. What are some of the most important attributes assigned in the org structure, and what are there purposes?
• 18. What is the purposes of forword work item attribute ( forword_wi ) ?
• 19. What is the significance of product category is in SRM?
• 20. How do you make catalogue link appear for a user ?
• 21. Do vendors exists in SRM system ? Or do you use the back end vendors ?
• 22. What is the T-code used to replicate vendor master from back end in SRM ?
• 23. How do you know if shopping cart generate a PR or PO ?
• 24. How do you control which catalogs a user sees ?
• 25.How can you automate vendor replicate in SRM ?
• 26. How does SRM maintain synchronization with the back end R/3 system ?
• 27. Can tax calculation can be disabled?
• 28. Why should I mark the standard approval work flows as a general task ?
• 29 What is the purchasing organization hierarchy ?
• 30. What is the middleware used for ?
• 31. How do you define logical systems for initial download?
• 32. What is purpose of a document type? How does this apply to PR? To PO?
• 33. How are the product categories represented in R3?

Tags: , ,



SAP SRM TIPS- How to deactivate email notifications (alerts) when employee is changed in PPOMA





These alerts are generally started in customizing. The alert event
triggers some modification with the employee and it sends some e-mail
notifications.

If you don’t want these alert you can deactivate in the customizing
table BBPC_EVENTMAP. Try doing this and check the behaviour.

Frequently, the following entries are maintained:
ADRESS_CHANGED
DEPARTMENT_CHANGED
ERROR_OCURRED

It means that if a modification or error occur with these fields, a
notification will be started.

In addition, some information regarding the alert management:
BBPC_EVENTMAP, BBPC_EVENT and BBPC_ACTIONMAP.

Table BBP_EVENTMAP determines if eventing is to be done for which
business object type.

Table BBPC_EVENT determines what category belongs to what business
object type. Additionally, deadlines are set here.

Table BBP_ACTIONMAP determines what action class is to be called for
what category.

To deactivate the alerts in BBPC_EVENTMAP
(With an admin user) follow the steps below:

-> SE16
-> Table BBPC_EVENMAP
-> Object type “BUS1006003″ – “CL_BBP_EVENTS_BP”
-> Select the entry (checkbox)
-> Click on the pencil icon
-> Checkbox field (there is an ‘X’, change to a blank entry)

Enjoy it icon smile SAP SRM TIPS  How to deactivate email notifications (alerts) when employee is changed in PPOMA

Tags: , , , ,



SAP SRM Tips – How to eliminate and create new workflow process





How can we eliminate a Shopping cart / Purchase order workflow process and create a new one?

1 – Go to swwwihead and get the desired workflow process ID

2 – Through swia, you have to close the workflow process and create a new one in swi6

3 – Finally through Swdd you have to copy the deleted purchase order info to the new one (for instance approvers to skip, etc…)

Enjoy it icon smile SAP SRM Tips   How to eliminate and create new workflow process

Tags: , , , , ,



SAP SRM Tips – Resend purchase orders to R/3





Imagine that purchase orders fail during the transfer to R/3. There are no error logs in the application log (transaction RZ20) and cannot resend from within the appliction monitors page? What would you do?

Go to transaction SE37 – Function module BBP_PD_PO_TRANSFER_EXEC / BBP_PD_PO_TRANSFER_EXEC_V2
select PO GUID from BBP_PD

If you need to debug do it from SPOOL_DPO_TRANSFER_DO
Again select PO GUID from BBP_PD
Execute : EXEC

Enjoy it! icon smile SAP SRM Tips   Resend purchase orders to R/3

Tags: , , ,



SAP SRM Tips- Approved Shopping Cart that doesn´t create Purchase Order





In SRM whenever an approved Shopping Cart doesn´t create the purchase order like expected, we can use function BBP_REQREQ_TRANSFER to force it.
Go to transaction bbp_pd and check if it was successfully created.

Enjoy it!

Tags: , , , ,



SAP SRM Transactions / Tcodes





SAP SRM Tcodes

Transaction Codes Description
Replicating Master Data from R/3  
R3AS Loading jobs (initial load)
R3AC4 Delta Download
R3AC1 Setup Business Objects (creating filter)
R3AC3 Setup Customizing Objects
R3AM1 Monitoring the loaded jobs
Organization Structure  
PPOCA_BBP Create Organisation Structure
PPOMA_BBP Change Organisation Structure
PPOSA_BBP Display Organisation Structure
PPOCV_BBP Create Vendor Group
PPOMV_BBP Change Vendor Group
PPOSV_BBP Display Vendor Group
BBPGETVD Replicating Vendor Master Data
USERS_GEN Create EBP User
BBPMAININT Manage Business Partners
BBP_BP_OM_INTEGRATE Consistency check for business partners
BBP_PD  
SLG1 Error Logs
RZ20 Application Monitors
SMQ1 & SMQ2 Inbound & outbound queues
SA38 / SE38 For executing reports
SM30 Table maintenance
SE37 Function builder (executing function module)
SWDD Work flow builder
SWB_PROCUREMENT Start conditions for workflow
SWE2 Event Linkages
SWI6 Display workflows

Tags: , , , ,



SAP SRM Tables





SAP SRM Tables

Tables Description
COMM_PRODUCT Product table
COMM_CATEGORY Product category table
ROST_SEL_PRODCAT Product Categories for Registration
BUT000 table for all kind of partners in SRM (Bidders, Vendors, contact persons, suppliers, goods recipients, etc..)
BBPGETVD Table VENMAP for Vendors replicated from R/3 backend
ROST_LANG_QSTN Language Selection for Question
ROST_PCAT_QSTN Assign Product Category and Questionnaire to Lan
ROST_SEL_PRODCAT Product Categories for Regis
ROST_WS_QSTN Web Survey Questionnaire
ROS_BP_PC_SURVEY Assign Vendor, Product Category, Survey
CRMD_IC_SCRATTR Script/Survey attributes (Interactive Script Editor)
ROST_WS_QSTN Web Survey Questionnaire
ROS_BP_PC_SURVEY Assign Vendor, Product Category, Survey
TUWS_SURVEY Survey
TUWS_SURVEY_LOG Survey Log
TUWS_SURVEY_PUB Survey Publishing
TUWS_TAROBJ Survey: Recipients
TUWS_TAROBJ_ATTR Survey: Recipient Attributes
ADR10 Printer (Business Address Services)
ADR11 (Business Address Services)
ADR12 (Business Address Services)
ADR13 (Business Address Services)
ADR2 Telephone Numbers (Business Address Services)
ADR3 Fax Numbers (Business Address Services)
ADR4 Teletex Numbers (Business Address Services)
ADR5 Telex Numbers (Business Address Services)
ADR6 E-Mail Addresses (Business Address Services)
ADR7 Remote Mail Addresses (SAP - SAP - Communication; BAS)
ADR8 X. 400 Numbers (Business Address Services)
ADR9 RFC Destinations (Business Address Services)
ADRCOMC Comm. Data Serial Number Counter (Business Address Services)
ADRCT Address Texts (Business Address Services)
ADRG Assignment of Addresses to Other Address Groups (BAS)
ADRGP Assignment of Persons to Further Person Groups (BAS)
ADRT Communication Data Text (Business Address Services)
ADRU Table for Communication Usages
ADRV Address Where-Used List (Business Address Services)
ADRVP Person Where-Used List (Business Address Services)
BBP_PDACC Account Assignment
BBP_PDATT Document Attachment
BBP_PDBEH Backend Specific Header Data
BBP_PDBEI Backend Specific Item Data
BBP_PDBGP Partner Extension Gen. Purchasing Data
BBP_PDBINREL Transaction Object Linkage (EBP)
BBP_PDCON Purchase Order Item Confirmation
BBP_PDHAD_V Business Transaction Versions
BBP_PDHCF Set for Tabular Customer and Solution Fields on Hdr
BBP_PDHGP Business Transaction Purchasing Information
BBP_PDHSC Header Extension for Customer Fields
BBP_PDHSS Hdr Extension for SAP Internal Enhancements (IBUs and so on)
BBP_PDIAD_V Business transaction item
BBP_PDICF Set for Tabluar Customer and Solution Fields on Itm
BBP_PDIGP Business Transaction Item-Purchasing Information
BBP_PDISC Item Extension for Customer Fields
BBP_PDISS Item Ext. for SAP Internal Enhancements (IBUs and so on)
BBP_PDLIM Value Limit
BBP_PDLINK_V Transaction - Set - Link
BBP_PDORG Purchasing Organizational Unit
BBP_PDPSET Further Procurement Information
BBP_PDTAX Tax
BBP_PDTOL Tolerances
CDCLS Cluster structure for change documents
CDHDR Change document header
CDPOS_STR Additional Change Document - Table for STRINGs
CDPOS_UID Additional Table for Inclusion of TABKEY>70 Characters
CRMD_LINK Transaction - Set - Link
CRMD_ORDERADM_HBusiness Transaction
CRMD_ORDERADM_IBusiness Transaction Item
CRMD_PARTNER Partners
CRM_JCDO Change Documents for Status Object (Table JSTO)
CRM_JCDS Change Documents for System/User Statuses (Table JEST)
CRM_JEST Individual Object Status
CRM_JSTO Status Object Information
SROBLROLB Persistent Roles of BOR Objects
SROBLROLC Persistent Roles of Business Classes
SRRELROLES Object Relationship Service: Roles
STXB SAPscript: Texts in non-SAPscript format
STXH STXD SAPscript text file header
STXL STXD SAPscript text file lines
TOA01 Link table 1
TOA02 Link table 2
TOA03 Link table 3
TOAHR Container table for HR administration level
The function modules for different business objects Modules :
BBP_PD_SC_GETDETAIL Shopping Cart
BBP_PD_PO_GETDETAIL Purchase Order
BBP_PD_CONF_GETDETAIL SRM Confirmations
BBP_PD_INV_GETDETAIL Invoice and Credit Memo

Main SRM Tables 300x212 SAP SRM Tables

Main SRM Tables

Tags: , ,



SAP SRM Sample Codes





Code 1: Update Purchase Order Partner Details By Kathirvel Balakrishnan

This is a very simple code sample to update the purchase order partner details. The following function modules are used:

BBP_PD_SC_GETDETAIL : Read the details of a Purchase Order

BBP_PD_SC_UPDATE : Updates the details of a Purchase Order

BBP_PD_SC_SAVE : Finally called to save the details of a Purchase Order

This is just an illustrative example and can be enhanced to update any existing detail of a purchase order.

REPORT zkb_partner_chg.

* Declaration – Internal Tables
DATA: lt_e_item TYPE TABLE OF bbp_pds_po_item_d.
DATA: lt_e_partner TYPE TABLE OF bbp_pds_partner.
DATA: lt_e_messages TYPE TABLE OF bbp_pds_messages.
DATA: lt_i_item TYPE TABLE OF bbp_pds_po_item_icu.
DATA: lt_i_partner TYPE TABLE OF bbp_pds_partner.

* Declaration – Work Areas
DATA: ls_e_header TYPE bbp_pds_po_header_d.
DATA: ls_e_item TYPE bbp_pds_po_item_d.
DATA: ls_e_partner TYPE bbp_pds_partner.
DATA: ls_i_item TYPE bbp_pds_po_item_icu.
DATA: ls_i_header TYPE bbp_pds_po_header_u .
DATA: ls_but000 TYPE but000.

* Declaration – Variables
DATA: lv_e_changed TYPE xfeld.

* Declaration – Field Symbols
FIELD-SYMBOLS: <fs_partner> TYPE bbp_pds_partner.

* Read an existing PO
CALL FUNCTION ‘BBP_PD_PO_GETDETAIL’
EXPORTING
i_object_id = ’3200000576′
i_with_itemdata = ‘X’
IMPORTING
e_header = ls_e_header
TABLES
e_item = lt_e_item
e_partner = lt_e_partner
e_messages = lt_e_messages.

* Populate Header Data
MOVE-CORRESPONDING ls_e_header TO ls_i_header.

* Populate Item data
LOOP AT lt_e_item INTO ls_e_item .
MOVE-CORRESPONDING ls_e_item TO ls_i_item.
APPEND ls_i_item TO lt_i_item.
ENDLOOP.

* Populate all the existing partner data first
LOOP AT lt_e_partner INTO ls_e_partner.
APPEND ls_e_partner TO lt_i_partner.
ENDLOOP.

** Delete Partner (vendor)
READ TABLE lt_i_partner ASSIGNING <fs_partner>
WITH KEY partner_fct = ’00000019′
p_guid = ls_i_header-guid.
IF sy-subrc EQ 0.
<fs_partner>-del_ind = ‘X’.
ENDIF.
UNASSIGN <fs_partner>.

** Add Partner (vendor)
SELECT SINGLE * FROM but000 INTO ls_but000 WHERE partner = ’0087000004′.
CLEAR ls_e_partner.
ls_e_partner-partner_guid = 1.
ls_e_partner-partner_no = ls_but000-partner_guid.
ls_e_partner-partner_fct = ’00000019′.
ls_e_partner-p_guid = ls_i_header-guid.
APPEND ls_e_partner TO lt_i_partner.

* Update Doc
CALL FUNCTION ‘BBP_PD_PO_UPDATE’
EXPORTING
i_header = ls_i_header
i_save = ‘X’
iv_with_change_approval = ‘ ‘
IMPORTING
e_changed = lv_e_changed
TABLES
i_item = lt_i_item
i_partner = lt_i_partner
e_messages = lt_e_messages.

* Save Doc
IF NOT lv_e_changed IS INITIAL.
CALL FUNCTION ‘BBP_PD_PO_SAVE’
EXPORTING
iv_header_guid = ls_i_header-guid.
COMMIT WORK AND WAIT.
ENDIF.

Report to display user attributes by Kathirvel Balakrishnan

The below program takes the User Id and the list of attributes as input and displays the value of the attributes maintained in the Organization structure.

The program uses the standard function module BBP_READ_ATTRIBUTES to read and display the attributes.

*&———————————————————————*
*& Report ZKB_READ_ATTRIBUTES
*&———————————————————————*

REPORT zkb_read_attributes.

*&———————————————————————*
* Data Declaration
*&———————————————————————*
TYPES: BEGIN OF lty_user_attr,
attr_id TYPE om_attrib,
value_logsys TYPE log_system,
value TYPE char30,
END OF lty_user_attr.

DATA: lo_salv_table TYPE REF TO cl_salv_table.

DATA: lt_user_attr TYPE TABLE OF lty_user_attr.
DATA: lt_attr_list TYPE bbpt_attr_list.
DATA: lt_attr_data TYPE bbpt_attr.
DATA: lt_vlist TYPE bbpt_attr_values.

DATA: ls_attr_list TYPE bbp_attr_list.
DATA: ls_attr_data TYPE bbps_attr.
DATA: ls_user_attr TYPE lty_user_attr.
DATA: ls_vlist TYPE bbps_attr_values.
DATA: ls_t77omattr TYPE t77omattr.

*&———————————————————————*
* Selection Screen
*&———————————————————————*
PARAMETERS : p_user TYPE sy-uname DEFAULT sy-uname OBLIGATORY.
SELECT-OPTIONS: s_attr FOR ls_t77omattr-attrib OBLIGATORY NO INTERVALS.

*&———————————————————————*
* START-OF-SELECTION.
*&———————————————————————*
START-OF-SELECTION.
LOOP AT s_attr.
CLEAR ls_attr_list.
ls_attr_list-attr_id = s_attr-low.
APPEND ls_attr_list TO lt_attr_list.
ENDLOOP.

* Read Attributes
CALL FUNCTION ‘BBP_READ_ATTRIBUTES’
EXPORTING
iv_user = p_user
it_attr_list = lt_attr_list
IMPORTING
et_attr = lt_attr_data
EXCEPTIONS
object_id_not_found = 1
no_attributes_requested = 2
attributes_read_error = 3
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

* Populate the Output List
LOOP AT lt_attr_data INTO ls_attr_data.
ls_user_attr-attr_id = ls_attr_data-attr_id.
CLEAR : lt_vlist.
lt_vlist = ls_attr_data-vlist.
LOOP AT lt_vlist INTO ls_vlist.
ls_user_attr-value_logsys = ls_vlist-value_logsys.
ls_user_attr-value = ls_vlist-value.
APPEND ls_user_attr TO lt_user_attr.
ENDLOOP.
ENDLOOP.

* Display Data in Alv Grid
CALL METHOD cl_salv_table=>factory
IMPORTING
r_salv_table = lo_salv_table
CHANGING
t_table = lt_user_attr.

CALL METHOD lo_salv_table->display.

Updating Extended Attributes (Storage Location) By Kathirvel Balakrishnan

The below program takes the User Id and the list of storage location attribute values and updates them.

The program uses the standard function module BBP_UPDATE_ATTRIBUTES to update the storage location values for the user.

Note: To update multiple values, all the values needs to be passed.

*&———————————————————————*
*& Report ZKB_UPDATE_STORAGE_LOC
*&———————————————————————*
* This program is used to update the values in Extended Attributes,
* in this example the attribute Storage Location is updated (LAG)
*&———————————————————————*

REPORT zkb_update_storage_loc.

* Declaration for Internal Tables
DATA: lt_bbp_attributes TYPE TABLE OF bbp_attributes.

* Declaration for Structures
DATA: ls_bbp_attributes TYPE bbp_attributes.

* Populate the Storage Location Value
CLEAR ls_bbp_attributes.
ls_bbp_attributes-attr_id = ‘LAG’. “Storage Location
ls_bbp_attributes-value_logsys = ‘<BACKEND SYS>’.
ls_bbp_attributes-value(20) = ‘<Storage Loc>’.
ls_bbp_attributes-value+20(10) = ‘<BACKEND SYS>’.
ls_bbp_attributes-value+30(4) = ‘<Company Code>’.
APPEND ls_bbp_attributes TO lt_bbp_attributes.

* Function Call to Update Values
CALL FUNCTION ‘BBP_UPDATE_ATTRIBUTES’
EXPORTING
user_id_p = ‘USER ID’
scenario_p = ‘BBP’
start_date_p = sy-datum
end_date_p = ’99991231′
TABLES
it_attr_p = lt_bbp_attributes
EXCEPTIONS
object_id_missed = 1
no_active_plvar = 2
object_not_found = 3
no_attributes = 4
times_invalid = 5
inconsistent_values = 6
update_error = 7
ambiguous_position = 8
OTHERS = 9.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
* Save to DB
COMMIT WORK AND WAIT.
ENDIF.

Tags: , ,

Copyright © 2010 ABOUT SAP. All rights reserved.