Tuesday, May 19, 2026

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

 1. Dbf tab містить ВСІ 67-68 полів, 

Ztab - тільки ті 25-45 полів що використовуються в продовженні ресурсів, їх і копіюємо

Dbf не редагувати.

Friday, May 15, 2026

abap dbf other idea

 *-- 1. Define your internal table structure (All fields MUST be type C)

DATA: BEGIN OF ty_record,

        field1(10) TYPE c, " Length 10

        field2(5)  TYPE c, " Length 5

        field3(8)  TYPE c, " Length 8

      END OF ty_record.


DATA: itab LIKE ty_record OCCURS 0 WITH HEADER LINE.


*-- 2. Variables for file reading

DATA: lv_header_size TYPE i,

      lv_record_size TYPE i,

      lv_dummy(2000) TYPE c, " Large buffer to skip header

      lv_buffer(1000) TYPE c. " Must match your exact DBF record size


*-- 3. Calculate your offsets manually based on DBF layout

*-- Remember: The first byte of every DBF record is the 1-byte "Deleted Flag"

lv_record_size = 24. " Example: 1 (flag) + 10 + 5 + 8 = 24 bytes

lv_header_size = 129. " Example: 32 + (32 * 3 fields) + 1 = 129 bytes


*-- 4. Open the file on the Application Server

OPEN DATASET 'your_file.dbf' FOR INPUT IN BINARY MODE.

IF sy-subrc <> 0.

  EXIT.

ENDIF.


*-- 5. Move the file pointer past the header

READ DATASET 'your_file.dbf' INTO lv_dummy MAXIMUM LENGTH lv_header_size.


*-- 6. Loop through the records (approx 70,000 iterations)

DO.

  " Read exactly one record into the flat buffer

  READ DATASET 'your_file.dbf' INTO lv_buffer MAXIMUM LENGTH lv_record_size.

  

  " Exit the loop if End of File is reached or EOF byte (0x1A) is found

  IF sy-subrc <> 0 OR lv_buffer(1) =  '#'. " Use hex representation of 0x1A if needed

    EXIT.

  ENDIF.


  " Check deleted flag (0x20 / space = active, 0x2A / * = deleted)

  IF lv_buffer(1) = ' '. 

    

    " Use ABAP offsets to slice the flat string into the itab structure

    " Syntax: lv_buffer+OFFSET(LENGTH)

    itab-field1 = lv_buffer+1(10).  " Skip byte 0 (deleted flag), take 10 bytes

    itab-field2 = lv_buffer+11(5). " Offset is 1 + 10 = 11, take 5 bytes

    itab-field3 = lv_buffer+16(8). " Offset is 11 + 5 = 16, take 8 bytes

    

    APPEND itab.

  ENDIF.

ENDDO.


CLOSE DATASET 'your_file.dbf'.


abap dbf ai idea

 TYPES: BEGIN OF ty_dbf_record,

         field1 TYPE char10,   " Char

         field2 TYPE n LENGTH 5, " Numc (Always numeric char internally)

         field3 TYPE d,        " Date (DBF saves dates as 'YYYYMMDD')

         field4 TYPE p DECIMALS 2, " Dec (Maps to plain decimal string)

         " Define all remaining 60 fields here in identical data sequence

       END OF ty_dbf_record.


DATA: lt_target_table TYPE STANDARD TABLE OF ty_dbf_record,

      ls_target_row   TYPE ty_dbf_record.


DATA: lv_filepath   TYPE string VALUE '/usr/sap/trans/yourfile.dbf',

      lv_header_bin TYPE x LENGTH 32,

      lv_header_len TYPE i,

      lv_record_len TYPE i,

      lv_raw_record TYPE string. " Record container


" 1. Open the file strictly in binary mode to accurately handle byte structures

OPEN DATASET lv_filepath FOR INPUT IN BINARY MODE.

IF sy-subrc <> 0.

  MESSAGE 'Failed to open application server file.' TYPE 'E'.

ENDIF.


" 2. Read the first 32 bytes to dynamically capture file boundaries

READ DATASET lv_filepath INTO lv_header_bin.


" Extract Header Length from Bytes 8-9 (Convert Little-Endian Hex to ABAP Integer)

lv_header_len = lv_header_bin+8(1) + ( lv_header_bin+9(1) * 256 ). 


" Extract Record Length from Bytes 10-11

lv_record_len = lv_header_bin+10(1) + ( lv_header_bin+11(1) * 256 ).


" 3. Skip past the rest of the metadata header directly to record start

SET DATASET lv_filepath POSITION lv_header_len.


" 4. Loop to process 70,000 lines line-by-line (Zero impact on heap memory)

DO.

  " Read one precise record package at a time using its length property

  READ DATASET lv_filepath INTO lv_raw_record MAXIMUM LENGTH lv_record_len.

  IF sy-subrc <> 0.

    EXIT. " End of file reached smoothly

  ENDIF.


  " Skip records flagged as deleted (First byte is '*')

  IF lv_raw_record+0(1) = '*'. 

    CONTINUE.

  ENDIF.


  " 5. Populate your fields using offset mapping (+Position(Length))

  " NOTE: Remember offset 0 is the deletion flag, so field 1 starts at 1

  ls_target_row-field1 = lv_raw_record+1(10).  " Mapping a 10-char text field

  ls_target_row-field2 = lv_raw_record+11(5).  " Mapping a 5-digit NUMC

  ls_target_row-field3 = lv_raw_record+16(8).  " DBF Dates 'YYYYMMDD' map perfectly to DATS

  ls_target_row-field4 = lv_raw_record+24(12). " ABAP natively casts raw decimals '1540.50' to P/DEC fields

  

  " ... map remaining 56 fields based on your DBF field specifications ...


  APPEND ls_target_row TO lt_target_table.

  CLEAR ls_target_row.

ENDDO.


CLOSE DATASET lv_filepath.


Monday, May 11, 2026

підготовка до знайомства з BAS системою

 1. Теорія бухобліку (Фундамент)

Вам не потрібно ставати головбухом, важливо зрозуміти механіку.
  • Сайт «Дебет-Кредит» (dtkt.ua): Розділ «Школа бухгалтера». Шукайте статті для початківців про подвійний запис та план рахунків.
  • Книга «Бухгалтерський облік для невтаємничених» (Олексій Герасимов): Хоча вона базується на загальних принципах, це найкращий «популярний» підручник, який пояснює логіку Дебету/Кредиту на прикладах «на пальцях».
  • YouTube-канал «Factor.Media»: У них є чудові короткі ролики про ПДВ, проводки та первинку простими словами.
2. Оперативний та управлінський облік (Логіка бізнесу)
Тут важливо зрозуміти, як рухається товар і гроші.
  • Навчальний центр «Проком» (csoprocom.com.ua): Це офіційний центр сертифікації. У них є курси саме для розробників, де пояснюють не «куди тиснути», а як працюють механізми всередині.
  • Статті на bpro.com.ua: Огляди функціонала BAS (ERP, КУП). Читайте описи того, як у програмах реалізовано склад, виробництво та закупівлі.
3. Технічне навчання (Код + Програма)
  • Спільнота Union BA (unionba.com.ua): Це головний хаб розробників та користувачів систем BAS в Україні. Тут є форум, де розбирають реальні кейси.
  • YouTube-канал «TQM systems»: У них багато відео про те, як працюють різні конфігурації BAS (ERP, Управління торгівлею). Це допоможе побачити «результат» вашого майбутнього коду.
  • Курси від «Актив-Софт»: Вони мають спеціалізовані тренінги для програмістів-початківців, де вчать саме мови BAF у контексті українського обліку.
4. Офіційна документація
  • ІТС (Інформаційно-технологічний супровід) — its.bas-soft.eu: Це «Біблія» BAS-ника. Там є описи всіх механізмів платформи, методологія обліку та приклади коду. Доступ платний, але зазвичай роботодавець його надає.
Порада з власного досвіду:
Почніть з того, що встановіть демо-версію «BAS Бухгалтерія» і спробуйте зробити одну «Продажу товару». Подивіться, які «Рухи документа» (проводки) вона створила. Потім спробуйте знайти в коді (Конфігураторі) процедуру ОбработкаПроведения, яка ці записи генерує. Це найшвидший спосіб зрозуміти зв'язок між кодом і обліком.

Sunday, May 10, 2026

Економічна теорія

 1. Передумови: Базові модулі та підручники

Перш ніж розбирати внутрішню кухню компанії, необхідно зрозуміти, як працює економіка взагалі. Основні пререквізити включають:
  • Економічна теорія (Політекономія): Вивчає ази — ресурси, потреби, гроші та власність.
    • Рекомендована книга: Г. Менк’ю «Принципи економікс» — світовий бестселер, який пояснює складне простою мовою.
  • Мікроекономіка: Ключова база. Пояснює поведінку споживача та фірми, ринковий попит та пропозицію.
    • Рекомендована книга: В. Тарасевич «Економічна теорія. Мікроекономіка» або С. Панчишин «Аналітична економія».
  • Макроекономіка: Дає розуміння зовнішнього середовища: податки, інфляція, роль держави.
    • Рекомендована книга: В. Базилевич «Макроекономіка».
  • Економічна статистика: Навчить вас рахувати цифри, які потім стануть показниками ефективності підприємства.
2. Кращі підручники з «Економіки підприємства»
Коли ви вже розумієте закони ринку, можна переходити до прикладних знань про те, як управляти капіталом, персоналом та собівартістю.
  • «Економіка підприємства» (за ред. С. Ф. Покропивного).
    Це «золотий стандарт» та найбільш фундаментальний підручник в Україні. У ньому детально описано все: від статуту до розрахунку амортизації.
  • «Економіка підприємства» (О. С. Іванілов).
    Орієнтований на сучасні форми підприємництва та інноваційну діяльність. Оновлені видання (наприклад, 2020-2022 рр.) містять актуальну законодавчу базу.
  • «Економіка та управління на підприємстві» (Є. А. Єрохіна та ін.).
    Підручник, що поєднує економічні розрахунки з управлінськими підходами, що важливо для майбутніх менеджерів.
  • «Економіка підприємства» (В. В. Козик, О. Ю. Ємельянов).
    Сучасне видання (2024-2025 рр.), яке враховує останні зміни в економіці України та містить багато практичних прикладів.
3. Основні модулі самого курсу
Вивчаючи ці підручники, ви пройдете через такі теми:
  1. Підприємство як суб'єкт: правові засади та форми власності.
  2. Ресурсне забезпечення: персонал, основні фонди (обладнання) та оборотні кошти (сировина).
  3. Виробництво та збут: витрати, собівартість та ціноутворення.
  4. Фінансові результати: прибуток, рентабельність та ефективність.
  5. Розвиток: інвестиції, інновації та економічна безпека.
Хочете, щоб я допоміг скласти план самостійного навчання за однією з цих тем (наприклад, з чого почати вивчення мікроекономіки)

books list

Монтень Досліди

Ф Ніцше

Кнут Гамсун

Вільям Фолкнер

Джером К. Джером

Стефан Цвейг

Сомерсет Моэм

Джон Голсуорси

 Эрнест Хемингуэй

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?

Wednesday, April 22, 2026

Еврика, щоб не забути

 If rb1 = true." Всі

Вибираємо ремонтні з даними про останній ремонт;

Також вибираємо нові...

Також вибираємо складські? Без даних?

Ревізувати алгоритм на 20 типі і 5 суданській точці .

Monday, April 13, 2026

Гастрит+рефлюкс

 Після їжі не лягати і не бігати, посидіти.

Спати тільки на боці. На животі чи на спині не можна.

Дієта харчування дробне №5.

Monday, February 16, 2026

Вайба инновэйшн

 2 фактора вайби = 803031.

в атб і в столиці теж два фактора = 8030

Thursday, February 12, 2026

illness plot

 12.02

Eucalyptus спрей 

Синупрет 2 шт

Чайок

11:40 37.5

Coughing 🤧, headache,


1) Sqlbolt

2)  редуктор вертольотний? Псевдокод по міжремрес

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

Saturday, December 27, 2025

З якого боку підходити до ШІ

ШІ/ML лякає не тому, що складний, а тому що незрозуміло, з якого боку заходити. Тож дам тобі чітку карту місцевості: що вчити → навіщо → коли брати Python / MATLAB.

Нижче — теоретичний фундамент + практичні “віхи”, без хайпу.


🧠 ВЕЛИКА КАРТИНА (спочатку)

> Машинне навчання = математика + статистика + оптимізація + дані + інженерія


LLM і “ШІ” — це верхівка айсберга. Якщо база є — все інше стає інструментами.


1️⃣ МАТЕМАТИКА — СКІЛЬКИ І ЯКОЇ (реалістично)

🔢 Лінійна алгебра — №1

ЦЕ ОБОВʼЯЗКОВО, без цього ML — магія.

Що знати: 

  • вектори
  • матриці
  • матричне множення
  • норма вектора
  • скалярний добуток
  • власні значення (intuition)
  • ортогональність


📌 Навіщо:

дані = матриця

модель = функція над матрицею

embeddings = вектори


👉 Коли Python?

🟢 Одразу — NumPy + візуалізація


📈 Математичний аналіз (мінімум)


Не як на мехматі.

Що реально потрібно:

  • похідна
  • часткова похідна
  • градієнт
  • мінімум функції



📌 Навіщо:

навчання моделей = мінімізація втрат

backpropagation


👉 MATLAB?

🟡 Опціонально (якщо звик)

🟢 Python — достатньо


🎲 Теорія ймовірностей + статистика — критично

ML = статистика з кодом

Мінімум:

  • випадкова величина
  • розподіли (Normal, Bernoulli)
  • математичне сподівання
  • дисперсія
  • covariance / correlation
  • Bayes (intuition)


📌 Навіщо:

  • noise
  • uncertainty
  • probabilistic models


2️⃣ СТАТИСТИКА ДАНИХ (перед ML!)


Що вміти:

  • mean / median / std
  • гістограми
  • boxplot
  • outliers
  • bias / variance


👉 ОСЬ ТУТ ПЕРШИЙ РЕАЛЬНИЙ PYTHON

pandas

matplotlib / seaborn


🎯 Мета: бачити дані очима


3️⃣ МАШИННЕ НАВЧАННЯ — НЕ З НЕЙРОННИХ МЕРЕЖ


❌ не починати з deep learning

❌ не починати з LLM


Починати з:

  • Linear Regression
  • Logistic Regression
  • k-NN
  • Decision Trees


📌 Тут важливо:

  • що модель робить
  • чому вона помиляється
  • як її оцінюють


👉 Python:

scikit-learn


4️⃣ ОЦІНКА МОДЕЛЕЙ (дуже важливо)

Тут більшість “плаває”.

Що знати:

  • train / test split
  • overfitting
  • cross-validation
  • accuracy / precision / recall
  • confusion matrix


📌 Без цього ML — марний


5️⃣ КОЛИ НАРЕШТІ “ШІ” 😄


Нейронні мережі

ТІЛЬКИ ПІСЛЯ:

  • лінійної регресії
  • логістичної регресії
  • градієнта


Що вчити:

  • perceptron
  • activation functions
  • loss functions
  • backprop (concept)


👉 Python:


PyTorch (краще за TensorFlow)


6️⃣ LLM / СУЧАСНИЙ “ШІ”


Тут менше математики, більше інженерії.


Потрібно:

  • embeddings
  • attention (concept)
  • prompt engineering
  • RAG


📌 Це не заміна ML, а надбудова.


📅 РЕАЛІСТИЧНИЙ ПЛАН (3–4 місяці без напрягу)


Місяць 1 — Математика + Python

  • NumPy
  • pandas
  • matplotlib
  • лінійна алгебра



Місяць 2 — Статистика + ML basics

  • distributions
  • regression
  • classification


Місяць 3 — ML практика

  • scikit-learn
  • реальні датасети
  • evaluation

Місяць 4 — NN + LLM

  • PyTorch
  • simple NN
  • LLM usage

🧰 MATLAB vs Python — чесно


Критерій MATLAB Python


Навчання математики 👍 👍

ML / AI 👎 🔥

Комʼюніті 👎 🔥

Реальні проєкти 👎 🔥



📌 Якщо не прив’язаний — Python без варіантів


📚 ЩО ЧИТАТИ (ЗОЛОТО)


“Pattern Recognition and Machine Learning” — Bishop


“The Elements of Statistical Learning” — Hastie


StatQuest (YouTube) — MUST


3Blue1Brown (ліналг)


🧠 Ключова порада


> Не вчи ШІ. Вчи математику + дані. ШІ прийде сам.


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

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