Showing posts with label abap. Show all posts
Showing posts with label abap. Show all posts

Friday, May 1, 2026

Країна вибрана, а до неї ще точки треба добрати .

1) якщо для країни немає точок, то не показуємо точок при виборі.
2) якщо вибрано точку / точки , треба сформувати points_text для 1002 на їх основі.
В цьому тексті немає сенсу вказувати країну , бо назва країни вже є в country_text.

Текст типу : > 2300235  Ангола , Луанда не підходить. Незрозуміло, які ще точки окрім Луанди є в Анголі.
Припускаємо, що користувач не вибирає більше 5 точок/умов для точок.
Йде перебір loop at point
Важливо з кожної point record використати low; option; sign.

Можливі Sign: I E
Можливі option: EQ, NE, GT, LT, GE, LE.
Припускаємо, що юзер не буде грати з шаблонами для point .

I EQ
I NE
I GT
I LT
I GE
I LE

Якщо юзер задає <> точка №25 , то це I NE, або E EQ. Це треба уточнити...


Дві сверхзадачі: вибрати точки за умовами і сформувати опис за тими точками , що залишилися.

1. Потрібні точки вибираються за допомогою r_tchk в fill_ranges , а в  fill_eng_tab в кінці відмінюються ті точки яких немає в rtchk.
Чи можна на основі rtchk сформувати point_text?

Monday, February 9, 2026

Wednesday, January 7, 2026

Successful add value in xls template

 Data path_to_file like rlgrap-filename value ...

Create object my_application 'Excel.Application'.

Set property of my_application 'Visible' = 0.

Get property of my_application 'Workbooks' = my_books.

Call method of my_books 'Open' = my_book exporting #1 = path_to_file.

Get property of my_book 'ActiveSheet' = my_sheet.


Clear my_cell. Set fields of my_cell like row, col, format, value, align, font_name, font_size, WrapText.

Perforn fill_cell using my_cell. 


Call method of my_book 'Save'.

Set property of my_application 'Visible' = 1.

Free object my_sheet.

Free object my_book.

Free object my_books.

Free object my_application.


Tuesday, January 6, 2026

Перенос тексту в клітинці в Excel2003

 1. Дозволити для клітинки перенос по словам Через Формат (WrapText = 1).

2. Формула:

="first line"&СИМВОЛ(10)&"second line" так бачимо в EXCEL2003

="first line"&CHAR(10)&"second line" так формуємо з ABAP + OLE2

Friday, November 28, 2025

Ширини латинських літер , times new roman11 pt

 1. Великі латинські літери (A–Z)


Літера Ширина, pt Літера Ширина, pt Літера Ширина, pt


A 6.6 J 4.6 S 5.8

B 6.2 K 6.4 T 5.8

C 6.8 L 5.4 U 6.6

D 7.0 M 8.2 V 6.6

E 6.0 N 7.0 W 9.0

F 5.6 O 7.2 X 6.6

G 7.0 P 6.2 Y 6.4

H 7.0 Q 7.2 Z 6.0

I 3.2 R 6.4  

📏 Середня ширина: ≈ 6.4 pt

🧩 Найвужчі: I (3.2), J (4.6)

🧱 Найширші:

 M (8.2), W (9.0)


2. Малі латинські літери (a–z)

a 4.8 j 2.6 s 4.0

b 5.2 k 4.8 t 3.2

c 4.4 l 2.6 u 4.8

d 5.2 m 7.6 v 4.4

e 4.8 n 5.0 w 6.8

f 3.0 o 5.0 x 4.4

g 5.0 p 5.0 y 4.4

h 5.0 q 5.0 z 4.0

i 2.6 r 3.6  

---


📏 Додаткові спостереження:


Найвужчі літери: i, j, l, f (2.6–3.0 pt).


Середні: a, e, n, o, r, s, u (≈4.5–5.0 pt).


Найширші: m, w (6.8–7.6 pt).


Середня ширина літери в цьому шрифті ≈ 4.8 pt — тобто десь 1,7 мм.




Ширини кириличних літер, times new roman, 11 pt

 Малі кириличні літери (а–я, і, ї, є)


Літера Ширина, pt Літера Ширина, pt Літера Ширина, pt


а 4.9 к 4.8 т 3.4

б 5.0 л 5.0 у 4.6

в 5.0 м 7.4 ф 6.8

г 4.0 н 5.0 х 4.4

д 5.2 о 5.0 ц 5.2

е 4.8 п 5.0 ч 4.8

є 4.8 р 5.0 ш 7.0

ж 7.0 с 4.6 щ 7.6

з 4.4 і 2.6 ь 4.6

и 5.0 ї 3.4 ю 6.6

й 5.0 я 4.8  



📏 Середня ширина: ≈ 4.9 pt

🧩 Найвужчі: і (2.6), ї (3.4)

🧱 Найширші: ж, ш, щ (7.0–7.6)



---


🔠 Великі кириличні літери (А–Я, І, Ї, Є)


Літера Ширина, pt Літера Ширина, pt Літера Ширина, pt


А 6.6 Л 6.6 Ф 8.2

Б 6.6 М 8.2 Х 6.6

В 6.2 Н 7.0 Ц 7.0

Г 5.4 О 7.2 Ч 6.0

Д 7.0 П 7.0 Ш 8.0

Е 6.0 Р 6.2 Щ 8.4

Є 6.2 С 6.6 Ъ 7.2

Ж 8.6 Т 5.8 Ы 7.4

З 6.0 У 6.6 Ь 6.0

И 7.0 І 3.2 Э 6.6

Й 7.0 Ї 4.0 Ю 8.2

К 6.4 Ц 7.0 Я 6.4



📏 Середня ширина: ≈ 6.8 pt

🧩 Найвужчі: І (3.2), Ї (4.0), Т (5.8)

🧱 

Найширші: Ж (8.6), Щ (8.4), Ш/Ф/Ю (≈8.0–8.2)

Tuesday, November 18, 2025

SY-ucomm хрестика на popup screeni

 Якщо pf-статус порожній, не має кнопок в рядку меню, тоді хрестик = "E"

А інакше, якщо є якісь кнопки , то хрестик = CANCEL.

Найнадійніше перевіряти :

Case SY-ucomm.

When back or exit or cancel or E...

Monday, November 17, 2025

Current codepage №1500

 * Company = SAP

* Sap-intern , wie ISO 8859-5


DATA: lv_spras like sy-langu,

lv_codepage like tcp00-cpcodepage. lv_spras = sy-langu. CALL FUNCTION 'SCP_CODEPAGE_FOR_LANGUAGE' EXPORTING language = lv_spras IMPORTING codepage = lv_codepage EXCEPTIONS no_codepage = 1 OTHERS = 2. IF sy-subrc IS INITIAL. WRITE lv_codepage. ENDIF.

Monday, October 27, 2025

Tuesday, October 7, 2025

Олдскул без CODE символів

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

* FORM ZTEXT_WIDTH_PT (версія для ABAP 4.x)

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

FORM ztext_width_pt USING i_text TYPE c

                    CHANGING e_width TYPE f.


  DATA: lv_len TYPE i,

        lv_char TYPE c LENGTH 1,

        lv_add TYPE f.


  CLEAR: e_width.


  lv_len = STRLEN( i_text ).


  DO lv_len TIMES.

    lv_char = i_text+sy-index-1(1).

    CLEAR lv_add.


    " --- Латиниця великі ---

    IF lv_char CP '[A-Z]'.

      CASE lv_char.

        WHEN 'I'. lv_add = 3.5.

        WHEN 'M' OR 'W'. lv_add = 6.2.

        WHEN OTHERS. lv_add = 5.5.

      ENDCASE.


    " --- Латиниця малі ---

    ELSEIF lv_char CP '[a-z]'.

      CASE lv_char.

        WHEN 'i' OR 'j' OR 'l'. lv_add = 2.8.

        WHEN 'm'. lv_add = 7.0.

        WHEN 'w'. lv_add = 6.0.

        WHEN 'f' OR 't' OR 'r'. lv_add = 3.2.

        WHEN OTHERS. lv_add = 4.8.

      ENDCASE.


    " --- Кирилиця великі ---

    ELSEIF lv_char CP '[А-Я]'.

      CASE lv_char.

        WHEN 'І'. lv_add = 3.5.

        WHEN 'М' OR 'Ш' OR 'Щ' OR 'Ф' OR 'Ю'. lv_add = 7.0.

        WHEN OTHERS. lv_add = 6.0.

      ENDCASE.


    " --- Кирилиця малі ---

    ELSEIF lv_char CP '[а-я]'.

      CASE lv_char.

        WHEN 'і'. lv_add = 2.8.

        WHEN 'м' OR 'ш' OR 'щ' OR 'ф' OR 'ю'. lv_add = 6.5.

        WHEN OTHERS. lv_add = 5.5.

      ENDCASE.


    " --- Цифри ---

    ELSEIF lv_char CP '[0-9]'.

      lv_add = 5.0.


    " --- Пробіл ---

    ELSEIF lv_char = ' '.

      lv_add = 3.0.


    " --- Розділові знаки ---

    ELSEIF lv_char CA '.,-/:;!?()""'''.

      lv_add = 3.5.


    " --- Інше ---

    ELSE.

      lv_add = 5.0.

    ENDIF.


    e_width = e_width + lv_add.

  ENDDO.


ENDFORM.

Thursday, October 2, 2025

Open 'nd close only xls file

Якщо в тебе вже є файл (шлях у змінній mypath(50)), треба відкрити його через Workbooks->Open.

DATA: g_excel TYPE ole2_object,

      g_workbooks TYPE ole2_object,

      g_workbook TYPE ole2_object,

      g_sheets TYPE ole2_object,

      g_sheet TYPE ole2_object,

      g_range TYPE ole2_object.


DATA: mypath(50) TYPE c VALUE 'C:\temp\myfile.xlsx'. " твій шлях до файлу


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

* Запуск Excel

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

CREATE OBJECT g_excel 'Excel.Application'.

SET PROPERTY OF g_excel 'Visible' = 0. " приховано


" Отримали Workbooks

GET PROPERTY OF g_excel 'Workbooks' = g_workbooks.


" Відкрили існуючий файл

CALL METHOD OF g_workbooks 'Open' = g_workbook

  EXPORTING

    #1 = mypath.


" Отримали список Sheets з відкритої книги

GET PROPERTY OF g_workbook 'Sheets' = g_sheets.


" Взяли перший лист

CALL METHOD OF g_sheets 'Item' = g_sheet

  EXPORTING #1 = 1.


" Доступ до клітинки (наприклад, G2 = рядок 2, колонка 7)

CALL METHOD OF g_sheet 'Cells' = g_range

  EXPORTING

    #1 = 2 " рядок

    #2 = 7. " колонка


SET PROPERTY OF g_range 'Value' = 'Test'.


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

* Закриття

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

CALL METHOD OF g_workbook 'Close' EXPORTING #1 = 1. "1 = зберегти зміни

CALL METHOD OF g_excel 'Quit'.


FREE OBJECT g_range.

FREE OBJECT g_sheet.

FREE OBJECT g_sheets.

FREE OBJECT g_workbook.

FREE OBJECT g_workbooks.

FREE OBJECT g_excel.


📌 Тут важливі моменти:


mypath — твій шлях до існуючого Excel-файлу.


Використовується Workbooks->Open, а не Add.


Закриття: Close EXPORTING #1 = 1 → зберегти, або 0 → закрити без збереження.


Завжди йде повний ланцюжок Application → Workbooks → Workbook → Sheets → Sheet → Cells/Range.


Thursday, August 14, 2025

Ole2 Horizontal alignment for Cell

SET PROPERTY OF cell_obj 'HorizontalAlignment' = alignment_value to set the alignment. 

The alignment_value is a numeric code representing the alignment style:

2: Left alignment. 

3: Center alignment. 

4: Right alignment. 

1: General (default). 

Tuesday, July 22, 2025

Save list report as RTF

 1. Create and save file using Microsoft word;

2. Run list report; menu Spisok -> Save as file...-> RTF.

Monday, June 16, 2025

Tuesday, June 3, 2025

"Stop" handles the popup to confirm window

POPUP_TO_CONFIRM exports the parameter answer with type t.

Answer:

1 - Yes

2 - No

A00000(16) - Close Popup window.


case answer.

when 1.

....

when 2.

....

else.

Stop. " Just close the popup window without changes with current screen.

endcase.

Thursday, May 22, 2025

Maybe one big sql instead of delifnorecords

 SELECT COUNT( DISTINCT carrid )

       FROM spfli

       INTO count

       WHERE cityto = 'NEW YOR

K'.

Compare this with 0.

Wednesday, May 14, 2025

Macros to group and hide rows

 Use union for several rows or colunns

Set cell properties 

Then add events like Click on row to hide and unhide the range below.

Dive into Microsoft Visual Basic

Do in VBA, then translate into Abap , ole dialect

Monday, May 12, 2025

День №9352(1305)

 Vba -> in browser find:

 SAPRDEMOEXCELINTEGRATION.

Шапка на кожній сторінці (скрізні рядки):

Set property of my_pagesetup 'PrintTitleRows' = '$1:$1'.

Вставити Номер сторінки у Верхній Правий Колонтитул:

Set property of my_pagesetup 'RightHeader' = '&P'.

Saturday, May 10, 2025

abap & office integration

go to SE80 and under package write : SOFFICEINTEGRATION(the package name gives sample programs.will find most of the properties and the methods.)

check with function module - EXCEL_OLE_STANDARD_DAT

Курс csco і тп / записати макрос in excel2003

Thursday, May 8, 2025

солов'їна і sap abap

Для украинского языка в sap используется кодировка ISO 8859-5 (без букв I, Ї, Є, Ґ).


Dbf не чіпаємо, маніпуляції тільки з itab

 1. Dbf tab містить ВСІ 67-68 полів,  Ztab - тільки ті 25-45 полів що використовуються в продовженні ресурсів, їх і копіюємо Dbf не редагува...