FLAM4SEPA-API
FLAM4 SEPA Archive Interface (z/OS only)
FL4SEPA.h
Go to the documentation of this file.
1
68#ifndef INC_FL4SEPA_H
69#define INC_FL4SEPA_H
70
71#ifdef __cplusplus
72 extern "C" {
73#endif
74
75/**********************************************************************/
76
77#ifdef __ZOS__
78# pragma linkage(CLM100NP, OS_NOSTACK)
79# pragma linkage(CLN100NP, OS_NOSTACK)
80# pragma linkage(CLM221NP, OS)
81# pragma linkage(CLN221NP, OS)
82# pragma linkage(CLM222NP, OS)
83# pragma linkage(CLN222NP, OS)
84# pragma linkage(CLM223NP, OS)
85# pragma linkage(CLN223NP, OS)
86# pragma linkage(CLU223NP, OS)
87# pragma linkage(CLX223NP, OS)
88# pragma linkage(CLG223NP, OS)
89# pragma linkage(TfCLM100NP, OS)
90# pragma linkage(TfCLN100NP, OS)
91# pragma linkage(TfCLU100NP, OS)
92# pragma linkage(TfCLX100NP, OS)
93# pragma linkage(TfCLG100NP, OS)
94#endif
95
97/**********************************************************************/
98
99#include "FL4REC.h"
100
101/**********************************************************************/
102
109#define F4S_MAXANZSF 128U
110#define F4S_MAXANZNF 50U
112#define F4S_TRAKEYLEN 50U
113#define F4S_XMLKEYLEN 33U
114#define F4S_XM1OFFSET 8055U
115#define F4S_XM2OFFSET 20090U
116#define F4S_MAXRECLEN 32125U
117#define F4S_CLTEMPLEN 32144U
118#define F4S_METAFIELD 30U
119#define F4S_LENFIELD 5U
120#define F4S_MAXSFLEN 64U
121#define F4S_BLOOMCNT 128U
122#define F4S_MAXSIGLEN 8192U
123#define F4S_DSNAMELEN 44U
124#define F4S_DDNAMELEN 8U
125#define F4S_RCLEN 2U
126#define F4S_ERRTXTLEN 80U
129/**********************************************************************/
130
202
222typedef struct F4sNfHeader
223{
224 C08 acIdBt[8];
225 C08 acIdNr[5];
228
230#define FL4SEPA_VSN21
232#include "FL4SEPAS.h"
234#undef FL4SEPA_VSN21
238#define FL4SEPA_VSN22
240#include "FL4SEPAS.h"
242#undef FL4SEPA_VSN22
246#define FL4SEPA_VSN23
248#include "FL4SEPAS.h"
250#undef FL4SEPA_VSN23
254#define FL4SEPA_VSN50
256#include "FL4SEPAS.h"
258#undef FL4SEPA_VSN50
275
307
344
373
398
462
464/******************************************************************************/
465
479typedef void (TfCLM100NP)(TsF4sLoad* psPar);
480
489typedef void (TfCLN100NP)(TsF4sSearchIn* psInPar,TsF4sOut* psOutPar);
490
500typedef void (TfCLU100NP)(const TsF4sUpdateIn* psInPar,TsF4sOut* psOutPar);
501
510typedef void (TfCLX100NP)(const TsF4sMigrateIn* psInPar,TsF4sOut* psOutPar);
511
520typedef void (TfCLG100NP)(const TsF4sGenerateIn* psInPar,TsF4sOut* psOutPar);
521
523/******************************************************************************/
524
527extern void CLM100NP(TsF4sLoad* psPar);//Old assembler Entry in Version 21
528extern void CLM221NP(TsF4sLoad* psPar);//New C entry in version 21 (same as old assembler)
529extern void CLM222NP(TsF4sLoad* psPar);//New C entry in version 22 (new search field REASRTRA)
530extern void CLM223NP(TsF4sLoad* psPar);//New C entry in version 23 (change SIGDSN from PS to KSDS for Update)
531
532extern void CLN100NP(TsF4sSearchIn* psInPar,TsF4sOut* psOutPar);//Old assembler Entry in Version 21
533extern void CLN221NP(TsF4sSearchIn* psInPar,TsF4sOut* psOutPar);//New C entry in version 21 (same as old assembler)
534extern void CLN222NP(TsF4sSearchIn* psInPar,TsF4sOut* psOutPar);//New C entry in version 22 (new search field REASRTRA)
535extern void CLN223NP(TsF4sSearchIn* psInPar,TsF4sOut* psOutPar);//New C entry in version 23 (change SIGDSN from PS to KSDS for Update)
536
537extern void CLU223NP(TsF4sUpdateIn* psInPar,TsF4sOut* psOutPar);//New C entry in version 23 (new update function)
538
539extern void CLX223NP(TsF4sMigrateIn* psInPar,TsF4sOut* psOutPar);//New C entry in version 23 (new migrate function)
540
541extern void CLG223NP(TsF4sGenerateIn* psInPar,TsF4sOut* psOutPar);//New C entry in version 23 (new migrate function)
542
543/* Proposal for new search field independent interface ************************/
544
545#define F4S_SFMTD_VERSN "VERSN"
546#define F4S_SFMTD_RESRV "RESRV"
547#define F4S_SFMTD_PRDAY "PRDAY"
548#define F4S_SFMTD_SYSTM "SYSTM"
549#define F4S_SFMTD_SVCID "SVCID"
550#define F4S_SFMTD_BF32N "BF32N"
551#define F4S_SFMTD_BF48N "BF48N"
552#define F4S_SFMTD_BF32I "BF32I"
553#define F4S_SFMTD_BF48I "BF48I"
554#define F4S_SFMTD_NOSIG "NOSIG"
556#define F4S_SFTYP_BIN "B"
557#define F4S_SFTYP_NUM "N"
558#define F4S_SFTYP_STR "S"
559
560#define F4S_SFWC_YES "Y"
561#define F4S_SFWC_NO "N"
562
563typedef struct F4sSfTab {
564// C08 acName[16]; /**< @brief Logical name for the search filed*/
565 C08 acMethod[5];
566 C08 acDatTyp[1];
567 C08 acWldCrd[1];
568 C08 acResrvd[1];
569 U32 uiDatOfs;
570 U32 uiDatLen;
571 U32 uiSigLen;
572}TsF4sSfTab;
573
574typedef struct F4sLoadInp
575{
576 C08 acListDataSet[F4S_DSNAMELEN];
577 C08 acAnzDsNames[5];
578 C08 acDdnSig[F4S_DDNAMELEN];
579 C08 acDdnTra[F4S_DDNAMELEN];
580 C08 acDdnXmlI[F4S_DDNAMELEN];
581 C08 acDdnXmlO[F4S_DDNAMELEN];
582 C08 acAnzSf[4];
583} TsF4sLoadInp;
584
585typedef struct F4sSearchInp
586{
587 C08 acDsnSig[F4S_DSNAMELEN];
588 C08 acDsnTra[F4S_DSNAMELEN];
589 C08 acDsnXmlI[F4S_DSNAMELEN];
590 C08 acDsnXmlO[F4S_DSNAMELEN];
591 C08 acMaxResults[6];
592 C08 acAnzSf[4];
593 C08 acAnzNf[2];
594}TsF4sSearchInp;
595
596typedef struct F4sSearchIds
597{
598 C08 acIdBt[8];
599 C08 acIdNr[5];
600 C08 acAnzResults[6];
601 C08 acAnzSf[4];
602}TsF4sSearchIds;
603
604typedef struct F4sSearchFields
605{
606 U32 uiIndex;
607// C08 acName[16]; /**< @brief Name for the search field*/
608 C08 acValue[F4S_MAXSFLEN];
609}TsF4sSearchFields;
610
611typedef struct F4sUpdateInp
612{
613 C08 acDelete[1];
614 C08 acUpdTra[F4S_DSNAMELEN];
615 C08 acDsnSig[F4S_DSNAMELEN];
616 C08 acDsnTra[F4S_DSNAMELEN];
617 C08 acAnzSf[4];
618} TsF4sUpdateInp;
619
620typedef struct F4sMigrateInp
621{
622 C08 acDsnSig[F4S_DSNAMELEN];
623 C08 acDsnTra[F4S_DSNAMELEN];
624 C08 acAnzSf[4];
625} TsF4sMigrateInp;
626
627typedef struct F4sGenerateInp
628{
629 C08 acDdnSig[F4S_DDNAMELEN];
630 C08 acDsnTra[F4S_DSNAMELEN];
631 C08 acAnzSf[4];
632} TsF4sGenerateInp;
633
634//New C entry in version 24 for load
635extern void CLM224NP(
636 const TsF4sSfTab* psSfTab,
637 const TsF4sLoadInp* psInpPar,
638 TsF4sOut* psOutPar);
639
640//New C entry in version 24 for lookup
641extern void CLN224NP(
642 const TsF4sSfTab* psSfTab,
643 const TsF4sSearchInp* psInpPar,
644 TsF4sSearchIds* psIds,
645 const TsF4sSearchFields*psFields,
646 TsF4sOut* psOutPar);
647
648//New C entry in version 24 for update
649extern void CLU224NP(
650 const TsF4sSfTab* psSfTab,
651 const TsF4sUpdateInp* psInpPar,
652 TsF4sOut* psOutPar);
653
654//New C entry in version 24 for migrate
655extern void CLX224NP(
656 const TsF4sSfTab* psSfTab,
657 const TsF4sMigrateInp* psInpPar,
658 TsF4sOut* psOutPar);
659
660//New C entry in version 24 for generate
661extern void CLG224NP(
662 const TsF4sSfTab* psSfTab,
663 const TsF4sGenerateInp* psInpPar,
664 TsF4sOut* psOutPar);
665
666#ifdef __cplusplus
667 }
668#endif
669
670#endif /*INC_FL4SEPA_H*/
#define F4S_ERRTXTLEN
Space for the error text.
Definition FL4SEPA.h:126
#define F4S_RCLEN
Space for the return code.
Definition FL4SEPA.h:125
#define F4S_DSNAMELEN
Space for data set names.
Definition FL4SEPA.h:123
#define F4S_MAXSFLEN
Maximum length of a search field.
Definition FL4SEPA.h:120
#define F4S_DDNAMELEN
Space for DD names.
Definition FL4SEPA.h:124
#define F4S_MAXANZNF
Maximum number of lookups per call.
Definition FL4SEPA.h:110
void TfCLM100NP(TsF4sLoad *psPar)
Load function.
Definition FL4SEPA.h:479
void TfCLN100NP(TsF4sSearchIn *psInPar, TsF4sOut *psOutPar)
Lookup function.
Definition FL4SEPA.h:489
void TfCLX100NP(const TsF4sMigrateIn *psInPar, TsF4sOut *psOutPar)
Migrate function.
Definition FL4SEPA.h:510
void TfCLG100NP(const TsF4sGenerateIn *psInPar, TsF4sOut *psOutPar)
Generate function.
Definition FL4SEPA.h:520
void TfCLU100NP(const TsF4sUpdateIn *psInPar, TsF4sOut *psOutPar)
Update function.
Definition FL4SEPA.h:500
struct F4sLoad TsF4sLoad
Parameter structure to load an archive.
struct F4sNfHeader TsF4sNfHeader
Header structure for a lookup request.
struct F4sMigrateIn TsF4sMigrateIn
Input parameter structure to migrate the signature file of the SEPA archive.
struct F4sGenerateIn TsF4sGenerateIn
Input parameter structure to generate the signature file of the SEPA archive.
struct F4sUpdateIn TsF4sUpdateIn
Input parameter structure to update records in or delete from an archive.
struct F4sSearchIn TsF4sSearchIn
Input parameter structure for lookups in an archive.
union F4sNfTab TuF4sNfTab
Overlay/Union for the different request structure arrays.
struct F4sOut TsF4sOut
Output structure.
Input parameter structure to generate the signature file of the SEPA archive.
Definition FL4SEPA.h:394
C08 acDsnTra[F4S_DSNAMELEN]
DSN for transaction FLAMFILE of SEPA archive.
Definition FL4SEPA.h:396
C08 acDdnSig[F4S_DDNAMELEN]
DDN for signature FLAMFILE of SEPA archive.
Definition FL4SEPA.h:395
Parameter structure to load an archive.
Definition FL4SEPA.h:192
C08 acDdnSig[F4S_DDNAMELEN]
DDNAME for the signature file.
Definition FL4SEPA.h:195
C08 acDdnXmlI[F4S_DDNAMELEN]
DDNAME for the SEPA XML inbound file.
Definition FL4SEPA.h:197
C08 acRc[F4S_RCLEN]
Return code.
Definition FL4SEPA.h:199
C08 acErrorText[F4S_ERRTXTLEN]
Error text.
Definition FL4SEPA.h:200
C08 acDdnXmlO[F4S_DDNAMELEN]
DDNAME for the SEPA XML outbound file.
Definition FL4SEPA.h:198
C08 acAnzDsNames[5]
Number of FLAMFILES contained in / read from the list dataset.
Definition FL4SEPA.h:194
C08 acListDataSet[F4S_DSNAMELEN]
Name of the list dataset.
Definition FL4SEPA.h:193
C08 acDdnTra[F4S_DDNAMELEN]
DDNAME for the transaction file.
Definition FL4SEPA.h:196
Input parameter structure to migrate the signature file of the SEPA archive.
Definition FL4SEPA.h:369
C08 acDsnTra[F4S_DSNAMELEN]
DSN for transaction FLAMFILE of SEPA archive.
Definition FL4SEPA.h:371
C08 acDsnSig[F4S_DSNAMELEN]
DSN for signature FLAMFILE of SEPA archive.
Definition FL4SEPA.h:370
Parameter structure to define the search field for an research in an archive.
Definition FL4SEPAS.h:77
Header structure for a lookup request.
Definition FL4SEPA.h:223
C08 acIdNr[5]
ID sequence number.
Definition FL4SEPA.h:225
C08 acIdBt[8]
ID of the build day.
Definition FL4SEPA.h:224
C08 acAnzResults[6]
Number of results/matches.
Definition FL4SEPA.h:226
Output structure.
Definition FL4SEPA.h:458
C08 acRc[F4S_RCLEN]
Definition FL4SEPA.h:459
C08 acErrorText[F4S_ERRTXTLEN]
Definition FL4SEPA.h:460
Input parameter structure for lookups in an archive.
Definition FL4SEPA.h:298
C08 acAnzNf[2]
Number of lookup requests.
Definition FL4SEPA.h:304
C08 acMaxResults[6]
Limit the number of results (0 = unlimited)
Definition FL4SEPA.h:303
C08 acDsnXmlO[F4S_DSNAMELEN]
DSN for XML outbound FLAMFILE of SEPA archive.
Definition FL4SEPA.h:302
C08 acDsnSig[F4S_DSNAMELEN]
DSN for signature FLAMFILE of SEPA archive.
Definition FL4SEPA.h:299
C08 acDsnTra[F4S_DSNAMELEN]
DSN for transaction FLAMFILE of SEPA archive.
Definition FL4SEPA.h:300
TuF4sNfTab unNfTab
Table containing the lookup requests.
Definition FL4SEPA.h:305
C08 acDsnXmlI[F4S_DSNAMELEN]
DSN for XML inbound FLAMFILE of SEPA archive.
Definition FL4SEPA.h:301
Input parameter structure to update records in or delete from an archive.
Definition FL4SEPA.h:338
C08 acDsnSig[F4S_DSNAMELEN]
DSN for signature FLAMFILE of SEPA archive.
Definition FL4SEPA.h:341
C08 acDsnTra[F4S_DSNAMELEN]
DSN for transaction FLAMFILE of SEPA archive.
Definition FL4SEPA.h:342
C08 acDsnUpd[F4S_DSNAMELEN]
Name of the FLAMFILE containing the records for update.
Definition FL4SEPA.h:340
C08 acDelete[1]
Set to 'Y' will delete the record, anything else will update the record.
Definition FL4SEPA.h:339
Overlay/Union for the different request structure arrays.
Definition FL4SEPA.h:269
TsF4sNfEntry50 asNfe50[F4S_MAXANZNF]
The version 2.3 request structure (identical to 2.2 but new signature format (FL5))
Definition FL4SEPA.h:273
TsF4sNfEntry23 asNfe23[F4S_MAXANZNF]
The version 2.3 request structure (identical to 2.2 but new behavior for update)
Definition FL4SEPA.h:272
TsF4sNfEntry22 asNfe22[F4S_MAXANZNF]
The version 2.2 request structure.
Definition FL4SEPA.h:271
TsF4sNfEntry21 asNfe21[F4S_MAXANZNF]
The version 2.1 request structure.
Definition FL4SEPA.h:270