Dialogprogrammeringsvejledning: Modulpulje i SAP ABAP

SAP-ABAP understøtter to typer programmer - Rapportprogram og Dialogprogram.

Hvis dit ABAP-program kræver brugerinput, bruges dialogprogrammering.

I denne tutorial lærer du:

En brugerdialog er enhver form for interaktion mellem brugeren og programmet og kan være en af ​​følgende

  • Indtastning af data
  • Valg af menupunkt
  • Klik på en knap
  • Klik eller dobbeltklik på en post

Dialogprogram bruges også når vi skal navigere frem og tilbage mellem skærme

Dialogprogrammer oprettes med typen som 'M' – Modulpulje. De kan ikke udføres uafhængigt og skal være knyttet til mindst én transaktionskode, hvor du angiver en startskærm.

Forskellen mellem rapport- og dialogprogrammer

Forskellen mellem rapport- og dialogprogrammer

Rapportprogram:

En rapport er et program, der typisk læser og analyserer data i databasetabeller uden at ændre database.

Dialog program:

Et dialogprogram giver dig mulighed for at arbejde interaktivt med systemet og ændre indholdet af databasetabellerne. Hvert dialogprogram har en bestemt rækkefølge af skærmbilleder, der behandles af systemet efter hinanden.

Et eksempel på transaktionsbehandling i dialogprogrammering

En prøvetransaktionsbehandling

Komponenter i dialogprogrammet

I modsætning til indberette som generelt indebærer oprettelsen af ​​et autonomt program, som kan udføres uafhængigt af andre objekter, dialogprogramudvikling indebærer udvikling af flere objekter, hvoraf ingen kan udføres på egen hånd. I stedet er alle objekter knyttet hierarkisk til hovedprogrammet og udføres i en sekvens dikteret af dialogens hovedprogram.

Komponenterne i et dialogprogram er:

Transaktionskode

  • Transaktionskoden starter en skærmsekvens.
  • Du opretter transaktionskoder i Repository Browser i ABAP Workbench eller ved hjælp af Transaction SE93.
  • En transaktionskode er knyttet til et ABAP-program og en startskærm.
  • Du kan starte en skærmsekvens fra ethvert ABAP-program ved hjælp af CALL SCREEN-sætningen.

Skærme

  • Hver dialog i en SAP systemet styres af en eller flere skærme.
  • Du opretter skærme ved hjælp af skærmen Painter i ABAP Workbench gennem transaktion SE51
  • Hver skærm tilhører en ABAP program.
  • Disse skærmbilleder består af en "skærmmaske" eller "layout" og dens flowlogik. Skærmen har et layout, der bestemmer placeringen af ​​input/output felter og andre grafiske elementer såsom afkrydsningsfelter og radioknapper. En flowlogik bestemmer den logiske behandling på skærmen.

GUI status

  • Hver skærm har en GUI-status(er), som er uafhængige komponenter i et program.
  • Dette styrer menulinjerne, standardværktøjslinjen, applikationsværktøjslinjen, hvormed brugeren kan vælge funktioner i applikationen.
  • Du opretter dem i ABAP Workbench ved hjælp af menuen Painter.

ABAP-program

  • Hver skærm og GUI-status i R/3-systemet tilhører ét ABAP-program.
  • ABAP-programmet indeholder de dialogmoduler, der kaldes af skærmflowlogikken, og behandler også brugerinput fra GUI-status.
  • ABAP-programmer, der bruger skærme, er også kendt som dialogprogrammer.
  • I en modulpulje (type M-program); den første behandlingsblok, der skal kaldes, er altid et dialogmodul. Du kan dog også bruge skærmbilleder i andre ABAP-programmer, såsom eksekverbare programmer eller funktionsmoduler. Den første behandlingsblok kaldes så anderledes; for eksempel af runtime-miljøet eller et procedurekald. Skærmsekvensen startes derefter ved hjælp af CALL SCREEN-sætningen.

Skærmflowlogik

Screen Flow logik er primært opdelt i fire komponenter.

  • Proces før output (PBO) hændelse: som behandles før skærmen vises
  • Proces efter input (PAI) hændelse: som behandles efter en brugerhandling på skærmen
  • Proces på anmodning om hjælp (P.O.H.): som behandles, når der trykkes på F1
  • Proces på værdianmodning (POV): som behandles, når der trykkes på F4

Dynpro

  • En skærm sammen med dens flowlogik kaldes en Dynpro ("Dynamisk program", da skærmflowlogikken påvirker programforløbet)
  • Hver dynpro styrer præcis ét trin i dit Dialog-program.
  • De skærme, der hører til et program, er nummererede. Skærmflowsekvensen kan enten være lineær eller cyklisk. Inde fra en skærmkæde kan du endda kalde en anden skærmkæde og, efter at have behandlet den, vende tilbage til den oprindelige kæde. Du kan også tilsidesætte den statisk definerede næste skærm fra ABAP-programmets dialogmoduler.

ABAP-modulpulje

  • På en PBO- eller PAI-begivenhed kalder en Dynpro et ABAP-dialogprogram. Indsamling af sådanne programmer kaldes ABAP-modulpuljen.
  • For eksempel bruges moduler kaldet ved PAI-hændelsen til at kontrollere brugerinput og til at udløse passende dialogtrin, såsom opdateringsopgaven.
  • Alle dynpros skal kaldes indefra en transaktion henviser til en fælles modulpulje.

Opbygning af et dialogprogram

Opbygning af et dialogprogram

Procesflow for et dialogprogram

Procesflow for et dialogprogram