> 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-comun-z-os/editran-sepa/jcls.md).

# JCLS

Se proporciona el jcl ZTBGJXML:

```cobol
//XXXXXXXX JOB (XXXX,XXX,,XX),ZTBXXML,MSGCLASS=X,CLASS=X,              
//             MSGLEVEL=X,NOTIFY=&SYSUID                               
//********************************************************************+
//* JCL PARA CONVERTIR UN FICHERO PLANO SEPA A XML Ó A LA INVERSA    *+
//********************************************************************+
//* 1.-DEBE APUNTAR (SET) LAS SIGUIENTES VARIABLES:                  *+
//*   1.1.SESION: L1+L2+R1+R2+AP: INDICAR UNA SESION DE EDITRAN/G    *+
//*   1.2.FUNCION: FU. ADMITE VALORES X=PLANO A XML, P=XML A PLANO   *+
//*   1.3.TIPO: TI. ADMITE VALORES:F=FICHERO (EL INDICADO EN &FI=XX) *+
//*       TI=F INDICA FICHERO. EN &FI VA EL DSNAME DEL FICHERO DE    *+
//*            APLICACION DE ENTRADA (XML O PLANO SEGUN &FU)         *+
//*       TI=L INDICA LISTA DE FICHEROS. EN &FI VA DSNAME DE UN FILE *+
//*            CREADO POR USUARIO, CUYO CONTENIDO SON LOS DSNAMES DE *+
//*            LOS FICHEROS DE ENTRADA (XML O PLANOS SEGUN &FU)      *+
//*            PARA VER FORMATO DE LA LISTA, REVISE DOCUMENTACION    *+
//*       TI=P INDICA PERFILES. EN ESTE CASO, EDITRAN TIRA DE PERFIL *+
//*            EDITRAN/G PARA COGER NOMBRES DE FICHEROS ENTRADA.     *+
//*   1.4.FICHERO: FI.  INDICAR EL DSNAME (DE 40 MAXIMO) &FI=XXXX    *+
//*       SI &TI=F ES EL DSNAME DEL FICHERO DE ENTRADA               *+
//*       SI &TI=L ES EL DSNAME DE LA LISTA, CUYO CONTENIDO SON LOS  *+
//*                DSNAMES DE LOS FICHEROS DE ENTRADA                *+
//*       SI &TI=P INDIQUE ESPACIOS. EL JOB COGE LOS FILES DEL PERFIL*+
//* 2.-DEBE EXISTIR EL FICHERO DD ZTBGFDAT, PUES EN SU CONTENIDO HAY *+
//*    TAMBIEN OTROS PARAMETROS NECESARIOS, IP-PORT, FICHERO SALIDA, *+
//*    SEGUNDOS ESPERA, ETC. (REVISE DOCUMENTACION DE PRODUCTO)      *+
//*    CON &FU=X, SI EN ZTBGFDAT NO SE ESPECIFICA DSNAME DE SALIDA,  *+
//*        EL PROGRAMA CREA UN FILE DE SALIDA LLAMADO DSNAME.XML     *+
//*    CON &FU=P, SI EN ZTBGFDAT NO SE ESPECIFICA DSNAME DE SALIDA,  *+
//*        EL PROGRAMA CREA UN FILE DE SALIDA LLAMADO:               *+
//*          DSNAME  (si el fich. entrada es DSNAME.XML)             *+
//*          DSNAME.PLN(si el fich. entrada es DSNAME)               *+
//* 3.-SACA UNA LISTA CON LOS FICHEROS PROCESADOS, DD ZTBGFCAR       *+
//********************************************************************+
//      SET L1=000099                                                  
//      SET L2=940                                                      
//      SET R1=000099                                                  
//      SET R2=990                                                     
//      SET AP=CARGAC                                                  
//      SET FU=X                                                       
//      SET TI=F                                                       
//      SET FI=KI.EIDA.FF06                                            
//********************************************************************+
//INBORR1  EXEC PGM=IEFBR14                                        
//LPASO00  DD DSN=KI.PMED.R&R1..R&R2..A&AP..LISTFICX,              
//         DISP=(OLD,DELETE,DELETE)                                
//*                                                                 
//PASO01 EXEC PGM=ZTBXBXML,                                        
//      PARM='&L1&L2&R1&R2&AP&FU&TI&FI/CBLQDA(ON)'                 
//STEPLIB  DD   DSN=KI.EIDC.ZTBG.LOAD,DISP=SHR                      
//SYSTCPD  DD   DSN=SW.TCPIP.SEZAPARM(TCPDATAB),DISP=SHR           
//ZTBGFPRI DD   SYSOUT=*,DCB=(BLKSIZE=105)                         
//ZTBGFPER DD   DSN=KI.EIDC.ZTBG.ZTBGFPER,DISP=SHR 
//ZTBGFLOG DD   DSN=KI.EIDC.ZTBG.ZTBGFLOG,DISP=SHR       
//ZTBGFDAT DD   DSN=KI.EIDC.ZTBG.ZTBGFDAT,DISP=SHR                 
//ZTBGFCAR DD  DSN=KI.PMED.R&R1..R&R2..A&AP..LISTFICX,             
//            DISP=(NEW,CATLG,DELETE),                             
//            SPACE=(TRK,(500,50),RLSE),                            
//            DCB=(RECFM=FB,LRECL=80,BLKSIZE=0,DSORG=PS)           
//ZTBXFSAL DD  DSN=KI.PMED.R&R1..R&R2..A&AP.. ZTBXFSAL,             
//            DISP=(NEW,CATLG,DELETE),                             
//            SPACE=(TRK,(500,50),RLSE),                           
//            DCB=(RECFM=FB,LRECL=252,BLKSIZE=0,DSORG=PS)           
//SYSOUT   DD   SYSOUT=*                                           
//SYSPRINT DD   SYSOUT=*                                           
//SYSDBOUT DD   SYSOUT=*  
//ABENDAID DD   SYSOUT=*  
//SYSCOUNT DD   DUMMY     
//SYSUDUMP DD   SYSOUT=*  
//SYSABOUT DD   SYSOUT=*  
 
```

Hemos indicado como ejemplo, origen (000099990) destino (000099940), aplicación (CARGAC), Función X (plano a XML), tipo F (fichero), DSNAME del fichero de entrada = KI.FICHERO.ENTRADA

En el fichero ZTBGFDAT habremos indicado un registro de tipo 1, sin el nombre de fichero de salida. Si no se indica nada, (ver el contenido de ZTBGFDAT), se creará el fichero KI.FICHERO.ENTRADA.XML.

```
********************************* Top of Data ****************************************
0-                                                 192.168.172.088-07774-300-   
1-                                            -                  -000000500000-N-    
2-                                            -                  -000000000000-S
******************************** Bottom of Data **************************************
```

A su vez, como ejemplo de Función P (XML a plano), si codificamos en PARM

000099990000099940PEPITAPFKI.FICHERO.ENTRADA.XML

Y en el fichero ZTBGFDAT hemos indicado un registro de tipo 2, sin nombre de fichero de salida, se creará el PLANO KI.FICHERO.ENTRADA

## Procedimientos. <a href="#toc160121863" id="toc160121863"></a>

### **Previo a emisión.**

Se proporciona el previo ZTBGP1X. Actualmente, al previo a emisión estándar (ZTBGP1C), tiene lo siguiente:

```cobol
//      PROC ORIGEN=,FUNCION=,L0=,          
//           L1=,L2=,R1=,R2=,AP=,LF=        
//A1P     EXEC PGM=ZTBGB110,                                      
//         PARM='&ORIGEN&FUNCION&L1&L2&R1&R2&AP&LF/CBLQDA(ON)',   
//         REGION=0M,TIME=1440  
....       
//ZTBGFCAR DD DSN=KI.PMED.&L0..R&R1..R&R2..A&AP..ZTBGFCAR,DISP=SHR          
```

(ZTBGFCAR puede que el usuario no lo use, ó lo haya llamado de otra forma)

El nuevo procedimiento proporcionado tiene con respecto al estándar:

* Un paso previo a A1P (conversor de plano a XML)
* Un SET a la variable LF
* Nuevas variables
* Un cambio en cuanto a la lista ZTBGFCAR (si es que el usuario ya la utilizaba)

Se proporciona el previo ZTBGP1X:

```cobol
//      PROC ORIGEN=,FUNCION=,L0=,                                    
//           L1=,L2=,R1=,R2=,AP=,LF=,FU=,TI=,FI=                      
//      SET LF=S                                                       
//      SET FU=X                                                      
//      SET TI=P                                                      
//*     SET FI=XX.XXXX.XXX                                            
//*********************************************************************
//*   PROCEDIMIENTO PREVIO A LA EMISION EDITRAN/G                     *
//*   INCLUYE UN PASO PREVIO A LA CARGA, QUE CONSISTE EN NORMA SEPA   *
//*   PASO DE FICHEROS DE APLICACION PLANOS A XML                     *
//*********************************************************************
//*  DATOS:                                                           *
//*   ORIGEN (O=OPERADOR,E=EDITRAN,A=JCL APLICACION) ----> 1 BYTE     *
//*   FUNCION (01=CARGA DE EMISION DE PRESENTACION,                   *
//*            03=EMISION DE PRESENTACION,                            *
//*            04=EMISION DINAMICA DE PRESENTACION) -----> 2 BYTES    *
//*   SESION-PRESENTACION  ------------------------------>24 BYTES    *
//*   LISTA FICHEROS (S)   ------------------------------> 1 BYTE     *
//*     INDEPENDIENTEMENTE DE QUE EL USUARIO INDIQUE QUE USA UNA      *
//*     LISTA DE FICHEROS EN LA CARGA, EL PASO01 LE PASA AL PASO A1P  *
//*     UNA NUEVA LISTA DE FICHEROS A CARGAR (LOS XML), POR LO QUE    *
//*     EL VALOR DE ESTA VARIABLE, DEBE APUNTARSE SIEMPRE A S.        *
//*     EL USUARIO, SI USA LISTA DE FICHEROS, INDICA LA MISMA EN &FI  *
//*   FUNCION (X) (CONVERTIR PLANO A XML EN PASO01) -----> 1 BYTE     *
//*   TIPO FICHERO APLICACION (P/L/F) -------------------> 1 BYTE     *
//*     INDICA DE DONDE TIRAR PARA SACAR LOS XML:                     *
//*     SI P (PERFIL) : PASO01, TIRA DE PERFILES DE EDITRAN/G         *
//*     SI F (FICHERO): EL XML ESTA INDICADO EN LA VARIABLE &FI       *
//*     SI L (LISTA)  : LA LISTA DE LOS XML ESTA INDICADA EN VBLE &FI *
//*   FICHERO APLICACION: DSNAME DEL FICHERO DE APLICACION (DEL XML)  *
//*   O DSNAME DE LA LISTA QUE CONTIENE LOS FICHEROS APL-> 0-44 BYTES *
//*     SI &TI=P, NO SE USA &FI, POR LO QUE PUEDE PONER SPACES        *
//*     SI &TI=F, &FI=DSNAME.FILE.APLIC.XML                           *
//*     SI &TI=L, &FI=DSNAME.LISTA.FILES.APLIC.XML                    *
//*********************************************************************
//INBORR1  EXEC PGM=IEFBR14                                           
//LPASO00  DD DSN=KI.PMED.R&R1..R&R2..A&AP..LISTFICX,                 
//         DISP=(OLD,DELETE,DELETE)                                    
//PASO01 EXEC PGM=ZTBXBXML,                                           
//      PARM='&L1&L2&R1&R2&AP&FU&TI&FI/CBLQDA(ON)'                    
//STEPLIB  DD   DSN=KI.EIDC.ZTBG.LOAD,DISP=SHR                        
//SYSTCPD  DD   DSN=SW.TCPIP.SEZAPARM(TCPDATAB),DISP=SHR              
//ZTBGFPRI DD   SYSOUT=*,DCB=(BLKSIZE=105)                            
//ZTBGFPER DD   DSN=KI.EIDC.ZTBG.ZTBGFPER,DISP=SHR                    
//ZTBGFLOG DD   DSN=KI.EIDC.ZTBG.ZTBGFLOG,DISP=SHR                    
//ZTBGFDAT DD   DSN=KI.EIDC.ZTBG.ZTBGFDAT,DISP=SHR                    
//ZTBGFCAR DD  DSN=KI.PMED.R&R1..R&R2..A&AP..LISTFICX,                
//            DISP=(NEW,CATLG,DELETE),                                
//            SPACE=(TRK,(500,50),RLSE),                              
//            DCB=(RECFM=FB,LRECL=80,BLKSIZE=0,DSORG=PS)              
//ZTXGFSAL DD  DSN=KI.PMED.R&R1..R&R2..A&AP..ZTBXFSAL,                
//            DISP=(NEW,CATLG,DELETE),                                 
//            SPACE=(TRK,(500,50),RLSE),                              
//            DCB=(RECFM=FB,LRECL=252,BLKSIZE=0,DSORG=PS)              
//SYSOUT   DD   SYSOUT=*                                              
//SYSPRINT DD   SYSOUT=*                                       
//SYSDBOUT DD   SYSOUT=*                                       
//ABENDAID DD   SYSOUT=*                                       
//SYSCOUNT DD   DUMMY                                          
//SYSUDUMP DD   SYSOUT=*                                       
//SYSABOUT DD   SYSOUT=*                                       
/*                                                             
//A1P     EXEC PGM=ZTBGB110,,COND=(0,NE,PASO01),               
//         PARM='&ORIGEN&FUNCION&L1&L2&R1&R2&AP&LF/CBLQDA(ON)',
//         REGION=0M,TIME=1440                                 
....
//ZTBGFCAR DD   DSN=KI.PMED.R&R1..R&R2..A&AP..LISTFICX,DISP=SHR
```

* Se ha apuntado la variable LF=S (el paso a1p, coge una lista de ficheros creada en PASO01, con el nombre KI.PMED.R\&R1..R\&R2..A\&AP..LISTFICX)
* Se ha apuntado la variable FU=X (pasar PLANOS A XML)
* Se ha apuntado la variable TI=P (el usuario quiere que los dsnames de ficheros de aplicación planos, los saquemos del perfil de la sesión). Nota. Si por ejemplo el usuario hubiera creado una lista de ficheros de aplicación a cargar, por ejemplo KI.PMED.R\&R1..R\&R2..A\&AP..ZTBGFLFE, deberíamos apuntar la variable SET FI=KI.PMED.R\&R1..R\&R2..A\&AP..ZTBGFLFE. El contenido de este fichero se describió en tabla-1.
* Debe existir, creado por el usuario el fichero ZTBGFDAT. Ejemplo:

```
***************************** Top of Data ********************************************
0-                                                 192.172.038.244-00994-300- -
1-%O.XML                                      -                  -            - -00000
2-                                            -                  -            -S
***************************** Bottom of Data *****************************************
```

* La aplicación, en un primer paso XML, pasará los ficheros indicados en PERFIL Editran/G (TI=P), a formato XML. Creará una nueva lista, KI KI.PMED.R\&R1..R\&R2..A\&AP..LISTFICX cuyo contenido es una lista de ficheros con los nombres de los XML generados (que será DSNAME-FILE-APLICACIÓN.XML, por haber especificado %O.XML en ZTBGFDAT). A continuación, el paso A1P tirará de la nueva lista de ficheros KI.PMED.R\&R1..R\&R2..A\&AP..LISTFICX (debido a que se apuntó la variable LF=S), y cargará los mismos
* Si por ejemplo, hemos usado una lista de ficheros (TI=L), que se llama KI.EGDC.L00.R123.R456789.APEPITA.ZTBGFCAR y tiene como contenido:

<pre><code>********************************* Top of Data ****************
REAF-KI.EIDA.FF01                                       
<strong>REAF-KI.EIDA.FF02                                    
</strong>******************************** Bottom of Data **************
</code></pre>

El contenido del fichero KI.PMED.R\&R1..R\&R2..A\&AP..LISTFICX será:

```
********************************* Top of Data ****************
BNNF-KI.EIDA.FF01.XML                     
BNNF-KI.EIDA.FF02.XML                  
******************************** Bottom of Data **************
```

### **Posterior a recepción.**

Se proporciona el posterior ZTBGP4X. Actualmente, al posterior a recepción estándar (ZTBGP4C), tiene lo siguiente:

```cobol
//      PROC ORIGEN=,FUNCION=,L0=,          
//           L1=,L2=,R1=,R2=,AP=
//A4P     EXEC PGM=ZTBGB140,                                      
//         PARM='&ORIGEN&FUNCION&L1&L2&R1&R2&AP/CBLQDA(ON)',   
---        
//ZTBGLFE EXEC PGM=ZTBGBLFE,COND=(0,NE,A4P),           
//        PARM='&ORIGEN&FUNCION&L1&L2&R1&R2&AP',        
//ZTBGFLFE DD DSN=KI.PMED.&L0..R&R1..R&R2..A&AP..ZTBGFLFE,DISP=SHR
```

El nuevo procedimiento proporcionado tiene con respecto al estándar:

```cobol
//      PROC ORIGEN=,FUNCION=,L0=,                                     
//           L1=,L2=,R1=,R2=,AP=,FU=,TI=,FI=                           
//      SET FU=P                                                       
//      SET TI=L                                                       
//      SET FI=KI.PMED.R&R1..R&R2..A&AP..ZTBGFLFE                      
//*********************************************************************
//*   PROCEDIMIENTO POSTERIOR A LA RECEPCION EDITRAN/G                *
//*   NOTA: SI PASO ZTBGB140 ACABA CON RC=01 ES PORQUE NO ES LA ULTIMA*
//*         SESION DE TRANSMISION. IGNORAR DICHO WARNING              *
//*   INCLUYE UN PASO POSERIOR A DESCARGA, QUE CONSISTE EN NORMA SEPA *
//*   PASO DE FICHEROS DESCARGADOS XML A PLANOS                       *
//*********************************************************************
//*  DATOS:                                                           *
//*      ORIGEN (O=OPERADOR,E=EDITRAN,A=JCL APLICACION) ----> 1 BYTE  *
//*      FUNCION (07=DESCARGA DE RECEPCION DE PRESENTACION,           *
//*               09=FIN DE RECEPCION DE PRESENTACION) -----> 2 BYTES *
//*      SESION-PRESENTACION  ------------------------------>24 BYTES *
//*   FUNCION (P) (CONVERTIR XML A PLANO EN PASO02) -----> 1 BYTE     *
//*   TIPO FICHERO APLICACION (L) (LISTA) ---------------> 1 BYTE     *
//*     EL PASO LFE SACA UNA LISTA, ZTBGFLFE CON LOS XML DESCARGADOS  *
//*     EL PASO02, TIRA DE ESA LISTA &FI PARA PASAR LOS XML A PLANO   *
//*   FICHERO APLICACION: &FI, SE APUNTA CON EL NOMBRE DE LA LISTA    *
//*     QUE SACA EL PASO ZTBGLFE                                      *
//*********************************************************************
//A4P      EXEC PGM=ZTBGB140,                                          
//         PARM='&ORIGEN&FUNCION&L1&L2&R1&R2&AP/CBLQDA(ON)',           
//         REGION=0M,TIME=1440                                         
-----
//*********************************************************************
//*PASO PARA GENERAR LISTA DE FICHEROS RECIBIDOS EN LA PRESENTACION     
//*********************************************************************
//INBORR1  EXEC PGM=IEFBR14                                            
//LPASO00  DD DSN=KI.PMED.R&R1..R&R2..A&AP..ZTBGFLFE,                  
//         DISP=(OLD,DELETE,DELETE)                                    
//*                                                                    
//ZTBGLFE EXEC PGM=ZTBGBLFE,COND=(0,NE,A4P),                           
//        PARM='&ORIGEN&FUNCION&L1&L2&R1&R2&AP',                       
//        REGION=0M,TIME=25    
//ZTBGFLFE DD  DSN=KI.PMED.R&R1..R&R2..A&AP..ZTBGFLFE,    
//            DISP=(NEW,CATLG,DELETE),                    
//            SPACE=(TRK,(500,50),RLSE),                  
//            DCB=(RECFM=FB,LRECL=130,BLKSIZE=0,DSORG=PS) 
---
//*********************************************************************
//*PASO PARA CONVERTIR LOS XML A PLANOS                               
//*********************************************************************
//PASO02 EXEC PGM=ZTBXBXML,,COND=(0,NE,ZTBGLFE),                      
//      PARM='&L1&L2&R1&R2&AP&FU&TI&FI/CBLQDA(ON)'                    
//STEPLIB  DD   DSN=KI.EIDC.ZTBG.LOAD,DISP=SHR                        
//SYSTCPD  DD   DSN=SW.TCPIP.SEZAPARM(TCPDATAB),DISP=SHR              
//ZTBGFPRI DD   SYSOUT=*,DCB=(BLKSIZE=105)                            
//ZTBGFPER DD   DSN=KI.EIDC.ZTBG.ZTBGFPER,DISP=SHR
//ZTBGFLOG DD   DSN=KI.EIDC.ZTBG.ZTBGFLOG,DISP=SHR                  
//ZTBGFDAT DD   DSN=KI.EIDC.ZTBG.ZTBGFDAT,DISP=SHR                    
//ZTBGFCAR DD  DSN=KI.PMED.R&R1..R&R2..A&AP..ZTBGFLF2,                
//            DISP=(NEW,CATLG,DELETE),                                
//            SPACE=(TRK,(500,50),RLSE),                               
//            DCB=(RECFM=FB,LRECL=80,BLKSIZE=0,DSORG=PS)              
//ZTXGFSAL DD  DSN=KI.PMED.R&R1..R&R2..A&AP..ZTBXFSAL,                
//            DISP=(NEW,CATLG,DELETE),                                
//            SPACE=(TRK,(500,50),RLSE),                              
//            DCB=(RECFM=FB,LRECL=252,BLKSIZE=0,DSORG=PS)              
//SYSOUT   DD   SYSOUT=*                                              
//SYSPRINT DD   SYSOUT=*                                              
//SYSDBOUT DD   SYSOUT=*                                              
//ABENDAID DD   SYSOUT=*                                              
//SYSCOUNT DD   DUMMY               
//SYSUDUMP DD   SYSOUT=*            
//SYSABOUT DD   SYSOUT=*            
/*                                                                          
```

* Un paso intermedio entre A4P-ZTBGLFE (que borra la lista de ficheros de entrada que va a sacar el paso ZTBGLFE
* Un paso posterior a A4P-ZTBGLFE (conversor de xml a plano). El paso A4P descarga los XML. El paso ZTBGLFE saca una lista cuyo contenido son los dsnames de los ficheros descargados (ver tabla-2). El PASO02, tira de esa lista (al haber apuntado TI=L y FI=KI.PMED.R\&R1..R\&R2..A\&AP..ZTBGFLFE ZTBGLFE) y convierte a plano (al haber apuntado FU=P. Este PASO02, saca además una lista KI.PMED.R\&R1..R\&R2..A\&AP..ZTBGFLF2 cuyo contenido son los dsnames de los planos finales a tratar por la aplicación.
* Debe existir, creado por el usuario el fichero ZTBGFDAT. Ejemplo:

```
***************************** Top of Data ********************************************
0-                                                 198.172.033.233-00994-300- -
1-%O.XML                                      -                  -            -N-00000
2-                                            -                  -            -
***************************** Bottom of Data *****************************************
```

* Si por ejemplo, el contenido de KI.PMED.R\&R1..R\&R2..A\&AP..ZTBGFLFE era:

```
********************************* Top of Data ****************
KI.EIDA.FF01.XML                             20130517125457FIJOEN PAGO E1
KI.EIDA.FF02.XML                             20130517125458FIJOEN PAGO E2
******************************** Bottom of Data **************
```

El contenido del fichero KI.PMED.R\&R1..R\&R2..A\&AP..ZTBGFLF2 será:

```
********************************* Top of Data ****************
BNNF-KI.EIDA.FF01                        
BNNF-KI.EIDA.FF02          
******************************** Bottom of Data **************
```


---

# 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-comun-z-os/editran-sepa/jcls.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.
