Friday, December 19, 2014

Tricky tables



TSTCP - If you have a view name and want to find tcode for that - put view in parameters (with *s) u get tcode

Tuesday, December 9, 2014

CRM layout based on object type and sub object type


To set Object type and Sub object type through code to differentiate between different order types - if diff order types need different CRM lay out in Web UI.

In BSP_WD_CMPWB tcode, in method DO_CONFIG_DETERMINATION

METHOD do_config_determination.
*CALL METHOD SUPER->DO_CONFIG_DETERMINATION
**  EXPORTING
**    iv_first_time = ABAP_FALSE
*    .

  
DATA: lv_subtype     TYPE bsp_dlc_object_sub_type VALUE '<DEFAULT>',
        lv_object_type 
TYPE bsp_dlc_object_type     VALUE '<DEFAULT>'.

  lv_object_type 
'<ObjectType 1>'.

  
IF <Tran Type> EQ ‘ERP Sales Order’.
    lv_subtype 
'OR'.
  
ELSE.
    lv_subtype 
'RE'.
  
ENDIF.

*  ENDIF.
  me
->set_config_keysiv_object_type          lv_object_type
                       iv_object_sub_type      
lv_subtype
                       iv_propagate_2_children 
abap_false ).
ENDMETHOD.





We can extend the sub object type as below:
ZL_ERPORD_SUBOBJ_TYPE_CALLBACK->IF_BSP_DLC_OBJ_TYPE_CALLBACK~GET_OBJECT_SUB_TYPES  


Good Link:
http://scn.sap.com/community/crm/webclient-ui-framework/blog/2015/12/04

Monday, December 8, 2014

EDI Idocs tips


How to retransmit multiple idocs:

Dropbox -> CMS -> EDI Idocs -> 'How to retransmit multiple idocs'

Friday, December 5, 2014

Compensation Management



Assign Pricing procedure to CHBK/CHBC (vend bill docs)
Logistics General -> SAP Global Trade Mngmnt -> Compensation Mngmnt -> Copy Control ->  Copy Control for Billing document to Vendor Billing document (-> Maintain Copy Control Procedure)
- here, you can also assign condition types that flow from Bill doc to Vend bill doc


Vendor Billing doc types (CHBK/CHBC)
Logistics General -> Agency Business -> Billing -> Billing Document types

Adobe forms links

Wednesday, December 3, 2014

Credit Management


OVA8 - Automated Credit control - You set up config for risk category - switch on/off checks

User exit for OVA8 'User1' - LVKMPFZ1

VKM3 - Release credit block for Sales orders
VKM4 - Release credit block for SD documents (Deliv etc)

FD32 - Customer credit management change - assign risk category etc..

 

Tuesday, November 4, 2014

Add field to dynamic selection in FBL1N


Below link is quite useful for adding field to Dynamic selection in FBL1N

 

Also, Please read SAP note 310886 - Line items: Dynamic selections ignored.
This note explains that only fields from certain tables can be added.
FBL1N only fields from: LFA1, LFB1 and BSIK
FBL3N only fields from: SKA1, SKB1 and BSIS
FBL5N only fields from: KNA1, KNB1 and BSID

Thursday, October 30, 2014

Number ranges objects


RV_BELEG - Number ranges for SD documents (SD - sales,deliv and billing etc)
RF_BELEG - Number ranges for Accounting documents  (FI)

You can check in table TNROT (in SE16) - try giving text and search - This table holds all number ranges with description texts.

Monday, October 27, 2014

MM Function modules

MM Function modules:

ME_CREATE_REQUISITION_EXT - used to create Purchase Requisitions

ME_CREATE_PO_HEADER - PO creation header
ME_CREATE_PO_ITEM   - PO creation item

Thursday, October 16, 2014

Session time out setting


Check these profile parameters in RZ10

rdisp/gui_auto_logout  - for GUI session time - for eg 7200 sec = 2 hr

rdisp/plugin_auto_logout - for Web UI session time - for eg 3600 sec = 1 hr

Wednesday, October 15, 2014

Background jobs deletion


Program to delete jobs - RSBTCDEL2
Program to delete orphan job logs - RSTS0024
 

Monday, September 29, 2014

Send email from Job spool


Schedule a job with spool output
Click on Spool recipient in SM36 and set distribution list

Distribution list can be setup in SO15 -> Give email ids in distribution list.

SAP Licences Audit tcodes


USMM:  is a good tcode for Audit.
USMM -> System measurement
USMM -> Measurement statistics

SAP Audit tcode: Login to SOLMAN and go to tcode SLAW2

Tuesday, September 16, 2014

Two Vendors in One Invoice ( MIRO )


Set Error message for message numbers M8-286 and M8-287 in t.code:OMRM and specially in t.code:OBMSG.
 
Now try doing invocing(MIRO) for purchase order  by changing vendor number/code, system will show you the error message.

http://scn.sap.com/thread/3332082

Tuesday, September 9, 2014

Stock Determination Procedure


Used in case 'Post Goods Issue with Vendor Consignment stock'

Detailed document in Dropbox -> CMS

Pricing reports


V/LA - Create SD Pricing report  (Select fields, and tables)
V/LD - Execute Pricing report

M_LA - Create Pricing report (MM)
M_LD - Execute Pricing report (MM)

CRM : To find Query object


The best way to get the name of a query service is using the transaction GENIL_MODEL_BROWSER . If you don't find out what you need there then just set a break-point in the method GET_INSTANCE, in classes:
CL_CRM_BOL_QUERY_SERVICE (Regular query services)
CL_CRM_BOL_DQUERY_SERVICE (Dynamic query services)

Thursday, September 4, 2014

Web UI Design Layer issue


When you add custom value nodes, some times they dont apear in 'Available fields' list in Configuration. This is because, in design layer the field (or <DEFAULT> setup) has got 'Hidden' field set.

You can try setting Design Layer in below links.

SPRO -> CRM -> UI framework -> Design Layer
For LORD ERP, see 'Define eference Design objects'

CRM Web UI - Design Layer


Design Layer is used to control designing of field (like hidden, label etc). This is in between bsp view and bol layer. This way we can control similar fields in different views at a time.

SPRO -> CRM -> UI framework -> Design Layer
For LORD ERP, see 'Define eference Design objects'


In the UI framework, some Design relevant settings can be made. These settings have to be made per view (context nodes and their attributes), which is not always what user wants: If a single field occurs on many views, the settings should be made once and then influence all views carrying this field.
The purpose of the design layer is to define a layer which is logically positioned between the BSP view layer and the BOL layer to make UI relevant settings for many view in one go.

The design layer links UI related settings to a new, more general design object which spans several views implementing the same business content. The UI related settings are simple field settings which are likely to be changed by customers and application developers:
  • Field visibility
  • Field labels
  • Mandatory field
  • Disabled field
Customizing Design Layer :
Use transaction BSP_DLC_SDESIGN to maintain the SAP delivered design layer customizing.
  1. Select an object type. Please note that this object type is not necessarily the same object type used by the application controllers and multilevel configuration. This means that this object type could be a generic object type for use with the design layer.
  2. For an object type maintain design objects, which define the design layer settings. The assigned BOL entity is used to determine the possible attributes.
  3. For each design object assign the design settings: This can be done for ALL attributes of the given BOL entity and for specific exceptions to this with a specific BOL attribute name. Select whether fields using this design are hidden, mandatory or disabled and what field label they have.
Assignment of Design Layer to Context nodes :
1. In the workbench (transaction BSP_WD_CMPWB) select a full context node or an individual context node attribute to assign the design object.
2. If used on attribute level, you may enter a BOL attribute name, if it differs from the context nodes attribute name.

Friday, August 29, 2014

Set up EDI Idoc (Custom)


WE30 - To create basic type (or Extension) of custom idoc

WE31 - To create segments - with fields - Once you create you set them 'Release'

WE81 - Define Message type  -

WE82 - Link message type with idoc type


Outbound Idoc (Custom) -
- In Partner profile in WE20 set this new idoc type for the partner you want to sent to (like Logical System (LS) or Customer etc)
- Create a function module using FM MASTER_IDOC_DISTRIBUTE .  Take reference of MASTERIDOC_CREATE_* functions.
- Use the above function in your program to trigger idocs

 

Wednesday, August 27, 2014

SCU3 - To read changes to tables


 
Transaction SCU3 can be used to read changes to tables, this is useful with transactions such as WE20 (EDI partner profile as not all transactions include a charge history screen)
The system parameter rec/client must be activated  
rec/client = off
- Table change logging inactive
rec/client = all
Table change logging active in all clients  (See Warning below)
rec/client = <client 1>...
- Table change logging active in specified clients


Setting the REC/CLIENT parameter to All can seriously impair SAP system performance. SAP recommends you do not use the value All. You should limit automatic logging to one client

Within SE13 we can see the checkbox ‘Log data changes’ is assigned to a table

In an ECC 6 system running SE16 against DD09L shows approx. 31k tables with this flag activated (DD09L-PROTOKOLL EQ ‘X’) However these are generally customizing type tables (non-transportable)

Thursday, August 14, 2014

CRM WebUI Tcodes



AXTSHOW -  Analyze AET enhancements
BSP_WD_CMPWB_NEW  - UI component workbench

AET Tips - CRM


http://scn.sap.com/community/crm/webclient-ui-framework/blog/2012/11/24/the-new-aet-table-extension-feature-of-ehp1-creating-your-own-components

Nice blog by Suchita in SCN

Pre-requisite before doing AET Table extension: Go to transaction AXTSYS and name the component you would like to be created. AET will create a Z component with this name and will add all your Z views created using AET to this component, unless, you change to other component in this transaction.
Doing AET Table extension:
1) Start the WEB UI and navigate to the overview page on which you want your custom Z component based view as a new "Assignment Block".
2) Use the "Configure" button and choose the Header View from the views grayed out on Overview page . The view config tool opens in a pop-up. Select "Display Enhancements" button. A new popup opens which display the existing enhancements.
3) Simply use ADD TABLE button and follow the wizard. In the very first step itsef, AET tells you what will be the name on Z table and also ask you the window/view name (it is a technical name and not the assignment block title) you would like for the new view.
4) You can define whether you want Form view ( 1:1 cardinality) or Table view ( 1:n cardinality ) within the wizard itself.
5) When you complete defining your requirements and adding fields to the AET table, and say "Save and Generate", AET will take all care to give you what you want.You see the new Assignment block on the Overviewpage unsed "Available blocks". You just need to pull it in "Displayed Blocks" and your new assignment block based on a ZTABLE is ready for use. You can edit it, add values and ht save and record ets created in the ZTABLE. You can change the values , delete the values and record in table gets modified on its own. You dont need to write a single code to care edit/update/delete etc. What all AET gives you in this development is listed below:
  • You get the Z COMPONENT created automatically with the name you specified in transaction AXTSYS.
  • You get the view and related windows created with the name you specified during AET (AET adds _MAIN to the window name you give during AET to generate your view name. For ex. if you gave name as MYVIEW during AET, then in component you find a Window with name MYVIEW and the view with name MYVIEW_MAIN)
  • You also get RUNTIME REPOSITORY in a ready to use state, meaning, you don't need to do any view and window assignments here.
  • You get the ZTABLE ready in Data dictionary with AET given name with all Z fields you defined during AET
  • The Ztable fields have auto-generated name and auto-generated data elements based on information you gave to AET during table-fields creation
  • The data elements get auto-generated domains and if you have specified checktables, dropdown values  etc during AET, then you can see those value table assignments in the domain.
  • Further, if you go to GENIL_MODEL_BROWSER and open the root/access object of your overview page model set (ONEORDER for sales.service etc documents and BP_ALL for accounts and related documents. for ex if i started AET to add a ZTABLE based view as assignment block on Service order header, then my root is BTORDER and Access is BTADMINH) , you can see a Z BOL object created for you and related to the access object via Z-relation
  • You get Function module ready to read the record from your Zview and also the function modules to work upon them, in case you need to read your view data in some BADI or Actions.
So in my view, with the AET table extension, SAP has given a great relief to UI developers from complex and time-consuming task of own Genil and BOL developments . However, the AET tool is not all PERFECT and you must take precautions while using it.
Things to Remember before and during you do AET TABLE Enhancements :
0) AET Table exention invlives both customizing and workbench tasks hence you should do AET on the client with allows you both. If is better to ask BASIS person which client they have decided for AET developments. If your customizing clinet does not allow workbench changes, then better start on workbench client. Ideally you should start on customizing client and it should be allowed to have workbench changes in this customizing client. Do inform Basis person about this if he is not aware.
1) You must be well prepared with what you want. It is a good idea to have an excel sheet where you have already written what fields of what data type and length, will it be a dropdown or search help ? and if so have the search help table ready in dictionary before you start. Same is applicable for check table related fields.
2) You can not change the field's data type and length once it is created and generated by AET.
3) Once AET is generated, all you can change for an existing field is its Description and rendering for search/check table fields.
4) You can add/remove/update dropdown list values anytime
5) You can add more fields or remove fields from your Z AET table extension anytime but avoid deleting the fields as you may experience lot of inconsistencies and mess if your field is getting used somewhere and you delete it from AET. This will directly dump on the system and it is difficult to find why the dump occurs if others don't know the background of your work.
6) Be extremely cautious during deleting fields if your AET generated view fields are used in BRF+ business rules or used in a view configurations. System will straightly dump during generation and onwards untill you fix the inconsistencies.
7) If AET generation fails, go to transaction AXTSHOW and investigate your extension for each element there to see where it is red light and what has failed. for example, if the AET table was locked in some other request and you try to add the new field then its an issue if your landscape follow separate customizing and workbench clients.AET generation fails in tis case and you need to release the transport that locks the object and Re-generate the AET.
8) Though everything you get with AET table extension is in Z space, do not change the fields directly in ZTABLE or do not change domains, data element properties directly in SE11. It will give lot of inconsistencies even though SE11 and SE14 activation is successful. Always use the AET tool only to work upon anything generated by AET.
9) Do not change anything or try to modify the things in Z function modules AET generated for your component. If you need any special behaviors, then create your Z utility class and handle it in a custom method there with BOL programming & ABAP.

Wednesday, August 6, 2014

Sales order appears in VL10A even though its fully delivered


VL10A is checking in table VEPVG if there are still entries there and if so the sales order will still be shown as open in VL10A. The SD document index should be re-organized by program RVV05IVB.

CRM WebUI BSP tips


To increase visible rows count in table (for eg: In Order Items)

eg:  BSP Appl: ERP_IT   View: ItemTab.htm

Tag: <chtmlb:configCellerator id 
VisibleRowCount = "10"  (10 rows visible, and then you get Expand button to see remaining)


 

Tuesday, August 5, 2014

Monday, August 4, 2014

Bulk trigger Outputs


VF31 - Bulk trigger for Invoice outputs

SD70AV1A (program) - To trigger Sales order outputs in bulk

Friday, August 1, 2014

CRM WebUI development tips



To assign value help (or dropdown) to Search criteria:
Check GET_DQUERY_DEFINITIONS of your view controller.

Genil class for ERP Order/Quote:
CL_CRM_INTLAY_LORD2_ERPIL



 

Program to change status of Idocs


Program to change status of Idocs (for eg: in case you want to 'archive' and make them Green) :

RC1_IDOC_SET_STATUS  - You can set status to 71 (archive) - Idocs turn Green after the status is set.

CRM Genil classes


ERP LORD -  CL_CRM_INTLAY_LORD2_ERPIL  (In CMS, we created enhancement in Search method).

Tuesday, July 29, 2014

FI document number same as Billing doc number


There is a simple standard SAP mechnism to make billing doc number same as accounting documnet number.

Assign same number range for both. Keep Accounting doc number range as 'External'.

Please see doc  Dropbox->SD->'FI doc name same as Billing doc Config.docx'. 
 

Printer settings - SPAD


Printer settings:

SPAD (tcode): Define new printer here - Assign ' Host Printer' - actual windows printer address.

Device type links with Printer fonts in SE73. The fonts should also present in Font family - If not, you may get error in outputs sent to the printer, if the output uses these fonts. In this case, you need to install font to font family (Install ttf button in SE73).

In SPAD, you can Lock the printer - generally we do this in Dev and QA environments.

You can see spool requests, output requests buttons in SPAD - quite useful, while supporting ( when you dont get prints.. )

Friday, July 25, 2014

Credit checks - Credit blocking


OVA8 - tcode where you set rules for credit checks depending up on Cred.Contrl.Area, risk category (set for customers) and Credit group (at order/deliv/PGI level).

You can block at Order level or Delivery level or PGI level. - by using Credit group

 

Wednesday, July 23, 2014

Pricing tips


All non statistical conditions in Pricing procedure will appear in Accounting document.

To make Statistical conditions appear, we need to set 'Accruals' flag in V/06 and then assign account key accruals in Pricing Procedure.

Thursday, July 17, 2014

New search criteria in Web UI


To create a new Search criteria (attribute) for Order/Quote

Structure: CRMST_QORDER_ERPIL
Append new field to this.

This appears like STRUCT.ZZXXXX in Context nodes..

To enable Operators (like CP, etc)
SPRO-> CRM-> Generic Interaction Layer/Object Layer-> Comp-specific settings->Define Operators for Dynamic Queries

Wednesday, July 16, 2014

CRM - Value nodes

Value nodes:
If you want to create a node which is not mapped with model (database table), then just create value node(attribute) via wizard (right click from context node).

Value nodes can be used to the fields in UI which actually do not correspond to database table fields - or you want to display same fields again in different assignment block or diff screen

AET can be used when you are creating model node. This is like adding field to database table.

AET fields deletion

AET fields can be deleted. Need to regenerate (make sure you see 'Generate' flag - if hidden, then make it displayed).

In general,  after go Live, try to avoid deletion of the fields.

Pricing date in Sales order

Pricing date can be changed to old date - a warning will be given, can be ignored. This way we can get pricing for old date.  Useful at the time of correcting some issues.

EDI Output - 'change' output


To send EDI Idocs for any changes to document:

For eg, Output type ZEDI
Set program-routine in Output type config (in NACE) to define what the change mean. for eg, SAPMV45A-ZZCHECK_CHANGE (keep condition on partner profile table - for EDI - as we dont want to unnecessarily trigger for which partner prof setup is not maintianed - otherwise change output gets triggered but goes into error, as there is no message type set.

Then set Partner profile - tick 'Change' box and give which message type the change idoc should go.

 

Thursday, July 10, 2014

Networks - basic commands (command line)


TRACERT :
tracert google.com - Gives you the network path used while you are reaching google.. This way, you can find out in which part of network, the issue lies, if your internet not working.

PING
Check the connection

TELNET
You can send some info to website and check if you have connection established.
You need to have Telnet switched on in your system.
telnet [host[port]]

Firewalls:
Check firewalls, incase of connection issues. May be you blocked the ip.

NAT:
Internal ip will be mapped to external ip in NAT.

Internal IP will be like 192.168.xxx.xxx

Tuesday, July 1, 2014

Password policy in SAP


Password Policy can be set with system profile parameters in RZ10.

Following parameters can be useful in setting minimum number of spcl/lower/upper chars in pwd
login/min_password_specials
login/min_password_lowercase
login/min_password_uppercase

Monday, June 30, 2014

Idocs reciever port determination


Reciever port for outbound idocs can be determined from
1) Distribution model (in SALE tcode) - where  message type is assigned to reciever's Logical system (LS) which is assigned to sender's LS
2) From Partner profiles (WE20), where recieving port determined from Partner (KU, LS, etc).
 

Tuesday, June 24, 2014

Transfer Consignment stock from one plant to another plant


Transfer Consignment stock from one plant to another plant is not possible with single movement in SAP.
Refer to note 13006.  Alternate way explained in note

Tuesday, June 17, 2014

BAPI s in SAP


BAPI_OUTB_DELIVERY_CHANGE - To change Delivery document.  If you do not find field in Bapi, then try EXPORT/IMPORT  - Import in MV50AFZ1 - userexit_save_document_prepare

BAPI_TRANSACTION_COMMIT - Use this after main Bapi to commit.

Friday, May 23, 2014

Domain name Controller (Active Directory)


Domain name controller:

On Microsoft Servers, a domain controller (DC) is a server that responds to security authentication requests (logging in, checking permissions, etc.) within the Windows Server domain.[1][not in citation given][2] A domain is a concept introduced in Windows NT whereby a user may be granted access to a number of computer resources with the use of a single username and password combination.  (source: Wikipedia)

In my company: We have 5 domain controllers (ADs) - one at each site (3 sites) and 2 virtual servers acting as domain controllers (or AD - Active directory) at our hosting partner site.

All clients (like our laptops) need to be logged in with userid/pwd registered at Domain Controller (AD - Active directory).  Printers are connected to AD as well.  A client can will be connected to any one of ADs (DNC) randomly.. In case of Internet failure,  local DNC (AD) is used to access Printers etc..  Userid and Pwds are generally catched at client level (Laptop level), so you can login to system from home(with out internet) as well.. but this is only valid for few days... You cant change pwd with out connecting to domain controller.

 

Wednesday, May 21, 2014

Finance tips


Substitution rule - best way to set a field in FI document with value - You can use user exit - Program ZRGGBS000 (Add the custom prog to T80D in SM30)
Refer to below:
http://www.abap-code.com/substitutions.html

 

Friday, May 16, 2014

CRM IT Service management


CRM IT Service management:

- Request for Change :
Trans typ - ITCH

Multilevel categorization: To setup 'Category' values.
- 1) Assign Catalog Category to Trans type in SPRO -> CRM-> CRM Cross appl comp -> Multilevel categ
- 2) Set Categorization schemas in WebUI -  Service Operations-> Categ schemas (Take help of C35, C29 docs in CRM stuff folder in Dropbox)
 

Thursday, May 8, 2014

Icons in Application tool bar disappeared


Buttons replaced with Icons in VA03 screen.

Solution: Go to System -> Status -> GUI status and 'Activate'  ( Dont know why it got deactivated though).

Friday, May 2, 2014

Middleware mapping of custom field in Customer


Middleware mapping of custom field in Customer

If field names are same in KNA1, BSS_CENTI (in CRM and R3), BSS_CENTIX (in CRM and R3), then standard code automatically sends data into Bdocs.

Try checking CRMSUBTAB table in CRM and R3 if there are any modules setup.

Check exits - TBE34 table - See below links
https://wiki.scn.sap.com/wiki/display/ABAP/BTE+-+Business+Transaction+Event
https://scn.sap.com/thread/524466


Thursday, May 1, 2014

CRM Middleware tips


CRMSUBTAB -  contains adapter modules between CRM and ECC (Table exists in both CRM and ECC)

SMOFTABLES - table in CRM, where you can see object names for request load by giving R3 Table name.

PIDE - Mapping of account groups between R3 and CRM (Check this, if you create a new accounting group in ECC)

Thursday, April 24, 2014

snap_no_new_entry error


This dump comes as soon as you login. You are completely stuck. This happens when there is no more disk space to save log files (You can see this in DB02). Ask Basis to expand the disk space.

Setup Trusted and Non-Trusted Links between CRM and R3


Trusted Link between CRM and ECC

- Setup in SM59 tcode - In 'Logon & Security' tab, Tick 'Yes' for Trusted relation, and Tick 'Current User' box - This way, RFC calls will be triggered from current user
- In SMT1 tcode, maintain Trusted caller destination.


Non Trusted Link:
- In SM59, 'Logon & Security' tab, give user/pwd details - generally it is 'RFCUSER' and tick 'No' in Trusted relation.

Thursday, April 17, 2014

PP - Table names


Production orders
AUFK -   Production order headers
AFIH - Maintenance order header
AUFM - Goods movement for prod. order
AFKO - Order header data PP orders
AFPO - Order item
RESB - Order componenten
AFVC - Order operations
AFVV - Quantities/dates/values in the operation
AFVU - User fields of the operation
AFFL - Work order sequence
AFFH - PRT assignment data for the work order(routing)
JSTO - Status profile
JEST - Object status
AFRU - Order completion confirmations

Monday, April 14, 2014

Production Planning Tcodes


COOIS - Production order Information system (List of Prod Ord based on diff criteria)
CO01 - Create Production Order

ABAP tcodes


SE39 - To compare 2 programs
ST01 - Switch on Traces (Authorization checks) - can be used as SU53 history

SE81 - A good tcode to search Customer Enhancements(Badis/User exits) via Application area
Search for Appl area -> Select -> Go to 'Information system' -> Go to 'Enhancements' -> Execute

Friday, April 11, 2014

Solution Manager (SOLMAN)


SOLMAN_SETUP (tcode) : To setup different SOLMAN functionalities

PI transports can be moved using CTS of Solman.

Thursday, April 3, 2014

CRM LORD - add new fields to order


To create additional fields in LORD Order/Quote
ECC:
- In ECC, add new fields

In LORD:
- In ECC, in LORD_MAPPING table, setup new fields
- Change structures TDS*COMC , TDS*COMV  (add CRM field name into these ECC structures)
- Change  BADI Impl for BADI_LORD_DO_PAI  - class ZCL_LRD_IM_DO_PAI (custom impl) - add CRM field name into this BADI.

In CRM:
- Change View in configuration tab (AET)

Refer to Doc Dropbox->CRM Stuff -> Add fields to Lord.PDF

Wednesday, April 2, 2014

BTE events - FI userexit functions


Transaction codes for BTE are:
FIBF Maintenance BTE
BERE Business Event Repository
BERP Business Processes
BF31 Application modules per Event
BF32 Partner Modules per Event
BF34 Customer Modules per Event
BF41 Application Modules per Process
BF42 Partner Modules per Process
BF44 Customer Modules per Process

Monday, March 31, 2014

FI Tcodes


OC41 - Maintain exchange rates

F-02 - G/L Account posting

O7E5/O7E6  - Maintain Fast entry screen

VKOA - Assign G/L accounts (Link to SD Pricing and accounting)

OBC4 - To setup Field status groups (To make a field mandatory in FB01/2/3 etc.. - you can assign FSG to G/L account through FS00 tcode)

FS00 - G/L account Edit  (to check changes in FS00 - go to last tab - information tab)

OB41 - Posting key accounting config - you can set config for posting key - (Using Field status, you can also make some fields mandatory)

EWCT -  Exchange rate conversion calculater

Wednesday, March 26, 2014

RFC Trace logs


tRFC trace :
(source link: http://scn.sap.com/thread/3196278 )

sm58
SM12
SMOHQUEUE
SMQS

TRFRCQIN and TRFCQOUT are the main tables that store this info. . Other important tables include ARFCSSTATE, ARFCSDATA, ARFCRSTATE, QREFTID.
The following link provides a list of RFC-related modules and programs:
http://help.sap.com/saphelp_47x200/helpdata/en/21/5c5f3ca0dd9770e10000000a114084/frameset.htm
Ths gives ways of monitoring the performance, but there is no report to say how many queues have processed in a timeframe, as far as I know (I'll double check this and confirm this by tomorrow). We've never found this to be the most helpful apporach in pefomance monitoring, anyalysis of RFC performance issues or load testing. Usually it's more meaningful to know rate of transfer of sales orders, or BPs etc which can be more easily checked and has more relevance to meeting your business requirements.
RFC logs are can be viewed in the dev_rfc* files in ST11, and the dev_rd (dispatcher log) is also a useful reference for RFC analysis

There is a performance check in RZ20:
SAP CRM Monitor Templates -> CRM Middleware. Here you will see specific perfomance for CRM inbound and outbound queues.
You can also use ST03 - this shows the workload at BDoc level under the 'CRM Workload' section.
There is no direct equivalent for the ECC. However, ST03 also does show the RFC load on each application server on the ECC side.

Tuesday, March 25, 2014

Web services Testing


SOAP UI

SOAP UI is good tool to test web services.  Get 'binding WSDL' for the webservice from SOAMANAGER, and save it as xml file.
Open SOAP UI  -   create a new project  - give the wsdl file
To setup certificates - Go to File->Preferences->SSL certificates.  (check below link)
http://geekswithblogs.net/gvdmaaden/archive/2011/02/24/how-to-configure-soapui-with-client-certificate-authentication.aspx

In SAP

Go to SE80 -> Enterprise services -> Service definition -> give service definition name
Test (Click on 'Test')
Get template -> Edit and give parameters

Friday, March 21, 2014

CRM Middleware Tcodes


- R3AC1 for prepare/filter download Business Object -  contains filters
- R3AC3 for prepare/filter download Customizing Object
- R3AC5 for prepare/filter download Condition Object
- R3AS for starting download Business, Customizing and Condition Object
- R3AM1 for monitoring the object download.

- R3AR2 for defining manual download request
(while doing request load, remember setting ‘Delete’ flag in SMW01 - this helps in not processing bdoc again by mistake)
- R3AR4 for starting manual download request
- R3AR3 for monitoring manual download request
- SMOEAC - Admin console - Publication, Subscription etc..

- PIDE - R/3<->CRM Assign Account grp to BP classification


SMW01 - To monitor bdocs
SMW02A - To get all bdocs grouped with error messages
SMW20 - To reprocess in bulk - You can schedule this program every hour

FIBF - User exits

SAP HANA


SAP HANA -  Explained in a good way in below link

http://wikibon.org/wiki/v/Primer_on_SAP_HANA

Setup EDI idoc (Standard)


How to setup new EDI idoc (Standard)

Step 1:  Find relavant Idoc type and Message type - This is based on business process.
Dropbox -> CMS -> EDI Idocs -> 'EDI with EDIFACT - Mapping Types' doc can help  - Or just search in internet

Step 2: Go to WE19  - > Get template for Test based on Messag type

Step 3: Get an idea on what to fill in template using WE60 tcode (look for Documentation)
You can also find XML templates in internet for message type.

Step 4: Run and make sure it works.  Now, note down if you require any additional fields.

 

Thursday, March 20, 2014

EDI Idocs files


Path:  Dropbox -> CMS -> EDI Idocs

Basis Tcodes


SUIM - User Info system
SU10 - Mass change of User data (address, auth etc)

S_BCE_68001430 - Compare roles between users

SPAD - Printer setting (Lock/Unlock) - we can lock/unlock in bulk by Importing/Exporting file

DB02 - Size of Disks - Free space - and other DB related data

ST01 - Traces  - You can trace authorization checks - in case SU53 didnt work, use this - good one

SM01 - Lock transaction codes from users  - good one (if you want users not to use this irrespective of their roles)

SM02 - Set System message - which pops up on Login

RZ04 - Check work process allotment - Operation modes - you can give different allotment for different timings.

Tuesday, March 18, 2014

Webservices Links

Certificates in SAP


STRUST is tcode to setup certificates in SAP

You can setup SSL certificate for your web service and then share the certificate details with third-party , so that to establish secure connection.  - Set for everything.. Import and add to Certif list

After the certificates are set , then do a restart of ICM(smicm->admin->ICM->Restart->Yes).

And to map certificate to user id, Go to SM30 -> view VUSREXTID, type=DN -> maintain user id for certificate and tick 'Activated'.  Also check if the userid has erquired authorizations.  'Min date' - better make it blank.. we faced some issues - as sometimes certificate valid date may go beyond that, and you forget to change this.

How to automatically select SAP client certificate in Google chrome
                        
http://scn.sap.com/blogs/ivazharov/2013/10/22/how-to-automatically-select-sap-client-certificate-in-google-chrome

Monday, March 17, 2014

SSL Certificates


http://www.tldp.org/HOWTO/SSL-Certificates-HOWTO/x64.html


What is SSL and what are Certificates?
The Secure Socket Layer protocol was created by Netscape to ensure secure transactions between web servers and browsers. The protocol uses a third party, a Certificate Authority (CA), to identify one end or both end of the transactions. This is in short how it works.



  1. A browser requests a secure page (usually https://).
  2. The web server sends its public key with its certificate.
  3. The browser checks that the certificate was issued by a trusted party (usually a trusted root CA), that the certificate is still valid and that the certificate is related to the site contacted.
  4. The browser then uses the public key, to encrypt a random symmetric encryption key and sends it to the server with the encrypted URL required as well as other encrypted http data.
  5. The web server decrypts the symmetric encryption key using its private key and uses the symmetric key to decrypt the URL and http data.
  6. The web server sends back the requested html document and http data encrypted with the symmetric key.
  7. The browser decrypts the http data and html document using the symmetric key and displays the information.

Several concepts have to be understood here.

Private Key/Public Key:

The Certificate:

Webservices tcodes


Traces:

SRT_UTIL - To monitor web service calls  - > Click on 'Error Logs'
SRT_UTIL - We can configure (set up) logging for a user for particular service definitions - helps in logging (performance, functional, payloads). Set 'Functional trace' to 'Low' for user in Configuration tab. Then check in 'Funct Trace' tab for logs.

Webservices need to be set up in authorization role (if WEBUSER soesnt have SAP_ALL).
ST01 - this can be used to see what authorizations are missed for WEBUSER (user for webservices)

SMICM-> Goto->Tracefile->display all
SMICM -> Goto -> Trace level (Level 3 is highest)
SAP note 495911 - to trace errors for Logon problems
After setting logs (level 3), if you set system parameter (rz10) icn\trace_secured_data to '1' (TRUE), then you can see SSL data in logs.

SAP note 1292171 - Troubleshooting Guide: ABAP Web Services Runtime  (is good)


SOAMANAGER -  You can use this tcode as well to check logs (it is similar to SRT_UTIL)

SE80 - Go to 'Edit Object' and then check for Enterprice services - Service definition

STRUST -  To setup certificates  After the certificates are set , then do a restart of ICM(smicm->admin->ICM->Restart->Yes).

SICF - Maintain services

SMICM - ICM monitor   (SMICM-> Goto->Tracefile->display all , SMICM -> Admin->ICM->Restart  , SMICM->Goto->Connections )

 

Host name, Port name details


To get host name from SAP:

Tcoed: SICF -> GoTo -> Port Information

You can also call FM /SDF/GET_ICM_VIRT_HOST_DATA

Thursday, March 13, 2014

CRM Tips



- BSPWD_COMP_EXT - table to find enhancements for a spot

- To find all shortcuts in WEBUI - ctrl+Alt+shift+F2


CRM ERP scenario (LORD) performance improvement:
http://scn.sap.com/community/crm/blog/2012/08/08/erp-order-performance-in-sap-crm

CRM - Switch-off all enhancements :  Parameter WCF_IGNORE_ENHANCEMT - set 'A' (Active) in SU01 (User master)

ORG_DOWNLOAD - tcode used to update buffers after doing org data changes in CRM - see program of this tcode (it says buffer update)

Monday, March 10, 2014

SAP Basis general knowledge


The components SAP_BASIS and SAP_ABA as also SAP_BASIS tell you about NW release. SAP_APPL will tell you about your ECC release. if it is 605 then you have an EHP5 system.


Support Pack - This is a bunch of SAP notes - when SAP thinks there are a bunch of notes (corrections) on current version, it releases all of them in a Support Pack

Enhancement Pack  -  This is more of an 'Application Enhancement' than a correction - New applications/functionalities can be inreoduced during new Enhancement pack upgrade.

ECC release -  No new release came after ECC 6.0  -  New release is very rare - but can come with considerable changes  - SAP stops supporting older versions (not completely, it depends on how old) when a new one is released

Kernel patch level - 4 methods to find out what level your kernel patch is
1. at OS level just type at command prompt disp+work -v then it displays kernel version or
2. at OS level just type R3trans -t then you will get or
3.at R/3 level login into sap from System menu -> select status then click on bellow arrow mark then you will get or
4.goto SM51 T-code then click on release notes button then you will get

Wednesday, March 5, 2014

RVIVAUFT - Third party Inter company


For third party scenario,  to create inter-company invoice use program RVIVAUFT

EDI Tcodes


WEDI - Area menu for EDI relavant tcodes

WE05 - Idoc List
WE19 -  Test tool for Idoc processing - you can run FM in foreground and debug (take an existing idoc and run it)
WE09 - Search Idocs for Business content (you can search for a field value) - You can change field values here and save (which then can be reprocessed using BD87/84)

WE20 - Partner profiles
WE60 - Mapping Structures/Documentation 

WE21 - Ports definition in Idoc processing  (setup SAPPI_PRD port here )

SALE - Idoc Interface ALE settings (setup distribution model, logical sys etc here)

WE30 - Develop idoc types
WE31 - Develop idoc segments

WE57 - To setup FM <-> Message type assignment
WE41/WE42 - Process codes

BD84 - Reprocess Idocs
BD87 - Status monitor

RSEOUT00 - Process all Selected Idocs (for Partner) - This way you can collect all Idocs for a partner and send them at a time.

VOE2 - To map customer to Sales area and Order type
VOE4 - To map customer ship-to (external) with internal number  (We dont want our customer to remember all the ship-to numbers.. do we?)

IDOC -  Idoc and EDI basis

Vendor to Us(our comp) mapping (for INVOIC type - vend invoice):
OBCA - Map vendor company code to our real company code
OBCD - Map External tax rate to Tax code
OBCE - EDI INVOIC Programming parameters

 

Pricing ABAP


RV61AFZB - Program that can be used to change pricing condition values- Subroutine USEREXIT_XKOMV_BEWERTEN_END  - ABAPER can play around and control the condition values - more flexible than calc routines (VOFM) - but not recommendable unless it is necessary

FI CO-PA postings for Pricing conditions


For FI  CO-PA postings for Pricing conditions

First, you need assign account key in Pricing procedure for the condition.

Tcodes used:
KE4I   - COPA assignment of SD conditions to Value fields  (transportable)
KEA6 -  Edit value fields     (not transportable - better do manually in each client - have to open client though in PROD)
KEA0 - Maintian Operating concern    (not transportable - better do manually in each client - have to open client though in PROD)

Monday, March 3, 2014

Workflow Tcodes


SWU_OBUF  -  To clear buffers - run this one when you push any new changes to Workflow template.

SWU3 - Initial workflow config/checks.

SWEL - Event trace logs
SWELS - Switch on Event trace

SWE2 - Event type linkage - link event with workflow task (receiving type), FM(used to determine receiving  workflow task)

 

Thursday, February 27, 2014

Webservices: If you add/remove parameter


If you add/remove parameter in function module. Then go to webservice from SE80 -> Enterprice services. Then click on 'Check' (this will give a pop up to adjust) and then activate.

http://scn.sap.com/thread/1892427

Friday, February 14, 2014

Copy/Get variants in program


To copy variants from one program to other.

Use function RS_COPY_SELECTION_SETS   - give Source and target programs


To fetch variant details of program
Use function RS_VARIANT_CONTENTS

Monday, February 10, 2014

Tcodes : SD



OV51 -  Report program for customer changes

EWCT - Check exchange rates

SFW5 - To activate business functions

VL06O - List of deliveries based on several criteria (very useful)

VF31 - Billing outputs - bulk - you can print all invoices at a time

VD53 - Customer material info records
VD59 - Customer material info records - Report

VL10A - Create deliveries in bulk
VL06P - To print Picklists  (If picking is already done, you cant do this again - but a workaround is that remove 'Picked Qty' from Delivery and try again)

VL09 - Cancel PGI of Deliveries.
VL22 - Display Changes for Delivery (quite useful for deleted deliveries)

VOK2 - Maintain Output determination - a good tcode (similar to NACE)

VV21 - Create Output conditions - Shipping
VV71 - Create Output conditions - Transport  (ASNs)

V_V2 - Rescheduling Sales and Stock transfer docs - by material

VT01N - Create Shipment for deliveries..

V.25 - Release Customer Expected price
VKM3 - Release credit block

Handling Units Tcodes:
VL74 - Output from Handling units
VV63 - Display Ouput: Handling Units
HUOBD - Display HUs for Outbound Delivery
HU03 - Display of HUs
VLMOVE - HU Goods Movements
HU02 - Creating and changing Handling Units
HUMO - HU Monitor

Monday, February 3, 2014

Condition contract tcodes



WLF3V - Dislpay billing document (Remuneration settlement) - CHBC
WLF2V - Change billing document (Remuneration settlement) - CHBC

WCOCO - Create/Change Condition contract .

WLFCOL - To create CHBC from CHBK  (in CMS it is ZWLFCOL)

WLFK - Release CHBCs into accounting in bulk(mass)

Thursday, January 30, 2014

Maintain access data in SAP marketplace secure area


Go to service.sap.com
Go to 'Data adminstration' tab/area
Go to 'System data'
Choose your product -> Maintain
Maintain acces data -> 'Modify'
 

Adobe: Cannot extract the embedded font arial.Some char might not be displayed


Issue comes when we converted SAP script to Adobe PDF - and when we try to open PDF file.

this can be related to the compression of the PDF file.
You can turn off the FlateDecode compression again via report RSTXPDF3 as described in Note #843480. It is a little confusing. The option 'FLATE_COMPR_OFF' needs to be set to 'On' to turn off the FlateDecode compression.
To set this please run as follows:
se38 -> RSTXPDF3 -> enter 'FLATE_COMPR_OFF' in the 'Name' field -> Select 'Change Settings' radio button
You will get a pop-up 'Do not use flat compression'.
Select the 'on' button.
After this check if the PDF is created correctly.

https://scn.sap.com/thread/1673655

Wednesday, January 29, 2014

Forward workplace to Outlook - SO16



Using SO16, you can forward your WORKPLACE to MS-OUTLOOK.
 
  • First go to SO16. Click on 'Mail sys grp' tab.
  • Select 'Send to Home Address of Users'.
  • Click on Address Check. Select 'Automatic Forward' tab.
  • Click New entry. Give user 'Email address' like gmail or etc..
  • Then select 'Recepient address type' as 'A'.
  • Set the date and time.

Condition contract tables


Condition contract tables:

WCOCOH
WCOCOI
WCOCOF - Document flow
WBRK - Remuneration settlement (CHBC, CHBK docs) (like VBRK)
WBRP - Remuneration settlement item (CHBC, CHBK docs) (like VBRP)

SPRO -> SAP Global Trade Management -> Compensation Management

Tuesday, January 28, 2014

Attachment list in ECC FB03


Table to save attachment information in ECC is SRGBTBREL

 

Pricing or Outputs access sequence with same condition table multiple times


While configuring access sequence in Pricing or Outputs, we can avoid creating same kind of access multiple times  (We may some time can get this scenario, where data types of fields are same, though fields are different).

In access sequence, create 2 accesses using same condition table - but in 'Fields', you can assign different 'doc. field'.

So, instead of having multiple accesses of same key combination,

We can have single access.

 

Friday, January 24, 2014

Deleted sales order - check changes


To know who deleted the sales order run the program RVSCD100  Or you can go to VA03 with the order number, do not go into VA03 screen, instead go to 'Environment->changes' from front screen.
Or, you can check in CDHDR/CDPOS table.

Reference: http://scn.sap.com/thread/1041663

For delivery:  Go to VL03N and go to environment -> changes

Change doc. object   =   EINKBELEG  for Purchase Order
 
                                 = VERKBELEG  for sales order
   
                                 = LIEFERUNG for  Outbound delivery

Thursday, January 23, 2014

Sending email from SAP


To setup mail config in SAP :  Go to SCOT

In SOST, you can see sent/waiting emails.

Program RSCONN01 need to be scheduled in background (for every 2 mins) to send the 'waiting' mails from SOST.

If you want to send your email immediately (not waiting for background RSCONN01 to run), then just run the program RSCONN01 in your program (using SUBMIT statement).

CRM Implementation notes



PFCG Roles required for LORD (Lean Order management in CRM):

SAP_S_RFCACL
SAP_LO_SD_ORDER_MANAGEMENT

Middleware documents are in Dropbox/CMS/Gauri CRM folder
 

There is a short dump that occurs in the CMS erp system when CRM invokes standard RFCs.

We found a OSS note (1817375) that resolves this issue(Module
ERP_LORD_REMOVE_ACTIVE_FIELDS is not RFC-enabled).


SMTP Configuration
For SMTP Configuration on CRD system we required below details-

1) Default domain
2) Mail Host IP address
3)Port 25 allow in firewall.


Further to this, the Exchange Server must also be configured to allow SMTP relay from the CRM systems. If not then exchange will refuse send requests from CRD.

Lord mapping 
In ECC side we need to activate Lord mapping  this is manual  activity



Activate the following business functions in transaction SFW5 in ECC
1.       SD_01
2.       LOG_SD_CI_01
3.       LOG_SD_CI_02
4.       LOG_SD_SIMP_02
Org setup
Set Org units in PPOMA_CRM -  We can setup Sales org-dist channel-division , Sales office, Sales group here
Assign org unit to Business partner  through relationships in PP01 (or you can do from PPOMA_CRM -> Goto-> Detailed Object->Enhanced description)