infra:NET Expert
 
×
2.1 Export Teilestamm mit Eingang Teil von/bis
// ------------
// Definitionen
// ------------
String(strTeilenummer,strOut,strBez,strMB);
String(strTSS,strTSSMWI,strTSS_Start,strTSS_Stop);
Long(lLockMode,lHandle,lRcDbs);
 
IpsSetItemParams("EXPORT",6);
 
AssignString(strTSS,"Teilestamm");
AssignString(strTSSMWI,"TssMwi");
 
BufCreateBuffer(strTSS,6,0,0);
BufCreateBuffer(strTSSMWI,27,0,0);
 
AssignString(strTSS_Start,"               ");
AssignString(strTSS_Stop,"499900000000000");
 
// ------------------
// Exportdatei öffnen
// ------------------
BufSetFieldFromString(strTSS,3,strTSS_Start);
FileOpen("D:\TEILE.OUT","w",lHandle);
 
// -----------------
// Ersten Satz lesen
// -----------------
String(strOut,strBez,strTeilenummer);
BufSelectBuffer(strTSS,1,lRcDbs,0);
 
do:
// ----------------------------------------
// Schleife über alle Sätze mit Endeabfrage
// ----------------------------------------
BufQueryStringFromField(strTSS,3,strTeilenummer);
if  ( strTeilenummer > strTSS_Stop )
Jump(leave);
 
// -------------------------------------------
// Exportsatz füllen, dazu auch MWI-Satz lesen
// -------------------------------------------
BufQueryStringFromField(strTSS,4,strBez);
AssignString(strOut,strTeilenummer);
AppendString(strOut,"|");
AppendString(strOut,strBez);
AppendString(strOut,"|");
BufSelectLookupRecord(strTSS,strTSSMWI,1,1,lRcDbs,0);
if  ( lRcDbs == 0)
{
BufQueryStringFromField(strTSSMWI,22,strMB);
AppendString(strOut,strMB);
AppendString(strOut,"|");
}
AppendLF(strOut);
 
// --------------------
// Exportsatz schreiben
// --------------------
FileWrite(lHandle,strOut);
 
// -------------
// Nächster Satz
// -------------
BufFetchNext(strTSS,1,lRcDbs);
if  ( lRcDbs == 17 )
Jump(leave);
if  (lRcDbs == 0)
Jump(do);
leave:
FileClose(lHandle);