Sunday, June 1, 2014

ABAP: Maintenance View_How to change settngs for fields with Fixed values

You already know how to create a maintenance view, just a refresher:
1. Via SE11 -> Utilities -> Table Maintenance Generator
2. Via SE54

Once you create the view, by default the display settings are taken from the associated Data element/Domain of a field. Let's take example of Domain 'KOART'(account type) which can hold 1 character and has Fixed values assigned to it.

 

In the maintenance the KOART field will always show the number and its description, see below:
 

But if you want to use Upload functionality for such a view its very painful exercise so beset way is to remove the drop-down for such fields from maintenance generator.
SE11-> Table Maintenance Generator -> Maintenance screen no -> Overview screen-> Element List -> Texts/I/O templates and change the column Dropdown to "No Dropdown" for KOART.


And you are good to go with this view.

Cheers,
Sandeep
 

Saturday, December 22, 2012

MM/SD: Conditions_Tables/Links

Hi,

Condition records in Logistics area in SAP is one of the most important area for maintaining pricing conditions and their respective links.There can be 3 different types of condition records.

A* (A000-A999):
  • A000 - A499 are provided by SAP and rest can be generated by customers, if needed
  • These tables are generally used to maintain the condition records for Pricing procedures and are differentiated by KAPPL and KSCHL fields
  • It is important to maintain the links for these tables with the Header table KONH by updating the VAKEY values
  • Other relevant tables here are KONP,KONV,KONC,KONM etc.
B* (B000-B999):
  • B000 - B499 are provided by SAP and rest can be generated by customers, if needed
  • These tables are generally used to maintain the Output Types
  • It is important to maintain the links for these tables with the Header table NACH and VAKEY must be updated for this

KOTE* (KOTE000-KOTE999):
  • KOTE000 - KOTE499 are provided by SAP and remaining can be generated by customers, if needed
  • These tables are generally used to maintain the condition records for different Rebate procedures and can be differentiated by KAPPL and KSCHL fields
  • It is important to maintain the links for these tables with the Header table KONH by updating the VAKEY values
  • Other relevant tables here are KONP,KONV,KONC,KONM etc.
Hope this makes easy to understand 100's of condition tables provided by SAP.
 
Cheers,
Sandeep
 

Wednesday, April 11, 2012

HANA: The mystery around data replication in HANA

Hello guys,

Nowadays, everyone talks about HANA.. have you ever wondered how the data is replicated in HANA from ERP or legacy systems in order to leverage the potential of HANA..
There are 3 possible ways tp achieve the same, namely:

  1. Sybase replicator
  2. Data services from BOBJ
  3. SLT Replicator
I will talk about SLT Replicator  (SAP Landscape Transformation):
SLT Replicator is the tool which allows Real-time data repliation into HANA systems.
The technology is based on Trigger-based approach which is supported by almost all database providers.
This involves few basic steps:

  • Create triggers on the source machine based on your requirements(business process I must say)
  • Perform Initial data load into HANA machine
  • Start real-time data replication

Do comment or provide your feedback if you need further details on the same.

Cheers,
Sandeep


Saturday, March 24, 2012

ABAP: How to assign Text tables

As you know, one can find out the description/text for a particular field from the assigned text table.
E.g Material number (MARA-MATNR) description can be fetched from MAKT table based on foreign key relationships between MARA and MAKT tables.

First check the assigned text table, SE11-> Goto-> Text table and you can find the table name.

Now how to assign the text tables , there is small trick in doing so.
In MARA assign MAKT as text table and in MAKT specify the foreign key relationship on MATNR as : Key fields of a text table and give Cardinality as 1:CN.

Cheers,
Sandeep



Monday, February 27, 2012

ABAP: Important FMs for background/batch processing

Here is list of important FMs which are used for background processing/batch jobs ( creation/read/job log/abort etc.):

Basic FMs for scheduling background jobs:
  1. JOB_OPEN :  Create a new Job 
  2. JOB_SUBMIT :  Add the steps via JOB_SUBMIT
  3. JOB_CLOSE : Release Job via JOB_CLOSE 


BP_FIND_JOBS_WITH_PROGRAM : Find all jobs for a program/report 

BP_JOBLOG_READ : Read the job log 
BP_JOBLOG_SHOW : Display job log

SHOW_JOBSTATE : Show job status( Active/scheduled/canceled etc.) 

Cheers,
Sandeep 

Wednesday, February 1, 2012

ABAP: How to check if a note is implemented technically

Most often you are in situations wherein you need to implement SAP notes for fix issues in SAP standard.You can do the same via transaction SNOTE.

Additionally , you can check the status of notes via transaction SE95 as well.

But if one needs to find out through an program whether a note is implemented or not , here is a simple trick:

Use FM: SCWB_NOTE_CHECK_IMPLEMENTED and this will return the status of the note.
The status is tired in table CWBNTHEAD : Header table for OSS Notes in customer systems.

Cheers,
Sandeep 

NewG/L: Reports to check data consistency

If you are planning to migrate to New G/L environment and want to check consistency of the classic G/L data , here are few reports which might help you :)

RFINDEX : FI consistency check 
SAPF190 : Financial accounting comparative analysis for Balance sheet 
SAPF100 : Foreign currency valuation
RAABST02 : Reconcil. program FI-AA <-> G/L: List of accounts showing differences
RSANAORA : analysis of oracle tables for creating statistics.

Cheers,
Sandeep

Tuesday, January 24, 2012

ABAP: Display ALV without creating screens/containers


In traditional approach we always define a container areas and then pout the ALV in this container.
But the same can also be achieved by making use of static methods of container classes.
e.g
Data lr_grid type ref to cl_gui_alv_grid.

  CREATE OBJECT lr_grid
      EXPORTING
           i_parent = cl_gui_custom_container=>screen0.
                        or cl_gui_container=>default_screen.
 " instead of creating custom container you can use standard screens

lr_grid->set_table_for_first_display( .... ).

This is a simple example and you can do lot more stuff with standard functions or think of using SALV.

Cheers,
Sandeep

Monday, January 23, 2012

ABAP: Things to consider for CHAR type fields in tables

If you are enhancing your table structure with CHAR type data elements,  there are few things which you must consider.

If the newly added field is NOT a key field and you have not marked the field for Initial Values = 'X'.


1. If you check values in this field in your programs you cannot be sure that the condition “IS INITIAL” or “IS SPACE” is working correctly. Same holds for comparisons with other variables having a SPACE or INITIAL value.


2. If you need to check for an initial value in this field you should make sure to use the condition ( IS INITIAL OR IS NULL) as depending on DB system a NULL value is stored.


3. If you use this field to store character strings w/o usage in SAP GUI screen fields that’s OK. However, when you use it on SAP GUI screens you cannot use lowercase characters as it is not based on a domain with lowercase option. So an automatic uppercase conversion is done when a screen input is used.

Cheers,
Sandeep 


Sunday, January 22, 2012

Tables for Partner Profiles

The partner profiles are stored in the following tables:

    o  Table EDPP1: General partner profile

    o  Table EDP12: Partner profile outbound, additional data NAST

    o  Table EDP13: Partner profile outbound

    o  Table EDP21: Partner profile inbound

•Table EDIPHONE: Connection to SAP telephony (optional)

This info may help if your are developing any reports related to profiles or trying to find some info for the same.

Cheers,
Sandeep