Tuesday, December 20, 2016

CRM Identification screen - IS-U integration



http://help.sap.com/saphelp_crmscen70/helpdata/en/20/f984bfca3f4312bf6ebab36673036b/content.htm

In Customizing for Customer Relationship Management under   Industry Solutions  Utility Industries  Settings for User Interfaces  Identification  Define Identification Profiles , define the identification profiles for the technical componentIUICMD (Identification & Master Data) in the interaction center.


BAdI:Identification and Master Data
This Business Add-In (BAdI) is used in the Utilities Industry: Interaction Center (CRM-IU-IC) component.
With BAdI Identification and Master Data (CRM_IUICMD_BADI), you can implement methods that allow you to adjust the identification to meet your own requirements.
This allows you to change pushbuttons, searches, and context areas.
Default Settings
The BAdI implementation CRM_IUICMD_BADI is active as standard. The default coding is also executed if no customer implementation exists. The BAdI is not filter-dependent. The BAdI is designed for multiple use. All activated implementations are called and executed.
Activities
For more information about the implementation of BAdIs within the enhancement concept, see SAP Library for SAP NetWeaver under BAdI Implementation. See also: This BAdI uses the interface IF_CRM_IUICMD_BADI. For more information, display the interface in the Class Builder.


Wednesday, December 7, 2016

ISU Tcodes and Tables


ISU Tcodes:

ECRMREPL -  Error log report (Middleware - similar to SMW01 in CRM)
ECENV_BP -  Check Contract accounts and Contracts for a BP account
EPRODCUST - MDT

EL37 - Meter read reversal
EA13 - Bill reversal (need to give Print document)
EA14 - Mass Bill reversal

ISU Tables:

EVER - ISU contract
EVERH - Doc flow

FQEVENTS  - Event managing  - this is like BT events (user exits)

SPPFCADM - Actions profile management

EA63PS - Payment Scheme display


DFKKCOH - Table for Correspondence entries in ISU 

EA85 - Rate determination create

ETTIFN - Installation Facts (Normal)

EABL - Meter Read document


Tables for Rate categ facts: ERTFND  and  EKDI

ES62 - Premise change

ES30 - Installation Create


CRM Tables:

CRMV_ISU_INDEX_H -  Link between CRM and ISU transaction numbers
ISU_POD -  POD details in CRM
CRMD_ORDERADM_H - Transaction header
CRMD_ORDERADM_I - Transaction Item
CRMD_ISUEXTA4 - Isu details 

Wednesday, November 30, 2016

How to send a TEST email from SAP??

How to send a TEST email from SAP?

In ECC – Go to SOST -> Select any email (which is already sent) -> Click on ‘Send Request’ in tool bar -> click on ‘Repeat Send’ -> Then choose ‘Change Recipient’ and give your email id.



In higher versions of Netweaver (like in CRM in our company), we can send a Test email in a simpler eay from SCOT
Go to ‘Utilities’ -> ‘Send Test email’ -> Then give your email id.


Credit block on Released documents - OVA8

Issue:  Credits team removes block -  but, after few days, the document is credit blocked again

Solution:  This can be set in OVA8 tcode.  The number of days after which the ‘released’ document is again checked for credit.  In below case, the ‘Released’ document (delivery) will stay ‘Released’ for 21 days (if it is not yet billed).. Normally, this is set to 1 to 5 days.

Updating statistics - Index regenerate

Updating statistics
DB02 – Space – Single Table Analysis


Enter the parent table name for the index and press Index Analysis


Select the indexes one at a time and select UPDATE STATISTICS


Debug Edit

To debug edit SE16N.


SOAP UI - Authentication

Give Basic Authentication in SOAP UI for Testing


Thursday, November 24, 2016

Idoc Metadata Monitor - PI

If you change Idoc structure (or field lengths) in ECC -  You need to Reload Idoc in Metadata Monitor in PI.  You also need to reimport Idoc in ESR and change mappings.


Program to convert spool into PDF


Program to convert spool into PDF  -  RSTXPDFT4


Thursday, November 10, 2016

TAANA table analysis

There is a transaction TAANA that does table analysis.

To set it up:  Transaction TAANA -> Table Analysis Menu -> Perform -> Enter Table Name e.g. CDCLS

Now go into the advance selection options for Analysis Variant.
Then select the "Ad Hoc Variant" button at the bottom.
Next move the OBJECTCLAS column from the right to left pane and select the green tick.

Make sure the ad hoc variant is ticked and use the green tick to leave this screen.

You should now be back at the first screen. Make sure "In the Background" is selected and use the green tick. Schedule whenever suits.
Once it has finished running you can go back to TAANA and select the CDCLS node and double click the green line - this will display all the
entry counts per object type.  

In our example we could see the majority of records by far were object type COND_A (PRICING CONDITIONS)

Table TCDOB - will tell you which tables are covered by which object and a description for each object

Friday, November 4, 2016

Transactions called from another transaction

For info – table TCDCOUPLES to see what transactions can be called from another.
E.g.
In F-44 the other transactions that can be called are

F-44      F-28      SAP
F-44      F-32      SAP
F-44      F-44      SAP
F-44      F-51      SAP
F-44      F-53      SAP
F-44      FB00    SAP
F-44      FB01    SAP
F-44      FB02    SAP
F-44      FB03    SAP
F-44      FB05    SAP
F-44      FB07    SAP
F-44      FB1K    SAP
F-44      FK01    SAP
F-44      SE01    SAP
F-44      SE11    SAP
F-44      SE37    SAP
F-44      SE38    SAP
F-44      SE80    SAP
F-44      SM30    SAP

Wednesday, September 14, 2016

CRM Product Group Tables

Product Group Tables (for corresponding TVM1, TVM2, TVM3 etc.. in R3 – ie., MVGR1, MVGR2 etc..)

CRMC_PRC_GRP1
CRMC_PRC_GRP2
CRMC_PRC_GRP3

Friday, August 26, 2016

Tuesday, August 23, 2016

Adding new fields to FBL3N transaction

Adding new fields to FBL3N (or FBL5N  FBL1N etc..)

Extending RFPOSXEXT   -  using report RFPOSXEXTEND

Please see below link – its very useful

Monday, August 22, 2016

Pricing in Delivery

Normally, we do not configure pricing in Delivery.

Pricing is normally copied from the Sales order to the Billing document and quantity is copied from the Delivery to the Billing document.

But, sometime we need the condition like "Postage cost", "Packing cost" etc during Delivery.

In that case, we assign the Delivery Pricing Procedure to the Delivery Type and create condition record for those condition types (ZV01, ZVPA etc.).

When you create Delivery, these condition will appear in the delivery document and during billing they copied to Billing Document.

Thursday, August 11, 2016

CRM - External List Management


Transaction to check the Work Items: SWI1

Transaction to check parallel generators: RZ12

User WF-BATCH is the one used to create the data

Transaction to reset the password for this user: SWU3

Upgrade Info/Issue - SPDD / SPAU


During upgrade,  Basis team gets below message.. This is when SPDD checks need to be carried out.  In below case, it should be done on client 000 – instance 04.


SPAU checks should be done at later stage.  If you try to do SPAU at this level, you get below issue.

Wednesday, August 10, 2016

New fields for Output control – User exits

New fields for Output control – User exits

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

Can be sued for Picklist group output etc..

Monday, August 8, 2016

CRM Sales group table


View to get Sales area, Sales group and Sales office in CRM for a business partner:

CRMV_BP_FRG0140

Tables in view:
BUT000
CRMM_BUT_LNK0141
CRMM_BUT_SET0140

For transaction level data – eg: to get org data for an opportunity – use table CRMD_ORGMAN  (you may need to link with CRMD_LINK)

Friday, August 5, 2016

PI UDF Trace logs

Put below code in PI UDF (functions) to trace log

AbstractTrace trace = container.getTrace();         
trace.addInfo(" in 1st if ---  " +var1[i] +"," +var2[i]);

Tuesday, July 26, 2016

CRM LORD - Functionalities that are NOT supported

LORD -  Functionalities that are not supported by LORD are given in below SAP note.

SAP note: 1236015

https://launchpad.support.sap.com/#/notes/1236015/E

Monday, July 18, 2016

PI - Remove context and Collapse context

Difference between Remove context and Collapse context

https://wiki.scn.sap.com/wiki/pages/viewpage.action?pageId=59506730

Monday, July 11, 2016

MAP changes for sku

To check MAP (Moving Average Price) changes for a sku, you can check below tcode (It’s better than MB51 )

Transaction code:  S_P00_07000139

Monday, July 4, 2016

V_NL tcode - To simulate Pricing

V_NL tcode -  To simulate Pricing – you can check simulation – with subtotals and other pricing conditions.. etc..

Thursday, June 30, 2016

PI tips - Notepad tips

Replace comma(,) with carriage return
First press Ctrl+H to convert text into Hexadecimal
Then press Ctrl+R to Replace and give as below
Then press Ctrl+H again

Wednesday, June 29, 2016

SNC error

We got this error intermittently.  It works if I deactivated ‘SNC’ in properties, and use userid/pwd instead. 

Basis team deactivated ‘rdisp/keepalive’ to resolve this.

In another instance, it was an issue with time zones – difference between SAP and local system.    

Tuesday, June 28, 2016

SAP history lost

History is SAP tcodes

If the History is lost or missing, follow below steps


  • Turn off history
  • Log off and completely close SAP (no process running)



  • Navigate to history folder
  • Delete all the files/sub folder
  • Launch SAP GUI Config again
  • Enable history

Tuesday, June 21, 2016

CRM Config 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_keys( iv_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
SPRO path:

To define new Object types:


Call back class with interface IF_BSP_DLC_OBJ_TYPE_CALLBACK


Implement the method to define Sub-Obj types


Thursday, June 16, 2016

How to find User exits for a tcode


Link to find SMOD Enhancements (User exits) for a tcode
http://scn.sap.com/community/erp/manufacturing-pp/blog/2012/11/07/how-to-find-user-exit-for-any-t-code

Wednesday, June 15, 2016

Add custom fields to Material Master - MM01

How to add custom fields to Material Master - MM01/2  - and in MARA (Append structure)


http://scn.sap.com/docs/DOC-47544
http://scn.sap.com/community/abap/blog/2015/03/06/additional-fields-on-the-material-master

Monday, June 13, 2016

Configuring new Printer Device type

Configuring new Printer Device type :
Check the note below.
SAP note 1135036

If you don’t find correct device type – You can check related device types – it work most of the times – Or you can setup new devicetype (pls see below)

Setting up new device type:
http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/8075b32f-d7c9-2b10-db84-97015a3a23f4?QuickLink=printing&overridelayout=true&44577465592523

Tuesday, June 7, 2016

Fiori useful links

Fiori useful links :

This explains how to start with Fiori, and many other details for Beginers -  https://scn.sap.com/thread/3297804

Video explaining Odata service creation from RFC:

https://www.youtube.com/watch?v=kICE27JZ6Sc

Thursday, June 2, 2016

Monday, May 23, 2016

Serial number table

Get Serial number from Table for a Delivery

Give delivery number in SER01 (in LIEF_NR) and get OBKNR


Then put OBKNR in OBJK to get Serial number in SERNR

Wednesday, April 27, 2016

Monday, April 25, 2016

SLG1 Logging program


First go to SLG0 tcode, and setup Object 'ZCMS'

then put below code in your program 

   DATAls_log            TYPE BAL_S_LOG.  " CMS Logging
    DATAls_msg            TYPE BAL_S_MSG.
    DATAls_LOG_HANDLE     TYPE  BALLOGHNDL.
    DATAlt_LOG_HANDLE     TYPE BAL_T_LOGH.


    CLEAR ls_log.
    ls_log-object 'ZCMS'.
    ls_log-aluser sy-uname.
    ls_log-alprog sy-repid.

    CALL FUNCTION 'BAL_LOG_CREATE'
      EXPORTING
        I_S_LOG                 ls_log
      IMPORTING
        E_LOG_HANDLE            ls_log_handle
      EXCEPTIONS
        LOG_HEADER_INCONSISTENT 1
        OTHERS                  2.



        CLEARls_msg.
        ls_msg-msgty 'S'.
        ls_msg-msgid 'ZCRM'.
        ls_msg-msgno '000'.
        ls_msg-msgv1 'Process Type'.
        ls_msg-msgv2 ''.
        ls_msg-msgv3 lv_process_type.
        ls_msg-probclass 2.


        CALL FUNCTION 'BAL_LOG_MSG_ADD'
          EXPORTING
            I_LOG_HANDLE     ls_log_handle
            I_S_MSG          ls_msg
          EXCEPTIONS
            LOG_NOT_FOUND    1
            MSG_INCONSISTENT 2
            LOG_IS_FULL      3
            OTHERS           4.



    INSERT ls_log_handle INTO TABLE lt_log_handle.
    CALL FUNCTION 'BAL_DB_SAVE'
      EXPORTING
        I_CLIENT         SY-MANDT
        I_IN_UPDATE_TASK 'X'
        I_SAVE_ALL       'X'
        I_T_LOG_HANDLE   lt_log_handle
      EXCEPTIONS
        LOG_NOT_FOUND    1
        SAVE_NOT_ALLOWED 2
        NUMBERING_ERROR  3
        OTHERS           4.
    IF SY-SUBRC EQ 0.
      REFRESHlt_log_handle.
    ENDIF.

Thursday, April 21, 2016

Product history in CRM - Function Module

FM -  CRM_PRODUCT_HISTORY_GET  - Product history in CRM – good one – need to give product guid


COMM_PRODUCTH - Table for Product History

COMM_PRODUCT - Table for Product master - we can get Guid here 

Wednesday, April 13, 2016

Short Dumps - understanding values



Your 3 rows are, top to bottom: Human readable*, Hexidecimal high value, Hexidecimal low value. 

So for character values you can already read them. 

* Now for the tricky part. Numeric values are often 'packed' so they use less memory. Each number that is printed has hex values 30 - 39 (ASCII, for EBCDIC F0 - F9). A packed number of length 13 will have a length in your dump of 7, ( (13 + 1) / 2 ). The number 1234567890123 will have hex format: 
1357913 
246802x 

The part hex value 'x' is an sign indicator, (no sign, posative, negative). Sorry I do not know the ASCII vaues, EBCDIC values were F, C, D.

------------------------------------------

To read numeric values from ABAP Short dumps:

The value is saved in ASCII and Hexadecimal

Check Hexadecimal – In below screen shot – highlighted part
This value is split into 2 lines. You need to read highlighted below as 00025052517D – This value is actually equal to 250525.17- (negative – may be last ‘D’ represent –ve)




Monday, April 4, 2016

Transport User Roles PFCG

To Transport Roles – Go to PFCG tcode -> Give role -> Select Utilities -> Go to ‘Mass Transport’


Friday, April 1, 2016

SLG1 Application logging


First go to SLG0 tcode, and setup Object 'ZCMS'

then put below code in your program

Check if CL_EZLOG exists in system - If not, use other way of setting up logs in http://sapist.blogspot.co.uk/2016/04/slg1-logging-program.html


DATAlc_log TYPE REF TO CL_EZLOG.
  
* Start of CMS Logging
  CREATE OBJECT LC_LOG
    EXPORTING
      MSGOBJECT  'ZCMS'
      APPENDMODE '1'
      INTERNAL   'X'.



    CALL METHOD LC_LOG->ADDMSG
      EXPORTING
        MSGTY sy-msgty
        MSGID sy-msgid
        MSGNO sy-msgno
        MSGV1 sy-msgv1
        MSGV2 sy-msgv2
        MSGV3 sy-msgv3.




  CALL METHOD LC_LOG->SAVE
    EXCEPTIONS
      EMPTY  1
      FAILED 2
      others 3.

  FREE lc_log.


Now, you can see in SLG1 - messages if any

Post Upgrade - Unicode characters not printing

After Upgrade to EHP7- unicode  (from ECC 6 EHP5), we found that Unicode characters were not working when we print invoices. 

Solution:  Output device (Printer) need to be changed in SPAD tcode.  Go to Unicode Printer settings and select a Unicode device type. This will solve the problem

Upgrade project steps


In our project we upgraded from ECC 6 EHP5 to EHP7 (unicode), we did in this sequence:
a) SPDD - done by Basis team at the time of basis changes for upgrade
b) SPAU - Mostly modified using Modification assistant. Some times we had to correct manually. Use Modif assistant - you can Insert/Replace code when needed. It's simple.
c) UCCHECK - done after Unicode installation by Basis -  We had to correct some programs and then tick 'Unicode enabled' for the programs and Acivate them.

Also, check below for steps (found in internet) - https://scn.sap.com/thread/3542865

   1. Unicode: This is done via UCCHECK transaction. You need to make all the programs (custom) unicode enable. For this you need to goto program attributes and check the box for unicode. Sometimes, after you enable unicode checking, some errors might occur, so you need to eliminate those.
     2. Obsolete FM: There might be some obsolete FMs in existing code (eg. WS_UPLOAD). So you need to replace those by new one (eg. GUI_UPLOAD)..
     3. Open dataset: Unfortunately I didn't get any chance to work upon these. Sorry.
     4. SPAU & SPDD: SPAU allows you to process Repository objects needing adjustment. But generally, ABAPers don't get chance to work upon these. PMs or TLs are preffered.     5. Conversion of script to smartforms: This totally depends on your customer, whether they want to convert all scripts to smartforms. Hope, you'll get some lists of scripts to convert. Just goto smartforms->utilities->migration->import sap script form. Might be you need to do some changes in program too for triggering this smartform properly.
     6. Enhancements: Depends on customer requirement. Might need to implement exits or BADIs as per requirement raised. Hope there will be hell lot of enhancements (I had to do a lot).

Tuesday, March 29, 2016

Partner functions ECC vs CRM


http://scn.sap.com/community/crm/master-data-and-middleware/blog/2013/09/03/partner-functions--what-how-and-where

Wednesday, March 23, 2016

Finance Dates differences - Entry date, Posting date, Document date etc..


Entry Date - System Date on which document is entered

Document Date - Date of the supporting document ie PO/
invoice/ Bill date

Posting date - date on which entry is posted to the ledger
or accounting date 

Value date - the date on which doc is valued. ie for forex
valuation the value date is needed for calculating the
exchange rate difference

Next run date - this is for payment run. what the next day
for calculating the payment due document and discount
calculation 

copied from: 
http://www.allinterview.com/showanswers/100812/what-is-the-entry-date-document-date-posting-date-value-date-and-next-run-date.html