[{TableOfContents }]

!!!DEFINE INTERFACE FORMATS
The Define Interface Formats (IDIF) screen allows you to define the interface formats. The header section of the form identifies the interface being defined. The detail section outlines each record and field, and transformations to be performed.

The definition data for the Define Interface Formats screen is stored in the [P2K_CM_INTERFACE_FORMATS] and [P2K_CM_INTERFACE_FIELDS] tables.

;[Code|INTERFACE_CODE]:This field identifies the name of the interface. 
;[Interface Type|INTERFACE_TYPE]:This field identifies the program to be executed and restricts the variables that are available. 
;[File Format|FIELD_DELIMITER]:This field identifies how the data is going to be created. e.g.fixed position, comma or tab delimited, XML. 
;[Form Type|FORM_TYPE]:This field is typically used for legislation type interfaces such as [UPROEF]. 
;[Description|DESCRIPTION]:This field provides a brief description of the purpose of the interface. 
;[File Name|FILE_NAME]:This field specifies the default file name; otherwise the file name is entered on a parameter in the function. 
;[File Creation Number|FILE_CREATION_NUMBER]:Some programs (mostly banking ones) use this number to uniquely identify the execution. 
;[Taxation Level|TAXATION_LEVEL]:This field is used for year end and quarterly reporting by functions such as [RPYEC] and [RPYEU]. 
\\
The details section of the form includes a grid where the fields are mapped to positions within the file. Not all of the detail fields are used by all of the programs using interfaces.
\\
\\
;[Record Number|RECORD_NUMBER]:This is a user assigned record number. Each record number generates a new line in the interface file. The following are suggested record numbers. You can set up your own numbers.
|__Record Number__ |__Interface File Records Generated__
|0 |Qualify Records
|1 - 29| Header Records
|30 - 69| Detail Records
|70 - 99 |Trailer Records

;[Field Number|FIELD_NUMBER]:This is a user assigned number.
;[Name|FIELD_NAME]:This is a user assigned field name.
;[XML Tag|XML_TAG]:This optional field is used for XML File Format only. If XML Tag is not specified for XML File, then the Name field is used as XML Tag.
;[Beginning Position|FIELD_START_BYTE]:Used if the File Format is a 'Fixed Format'. The Beginning and Ending positions must be continuous without gap.
;[Ending Position|FIELD_END_BYTE]:If the File Format = 'Fixed Format', you must specify the Beginning and Ending positions. These positions must be continuous without gap, otherwise an error situation will occur. Beginning/Ending positions are not needed for XML and other file format.
;[Field Type|FIELD_TYPE]:Field Type can be defined as 'Char', 'Number' or 'Date'.
;[Variable Name|X_INF_VARIABLE_NAME]:Variable Name is used for outbound interfaces only. 
;[Sort Sequence|SORT_SEQUENCE]:This field specifies the sort sequence for this Record #, Field # and is used for Record # with Record Type = 'Detail Record' only \\For Record # with Record Type = 'Detail Level 1' to 'Detail Level 5', it uses the same Sort from Record Type = 'Detail Record' so that the Detail Level n records are followed after the 'Detail Record'
;:e.g. Interface File need to sort by: Department, Employee First Name, Last Name
* For the Fld# entry that specify 'Department', enter sort sequence: 100
* For the Fld# that specify 'Employee First Name', enter sort sequence: 150
* For the Fld# that specify 'Employee Last Name', enter sort sequence: 200
;:All Sort sequences must be entered on entries with the same Record Number.
;:Sort Sequence is not supported for XML file format because XML file may specify many different Record # to generate XML begin and end tags and the XML tags are not able to sort along with the data.
;[Format Mask|FORMAT_MASK]:The format mask is applicable to Numeric and Date field.
;[Record Type|RECORD_TYPE]:Record Type is typically only used for outbound interfaces. 
;[Record Identifier|RECORD_IDENTIFIER]:This field is not currently used.
;[Constant Value|CONSTANT_VALUE]:If the Variable Name = 'Constant Value', this field specifies the Constant Value to be used. 
;:If the Variable Name = 'User Calc', this field specifies the User Calc Name
;:If the Variable Name = 'Statistics Amt', this field specifies the Statistics Code
;:If the Variable Name = 'Element', this field specifies the Element Code
;:If the Variable Name = 'Total Value', this field specifies the Rec# and Field # of the Detail Records to be totaled
;:e.g. Record # 50 Field 70 is to be totaled and Total option = 'Calculate Total', then the Trailer record can report the 'Total Value', Constant value should be 5070
;[Add to UK Set|ADD_TO_UK]:Used to manually add columns to the destination tables' UK column set by toggling the 'Add to UK set' check box. This will only add the column as a UK column to the existing UK set for the destination table. It will not act as a UK set override.
;[Print Zero Rule|PRINT_ZERO_RULE]:This field is applicable to the Numeric field only and is used for Record Type = 'Detail Record'.
;:If the amount is zero, this field indicates to include this amount in the interface file or not.
;:e.g. if the field is from 'Statistics Amount' and the amount is zero, the user may not want to report this amount
;:If all the numeric amounts are zero within one Record# and the Print Zero Rule are set to 'Do not Print zeros' for each field, then this entry will not be reported on interface file.
;[XML Tag Option|XML_TAG_OPTION]:This is applicable to the XML file, if the Variable Name = 'XML begin Tag' or 'XML end Tag'. This field option indicates if the XML Tag should be written. 
;[Accum Option|ACCUM_OPTION]: This field is applicable to the Numeric field only and is used for Record Type = 'Detail Record'. This field indicates if this Record #, Field # amount should be accumulated or not. e.g. if the field is a 'Pay Number' or 'Check Number', then do not accumulate \\If the field is 'Element Value' or 'PC Amount', then you may want to accumulate to avoid writing too much detail per element or per pay component. 
;[Total Option|TOTAL_OPTION]: This field is applicable to the Numeric field only and is used for Record Type = Detail Record, Detail Level n. This field indicates if this Record #, Field # amount should be totaled for Header or Trailer record. e.g. if the field is a 'FTE' or 'Rate of Pay', then do not totaled \\If the field is 'Statistics Amount' or 'User Calc Amount', then you may want to calculate the total for Trailer record.  
;[Derivation Expression|DERIVATION_EXPRESSION]:This field specifies the derivation expression for the Variable name. Derivation expressions provide the ability to translate values or to retrieve information otherwise not accessible in an interface format in IDIF. Data from within the [{$applicationname}] database may need to be translated to match the requirements from a receiving third party system. Also, data within a source file may need to be translated to match the [{$applicationname}] specifications.

;:For additional information on what may be used within the Derivation Expression field see the page titled [CALLABLE FUNCTION]. 


----
![Notes|Edit:Internal.IDIF] 	
[{InsertPage page='Internal.IDIF' default='Click to create a new notes page'}]