SAP Урок за скриптове: SE71, SE78, SCC1, VF03, SO10

⚡ Умно обобщение

SAP Скриптовете формират системата за обработка на текст на SAP Система, отпечатване на предварително форматиран текст в предварително форматирани формуляри. Тази страница обяснява петте компонента, набора от оформления, контролните команди, програмата за печат, типовете изход и транзакциите SE71, SE78, SO10 и SCC1.

  • 📝 Основна дефиниция: SAPскриптът е вградената система за обработка на текст на SAP, използва се за отпечатване на предварително форматиран текст в предварително форматирани формуляри, като например фактури.
  • 🧱 Пет компонента: Редактор, стилове и набори от оформления, редактор, програмен интерфейс и таблици в базата данни, които съхраняват текстове и формуляри.
  • 📄 Комплект оформление: Наборът за оформление не съдържа данни. Той описва страници, прозорци и текстови елементи, а програмата за печат го захранва с данни, избрани от базата данни.
  • ️ Контролни команди: Въведени с /: във формата на параграф, команди като NEW-PAGE, PROTECT, INCLUDE и PERFORM управляват форматирането на изхода.
  • 🖨️ Програма за печат: OPEN_FORM, WRITE_FORM и CLOSE_FORM са задължителни, докато START_FORM и END_FORM са незадължителни.
  • 📬 Типове изход: Съхранен в таблица NAST и изпълнен от програма RSNAST00, типът изход определя дали документът ще бъде отпечатан, изпратен по факс или по пощата.
  • 🔁 Зависимост от клиента: A SAPФормата на скрипта е зависима от клиента, така че се копира между клиентите с SCC1 или с помощната програма Copy from Client на SE71.

SAP Scripts

Какво е SAP Сценарий?

SAP сценарият е SAP Собствена система за обработка на текст на системата. Тя изглежда и се усеща като други водещи системи за обработка на текст.

Използва се за отпечатване на предварително форматиран текст в предварително форматирани форми.

Типични документи, изготвени с SAPСкриптовете са фактури, поръчки за покупка, бележки за доставка и писма до клиенти. Формулярът се проектира веднъж в транзакция SE71, а ABAP програма за печат предоставя данните по време на изпълнение.

Компоненти на SAPСценарий

SAP Скриптовете се състоят от пет основни компонента:

Компоненти на SAPСценарий

  1. Редактор за въвеждане и редактиране на редовете на текст
  2. Набори стилове и оформление за печатно оформление. Те се създават независимо от отделните текстове с помощта на съответните транзакции за поддръжка и се разпределят към текстовете по-късно
  3. Композиторът е централен изходен модул. The SAP композиторът на сценария е невидим отвън
  4. Интерфейс за програмиране, който ви позволява да включвате SAP компоненти на скриптове във вашите собствени приложни програми и да контролирате изхода на набори от оформления от рамките на програмите
  5. Няколко таблици на база данни за съхраняване на текстове, стилове и набори от оформления

Диаграмата по-горе показва как тези компоненти се съчетават. Наборът от оформления, показан в центъра му, е описан по-долу.

Комплект оформление

За да извеждат документи с помощта на интерфейса за програмиране, приложните програми на R/3 се нуждаят от така наречените набори за оформление (вид форма). SAP скрипт, наборът от оформления описва оформлението на отделните страници за печат и използва текстови елементи, за да предостави дефинируеми изходни блокове, които програмата за печат може да извика. Наборът от оформления може да се дефинира като дизайн на страница за документ

Самият набор от оформления не съдържа никакви данни. Изборът на данни за документа се извършва чрез програмата за печат. Програмата за печат избира данните от таблицата в базата данни и ги подава към набора от оформления. Когато програмата за печат се изпълни, документът се отпечатва на екрана, принтера.

Обикновено a SAPОформлението на скрипта се състои от следните компоненти

  1. Заглавни данни: Заглавните данни се използват за информация и контрол на SAP печат. Заглавните данни се състоят от 2 части – Независими от устройството – Съхранява информация като начална страница, абзац по подразбиране, езикови атрибути и т.н. И зависимите от устройството съхранява информация като формат на страницата, ориентация Линии на инч и т.н.
  2. Формати на абзаци и знаци: Параграфите се форматират с помощта на различни атрибути. Например стандартните атрибути на абзаци указват ляво или дясно поле, подравняване, разстояние между редовете и т.н. Атрибутите на шрифта указват семейство шрифтове, размер на шрифта и т.н. Форматите на знаци позволяват форматиране на цели блокове от текст в абзац
  3. Windows и текстови елементи: Windows са отделни текстови области (адрес на горен колонтитул, дата, долен колонтитул) в страница. Помага за комбинирането на информацията, съдържаща се в документа, в определени групи и всяка група да се показва на отпечатаната страница в отделна област. Можете да дефинирате текстови елементи (текстове на прозорец) за всеки прозорец. Програмата за печат достъпва текстовите елементи по име, форматира ги и ги отпечатва в съответния прозорец. Използваният абзац и символни формати трябва да бъдат дефинирани във формуляра.
  4. Страници: Те са отделни страници от документ и трябва да имат уникално име. Често ще откриете различни оформления за отделни страници: Първата страница на фактурата се различава от следващите страници, на които не е необходимо да повтаряте обща информация, като адрес или данни на клиента.
  5. страница Windows: Докато дефинирате прозорци и страници, вие все още не определяте позицията и разстоянието на текстовете за извеждане. Прозорецът на страница дефинира правоъгълната изходна област в изходния носител, като указва левия горен край на изходната област и нейната ширина и височина

Команди за управление

Целта на „контролните команди“ е да позволи контрол на изходното форматиране. Тези команди не се интерпретират от SAP редактор на скриптове, но се предават на SAP Композитор на скриптове за обработка. Това включва, например, форматиране на редове и страници, форматиране на текст според посочените формати на абзаци и знаци.

Синтаксис

Enter /: in the paragraph format

Примери

  • НОВА СТРАНИЦА – Явно прекъсване на страница
  • PROTECT ………ENDPROTECT – За отпечатване на пълен параграф на една страница.
  • ВКЛЮЧВАНЕ – За включване на съдържанието на друг текст в текущия текст
  • ИЗПЪЛНЕНИЕ – За извикване на подпрограма на която и да е ABAP програма

Програма за печат

Изпълнението на скрипт се извършва чрез an ABAP програма, която се нарича програма за печат. Всяка програма за печат трябва да има формуляр за ВХОД, който ще бъде извикан от персонализирането.

За стандартна конфигурация можем да видим името на формуляра (име на скрипт), името на програмата за печат и вида на изхода в таблицата TNAPR. Програмата за печат използва функциите за контрол на формуляра, за да извика скрипта.

Програмата за печат извиква всички или някои от функциите за контрол на формуляра, за да изпълни скрипта

  • OPEN_FORM (Задължително) Отваря изходния набор от оформления
  • CLOSE_FORM (Задължително) Завършва извеждането на набора от оформления
  • START_FORM (По избор) Започва нов набор от оформления
  • WRITE_FORM (Задължително) Извиква елемент от набор от оформление
  • END_FORM (По избор) Завършва текущия набор от оформления

Как да създадете SAPФормуляр за скрипт в SE71

Работещ SAPИзходът на скрипта се нуждае от формуляр, програма за печат и присвояване при персонализиране. Стъпките по-долу създават такъв от празен формуляр.

  1. Създайте формуляра: В SE71 въведете име на формуляр и език, след което изберете Създаване. Попълнете данните на заглавката с началната страница, абзаца по подразбиране и формата на страницата.
  2. Дефинирайте форматите на абзаците и символите: Създайте поне един формат на абзац, например AS за стандартен ред, защото всеки текстов елемент се отнася до формат на абзац.
  3. Създайте страниците: Дефинирайте първа страница, например FIRST (ПЪРВА), и задайте следващата ѝ страница на NEXT (СЛЕДВАЩА), така че по-дългите документи да продължат във второ оформление.
  4. Създайте прозорците и прозорците на страниците: Дефинирайте прозорците като HEADER (Заглавие), MAIN (Главен) и FOOTER (Долен колонтитул), след което поставете всеки от тях на страницата и въведете горния ляв ръб, ширината и височината.
  5. Напишете текстовите елементи: Отворете текстовия редактор на прозорец и маркирайте всеки блок с /E, последван от името на елемента. Програмата за печат извиква елемента с това име.
  6. Активирайте формуляра и напишете програмата за печат: Активирайте формуляра, след което извикайте функциите за управление на формуляра от програмата ABAP, както е показано по-долу.
  7. Задайте типа на изхода: Въведете името на формуляра, програмата за печат и рутината ENTRY в таблица TNAPR чрез персонализиране на изхода на приложението, например NACE.
CALL FUNCTION 'OPEN_FORM'
  EXPORTING
    form     = 'Z_INVOICE'
    language = sy-langu
    device   = 'PRINTER'.

* Print the element ITEM_LINE in the window MAIN
LOOP AT lt_items INTO ls_item.
  CALL FUNCTION 'WRITE_FORM'
    EXPORTING
      element  = 'ITEM_LINE'
      window   = 'MAIN'
      function = 'SET'
      type     = 'BODY'.
ENDLOOP.

CALL FUNCTION 'CLOSE_FORM'.

⚠️ Предупреждение: WRITE_FORM отпечатва само полетата, които са попълнени в момента на извикването. Попълнете работната област преди извикването, защото формулярът чете глобалните полета на програмата за печат, а не параметрите на функционалния модул.

Изходни типове

Изходният тип може да посочи отпечатан формуляр, който ви е необходим за вътрешна употреба, или формуляр, който искате да изпратите на клиент или доставчик. Изходният тип може също да бъде вътрешно съобщение по електронна поща, което искате да изпратите на персонал в друг отдел.

Например „Отпечатване“ може да се класифицира като един изходен тип на документ за фактуриране, т.е. когато този тип изход се изпълни, документът за фактуриране се отпечатва. По подобен начин „Факс“ може да бъде тип изход, т.е. когато този тип изход се изпълнява, се изпраща факс на документа за фактуриране

Всички изходни типове за всеки документ (напр. документ за фактуриране) ще бъдат съхранени в таблицата NAST. Изходните типове се изпълняват чрез програмата RSNAST00.

Пример: Изходен тип в документ за фактуриране-

  1. Отидете на VF03
  2. Въведете номера на документа за фактуриране и натиснете отново enter
  3. Изберете Изход под менюто Goto -> Header
  4. Тук Z101 е изходен тип на изход за печат

Изходни типове

Екранната снимка показва изходния екран на транзакция VF03, където изходният тип Z101 е прикачен към документа за фактуриране.

Стандартни текстове и графики

Стандартните текстове за вашия отчет могат да бъдат създадени с помощта на транзакция SO10

Графиките и макросите на принтера се качват с докладва RSTXLDMC в отделни стандартни текстови документи или чрез транзакция SE78. Графиките се качват във формат „Baseline TIFF 6.0“ (.tif файлове на компютър)

SAP Скрипт и стандартни текстови елементи могат да се експортират или импортират между две системи с помощта на програмата RSTXSCRP

Копиране на скриптове между клиенти:

SAP Скриптът е обект, зависим от клиента. За разлика от програмите, промените, направени в SAP скрипт в един клиент няма да се отрази в други клиенти. За копиране на скрипт от един клиент на друг отидете на SE71 и използвайте опцията „Копиране от клиент“, налична в менюто Помощни програми, или импортирайте заявката за транспорт, в която е записан скриптът, от оригиналния клиент, използвайки транзакцията SCC1 .

Важни точки за отбелязване

  1. SAP скриптът не поддържа никакви версии. Така че при модифициране на SAP скрипт, уверете се, че промените са добре документирани в скрипта. Това важи и за стандартните текстове.
  2. Резултатът от формуляра ще се различава, когато се гледа на екрана и на принтера. Затова винаги тествайте изхода на скрипта на принтера.

SAPскрипт срещу интелигентни формуляри

SAPскриптът е по-старата от двете технологии за формуляри в SAPи всяка нова форма обикновено се изгражда с Интелигентни формиТаблицата по-долу показва защо.

Критерии SAPписменост Интелигентни форми
Транзакция SE71 SMARTFORMS
Зависимост на клиента Зависи от клиента, копира се със SCC1 Независим от клиента
Основен прозорец Изисква се точно един главен прозорец Не е задължително и са разрешени няколко основни прозореца
Програмна логика Написано в отделна програма за печат Частично вграден във формата, който генерира собствен функционален модул
Изходни формати Печат, факс и поща Печат, факс, поща и XML или HTML изход
Управление на версиите Няма, така че промените трябва да се документират ръчно Достъпно през работната маса

SAPписмеността остава широко използвана, тъй като много стандартни SAP формулярите и техните програми за печат все още разчитат на него, и тъй като формуляр, зависим от клиента, може да бъде адаптиран за всеки клиент.

Въпроси и Отговори

Таблица TNAPR съхранява името на формуляра, програмата за печат и рутината ENTRY за всеки тип изход. Прочетете я с SE16 или отворете персонализирането на изхода на приложението в транзакция NACE.

Графиките трябва да бъдат качени във формат Baseline TIFF 6.0 чрез SE78 или отчета RSTXLDMC, а формулярът трябва да препраща към получения стандартен текст. Цветен или PNG файл не се приема от редактора.

Включете дебъгера на формуляри от менюто Utilities, Activate Debugger в SE71. След това системата спира на всеки текстов елемент, докато програмата за печат работи, и стойностите на полетата могат да бъдат проверени.

Докладът за миграцията в рамките на транзакцията SMARTFORMS извършва преобразуването. Асистентите с изкуствен интелект помагат впоследствие, като обясняват преобразуваните възли, пренаписват извикванията на програмата за печат и изброяват текстовите елементи, които се нуждаят от ръчна обработка.

SAPСкриптът не пази история на версиите, така че промените са трудни за tracд. Инструментите с изкуствен интелект сравняват два експорта, създадени от RSTXSCRP, обобщават промените във всеки текстов елемент и изготвят документацията, която самият формуляр не съхранява.

Обобщете тази публикация с: