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
184 typedef struct F4sLoad
185{
186 C08 acListDataSet[F4S_DSNAMELEN];
187 C08 acAnzDsNames[5];
188 C08 acDdnSig[F4S_DDNAMELEN];
189 C08 acDdnTra[F4S_DDNAMELEN];
190 C08 acDdnXmlI[F4S_DDNAMELEN];
191 C08 acDdnXmlO[F4S_DDNAMELEN];
192 C08 acRc[F4S_RCLEN];
193 C08 acErrorText[F4S_ERRTXTLEN];
194} TsF4sLoad;
195
215 typedef struct F4sNfHeader
216{
217 C08 acIdBt[8];
218 C08 acIdNr[5];
219 C08 acAnzResults[6];
220} TsF4sNfHeader;
221
223#define FL4SEPA_VSN21
225#include "FL4SEPAS.h"
227#undef FL4SEPA_VSN21
231#define FL4SEPA_VSN22
233#include "FL4SEPAS.h"
235#undef FL4SEPA_VSN22
239#define FL4SEPA_VSN23
241#include "FL4SEPAS.h"
243#undef FL4SEPA_VSN23
247#define FL4SEPA_VSN50
249#include "FL4SEPAS.h"
251#undef FL4SEPA_VSN50
261 typedef union F4sNfTab
262{
263 TsF4sNfEntry21 asNfe21[F4S_MAXANZNF];
264 TsF4sNfEntry22 asNfe22[F4S_MAXANZNF];
265 TsF4sNfEntry23 asNfe23[F4S_MAXANZNF];
266 TsF4sNfEntry50 asNfe50[F4S_MAXANZNF];
267}TuF4sNfTab;
268
290 typedef struct F4sSearchIn
291{
292 C08 acDsnSig[F4S_DSNAMELEN];
293 C08 acDsnTra[F4S_DSNAMELEN];
294 C08 acDsnXmlI[F4S_DSNAMELEN];
295 C08 acDsnXmlO[F4S_DSNAMELEN];
296 C08 acMaxResults[6];
297 C08 acAnzNf[2];
298 TuF4sNfTab unNfTab;
299}TsF4sSearchIn;
300
330 typedef struct F4sUpdateIn
331{
332 C08 acDelete[1];
333 C08 acDsnUpd[F4S_DSNAMELEN];
334 C08 acDsnSig[F4S_DSNAMELEN];
335 C08 acDsnTra[F4S_DSNAMELEN];
336} TsF4sUpdateIn;
337
360 typedef struct F4sMigrateIn
361{
362 C08 acDsnSig[F4S_DSNAMELEN];
363 C08 acDsnTra[F4S_DSNAMELEN];
364} TsF4sMigrateIn;
365
385 typedef struct F4sGenerateIn
386{
387 C08 acDdnSig[F4S_DDNAMELEN];
388 C08 acDsnTra[F4S_DSNAMELEN];
389} TsF4sGenerateIn;
390
432 typedef struct F4sOut
433{
434 C08 acRc[F4S_RCLEN];
435 C08 acErrorText[F4S_ERRTXTLEN];
436}TsF4sOut;
437
439/******************************************************************************/
440
454 typedef void (TfCLM100NP)(TsF4sLoad* psPar);
455
464 typedef void (TfCLN100NP)(TsF4sSearchIn* psInPar,TsF4sOut* psOutPar);
465
475 typedef void (TfCLU100NP)(const TsF4sUpdateIn* psInPar,TsF4sOut* psOutPar);
476
485 typedef void (TfCLX100NP)(const TsF4sMigrateIn* psInPar,TsF4sOut* psOutPar);
486
495 typedef void (TfCLG100NP)(const TsF4sGenerateIn* psInPar,TsF4sOut* psOutPar);
496
498/******************************************************************************/
499
502 extern void CLM100NP(TsF4sLoad* psPar);//Old assembler Entry in Version 21
503 extern void CLM221NP(TsF4sLoad* psPar);//New C entry in version 21 (same as old assembler)
504 extern void CLM222NP(TsF4sLoad* psPar);//New C entry in version 22 (new search field REASRTRA)
505 extern void CLM223NP(TsF4sLoad* psPar);//New C entry in version 23 (change SIGDSN from PS to KSDS for Update)
506
507 extern void CLN100NP(TsF4sSearchIn* psInPar,TsF4sOut* psOutPar);//Old assembler Entry in Version 21
508 extern void CLN221NP(TsF4sSearchIn* psInPar,TsF4sOut* psOutPar);//New C entry in version 21 (same as old assembler)
509 extern void CLN222NP(TsF4sSearchIn* psInPar,TsF4sOut* psOutPar);//New C entry in version 22 (new search field REASRTRA)
510 extern void CLN223NP(TsF4sSearchIn* psInPar,TsF4sOut* psOutPar);//New C entry in version 23 (change SIGDSN from PS to KSDS for Update)
511
512 extern void CLU223NP(TsF4sUpdateIn* psInPar,TsF4sOut* psOutPar);//New C entry in version 23 (new update function)
513
514 extern void CLX223NP(TsF4sMigrateIn* psInPar,TsF4sOut* psOutPar);//New C entry in version 23 (new migrate function)
515
516 extern void CLG223NP(TsF4sGenerateIn* psInPar,TsF4sOut* psOutPar);//New C entry in version 23 (new migrate function)
517
518/* Proposal for new search field independent interface ************************/
519
520#define F4S_SFMTD_VERSN "VERSN"
521#define F4S_SFMTD_RESRV "RESRV"
522#define F4S_SFMTD_PRDAY "PRDAY"
523#define F4S_SFMTD_SYSTM "SYSTM"
524#define F4S_SFMTD_SVCID "SVCID"
525#define F4S_SFMTD_BF32N "BF32N"
526#define F4S_SFMTD_BF48N "BF48N"
527#define F4S_SFMTD_BF32I "BF32I"
528#define F4S_SFMTD_BF48I "BF48I"
529#define F4S_SFMTD_NOSIG "NOSIG"
531#define F4S_SFTYP_BIN "B"
532#define F4S_SFTYP_NUM "N"
533#define F4S_SFTYP_STR "S"
534
535#define F4S_SFWC_YES "Y"
536#define F4S_SFWC_NO "N"
537
538 typedef struct F4sSfTab {
539// C08 acName[16]; /**< @brief Logical name for the search filed*/
540 C08 acMethod[5];
541 C08 acDatTyp[1];
542 C08 acWldCrd[1];
543 C08 acResrvd[1];
544 U32 uiDatOfs;
545 U32 uiDatLen;
546 U32 uiSigLen;
547}TsF4sSfTab;
548
549 typedef struct F4sLoadInp
550{
551 C08 acListDataSet[F4S_DSNAMELEN];
552 C08 acAnzDsNames[5];
553 C08 acDdnSig[F4S_DDNAMELEN];
554 C08 acDdnTra[F4S_DDNAMELEN];
555 C08 acDdnXmlI[F4S_DDNAMELEN];
556 C08 acDdnXmlO[F4S_DDNAMELEN];
557 C08 acAnzSf[4];
558} TsF4sLoadInp;
559
560 typedef struct F4sSearchInp
561{
562 C08 acDsnSig[F4S_DSNAMELEN];
563 C08 acDsnTra[F4S_DSNAMELEN];
564 C08 acDsnXmlI[F4S_DSNAMELEN];
565 C08 acDsnXmlO[F4S_DSNAMELEN];
566 C08 acMaxResults[6];
567 C08 acAnzSf[4];
568 C08 acAnzNf[2];
569}TsF4sSearchInp;
570
571 typedef struct F4sSearchIds
572{
573 C08 acIdBt[8];
574 C08 acIdNr[5];
575 C08 acAnzResults[6];
576 C08 acAnzSf[4];
577}TsF4sSearchIds;
578
579 typedef struct F4sSearchFields
580{
581 U32 uiIndex;
582// C08 acName[16]; /**< @brief Name for the search field*/
583 C08 acValue[F4S_MAXSFLEN];
584}TsF4sSearchFields;
585
586 typedef struct F4sUpdateInp
587{
588 C08 acDelete[1];
589 C08 acUpdTra[F4S_DSNAMELEN];
590 C08 acDsnSig[F4S_DSNAMELEN];
591 C08 acDsnTra[F4S_DSNAMELEN];
592 C08 acAnzSf[4];
593} TsF4sUpdateInp;
594
595 typedef struct F4sMigrateInp
596{
597 C08 acDsnSig[F4S_DSNAMELEN];
598 C08 acDsnTra[F4S_DSNAMELEN];
599 C08 acAnzSf[4];
600} TsF4sMigrateInp;
601
602 typedef struct F4sGenerateInp
603{
604 C08 acDdnSig[F4S_DDNAMELEN];
605 C08 acDsnTra[F4S_DSNAMELEN];
606 C08 acAnzSf[4];
607} TsF4sGenerateInp;
608
609//New C entry in version 24 for load
610 extern void CLM224NP(
611 const TsF4sSfTab* psSfTab,
612 const TsF4sLoadInp* psInpPar,
613 TsF4sOut* psOutPar);
614
615//New C entry in version 24 for lookup
616 extern void CLN224NP(
617 const TsF4sSfTab* psSfTab,
618 const TsF4sSearchInp* psInpPar,
619 TsF4sSearchIds* psIds,
620 const TsF4sSearchFields*psFields,
621 TsF4sOut* psOutPar);
622
623//New C entry in version 24 for update
624 extern void CLU224NP(
625 const TsF4sSfTab* psSfTab,
626 const TsF4sUpdateInp* psInpPar,
627 TsF4sOut* psOutPar);
628
629//New C entry in version 24 for migrate
630 extern void CLX224NP(
631 const TsF4sSfTab* psSfTab,
632 const TsF4sMigrateInp* psInpPar,
633 TsF4sOut* psOutPar);
634
635//New C entry in version 24 for generate
636 extern void CLG224NP(
637 const TsF4sSfTab* psSfTab,
638 const TsF4sGenerateInp* psInpPar,
639 TsF4sOut* psOutPar);
640
641#ifdef __cplusplus
642 }
643#endif
644
645#endif /*INC_FL4SEPA_H*/
FL4SEPAS.h
F4S_ERRTXTLEN
#define F4S_ERRTXTLEN
Space for the error text.
Definition: FL4SEPA.h:126
F4S_RCLEN
#define F4S_RCLEN
Space for the return code.
Definition: FL4SEPA.h:125
F4S_DSNAMELEN
#define F4S_DSNAMELEN
Space for data set names.
Definition: FL4SEPA.h:123
F4S_MAXSFLEN
#define F4S_MAXSFLEN
Maximum length of a search field.
Definition: FL4SEPA.h:120
F4S_DDNAMELEN
#define F4S_DDNAMELEN
Space for DD names.
Definition: FL4SEPA.h:124
F4S_MAXANZNF
#define F4S_MAXANZNF
Maximum number of lookups per call.
Definition: FL4SEPA.h:110
TfCLU100NP
void() TfCLU100NP(const TsF4sUpdateIn *psInPar, TsF4sOut *psOutPar)
Update function.
Definition: FL4SEPA.h:475
TfCLN100NP
void() TfCLN100NP(TsF4sSearchIn *psInPar, TsF4sOut *psOutPar)
Lookup function.
Definition: FL4SEPA.h:464
TfCLM100NP
void() TfCLM100NP(TsF4sLoad *psPar)
Load function.
Definition: FL4SEPA.h:454
TfCLX100NP
void() TfCLX100NP(const TsF4sMigrateIn *psInPar, TsF4sOut *psOutPar)
Migrate function.
Definition: FL4SEPA.h:485
TfCLG100NP
void() TfCLG100NP(const TsF4sGenerateIn *psInPar, TsF4sOut *psOutPar)
Generate function.
Definition: FL4SEPA.h:495
TsF4sLoad
struct F4sLoad TsF4sLoad
Parameter structure to load an archive.
TsF4sNfHeader
struct F4sNfHeader TsF4sNfHeader
Header structure for a lookup request.
TsF4sMigrateIn
struct F4sMigrateIn TsF4sMigrateIn
Input parameter structure to migrate the signature file of the SEPA archive.
TsF4sGenerateIn
struct F4sGenerateIn TsF4sGenerateIn
Input parameter structure to generate the signature file of the SEPA archive.
TsF4sUpdateIn
struct F4sUpdateIn TsF4sUpdateIn
Input parameter structure to update records in or delete from an archive.
TsF4sSearchIn
struct F4sSearchIn TsF4sSearchIn
Input parameter structure for lookups in an archive.
TuF4sNfTab
union F4sNfTab TuF4sNfTab
Overlay/Union for the different request structure arrays.
TsF4sOut
struct F4sOut TsF4sOut
Output structure.
F4sGenerateIn
Input parameter structure to generate the signature file of the SEPA archive.
Definition: FL4SEPA.h:386
F4sGenerateIn::acDsnTra
C08 acDsnTra[F4S_DSNAMELEN]
DSN for transaction FLAMFILE of SEPA archive.
Definition: FL4SEPA.h:388
F4sGenerateIn::acDdnSig
C08 acDdnSig[F4S_DDNAMELEN]
DDN for signature FLAMFILE of SEPA archive.
Definition: FL4SEPA.h:387
F4sLoad
Parameter structure to load an archive.
Definition: FL4SEPA.h:185
F4sLoad::acDdnSig
C08 acDdnSig[F4S_DDNAMELEN]
DDNAME for the signature file.
Definition: FL4SEPA.h:188
F4sLoad::acDdnXmlI
C08 acDdnXmlI[F4S_DDNAMELEN]
DDNAME for the SEPA XML inbound file.
Definition: FL4SEPA.h:190
F4sLoad::acRc
C08 acRc[F4S_RCLEN]
Return code.
Definition: FL4SEPA.h:192
F4sLoad::acErrorText
C08 acErrorText[F4S_ERRTXTLEN]
Error text.
Definition: FL4SEPA.h:193
F4sLoad::acDdnXmlO
C08 acDdnXmlO[F4S_DDNAMELEN]
DDNAME for the SEPA XML outbound file.
Definition: FL4SEPA.h:191
F4sLoad::acAnzDsNames
C08 acAnzDsNames[5]
Number of FLAMFILES contained in / read from the list dataset.
Definition: FL4SEPA.h:187
F4sLoad::acListDataSet
C08 acListDataSet[F4S_DSNAMELEN]
Name of the list dataset.
Definition: FL4SEPA.h:186
F4sLoad::acDdnTra
C08 acDdnTra[F4S_DDNAMELEN]
DDNAME for the transaction file.
Definition: FL4SEPA.h:189
F4sMigrateIn
Input parameter structure to migrate the signature file of the SEPA archive.
Definition: FL4SEPA.h:361
F4sMigrateIn::acDsnTra
C08 acDsnTra[F4S_DSNAMELEN]
DSN for transaction FLAMFILE of SEPA archive.
Definition: FL4SEPA.h:363
F4sMigrateIn::acDsnSig
C08 acDsnSig[F4S_DSNAMELEN]
DSN for signature FLAMFILE of SEPA archive.
Definition: FL4SEPA.h:362
F4sNfEntry21
Parameter structure to define the search field for an research in an archive.
Definition: FL4SEPAS.h:77
F4sNfHeader
Header structure for a lookup request.
Definition: FL4SEPA.h:216
F4sNfHeader::acIdNr
C08 acIdNr[5]
ID sequence number.
Definition: FL4SEPA.h:218
F4sNfHeader::acIdBt
C08 acIdBt[8]
ID of the build day.
Definition: FL4SEPA.h:217
F4sNfHeader::acAnzResults
C08 acAnzResults[6]
Number of results/matches.
Definition: FL4SEPA.h:219
F4sOut
Output structure.
Definition: FL4SEPA.h:433
F4sOut::acRc
C08 acRc[F4S_RCLEN]
Definition: FL4SEPA.h:434
F4sOut::acErrorText
C08 acErrorText[F4S_ERRTXTLEN]
Definition: FL4SEPA.h:435
F4sSearchIn
Input parameter structure for lookups in an archive.
Definition: FL4SEPA.h:291
F4sSearchIn::acAnzNf
C08 acAnzNf[2]
Number of lookup requests.
Definition: FL4SEPA.h:297
F4sSearchIn::acMaxResults
C08 acMaxResults[6]
Limit the number of results (0 = unlimited)
Definition: FL4SEPA.h:296
F4sSearchIn::acDsnXmlO
C08 acDsnXmlO[F4S_DSNAMELEN]
DSN for XML outbound FLAMFILE of SEPA archive.
Definition: FL4SEPA.h:295
F4sSearchIn::acDsnSig
C08 acDsnSig[F4S_DSNAMELEN]
DSN for signature FLAMFILE of SEPA archive.
Definition: FL4SEPA.h:292
F4sSearchIn::acDsnTra
C08 acDsnTra[F4S_DSNAMELEN]
DSN for transaction FLAMFILE of SEPA archive.
Definition: FL4SEPA.h:293
F4sSearchIn::unNfTab
TuF4sNfTab unNfTab
Table containing the lookup requests.
Definition: FL4SEPA.h:298
F4sSearchIn::acDsnXmlI
C08 acDsnXmlI[F4S_DSNAMELEN]
DSN for XML inbound FLAMFILE of SEPA archive.
Definition: FL4SEPA.h:294
F4sUpdateIn
Input parameter structure to update records in or delete from an archive.
Definition: FL4SEPA.h:331
F4sUpdateIn::acDsnSig
C08 acDsnSig[F4S_DSNAMELEN]
DSN for signature FLAMFILE of SEPA archive.
Definition: FL4SEPA.h:334
F4sUpdateIn::acDsnTra
C08 acDsnTra[F4S_DSNAMELEN]
DSN for transaction FLAMFILE of SEPA archive.
Definition: FL4SEPA.h:335
F4sUpdateIn::acDsnUpd
C08 acDsnUpd[F4S_DSNAMELEN]
Name of the FLAMFILE containing the records for update.
Definition: FL4SEPA.h:333
F4sUpdateIn::acDelete
C08 acDelete[1]
Set to 'Y' will delete the record, anything else will update the record.
Definition: FL4SEPA.h:332
F4sNfTab
Overlay/Union for the different request structure arrays.
Definition: FL4SEPA.h:262
F4sNfTab::asNfe50
TsF4sNfEntry50 asNfe50[F4S_MAXANZNF]
The version 2.3 request structure (identical to 2.2 but new signature format (FL5))
Definition: FL4SEPA.h:266
F4sNfTab::asNfe23
TsF4sNfEntry23 asNfe23[F4S_MAXANZNF]
The version 2.3 request structure (identical to 2.2 but new behavior for update)
Definition: FL4SEPA.h:265
F4sNfTab::asNfe22
TsF4sNfEntry22 asNfe22[F4S_MAXANZNF]
The version 2.2 request structure.
Definition: FL4SEPA.h:264
F4sNfTab::asNfe21
TsF4sNfEntry21 asNfe21[F4S_MAXANZNF]
The version 2.1 request structure.
Definition: FL4SEPA.h:263