> For the complete documentation index, see [llms.txt](https://docs.editran.onesait.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.editran.onesait.com/documentacion-editran/ibm-editran-v5.3-cics-en/electronic-signature/batch-functions.md).

# Batch functions

Editran/FF performs signing and verification operations through batch procedures that are usually associated with Editran's pre-issuance and post-reception procedures.

## Onesait Procedures · Editran/FF <a href="#toc199404899" id="toc199404899"></a>

The procedures provided and that will be placed in the presentation session requiring file signing are:

### ZTBFP1 – A1P: upload/send of the signed files

STEP01: upload/send of the signed files

```cobol
//      PROC ORIGIN=,FUNCTION=,L0=L00,                                  
//           L1=,L2=,R1=,R2=,AP=,PR=,LF=S,FV=F                         
//*--------------------------------------------------------------------
//* INDRA *                                                            
//*--------------------------------------------------------------------
//*   PRE-ISSUANCE PROCEDURE FOR EDITRAN/FF                 *
//*--------------------------------------------------------------------
//* EDITRAN/G                                                          
//*  DATA:                                                           *
//*      ORIGIN (O=OPERATOR,E=EDITRAN,A=APPLICATION JCL) --->  1 BYTE  *
//*                                                                   *
//*      FUNCTION (01=LOAD OF PRESENTATION ISSUE,                *
//*               03=PRESENTATION ISSUE)          ---->  2 BYTES *
//*                                                                   *
//*      PRESENTATION SESSION:                                         *
//*        LOCAL CODE L1  ------------------------------->  6 BYTES *
//*                     L2  ------------------------------->  3 BYTES *
//*        REMOTE       R1  ------------------------------->  6 BYTES *
//*                     R2  ------------------------------->  3 BYTES *
//*        APPLICATION   PR  ------------------------------->  6 BYTES *
//*                                                                   *
//*      TRANSMISSION SESSION (EDITRAN/P):                               *
//*        APPLICATION   AP  ------------------------------->  6 BYTES *
//*                                                  TOTAL = 33 BYTES *
//*      FILE LIST (S) REQUIRED:                               
//*                     LF  --------------------------------> 1 BYTE  *
//*      LOCAL ENVIRONMENT ALIAS (FOR SPECIAL USES)                 *
//*                     L0  --------------------------------> 3 BYTES  
//*                                                                    
//* EDITRAN/FF                                                         
//*      DATA SIGNING (F=SIGN FILES, V=VERIFY SIGNATURE)           
//*                     FV  --------------------------------> 1 BYTE   
//*--------------------------------------------------------------------
//* STEP01- FILE SIGNING STEP).                                
//* IF IT READS THE SESSION AND IT IS NOT AN FF SESSION, IT ENDS WITH RC=01       
//*--------------------------------------------------------------------
//*--------------------------------------------------------------------
//STEP01 EXEC PGM=ZTBFBEFF,                                            
//             PARM='&ORIGEN&FUNCION&L1&L2&R1&R2&AP&FV/CBLQ(ON)',   
//             REGION=0M,TIME=1440                                     
//STEPLIB   DD DSN=KI.EIDA.LOAD,DISP=SHR                               
//          DD DSN=KI.EIDC.LOAD,DISP=SHR                               
//          DD DSN=IMSP.SDFSRESL,DISP=SHR                              
//SYSTCPD   DD DSN=SW.TCPIP.SEZAPARM(TCPDATB4),DISP=SHR                
//ZTBFFLOG  DD SYSOUT=*                                                
//SYSOUT    DD SYSOUT=*                                                
//SYSPRINT  DD SYSOUT=*                                                
//CEEDUMP   DD SYSOUT=*                                                
//ZTBGFCAR  DD DSN=KI.EIDC.&L0..R&R1..R&R2..A&PR..ZTBGFCAR,DISP=SHR    
//ZTBFFCAR  DD DSN=&&ZTBFFCAR,DISP=(NEW,PASS,DELETE),                  
//             DCB=(RECFM=FB,LRECL=80),                                
//             SPACE=(TRK,(500,50),RLSE)                               
//*--------------------------------------------------------------------
//* A1P. EDITRAN LOAD                                              
//*--------------------------------------------------------------------
//A1P     EXEC PGM=ZTBGB110,COND=(0,NE),REGION=0M,TIME=1440,           
//             PARM='&ORIGEN&FUNCION&L1&L2&R1&R2&PR&AP&LF/CBLQDA(ON)'  
//STEPLIB   DD DSN=KI.EIDA.LOAD,DISP=SHR                               
//          DD DSN=KI.EIDC.LOAD,DISP=SHR                               
//ZTBGFLOG  DD SYSOUT=*                                                
//ZTBGFLIS  DD SYSOUT=*                                                
//ZTBGFMSJ  DD SYSOUT=*                                                
//ZTBGFPRI  DD SYSOUT=*,DCB=(BLKSIZE=105)                              
//ZTBGFINT  DD SYSOUT=(H,INTRDR),DCB=(BLKSIZE=80)                      
//ZTBGFTCO  DD DSN=KI.EIDC.ZTBG.ZTBGFTCO,DISP=SHR                      
//CEEDUMP   DD SYSOUT=*                                                 
//SYSOUT    DD SYSOUT=*                                                
//ZTBGFCAR  DD DSN=&&ZTBFFCAR,DISP=(OLD,PASS,DELETE)                   
//*                                                                    
//      SET LOCAL0=&L0
```

### ZTBFP4 – Step A4P: download of the received files

STEP01: verification of the signed files

STEP02: adaptation of the data file once separated from the signature

```cobol
//      PROC ORIGIN=,FUNCTION=,L0=L00,                                  
//           L1=,L2=,R1=,R2=,AP=,PR=,FV=V,LF=                          
//      SET LF=N                                                       
//*                                                                     
//*--------------------------------------------------------------------
//*   POST-RECEPTION PROCEDURE FOR EDITRAN/FF            *
//*--------------------------------------------------------------------
//*  DATA:                                                           *
//*      ORIGIN (O=OPERATOR,E=EDITRAN,A=APPLICATION JCL) ----> 1 BYTE  *
//*                                                                   *
//*      FUNCTION (07=DOWNLOAD OF PRESENTATION RECEIPT            *
//*               09=END OF PRESENTATION RECEIPT ) ----> 2 BYTES *
//*                                                                   *
//*      PRESENTATION SESSION  :                                       *
//*        LOCAL CODE L1  --------------------------------> 6 BYTES *
//*                     L2  --------------------------------> 3 BYTES *
//*        REMOTE       R1  --------------------------------> 6 BYTES *
//*                     R2  --------------------------------> 3 BYTES *
//*        APPLICATION   PR  --------------------------------> 6 BYTES *
//*                                                                   *
//*      TRANSMISSION SESSION  (EDITRAN/P):                             *
//*        APPLICATION   AP  --------------------------------> 6 BYTES *
//*                                                  TOTAL = 33 BYTES *
//*      LOCAL ENVIRONMENT ALIAS (FOR SPECIAL USES)                 *
//*                     L0  --------------------------------> 3 BYTES *
//* EDITRAN/FF                                                         
//*      DATA SIGNING (F=SIGN FILES, V=VERIFY SIGNATURE)           
//*                     FV  --------------------------------> 1 BYTE   
//*--------------------------------------------------------------------
//A4P      EXEC PGM=ZTBGB140,REGION=0M,TIME=1440,                      
//          PARM='&ORIGEN&FUNCION&L1&L2&R1&R2&PR&AP/CBLQDA(ON)'        
//STEPLIB   DD DSN=KI.EIDA.LOAD,DISP=SHR                               
//          DD DSN=KI.EIDC.LOAD,DISP=SHR                               
//ZTBGFLOG DD SYSOUT=*                                                 
//ZTBGFLIS DD SYSOUT=*                                                 
//ZTBGFMSJ DD SYSOUT=*                                                 
//ZTBGFPRI DD SYSOUT=*,DCB=(BLKSIZE=105)                               
//ZTBGFTCO DD DSN=KI.EIDC.ZTBG.ZTBGFTCO,DISP=SHR                       
//SYSOUT   DD SYSOUT=*                                                  
//SYSPRINT DD SYSOUT=*                                                 
//CEEDUMP  DD SYSOUT=*                                                 
//ZTBGFINT DD SYSOUT=(H,INTRDR),DCB=(BLKSIZE=80)                       
//      SET LOCAL0=&L0                                                 
//*--------------------------------------------------------------------
//*VALID STEP FOR FF. DELETES THE OUTPUT LIST WITH THE SIGNATURE VERI-
//*FICATION RESULT                                                
//*********************************************************************
//INBORR0  EXEC PGM=IEFBR14                                            
//LISTAFL  DD DSN=KI.EIDC.&L0..R&R1..R&R2..A&PR..ZTBGFLFE,             
//        DISP=(MOD,DELETE,DELETE),SPACE=(TRK,(1,1),RLSE)              
//LISTAFS  DD DSN=KI.EIDC.&L0..R&R1..R&R2..A&PR..ZTBFFSAL,             
//        DISP=(MOD,DELETE,DELETE),SPACE=(TRK,(1,1),RLSE)              
//LISTAF2  DD DSN=KI.EIDC.&L0..R&R1..R&R2..A&PR..ZTBFFLF2,             
//        DISP=(MOD,DELETE,DELETE),SPACE=(TRK,(1,1),RLSE)              
//LISTAR1  DD DSN=KI.EIDC.&L0..R&R1..R&R2..A&PR..ZTBFFR12,             
//        DISP=(MOD,DELETE,DELETE),SPACE=(TRK,(1,1),RLSE)              
//*--------------------------------------------------------------------
//* STEP TO OUTPUT THE LIST OF RECEIVED FILES                       *
//*--------------------------------------------------------------------
//ZTBGLFE EXEC PGM=ZTBGBLFE,REGION=4M,COND=(0,NE),                     
//             PARM='&ORIGEN&FUNCION&L1&L2&R1&R2&PR&AP/CBLQDA(ON)'     
//STEPLIB   DD DSN=KI.EIDA.LOAD,DISP=SHR                               
//          DD DSN=KI.EIDC.LOAD,DISP=SHR                               
//ZTBGFLOG  DD SYSOUT=*                                                
//ZTBGFPRI  DD SYSOUT=*,DCB=(BLKSIZE=105)                              
//SYSOUT    DD SYSOUT=*                                                 
//ZTBGFLFE  DD DSN=KI.EIDC.&L0..R&R1..R&R2..A&PR..ZTBGFLFE,            
//             DISP=(NEW,CATLG,DELETE),                                
//             SPACE=(TRK,(5,1),RLSE),                                 
//             DCB=(RECFM=FB,LRECL=200,BLKSIZE=0,DSORG=PS)             
//*--------------------------------------------------------------------
//PASSORT  EXEC PGM=SORT,COND=(0,NE)                                   
//SORTIN    DD DSN=KI.EIDC.&L0..R&R1..R&R2..A&PR..ZTBGFLFE,DISP=SHR    
//SORTOUT   DD DSN=KI.EIDC.&L0..R&R1..R&R2..A&PR..ZTBFFLFT,            
//             DISP=(NEW,PASS,DELETE),                                 
//             DCB=(RECFM=FB,LRECL=200,BLKSIZE=0),                     
//             SPACE=(TRK,(1,1),RLSE)                                  
//SYSOUT    DD SYSOUT=*                                                
//SYSABOUT  DD SYSOUT=*                                                
//SYSIN     DD DSN=KI.EIDC.ZTBG.JCLS(SORTFF),DISP=SHR                
//*--------------------------------------------------------------------
//* STEP01- SIGNATURE VERIFICATION STEP                                        
//* IF IT READS THE SESSION AND IT IS NOT AN FF SESSION, IT ENDS WITH RC=01       
//*--------------------------------------------------------------------
//PASO01   EXEC PGM=ZTBFBEFF,COND=(0,NE),                              
//         PARM='&ORIGEN&FUNCION&L1&L2&R1&R2&AP&FV/CBLQDA(ON)',     
//         REGION=0M,TIME=1440                                          
//STEPLIB  DD DSN=KI.EIDA.LOAD,DISP=SHR                               
//         DD DSN=KI.EIDC.LOAD,DISP=SHR                                
//ZTBGFLIS DD SYSOUT=*                                                 
//ZTBGFMSJ DD SYSOUT=*                                                 
//ZTBGFPRI DD SYSOUT=*,DCB=(BLKSIZE=105)                               
//ZTBFFLOG DD SYSOUT=*                                                 
//SYSTCPD  DD DSN=SW.TCPIP.SEZAPARM(TCPDATAB),DISP=SHR                 
//SYSOUT   DD SYSOUT=*                                                 
//SYSPRINT DD   SYSOUT=*,OUTLIM=999999                                 
//CEEDUMP  DD SYSOUT=*                                                 
//ZTBGFLFE DD DSN=KI.EIDC.&L0..R&R1..R&R2..A&PR..ZTBFFLFT,DISP=SHR     
//ZTBFFLF2 DD DSN=KI.EIDC.&L0..R&R1..R&R2..A&PR..ZTBFFLF2,             
//         DISP=(NEW,CATLG,DELETE),                                    
//         SPACE=(TRK,(1,1),RLSE),                                      
//         DCB=(RECFM=FB,LRECL=300,BLKSIZE=0,DSORG=PS)                 
//ZTBFFSAL DD DSN=KI.EIDC.&L0..R&R1..R&R2..A&PR..ZTBFFSAL,             
//         DISP=(NEW,CATLG,DELETE),                                    
//         SPACE=(TRK,(1,1),RLSE),                                     
//         DCB=(RECFM=FB,LRECL=300,BLKSIZE=0,DSORG=PS)                 
//ZTBFFP12 DD DSN=KI.EIDC.&L0..R&R1..R&R2..A&PR..ZTBFFR12,             
//         DISP=(NEW,CATLG,DELETE),                                    
//         DCB=(RECFM=FB,LRECL=80,BLKSIZE=80),                         
//         SPACE=(TRK,(1,1),RLSE)                                       
//*                                                                    
//*--------------------------------------------------------------------
//* STEP02- FILE FORMATTING STEP                              
//*--------------------------------------------------------------------
//* IF (PASO01.RC>2) THEN                                              
//* INBORR1  EXEC PGM=IEFBR14                                          
//* LISTAFF  DD DSN=KI.EIDC.&L0..R&R1..R&R2..A&PR..ZTBGFLFE,           
//*         DISP=(OLD,DELETE,DELETE)                                   
//* ENDIF                                                              
//PASO02   EXEC PGM=ZTBFBR12,PARM='/CBLQDA(ON)',                       
//         REGION=0M,TIME=1440,COND=(0,NE)                             
//STEPLIB  DD DSN=IMSP.SDFSRESL,DISP=SHR                               
//         DD DSN=KI.EIDA.LOAD,DISP=SHR                                
//         DD DSN=KI.EIDC.LOAD,DISP=SHR                                
//ZTBGFTCO DD DSN=KI.EIDC.ZTBG.ZTBGFTCO,DISP=SHR                       
//ZTBGFLIS DD SYSOUT=*                                                 
//ZTBGFMSJ DD SYSOUT=*                                                  
//ZTBGFPRI DD SYSOUT=*,DCB=(BLKSIZE=105)                               
//ZTBFFLOG DD SYSOUT=*                                                 
//SYSOUT   DD SYSOUT=*                                                 
//CEEDUMP  DD SYSOUT=*                                                 
//ZTBFFLF2 DD DSN=KI.EIDC.&L0..R&R1..R&R2..A&PR..ZTBFFLF2,DISP=SHR     
//ZTBFFSAL DD DSN=KI.EIDC.&L0..R&R1..R&R2..A&PR..ZTBFFSAL,             
//         DISP=SHR                                                    
//ZTBGFLFE DD SYSOUT=*                                                 
//SYSIN    DD DSN=KI.EIDC.&L0..R&R1..R&R2..A&PR..ZTBFFR12,DISP=SHR     
//*ENDIF                                                                
//*                                                                    
// IF (PASO02.RC=0) THEN                                               
//INBORR2  EXEC PGM=IEFBR14                                            
//LISTAF2  DD DSN=KI.EIDC.&L0..R&R1..R&R2..A&PR..ZTBFFLF2,             
//         DISP=(OLD,DELETE,DELETE)                                    
// ENDIF                                                               
//*                                                                     
// IF (PASO02.RC=0) THEN                                               
//INBORR3  EXEC PGM=IEFBR14                                            
//LISTAFS  DD DSN=KI.EIDC.&L0..R&R1..R&R2..A&PR..ZTBFFR12,             
//         DISP=(OLD,DELETE,DELETE)                                    
// ENDIF                                                               
```

&#x20;The most significant results with which the signature processing processes can end are:

<table data-header-hidden><thead><tr><th width="77.7037353515625" valign="top"></th><th width="708.814697265625" valign="top"></th></tr></thead><tbody><tr><td valign="top">RDO</td><td valign="top">Comment</td></tr><tr><td valign="top">01</td><td valign="top">Signature verification with errors; the ZTBFFSAL file should be reviewed</td></tr><tr><td valign="top">06</td><td valign="top">It is not necessary to perform the file adaptation process</td></tr><tr><td valign="top">08</td><td valign="top">Signature verification error: DOCUMENT MODIFIED</td></tr><tr><td valign="top">13</td><td valign="top">Error opening a file in MVS</td></tr><tr><td valign="top">14</td><td valign="top">Error closing a file in MVS</td></tr><tr><td valign="top">15</td><td valign="top">Error reading a file in MVS</td></tr><tr><td valign="top">16</td><td valign="top">Error writing to a file in MVS</td></tr><tr><td valign="top">17</td><td valign="top">Error rewriting a file in MVS</td></tr><tr><td valign="top">18</td><td valign="top">Error deleting the file</td></tr><tr><td valign="top">19</td><td valign="top">Error allocating a file</td></tr><tr><td valign="top">20</td><td valign="top">Error deallocating a file</td></tr><tr><td valign="top">21</td><td valign="top">Incorrect input parameters</td></tr><tr><td valign="top">23</td><td valign="top">There is no cataloged application file.</td></tr><tr><td valign="top">24</td><td valign="top">Number of application files exceeds the maximum allowed</td></tr><tr><td valign="top">25</td><td valign="top">Application file not cataloged.</td></tr><tr><td valign="top">26</td><td valign="top">No environment record exists in EDITRAN/FF</td></tr><tr><td valign="top">27</td><td valign="top">No application exists in EDITRAN/FF</td></tr><tr><td valign="top">28</td><td valign="top">No presentation session exists in EDITRAN/G</td></tr><tr><td valign="top">37</td><td valign="top"><p>Error in the signing service.</p><p>Possible communication error (check messages in SYSOUT)</p></td></tr><tr><td valign="top">38</td><td valign="top">The signed file sending application has no associated user who can sign</td></tr><tr><td valign="top">39</td><td valign="top">Input file list empty.</td></tr><tr><td valign="top">42</td><td valign="top">Cataloging error</td></tr><tr><td valign="top">43</td><td valign="top">No local users exist who can sign the submissions</td></tr><tr><td valign="top">45</td><td valign="top">Error in the server process when generating the signature</td></tr><tr><td valign="top">46</td><td valign="top">Error in the server process when validating the signature</td></tr><tr><td valign="top">47</td><td valign="top">Error validating the signature</td></tr><tr><td valign="top">48</td><td valign="top">Not all required signatories were found</td></tr><tr><td valign="top">49</td><td valign="top">Signer validation rules have not been implemented</td></tr><tr><td valign="top">51</td><td valign="top">With signature type ‘D’, the Data file is not found</td></tr><tr><td valign="top">52</td><td valign="top">With signature type ‘D’, the Signature file is not found</td></tr><tr><td valign="top">53</td><td valign="top">Counter-signing cannot be performed in PKCS#7 mode</td></tr><tr><td valign="top">55</td><td valign="top">Incorrect delimiter parameter in EDITRAN/FF application</td></tr><tr><td valign="top">56</td><td valign="top">Record delimiters do not match error</td></tr><tr><td valign="top">58</td><td valign="top">Errors in the configuration of the EDITRAN/FF application profile</td></tr><tr><td valign="top">61</td><td valign="top">No local user exists to perform counter-signing</td></tr><tr><td valign="top">65</td><td valign="top">The application file exists and it is not allowed to delete it</td></tr></tbody></table>

### JCL - Inclusion of the Remote DN or path  <a href="#incorporacion-del-dn-remoto" id="incorporacion-del-dn-remoto"></a>

To make it easier to fill in the DN of a remote certificate or the path where the public certificate (.cer) is located, which is currently done through the screen, a JCL has been created that incorporates it from a file containing it, ZTBFJCDN.

<a class="button secondary">Copy</a>

```
//KI63A23A JOB (EGDI,KIT,,99),'EDITRAN/FF ',MSGCLASS=H,CLASS=A,         
//            NOTIFY=&SYSUID                                            
//********************************************************************* 
//* PROGRAM THAT LAUNCHES PROGRAM ZTBFBCDN - CREATE/MODIFY USER PROFILE   * 
//********************************************************************* 
//*SYSIN DATA-STRUCTURE EEEEEEEEE-UUUUUUUUUUUUUUU-T                
//*EEEEEEEEE: ENTITY TAX ID                                                
//*ONE-POSITION SEPARATOR(-)                                         
//*UUUUUUUUUUUUUUU: REMOTE USER                                      
//*ONE-POSITION SEPARATOR(-)                                         
//*T: IDENTIFICATION TYPE (D-DN OR P-PATH). IF NOT PROVIDED, THE  
//*DEFAULT VALUE WILL BE D-DN                                          
//********************************************************************* 
//*  DATA: PROGRAM TO BE CALLED TO CREATE/MODIFY THE  
//*         USER PROFILE: - CICS                                   
//********************************************************************* 
//ZTBFBCDN  EXEC PGM=ZTBFBCDN,REGION=0M                                 
//STEPLIB   DD DSN=KI.EIDA.LOAD,DISP=SHR                                
//          DD DSN=KI.EIDC.ZTBG.LOAD,DISP=SHR                           
//          DD DSN=KI.EGDC.ZTBP.LOAD31,DISP=SHR                         
//          DD DSN=CICSTS53.CICS.SDFHEXCI,DISP=SHR                      
//ZTBFFPE   DD DSN=KI.EIDC.ZTBG.ZTBFFPER,DISP=SHR                       
//ZTBPFPE   DD DSN=KI.EGDC.ZTBP.ZTBPFPE,DISP=SHR                        
//ZTBFFCDN  DD DSN=KI.EIDA.DN.CICS,DISP=SHR                             
//SYSOUT    DD SYSOUT=*                                                 
//SYSPRINT  DD SYSOUT=*                                                 
//PRINTDD   DD SYSOUT=*                                                 
//SYSIN     DD *                
000099940-REMOTEUSER01-D     
//*                                      
```

The input data are:

* SYSIN: Remote code and name of the Remote User who owns the certificate
* File containing the DN or path where the public certificate is located in USS. FB format and record length 350 (ZTBFFCDN).

This file is the one provided in the obtén\_dn.sh script to store the certificate DN.

## Output file for the application <a href="#toc199404900" id="toc199404900"></a>

File (ZTBFFSAL) FB 300 is created. It will indicate how signature verification was performed for each received file, as well as the signature characteristics. It has 2 types of records:&#x20;

<table data-header-hidden><thead><tr><th width="64.0616455078125" valign="top"></th><th width="170" valign="top"></th><th width="71.2469482421875" valign="top"></th><th width="74.8271484375" valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top">Level</td><td valign="top">Name</td><td valign="top">Length.</td><td valign="top">Fmt.</td><td valign="top">Description</td></tr><tr><td valign="top">1</td><td valign="top">ZTBFFSAL record</td><td valign="top"> </td><td valign="top">Alphan.</td><td valign="top">TYPE 01 records.</td></tr><tr><td valign="top"> </td><td valign="top"> </td><td valign="top"> </td><td valign="top"> </td><td valign="top"> </td></tr><tr><td valign="top">2</td><td valign="top">Record type</td><td valign="top">2</td><td valign="top">Alfn</td><td valign="top">01-Records referring to processed files and their validation result</td></tr><tr><td valign="top">2</td><td valign="top">Colon</td><td valign="top">1</td><td valign="top">Alfn</td><td valign="top">Value: ‘:’</td></tr><tr><td valign="top">2</td><td valign="top">Return code</td><td valign="top">4</td><td valign="top">Num</td><td valign="top"><p>0000- Signature verified correctly</p><p>0012- Invalid certification authority</p><p>0013- Revoked certificate(s). Not yet implemented</p><p>0014- Expired certificate(s)(2)</p><p>0015- Document modified</p><p>0016- Signer(s) not authorized on the account according to the profiles provided in the Editran/FF administrator</p></td></tr><tr><td valign="top">2</td><td valign="top">Colon</td><td valign="top">1</td><td valign="top">Alfn</td><td valign="top">Value: ‘:’</td></tr><tr><td valign="top">2</td><td valign="top">Final formatted Dsname</td><td valign="top">44</td><td valign="top">Alfn.</td><td valign="top">Dsname of the final formatted and translated file, to be processed by the application.</td></tr><tr><td valign="top">2</td><td valign="top">Colon</td><td valign="top">1</td><td valign="top">Alfn</td><td valign="top">Value: ‘:’</td></tr><tr><td valign="top">2</td><td valign="top">Downloaded ASCII Dsname</td><td valign="top">44</td><td valign="top">Alfn.</td><td valign="top">Dsname of the ASCII file, extracted from the XML and with the signatures also extracted.</td></tr><tr><td valign="top">2</td><td valign="top">Colon</td><td valign="top">1</td><td valign="top">Alfn</td><td valign="top">Value: ‘:’</td></tr><tr><td valign="top">2</td><td valign="top">Dsname downloaded by Editran</td><td valign="top">44</td><td valign="top">Alfn.</td><td valign="top">Dsname of the file downloaded by Editran, whose content is the XML that has been processed.</td></tr><tr><td valign="top">2</td><td valign="top">Colon</td><td valign="top">1</td><td valign="top">Alfn</td><td valign="top">Value: ‘:’</td></tr><tr><td valign="top">2</td><td valign="top">Error message</td><td valign="top">80</td><td valign="top">Alfn</td><td valign="top"><p>Message</p><p>If rc=0000, correct signing process (no message)</p><p>If rc=xxxx, appropriate error message</p></td></tr><tr><td valign="top">2</td><td valign="top">Reserve area</td><td valign="top">77</td><td valign="top">Alfn</td><td valign="top">Reserve area</td></tr></tbody></table>

<table data-header-hidden><thead><tr><th width="65.04931640625" valign="top"></th><th width="170" valign="top"></th><th width="69.25927734375" valign="top"></th><th width="77.7901611328125" valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top">Level</td><td valign="top">Name</td><td valign="top">Length.</td><td valign="top">Fmt.</td><td valign="top">Description</td></tr><tr><td valign="top">1</td><td valign="top">ZTBFFSAL record</td><td valign="top"> </td><td valign="top">Alphan.</td><td valign="top">TYPE 02 records.</td></tr><tr><td valign="top"> </td><td valign="top"> </td><td valign="top"> </td><td valign="top"> </td><td valign="top"> </td></tr><tr><td valign="top">2</td><td valign="top">Record type</td><td valign="top">2</td><td valign="top">Alfn</td><td valign="top">02-Records referring to signers per file. For each type 1 record, there will be as many type 2 records as signers contained in the signed file.</td></tr><tr><td valign="top">2</td><td valign="top">Colon</td><td valign="top">1</td><td valign="top">Alfn</td><td valign="top">Value: ‘:’</td></tr><tr><td valign="top">2</td><td valign="top">Reserve area</td><td valign="top">4</td><td valign="top">Alfn</td><td valign="top"> </td></tr><tr><td valign="top">2</td><td valign="top">Colon</td><td valign="top">1</td><td valign="top">Alfn</td><td valign="top">Value: ‘:’</td></tr><tr><td valign="top">2</td><td valign="top">Final formatted Dsname</td><td valign="top">44</td><td valign="top">Alfn.</td><td valign="top">Dsname of the final formatted and translated file, to be processed by the application.</td></tr><tr><td valign="top">2</td><td valign="top">Colon</td><td valign="top">1</td><td valign="top">Alfn</td><td valign="top">Value: ‘:’</td></tr><tr><td valign="top">2</td><td valign="top">Signer DN data</td><td valign="top">247</td><td valign="top">Alfn.</td><td valign="top">For example: CN=Surnames and the signer's first name, then there is a space, a hyphen, another space, and the person's ID number written always with 9 characters (8 digits + letter)</td></tr><tr><td valign="top">2</td><td valign="top">Filler</td><td valign="top">109</td><td valign="top">Alfn</td><td valign="top">Reserve area</td></tr></tbody></table>

## JSON output file

File (ZTBFFJSN) VB 396 is created.  This file is the result of the reception of a submission. The information it contains refers to that reception. Therefore, the application (presentation session), the number of mandatory signatures, the groups and the users will be provided.

The file naming convention is as follows:

PrefInstalacion.JobName.JobId.BRx. ZTBFFJSN&#x20;

<table data-header-hidden><thead><tr><th width="62.08642578125" valign="top"></th><th width="143.345703125" valign="top"></th><th width="81.234619140625" valign="top"></th><th width="81.851806640625" valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top">Level</td><td valign="top">KI</td><td valign="top">Length.</td><td valign="top">Fmt.</td><td valign="top">Description</td></tr><tr><td valign="top"> </td><td valign="top">PrefInstalacion</td><td valign="top">11</td><td valign="top">Alfn.</td><td valign="top">It is the installation prefix of the local EDITRAN/FF environment</td></tr><tr><td valign="top"> </td><td valign="top">JobName</td><td valign="top">8</td><td valign="top">Alfn.</td><td valign="top">JOB name (e.g.: KIEDRCT7)</td></tr><tr><td valign="top"> </td><td valign="top">JobId</td><td valign="top">8</td><td valign="top">Alfn.</td><td valign="top">ID of the JOB that is launched (e.g. JOB03039)</td></tr><tr><td valign="top"> </td><td valign="top">BRx</td><td valign="top">3</td><td valign="top">Alfn.</td><td valign="top"><p>x can take three different values, 1, 2 or 3 depending on the signing mode:</p><p>1. Attached</p><p>2.Detached</p><p>3.Concatenated</p><p> </p></td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.editran.onesait.com/documentacion-editran/ibm-editran-v5.3-cics-en/electronic-signature/batch-functions.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
