PDA

View Full Version : BeispielPGM in C für ICF-Datei



delphix
22-02-02, 14:58
Hallo,

wir haben ein Problem beim beschreiben von ICF-dateien.
Ein vorhandenes RPG Programm sendet schon Daten an die ICF-datei.Die Daten sollen aber über das C-Programm verschickt werden
Bisher versuchen wir die Datei über >_Ropen<
zu öffnen leider resultiert daraus ein unbehebbarer E/A-Fehler.
Im RPG wird die Datei implizit geöffnet und im C muß sie explizit geöffnet werden.
Welcher C-Befehl entspricht dem impliziten Open im RPG?
Vielleicht hat ja jemand von euch schon ein Beispiel welches er uns zur Verfügung stellt!

Das Beispiel im IBM Redbook hat uns leider nicht wirklich weiter geholfen!
http://publib.boulder.ibm.com/pubs/html/as400/online/v4r4ger.htm

Danke schonmal

C-Source:

#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "recio.h"

#define MAX_STRING_LEN 255

/* Prototypen */
void GetFileName(char* szFileName, int argc, char* argv[]);

int main(int argc, char* argv[])
{
/* Variablen definieren */
char szFileName[MAX_STRING_LEN];
/* FILE* pICF; */
_RFILE* pICF;

GetFileName(szFileName, argc, argv);

printf("Verarbeitung (Datei %s) starten...\n", szFileName);
pICF = _Ropen(szFileName, "ar+ indicators=y riofb=y");
/* pICF = fopen(szFileName, "a+"); */
if ( pICF == NULL )
{
perror("fopen");
exit(9);
}

printf("Datei ge”ffnet, weiter mit bel. Zeichen...\n");
getchar();

/* fprintf(pICF, "TESTSTRING\n"); */

/* fclose(pICF); */
_Rclose(pICF);

printf("Verarbeitung beendet.\n");

/* alles paletti */
exit(0);
}

/* Prozedur GetFileName */
void GetFileName(char* szFileName, int argc, char* argv[])
{
if ( argc > 1 )
{
strcpy(szFileName, argv[1]);
}
else
{
strcpy(szFileName, "devub/data2");
}
} /* GetFileName */

[Dieser Beitrag wurde von delphix am 22. Februar 2002 editiert.]

[Dieser Beitrag wurde von delphix am 22. Februar 2002 editiert.]

[Dieser Beitrag wurde von delphix am 22. Februar 2002 editiert.]

loeweadolf
30-06-05, 14:44
Hallo Delphix,

in den tiefen Schubladen des Forums habe ich diesen Beitrag gefunden.

Was ist eine ICF-Datei und wie wird diese im RPG gefüllt bzw. ausgelesen.

Danke für Informationen. Ludger

Fuerchau
30-06-05, 15:01
ICF = InterCommunicationFile !
Eine einfache Kommunikationsform für RPG, wenn man per Read/Write Daten per V24/SNA o.ä. austauschen will (Siehe DDS-Handbuch und ICF).