FEHLER IN COBOL ANWENDUNGEN VERMEIDEN MIT

Werbung
FEHLER IN COBOL ANWENDUNGEN VERMEIDEN
MIT zPAAS QA
Tobias Braun, Technischer Berater Mainframe-Plattform
GEWACHSENE COBOL ANWENDUNGEN STELLEN FÜR
ENTWICKLER EINE GROSSE HERAUSFORDERUNG DAR
GEWACHSENE COBOL ANWENDUNGEN STELLEN FÜR
ENTWICKLER EINE GROSSE HERAUSFORDERUNG DAR
SEHEN WIR UNS EIN BEISPIEL AN: EINE VERMEINTLICH
EINFACHE SCHLEIFE KANN ZU EINEM ABEND FÜHREN
IDENTIFICATION DIVISION.
PROGRAM-ID. TIONC08G
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 WS-COUNT
01 WS-STRINGS.
05 ALPHA
PIC S9999 COMP SYNC VALUE +0.
PIC X(10) OCCURS 100 TIMES.
PROCEDURE DIVISION.
…
* SOME LOGIC TO FILL THE ALPHA ARRAY
…
PERFORM TEST BEFORE
VARYING WS-COUNT FROM 1 BY 1
UNTIL ALPHA(WS-COUNT) = LOW-VALUE
…
END-PERFORM
GOBACK.
Kein sicheres
Abbruchkriterium
WIE KÖNNTEN DIE KONSEQUENZEN EINES SOLCHEN
ABBRUCHS AUSSEHEN?
DIE ANTWORT: zPAAS QA – DIE CODE-FIREWALL
FÜR IHRE COBOL ANWENDUNGEN
DAS HERZSTÜCK VON zPAAS QA:
UNSERE COMPILER TECHNOLOGIE YYOP
State of the
Art Compiler
Technologie
Regelbasiert
und höchst
anpassbar
In vielen
Projekten
erfolgreich
angewandt
 ANALYSIEREN
 VERSTEHEN
 TRANSFORMIEREN
SOURCEN
YYOP BESTEHT AUS DREI HAUPTKOMONENTEN:
ERGEBNIS
FILES
PARSER
VIRTUELLE
MASCHINE
GENERATOR
INTEGRIERTE ENTWICKLUNGSUMGEBUNG YYOP
DB2 REPOSITORY
LASSEN SIE UNS EIN BISSCHEN ÜBER YYOP INTERNAS
SPRECHEN: WAS MACHT YYOP SO SPEZIELL?
Features:
Verwendung:
-
-
-
Kann Code virtuell im
Speicher ausführen
Kann Makro Code
interpretieren und
ausführen
VIRTUELLE
MASCHINE
Statisch
dynamisch
Test Coverage
Makros: Generierung
und Debugging
Klone erkennen
Datenfluss Analyse
Programmfluss Analyse
zPAAS QA IST NAHTLOS INTEGRIERT IN ECLIPSE:
DIE NACHRICHTENANSICHT
zPAAS QA IST NAHTLOS INTEGRIERT IN ECLIPSE:
DIE REGELÜBERSICHT
zPAAS QA IST NAHTLOS INTEGRIERT IN ECLIPSE:
DIE REGELKONFIGURATION
zPAAS QA LÄSST SICH FÜR IHRE BEDÜRFNISSE KONFIGURIEREN:
MANDANTENFÄHIGKEIT UND DIE VERWALTUNG VON STAGES
zPAAS QA LÄSST SICH MIT VERSCHIEDENSTEN
SCHNITTSTELLEN ANBINDEN
zPAAS QA Eclipse Plugin
XML Message
Connector API
XML
Messages
RDz remote
error view
Parser Call
Interface API
Customer CMS
Parser Batch Call
CMD
zPAAS QA BENÖTIGT KEINE COPYBOOKS FÜR DEN
PARSEVORGANG: DAS SYSMDECK FEATURE
RDz
RDz
Customer CMS
Parser Call API
liefert XML für den
Remote Errors View
Original
Cobol Code
zPAAS QA
Plugin
SYSMDECK anfordern
SYSMDECK
build
SYSMDECK build
JOB
SYSMDECK wird an Windows zurück geliefert
Cobol Copy
Cobol Copy
Cobol Copy
Cobol
Copybooks
(VIELLEICHT) DAS EINFACHSTE ALLER BEISPIELE – SQLCODE
CHECKING GUIDELINES TEIL I
01 SQLCA.
05 SQLCAID PIC
05 SQLCABC PIC
05 SQLCODE PIC
05 SQLERRM.
49 SQLERRML
49 SQLERRMC
05 SQLERRP PIC
X(8).
S9(9) COMP-5.
S9(9) COMP-5.
PIC S9(4) COMP-5.
PIC X(70).
X(8).
PROCEDURE DIVISION.
EXEC SQL
SELECT WORT INTO :WORT01 FROM T001
END-EXEC.
IF SQLCODE OF SQLCA NOT ZERO
DISPLAY 'SQL ERROR'
END-IF.
Ein sehr einfaches Beispiel. Der SQLCODE wird direkt nach dem EXEC
geprüft.
(VIELLEICHT) DAS EINFACHSTE ALLER BEISPIELE – SQLCODE
CHECKING GUIDELINES TEIL II
01 SQLCA.
05 SQLCAID PIC X(8).
05 SQLCABC PIC S9(9) COMP-5.
05 SQLCODE PIC S9(9) COMP-5.
…
PROCEDURE DIVISION.
EXEC SQL
SELECT WORT INTO :WORT01 FROM T001
END-EXEC.
MOVE A TO B
IF SQLCODE OF SQLCA NOT ZERO
DISPLAY 'SQL ERROR'
END-IF.
SQLCODE Überprüfung nicht
direkt hinter dem EXEC
Machen wir es etwas schwieriger: Die Überprüfung des SQLCODE findet
nicht direkt nach dem EXEC statt.
(VIELLEICHT) DAS EINFACHSTE ALLER BEISPIELE – SQLCODE
CHECKING GUIDELINES TEIL III
01 SQLCA.
…
05 SQLCODE PIC S9(9) COMP-5.
01 SQLCA-CUST.
…
05 SQLCODE-CUST PIC S9(9) COMP-5.
PROCEDURE DIVISION.
EXEC SQL
SELECT WORT INTO :WORT01 FROM T001
END-EXEC.
MOVE SQLCA TO SQLCA-CUST
IF SQLCODE-CUST NOT ZERO
DISPLAY 'SQL ERROR'
END-IF.
zPAAS QA ist immer noch
in der Lage die SQLCODE
Prüfung zu erkennen!
Und jetzt noch etwas anspruchsvoller: Wir übertragen die SQLCA in eine
zweite SQLCA Struktur.
(VIELLEICHT) DAS EINFACHSTE ALLER BEISPIELE – SQLCODE
CHECKING GUIDELINES TEIL IV
01 SQLCA.
…
05 SQLCODE PIC S9(9) COMP-5.
PROCEDURE DIVISION.
EXEC SQL
SELECT WORT INTO :WORT01 FROM T001
END-EXEC.
PERFORM SQL-CHECK.
SQL-CHECK.
IF SQLCODE-CUST NOT ZERO
DISPLAY 'SQL ERROR'
END-IF.
zPAAS QA erkennt die
SQLCODE Prüfung auch im
separaten Paragraphen!
Im letzten Beispiel verlagern wir die SQLCODE Prüfung in einer separaten
Paragraphen.
UNSER ANFANGSBEISPIEL: EINE SCHLEIFE, DIE KEINE
ZUVERLÄSSIGE ABBRUCHBEDINGUNG ENTHÄLT
IDENTIFICATION DIVISION.
PROGRAM-ID. TIONC08G
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 WS-COUNT
01 WS-STRINGS.
05 ALPHA
PIC S9999 COMP SYNC VALUE +0.
PIC X(10) OCCURS 100 TIMES.
PROCEDURE DIVISION.
…
* SOME LOGIC TO FILL THE ALPHA ARRAY
…
PERFORM TEST BEFORE
VARYING WS-COUNT FROM 1 BY 1
UNTIL ALPHA(WS-COUNT) = LOW-VALUE
MOVE 'END' TO ALPHA(WS-COUNT)
END-PERFORM
GOBACK.
Kein sicheres
Abbruchkriterium
DIESE SITUATION KANN zPAAS QA AUTOMATISCH ERKENNEN
UND DEM ENTWICKLER MELDEN!
IDENTIFICATION DIVISION.
PROGRAM-ID. TIONC08G
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 WS-COUNT
01 WS-STRINGS.
05 ALPHA
PIC S9999 COMP SYNC VALUE +0.
PIC X(10) OCCURS 100 TIMES.
PROCEDURE DIVISION.
…
* SOME LOGIC TO FILL THE ALPHA ARRAY
…
PERFORM TEST BEFORE
VARYING WS-COUNT FROM 1 BY 1
UNTIL ALPHA(WS-COUNT) = LOW-VALUE
MOVE 'END' TO ALPHA(WS-COUNT)
END-PERFORM
GOBACK.
zPAAS QA: DIE VORTEILE AUF EINEN BLICK
Perfekte
Integration
Keine False
Positives
Intelligente
Parser
Mandanten
und Stages
Fokus auf
Fehlervermeidung
REFERENZ STORY: BMW
Sind Sie interessiert, zPAAS QA live im
Einsatz zu sehen? Treffen Sie Herrn
Heckl von der BMW Group in München.
Rufen Sie an unter +49 751 56140 229
(Heidi Schmidt, CEO) und vereinbaren
Sie einen Termin mit uns.
NUTZEN SIE UNSEREN GUTSCHEIN FÜR EIN KOSTENLOSES
UND INDIVIDUELLES WEBINAR ZUM THEMA zPAAS QA
Dieter Kölbl
Senior Software Architekt IBM z
+49 751 56140-233
[email protected]
Tobias Braun
Technischer Kundenberater IBM z
+49 751 56140-241
[email protected]
WERTE ERHALTEN. ZUKUNFT GESTALTEN. IT-KOSTEN EINSPAREN




PKS entwickelt seit 1988 Lösungen zur Software-Modernisierung und –Migration
PKS verfügt über eine einzigartige Technologie (YYOP) zur Software-Analyse, Interpretation und -Transformation
PKS, das ist ein sympathisches und kompetentes Team mit über 100 Mannjahren
Erfahrung in der Optimierung individueller Software-Anwendungen
PKS ist verlässlicher und solider Partner für eine langjährige Zusammenarbeit
PKS LÖSUNGSPORTFOLIO IM ÜBERBLICK
Herunterladen