The document provides steps and working code for a sample application that will be developed during the SAP Fiori workshop. It includes details on DDIC objects, RFC functions, gateway service, and SAPUI5 project setup for entities like Airline, Connection, Flight, and Notes.
This document provides an overview of various SAP Basis administration transactions, including:
- SM02 to send messages to users logged into specific clients
- SM01 to lock/unlock transaction codes temporarily
- SM28 to check for errors during the SAP installation
- SM59 to maintain remote function calls for system communication
- SLICENSE to install SAP license certificates
- SCC4 to maintain client characteristics across clients
It also describes transactions for monitoring system status, work processes, users, updates, locks, batches, logs, traces, performance, database parameters, jobs, and more. The document serves as a guide to key transactions for administering and overseeing an SAP system.
The document provides steps and working code for a sample application that will be developed during the SAP Fiori workshop. It includes details on DDIC objects, RFC functions, gateway service, and SAPUI5 project setup for entities like Airline, Connection, Flight, and Notes.
This document provides an overview of various SAP Basis administration transactions, including:
- SM02 to send messages to users logged into specific clients
- SM01 to lock/unlock transaction codes temporarily
- SM28 to check for errors during the SAP installation
- SM59 to maintain remote function calls for system communication
- SLICENSE to install SAP license certificates
- SCC4 to maintain client characteristics across clients
It also describes transactions for monitoring system status, work processes, users, updates, locks, batches, logs, traces, performance, database parameters, jobs, and more. The document serves as a guide to key transactions for administering and overseeing an SAP system.
The document discusses configuration and monitoring of SAP CIF inbound and outbound queues. It describes how to configure the outbound scheduler SMQS and inbound scheduler SMQR, including registering destinations/queue names and setting parameters like MAXCONN, MAXTIME, and EXEMODE. It also provides transactions to monitor queue status and the schedulers, and discusses how the schedulers distribute workload across queues and servers.
This document discusses creating log entries in SAP, including entering start/end times, cycles, and log entry types. Standard fields are stored in log entry and measurement tables. Additional fields can be added using a business add-in. Log entries are created by selecting a logbook and entering key details. Related measurement documents and notifications can then be generated from the log entry. Log entry types define default statuses and which measurement documents are mandatory.
This document provides instructions for configuring various settings in SAP's Project System module, including:
1. Defining special characters, coding masks, and validation rules for project numbers.
2. Creating and maintaining project profiles to store default values and control parameters for new projects.
3. Configuring network types, profiles, numbering, and other settings for managing project networks.
4. Setting parameters for timescales, evaluation periods, and other options used in project planning boards and graphics.
The steps describe technical customizing activities like specifying length limits, indicator settings, default profiles, and other configuration options required to set up the Project System according to an organization's needs and processes.
This document provides an overview of Oracle Advanced Supply Chain Planning (ASCP) training. It outlines the intended audience, related training materials, and how to log into the Oracle Applications. It then describes the ASCP data flow and planning cycle. The document details how to set up important inventory item attributes, planning attributes, lead times, calendars, resources, routing, and supply chain parameters in Oracle Applications. It explains data collection methods and how to define, launch, and copy ASCP plans. The remainder of the document discusses using the Planner Workbench for analysis, simulations, and reports as well as frequently asked questions and constraint-based planning.
Creating attachments to work items or to user decisions in workflowsHicham Khallouki
This document discusses how to attach documents like PDF files to work items or user decision steps in SAP workflows. It provides code examples for creating a PDF output from an Adobe form, converting it to binary format, and using function modules to add it as an attachment. It also shows how to design a workflow with tasks to create the attachment and send it to a user decision step. The goal is to demonstrate a full example of programmatically generating and attaching documents to workflow tasks and steps.
This document provides an introduction to the Dynamic Item Processor (DIP) in SAP. The DIP is used to process cost- or quantity-based data between cost accounting and sales. Key applications include resource-related billing, results analysis, quotations for service orders, and pricing for projects. The document covers business processes, technical processes, customizing, and enhancements using customer exits. It also describes differences between SAP releases and the conversion from the old to new resource-related billing functionality.
This document provides an agenda for enabling and setting up framework personalizations in Oracle Applications. It discusses enabling administrative-level personalizations, tuning personalizations on and off, and enabling the "About this page" link. It also describes how to perform basic personalizations like hiding or disabling fields, changing field prompts, and intermediate personalizations like adding tips, buttons, rearranging regions, and reordering table columns. More advanced personalizations discussed include adding a column to a table, extending an existing region, and adding a descriptive flexfield. The document concludes with instructions for deploying framework personalizations by using the import/export functionality and the FND_PERZ_DOC_ROOT_PATH profile option.
Sap User Exit for Functional ConsultantAnkit Sharma
The R/3 enhancement concept allows you to add your own functionality to SAP’s standard business applications without having to modify the original applications. SAP creates customer exits for specific programs, screens, and menus within standard R/3 applications.
User Exits is slot provided by SAP in SAP standard program.
User exits (Function module exits) are exits developed by SAP.
Code for the function module is written by ABAP Developer .
Developer does not write code directly in functional module , but in the INCLUDE that is implemented in the functional module.
This document provides an overview of Oracle's 11i Advanced Supply Chain Planning product. It discusses the traditional supply chain planning approach and its limitations. It then introduces Oracle's Advanced Planning solution, which uses optimization and constraints to help companies better plan their supply chain and more effectively meet business goals. The document outlines the key capabilities of Oracle's Advanced Planning solution and its component architecture. It also provides an overview of the planning business flow and data flow that the solution supports.
How to write a routine for 0 calday in infopackage selectionValko Arbalov
This document describes how to write an ABAP routine for 0CALDAY in an InfoPackage selection to load only data for a particular date from a source system into SAP BW/BI. It provides steps to create a flat file data source, define transformations and a data transfer process, add a routine to the InfoPackage, and write ABAP code that sets the selection date to system date minus one. Running a full load using the InfoPackage will then only import data for the day before the load date.
This article aims to provide a comprehensive knowledge and understanding of the Sub ledger accounting (SLA) in Oracle E-Business Suite (EBS) R12. It uncovers some of implementation tips and techniques and also shows how users can meet their financial and reporting needs using SLA.
The article highlights how to use SLA functionality to automate and control various scenarios using specific business rules.
Bdc program to upload material master data mm01 code gallery - community wikiLokesh Modem
This document describes a SAP BDC program that uploads material master data from an Excel file into transaction MM01. It defines data structures to store the uploaded data and material master fields. The program uploads the Excel file into an internal table, confirms with the user if they want to proceed, organizes the data into another internal table with modified row numbers, and then uses BDC functionality to process the data in transaction MM01 in batch mode.
This document provides guidance on planning and executing an SAP system landscape copy. It discusses reasons for copying landscapes such as development, testing, and backups. When copying multiple connected systems, ensuring data consistency and protecting the source systems is important. The document describes different copy scenarios depending on whether the target is a test or production system. It also discusses technologies for copying data and potential risks. The main phases of the copy procedure are outlined, including preliminary tasks, preparations, the copy process, and final activities on both the source and target environments.
This document provides steps to add a new object link to SAP DMS using the Service Entry Sheet object as an example. The steps include: 1) Creating a new function module and replacing source code. 2) Creating a new screen, copying an existing one, and replacing source code. 3) Adding a field to a structure if needed. 4) Inserting new entries for the object in key fields, screens for object links, and define document types menus. Following these steps allows any object without an existing object link to have one added.
This document explains how to use a customer exit variable in SAP BW/BI reports to display month-to-date data based on the current date. It describes creating a variable to return the first day of the current or previous month, writing ABAP code to calculate this date, testing the code, designing a sample report, and executing the report to view the results.
This document provides an overview of SAP testing. It explains that many organizations implement SAP ERP software to efficiently manage business operations. SAP testing ensures the functionality of various SAP modules, like materials management, financials, sales and distribution, human resources, supply chain management, and plant management, perform as configured. The document outlines different types of SAP testing including unit testing, system testing, integration testing, user acceptance testing, load testing, and regression testing. It also discusses SAP test automation tools.
Prepare for your interview with these top 20 SAP SD interview questions. For more IT Profiles, Sample Resumes, Practice exams, Interview Questions, Live Training and more…visit ITLearnMore – Most Trusted Website for all Learning Needs by Students, Graduates and Working Professionals.
Looking to add weight to your resume? Check out for ITLearnmore for varied online IT courses at affordable prices intended for career boost. There is so much in store for both fresh graduates and professionals here. Hurry up..! Get updated with the current IT job market requirements and related courses. For more information visit http://www.ITLearnMore.com.
SAP Support Authorization Danışmanlık ServisiCore To Edge
Bu servis;
- Yeni SAP İş Ortağı olmuş ve Lisans Bakım Yetkisi olmayan VAR tipi İş Ortakları
- SAP İş Ortağı olup Lisans Bakım Yetkisi olmayan, sertifikasyon yenileme zamanı gelen (2 yılda bir yenilenir) veya farklı bir ürün için Lisans Bakım Yetkisi talep eden VAR tipi İş Ortakları
için, aşağıdaki Lisans Bakım Desteklerinin alınmasını sağlamak üzere gerekli tüm kurulum (Bulut veya Kurum İçi) ve destek hizmetlerini içermek üzere oluşturulmuştur:
-BAiO Support Authorization
-Hana Support Authorization
-DB&T Support Authorization
-Mobility Support Authorization
-Analytics Support Authorization
The document discusses configuration and monitoring of SAP CIF inbound and outbound queues. It describes how to configure the outbound scheduler SMQS and inbound scheduler SMQR, including registering destinations/queue names and setting parameters like MAXCONN, MAXTIME, and EXEMODE. It also provides transactions to monitor queue status and the schedulers, and discusses how the schedulers distribute workload across queues and servers.
This document discusses creating log entries in SAP, including entering start/end times, cycles, and log entry types. Standard fields are stored in log entry and measurement tables. Additional fields can be added using a business add-in. Log entries are created by selecting a logbook and entering key details. Related measurement documents and notifications can then be generated from the log entry. Log entry types define default statuses and which measurement documents are mandatory.
This document provides instructions for configuring various settings in SAP's Project System module, including:
1. Defining special characters, coding masks, and validation rules for project numbers.
2. Creating and maintaining project profiles to store default values and control parameters for new projects.
3. Configuring network types, profiles, numbering, and other settings for managing project networks.
4. Setting parameters for timescales, evaluation periods, and other options used in project planning boards and graphics.
The steps describe technical customizing activities like specifying length limits, indicator settings, default profiles, and other configuration options required to set up the Project System according to an organization's needs and processes.
This document provides an overview of Oracle Advanced Supply Chain Planning (ASCP) training. It outlines the intended audience, related training materials, and how to log into the Oracle Applications. It then describes the ASCP data flow and planning cycle. The document details how to set up important inventory item attributes, planning attributes, lead times, calendars, resources, routing, and supply chain parameters in Oracle Applications. It explains data collection methods and how to define, launch, and copy ASCP plans. The remainder of the document discusses using the Planner Workbench for analysis, simulations, and reports as well as frequently asked questions and constraint-based planning.
Creating attachments to work items or to user decisions in workflowsHicham Khallouki
This document discusses how to attach documents like PDF files to work items or user decision steps in SAP workflows. It provides code examples for creating a PDF output from an Adobe form, converting it to binary format, and using function modules to add it as an attachment. It also shows how to design a workflow with tasks to create the attachment and send it to a user decision step. The goal is to demonstrate a full example of programmatically generating and attaching documents to workflow tasks and steps.
This document provides an introduction to the Dynamic Item Processor (DIP) in SAP. The DIP is used to process cost- or quantity-based data between cost accounting and sales. Key applications include resource-related billing, results analysis, quotations for service orders, and pricing for projects. The document covers business processes, technical processes, customizing, and enhancements using customer exits. It also describes differences between SAP releases and the conversion from the old to new resource-related billing functionality.
This document provides an agenda for enabling and setting up framework personalizations in Oracle Applications. It discusses enabling administrative-level personalizations, tuning personalizations on and off, and enabling the "About this page" link. It also describes how to perform basic personalizations like hiding or disabling fields, changing field prompts, and intermediate personalizations like adding tips, buttons, rearranging regions, and reordering table columns. More advanced personalizations discussed include adding a column to a table, extending an existing region, and adding a descriptive flexfield. The document concludes with instructions for deploying framework personalizations by using the import/export functionality and the FND_PERZ_DOC_ROOT_PATH profile option.
Sap User Exit for Functional ConsultantAnkit Sharma
The R/3 enhancement concept allows you to add your own functionality to SAP’s standard business applications without having to modify the original applications. SAP creates customer exits for specific programs, screens, and menus within standard R/3 applications.
User Exits is slot provided by SAP in SAP standard program.
User exits (Function module exits) are exits developed by SAP.
Code for the function module is written by ABAP Developer .
Developer does not write code directly in functional module , but in the INCLUDE that is implemented in the functional module.
This document provides an overview of Oracle's 11i Advanced Supply Chain Planning product. It discusses the traditional supply chain planning approach and its limitations. It then introduces Oracle's Advanced Planning solution, which uses optimization and constraints to help companies better plan their supply chain and more effectively meet business goals. The document outlines the key capabilities of Oracle's Advanced Planning solution and its component architecture. It also provides an overview of the planning business flow and data flow that the solution supports.
How to write a routine for 0 calday in infopackage selectionValko Arbalov
This document describes how to write an ABAP routine for 0CALDAY in an InfoPackage selection to load only data for a particular date from a source system into SAP BW/BI. It provides steps to create a flat file data source, define transformations and a data transfer process, add a routine to the InfoPackage, and write ABAP code that sets the selection date to system date minus one. Running a full load using the InfoPackage will then only import data for the day before the load date.
This article aims to provide a comprehensive knowledge and understanding of the Sub ledger accounting (SLA) in Oracle E-Business Suite (EBS) R12. It uncovers some of implementation tips and techniques and also shows how users can meet their financial and reporting needs using SLA.
The article highlights how to use SLA functionality to automate and control various scenarios using specific business rules.
Bdc program to upload material master data mm01 code gallery - community wikiLokesh Modem
This document describes a SAP BDC program that uploads material master data from an Excel file into transaction MM01. It defines data structures to store the uploaded data and material master fields. The program uploads the Excel file into an internal table, confirms with the user if they want to proceed, organizes the data into another internal table with modified row numbers, and then uses BDC functionality to process the data in transaction MM01 in batch mode.
This document provides guidance on planning and executing an SAP system landscape copy. It discusses reasons for copying landscapes such as development, testing, and backups. When copying multiple connected systems, ensuring data consistency and protecting the source systems is important. The document describes different copy scenarios depending on whether the target is a test or production system. It also discusses technologies for copying data and potential risks. The main phases of the copy procedure are outlined, including preliminary tasks, preparations, the copy process, and final activities on both the source and target environments.
This document provides steps to add a new object link to SAP DMS using the Service Entry Sheet object as an example. The steps include: 1) Creating a new function module and replacing source code. 2) Creating a new screen, copying an existing one, and replacing source code. 3) Adding a field to a structure if needed. 4) Inserting new entries for the object in key fields, screens for object links, and define document types menus. Following these steps allows any object without an existing object link to have one added.
This document explains how to use a customer exit variable in SAP BW/BI reports to display month-to-date data based on the current date. It describes creating a variable to return the first day of the current or previous month, writing ABAP code to calculate this date, testing the code, designing a sample report, and executing the report to view the results.
This document provides an overview of SAP testing. It explains that many organizations implement SAP ERP software to efficiently manage business operations. SAP testing ensures the functionality of various SAP modules, like materials management, financials, sales and distribution, human resources, supply chain management, and plant management, perform as configured. The document outlines different types of SAP testing including unit testing, system testing, integration testing, user acceptance testing, load testing, and regression testing. It also discusses SAP test automation tools.
Prepare for your interview with these top 20 SAP SD interview questions. For more IT Profiles, Sample Resumes, Practice exams, Interview Questions, Live Training and more…visit ITLearnMore – Most Trusted Website for all Learning Needs by Students, Graduates and Working Professionals.
Looking to add weight to your resume? Check out for ITLearnmore for varied online IT courses at affordable prices intended for career boost. There is so much in store for both fresh graduates and professionals here. Hurry up..! Get updated with the current IT job market requirements and related courses. For more information visit http://www.ITLearnMore.com.
SAP Support Authorization Danışmanlık ServisiCore To Edge
Bu servis;
- Yeni SAP İş Ortağı olmuş ve Lisans Bakım Yetkisi olmayan VAR tipi İş Ortakları
- SAP İş Ortağı olup Lisans Bakım Yetkisi olmayan, sertifikasyon yenileme zamanı gelen (2 yılda bir yenilenir) veya farklı bir ürün için Lisans Bakım Yetkisi talep eden VAR tipi İş Ortakları
için, aşağıdaki Lisans Bakım Desteklerinin alınmasını sağlamak üzere gerekli tüm kurulum (Bulut veya Kurum İçi) ve destek hizmetlerini içermek üzere oluşturulmuştur:
-BAiO Support Authorization
-Hana Support Authorization
-DB&T Support Authorization
-Mobility Support Authorization
-Analytics Support Authorization
Bu sunum, tüm dünyadaki kurumsal seviyedeki Postgres kurulumlarına bir bakış atarak anahtar kullanım alışkanlıklarını belirleyen ve performans, ölçeklenebilirlik ve yüksek bulunurluk konusundaki önemli yaklaşımları ortaya çıkartacaktır. Bu sunum aynı zamanda aşağıdakileri de anlatacaktır:
- Kurumların, veritabanı sunucularını konuşlandırırken ve bakımları esnasında ilk aşamalarda en sık yaşadıkları sorunlar
- Üretim ortamındaki veritabanlarının başarımını arttırmak için en sık kullanılan parametrelerin açıklamaları
- En çok sorun çıkartan bakım süreçleri ve yapılandırma parametreleri
- En sık kullanılan veritabanı kurtarma ve yedekleme stratejileri
Growth Hacking İstanbul 2017 programında Pegasus'ta dijital büyüme yöneticisi Emre Güney'in gerçekleştirmiş olduğunu sunumu inceleyebilirsiniz.
Growth Hacking İstanbul programı hakkında daha fazla bilgi almak için internet sitemizi http://growthhacking.istanbul adresinden ziyaret edebilirsiniz.
Bu Türkçe dokümanda, SPSS ile T-Test, Anova Test, Factor Analysis, Regression gibi yaygın işlemlerin nasıl yapıldığını açıklıyorum. Bu doküman, doktora yıllarımdaki çalışma notlarımı içermektedir.
Correlation Between Proper Training / Involvement and ERP Acceptance and the ...Dr. Kerem Koseoglu
This document discusses how training, involvement, ability, and willingness affect user acceptance and utilization of new ERP systems. It hypothesizes that:
1) Perceived ease of use of an ERP system will positively affect utilization.
2) Higher quality training will positively affect perceived ease of use.
3) Higher levels of involvement will positively affect perceived ease of use.
4) Ability and willingness moderate the relationships between training/involvement and perceived ease of use. The study will test these hypotheses through questionnaires and statistical analysis of ERP users.
This document contains notes for an organizational behavior exam. It includes outlines of topics like the history and approaches of OB, values and attitudes, personality and emotions, perception and decision making, motivation, groups, communication, and leadership theories. The notes cover concepts such as job satisfaction, personality traits, psychological capital, perception, decision making, motivation theories, roles, group dynamics, leadership styles, and management philosophies throughout history.
1. Dr. Kerem Koseoglu
Bu doküman, SAP BRF+ ürününü anlamak ve kullanabilmek için gereken notları
içermektedir.
h t t p : / / k e r e m . k o s e o g l u . i n f o
h t t p : / / w w w . t e s u j i . b i z
SAP BRF+
2. 2 SAP BRF+
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Table of Contents
Kavramlar............................................................................................................................ 4
BRF+.................................................................................................................................................................................4
Application.....................................................................................................................................................................6
Genel Bakış................................................................................................................................................................6
Faydalı Araçlar........................................................................................................................................................8
Application Exit....................................................................................................................................................10
Catalog..........................................................................................................................................................................10
Function.......................................................................................................................................................................11
Genel Bakış.............................................................................................................................................................11
ÇalışmaModları...................................................................................................................................................13
Fonksiyonu Programdan Çağırmak.............................................................................................................15
Fonksiyonu Debug Etmek.................................................................................................................................20
Data Object..................................................................................................................................................................20
Element....................................................................................................................................................................20
Structure.................................................................................................................................................................24
Table.........................................................................................................................................................................25
Expression ..................................................................................................................................................................25
Constant..................................................................................................................................................................26
Decision Table.......................................................................................................................................................27
Formula...................................................................................................................................................................29
Function Call.........................................................................................................................................................30
Loop..........................................................................................................................................................................31
Table Operation...................................................................................................................................................31
Procedure Call......................................................................................................................................................32
Random Number..................................................................................................................................................32
Decision Tree.........................................................................................................................................................33
Case...........................................................................................................................................................................34
DiğerExpression Türleri...................................................................................................................................34
Rule................................................................................................................................................................................34
Ruleset..........................................................................................................................................................................37
Ruleset Element....................................................................................................................................................39
Ruleset Rule...........................................................................................................................................................40
Final..........................................................................................................................................................................41
Action............................................................................................................................................................................42
Log Message..........................................................................................................................................................42
Procedure Call......................................................................................................................................................43
Diğer Aksiyonlar..................................................................................................................................................43
Genişletme / Kişiselleştirme............................................................................................ 44
BRF+ Nesnelerini Z’li Programda Göstermek .............................................................................................44
BRF+ Görünümlerini Kişiselleştirme..............................................................................................................44
Örnek Kodlar..................................................................................................................... 45
Dinamik İşlemler......................................................................................................................................................45
Application Yaratmak.......................................................................................................................................45
Fonksiyon Yaratmak..........................................................................................................................................46
Data Object Yaratmak.......................................................................................................................................46
Ruleset Yaratmak................................................................................................................................................47
3. SAP BRF+ 3
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Ruleset Değişkenlerini Tanımlamak............................................................................................................48
4. 4 SAP BRF+
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Kavramlar
BRF+
Rule’ları barındırmak + işlemek için Framework. Business kurallarını kodun içine
ABAP’la IF / Case ile yazmak yerine, BRF+’ta Customize edilebilir şekilde ifade
ediyoruz. Bu kurallar ABAP programından çağırılabiliyor ve Power User tarafından
uyarlama gibi değiştirilebiliyor.
Kullanım mimarisi:
5. SAP BRF+ 5
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Avantajları:
SAP Netweaver 7.0’dan beri var (2006). SAP TM, SAM CRM ve SAP Business By
Design içinde kullanılıyor.
Kullanabilmek için; en az SAP Netweaver 7.0 Enhancement PAck 2 gerekiyor. SICF’te
aşağıdaki servislerin etkinleştirilmesi lazım:
/SAP/BC/WEBDYNPRO/SAP/ FDT_WD_WORKBENCH
6. 6 SAP BRF+
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
/SAP/BC/WEBDYNPRO/SAP/ FDT_WD_OBJECT_MANAGER
/SAP/BC/WEBDYNPRO/SAP/ FDT_WD_CATALOG_BROWSER
BRF+’a erişim için, FDT_WORKBENCHişlem kodu kullanılır. Gerekli Authorization’lar:
Authority
Object
Field Remark
S_TCODE TCD = ‘FDT_WORKBENCH’
This authority check is only executed if you use
the transaction FDT_WORKBENCH.
FDT_OBJECT
FDT_ACT (Activity)
FDT_OBJTYP (Object Type)
FDT_APPL (Application)
You can define the allowed activities (for
example, Create, Change) for an object. It is
also possible to specify the application and the
object type.
FDT_WORKB
FDT_WB_ACT (Workbench
Activity)
This authority object defines the general access
to the workbench (Activity: Start Workbe
Application
Genel Bakış
Tüm BRF+ nesneleri için Container.
Workbench Create Application menüsü ile yaratılır.
7. SAP BRF+ 7
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Application türleri:
Customizing: Power User’ın değişiklikleri Client’a bağlıdır. Uyarlama olarak ele
alınır.
Master data: Tüm değişiklikler yereldir, taşınamaz.
8. 8 SAP BRF+
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
System: Kimse değişiklik yapamaz. Değişiklikler ancak Workbench Request ile
taşınabilir.
Faydalı Araçlar
Application Usage: Bu Application’u kimler kullanmış – Where Used List
Application Cleanup – Extended Program Check gibi
Simulation: Uygulamayı ön planda deneme modunda çalıştırma
9. SAP BRF+ 9
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Web Service Generation – Uygulamayı servis olarak yayınlama
10. 10 SAP BRF+
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Application Exit
Application içerisinde, aynen User Exit veya BADI gibi, uygulamanın çalışmasına ABAP
müdahelesi gerektiği durumlarda kullanılır. Detaylar: http://scn.sap.com/docs/DOC-4564
Application Exit Method Description
AUTHORITY_CHECK
If an object is accessed or shall be manipulated, BRFplus
performs an authority check first.
This exit allows to enhance or even completely replace the
default authority checks of BRFplus.
CHECK
This method is called whenever a BRFplus object is checked
for consistency. Additional checks may be implemented within
this exit. The exit also affects the possibility to activate an
object. (see below)
ACTIVATION_VETO
Before a BRFplus object can be activated, it needs to be in a
consistent state and is therefore checked accordingly. With the
activation veto exit it is possible to prohibit the activation also
due to other aspects like external dependencies, that might
even only be of temporary nature.
CHANGE_NOTIFICATION
This exit sends a notification if an object is changed. This might
e.g. be used for an automatic update of a dependent BRFplus
object.
SAVE_NOTIFICATION
This exit simply gives a notification, if an object is saved.
This might e.g. be used for an automatic update of a
dependent BRFplus object.
GET_ELEMENT_VALUES
With this exit it is possible to define a dynamically retrieved list
of valid values for a data element in BRFplus.
GET_FORMULA_FUNCTIONALS
With this application exit the functions that are available for
formula expressions can be set. It is possible to restrict the list
of standard functions but also to add custom defined functions .
GET_CHANGEABILITY
With this application exit the changeability of customizing
objects can be altered.
GET_CALENDAR
This application exit can define the usage of a specific calendar
for date and time related operations.
The exit is currently not relevant for NW70x releases. It is only
used for special application platform systems based on NW710
or higher.
Catalog
Farklı Application’lardaki nesneler; kullanıcılar tarafından rahat ulaşılabilsin diye
Catalog’lar içinde toparlanabilir.
11. SAP BRF+ 11
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Function
Genel Bakış
BRF+ ile ABAP programları arasındaki köprüdür.
Input —> Expressions + Rulesets —> Output mantığıyla çalışan bir bloktor. Bir
Application altında pek çok Function olabilir. Function’un arkasında sınıf Method’ları
türetilir.
12. 12 SAP BRF+
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Aldığı parametreler, Signature kısmında tanımlanır:
Fonksiyon; ABAP’tan çağırılmanın yanı sıra, Web Service olarak da yayınlanabilir veya
doğrudan ön ekranda da simule edilebilmektedir.
13. SAP BRF+ 13
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Çalışma Modları
Functional Mode: Bildiğimiz fonksiyon gibi; parametre alır, işler ve sonuç döndürür.
Simple Use-Cases için uygundur.
14. 14 SAP BRF+
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Event Mode: Rule Logic doğrudan fonksiyon içinde yer almaz. Bunun yerine, fonksiyon
bir Event tetikler ve bu Event’I dinleyen bir/birkaç Ruleset işlenir. Bu Ruleset’ler; tipik
olarak Context değerlerini değiştirir ve aksiyonlar başlatır. Bu mod; genelde doğrudan
sonuç beklenmeyen karışık Use Case’ler için kullanılır. Örnek: Kredi kartına başvuran
kişi için risk faktörü hesaplama.
Functional and Event Mode: İkisinin karışımıdır. Önce basit bir Functional Mode çalışır,
akabinde Event Mode gibi Ruleset’ler işlenir.
15. SAP BRF+ 15
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Fonksiyonu Programdan Çağırmak
Hello World:
DATA: lo_function TYPE REF TO if_fdt_function,
lo_context TYPE REF TO if_fdt_context,
lo_result TYPE REF TO if_fdt_result,
lv_result_string TYPE string,
lx_fdt TYPE REF TO cx_fdt.
FIELD-SYMBOLS: <ls_message> TYPE if_fdt_types=>s_message.
CONSTANTS: lc_fct_id TYPE if_fdt_types=>id
VALUE ‘00145EF41CBA02DDA8819E3B1652013A’.
TRY.
lo_function = cl_fdt_factory=>get_instance( )->get_function(
iv_id = lc_fct_id ).
lo_context = lo_function->get_process_context( ).
lo_context->set_value( iv_name = ‘INPUT’
ia_value = ‘Hello World’ ).
lo_function->process( EXPORTING io_context = lo_context
IMPORTING eo_result = lo_result ).
lo_result->get_value( IMPORTING ea_value =
lv_result_string ).
CATCH cx_fdt_processing.
lv_result_string = ‘PROCESSING ERROR!’.
CATCH cx_fdt INTO lx_fdt.
LOOP AT lx_fdt->mt_message ASSIGNING <ls_message>.
WRITE: / <ls_message>-text.
ENDLOOP.
ENDTRY.
WRITE:/ ‘The result is : ‘ , lv_result_string.
Örnek 1:
* Get singleton instance of the FDT factory.
16. 16 SAP BRF+
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
lo_factory = cl_fdt_factory=>if_fdt_factory~get_instance( ).
* get the function GUID according function name
ets_object_id = cl_fdt_persistence=>get_ids(
iv_object_type = 'FU'
iv_name = ‘ZDEMO_PRICING_FUNC’ ).
* get the function object
lo_function = lo_factory->get_function( id_result ).
* Context itself
lo_context = lo_function->get_process_context( ).
* Pass the input parameter values
lo_context->set_value(
iv_name = ‘CUSTOMER' "Customer
ia_value = lv_customer ).
lo_context->set_value(
iv_name = 'ITEM' "Item
ia_value = iv_item ).
lo_context->set_value(
iv_name = 'PRICE’ "Price
ia_value = lv_price).
lo_context->set_value (
iv_name = 'PROMO' “Promo
ia_value = iv_promotion ).
* Call function and get result
lo_function->process (
EXPORTING io_context = lo_context
IMPORTING eo_result = lo_result ).
Örnek 2:
17. SAP BRF+ 17
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
DATA:
lo_function TYPE REF TO if_fdt_function,
lo_context TYPE REF TO if_fdt_context,
lo_result TYPE REF TO if_fdt_result,
lx_fdt TYPE REF TO cx_fdt,
lv_string type string.
FIELD-SYMBOLS <ls_message> TYPE if_fdt_types=>s_message.
lo_function =
cl_fdt_factory=>if_fdt_factory~get_instance(
)->get_function( iv_id = ‘00505683359D02EE98FC41EE6215CAA4’ ).
TRY.
lo_context = lo_function->get_process_context( ).
lo_context->set_value( iv_name = ‘CUSTOMER’
ia_value = ‘SAP’ ).
lo_context->set_value( iv_name = ‘ITEM’
ia_value = ‘Pencil’ ).
lo_context->set_value( iv_name = ‘PROMOTION’
ia_value = ‘ ‘ ).
lo_context->set_value( iv_name = ‘SHELF_PRICE’
ia_value = ‘10’ ).
lo_function->process( EXPORTING io_context = lo_context
IMPORTING eo_result = lo_result ).
lo_result->get_value( IMPORTING ea_value = lv_string ).
WRITE lv_string .
CATCH cx_fdt INTO lx_fdt.
LOOP AT lx_fdt->mt_message ASSIGNING <ls_message>.
WRITE / <ls_message>-text.
ENDLOOP.
ENDTRY.
Tam bir program örneği:
*---------------------------------------------------------------------*
* Report Z_BRFPLUS_TEST
*
*---------------------------------------------------------------------*
*
*
*---------------------------------------------------------------------*
18. 18 SAP BRF+
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
REPORT z_brfplus_test.
PARAMETERS: p_salary TYPE amount.
DATA: lo_fuction TYPE REF TO if_fdt_function,
lo_context TYPE REF TO if_fdt_context,
lo_result TYPE REF TO if_fdt_result.
DATA: lo_message TYPE REF TO cx_fdt.
FIELD-SYMBOLS:
TYPE if_fdt_types=>s_message.
DATA: ls_tax TYPE if_fdt_types=>element_amount,
ls_salary TYPE if_fdt_types=>element_amount.
START-OF-SELECTION.
CLEAR: ls_tax.
ls_salary-number = p_salary.
ls_salary-currency = 'EUR'.
TRY .
" Get BRFplus function
lo_fuction ?= cl_fdt_factory=>if_fdt_factory~get_instance( )-
>get_function( 'D4AE52BE7EF21ED284F8C146EFF7943E' ).
" Set the BRFplus function context ( input variables )
lo_context = lo_fuction->get_process_context( ).
lo_context->set_value( iv_name = 'GROSS_SALARY' ia_value =
ls_salary ).
" Process the BRFplus function
lo_fuction->process( EXPORTING io_context = lo_context
IMPORTING eo_result = lo_result ).
" Retrieve the BRFplus function result
lo_result->get_value( IMPORTING ea_value = ls_tax ).
WRITE ls_tax-number.
WRITE ls_tax-currency.
CATCH cx_fdt INTO lo_message.
LOOP AT lo_message->mt_message ASSIGNING .
WRITE: -text.
ENDLOOP.
ENDTRY.
Bu programdaki GUID, fonksiyonun GENERAL Tab’ından alınabilir.
19. SAP BRF+ 19
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Simülasyon ekranı:
SE38 ekranı:
20. 20 SAP BRF+
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Web Dynpro’dan çağırma örneği için: http://scn.sap.com/docs/DOC-4578
Fonksiyonu Debug Etmek
BRF+ fonksiyonunu Debug etmek için,
CL_FDT_FUNCTION=>IF_FDT_FUNCTION~PROCESS Method’una Break Point
koyulabilir.
Data Object
Bir veriyi tarif etmek için kullanılır, yani veri tipidir. 3 temel Data Object türü vardır:
Element, Structure, Table.
Element
Element için kullanılabilecek hazır türler:
Data Object Description
TEXT Text type without restrictions.
21. SAP BRF+ 21
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
NUMBER Number type without restrictions
BOOLEAN Boolean type without restrictions
AMOUNT Amount type without restrictions
QUANTITY Quantity type without restrictions
TIMEPOINT Timepoint type without restrictions
TIMESTAMP
Timepoint of type Universal Time Coordinated (UTC) timestamp, including
date and time
DATE_TIME Timepoint of type date and time (local)
DATE Timpoint of type date
TIME Timepoint of type time
USER_NAME Text type, bound to DDIC type SYUNAME
BACKGROUND Boolean type, bound to DDIC type SYBATCH
ACTION Text type, intended to store IDs of actions
Type
Length
(max.)
Decimals
(max.)
Only
Positive
Dimension
BRFplus
Type in IF_
FDT_TYPES
ABAP Base
Types
Text 255 – – – ELEMENT_
TEXT
SSTRING
Number 31 10 x – ELEMENT_
NUMBER
DF34_RAW
Boolean – – – – ELEMENT_
BOOLEAN
CHAR1
Amount 31 – x – ELEMENT_
AMOUNT
DF34_RAW,
CHAR5
Quantity 31 10 x x ELEMENT_
QUANTITY
DF34_RAW,
CHAR3
Timepoint – – – – ELEMENT_
TIMEPOINT
DATS,TIMS,
TIMESTAMP
Bunun yanı sıra; Binding özelliği kullanılarak bir DDIC nesnesine referansla da
oluşturulabilir.
Tek bir Data Object yaratmak:
22. 22 SAP BRF+
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Aynı anda birkaç Data Object yaratma adımları:
23. SAP BRF+ 23
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
24. 24 SAP BRF+
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Bir Element için (Domain gibi) Fix değerler de verilebilir. Mesela Item’ın Computer,
Laptop veya Phone olabilmesini istiyoruz diyelim. Bu durumda; Item elementinin
“Domain Values” kısmına bu değerleri yazıyoruz.
Structure
ABAP’tan bildiğimiz Work Area veya SE11’deki Structure’dır.
25. SAP BRF+ 25
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Table
Belli bir Line Type türünde veri içeren ITAB.
Expression
Fonksiyonun içine doğrudan yazılabilen; 4 işlem, fonksiyon çağırma gibi işlemlerdir. If,
or, unless gibi koşulların arkasından değer hesaplayıp döndürebilir.
26. 26 SAP BRF+
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
BRFplus mimarisinde Expression’ların yeri:
Constant
En basit Expression türüdür. Fix bir değer barındırır.
27. SAP BRF+ 27
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Decision Table
Karar tablosudur. Arka arkaya birden fazla If’I peş peşe koymak yerine Decision Table
kullanılabilir.
Bitmiş bir Decision Table örneği:
Öncelikle; Decision Table sonucunda hesaplanacak olan Output değeri tanımlanır:
28. 28 SAP BRF+
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Akabinde, Decision Table koşullarında kullanılacak olan değişkenler tanımlanır:
29. SAP BRF+ 29
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Bu noktadan itibaren; her bir koşul için “Insert New Row…” diye diye değerleri
tanımlarız. Mesela; “Müşteri ABC ise ve Item Computer ise, %15 indirim uygula” diye
tanım yapılabilir.
Formula
Fonksiyonun herhangi bir yerinde kullanılabilen bir formüldür. Mesela, bir Rule içerisinde
bir değer hesaplamak istiyorsak bir formül kullanabiliriz.
30. 30 SAP BRF+
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Burada gördüğümüz işlemler (topla, çıkar, COS, SIN, vs) aslında ilgili sınıflardaki
Method’lardır:
İstersek kendimize özel fonksiyonlar da geliştirebiliriz. Detaylar:
http://scn.sap.com/docs/DOC-4582
Function Call
Bir Function içerisinden bir başka Function çağırmaya yarar.
31. SAP BRF+ 31
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Loop
Bildiğimiz döngü. 4 çeşit Loop vardır:
For Each
Repeat n times
Do Until
While Do
Table Operation
Context içerisindeki ITAB’ın verileriyle ilgili işlemlerdir. Çeşitleri:
32. 32 SAP BRF+
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Procedure Call
Static Method veya Function çağırmaya yarar (SE24 / SE37). Raw, X, Xstring ve
referans parametreler Map’lenemez.
Random Number
Gelişigüzel sayı üretmeye yarar. İki çeşidi vardır:
Bounded number: Verilen iki sayı arasında bir değer türetir (Decimal verilebilir)
Boolean: True veya False döndürür.
33. SAP BRF+ 33
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Decision Tree
Decision Table’ın daha karışık, iç içe Condition içeren hali
34. 34 SAP BRF+
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Case
ABAP Case gibi
Diğer Expression Türleri
Boolean
BRMS Connector: BRFplus harici Bir başka Rule Engine ile bağlantı. Detaylar:
http://scn.sap.com/docs/DOC-20056
Database Lookup: Doğrudan doğruya veritabanı okuması.
Random Number
Search Tree
Step Sequence
Value Range: Bir değer belli bir aralıkta mı değil mi?
XSL Transformation
Rule
Business Logic’in tarif edildiği yerdir. Bir fonksiyon içinde tek bir Rule olabileceği gibi,
Ruleset içerisinde birden fazla Rule da tarif edilebilir.
Rule yaratma örneği görelim; şu anda bir Ruleset’teyiz:
35. SAP BRF+ 35
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Burada karşımıza If… Then… Else… mantığında bir ekran gelecek.
Önce If koşulunu tanımlıyoruz:
36. 36 SAP BRF+
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Akabinde; Then kısmına istediğimiz şeyi yerleştirebiliriz. Bu örnekte, bir Formula
yerleştiriliyor. Bunun yerine; Decision Table gibi başka bir Expression da
yerleştirebilirdik.
37. SAP BRF+ 37
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Ruleset
Arka arkaya birden fazla Rule içerir. Bu Rule’ların işlenme Condition’larını da belirler
(öncelik, vs). Bir fonksiyona birden fazla Ruleset de konabilir.
RuleSet tanımlama ekranı:
38. 38 SAP BRF+
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Assign Function: Bu Ruleset’I barındıracak fonksiyon seçilir (sadece bir fonksiyona
ait olabilir).
Assign Precondition: Bu Ruleset’in etkinleşmesi için gereken koşullar
tanımlanabilir.
Bitmiş bir Ruleset:
39. SAP BRF+ 39
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Ruleset Element
Bu Ruleset içinde; aynen WorkFlow Container gibi, Element yaratabiliyoruz. Buna
Ruleset Variable deniyor.
Her bir değişkenin nasıl Initialize edileceğini de tanımlayabiliyoruz:
40. 40 SAP BRF+
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Ruleset Rule
Ruleset içinde çağırılacak her bir Rule’un bir Header bölümü vardır. Burada, Rule’un ne
zaman işleyeceğine dair koşullar verilir.
Ruleset içine peşi sıra yerleştirilmiş birkaç Rule, şu şekilde gözükecektir:
41. SAP BRF+ 41
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Görüldüğü gibi; Rule’lar arasına Exit Condition’lar da konabilmektedir. Bu şekilde, basit
uygulama mantıkları geliştirilebilir.
Final
Ruleset tanımlaması bittikten sonra; Enable Ruleset demeyi unutmuyoruz:
İçi dolu bir Ruleset örneği:
42. 42 SAP BRF+
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Action
Fonksiyon içerisinde yürütülecek işlemleri tanımlar.
Log Message
Application Log’a mesaj göndermeye yarar.
43. SAP BRF+ 43
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
Procedure Call
ABAP Method / Fonksiyon çağırma işlevidir.
Diğer Aksiyonlar
E-Posta gönderme
İş akışı başlatma / tetikleme.
o Tetikleme için örnek:
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/90109a5
3-d63e-2f10-1eb8-
dd45a1559c7a?QuickLink=index&overridelayout=true&53717156077789
44. 44 SAP BRF+
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
o İş akışı Interaction’u için örnek: http://scn.sap.com/docs/DOC-4568
Context Change: Context değişkenlerinin değerleriyle oynama
Genişletme / Kişiselleştirme
BRF+ Nesnelerini Z’li Programda Göstermek
BRF+ nesnelerini, kendi Z’li Web Dynpro uygulamalarımızda gösterebiliyoruz.
Detaylar: http://scn.sap.com/docs/DOC-4578
Bu başlık başta bana ilginç gelse de; kaynakları ve özellikle
"FDT_WD_DEMO_EMBED_UI" adlı Web Dynpro uygulamasını incelediğimde şunu
gördüm: Buradaki bütün hikaye, BRF kapsamında SAP tarafından geliştirilmiş olan
"BRF Object Viewer"ı Z'li Web Dynpro'ya gömmekten ibaret. Z'li Web Dynpro
uygulamamıza FDT_IWD_OBJECT_MANAGER'i dahil ediyoruz. Bunun içini de
inceledim - CL_FDT_WD_FACTORY=>IF_FDT_WD_FACTORY~GET_VIEWER( ) ile bir
Viewer alınıyor ve dönen Component Web Dynpro'ya gömülüyor. Bu sayede, ID'si
bilinen bir BRF+ nesnesini (fonksiyon, vs) Z'li Web Dynpro uygulamasında
görüntülemek mümkün oluyor.
Bu sayede; mesela Z'li bir uygulama ile ilgisi olan bir fonksiyonu, formülü, vs
Hotspot mantığında Web Dynpro ekranı içerisinde görüntülemek mümkün olur.
Yapılamayacak şey ise; Viewer'ın içerisine müdahele ederek kendi Z'li
Property'lerimizi, vs gömmek olur. Toolbar'ı gizlemek gibi basit şeyler yapılabilse
de; mesela Function'u gösteren ekranı Screen Exit mantığı ile modifiye edip kendi
özelliklerimizi ekleyebileceğimiz ve standart BRF ekranının sadece işimize geldiği
kadarını gösterebileceğimiz bir imkan algılayamadım. Viewer'da yapılabilecek basit
modifikasyonlar; SE24 -> IF_FDT_WD_CONFIGURATION Method'larında görülebilir;
"IF_FDT_WD_USER_CONFIGURATION~SET_*" diye başlayanlara bakabilirsiniz.
BRF+ Görünümlerini Kişiselleştirme
Farklı kullanıcıların BRF+ ekranında nelerle karşılaşacağını organize edebiliyoruz.
Detaylar: http://scn.sap.com/community/brm/blog/2012/12/18/controlling-the-
ui-appearance-of-the-brfplus-workbench
Simple / Expert Mode Harici Özel Mod: CL_FDT_WD_UI_SIMPLE_MODE sınıfından
yeni bir sınıf türeterek, kullanıcının ekranında nasıl bir görüntü istiyorsak onu
tanımlayabiliyoruz. Değiştirebileceğimiz parametreler, SE24 -
> IF_FDT_WD_USER_CONFIGURATION -> Attributes içerisinde görülebilir
(GC_PARAMETER* diye başlayanlar). Burada; sadece belli bir kataloğun açılmasını,
45. SAP BRF+ 45
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
ya da sadece belli nesnelerin gelmesini (örnek: ZBONUS_TURKEY_*) sağlamak
mümkün. Buradaki konfigürasyonu, akabinde (mesela) ZBRF diye bir işlem koduna
bağlayarak BRF+'taki Admin görüntüsü yerine basitleştirilmiş görüntünün
gelmesini sağlayabiliyoruz.
Object Filter: Object Filter'lar sayesinde ise; kullanıcıların karşısına gelecek +
değiştirebilecekleri nesneleri baştan tanımlayabiliyoruz. Mesela, sadece
ZBONUS_TURKEY_APP_* diye başlayan nesneler üzerinde işlem yapabilsinler
diyebiliyoruz.
Catalog: Son kullanıcı kataloğu yaratarak, sadece bakımı yapılabilecek nesneleri
listeletebiliyoruz.
Örnek Kodlar
Dinamik İşlemler
Application Yaratmak
DATA: lo_factory TYPE REF TO if_fdt_factory,
lo_application TYPE REF TO if_fdt_application,
lt_message TYPE if_fdt_types=>t_message,
lv_boolean TYPE abap_bool.
FIELD-SYMBOLS: <ls_message> TYPE if_fdt_types=>s_message.
lo_factory = cl_fdt_factory=>if_fdt_factory~get_instance( ).
lo_application = lo_factory->get_application( ).
lo_application->if_fdt_transaction~enqueue( ).
lo_application->set_development_package( ‘$TMP’ ).
lo_application->if_fdt_admin_data~set_name( ‘PRICING’ ).
lo_application->if_fdt_admin_data~set_texts(
iv_short_text = ‘Pricing’ ).
lo_application->if_fdt_transaction~activate(
IMPORTING et_message = lt_message
ev_activation_failed = lv_boolean ).
write_errors lt_message. “macro, which exits in case of error
lo_application->if_fdt_transaction~save( ).
lo_application->if_fdt_transaction~dequeue( ).
46. 46 SAP BRF+
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
“Get an application specific factory instance
lo_factory = cl_fdt_factory=>if_fdt_factory~get_instance(
iv_application_id = lo_application->mv_id ).
Fonksiyon Yaratmak
DATA: lo_function TYPE REF TO if_fdt_function,
lts_context_id TYPE if_fdt_types=>ts_object_id,
lv_result_id TYPE if_fdt_types=>id.
lo_function ?= lo_factory->get_function( ).
lo_function->if_fdt_transaction~enqueue( ).
lo_function->if_fdt_admin_data~set_name( ‘PRICE_CALCULATION’ ).
lo_function->if_fdt_admin_data~set_texts(
iv_short_text = ‘Price Calculation’ ).
lo_function->set_function_mode( if_fdt_function=>gc_mode_event ).
* code for context creation (lts_context_id) and result
* creation (lv_result_id) to be inserted here
lo_function->set_context_data_objects( lts_context_id ).
lo_function->set_result_data_object( lv_result_id ).
lo_function->if_fdt_transaction~activate(
EXPORTING iv_deep = abap_true
IMPORTING et_message = lt_message
ev_activation_failed = lv_boolean ).
write_errors lt_message. “>>> exit in case of error
lo_function->if_fdt_transaction~save(
EXPORTING iv_deep = abap_true ).
lo_function->if_fdt_transaction~dequeue(
EXPORTING iv_deep = abap_true ).
Data Object Yaratmak
Standart bir Data Object yaratan örnek kod:
DATA lo_element TYPE REF TO if_fdt_element.
47. SAP BRF+ 47
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
lo_element ?= lo_factory->get_data_object(
iv_data_object_type = if_fdt_constants=>gc_data_object_type_element ).
lo_element->if_fdt_transaction~enqueue( ).
lo_element->if_fdt_admin_data~set_name( ‘CUSTOMER’ ).
lo_element->if_fdt_admin_data~set_texts(
iv_short_text = ‘Customer’ ).
lo_element->set_element_type(
if_fdt_constants=>gc_element_type_text ).
lo_element->set_element_type_attributes( iv_length = 30 ).
INSERT lo_element->mv_id INTO TABLE lts_context_id.
Daha detaylı özellikler içeren bir Data Object yaratan örnek kod:
lo_element ?= lo_factory->get_data_object( iv_data_object_type =
if_fdt_constants=>gc_data_object_type_element ).
lo_element->if_fdt_transaction~enqueue( ). lo_element-
>if_fdt_admin_data~set_name( ‘FINAL_PRICE’ ). lo_element-
>if_fdt_admin_data~set_texts(
iv_short_text = ‘Final Price’ ). lo_element->set_element_type(
if_fdt_constants=>gc_element_type_number ). lo_element-
>set_element_type_attributes(
iv_length = 7 iv_decimals = 2 iv_only_positive = abap_true ).
lv_result_id = lo_element->mv_id.
Ruleset Yaratmak
Aşağıdaki kod 3 temel adımdan oluşmaktadır: Değişkenleri tanımlamak
(LTS_VARIABLE), Expression’ları tanımlamak (LTS_EXPRESSION), Rule’ları
tanımlamak (LTS_RULE)
DATA: lo_ruleset TYPE REF TO if_fdt_ruleset,
lts_rule TYPE if_fdt_ruleset=>ts_rule,
lts_variable TYPE if_fdt_ruleset=>ts_variable,
lts_expression TYPE if_fdt_ruleset=>ts_init_expr.
lo_factory = cl_fdt_factory=>if_fdt_factory~get_instance(
iv_application_id = ‘00505683359D02EE98FC41ECA7650AA3’ ).
lo_ruleset ?= lo_factory->get_ruleset( ).
lo_ruleset->if_fdt_transaction~enqueue( ).
48. 48 SAP BRF+
Dr. Kerem Köseoğlu Tesuji Consulting http://www.tesuji.biz
lo_ruleset->set_ruleset_switch(
iv_switch = if_fdt_ruleset=>gc_switch_on ).
lo_ruleset->if_fdt_admin_data~set_name(
‘PRICE_CALCULATION_RULES’ ).
lo_ruleset->if_fdt_admin_data~set_texts(
iv_short_text = ‘Price Calc. Rules’
iv_text = ‘Price Calculation Rules’ ).
lo_ruleset->set_function_restriction(
iv_function_id = ‘00505683359D02EE98FC41EE6215CAA4’ ).
* code for ruleset variables (lts_variable) to be inserted here
lo_ruleset->set_ruleset_variables( lts_variable ).
* code for ruleset initializations (lts_expression) to be
* inserted here
lo_ruleset->set_ruleset_initializations( lts_expression ).
* code for rules (lts_rule) to be inserted here
lo_ruleset->set_rules( lts_rule ).
lo_ruleset->if_fdt_transaction~activate(
EXPORTING iv_deep = abap_true
IMPORTING et_message = lt_message
ev_activation_failed = lv_boolean ).
write_errors lt_message. “>>> exit in case of error
lo_ruleset->if_fdt_transaction~save(
EXPORTING iv_deep = abap_true ).
lo_ruleset->if_fdt_transaction~dequeue(
EXPORTING iv_deep = abap_true ).
Ruleset Değişkenlerini Tanımlamak
Aşağıdaki örnekte; iki RuleSet değişkeni tanımlanmıştır.
DATA: lo_element TYPE REF TO if_fdt_element,
ls_variable TYPE if_fdt_ruleset=>s_variable,
lv_pro_discount TYPE if_fdt_types=>id,
lv_cus_discount TYPE if_fdt_types=>id.
lo_element ?=
lo_factory->get_data_object( iv_data_object_type =