Tuesday, December 13, 2016

Partner Functions

Partner Functions
Partner functions are terms that describe the people and organizations with whom you do business, and who are therefore involved in transactions. 


Customer Partner Functions
For Customer, they are maintained in table KNVP.
For each customer, there might be different ship to party, sold to party as the customer might divide their tasks between various departments internally. 
All that information comes under Customer Partner functions.
Customer Partner Functions are mandatory when defining a customer. If the customer has no different partner functions, Customer Partner functions would be the same as Customer.

XD03 --> Extras --> Customer Partner Functions

Monday, November 28, 2016

Upgrade

SAP source system upgrade
----------------------------------
Check SAP Notes 2289603  and  2290149


Program to run for Inactive Objects
-------------------------------------------
RS_WORKING_AREA_CONSISTENCE

Tuesday, November 22, 2016

CRM_ORDER_READ



All the input parameters for the fm are optional, but this fm takes a lot of processing time. Always pass header guid and what all objects you need from the FM

Declarations for the internal tables
DATA : lt_header_guid TYPE CRMT_OBJECT_GUID_TAB,
             lt_requested_objects TYPE CRMT_OBJECT_NAME_TAB,
             lt_orderadm_h TYPE CRMT_ORDERADM_H_WRKT,
             lt_orderadm_i TYPE CRMT_ORDERADM_I_WRKT,
             lt_price_crm TYPE CRMT_PRICE_AGREEMENTS_CRM_WRKT,
       
work areas
DATA : lw_price_crm LIKE LINE OF lt_price_crm,
       lw_orderadm_h LIKE LINE OF lt_orderadm_h.



Requested Objects table should be defined as follows
Header details
APPEND 'ORDERADM_H' TO lt_requested_objects.
Item  details
APPEND 'ORDERADM_I' TO lt_requested_objects.
Price agreement details
APPEND 'PRIDOC_COM' TO lt_requested_objects.


Reference Links
http://scn.sap.com/community/crm/blog/2013/02/07/crmorderread-simple-example-for-those-new-to-crm-andor-abap

Customer Master Data

Customer Partner Functions
Partner functions are terms that describe the people and organizations with whom you do business, and who are therefore involved in transactions. For Customer, they are maintained in table KNVP.
For each customer, there might be different ship to party, sold to party as the customer might divide their tasks between various departments internally. All that information comes under Customer Partner functions.
Customer Partner Functions are mandatory when defining a customer. If the customer has no different partner functions, Customer Partner functions would be the same as Customer.

Table : KNVP
XD03 --> Extras --> Customer Partner Functions


Datasources
0CUSTOMER_ATTR       - Customer Attributes
0CUSTOMER_TEXT       - Customer Texts
0CUST_COMPC_ATTR   - Customer Company Code Attributes
0CUST_SALES_ATTR     - Customer Sales Attributes
1CL_OCUS001                  - Customer Classification Datasource


Tables
KNA1  : General Data in Customer Master
KNB1  : Customer Master (Company Code)
KNVV : Customer Master Sales Data
KNVP  : Customer Master Partner Functions
( Search for KN* for other tables )

Tcodes
XD01 / 02 / 03

Thursday, November 17, 2016

BOBJ Queries

Below are the SQL queries used to read reports from BOBJ server


Reading folders
query://{select * from ci_infoobjects where  SI_SPECIFIC_KIND like '%Folder%'}

Universes
query://{select * from ci_appobjects where  SI_SPECIFIC_KIND = ''DSL.Universe''}

Webi
query://{select * from ci_infoobjects where  SI_WEBI_DOC_PROPERTIES like %QUERY_001%}

Lumira
variant = 'query://{SELECT * FROM CI_INFOOBJECTS WHERE SI_KIND = ''VISILums''}'

Design Studio
query://{SELECT * FROM CI_INFOOBJECTS WHERE SI_KIND = ''AAD.AnalysisApplication''}

Reading Documents
PDF    :   query://{select * from ci_infoobjects where  SI_SPECIFIC_KIND like ''%pdf%''}
Excel  :   query://{select * from ci_infoobjects where  SI_SPECIFIC_KIND like ''%excel%''}
PPt      :   query://{select * from ci_infoobjects where  SI_SPECIFIC_KIND like ''%powerpoint%''}
Word  :    query://{select * from ci_infoobjects where  SI_SPECIFIC_KIND like ''%word%''}

Thursday, November 10, 2016

Shop Floor Control

Shop Floor Control / Production Planning and Control

2LIS_04_P_ARBPL                   Work Center View from PP/PP-PI
2LIS_04_P_COMP                     Component View from PP/PP-PI
2LIS_04_P_MATNR                   Material View from PP/PP-PI



Setup Tables : OLI4BW 

Job Name :  RMCFNEUA

2LIS_04_P_MATNR Issue and solution
RSA3 fetches 0 records even the setup tables have data : Solution :  - LINK

Monday, November 7, 2016

Adding new language to SAP BW

Description


BW has texts coming with the standard languages ( English, German, French etc) maintained. Now user wanted to get all texts for all datasources in Portugese or some user defined language L1 from sources system.

Text datasource infopackages does not allow us to add filters for SPRAS. And, it is not a good/effeciant way to create custom datasources for all text datasources just to pull a new language.

TCodes : I18N ; SMLT ; RZ10 ; RZ11

Table : TCPOI
            T002 : ECC Languages Table

Report Program : RSCPINST


Below is how this can be achieved.

Checking in existing Languages
The Infopackages will have the filter for language built in.
Once the Text infopackage is run, take the outgoing Idoc number and go to WE02. Click on the IDoc number in the display and you can see the below screen.  Here each language filter can be seen in individual E1RSRSM.



Steps for Installing New Language

Step 1 : Go To I18N --> I18N Customizing --> I18N System Configuration OR Run program                            RSCPINST.
             This takes you to the NLS Settings.

Step 2 : Click on ‘Add’ and add the languages.
              Sometimes, the F4 help would not give the language you intend to add. In that case, the                       language list needs to be extended using ‘Extend Language List’ where it takes to a new                       screen and new language can be added.
                                          
               
                 If you see the language here, execute this step and Go to Step 4.
                 If the Language you are looking for is not found in the 'Extend Language List' Goto Step 3.

Step 3: Go I18N --> I18N Customizing --> Correspondence Languages .
            Select the needed language in correspondence language and 'EN' English as Master Language             and Click Assign.
             Table T002 in ECC has the list of all languages along with the codes to  be used.

             Once the language is assigned , it will give you 2 pop up messages : One with confirmation                  to add the language and the other to run report RSCPINST.
             You can see the newly added language in the Current Status - Installed Correnspondence                      Languages

Step 4 : Once the installation is completed, Run Report RSCPINST ( or I18N as in step1) and add the              language. This time you should get the newly added language in the F4 help too.
             Add the text and Activate.
            
             You can see the log as below with the list of languages added

             Go to Current NLS Config on the screen where the language was added and , you will see the              following message. Once step 6 is performed, this inconsistency will go away.

Step 5 : GoTo RZ10.
              This is where profiles for the system are maintained. Each profile has number of parameters                 to be maintained. For language , you need to select 'Extended maintenance'. This step is                       generally performed by Basis team due to access.

              For adding language the parameter would be ‘zcsa/installed_languages’ This parameter                       value has to be changed. 
              System needs to be restarted once the change is done.

Step 6 : After the restart, run the infopackage and you can see the new language data coming in.


Other Notes
You can also GoTo SMLT ( if you have access ) and add the language here at step 4 and continue.
112065 - Using customer language 'Z1'
42305 - RSCPINST (I18N configuration tool)
2185213 - Configuration of logon languages and profile parameter zcsa/installed_languages
1345121 - Profile Parameters which should not be set in Unicode
529789 - BW extraction/extractor checker differences ( Point 10)
73606 - Supported Languages and Code Pages

Thursday, November 3, 2016

Currency / Transfer exchange rates handling

BW

Exchange Rate transfers
In BW , Standard program RSIMPCURR helps transfer the the exchange rates everyday. This can be run as part of process chain.

The selection screen is as follows
In general, the exchange rate type and changes are left blank and the program can be run as is.

'System' on the selection screen cannot be edited. If you want to change the system values, do as below.

RSA1 -> Source Systems - Right click on source system and select 'Transfer exchange rates'

This will automatically take you to the selection screen to program RSIMPCURR , with the source system already populated.





Monday, October 24, 2016

Datasource / Infopackage level Failures

Infopackage Failures

  • "Transfer (IDocs and TRFC): Errors occurred " "Request IDoc : IDoc with errors added 
      • Check the Idoc in WE02 . If it says "EDI: Partner profile not active"  it means that the connection is inactive
      • EDPP1 - MATLVL is inactive.
    • Solution : Go to WE20  - Select corresponding system in Partner Type and look for Classification Tab on the R.H.S and change the Partner Status to Active.
  • Queue is not available in the source system
    • Run program  RSSM_OLTP_INIT_DELTA_UPDATE to correct the error.
  • Inconsistency in delta administration.
      • RSSM_OLTP_INIT_DELTA_UPDATE
      • The delta administration for DataSource <datasource> from the source system <source system>.
      • The table RSSDLINIT in the BW system contains at least one entry for initialization. However the table ROOSPRMSC in the source system does not contain any entries for this DataSource in this source system.
  • No Delta Records
      • ROOSGENDLM - Generic Delta Management for DataSources ( Gives details of when the last delta was run)
      • Run FM to change the delta pointer
  • 0FI_AA_12 and 0FI_AA_11 has 0 delta records.
Process Overdue / Request remains yellow
  • One of the reason would be that there are heavy loads running in the source system and there are no background process in the source. Check with Basis.

  • Sometimes, the request gets completed in the source system but the status in BW is still yellow. Check SM58 in source system.
    •  If there are any LUWs there, try to execute them manually ( Menu - Edit - Execute LUW )
    • If you want to delete all the LUWs, ( Log File - Reorganize ). This will delete all the LUWs hanging.
  • You can see the job being completed in the source system but, no idocs generated in target system.In the below screenshot, you can see that the OLTP idocs are generated , but there are no corresponding BW Idos - Again, this might be because of lack of resources.






  • One more scenario is that, when you check the tRFC in SM58, you see the below error.
        • Errors : Open SQL array insert produces duplicate records
        • Errors : EDI: Error during database insert in table EDIDC
        • Here , these errors are because of number ranges. Basis has to reset the table EDIDC

  • There is no request from BW to ECC. Full loads run fine, but delta / Init with data transfer fail. This might be because SMQ1 entries are pointing to wrong client
  • Info IDoc 1 : sent, not arrived ; Error passing data to port   
    • In this case you can see that the IDocs are not getting generated in BW. The job gets completed in ECC and ECC IDocs are also generated but, data does not come to BW due to Error at the Port.
    • Go to ECC -> BD87

Here it says, Port does not exist in the table. 
Check the port number in WE20 -> Select Partner Type - Logical system and select the system you are looking for.
On the R.H.S., look for outbound parameters - Click on Message type RSINFO and gives the Receiver Port number. Take this number and see if it matches the Port number in WE21 - Transactional RFC for the client you are looking for. 
If the port numbers are different, change the number in WE20 to match WE21. 
Check for Message type RSSEND also and do the same .The issue should be resolved.

  • Error occurred in the source system 
    • No transfer structure is available for InfoSource 2LIS_13_VDHDR in the source system.
      • When any client copies are done or in any other scenario , we get the above error.
      • This might be because of the entries missing in ROOSGEN table.
      • For temporary fix, each datasource which is failing can be replicated and activated again which adds entry to ROOSGEN table and the initialization will go through fine.
      • Basis can run a mass activation and this can be fixed. 
  • Data was extracted from incorrect client
    • Datasource is pointing to wrong client. This happens mostly with Classification datasources where, when client is changed, the number doesn't change automatically. Values need to changed in CTBW, for these datasources.
Error: No Extract Structure Active or no BW Connected

Solution: This can be due to BW not being completely setup. Incomplete control parameter for commmunication with the BW system. Basis need to check this.

Infopackage dumping when opening. MESSAGE_TYPE_X
Refer to link : HERE





Friday, October 21, 2016

0CO_PC_PCP_10

0CO_PC_PCP_10 : Product Cost Analysis: Overview


SAP Link
http://help.sap.com/saphelp_afs64/helpdata/en/a1/4367c4f84e40828a41c1d1f1ed0fe4/content.htm


Notes
When creating a DSO on this datasource, use Plant, Material, Costing Date, Date from ( and Date To ) As Key fields to receive the correct granularity.

Wednesday, October 19, 2016

Remodelling Infocube and DSO

Corresponding Notes / Links

https://wiki.scn.sap.com/wiki/display/profile/2007/06/28/Remodeling+Tool+in+BI+7.0



Issues Faced
InfoCube remodelling failed with below error


DSO remodelling failed with below error
" No remodeling log found (check job log in SM37 or short dumps in ST22) "



Tuesday, October 4, 2016

ALV declarations

*& Declarations.
DATA: lt_fieldcat TYPE  slis_t_fieldcat_alv,
      lw_fieldcat TYPE slis_fieldcat_alv.


*& ---- Displaying the ALV.
PERFORM f_field_catalog.
*PERFORM f_top.
PERFORM f_display_alv.


*& Performs
*&---------------------------------------------------------------------*
*&      Form  F_FIELD_CATALOG
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM f_field_catalog .

DATA : lv_pos TYPE i VALUE 1.

  CLEAR : lw_fieldcat.
  lw_fieldcat-col_pos         = lv_pos.
  lw_fieldcat-fieldname       = 'IOBJ'.
  lw_fieldcat-seltext_l       = 'InfoObject'.
  lw_fieldcat-key             = 'X'.
*  lw_fieldcat-outputlen       = 15.
  append lw_fieldcat to  lt_fieldcat.

  lv_pos = lv_pos + 1.
  CLEAR : lw_fieldcat.
  lw_fieldcat-col_pos         = lv_pos.
  lw_fieldcat-fieldname       = 'USED_TYPE'.
  lw_fieldcat-seltext_l       = 'Used Type'.
* lw_fieldcat-outputlen       = 20.
  append lw_fieldcat to  lt_fieldcat.


ENDFORM.


*&---------------------------------------------------------------------*
*&      Form  F_DISPLAY_ALV
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM f_display_alv .

lw_flayout-colwidth_optimize = 'X'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
 EXPORTING
*   I_INTERFACE_CHECK                 = ' '
*   I_BYPASSING_BUFFER                = ' '
*   I_BUFFER_ACTIVE                   = ' '
   I_CALLBACK_PROGRAM                = sy-repid
*   I_CALLBACK_PF_STATUS_SET          = ' '
*   I_CALLBACK_USER_COMMAND           = ' '
*   I_CALLBACK_TOP_OF_PAGE            = 'TOP'
*   I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
*   I_CALLBACK_HTML_END_OF_LIST       = ' '
*   I_STRUCTURE_NAME                  =
*   I_BACKGROUND_ID                   = ' '
   I_GRID_TITLE                      = 'This is Report Title'
*   I_GRID_SETTINGS                   =
   IS_LAYOUT                         = lw_flayout
   IT_FIELDCAT                       = lt_fieldcat
*   IT_EXCLUDING                      =
*   IT_SPECIAL_GROUPS                 =
*   IT_SORT                           =
*   IT_FILTER                         =
*   IS_SEL_HIDE                       =
*   I_DEFAULT                         = 'X'
*   I_SAVE                            = ' '
*   IS_VARIANT                        =
*   IT_EVENTS                         =
*   IT_EVENT_EXIT                     =
*   IS_PRINT                          =
*   IS_REPREP_ID                      =
*   I_SCREEN_START_COLUMN             = 0
*   I_SCREEN_START_LINE               = 0
*   I_SCREEN_END_COLUMN               = 0
*   I_SCREEN_END_LINE                 = 0
*   I_HTML_HEIGHT_TOP                 = 0
*   I_HTML_HEIGHT_END                 = 0
*   IT_ALV_GRAPHICS                   =
*   IT_HYPERLINK                      =
*   IT_ADD_FIELDCAT                   =
*   IT_EXCEPT_QINFO                   =
*   IR_SALV_FULLSCREEN_ADAPTER        =
* IMPORTING
*   E_EXIT_CAUSED_BY_CALLER           =
*   ES_EXIT_CAUSED_BY_USER            =
  TABLES
    T_OUTTAB                          = lt_output
 EXCEPTIONS
   PROGRAM_ERROR                     = 1
   OTHERS                            = 2
          .
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.




Monday, September 19, 2016

Change Reference Characteristics of InfoObjects

Sometimes,
We create infoobjects referencing other infoobjects, but down the line, we might want to remove the reference  or change the reference or in some cases, add a new reference for the infoobjects.

SAP has provided a note for the same SAP NOTE 568051

https://launchpad.support.sap.com/#/notes/568051

Below are the steps as explained in the note.


Scenario 1
Replace the reference characteristic from one to another
In this scenarion,  we have an Infoobject ZCHILD which was created as a reference to ZMAIN1.
Now we wanted to replace the reference from ZMAIN1 to ZMAIN2.

Step 1 : Check the entry in table RSDCHA
Here change the value of 'M' entry to the reference character wanted.Here to ZPMAIN2 either directly in the table (most cases possible in dev systems ) or through program ( where edit not available)


Now go to table RSDIOBJ and make 'ACTIVFL' BLANK from 'X' for both 'A' and 'M' versions.

These changes will de-activate the infoobject.
Go to RSA1 and activate it. you can see that the reference object has been changed.

The activation would NOT happen if the Infoobject is being used in any infocubes with data in them. Delete the data from the infocubes and activate the infoobject.


Now, if you check the table, RSDIOBJ, the ACTIVFl would be changed back to 'X'.



Scenario 2








Monday, September 12, 2016

Version Management

Version management in SAP helps us to compare versions of objects within the system and also with other system.


Program --> Utilities --> Version Management

If a program is changed, and you wanted to see the new changes, version comparision can be done with the edited version Vs last active version available.

remote comparision
A program/object in development can also be compared with quality or production using version management.
Click on Remote comparsion and it gives a pop up for mentioning the target system you wanted to compare against. 

It gives you a list of all version available and click on ONE version you wanted to compare against and click remote comparison again. It shows you all difference.
Use 'Single-Column/Parallel' to adjust your view.






Thursday, September 8, 2016

Sales

Setup Table Tcode     : OLI7BW
Setup Table Program / Job Name: RMCVNEUA
No selection criteria necessary for running the setup tables.
V3 Job Name :  RMBWV311

TCodes 
Sales Order : VA01 / 02 / 03
Sales Contract : VA43




Corresponding Tables
VBAKSales Header
VBUKSales Header Status
VBAPSales Item
VBUPSales Item Status
VEDASales Contract Data


Points to Remember

Customer Purchase Order Number
VBAK-BSTNK and VBKD-BSTKD
This is for Customer PO. In VA03, if you do a F1 help on Customer PO, it will point to VBKD-BSTKD.
Then what is VBAK-BSTNK?
From my understanding , both are one and the same. VBKD field is CHAR 35 and VBAK field is CHAR 20. It is fine whatever field you pick from , but need to check the field value. If it more than 20, you might find truncated value in VBAK-BSTNK.

Refer 'SAP Forum Notes' for more information.

Contract Start and End Dates - VEDA
Contract start and end dates can be present at both header and item level.
If there is no item level dates maintained, header level dates flow to item level too.

Sales Inquiry Documents
Documents with Sales document category = A ( Inquiry ) will not be pulled by standard extraction. These documents can be seen in Sales document tables but the LIS extractors do not pull them.

Deleted LBWQ entries
Rarely, there may be a situation wherein a transport moved with out clearing the LBWQ entries with structure , which would fail the V3 Job.
In this scenario, we need to delete the entries in LBWQ for that queue. For sales, we do not know the criteria to do the full load. One way to get around this is to get the changes from CDHDR/CDPOS .

You can use program 'CHANGEDOCU_READ'.
For Sales : Give Object Class : VERKBELEG and run for date range. This should give you all the delta records which you might have deleted from the queue. ( ?? Not sure if this completely gets all the delta records, make sure you do a full load when time permits )



Sales Document Header
2LIS_11_VAHDR
Base Tables : VBAK , VBUK



Sales Document Item
2LIS_11_VAITM
Base Tables : VBAK, VBAP, VBKD, VBUK, VBUP

       
Sales Document Conditions
2LIS_11_VAKON
Base Tables : KOMV, VBAK, VBAP,VBKD, VBUK, VBUP

Notes
Pulls only ACTIVE conditions and Conditions with value(*) to BW.
KNOV-KINAK != 'Y'
Discussion  Links : Thread 390900



Sales Document Schedule Line
2LIS_11_VASCL
Base Tables : VBAK, VBAP, VBEP, VBKD, VBUK, VBUP

SAP Documentation : Here



Sales Document  Header Status
2LIS_11_VASTH
Base Tables : VBUK


Sales Document Item Status
2LIS_11_VASTI
Base Tables : VBUP

Sales-Shipping Allocation Item Data
2LIS_11_V_ITM
Base Tables : VBAK, VBAP, VBKD, VBUK, VBUP


Sales-Shipping Allocation Schedule Line
 2LIS_11_V_SCL
Base Tables : VBAK, VBAP, VBEP, VBKD,VBUK, VBUP


Sales Document Order Delivery
2LIS_11_V_SSL
No Maintenance structure is provided for this datasource
SAP Documentation : LINK

This data source does not bring in third party items. 
2lis_11_v_ssl is datasource of order delivery. Check if in table VBEP, for the sales document in question, field LFREL is marked with  "x" or not.  If the field is empty, it means that the sales order is not marked as delivery relevant, meaning that Datasource 2LIS_11_V_SSL won't extract the document

SAP Note : 729962
 2LIS_11_V_SSL: Third-party items are not extracted



SAP ECC functional tables

Customer Material Information(CMIR):

KNMTK - Customer Material Information: Header
KNMT - Customer Material Information: Item

Bill of Materials (BOM):

MAST - Material
EQST - Equipment
KDST u2013 Sales Order
DOST - Document
STST - Standard Object
TPST u2013 Functional location
STKO u2013 BOM: Header
STZU u2013 STL data
STAS u2013 BOM: Item selection
STOP u2013 BOM: Item data
STPU u2013 BOM: Sub items

Sales Activities & Sales Document (Header):

VBUK u2013 Header Status / Admin data
VBUV u2013 Incompletion log
VBPA u2013 Partner functions
SADR - Address
VBFA u2013 Document flow
VBAK u2013 Sales document: header
VBKD u2013 Sales document: Business data
VAKPA u2013 Partner index
VEDA - Contract
VBKA u2013 Sales Activity document
NAST u2013 Output
JSTO u2013 PP Status
STXH u2013 Text: header
STXL u2013 Text: Lines

Sales document (Item):

VBUP u2013 Item status
VBAP - Sales document: Item data
VBKD - Sales document: Business data
VEBA - Contract
VBLB u2013 Forecast
VBEP - Sales document: Schedule line
VBBE u2013 Individual requirement
VBBS u2013 Summary requirements
VBUV u2013 Incompletion log
VBFA u2013 Document flow
VBPA u2013 Partner functions
JSTO u2013 PP Status
NAST u2013 Output
STXH u2013 Text: Header
STXL u2013 Text: Lines
KONV u2013 Conditions


General:

AGR_USERS - Assignment of roles to users
CDHDR & CDPOS - Change history of master data and documents
TSTC - SAP Transaction Codes, maintained via transaction sm01
NAST - Message status

Shipping:
LIKP - delivery header
LIPS - Delivery item
LINK - inventory document header (WM)
LINP - inventory document item (WM)

VTTK - shipment header
VTTP - shipment item
VTTS - Stage of shipment
VTFA - shipment document flow
VTPA - shipping partner
LTAK - transfer order header
LTAP - transfer order item

VEKP - handling unit header
VEPO - handling unit item


Billing Document:
  VBRK   Billing Document Header
  VBRP   Billing Document Item

Info Record


Inforecords can be of different types.

Customer InfoRecords

Sometimes, customer refers to a material with their version of the name, rather than using the technical name in purchase order . So we need to map customer material name to company's material code and is process is done using Customer Material InfoRecord.

Uniquely identifies the material from the customer's point of view.

TCodes : Customer related
VD51 / 52 / 53

Tables : Customer related
KNMTK - Customer-Material Info Record Header Table
KNMT    - Customer-Material Info Record Data Table

Purchasing InfoRecords


Tcodes:
ME01/02/03 : Material Plant Level

Tables: 
EINA - Purchasing Info Record: General Data
EINE - Purchasing Info Record: Purchasing Organization Data

Wednesday, August 31, 2016

0ASSET_ATTR_TEXT

Tables
ANLA - Asset Master Record Segment
ANLZ - Time-Dependent Asset Allocations
ANLH - Main asset number

T-code
AS01 / 02 / 03

Delta entries Table
BWFIAA_AEDAT_AS
You can edit asset in AS02 and can see entries in this table for testing purposes.

Delta Timestamp Table
BWOM2_TIMEST

Delta Working
Delta for this datasource can be run only ONCE per day. Even if there are changes added to delta table and the delta is run, it still does not pick up any data. They will all come in the run the next day.

Below are couple of points to better understand the working of delta.

Extraction depends on settings in table BWOM_SETTINGS
BWFITIMBOR - Default value '020000' ( 2:00 AM )
If the extractor is runs at 1:20 AM on 8th August, since it is before 2:00 AM, system goes back one day to get the delta values.
So it gets data from 7th and 6th August.
If it runs at 2:30 AM, it fetches data from 7th August.

BWFIOVERLA =  ' '
Default is blank value. If it is 'X' (???)


BWFISAFETY = '1'
This is used when calculating timestamp ranges.

Internally, in FM BWFIT_GET_TIMESTAMPS , the timestamps are fetched.
Basic logic is as follows.

Get the Low and High Timestamps from BWOM2_TIMEST table.
For say last run was 08/06/2012 00:00:00 - 08/06/2012 23:59:59

If there is NO Overlap, +1 to the High Date ==> New Low Date ==> 08/07/2012 00:00:00
Sy-datum - 1 ( safety )  ==> New High Date ==> 08/08/2012 23:59:59

Interval : High Date - Low Date Should not be less than 1 ( No negitive ).
Here, 08/08/2012 - 08/07/2017 = 1 -- Fetches data from delta table BWFIAA_AEDAT_AS where aedat > LowDate
Else, < 1 : System immediately raises - No Data Present flag. No selection happens.

The above logic is also the reason why delta does not get any delta when run on the same day.
For say last run was 08/08/2012 00:00:00 - 08/08/2012 23:59:59

New Low Date = 08/08/2012 + 1 ==> 08/09/2012
new High Date = Sy-datum ( 08/09/2012 ) - 1 ==>  08/08/2012
Interval = -1 ==> No Data Present Flag


After successfull run of delta , low and high dates are dependent on the run dates, but the times are always 00:00:00 to 23:59:59.
When the delta runs, it fetches all the data present in the delta table > Date of the lower limit.

In BWOM2_TIMEST, you can see all the timestamps.
However, time stamps are present in seconds format [Seconds since 1.1.1990,0:00 GMT * 10000 ].
Run FM RKE_TIMESTAMP_CONVERT_OUTPUT to convert to date and hours format. you can use TZONE and DAYST from the table to run the FM.


Tuesday, August 30, 2016

BW Asset Extraction

List of Datasources
  • 0FI_AA_11 - FI-AA: Transactions

0FI_AA_11

Base Tables : ANLC
                       ANEK : Document Header Asset Posting


Datasource Notes from SAP : LINK


Important DELTA Notes

All the above datasources work as a set , the deltas are dependent.

For delta of 0ASSET_AFAB_ATTR to work fine, 0ASSET_ATTR_TEXT should have successful data extraction.
For 0FI_AA_11 and 0FI_AA_12, both 0ASSET_ATTR_TEXT and 0ASSET_AFAB_ATTR should have successful data extractions.

There should be 'D' entries in the table for the preceding datasource, for the next datasource to have successful data extraction.
If FI_GL_4 is active in the system, system checks for the delta from that datasource too.
The delta timestamps can be seen in table BWOM2_TIMEST



Other Information

User FM 'RKE_TIMESTAMP_CONVERT_OUTPUT' to convert the timestamps in the table to general format.

SAP Note 926047 gives some information on delta functionality.

Delta FM
BWFIT_RESET_TIMESTAMPS

Tables
  • ANLB - 
  • ANLC - Asset Value Fields

T-Codes
  • AS01 - Asset Master Data
  • AW01
    • In the parameters tab 
      • Exp. Useful Life in Years = ( Order Dep. Start Date year ) - ( Previous Year)
      • Exp Useful Life in Years = ( Order Dep. Start Date Period) - ( Start of that Fiscal Period)


Other Details
  • BAPI_FIXEDASSET_GETDETAIL

Related SAP Notes

926047 - Depreciation values extracted without master data to BW


Reference Notes 

0FI_GL_14

Base Tables

BKPF           - Accounting Document Header
BSEG          - Accounting Document Segment
FAGLFLEXA - General Ledger: Actual Line Items

TCode
FBL3N    - GL Account Line Item Display
FAGLF03 - Comparision : Documents/Transaction Figures ( not sure how to use )  

Notes
This extractor gets data from FAGLFLEXA and BSEG tables.
Below is the query used in the extractor to fetch data.
SELECT a~PPRCTR a~SFAREA a~RASSC a~PSEGMENT a~TSL a~HSL a~KSL a~OSL a~MSL a~WSL a~DRCRK a~POPER
a~RWCUR a~GJAHR a~BUDAT a~BELNR a~BUZEI a~BSCHL a~BSTAT a~TIMESTAMP 
b~BUKRS b~BLART b~BLDAT b~MONAT b~CPUDT b~XBLNR b~WAERS b~GLVOR b~AWKEY b~FIKRS b~HWAER
b~HWAE2 b~HWAE3 b~AWSYS b~LDGRP b~KURSF

( FAGLFLEXA AS a  INNER JOIN BKPF as b  
on b~bukrs = a~rbukrs 
and b~belnr  = a~belnr 
and b~gjahr  = a~gjahr 
and b~mandt  = a~rclnt )

and the items from selection screen - The RLDNR is always '0L'
    ( a~DOCNR                        EQ '2400018785' )
AND ( a~RLDNR                        EQ '0L' )
AND ( a~RCLNT                        EQ '100' )
AND ( b~MANDT                        EQ '100' )



Delta Pointer Table
ROOSGENDLM
The pointer in this table can be changed using FM

Points to consider
When the infopackage is run with the option 'Initialization with out data transfer' - the pointer in RSA7 is not set.The entry is present, but when the pointer is checked, it shows as blank. So, for this datasource, if we want to initializae, we need to check the option 'Initialization with data transfer' .