Changes between Version 7 and Version 8 of WF/Conexaocommainframe


Ignore:
Timestamp:
08/22/07 14:37:59 (17 years ago)
Author:
viani
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WF/Conexaocommainframe

    v7 v8  
     1= Conexão com Mainframe = 
     2[[TOC(heading=Workflow,depth=1,WF/Changelog,WF/Documentacao,WF/Instalacao,WF/Links,WF/Propostas,WF/Recursos)]] 
     3 
    14== Classe: wf_natural == 
     5 
    26Esta classe tem a finalidade de ler dados do ambiente mainframe realizando comunicação através do protocolo Jasppion (Java Active Server Page Package for Internet On Demand) desenvolvido pela CELEPAR. 
    37 
    4  
    5  
    68=== Métodos === 
    79 
    8 ==== configure ==== 
     10=== configure === 
    911 
    1012'''Descrição:''' Realiza a configuração básica do objeto. 
     
    2628  [$environment]: Ambiente onde está localizado o sub-programa. 'D' (desenvolvimento) ou 'P' (produção). 
    2729 
    28  
    29  
    3030'''Retorno''': <nenhum> 
    3131 
     
    3333 
    3434{{{ 
    35  
    3635$natural = wf_create_object("wf_natural"); 
    3736 
    3837$natural->configure("SUBPROGR", "senha", "10.15.61.10", 0316, "SUB", "SENHA", 'D'); 
    39  
    40 }}} 
    41  
    42 ---- 
    43  
    44 ==== setDBGatewayProtocol ==== 
     38}}} 
     39 
     40---- 
     41 
     42=== setDBGatewayProtocol === 
    4543 
    4644'''Descrição:''' Realiza a escolha do formato da transação (DBCon ou DBGateway) no mainframe, utilizando o protocolo Jasppion. 
    4745 
    48  
    49  
    5046'''Formato DBCon:''' 
    5147 
    5248Esta transação executa no mainframe um programa chamado JASPIN. É um tipo de chamada mais performática, visto que está limitado a 32Kb de transferência de dados, limitação do DBCon. A partir do momento em que o DBCon passar a tratar mais que 32Kb o JASPIN automaticamente irá tratar este tamanho. O JASPIN não tem limitação de tamanho de dados. 
    5349 
    54  
    55  
    5650'''Formato DBGateway:''' 
    5751 
    5852Esta transação executa no mainframe um programa chamado JASPPION. É um tipo de chamada menos performática, visto que  ela devolve uma quantidade ilimitada de registros de dados, uma vez que o JASPPION não tem limitação de tamanho de dados.  No mainframe cada registro formatado no sub-programa natural como se fosse uma linha de um Record Set e é devolvido ao requisitante. 
    5953 
    60  
    61  
    6254'''Parâmetros:''' 
    6355 
    6456  [$dbGateway]: Por default, o formato da transação é DBCon, a não ser que este seja alterado através da chamada do método setDBGatewayProtocol(). Se for necessário retornar ao formato DBCon, pode-se setar este parâmetro para false quando o método for invocado. 
    6557 
    66  
    67  
    6858'''Retorno''': <nenhum> 
    6959 
     
    7161 
    7262{{{ 
    73  
    7463$natural->setDBGatewayProtocol(); 
    75  
    7664}}} 
    7765 
    7866'''Exemplo de uso (2):''' 
    7967 
    80 {{{$this->natutal->getMSG(); 
     68{{{ 
     69$this->natutal->getMSG(); 
    8170 
    8271$natural->setDBGatewayProtocol(false); // Seta formato de transação para DBCon 
    83  
    84 }}} 
    85  
    86 ---- 
    87  
    88 ==== execute ==== 
     72}}} 
     73 
     74---- 
     75 
     76=== execute === 
    8977 
    9078'''Descrição:''' Conecta ao mainframe e captura os dados requisitados 
     
    9785 
    9886{{{ 
    99  
    10087$natural->execute(); 
    101  
    102 }}} 
    103  
    104 ---- 
    105  
    106 ==== getRC ==== 
     88}}} 
     89 
     90---- 
     91 
     92=== getRC === 
    10793 
    10894'''Descrição:''' Retorna o código do erro ocorrido durante a requisição. Se o retorno for zero nenhum erro ocorreu. 
     
    115101 
    116102{{{ 
    117  
    118103$natural->getRC(); 
    119  
    120 }}} 
    121  
    122 ---- 
    123  
    124  
    125  
    126 ==== getMSG ==== 
     104}}} 
     105 
     106---- 
     107 
     108=== getMSG === 
    127109 
    128110'''Descrição:''' Retorna a explanação do erro quando o getRC() é diferente de zero. 
     
    135117 
    136118{{{ 
    137  
    138119$natural->getMSG(); 
    139  
    140 }}} 
    141  
    142 ---- 
    143  
    144 ==== getDataParameter ==== 
     120}}} 
     121 
     122---- 
     123 
     124=== getDataParameter === 
    145125 
    146126'''Descrição:''' Retorna os dados obtidos do mainframe em formato String (formato devolvido pelo mainframe) 
     
    153133 
    154134{{{ 
    155  
    156135$natural->getDataParameter(); 
    157  
    158 }}} 
    159  
    160 ---- 
    161  
    162 ==== configure!ResultSet ==== 
     136}}} 
     137 
     138---- 
     139 
     140=== configure!ResultSet === 
    163141 
    164142'''Descrição:''' Para facilitar a manipulação dos dados (originalmente em string), pode ser configurado um !ResultSet para execução de cada sub-programa no mainframe. 
     
    175153 
    176154{{{ 
    177  
    178155$natural->configure!ResultSet(200, array("id" => 5, "nome" => 30) ); 
    179  
    180156}}} 
    181157 
     
    186162!ResultSet é um objeto que pode ser acessado através da classe wf_nature e que é construído após o método configure!ResultSet ser invocado. 
    187163 
    188  
    189  
    190164=== Métodos === 
    191165 
    192 ==== getNextRow ==== 
     166=== getNextRow === 
    193167 
    194168'''Descrição:''' Retorna a próxima linha dentro do set de registros 
     
    201175 
    202176{{{ 
    203  
    204177$row = $natural->ResultSet->getNextRow(); 
    205178 
    206179echo $row['id']; // O mesmo resultado pode ser obtido utilizando o método getFieldByName. 
    207  
    208 }}} 
    209  
    210 ---- 
    211  
    212 ==== getFieldByName ==== 
     180}}} 
     181 
     182---- 
     183 
     184=== getFieldByName === 
    213185 
    214186'''Descrição:''' Captura dado de um campo específico da linha corrente no !ResultSet 
     
    221193 
    222194{{{ 
    223  
    224195$natural->ResultSet->getNextRow(); 
    225196 
    226197echo $natural->resultSet->getFieldByName("id"); 
    227  
    228198}}} 
    229199 
     
    233203 
    234204{{{ 
    235  
    236205/ * 
    237206 * Neste exemplo o formato de arquivo retornado pelo mainframe contém 2 campos de tamanho 5 e 30, respectivamente. 
     
    243212$natural->execute(); 
    244213 
    245  
    246214// Se não contém nenhum erro 
    247215 
     
    273241---- 
    274242 
    275 '''OBS''': [] identificam os parâmetros opcionais. 
     243'''OBS''': [] identificam os parâmetros opcionais