Some functions are returning data as an XML String. The data models for each function is detailed below. Utility fuctions are used as described here
Only relevant parts are documented here since XML string returned by LINK2i functions also include XML metadata tags.
Databases inventory
Sample XML returned by ListDataBase:
<dataBases>
<Link2iXML>
<dataBase>LIB1</dataBase>
</Link2iXML>
<Link2iXML>
<dataBase>LIB2</dataBase>
</Link2iXML>
<Link2iXML>…</Link2iXML>
</dataBases>
Tables inventory in a database
Sample XML returned by ListTables:
<tables>
<Link2iXML>
<table>TABLE1</table>
</Link2iXML>
<Link2iXML>
<table>TABLE2</table>
</Link2iXML>
<Link2iXML>...</Link2iXML>
</tables>
Tables fields list
Sample XML returned by ListField:
<fields>
<Link2iXML>
<field>FIELD1</field>
</Link2iXML>
<Link2iXML>
<field>FIELD2</field>
</Link2iXML>
<Link2iXML>...</Link2iXML>
</fields>
Detailed description of objects
Sample XML returned by ObjectDetail:
<objectDetails >
<Link2iXML>
<objectItem>Object Type..: *FILE</objectItem>
</Link2iXML>
<Link2iXML>
<objectItem>SRC file Member..: TARTICLE</objectItem>
</Link2iXML>
<Link2iXML>…</Link2iXML>
</objectDetails >
Inventory of programs of a database
Sample XML returned by ListPgm:
<programs>
<Link2iXML>
<program>CLIE10 - Liste des clients</program>
</Link2iXML>
<Link2iXML>
<program>LSTSPL1 - Liste Spools</program>
</Link2iXML>
<Link2iXML>...</Link2iXML>
</programs>
Inventory of source files of a database
Sample XML returned by ListSrc:
<sources>
<Link2iXML>
<source>QRPGSRC - Sources des programmes RPG</source>
</Link2iXML>
<Link2iXML>
<source>QDSPSRC - Sources des définitions d'écran</source>
</Link2iXML>
<Link2iXML>...</Link2iXML>
</sources>
Inventory of source members of a source file of a database
Sample XML returned by ListMbr:
<members>
<Link2iXML>
<member>PFQSPL - Table (liste) des fichiers spools<</member>
</Link2iXML>
<Link2iXML>
<member>REPERPF - Répertoire de la base de données</member>
</Link2iXML>
<Link2iXML>...</Link2iXML>
</members>
Getting fields values and names by an SQL SELECT query
Sample XML returned by :
<DataSet>
<xs:schema id="NewDataSet">
<xs:element msdata:UseCurrentLocale="true " msdata:IsDataSet ="true" name="NewDataSet">
<xs:complexType>
<xs:choice maxOccurs ="unbounded" minOccurs="0">
<xs:element name="Table1">
<xs:complexType>
<xs:sequence>
<xs:element name="CIP " minOccurs="0" type="xs:string " dataBase="QS36G " dataType="VarChar " key="True " dataTable="ARTICPF " defaultValue=" " decimal=" " ibmiSerialNumber="S78CFF40 " header="CIP " keyUnique="True " length="7" description="">name=CIP description= length=7 keyUnique=True header=CIP …</xs:element >
</xs:sequence>
</xs:complexType>
</xs:element >
</xs:choice >
</xs:complexType>
</xs:element >
</xs:schema >
<diffgr:diffgram >
<NewDataSet>
<Table1 diffgr:id="Table11 " diffgr:hasChanges="inserted " msdata:rowOrder="0">
<<...>>3220771 …</<...>>
</Table1 >
</NewDataSet>
</diffgr:diffgram >
</DataSet>
Getting records of a table by an SQL SELECT query
Sample XML returned by GetDataDB2fori:
<DataSet>
<xs:schema id="NewDataSet">
<xs:element msdata:UseCurrentLocale="true " msdata:IsDataSet ="true" name="NewDataSet">
<xs:complexType>
<xs:choice maxOccurs ="unbounded" minOccurs="0">
<xs:element name="Table1">
<xs:complexType>
<xs:sequence>
<xs:element name="CIP " minOccurs="0" type="xs:string " dataBase="QS36G " dataType="VarChar " key="True " dataTable="ARTICPF " defaultValue=" " decimal=" " ibmiSerialNumber="S78CFF40 " header="CIP " keyUnique="True " length="7" description=""></xs:element >
</xs:sequence>
</xs:complexType>
</xs:element >
</xs:choice >
</xs:complexType>
</xs:element >
</xs:schema >
<diffgr:diffgram >
<NewDataSet>
<Table1 diffgr:id="Table11 " diffgr:hasChanges="inserted " msdata:rowOrder="0">
<<...>> FLCG30 …</<...>>
</Table1 >
<Table1 diffgr:id="Table12 " diffgr:hasChanges="inserted " msdata:rowOrder="1">
<<...>>AL60 1L …</<...>>
</Table1 >
<Table1 >…</Table1 >
</NewDataSet>
</diffgr:diffgram >
</DataSet>
IBM i CL command prompt
Sample XML returned by PromptCMD:
<CLCmd DTDVersion="1.0">
<Cmd RtvCmdExit="NO " ChgCmdExit="NO " ExecBatch="YES " PmtFileLib="_ " PmtFile="_ " MsgFLib="__LIBL" MsgF="QCPFMSG" PmtOvrLib="_ " PmtOvrPgm="_ " PrdLib="_ " CurLib="_ " MaxPos="2" HlpID="CRTLIB" HlpPnlGrpLib="__LIBL " HlpPnlGrp="QHLICMD" PromptMsgID="_ " Prompt="Créer une bibliothèque" CCSID="37" CmdLib="QSYS" CmdName="CRTLIB">
<Parm PromptMsgID="_ " Prompt="Bibliothèque" Choice="Nom" PassVal="_ " RtnVal="_ " InlPmtLen="_ " Case="_ " PassAtr="_ " ListDspl="_ " Vary="_ " IsPgm="_ " IsFile="_ " IsDtaAra="_ " Expr="YES " AlwVar="YES " AlwUnprt="YES " Full="NO " Rstd="NO " ChoiceLib="" ChoicePgm ="" ChoiceMsgID ="" DspInput ="YES " RangeMaxVal="" RangeMinVal ="" RangeMaxKwd ="" RangeMinKwd ="" RelKwd ="" RelVal ="" Rel="" Constant="" Dft ="" Len="10" Val="" PosNbr="1" KeyParm ="NO" PmtCtl ="" PmtCtlLib="" PmtCtlPgm ="" Max ="1" Min ="1" Type ="NAME " Kwd="LIB">
<ChoicePgmValues>
<Value Val="*USE "></Value >
</ChoicePgmValues>
<ChoicePgmText Text="_"></ChoicePgmText >
<Qual PromptMsgID ="_" Prompt="_" Choice="_" InlPmtLen ="_" PassAtr="_" Expr ="_" AlwVar="_" AlwUnprt ="_" Full ="_" Rstd="_" ChoiceLib ="_" ChoicePgm="_" ChoiceMsgID ="_" DspInput ="_" RangeMaxVal ="_" RangeMinVal ="_" RelVal="_" Rel ="_" Constant ="_" Dft ="_" Len="_" Min="_" Type="_">
<SpcVal>
<Value Val="_ " MapTo="_"></Value>
</SpcVal>
<SngVal>
<Value Val="_ " MapTo="_"></Value>
</SngVal>
</Qual >
<Elem PromptMsgID ="_" Prompt ="_" Choice ="_" InlPmtLen="_" Case ="_" PassAtr ="_" Vary ="_" IsPgm ="_" IsFile ="_" IsDtaAra="_" Expr ="_" AlwVar ="_" AlwUnprt ="_" Full ="_" Rstd ="_" ChoiceLib ="_" ChoicePgm ="_" ChoiceMsgID ="_" DspInput ="_" RangeMaxVal ="_" RangeMinVal ="_" RelVal ="_" Rel ="_" Constant ="_" Dft ="_" Len ="_" Max ="_" Min ="_" Type="_">
<SpcVal>
<Value Val="_ " MapTo="_"></Value>
</SpcVal>
</Elem >
<PmtCtl LglRel ="_" NbrTrue ="_" NbrTrueRel ="_" CtlKwd="_">
<PmtCtlCond Rel ="_" CmpVal="_"></PmtCtlCond>
</PmtCtl>
</Parm >
<Dep NbrTrue ="1" NbrTrueRel ="EQ" CtlKwd ="LIB" CmpVal ="QRPLOBJ" MsgID ="CPD2110" CmpKwd ="_" CtlKwdRel="EQ">
<DepParm Rel ="EQ" Kwd ="ASP" CmpVal ="1" CmpKwd="_"></DepParm>
</Dep>
</Cmd>
</CLCmd>