Monday, December 4, 2023

SAP giới thiệu mã hỗ trợ AI trong ngôn ngữ ABAP riêng của mình

SAP đã ra mắt một loạt tính năng mã hỗ trợ AI trong môi trường phát triển ứng dụng dựa trên đám mây của mình, đồng thời tham gia vào danh sách các nhà cung cấp khác cũng thông báo về các tính năng tương tự. Tuy nhiên, các nhà phát triển và các chuyên gia cho biết họ lo ngại rằng công nghệ tương tự có thể không được áp dụng cho các hệ thống on-prem mà họ đang làm việc để di chuyển và nâng cấp lên đám mây.

SAP giới thiệu hai hình thức mã hỗ trợ AI. Đầu tiên là SAP Build Code, một tiện ích mở rộng của môi trường low-code SAP Build trong Nền tảng Công nghệ Doanh nghiệp (BTP) dựa trên đám mây. Sử dụng trợ lý AI Joule, hệ thống này được thiết kế để giúp tạo mô hình dữ liệu, logic ứng dụng và kịch bản kiểm thử bằng JavaScript và Java. Trong khi đó, ABAP Cloud Environment, công cụ phát triển dựa trên đám mây cho ngôn ngữ đặc thù của SAP, cũng đang nhận được mã hỗ trợ từ GenAI. Cả hai tính năng này đang trong giai đoạn xem trước và dự kiến ​​được ra mắt vào năm tới.


ABAP Cloud Environment thay thế Embedded Steampunk, một công cụ còn được gọi là SAP S/4HANA Cloud ABAP Environment, năm ngoái, như một cách củng cố thêm danh tiếng của SAP trước các các quy ước đặt tên rắc rối. SAP vừa kỷ niệm sinh nhật lần thứ 40 của ngôn ngữ ABAP của mình.


Juergen Mueller, giám đốc công nghệ của SAP, cho biết SAP Build Code mang lại trải nghiệm phát triển đơn giản hóa thông qua một sảnh đợi thống nhất trong BTP. "Điều này làm cho việc hợp tác giữa các nhà phát triển công dân (citizen developers) và các nhà phát triển chuyên nghiệp trở nên rất dễ dàng. Chúng tôi đang áp dụng khả năng tạo ra tự động thông qua trí tuệ nhân tạo để tăng năng suất của nhà phát triển", ông nói.


Ngoài Build Code, SAP cũng giới thiệu Hướng dẫn cho nhà phát triển SAP BTP và HLV SAP Build. Build Code và môi trường ABAP SAP BTP có thể được sử dụng cùng nhau để tạo ứng dụng và tiện ích mở rộng trong S/4HANA. "Việc làm điều đó đương nhiên là rất quan trọng trong bối cảnh chiến lược nhân tố lõi nhiệt tâm với S/4HANA", Juergen Mueller nói.


SAP khẳng định việc giữ cho hệ thống ERP cốt lõi của mình "trong sạch" sẽ làm cho việc nâng cấp dễ dàng hơn, trong khi việc tùy chỉnh các hệ thống cũ, bao gồm ECC, đã làm tăng độ phức tạp và làm cho việc nâng cấp khó khăn hơn.


Michael Ameling, giám đốc sản phẩm chính của SAP, cho biết mã SAP đã giới thiệu tính năng mã hỗ trợ trí tuệ nhân tạo (AI) trong ngôn ngữ ABAP riêng của họ. Tính năng này được áp dụng trong môi trường phát triển ứng dụng dựa trên đám mây của SAP. Tuy nhiên, các nhà phát triển lo ngại rằng công nghệ tương tự không sẽ có sẵn cho các hệ thống on-prem mà họ đang làm việc để chuyển đổi lên đám mây. Các tính năng mã hỗ trợ AI của SAP bao gồm SAP Build Code và ABAP Cloud Environment. Cả hai tính năng này đang trong giai đoạn xem trước và dự kiến ​​sẽ ra mắt vào năm tới. SAP cũng nhấn mạnh việc giữ cho hệ thống ERP cốt lõi của họ "trong sạch" sẽ làm cho việc nâng cấp dễ dàng hơn, trong khi việc tùy chỉnh các hệ thống cũ gây khó khăn cho quá trình nâng cấp.

Saturday, July 17, 2021

ZAL11 ( SAP Application File Explorer )

 This program extend AL11 basics functions :

 - Navigate in remote folders with graphic interface

 - Sort & filter your remote file/folder

 - Open remote file on your computer with default application

   (excel...), with your text editor or any application you want

 - Upload/download files by button or drag/drop

 - Manage file and folder (create, rename, remove, copy, move) with

   button and/or by drag&drop

 - Open server shortcut & path from clipboard

 - Manage server shortcut (create & delete)

 - Copy path (server/local) to clipboard

 - Compress remote file (TAR+BZ2)

 - Uncompress remote file (ZIP & TAR & GZ & BZ2)

 - CHMOD on file/folder (seem not work on folder)

 - Access to remote server //servername/path/ using copy/paste


 Customization :

   You could customize how the program work easily using the fields

   of the structure s_customize

   It allow you

   ¤ To define a root path to restrict user acces

   ¤ To change the displayed root name

   ¤ To calculate folder size automatically (take time for root)

   ¤ To display system path shortcuts (usefull for system admin)

   ¤ To define authorisation object

   You could also desactivate globally any function of this program

   by changing the s_auth default value


 Security purpose :

 - All modification on remote server require a user confirmation

   to avoid unwanted action

 - You can define a root path to restrict acces

 - You can manage which action is allowed by user


 This program is designed to run with a local pc under windows OS

 and a remote server under unix/linux or Windows compatible OS.

 If a different configuration is used, feel free to modify source code.


 In some case (when application server is fast) the read process

 after a remote server action give the old state of a folder

 To be sure than C_DIR_READ_ give the correct folder content

 a "wait up to 1 seconds" is added after each server action.


 It's a dirty trick...


 Special thanks to Kay Streubel for his help on the windows version

 Please send comment & improvements to http://quelquepart.biz

---------------------------------------------------------------------*

Reference:

http://quelquepart.biz

Wednesday, January 10, 2018

Operators in OOP

Operators in OOP

1. ME Operator in Methods

When you declare a variable of any type in public section of a class, you can use it in any other implementation. A variable can be declared with an initial value in public section. We may declare the variable again inside a method with a different value. When we write the variable inside the method, the system will print the changed value. To reflect the previous value of the variable, we have to use ‘ME’ operator.
In this program, we have declared a public variable text1 and initiated with a value. We have declared the same variable again, but instantiated with different value. Inside the method, we are writing that variable with ‘ME’ operator to get the previously initiated value. We get the changed value by declaring directly.

Example

Report ZMEOperator1.
CLASS class1 Definition.
  PUBLIC Section.

    Data text1 Type char25 Value 'This is CLASS Attribute'.
    Methods method1.
ENDCLASS.

CLASS class1 Implementation.
  Method method1.

    Data text1 Type char25 Value 'This is METHOD Attribute'.
    Write: / MEtext1,
           / text1.
  ENDMethod.
ENDCLASS.

Start-Of-Selection.
  Data objectx Type Ref To class1.
  Create Object objectx.
  CALL Method objectxmethod1.
The above code produces the following output −
This is CLASS Attribute
This is METHOD Attribute

2. Casting operator

?= is used to type cast an object reference of an inherited class to an object of the super class from which it is derived.
<object reference of parent class> ?= <object reference of inherited class>

Type casting helps you to refer several object references of sub classes whose type is resolved only at run time. The parent class object reference can hold the objects and often there would be a method of parent class which can be used to determine what sub class object the type cast reference is holding at run time.

Static Type and Dynamic Type
Each reference variable has a dynamic type and a static type.
  • The dynamic type is defined at run-time of the program (the type is defined when program is running), and is the data type of the data object or the class of the object to which the reference variable points. It determines the components contained in the object. The dynamic type of an initial data reference variable is the predefined generic type data. The dynamic type of an initial object reference variable is the predefined generic type object.
  • The static type is set with the declaration of the reference variable. In data references, the static type is either a non-generic data type or the predefined generic type data. In object references, the static type is either a class or an interface, so an object reference can also be referred to as a class reference or an interface reference.
The static type of a reference variable is always less specific or the same as the dynamic type.

Up Cast and Down Cast
In an assignment between reference variables, the target variable adopts the dynamic type of the source variable. An assignment is possible if the static type of the target variable is less specific or the same as the dynamic type of the source variable.

Up Cast
If the static type of the target variable is less specific or the same as the static type of the source variable, assignment is always possible. The name up cast arises from the fact that you are moving upwards within the inheritance space. As the target variable can accept more dynamic types in comparison to the source variable, this assignment is also know as a widening cast. An up cast is possible in all ABAP statements in which the content of a data object is assigned to another data object. This includes, for example, assignments with the normal assignment operator (=), the insertion of rows in internal tables, or passes from actual to formal parameters.

Down Cast

If the static type of the target variable is more specific than the static type of the source variable, you must check at runtime before the assignment is executed, whether it is less specific or the same as the dynamic type of the source variable. The name down cast arises from the fact that you are moving downwards in the inheritance space. Because the target variable can accept fewer dynamic types in comparison to the source variable, this assignment is also known as a narrowing cast. A down cast is only possible using the special assignment operator ?= (casting operator) or the statement MOVE ... ?TO .... If this prerequisite is not met, a handleable exception is raised and the reference variable keeps its original value.

Tuesday, December 19, 2017

Database Tables for PP

Table: SNUM  BOM explosion number

FieldData ElementData Typelength (Decimals)ChecktableDescription
MANDTMANDTCLNT3T000Client
SERNRSERNRCHAR8BOM explosion number
BRUTRBRUTRDATS8Fixed key date

By means of the BOM explosion number , you can define a common explosion date ( fixed key date) for all BOM levels. BOM explosion is then carried out with this fixed key date for all levels.
TECHSTECHSCHAR12Parameter Variant/Standard Variant
SONDBSONDBCHAR1Special stock allowed for the serial number
MATNRMATNRCHAR18MARAMaterial Number
WERKSWERKS_DCHAR4T001WPlant
SNTXTSNTXTCHAR40Short description of BOM explosion number
SNSTASNSTACHAR1BOM explosion number status
XLOEKXLOEKCHAR1Item is Deleted


Table: STKOB  BOM Header Document

Field
Component Type
Data Typelength (Decimals)ChecktableDescription
.INCLUDESTKOBOM Header
MANDTMANDTCLNT3T000Client
STLTYSTLTYCHAR1BOM category
STLNRSTNUMCHAR8Bill of material
STLALSTALTCHAR2Alternative BOM
STKOZCIM_COUNTNUMC8Internal counter
STKOB-DATUVDATUVDATS8Valid-From Date
TECHVTECHVCHAR12Technical status from
AENNRAENNRCHAR12AENRChange Number
LKENZLKENZCHAR1Deletion Indicator
LOEKZLOKNZCHAR1Deletion flag for BOMs
VGKZLVGKZLNUMC8Previous header counter
ANDATANDATDATS8Date record created on
ANNAMANNAMCHAR12User who created record
AEDATAEDATDATS8Changed On
AENAMAENAMCHAR12Name of Person Who Changed Object
BMEINBASMEUNIT3T006Base unit of measure for BOM
BMENGBASMNQUAN13(3)Base quantity
CADKZCADKZCHAR1CAD Indicator
LABORLABORCHAR3T024LLaboratory/design office
LTXSPLTXSP_CPLANG1T002Long Text Language, for Creation of a Change Document
STKTXSTKTXCHAR40Alternative BOM Text
STLSTSTLSTNUMC2T415SBOM status
WRKANWRKANCHAR4T001WPlant where BOM or alternative/variant created
DVDATDVDATDATS8Date of last date shift
DVNAMDVNAMCHAR12Name of the user who carried out the date shift
AEHLPCC_AEHLPNUMC2Date Shift Hierarchy Indicator
ALEKZCS_ALEKZCHAR1ALE indicator
GUIDXCS_GUIDBRAW16Global identification of a BOM header change status
ZFIELD32LAND1CHAR3
*
Country Key
ZFIELD33LIFNRCHAR10
*
Account Number of Vendor or Creditor
.INCLUDESTKOSSTKO - Details
LTXPSLTXPSINT410Long text working name
LTXVBLVBKZCHAR1Long text update indicator
VBKZVBKZCHAR1Update indicator
MVBKZVBKZCHAR1Update indicator
DATUBDATUBDATS8Valid-to date
AENRAAENRACHAR12
*
Change Number To
AENKZSAENKZCHAR1Change indicator
SELKZCSSELCHAR1Selection of valid records
KZDOCCS_KZDOCCHAR1Indicator: Maintain document assignment in BOM complete
EFRNKCC_EFRNKNUMC20ECM: level during explosion

Monday, November 27, 2017

Adobe Form Overview

Adobe Form is an interactive form in PDF that allow user to fill out the form in screen and save  entries in XML format in the form. When the SAP system receives the form, it extract the data saved in the form and can process further.

The forms are composed of Master Pages and Body Pages.

Context:
  • The text include module cannot refer to an import, it only can refer to a global variable.

What’s in the form design?
The following components make up a form design:
  1. Master pages: Provides the layout and format for pages in the form.
The Master Pages defines the global elements as Header/footer/pages/format/orientation…
The master pages contains « Content Area ».
This content area will take the Body Pages. It can be resized

In general we create only 1 master page except in the case we have many formats or orientation
  1. Body pages: Represent the page of a form. You can choose which master page to assign to the body page. Header, Item detail, Footer are defined in body page.
  2. Content areas
  3. Subforms: Container that you can use to group design objects such as fields, images, address etc. You can set the properties of subform, it will then apply to all objects within the subform.
  4. Fields
  5. Boilerplate objects
    1. Text Field (Text with caption - caption can be translated to different languages by Edit → Translation)
      1. You can remove the caption in the text field is changing its caption position to none using Layout tab of the object properties window.
    2. Text: Display only text
    3. Floating Field

Palettes
  1. Hierarchy palettes is a visual presentation of the contents in body pages and master pages tabs. The palettes also display objects added to the form under the object node.
  2. Data View palettes is a visualization to provide a way of mapping data from context to the form. You can drag & drop fields from Data View to the form.
  3. Object palettes
  4. Layout palettes

Layout settings: Expand to fit

SAP giới thiệu mã hỗ trợ AI trong ngôn ngữ ABAP riêng của mình

SAP đã ra mắt một loạt tính năng mã hỗ trợ AI trong môi trường phát triển ứng dụng dựa trên đám mây của mình, đồng thời tham gia vào danh sá...