Bonjour,
Ce post fait suite a celui créé précédemment concernant un code 999 - Internal Error.
En effet certains de mes rapports peuvent parfois se corrompre et ne peuvent plus être lu via le SDK RESTful de Business Object. J'ai besoins de pouvoir mettre à jour ces rapports afin qu'ils soient à nouveau lisible par le SDK, j'ai tenté un simple copier / coller via le portail web de BO et cela fonctionne à nouveau pour le rapport copié.
Je cherche donc un moyen d'automatiser cette tâche mais je n'ai trouvé aucune documentation sur la manière de procéder via RESTful, j'ai donc cherché à réaliser cela via le SDK Java fournit par BO.
Voici où j'en suis
Code JAVA : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 try{ System.out.print("\nSending request :"); String query ="SELECT SI_GUID, SI_NAME, SI_PARENTID, SI_FILES FROM CI_INFOOBJECTS WHERE SI_KIND= 'Webi' AND SI_GUID = 'FvWec1crVAEAjwgAAEB5kEX.ABekdwwA'"; IInfoObjects manyReports = infoStore.query(query); System.out.print(" OK !"); IInfoObject report = (IInfoObject)manyReports.get(0); System.out.println("\nReport: "+report.getTitle()); IInfoObject reportCopy = manyReports.copy(report, IInfoObjects.CopyModes.COPY_NEW_OBJECT_NEW_FILES); IFiles file = report.getFiles(); IRemoteFile myfile = ((IRemoteFile) file.get(0)); String url = myfile.getURL(); reportCopy.getFiles().add(url)); reportCopy.setTitle(reportCopy.getTitle()+"[copy]"); reportCopy.save(); report.deleteNow(); System.out.println(reportCopy.getTitle()+" copied successfully !"); enterpriseSession.logoff(); }catch(Exception z){z.printStackTrace(); System.out.print(" Error !"); }
Mais cela ne fonctionne pas : SDKException$FileNotFound: Chemin d'accès au fichier incorrect
Pareil, je n'ai pas trouvé beaucoup de documentation ni d'exemple sur la manière de procéder...
Le mode de copie COPY_NEW_OBJECT_NEW_FILES me créé bien un nouveau fichier dans BO mais celui-ci n'est relié à aucun document physique (.wid) ...
Si quelqu'un à une idée à me partager
Partager