Vraag : Het nieuwe probleem van Parseexcel van de Spreadsheet Perl

Voor de Spreadsheet in bijlage en de code in bijlage, zou
it moeten de gegevensinhoud bij de gespecificeerde plaats uitprinten die aan het dossier beantwoorden - naam. Zodra het een EIND raakt het drukt - uit content.


I am krijgend de volgende fout… Het kwam niet eerder. Wat kan het verwijderen worden gedaan?



ROW: 9
COLUMN: de waarde 17
Cell is de serieelement van P
The eerste is 059L042M6|99*QNDNCA|USD|0302|8759|USD|95|9528.08|928.08|20090507|20091204|059L042M6|OTC4|L|S

Content van „/v/region/na/appl/phoenixfunding/etl/data/qa/SrcFiles/MFOtcTaxlotOpenDelta.txt_20100226 zal“ zijn:
059L042M6|99*QNDNCA|USD|0302|8759|USD|95|9528.08|928.08|20090507|20091204|059L042M6|OTC4|L|S
059L042M6|99*QNDNCA|USD|0302|8759|USD|85|8528.08|828.08|20090507|20091204|059L042M6|OTC4|S|S
059L042M6|99*QNDNCA|USD|0302|8759|USD|75|7528.08|728.08|20090507|20091204|059L042M6|OTC4|L|P
059L042M6|99*QNDNCA|USD|0302|8759|USD|65|6528.08|628.08|20090507|20091204|059L042M6|OTC4|S|P
059105130|99*QNDNCA|EUR|0302|3275|USD|5000|5190.36|590.36|20090501|20120512|'059105130|OTC4|L|S
059105130|99*QNDNCA|EUR|0302|3275|USD|4000|4190.36|490.36|20090501|20120512|'059105130|OTC4|S|S
059105130|99*QNDNCA|EUR|0302|3275|USD|3500|3190.36|390.36|20090501|20120512|'059105130|OTC4|L|P

Row voordien als de verklaring 10
Value van rij is alvorens daarna te roepen voordien 12
Row is als de verklaring 12
Can niet vraagmethode „waarde“ op een niet gedefiniëerde waarde bij /ms/user/s/sayantag/Proces s_MF.pl lijn 35.

is
" codeBody "
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:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
#! /usr/bin/perl5.10 - w


gebruiks waarschuwingen;
gebruiks Spreadsheet:: ParseExcel;
strikt gebruik;
gebruik IO:: Scalair;
gebruiks Gegevens:: Kipwagen;

mijn @etl_val = @ARGV;

„@etl_val“ druk. “ \ n ";

mijn $parser = Spreadsheet:: ParseExcel->new ();
mijn $workbook = $parser->parse („/ms/user/s/sayantag/Demo_MF5.xls“);
mijn $worksheet;
mijn %order_of_flat_file;
mijn @data_arr;
mijn $etl;
mijn $path;

voor $worksheet ($workbook->worksheets ()) {
   mijn ($row_min, $row_max) = $worksheet->row_range ();
   mijn ($col_min, $col_max) = $worksheet->col_range ();
 
   mijn $row = $row_min + 2;
   terwijl ($row <=$row_max) {
        druk „Rij voordien als de verklaring $row \ n“ is;    
     als ($worksheet->get_cell ($row, 2) - >value Ne „EIND“) {
        druk „Rij na als de verklaring $row \ n“ is;
                
     mijn $etl_cell = $worksheet->get_cell ($row, 2);
        als (bepaald ($etl_cell)) {
        $etl = $etl_cell->value;}

     mijn $path_cell = $worksheet->get_cell ($row, 1);
        als (bepaald ($path_cell)) {
        $path = $path_cell->value;
        $path =~ s \ s$//;
        druk „WEG: $path“. “ \ n ";}

     mijn $path_cell0 = $worksheet->get_cell ($row, 0);
        als (bepaald ($path_cell0)) {
        $path.= $path_cell0->value;
        druk $path_cell0->value. „\ n“;
        druk „WEG: $path“. “ \ n ";
        druk „ETL: $etl“. “ \ n ";
        druk „WEG: $path“. “ \ n ";
        
        }
     mijn $data_row; 
     voor mijn $col ($col_min+3. $col_max) {
        druk „RIJ: $row“. “ \ n ";
        druk „KOLOM: $col“. “ \ n ";
                
        mijn $cell = $worksheet->get_cell ($row, $col);
        als (bepaald ($cell)) {
          mijn $cell_val = $cell->value;
          de druk de „waarde van de Cel is $cell_val \ n“;
          $data_row. = $cell_val. „|“;
         druk het „Eerste serieelement is $data_arr [0] \ n“;
          druk „Inhoud van „“, $path, „“ zal zijn: \ n ", @data_arr, „\ n“;
         } anders {$data_row. = „|“;
                 
                } 
         
         }
        $data_row =~ s {\|+$} {}; # Verwijder slepende pijpen.
        $data_row. = „\ n“; # Voeg lijneind aan eind van rij toe. 
        duw @data_arr, $data_row;  
        $row++;     
       }
        anders {# kijkt de druk de „Serie als @data_arr \ n“;
              open („FILEHANDLE“, „>“, $path) of matrijs „kan het dossier“ openen niet, $path, „: $! “;
              druk FILEHANDLE @data_arr;
              sluit („FILEHANDLE“);
              @data_arr = ();
              $row = $row+2;
              druk „Waarde van rij alvorens daarna te roepen $row \ n“ is;
              daarna;
      
            }
        $order_of_flat_file {$etl} = $path;
     }
   }

voor mijn (@etl_val) $curr_etl_val {
        druk $order_of_flat_file {$curr_etl_val}, „\ n“;
}

foreach mijn (@etl_val) $curr_etl {
druk „\ die nNow werkschema $curr_etl \ n uitvoeren“;
`ksh Command_Line_Etl.ksh „PhoenixFundingAdmin“ „NjuX2mfP0k“ „PhoenixFunding“ $curr_etl „REPO_SVC_PhxR2Qa“ „Domain_NY_Qa“ `;
}
de druk „\ nAll dossiers worden geproduceerd na het runnen van de werkschema's. Breng deze dossiers evenals basislijndossiers aan een spreadsheet in kaart door het manuscript van de Opstelling van Excel in werking te stellen alvorens de Gegevens door Saturnus \ n \ n \ n“ vergelijken;

Antwoord : Het nieuwe probleem van Parseexcel van de Spreadsheet Perl

Gewoonlijk als een toepassing werkt wanneer u met een „volledige Desktop“ gebruikend RDP maar NIET wanneer als RemoteApp, de kwestie bent normaal het feit verbindt is shell nu uitvoerbaar app en NIET Explorer.exe. Zeer gemeenschappelijke kwestie met geschreven Delphi apps.
De andere kwestie is soms app baseert zich op alle parameters van een kortere weg om (begin binnen, weg, enz.) behoorlijk te werken. RemoteApp gebruikt allemaal niet.
Wat u in dit geval doet moet een RemoteApp creëren die aan een .LNK dossier (kortere weg) in plaats van het gaan naar uitvoerbaar app richt. Cre�ër zo de kortere weg en kies het dan in plaats van .EXE voor app. Dat bevestigt eveneens vele apps.

Cláudio Rodrigues
Citrix CTP
Andere oplossingen  
 
programming4us programming4us