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
Learn and Let Learn - Trying to document things I have learned /gathered ( mostly SAP ) in one place , yeah, some other stuff too
Tuesday, December 13, 2016
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
----------------------------------
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
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%''}
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.
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.
Step 5 : GoTo RZ10.
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.
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.
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.
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
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
- 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.
- Refer link.
- Infopackage job in source system fails with error 'DATA_OFFSET_LENGTH_TOO_LARGE '
- need to implement SAP Note 3096734
- https://me.sap.com/notes/3096734
- 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.
- Internal Error occurred when processing parallel RFCs
- This dump might occur in the source system.
- This is because the parallel processors are not defined properly in the system.
- Check BWA8 settings
- Also, table SMOFPARSFA - PARNAME - Server group should have 'PARALLEL_GENERATORS' in PARVAL1 field
- Notes
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.
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) "
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.
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
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
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.
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
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 )
Base Tables : VBAK , VBUK
Base Tables : VBAK, VBAP, VBKD, VBUK, VBUP
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
Base Tables : VBAK, VBAP, VBEP, VBKD, VBUK, VBUP
SAP Documentation : Here
Base Tables : VBUK
Base Tables : VBUP
Base Tables : VBAK, VBAP, VBKD, VBUK, VBUP
Base Tables : VBAK, VBAP, VBEP, VBKD,VBUK, VBUP
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
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
VBAK | Sales Header |
VBUK | Sales Header Status |
VBAP | Sales Item |
VBUP | Sales Item Status |
VEDA | Sales Contract Data |
Points to Remember
Customer Purchase Order NumberVBAK-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
Sales Document Item
2LIS_11_VAITM
Sales Document Conditions
2LIS_11_VAKONNotes
Pulls only ACTIVE conditions and Conditions with value(*) to BW.
KNOV-KINAK != 'Y'
Discussion Links : Thread 390900
Sales Document Schedule Line
2LIS_11_VASCLSAP Documentation : Here
Sales Document Header Status
2LIS_11_VASTH
Sales Document Item Status
2LIS_11_VASTI
Sales-Shipping Allocation Item Data
2LIS_11_V_ITM
Sales-Shipping Allocation Schedule Line
2LIS_11_V_SCL
Sales Document Order Delivery
2LIS_11_V_SSLSAP 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.
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
- 0ASSET_ATTR_TEXT - Asset Subnumber with Description
- 0ASSET_AFAB_ATTR - Depreciation Area Real or Derived
- 0FI_AA_11 - FI-AA: Transactions
- 0FI_AA_12 - FI-AA: Posted Depreciations
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~POPERa~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' .
Subscribe to:
Posts (Atom)