FLAM4SEPA-API
FLAM4 SEPA Archive Interface (z/OS only)
FL4SEPA.h
Go to the documentation of this file.
1
73#ifndef INC_FL4SEPA_H
74#define INC_FL4SEPA_H
75
76#ifdef __cplusplus
77 extern "C" {
78#endif
79
80/**********************************************************************/
81
82#ifdef __ZOS__
83# pragma linkage(CLM100NP, OS_NOSTACK)
84# pragma linkage(CLN100NP, OS_NOSTACK)
85# pragma linkage(CLM221NP, OS)
86# pragma linkage(CLN221NP, OS)
87# pragma linkage(CLM222NP, OS)
88# pragma linkage(CLN222NP, OS)
89# pragma linkage(CLM223NP, OS)
90# pragma linkage(CLN223NP, OS)
91# pragma linkage(CLU223NP, OS)
92# pragma linkage(CLX223NP, OS)
93# pragma linkage(CLG223NP, OS)
94# pragma linkage(TfCLM100NP, OS)
95# pragma linkage(TfCLN100NP, OS)
96# pragma linkage(TfCLU100NP, OS)
97# pragma linkage(TfCLX100NP, OS)
98# pragma linkage(TfCLG100NP, OS)
99#endif
100
102/**********************************************************************/
103
104#include "FL4REC.h"
105
106/**********************************************************************/
107
114#define F4S_MAXANZSF 128U
115#define F4S_MAXANZNF 50U
117#define F4S_TRAKEYLEN 50U
118#define F4S_XMLKEYLEN 33U
119#define F4S_XM1OFFSET 8055U
120#define F4S_XM2OFFSET 20090U
121#define F4S_MAXRECLEN 32125U
122#define F4S_CLTEMPLEN 32144U
123#define F4S_METAFIELD 30U
124#define F4S_LENFIELD 5U
125#define F4S_MAXSFLEN 64U
126#define F4S_BLOOMCNT 128U
127#define F4S_MAXSIGLEN 8192U
128#define F4S_DSNAMELEN 44U
129#define F4S_DDNAMELEN 8U
130#define F4S_RCLEN 2U
131#define F4S_ERRTXTLEN 80U
134/**********************************************************************/
135
207
227typedef struct F4sNfHeader
228{
229 C08 acIdBt[8];
230 C08 acIdNr[5];
233
235#define FL4SEPA_VSN21
237#include "FL4SEPAS.h"
239#undef FL4SEPA_VSN21
243#define FL4SEPA_VSN22
245#include "FL4SEPAS.h"
247#undef FL4SEPA_VSN22
251#define FL4SEPA_VSN23
253#include "FL4SEPAS.h"
255#undef FL4SEPA_VSN23
259#define FL4SEPA_VSN50
261#include "FL4SEPAS.h"
263#undef FL4SEPA_VSN50
280
312
349
378
403
467
469/******************************************************************************/
470
484typedef void (TfCLM100NP)(TsF4sLoad* psPar);
485
494typedef void (TfCLN100NP)(TsF4sSearchIn* psInPar,TsF4sOut* psOutPar);
495
505typedef void (TfCLU100NP)(const TsF4sUpdateIn* psInPar,TsF4sOut* psOutPar);
506
515typedef void (TfCLX100NP)(const TsF4sMigrateIn* psInPar,TsF4sOut* psOutPar);
516
525typedef void (TfCLG100NP)(const TsF4sGenerateIn* psInPar,TsF4sOut* psOutPar);
526
528/******************************************************************************/
529
532extern void CLM100NP(TsF4sLoad* psPar);//Old assembler Entry in Version 21
533extern void CLM221NP(TsF4sLoad* psPar);//New C entry in version 21 (same as old assembler)
534extern void CLM222NP(TsF4sLoad* psPar);//New C entry in version 22 (new search field REASRTRA)
535extern void CLM223NP(TsF4sLoad* psPar);//New C entry in version 23 (change SIGDSN from PS to KSDS for Update)
536
537extern void CLN100NP(TsF4sSearchIn* psInPar,TsF4sOut* psOutPar);//Old assembler Entry in Version 21
538extern void CLN221NP(TsF4sSearchIn* psInPar,TsF4sOut* psOutPar);//New C entry in version 21 (same as old assembler)
539extern void CLN222NP(TsF4sSearchIn* psInPar,TsF4sOut* psOutPar);//New C entry in version 22 (new search field REASRTRA)
540extern void CLN223NP(TsF4sSearchIn* psInPar,TsF4sOut* psOutPar);//New C entry in version 23 (change SIGDSN from PS to KSDS for Update)
541
542extern void CLU223NP(TsF4sUpdateIn* psInPar,TsF4sOut* psOutPar);//New C entry in version 23 (new update function)
543
544extern void CLX223NP(TsF4sMigrateIn* psInPar,TsF4sOut* psOutPar);//New C entry in version 23 (new migrate function)
545
546extern void CLG223NP(TsF4sGenerateIn* psInPar,TsF4sOut* psOutPar);//New C entry in version 23 (new migrate function)
547
548/* Proposal for new search field independent interface ************************/
549
550#define F4S_SFMTD_VERSN "VERSN"
551#define F4S_SFMTD_RESRV "RESRV"
552#define F4S_SFMTD_PRDAY "PRDAY"
553#define F4S_SFMTD_SYSTM "SYSTM"
554#define F4S_SFMTD_SVCID "SVCID"
555#define F4S_SFMTD_BF32N "BF32N"
556#define F4S_SFMTD_BF48N "BF48N"
557#define F4S_SFMTD_BF32I "BF32I"
558#define F4S_SFMTD_BF48I "BF48I"
559#define F4S_SFMTD_NOSIG "NOSIG"
561#define F4S_SFTYP_BIN "B"
562#define F4S_SFTYP_NUM "N"
563#define F4S_SFTYP_STR "S"
564
565#define F4S_SFWC_YES "Y"
566#define F4S_SFWC_NO "N"
567
568typedef struct F4sSfTab {
569// C08 acName[16]; /**< @brief Logical name for the search filed*/
570 C08 acMethod[5];
571 C08 acDatTyp[1];
572 C08 acWldCrd[1];
573 C08 acResrvd[1];
574 U32 uiDatOfs;
575 U32 uiDatLen;
576 U32 uiSigLen;
577}TsF4sSfTab;
578
579typedef struct F4sLoadInp
580{
581 C08 acListDataSet[F4S_DSNAMELEN];
582 C08 acAnzDsNames[5];
583 C08 acDdnSig[F4S_DDNAMELEN];
584 C08 acDdnTra[F4S_DDNAMELEN];
585 C08 acDdnXmlI[F4S_DDNAMELEN];
586 C08 acDdnXmlO[F4S_DDNAMELEN];
587 C08 acAnzSf[4];
588} TsF4sLoadInp;
589
590typedef struct F4sSearchInp
591{
592 C08 acDsnSig[F4S_DSNAMELEN];
593 C08 acDsnTra[F4S_DSNAMELEN];
594 C08 acDsnXmlI[F4S_DSNAMELEN];
595 C08 acDsnXmlO[F4S_DSNAMELEN];
596 C08 acMaxResults[6];
597 C08 acAnzSf[4];
598 C08 acAnzNf[2];
599}TsF4sSearchInp;
600
601typedef struct F4sSearchIds
602{
603 C08 acIdBt[8];
604 C08 acIdNr[5];
605 C08 acAnzResults[6];
606 C08 acAnzSf[4];
607}TsF4sSearchIds;
608
609typedef struct F4sSearchFields
610{
611 U32 uiIndex;
612// C08 acName[16]; /**< @brief Name for the search field*/
613 C08 acValue[F4S_MAXSFLEN];
614}TsF4sSearchFields;
615
616typedef struct F4sUpdateInp
617{
618 C08 acDelete[1];
619 C08 acUpdTra[F4S_DSNAMELEN];
620 C08 acDsnSig[F4S_DSNAMELEN];
621 C08 acDsnTra[F4S_DSNAMELEN];
622 C08 acAnzSf[4];
623} TsF4sUpdateInp;
624
625typedef struct F4sMigrateInp
626{
627 C08 acDsnSig[F4S_DSNAMELEN];
628 C08 acDsnTra[F4S_DSNAMELEN];
629 C08 acAnzSf[4];
630} TsF4sMigrateInp;
631
632typedef struct F4sGenerateInp
633{
634 C08 acDdnSig[F4S_DDNAMELEN];
635 C08 acDsnTra[F4S_DSNAMELEN];
636 C08 acAnzSf[4];
637} TsF4sGenerateInp;
638
639//New C entry in version 24 for load
640extern void CLM224NP(
641 const TsF4sSfTab* psSfTab,
642 const TsF4sLoadInp* psInpPar,
643 TsF4sOut* psOutPar);
644
645//New C entry in version 24 for lookup
646extern void CLN224NP(
647 const TsF4sSfTab* psSfTab,
648 const TsF4sSearchInp* psInpPar,
649 TsF4sSearchIds* psIds,
650 const TsF4sSearchFields*psFields,
651 TsF4sOut* psOutPar);
652
653//New C entry in version 24 for update
654extern void CLU224NP(
655 const TsF4sSfTab* psSfTab,
656 const TsF4sUpdateInp* psInpPar,
657 TsF4sOut* psOutPar);
658
659//New C entry in version 24 for migrate
660extern void CLX224NP(
661 const TsF4sSfTab* psSfTab,
662 const TsF4sMigrateInp* psInpPar,
663 TsF4sOut* psOutPar);
664
665//New C entry in version 24 for generate
666extern void CLG224NP(
667 const TsF4sSfTab* psSfTab,
668 const TsF4sGenerateInp* psInpPar,
669 TsF4sOut* psOutPar);
670
671#ifdef __cplusplus
672 }
673#endif
674
675#endif /*INC_FL4SEPA_H*/
#define F4S_ERRTXTLEN
Space for the error text.
Definition FL4SEPA.h:131
#define F4S_RCLEN
Space for the return code.
Definition FL4SEPA.h:130
#define F4S_DSNAMELEN
Space for data set names.
Definition FL4SEPA.h:128
#define F4S_MAXSFLEN
Maximum length of a search field.
Definition FL4SEPA.h:125
#define F4S_DDNAMELEN
Space for DD names.
Definition FL4SEPA.h:129
#define F4S_MAXANZNF
Maximum number of lookups per call.
Definition FL4SEPA.h:115
void TfCLM100NP(TsF4sLoad *psPar)
Load function.
Definition FL4SEPA.h:484
void TfCLN100NP(TsF4sSearchIn *psInPar, TsF4sOut *psOutPar)
Lookup function.
Definition FL4SEPA.h:494
void TfCLX100NP(const TsF4sMigrateIn *psInPar, TsF4sOut *psOutPar)
Migrate function.
Definition FL4SEPA.h:515
void TfCLG100NP(const TsF4sGenerateIn *psInPar, TsF4sOut *psOutPar)
Generate function.
Definition FL4SEPA.h:525
void TfCLU100NP(const TsF4sUpdateIn *psInPar, TsF4sOut *psOutPar)
Update function.
Definition FL4SEPA.h:505
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:399
C08 acDsnTra[F4S_DSNAMELEN]
DSN for transaction FLAMFILE of SEPA archive.
Definition FL4SEPA.h:401
C08 acDdnSig[F4S_DDNAMELEN]
DDN for signature FLAMFILE of SEPA archive.
Definition FL4SEPA.h:400
Parameter structure to load an archive.
Definition FL4SEPA.h:197
C08 acDdnSig[F4S_DDNAMELEN]
DDNAME for the signature file.
Definition FL4SEPA.h:200
C08 acDdnXmlI[F4S_DDNAMELEN]
DDNAME for the SEPA XML inbound file.
Definition FL4SEPA.h:202
C08 acRc[F4S_RCLEN]
Return code.
Definition FL4SEPA.h:204
C08 acErrorText[F4S_ERRTXTLEN]
Error text.
Definition FL4SEPA.h:205
C08 acDdnXmlO[F4S_DDNAMELEN]
DDNAME for the SEPA XML outbound file.
Definition FL4SEPA.h:203
C08 acAnzDsNames[5]
Number of FLAMFILES contained in / read from the list dataset.
Definition FL4SEPA.h:199
C08 acListDataSet[F4S_DSNAMELEN]
Name of the list dataset.
Definition FL4SEPA.h:198
C08 acDdnTra[F4S_DDNAMELEN]
DDNAME for the transaction file.
Definition FL4SEPA.h:201
Input parameter structure to migrate the signature file of the SEPA archive.
Definition FL4SEPA.h:374
C08 acDsnTra[F4S_DSNAMELEN]
DSN for transaction FLAMFILE of SEPA archive.
Definition FL4SEPA.h:376
C08 acDsnSig[F4S_DSNAMELEN]
DSN for signature FLAMFILE of SEPA archive.
Definition FL4SEPA.h:375
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:228
C08 acIdNr[5]
ID sequence number.
Definition FL4SEPA.h:230
C08 acIdBt[8]
ID of the build day.
Definition FL4SEPA.h:229
C08 acAnzResults[6]
Number of results/matches.
Definition FL4SEPA.h:231
Output structure.
Definition FL4SEPA.h:463
C08 acRc[F4S_RCLEN]
Definition FL4SEPA.h:464
C08 acErrorText[F4S_ERRTXTLEN]
Definition FL4SEPA.h:465
Input parameter structure for lookups in an archive.
Definition FL4SEPA.h:303
C08 acAnzNf[2]
Number of lookup requests.
Definition FL4SEPA.h:309
C08 acMaxResults[6]
Limit the number of results (0 = unlimited)
Definition FL4SEPA.h:308
C08 acDsnXmlO[F4S_DSNAMELEN]
DSN for XML outbound FLAMFILE of SEPA archive.
Definition FL4SEPA.h:307
C08 acDsnSig[F4S_DSNAMELEN]
DSN for signature FLAMFILE of SEPA archive.
Definition FL4SEPA.h:304
C08 acDsnTra[F4S_DSNAMELEN]
DSN for transaction FLAMFILE of SEPA archive.
Definition FL4SEPA.h:305
TuF4sNfTab unNfTab
Table containing the lookup requests.
Definition FL4SEPA.h:310
C08 acDsnXmlI[F4S_DSNAMELEN]
DSN for XML inbound FLAMFILE of SEPA archive.
Definition FL4SEPA.h:306
Input parameter structure to update records in or delete from an archive.
Definition FL4SEPA.h:343
C08 acDsnSig[F4S_DSNAMELEN]
DSN for signature FLAMFILE of SEPA archive.
Definition FL4SEPA.h:346
C08 acDsnTra[F4S_DSNAMELEN]
DSN for transaction FLAMFILE of SEPA archive.
Definition FL4SEPA.h:347
C08 acDsnUpd[F4S_DSNAMELEN]
Name of the FLAMFILE containing the records for update.
Definition FL4SEPA.h:345
C08 acDelete[1]
Set to 'Y' will delete the record, anything else will update the record.
Definition FL4SEPA.h:344
Overlay/Union for the different request structure arrays.
Definition FL4SEPA.h:274
TsF4sNfEntry50 asNfe50[F4S_MAXANZNF]
The version 2.3 request structure (identical to 2.2 but new signature format (FL5))
Definition FL4SEPA.h:278
TsF4sNfEntry23 asNfe23[F4S_MAXANZNF]
The version 2.3 request structure (identical to 2.2 but new behavior for update)
Definition FL4SEPA.h:277
TsF4sNfEntry22 asNfe22[F4S_MAXANZNF]
The version 2.2 request structure.
Definition FL4SEPA.h:276
TsF4sNfEntry21 asNfe21[F4S_MAXANZNF]
The version 2.1 request structure.
Definition FL4SEPA.h:275