Abbildung 2 Program FTPTFRC - CPP für Befehl FTPTFR /*===================================================================*/ /* Programm . . . FTPTFRC */ /* Beschreibung . CPP für parametergesteuerte FTP-Übertragung */ /*===================================================================*/ Pgm ( + &RmtSys + &UsrPrf + &Password + &QuellDat + &ZielDat + ) /*===================================================================*/ /* Felddefinitionen */ Dcl &RmtSys *Char ( 100 ) Dcl &UsrPrf *Char ( 10 ) Dcl &Password *Char ( 50 ) Dcl &QuellDat *Char ( 20 ) Dcl &ZielDat *Char ( 20 ) Dcl &MsgID *Char ( 7 ) Dcl &MsgDta *Char ( 256 ) Dcl &MsgF *Char ( 10 ) Dcl &MsgFLib *Char ( 10 ) /*===================================================================*/ /* globale Fehlerbehandlung */ monmsg ( CPF0000 MCH0000 ) exec( goto CPF_Fehler ) /*===================================================================*/ /* temporäres Src-Mbr für FTP-Anweisungen erstellen */ (A) DltF QTemp/FTP_SrcDat MonMsg ( CPF0000 ) CrtSrcPF QTemp/FTP_SrcDat AddPFM File( QTemp/FTP_SrcDat ) + Mbr( FTP_Anweis ) /*===================================================================*/ /* FTP-Anweisungen in temporärem FTP-SrcMbr generieren */ (B) OvrDbF File( FTP_SrcDat ) + ZielDat( QTemp/FTP_SrcDat ) + Mbr( FTP_Anweis ) Call FTPTFRR ( + &UsrPrf + &Password + &QuellDat + &ZielDat + ) DltOvr FTP_SrcDat /*===================================================================*/ /* FTP-Dateiübertragung durchführen */ (C) OvrDbF File( Input ) + ZielDat( QTemp/FTP_SrcDat ) + Mbr( FTP_Anweis ) FTP RmtSys( &RmtSys ) DltOvr Input /*===================================================================*/ /* temporäres SrcMbr mit FTP-Anweisungen löschen */ (D) DltF QTemp/FTP_SrcDat /*===================================================================*/ /* Programm beenden */ Return /*===================================================================*/ /* globale Fehlerbehandlung */ (E) CPF_Fehler: RcvMsg MsgType( *Excp ) + MsgDta( &MsgDta ) + MsgID( &MsgID ) + MsgF( &MsgF ) + MsgFLib( &MsgFLib ) monmsg ( cpf0000 mch0000 ) SndPgmMsg MsgID( &MsgID ) + MsgF( &MsgFLib/&MsgF ) + MsgDta( &MsgDta ) + MsgType( *Escape ) monmsg ( CPF0000 MCH0000 ) /*===================================================================*/