пятница, 23 ноября 2012 г.

Данные из домена

Возникла тут задача вытянуть данные из домена, пригодилась эта how to - http://wiki.sdn.sap.com/wiki/display/Snippets/GET+DOMAIN+FIXED+VALUE

p.s. Понятно что руками или даже файлом дешевле. Но если есть требование, теперь можно ответить реализацией.

вторник, 13 ноября 2012 г.

вторник, 6 ноября 2012 г.

Транспорт

На неделе удивил траспорт, задача внутри транспорта деблокировалась успешно, а вот сам траспорт завис с сообщением об ошибке.

  [     dev trc,00000]     OCIAttrSet(con=0, rc ln: 0 27, -1 25, 0 1, 0 25) failed with SQL error 24960:
                                                                                               30176  0.526609
  [     dev trc,00000]     ORA-24960: the attribute  OCI_ATTR_MODULE is greater than the maximum allowable length of 48
                                                                                                  52  0.526661
   3 entries from SEOTYPEPLS exported (ZBICCL_VARIABLES              *).
  [     dev trc,00000]     OCIAttrSet(con=0, rc ln: 0 27, -1 25, 0 1, 0 25) failed with SQL error 24960:
                                                                                                1772  0.528433
  [     dev trc,00000]     ORA-24960: the attribute  OCI_ATTR_MODULE is greater than the maximum allowable length of 48
                                                                                                  51  0.528484
   0 entries from RODIR exported (CLASZBICCL_VARIABLES              ).
 End of export LIMUCPRIZBICCL_VARIABLES
 ===> HALT: LIMU METH ZBICCL_VARIABLES : The name ist to short for a method, only the classname is given Please contact the SAP supp
 End of Transport (0016).
 date&time: 02.11.2012 - 13:11:52
 1 error occured.
 returned: 8, calculated: 8, compared: 8
 R3trans return code not sent correctly. See SAP Note 43552.
 Incorrect export. Request not imported.

Ну нота древняя, как дерьмо мамонта и не о чем в данном контексте. Много народу смотрела, танцы с бубнами... оказалось все тривиальней... в запрос, но не в задачу каким то образом попала запись с пустым методом.

LIMU METH ZBICCL_VARIABLES 

Удалили, запрос после этого деблокировался нормально.

Да, пока не забыл SCC1 - транзакция для переноса недеблокированных запросов между мандантами. Вызывать из принимающей стороны.

Тут ещё товарищи подсказали, есть отчет RDDIT076. И если хватает прав то в нем можно поменять статус запроса. Беспредел конечно, но как грится - шашки или ехать?

среда, 17 октября 2012 г.

Scaling Factor & 2 Structure Report

Обнаружилась специфика использования коэффициентов массштабирования в отчетах с двумя структурами.

Note 528960 - Scaling factors are not displayed
Note 337742 - Scaling factors not displayed
Note 568630 - FAQ: Information about structures in queries   + даже если не рассматривать описанные ситуации кофликта приоритетов... иногда BEx глючит с отображением строки с массштабами - workaround - включать опции массштабирования не на ячейках данных, а на заголовке показателя. Причем если до этого пытались включить массштаб на блоке ячеек, и после этого  строка исчезла, то пока не прокликаешь заголовки всех показателей - строка не появится.

2SIM vs 1SIM + redirect

MTS вышел на полноценный уровень переадресации, теперь можно переадресовать не только звонки, но и sms.

Вызов:
http://www.mts.ru/services/direction_calls/keeping_call/redirect_call/
Я выбрал опцию - Если телефон выключен или вне зоны покрытия

SMS:
Можно сделать через сервис CMC Pro.
https://smspro.ssl.mts.ru/Login/Login.aspx
http://www.mts.ru/messaging/sms/performance/smspro/

Правда на посланный смс (номер 232 текст ОN) ответа не пришло. Пришлось писать в support.
C support'a услугу включили. Да, стоимость 0, если не в роуминге.
Зашел на сайт, восстановил пароль.
Подключил через сайт номер переадресации.

p.s. Все таки таскать один телефон удобней, чем (N > 1).

вторник, 16 октября 2012 г.

RRI

Для перехода из BEx надо поставить галку у клиента:

Если переходим в ERP и не указана трансформация (хотя она там по сути нахрен не нужна), то появятся окна визарда - пользователям не нравится. Достаточно указать самую безопасную трансформацию. см. Note 1053310 - Report-report interface: Application rules пункт 4d.

Вызов1 Вызов2


понедельник, 10 сентября 2012 г.

F4 Games

по следам sapforum'a

1. BADi RSR_VARIABLE_F4_RESTRICT_BADI ...
2. В SAP Help = Search Help Exit
3. Class CL_RSR_WWW_VARIABLE_SCREEN ...
4. SAP Note 1080863 - FAQ: Input helps in Netweaver BI ...

Поигрался маленько с exit'ом. В общем нормально, кроме того момента что:
- все значения проверяются через SID таблицу, т.о. нет возможности подсунуть "временные" значения. По мне бы лучше бы если это поведение было опционально
- при реализации переменной через DUMMY показатель, надо быть окуратнее с ограничениями... особенно с ограничением по провайдеру... столкулся с тем, что он показывал только те значения которые попадали в ограничения (правда в добавок это был compaund признак)
- сделал ограничения по валюте, но этот exit не отрабатывает через локальный пересчет - и в отчете видна вся валюта ( Query Properties >> Curremcy Conversion )

понедельник, 3 сентября 2012 г.

Пара вьюшек

Может конечно и виноградный велосипед, но пришлось создать две вью, чтобы посмотреть след.информацию...

Роль - профайл - объект авторизации - поле - значение

Join condition:
TableFieldTableField
AGR_1016MANDT=UST10SMANDT
AGR_1016PROFILE=UST10SPROFN
UST10SAUTH=UST12AUTH
UST10SAKTPS=UST12AKTPS
UST10SOBJCT=UST12OBJCT
UST10SMANDT=UST12MANDT


View: (зеленым веделены интересные для анализа)
View FieldTableField
MANDTAGR_1016MANDT
ROLE_NAMEAGR_1016AGR_NAME
PROFILEAGR_1016PROFILE
COUNTERAGR_1016COUNTER
AKTPSUST10SAKTPS
OBJCTUST10SOBJCT
AUTHUST10SAUTH
FIELDUST12FIELD
VONUST12VON
BISUST12BIS


Роль - GUID Workbook - GUID Query - infocube - query id

Join
TableFieldTableField
AGR_HIERSAP_GUID=RSRWORKBOOKWORKBOOKID
RSRREPDIRGENUNIID=RSRWORKBOOKGENUNIID
RSRREPDIROBJVERS=RSRWORKBOOKOBJVERS


View
View FieldTableField
MANDTAGR_HIERMANDT
ROLE_NAMEAGR_HIERAGR_NAME
WORKBOOK_GUIDAGR_HIERSAP_GUID
NUMAGR_HIEROBJECT_ID
QUERY_GUIDRSRWORKBOOKGENUNIID
QUERY_COUNTRSRWORKBOOKSUBNR
OBJVERSRSRWORKBOOKOBJVERS
COMPUIDRSRREPDIRCOMPUID
INFOCUBERSRREPDIRINFOCUBE
COMPIDRSRREPDIRCOMPID


Conditions
TableField NameOperatorValueAND\OR
AGR_HIERREPORTEQ'RRMX'AND
RSRWORKBOOKOBJVERSEQ'A'

Дополнительно
SMEN_BUFFC - таблица с фаворитами пользователя


Долго лазил по профилям, пока не нашел.
0COSTCENTER =  K_CSKS, поле KOSTL
0PROFIT_CTR    = C_PRPS_PRC, поле PS_ACTVT

четверг, 9 августа 2012 г.

Проблемы с структурами 2LIS*

Однажды как то пришлось исполнять эту ноту, геморой ещё тот, ибо проблемы были с 03 экстрактором, а склады прерывали свою работу только раз в году и то на 2 дня , на новый год.
Температура за окном +30 подсказывала что новый год не скоро, а проблема с очередью в SMQ1 и разностью структур экстратора уже есть.

В последствии нота затерялась. Но вот случай завставил её найти. В общем как всегда, дабы не забыть. Хотя сейчас походу убью и перегружу данные - ибо так проще.

Note 835466 - Using the repair mode of the hash solution


Symptom
With the function for checking the LBWQ for structure changes (the hash solution), a termination is forced when the update report RMBWV3xx is run (xx = application number) if the structure of the data in the LBWQ does not correspond to the current ABAP Dictionary version.

This occurs when changes are made to extract structures of the LO Customizing Cockpit, even though data of the 'old' structure was contained in the extraction queue (LBWQ).



The update can only run successfully if the LBWQ contains only the data of the currently valid ABAP Dictionary version.

You can use repair mode to update the data with the 'old' structure.

This note describes how to carry out the data correction.

Note:
During the check, the entire interface of the extraction module is checked. Note also that changing an inactive DataSource means changing the interface. Extract structures can only be changed if there is no data in the LBWQ (see also Note 762951).


Reason and Prerequisites
Note 834897 and the relevant application-specific notes for the hash solution are prerequisites.

Solution
The subsequent actions must take place in a posting-free period. It is absolutely essential that new data does not arrive in LBWQ during repair mode.

Step 1:
Lock your users and ensure that no IDocs are imported and that no batch tasks are running, and so on.

Step 2:
Ensure that there is no longer any data in transaction RSA7.

Step 3:
Then set the user parameter MCEX_REPAIR_MODE with the application-specific value. You will find this value in the relevant note of the application for the hash solution.

Step 4:
Undo the change to the extract structure/DataSource and replicate the DataSource to BW. Activate the transfer rules of the DataSource.

Step 5:
Then start the report RMBWV3xx (xx = application number) manually in transaction SE38.
This report MUST be executed by the same user for which the user parameter was set.
All data that was generated with the 'old' structure is then updated and set in transaction RSA7.
The program termination occurs again when the first data record is posted with the 'new' structure.

Step 6:
Then load the data in transaction RSA7 into BW.

Step 7:
Then restore the structure changes. Replicate the DataSource into BW again and activate the transfer rules.

Step 8:
Start the update report again. You should now be able to update all data.

Step 9:
Finally, delete the user parameter MCEX_REPAIR_MODE.

Step 10:
Document processing can now be reactivated.


For example:
Initial situation in LBWQ:

Data record 1 - structure 1
Data record 2 - structure 1
Data record 3 - structure 1

Data record 4 - structure 2
Data record 5 - structure 2


1.) Steps 4 - 6: Structure 1 is restored and the relevant data is updated.


New situation in LBWQ:
Data record 4 - structure 2
Data record 5 - structure 2
*клево. только обычно операция на живой системе происходит и у Вас уже есть Data record 6 - structure 1 :(


2.) Steps 7 - 8: Structure 2 is restored and the data is updated.
There is no longer any data in LBWQ.

If several structure changes occurred one after the other, and there are more than two structure versions in LBWQ, you must proceed step by step in the same sequence in which the versions were generated. Steps 4 to 8 must be executed repeatedly until the update report runs successfully again.

понедельник, 6 августа 2012 г.

Признак с большим кол-вом записей

Сценарий проблемы:

Имеется признак с большим кол-вом записей и большим кол-вом навигационных атрибутов (приблизительно более 45). В признак добавляется новый навигационный атрибут или дисплей атрибут переводится в навигационный. При переносе в продуктив очищается X-таблица (Сиды атрибутов) и выполняется Insert во временную таблицу (что бы потом ее содержимое записать в X-таблицу). Это команда выполняется часами. Отчеты не работают.

Решение от SAP в письме ниже.
Мы применили ноты 536223 и 1466536.
После применения ноты 536223 система стала загружать сиды частями, по 10 атрибутов за раз. Общее время переноса сократилось до нескольких минут.

Dear Customer,

In first place,
According to the note 536223 (the instructions provided in 'Solution'
part), you should try to set the value of parameter SPLIT_SX_TABL_THRES
to 10, and try to run the transport again.
Also, please implement:
   1466536 Long runtimes when transporting InfoObjects
   1556266 RSD1:Err. converting display attribute to navigation attrib.
   1618989 Error when using SID for conversion to navigation attribute
If you havent already implemented.
This will improve performance.
Спасибо, Митя!



среда, 25 июля 2012 г.

Активация трансформаций и DTP и другое

В идеале хотелось бы программу, которая бы пробегала по цепочке и активировала не активные трансформации и DTP.

Нашел ещё книгу Common SAP R/3 Functions от William Lawlor на google book на похожую тематику.

Но в ручном режиме, может пригодиться следующее...
RSDG_TRFN_ACTIVATE - активация трансформаций (note 1408161). Запрос на перенос не формируется.
RSBKDTPREPAIR - активация DTP, транспорт по желанию клиента.
RSBK* - там вообще целый сборник программ, в основном для работы с DTP

Список ниже, но более цивильно оформлен... 

Useful ABAP Programs and Function Modules in SAP BI


RSDG_CUBE_ACTIVATE     куб
RSDG_ODSO_ACTIVATE     DSO
RSDG_IOBJ_ACTIVATE        инфо-объект
RSDG_MPRO_ACTIVATE     Activating Multiproviders
RS_COMSTRU_ACTIVATE_ALL     Activate all inactive Communication Structures
RS_TRANSTRU_ACTIVATE_ALL     Activate Transfer Structure
RSAU_UPDR_REACTIVATE_ALL     Activate Update Rules
RRHI_HIERARCHY_ACTIVATE     Activate Hierarchies
SAP_AGGREGATES_ACTIVATE_FILL     Activating and Filling the Aggregates of an InfoCube

<неожиданно много вкусного, чуть позже переформатирую
RSDDS_AGGREGATES_MAINTAIN --- attribute change run
RSSM_SET_REPAIR_FULL_REQUEST -- changes full update to repair fulll request
RSTRSNSTRU_ACTIVATE_ALL-- activating transfer structure
RSPC_PROCESS_FINISH --- process chain details
RSDG_IOBJ_REORG Repair InfoObjects
RSDG_IOBJ_REORG_TEXTS Reorganization of Texts for InfoObjects
RSDG_MPRO_ACTIVATE Activating Multiproviders
RSDG_MPRO_COPY Make Multiprovider Copies
RSDG_MPRO_DELETE Deleting Multiproviders
RS_COMSTRU_ACTIVATE_ALL Activate all inactive Communication Structures
RS_TRANSTRU_ACTIVATE_ALL Activate Transfer Structure
RSAU_UPDR_REACTIVATE_ALL Activate Update Rules
RRHI_HIERARCHY_ACTIVATE Activate Hierarchies
SAP_AGGREGATES_ACTIVATE_FILL Activating and Filling the Aggregates of an InfoCube
SAP_AGGREGATES_DEACTIVATE Deactivating the Aggregates of an InfoCube
RS_PERS_ACTIVATE Activating Personalization in Bex(Inactive are highlighted)
RSSM_SET_REPAIR_FULL_FLAG Convert Full Requests to Repair Full Requests
SAP_INFOCUBE_DESIGNS Print a List of Cubes in The System and Their Layouts
SAP_ANALYZE_ALL_INFOCUBES Create DB Statstics for all InfoCubes
SAP_CREATE_E_FACTTABLES Create Missing E-Fact Tables for InfoCubes and Aggregates
SAP_DROP_EMPTY_FPARTITIONS Locate/Remove Unused or Empty partitions of F-Fact Table
SAP_DROP_TMPTABLES Remove Temperory Database Objects

Function Modules within BW.

Function Module Description (Function Group RRMX)
RRMX_WORKBOOK_DELETE Delete BW Workbooks permanently from Roles & Favourites
RRMX_WORKBOOK_LIST_GET Get list of all Workbooks
RRMX_WORKBOOK_QUERIES_GET Get list of queries in a workbook
RRMX_QUERY_WHERE_USED_GET Lists where a query has been used
RRMX_JUMP_TARGET_GET Get list of all Jump Targets
RRMX_JUMP_TARGET_DELETE Delete Jump Targets

Function Module Description
MONI_TIME_CONVERT Used for Time Conversions.
CONVERT_TO_LOCAL_CURRENCY Convert Foreign Currency to Local Currecny.
CONVERT_TO_FOREIGN_CURRENCY Convert Local Currency to Foreign Currency.
TERM_TRANSLATE_TO_UPPER_CASE Used to convert all texts to UPPERCASE
UNIT_CONVERSION_SIMPLE Used to convert any unit to another unit. (Ref. table : T006)
TZ_GLOBAL_TO_LOCAL Used to convert timestamp to local time
FISCPER_FROM_CALMONTH_CALC Convert 0CALMONTH or 0CALDAY to Financial Year or Period
RSAX_BIW_GET_DATA_SIMPLE Generic Extraction via Function Module
RSAU_READ_MASTER_DATA Used in Data Transformations to read master data InfoObjects

 RSPC_CHAIN_ACTIVATE_REMOTE

RSIMPCURR -- To Transfer Exchange Rates
RSIMPCUST -- To Transfer Global Settings from source system
RS_TRANSTRU_ACTIVATE_ALL -- To Activate Transfer Rules
-- Useful whenever we need to activate transfer rules in Quality or Production system after transports. 

RSAU_UPDR_REACTIVATE_ALL -- To Activate Update Rules
SAP_CONVERT_TO_TRANSACTIONAL -- To change Basic Cube to Transactional Cube
RSAR_PSA_CLEANUP_DIRECTORY -- To Clean PSA and Change log
SAP_INFOCUBE_DESIGN -- 
To know statistics(Size) of Cubes
-- 
Useful to know the size of Fact Tables and Dimension Tables
RSSM_SET_REPAIR_FULL_FLAG -- 
To change request status from Full load to repair full
-- Useful to start delta loads, If full loads are already present in data target from same data source
RSDDS_AGGREGATES_MAINTAIN -- For Hierarchy/Attribute Change run
RSDDS_CHANGERUN_MONITOR -- To Check Change run Status

RSDG_ODSO_ACTIVATE -- To Activate ODS in background. very much useful when BEx reporting switched on.
RSDG_IOBJ_ACTIVATE -- To Activate Infoobjects(Mass Activation)
RSDG_MPRO_ACTIVATE -- To Activate MultiProviders
RSDG_CUBE_ACTIVATE -- Activation of InfoCubes
RS_COMSTRU_ACTIVATE_ALL -- Activate all inactive communication structures 
RSCONN07 - SAP Connect Administration(System Status)
RSAOS_METADATA_UPLOAD_BATCH -- To replicate single datasource from Source(R/3) 

RSDRD_DELETE_FACTS -- To delete data selectively from infoprovider(ODS or CUBE)
RSAR_LOGICAL_SYSTEMS_ACTIVATE -- Activate All SAP Source Systems (After BW Upgrade)
RSDS_DATASOURCE_ACTIVATE_ALL -- Activate All DataSources of a Log System
RSTCC_ACTIVATE_ADMIN_COCKPIT -- Perform all steps to activate the content for the BI Admin Cockpit
RSTCC_ACTIVATEADMINCOCKPIT_NEW -- Activate Content for the BI Admin Cockpit

RSDG_CUBE_ACTIVATE (InfoCube)
RSDG_IOBJ_ACTIVATE (InfoObject)
RSDG_MPRO_ACTIVATE (MultiProvider)
RSDG_ODSO_ACTIVATE (DSO)
RSQ_ISET_MASS_OPERATIONS (InfoSet - Requires client to be opened)
RSDS_DATASOURCE_ACTIVATE_ALL (DataSource)

RSDMD_DEL_MASTER_DATA

Удаление данных в кубе
RSSM_DELETE_REQUEST
RSDD_INFO_REQUID_DELETE


CALL FUNCTION 'RSAWB_MAINTAIN_DTA'
  EXPORTING
    i_method                         =  'DELDATA'
    I_DTA                              =  name_of_cube_or_dso
    I_DEL_DIMS                     =  'X' .


Использует таблицу rstran и класс cl_rstran_maintain для трансформация
Таблицы rsbkdtp AS a JOIN rsbkdtpstat и класс cl_rsbk_dtp для DTP

TableDescription
RSBKDTPBW: Data Transfer Process Header Data
RSBKDTPHDTP: Historic Versions
RSBKDTPSTATStatus Information on Data Transfer Process
RSBKDTPTTexts on Data Transfer Processes
RSBKDTPTHTexts on Data Transfer Processes
RSDDSTATDTPTable for WHM Statistics. Details DTP
RSOACUBE_DTPBW: OLTP Direct Access: Directory of Assigned Remote DTPs
RSBKDATAPAKSELDTP: Data Package Selections
RSBKSELECTSelections for DTP Request (Summary)
RSBKREQUESTDTP Request
RSBKREQUEST_VView of DTP Request
RSBKBPBreakpoints
RSBKDATAINFOInformation on DTP Runtime Buffers
RSBKDATAPAKIDDTP: Status Table for Data Packages
RSBKSUBSTEPProperties of Substeps in a DTP



TableDescription
RSTRANTransformation
RSTRANFIELDMapping of Rule Parameters - Structure Fields
RSTRANRULETransformation Rule
RSTRANSTEPROUTRule Type: Routine
RSTRANRULESTEPRule Steps for a Transformation Rule
RSTRANSTEPMAPMapping for Rule Step Within a Rule
RSLDPIO Links datasource to infopackages
RSLDPIOT InfoPackage Text Description
RSLDPRULE ABAP source code for InfoPackages
RSLDPSEL Hardcoded selections in InfoPackages
RSMONICDP Contains the request-id number by data target
RSPAKPOS List of InfoPackage Groups / InfoPackages
RSSELDONE InfoPackage selection and job program
RSREQDONE
RSLDTDONE
RSUICDONE

RSEC_DELETE_AUTHORIZATION - удаление значений из транзакции RSECADMIN. А то тут коллеко  по неопытности нагенерил понимаешь....