mardi 7 juin 2016

Mise en place d'un BI Publisher

Quelques notes  en relation avec XML Publisher / BI Publisher.

Se positionner dans la Responsabilité Administrateur XML Oracle Publisher et rechercher un  modèle de données existant :

 



En cliquant sur le nom du fichier .xml, on obtient le code correspondant. Il fait le lien entre la déclaration du traitement dans l'application et le modèle de mise en forme, il contient les éléments permettant la sélection des données.

Au niveau de la déclaration du traitement, l'éxécutable est XDODTEXE.

Différents types de paramètres sont utilisables.

Type caractère
Type Number
Type Date

Il est aussi possible de produire les données à partir d'un Reports. Il faut pour cela, dans la définition du programme, il faut définir le Reports avec une sortie XML.

Maquette - Modèle
Le fichier .rtf est téléchargeable et doit être ouvert avec Word, au niveau des propriétés, dans le texte d'aide des champs, on voit le code qui permet la prise en compte de la donnée balisée.

Il est possible d'ajouter une macro dans Word pour lancer une prévisualisation en mode local.

Installation du BI publisher
http://www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/bi/bip/tb4word/tbwordbip.htm

Téléchargement du BIPublisherDesktop.exe
http://www.oracle.com/technetwork/middleware/bi-publisher/downloads/index.html

On peut exporter le fichier de traduction...

Pour lancer l'édition à partir d'un programme PL SQL : il faut ajouter un appel au modèle utilisé avant le submit_request.

IF fnd_request.add_layout(template_appl_name => 'XX',
                          template_code => v_template.template_code,
                          template_language => LOWER(v_language.iso_language),
                          template_territory => v_language.iso_territory,
                          output_format => v_template.default_output_type) THEN
    xx_global_pkg.log('Template XML Publisher : ' || v_template.template_name);
ELSE
   RAISE_APPLICATION_ERROR(-2001, 'Unable to add XML Publisher template : ' || v_template.template_name);
END IF;


v_program_name := xmlp_program_name('XXMAEDBL');
xmlp_templates(v_program_name);

v_request_id := fnd_request.submit_request
(  'XX', -- application short name
    v_program_name, -- program short name
    NULL, -- program name
    NULL, -- start date
    FALSE, -- sub-request
    p_process_name -- nom du traitement
);