dadllxch2DLL Usage description Library: dadllxch2 This library contains functionality regarding:
Thus for tables daxch002, daxch003, daxch005, daxch006, daxch012, and daxch010. General remarks about parameters:
DLL Prototypes function extern long ASCII.field.is.used( const domain daxch.cxch xch.scheme, const domain daxch.casf ASCII.file, const domain daxch.fdnm field.name ) pre : true return: whether the provided ASCII field is used somewhere in import or export post : ret => at least one of the 2 records daxch022 or daxch032 is filled with the record pointing to the given ASCIIfield function extern long ASCII.field.is.used.in.export( const domain daxch.cxch xch.scheme, const domain daxch.casf ASCII.file, const domain daxch.fdnm field.name, [ domain daxch.cbat batch ], [ domain daxch.batl batl ] ) pre : true return: whether the provided ASCII field is used in an export field relation post : ret => record of daxch032 is filled with a record pointing to the given ASCII field function extern long ASCII.field.is.used.in.import( const domain daxch.cxch xch.scheme, const domain daxch.casf ASCII.file, const domain daxch.fdnm field.name, [ domain daxch.cbat batch ], [ domain daxch.batl batl ] ) pre : true return: whether the provided ASCII field is used in an import field relation of the given exchange scheme. If the optional parameters are specified the ASCII field should be used in the given batchline. post : ret => record of daxch022 is filled with a record pointing to the given ASCII field function extern long ASCII.fieldname.exists( const domain daxch.cxch xch.scheme, const domain daxch.casf ASCII.file, const domain daxch.fdnm ASCII.fdnm ) pre : true return: whether the given ASCII file fieldname exists post : fields of daxch003 have been filled function extern long ASCII.fieldnumber.exists( const domain daxch.cxch xch.scheme, const domain daxch.casf ASCII.file, domain daxch.intg field.no ) pre : true return: whether the given ASCII file fieldnumber exists post : fields of daxch003 have been filled function extern long ASCII.file.exists( const domain daxch.cxch xch.scheme, const domain daxch.casf ASCII.file, [ long company ] ) pre : true return: whether the given ASCII file exists post : fields of daxch002 have been filled function extern clear.ASCII.fields( domain daxch.cxch cxch.f, [ domain daxch.cxch cxch.t ], [ domain daxch.casf casf.f ], [ domain daxch.casf casf.t ], [ domain daxch.pint fdno.f ], [ domain daxch.pint fdno.t ], [ long do.commit ] ) pre : true post : ASCIIfile fields are deleted with an inrange on the from and to fields.state : do.commit <=> a new retry point will be set and commits will be given function extern clear.ASCII.files( domain daxch.cxch cxch.f, [ domain daxch.cxch cxch.t ], [ domain daxch.casf casf.f ], [ domain daxch.casf casf.t ], [ long do.commit ] ) pre : true post : ASCIIi files are deleted with an inrange on the from and to fields. state : do.commit <=> a new retry point and a commit will be set/given function extern clear.conversions( domain daxch.cxch cxch.f, [ domain daxch.cxch cxch.t ], [ domain daxch.ttbl ttbl.f ], [ domain daxch.ttbl ttbl.t ], [ domain daxch.tfld tfld.f ], [ domain daxch.tfld tfld.t ], [ long do.commit ] ) pre : true post : conversion per fields are deleted with an inrange on the from and to fields. state : a new retry point will be set and commits will be given function extern clear.ranges( domain daxch.cxch cxch.f, [ domain daxch.cxch cxch.t ], [ domain daxch.cbat cbat.f ], [ domain daxch.cbat cbat.t ], [ domain daxch.ttbl ttbl.f ], [ domain daxch.ttbl ttbl.t ], [ long do.commit ] ) pre : true post : conversion per fields are deleted with an inrange on the from and to fields. state : a new retry point will be set and commits will be given function extern clear.relations( domain daxch.cxch cxch.f, [ domain daxch.cxch cxch.t ], [ domain daxch.crel crel.f ], [ domain daxch.crel crel.t ], [ long do.commit ] ) pre : true post : relations are deleted with an inrange on the from and to fields. state : a new retry point will be set and commits will be given function extern long conversion.exists( const domain daxch.cxch xch.scheme, const domain daxch.ttbl triton.table, const domain daxch.tfld triton.field ) pre : true return: whether a conversion exists for the given table field in the given exchange scheme post : fields of daxch006 are filled function extern long create.definition.file( const domain daxch.cxch xch.scheme, const domain daxch.casf ASCII.file, const string def.file() ) return: whether the definition file could be created for the given ASCII file. post : ret ==> def.file will be filled with the definition of the given ASCII file. desc : For the lay-out of the definition file see the dllusage of function load.definition.file (this library) function extern long determine.record.length( const domain daxch.cxch xch.scheme, const domain daxch.casf ASCII.file, const string separator() ) pre : true return: - if isspace(separator): record length as can be computed from daxch003 (ASCII file formats): * MAX(starting position + length - 1) for the given ASCII.file; * MaxLineLen if the ASCII file has no fields. - if not isspace(separator): MaxLineLen function extern long exists.one.ASCII.field( const domain daxch.cxch xch.scheme, const domain daxch.casf ASCII.file ) pre : true return: whether there exists at least one ASCII field for the given ASCII file function extern long get.last.fieldnumber( const domain daxch.cxch xch.scheme, const domain daxch.casf ASCII.file ) pre : true return: maximum field number of xch.scheme/ASCII.file; 0 if no field number found or error function extern long get.max.srno( const domain daxch.cxch xch.scheme, const domain daxch.cbat batch, const domain daxch.ttbl tble ) pre : true return: maximum srno for the range of the given table (0 if no range exists) function extern long get.number.of.fields( const domain daxch.cxch xch.scheme, const domain daxch.casf ASCII.file ) pre : true return: the number of ASCII file fields (= ASCII file formats) of the given ASCII.file function extern long get.text.constant( [ long processing.company ], [ long startup.company ] ) pre : true return: the textconstant belonging to processing.company as found in the table of company startup.company. function extern long is.multiline.text.field( const domain daxch.cxch xch.scheme, const domain daxch.casf ASCII.file, const domain daxch.fdnm ASCII.fdnm ) pre : true return: whether the given ASCII file fieldname exists and is of type multiline post : fields of daxch003 have been filled function extern long load.definition.file( const domain daxch.cxch xch.scheme, const domain daxch.casf ASCII.file, const string def.file() ) pre : xch.scheme <> "" and ASCII.file <> "" and both should exist in their tables (daxch001 and daxch002) return: whether the ASCII ifle layout could be created using the contents of file def.file post : ret = true ==> daxch003 has been filled with the asci file layout for the given ASCII file ret = false => table daxch003 should be unchanged (provided that the abort mechanism works properly for the used database) desc : lines in def.file should have the following format: position 1- 2 field number (number) position 5-12 field name position 13-42 description position 43-46 field position (number) position 47-50 field length (number) position 51 field type (positive integer) position 52-53 date format (positive integer) position 54 floating decimal (yes/no) position 55-56 digits after decimal (positive integer) function extern long range.exists( const domain daxch.cxch xch.scheme, const domain daxch.cbat batch, const domain daxch.ttbl tble ) pre : true return: whether a range exists for the given table/batch/xch-scheme combination function extern recalculate.start.positions( const domain daxch.cxch xch.scheme, const domain daxch.casf ASCII.file ) pre : true post : start position of ASCII file fields are renumbered. desc : This function recalculates the start positions for the ASCII file, based on the field lengths. The first field will get start position 1, the other fields one will get a start position equal to: start position of previous field + length of previous field. Note: the start position of multiline fields (0) is not changed. function extern long relation.exists( const domain daxch.cxch xch.scheme, const domain daxch.crel daxch.base.rel.code ) pre : true return: whether the given relation exists post : fields of daxch005 have been filled (with a random conversion within the given relation) function extern update.conversion( const domain daxch.cxch xch.scheme, const domain daxch.ttbl triton.table, const domain daxch.tfld triton.field, const domain daxch.crel conv.relation ) pre : true post : if combination xch.scheme/triton table/triton field already exists in table daxch006 then daxch006.crel will be set to conv.relation, else a new record will be inserted into table daxch006 having xch.scheme, triton table, triton field and conv.relation function extern long update.text.constant( [ long processing.company ], [ long startup.company ] ) pre : the current batchline should process tttxt001 return: the textconstant for the processing.company (the highest currently available textnumber) post : the return value will also be stored in the text constant table (daxch010) of company startup.company, so subsequent application batchlines may use it. state: a retry.point is set and a commit is given
| |||