ࡱ                >  	                                         ܥh W	  e                G                                                                                      
     
     
     
     
             
      C   
                                        	  Ҏ     Ҏ     Ҏ 8   
             % X   } ,                                                                                                                     
                                              ,           (l                                                                                                                                     .A	  	  dkJ**************************************************************************dk macro:	general executiondk dk fus:dk8		R3ReplaceFieldswithData	replace the fields in a letterdk							with the specific datadk$		R3PrintFL				print the form letterdk/		R3CheckInList			check if an item is in a listdk3		R3CollectFields		collect the mmfields in an arraydk1		R3MakeLineToList		divide a input line to a listdk dk@		R3CheckandRemove		check for field errors and remove the fieldsdk:		R3CheckDataFields		check the existence of the datafieldsdk:		R3CheckConFields		check if every used FL field has data?dk							write a report!dk dk'		R3LinkDatafile			link the data sourcedk		R3UnLinkDataFile		unlink 'dk dk		R3Term				termination codedk dk		R3GetCurZoom			dk		R3SetCurZoomdk dk dk	 histroy:dk	22.02.95	GenesisdkI	06.03.95	better method for field replacing with contents (found in help)dk			begun fu for data check!dk 	08.03.95	R3CollectFields added dk			R3MakeLineToList addeddk/	13.03.95	link and unlink moved from R3AutoOpendk			print now workdk$			init and term copied from autopendk	03.04.95	cleanupdk-	04.04.95	R3Init removed caller stack reacheddk)	05.04.95  GetLanguage moved to r3globalsdkI	26.04.95  corrected CheckInList - test for 0000 - format was not correctdk       25.11.96  A-00309dk8			The remove field when there is an error is wrong and dk			remove all the fields !!! dk       23.01.96  A-0335dk  			Problem with some options \odk		17.07.98	A-000576dk<			When we print with the date modificator we have an error dk"			124. Nestle found the error !!!dk       04.07.98 GB-01dk           printing problemsdk dkJ**************************************************************************ddkJ**************************************************************************diMAINdRk stubddkJ**************************************************************************ddkJ**************************************************************************dk0 replace all variables in the text with the datadkJ**************************************************************************diR3ReplaceFieldswithDataddR,-*iR3ReplaceFieldswithDataErrddR/isFields$i	R3GlobalsvR3MaxNumFieldsRk array of fieldsdR/iiCountok counterddni	R3LogFilevR3WriteLogLinej-> R3ReplaceFieldswithDatadRgl  ddRiiCountiR3CollectFieldsisFields$Rk count the fieldsdRiiCountl  odok do nothingdR dog ok	 mark alldog  ok renew fieldsdog! ok replace fieldsdRTdRgddRgl dd*iR3ReplaceFieldswithDataExiteR3ReplaceFieldswithDataErrddRiR3ErrorvR3HandleiErrjR3Exec.R3ReplaceFieldswithDatadeR3ReplaceFieldswithDataExitdRi	R3LogFilevR3WriteLogLinej<- R3ReplaceFieldswithDatadddkF----------------------------------------------------------------------dk" print out the actual FL document dk dk di	R3PrintFLddR,-*iR3PrintFLErrdndR/isErrorList$i	R3Globalsv
R3MaxNumDRdR/iiErrSizedR/iiRecorddR/i	iDataSizedR/iiCountdR/isOutString$ddnk GB-01 new print sectiondnk dni	R3LogFilevR3WriteLogLinej-> R3PrintFLddni	R3LogFilevR3WriteLogLinejR3PrintFL: R3UnlinkDataFiledniR3UnlinkDataFileddRi	iDataSizeiR3FHandlingvR3GetTabLengthi	R3GlobalswR3GetDataFileName$l dni	R3LogFilevR3WriteLogLinejR3PrintFL: R3GetTabLength = gi	iDataSizeddRiR3LinkDataFilei	R3GlobalswR3GetDataFileName$dRisName$g;ddR#iiCountl  $i	iDataSizel Rdnk merge the actual datarecorddnk dni	R3LogFilevR3WriteLogLinejR3PrintFL: MailMergedRngs l  rdnsl rdQons iiCountl rdns iiCountl rdnsl rdosPddnRng$l  dni	R3LogFilevR3WriteLogLinejR3PrintFL: FilePrintdnRngX sl  rdns l  rdnsj rdns l  rdns l rdns l  rdnsl  rdnsl  ddnk Close the merged filedRngl dnk0 activate the main document for next merge oper.dRngbisName$dni	R3LogFilevR3WriteLogLinejR3PrintFL: next letterdn&iiCountoddnk printing done, go to the enddRd*iR3PrintFLExiteR3PrintFLErrdRiR3ErrorvR3HandleiErrjR3Exec.R3PrintFLeR3PrintFLExitdi	R3LogFilevR3WriteLogLinej-> R3Exec.R3PrintFLddkJ**************************************************************************ddkJ**************************************************************************dk check if string is in listdk	1	is indk	0 	is not indkJ**************************************************************************diR3CheckInListiiSizeisList$isItem$ddR,-*iR3CheckInListErrddR/iiddni	R3LogFilevR3WriteLogLinej-> R3CheckInListdRisItem$ggisItem$dRisItem$gl gisItem$j0isItem$ddRiil  ok) search the Item in the List to max Size dRiiFlagl  dR!iiiiSizedoisList$iiisItem$doiiFlagl doTdoiiiil dR"ddRiiFlagl  ok have we found it ?doiR3CheckInListl  ok NOdR doiR3CheckInListl ok YESdRTdd*iR3CheckInListExiteR3CheckInListErrddRiR3CheckInListl  deR3CheckInListExitdRi	R3LogFilevR3WriteLogLinej<- R3CheckInListddkJ**************************************************************************ddkJ**************************************************************************dkG collect the fields in the document an write the in the specified arraydkJ**************************************************************************diR3CollectFieldsisFields$ddR,-*iR3CollectFieldsErrddR/iiCountdR/iiLendR/isTemp$dR/iiMMLen$ok mergemail field lengthddni	R3LogFilevR3WriteLogLinej-> R3CollectFieldsdRiiMMLengi	R3GlobalswR3MMFieldName$ok get length of field MMddRiiCountl  dRgdRgml dR!g̀l  doiiLenggl doisTemp$g
gl iiLendogisTemp$iiMMLeni	R3GlobalswR3MMFieldName$dnisTemp$g
isTemp$iiMMLenl gisTemp$iiMMLenl dok  21.11.96 We cut the /* dok A-000576 change doQiEscapegisTemp$j \dniEscapel  dQonisFields$iiCountgisTemp$iEscapel dn donisFields$iiCountgisTemp$gisTemp$ndnTdoiiCountiiCountl doTdR"dRgml  ddRiR3CollectFieldsiiCountl dd*iR3CollectFieldsExiteR3CollectFieldsErrdodRiR3CollectFieldsl deR3CollectFieldsExitdi	R3LogFilevR3WriteLogLinej<- R3CollectFieldsddkJ**************************************************************************ddkJ**************************************************************************dk1 make a line a|b|c| to a list like 0 a, 1 b, 2 c,dkJ**************************************************************************diR3MakeLineToListisFields$isLineBuffer$ddR,-*iR3MakeLineToListErrddR/iiFPosddni	R3LogFilevR3WriteLogLinej-> R3MakeLineToListdRiiFPosl  dRisFields$iiFPosiR3FHandlingwR3GetField$iiFPosl isLineBuffer$rdoni	R3GlobalswR3FieldSep$dR!isFields$iiFPosj	undefineddoiiFPosiiFPosl doisFields$iiFPosiR3FHandlingwR3GetField$iiFPosl isLineBuffer$rdoni	R3GlobalswR3FieldSep$odR"dRiiFPosiiFPosl Qok 0 - iFPos are the fieldsddRiR3MakeLineToListiiFPosdd*iR3MakeLineToListExiteR3MakeLineToListErrddRiR3MakeLineToListl deR3MakeLineToListExitdi	R3LogFilevR3WriteLogLinej<- R3MakeLineToListddkJ**************************************************************************ddkJ**************************************************************************dk> check if all fields in the document are in the datasource toodk3 25.11.96 There was an error in the remove functiondkJ**************************************************************************diR3CheckandRemoveddR,-*iR3CheckandRemoveErrddR/isFields$i	R3GlobalsvR3MaxNumFieldsdR/isLineBuffer$dR/isTemp$dR/iiCountdR/i	sDisList$i	R3GlobalsvR3MaxNumFieldsdR/iiLendR/iiMMLendR/iiListdR/iiFPosdR/i	iViewFlagdR/iiChangedFlagddni	R3LogFilevR3WriteLogLinej-> R3CheckanRemovedR6iR3StringReswR3GetString$jXXINS0009XXXddRgl dRk save the contextdRi	iViewFlaggdRiiChangedFlagg#ddRiiCountiR3CollectFieldsisFields$ddRiR3UnlinkDatafiledR=i	R3GlobalswR3GetDataFileName$#74ql do87ql isLineBuffer$RdRLql dRiR3LinkDatafilei	R3GlobalswR3GetDataFileName$dRdRiiFPosl ok, make a list of the fields in the datasourcedRisFieldName$jNOT UNDEFINEDdR!isFieldName$j	undefineddoisFieldName$iR3FHandlingwR3GetField$iiFPosisLineBuffer$i	R3GlobalswR3FieldSep$doiiFPosiiFPosl do#iil  $iiCountdoisFieldName$isFields$iidoisFields$iijOKdoTdo&iiodR"ddRiiListl ok build the missing listdR#iil  $iiCountdoisFields$iijOKdok7 this is a field in document and not in the data sourcedoi	sDisList$iiListl isFields$iidoiiListiiListl doTdR&iidRiiListiiListl ddRk restore the contextdRi	iViewFlagl ok, show data not fieldnames in individual modedogl dRdRiiChangedFlagl dok  do nothing dokument has changeddR dog$l  dRdRgl  ddRiiListl  dok everything is okdoiR3ErrorvR3ShowMessageiR3StringReswR3GetString$jXXINS0008XXXdR RddoiiChooseiR3DialogvR3ShowFieldListRemovei	sDisList$ddo13iiChoosedo3l ok OKdok do nothing heredo3l ok REMOVEdok$ remove the fields not in datasourceddogdogml ddo!g̀l  doiiLenggl doisTemp$g
gl iiLenok extract the fielddoiiMMLengi	R3GlobalswR3MMFieldName$dogisTemp$iiMMLeni	R3GlobalswR3MMFieldName$doisTemp$g
isTemp$iiMMLenl gisTemp$iiMMLenl dk0  21.11.96 We cut the /*  tested on the 25.11.96dk  A-00576. dk  For print and check problemdoiEscapegisTemp$j \doiEscapel  dQonoisTemp$gisTemp$iEscapel doQoTddo#iil  $iiListdogi	sDisList$iigisTemp$dk 							If PrevField() = - 1 Thendk								NextFielddk							EndIfdogl doiiiiListdoTdo&iiddoTdo"dogml  ddo3 dok unknowndo1ddogddRTddd*iR3CheckandRemoveExiteR3CheckandRemoveErrddRiR3ErrorvR3HandleiErrjR3Exec.R3CheckandRemovedeR3CheckandRemoveExitdi	R3LogFilevR3WriteLogLinej<- R3CheckanRemoveddkJ**************************************************************************ddkJ**************************************************************************dk> check if all fields in the document are in the datasource toodk dk return codedk	1 everything is okdk	0 there is an errordk dkJ**************************************************************************diR3CheckDataFieldsddR,-*iR3CheckDataFieldsErrddR/isFields$l dR/isLineBuffer$dR/isTemp$dR/iiCountdR/i	sDisList$l dR/iiLendR/iiMMLendR/iiListdR/iiFPosddni	R3LogFilevR3WriteLogLinej-> R3CheckDataFieldsdR6iR3StringReswR3GetString$jXXINS0009XXXddRiiCountiR3CollectFieldsisFields$ok collect all fields useddRiR3UnlinkDatafileok( now read the list of fields in datafiledR=i	R3GlobalswR3GetDataFileName$#74ql Rdo87ql isLineBuffer$RdRLql dRiR3LinkDatafilei	R3GlobalswR3GetDataFileName$dRdRiiFPosl ok& no insert a ok for every mmf t. is okdRisFieldName$jNOT UNDEFINEDdR!isFieldName$j	undefineddoisFieldName$iR3FHandlingwR3GetField$iiFPosisLineBuffer$i	R3GlobalswR3FieldSep$doiiFPosiiFPosl do#iil  $iiCountdoisFieldName$isFields$iidoisFields$iijOKdoTdo&iiodR"ddRiiListl ok build the missing listdR#iil  $iiCountdoisFields$iijOKdok7 this is a field in document and not in the data sourcedoi	sDisList$iiListisFields$iidoiiListiiListl doTdR&iidRiiListiiListl ddRiiListl  ok return a value belonging ondo
k size of the missing listdok everything is okdoiR3CheckDataFieldsl dR Rdok' there are alien fields in the documentdoiR3CheckDataFieldsl  dRTddR6j dd*iR3CheckDataFieldsExiteR3CheckDataFieldsErrddRiR3ErrorvR3HandleiErrjR3Exec. R3CheckDataFieldsdeR3CheckDataFieldsExitdi	R3LogFilevR3WriteLogLinej<- R3CheckDataFieldsddkJ**************************************************************************ddkJ**************************************************************************dk, check the contents of the data fields used!dk dk return codedk dk dk    dk	1 everything is okdk	0 there is an errordk dk Comments : Intern variables dk<            iEPos = Position of the record in the Field areadk?            iDPos = Number of errors reported in the ERROR filedk dk dkJ**************************************************************************diR3CheckConFieldsddR,-*iR3CheckConFieldsErrddR/isFields$l dR/isLineBuffer$dR/isTemp$dR/iiCountdR/isEmptyList$l dR/iiLendR/iiMMLendR/iiListdR/iiFPosdR/iiEPosdR/iiDPosdR/iiCountdR/iiSPosdR/iiHPosdR/isOutputList$i	R3Globalsv
R3MaxNumDRdR/iiFlagdR/isOutString$ddni	R3LogFilevR3WriteLogLinej-> R3CheckConFieldsdR6iR3StringReswR3GetString$jXXINS0010XXXdRiiCountiR3CollectFieldsisFields$ok all used fieldsdRgddRiR3UnlinkDatafiledR=i	R3GlobalswR3GetDataFileName$#74ql do87ql isLineBuffer$ok read the first lineddok& make a list of the fields in the linedoiiFPosiR3MakeLineToListisEmptyList$isLineBuffer$do
k all possible fields (IDX)ddokA now convert the fieldname to an index in the existing field listdo#iiSPosl  $iiCountdodoiiHPosl  do!isFields$iiSPosisEmptyList$iiHPosiiHPosiiFPosdoiiHPosiiHPosl do"doiiHPosiiFPosdok found the pos is in iHPosdoisFields$iiSPosgiiHPosdo doisFields$iiSPosgl doToddo&iiSPosddoiiDPosl  ok index in output listdoiiEPosl  ok data record numberdo!gql do87ql isLineBuffer$ok read the first lineddoiiFlagl  doiil  do!iiiiCountiiFlagl  ododoiR3FHandlingwR3GetField$gisFields$iil isLineBuffer$i	R3GlobalswR3FieldSep$j gisFields$iil doisOutputList$iiDPosgiiEPosl Rk dr num in outputlistdoiiDPosiiDPosl doiiFlagl do dok do nothingdoTdoiiiil do"doiiEPosiiEPosl do"ndRLql ddRiR3LinkDatafilei	R3GlobalswR3GetDataFileName$Rk write a report filedRiiDPosl  dok everything is okdo=i	R3GlobalswR3DProtName$#;4ql doLql ok empty reportdoiR3CheckConFieldsl dR Rdok, there are empty fields used in the documentdok+ now write the outputlist in the outputfiledo=i	R3GlobalswR3DProtName$#;4ql do#iil  $iiDPosl doisOutString$gisOutputList$iidogisOutString$l doisOutString$gl gisOutString$j0isOutString$doTdo6ql isOutString$do&iidoLql ddoiR3CheckConFieldsl  dRTdR6j dd*iR3CheckConFieldsExiteR3CheckConFieldsErrddRiR3ErrorvR3HandleiErrjR3Exec.R3CheckConFieldsdeR3CheckConFieldsExitdi	R3LogFilevR3WriteLogLinej<- R3CheckConFieldsddkJ**************************************************************************ddkJ**************************************************************************dk$ link the data file to the mergemaildkJ**************************************************************************diR3LinkDatafileisFName$ddR,-*iR3LinkDatafileErrddRi	R3LogFilevR3WriteLogLinej-> R3Exec.R3LinkDataFiledRi	R3LogFilevR3WriteLogLinejR3Exec.R3LinkDataFile: isFName$ddRisFName$j dog+jNo data file is given!jSAPl  l0 l  dnRni	R3LogFilevR3WriteLogLinej$R3Exec.R3LinkDataFile: no data file!doiR3ErrorvR3FatalErrordR dog(l  ok mode mergemaildRni	R3LogFilevR3WriteLogLinej.R3Exec.R3LinkDataFile: MailMergeOpenDataSourcedogQ ns isFName$rdosIl  rdos l  s#l  rdosUl  sAj rdonsBj sl  rdosj rdosj dk       21.11.96 Remove dk-						.Connection = "", .SQLStatement = "", \dk						.SQLStatement1 = ""dRTdd*iR3LinkDatafileExiteR3LinkDatafileErrddRiR3ErrorvR3HandleiErrjR3Exec.R3LinkDatafiledeR3LinkDatafileExitdi	R3LogFilevR3WriteLogLinej<- R3Exec.R3LinkDataFileddkJ**************************************************************************ddkJ**************************************************************************dk0 unlink the datafile from the mergemail documentdkJ**************************************************************************diR3UnLinkDatafiledRdR,-*iR3UnLinkDatafileErrddRi	R3LogFilevR3WriteLogLinej-> R3Exec.R3UnLinkDatafileddRgl  l Rk check connection datadni	R3LogFilevR3WriteLogLinejMailMergeResetdRnRg` ok disconnect the data filedRddR*iR3UnLinkDatafileExiteR3UnLinkDatafileErrddRiR3ErrorvR3HandleiErrjR3Exec.R3UnLinkDatafiledeR3UnLinkDatafileExitdi	R3LogFilevR3WriteLogLinej<- R3Exec.R3UnLinkDataFileddkJ**************************************************************************ddkJ**************************************************************************dk) termination code to be executed on closedkJ**************************************************************************diR3TermddR,-*i	R3TermErrddnRgl  Rk
 allow escddni	R3LogFilevR3WriteLogLinej-> R3Exec.R3TermdRgl dogl  dRddRiR3FHandlingv
R3TestFilei	R3GlobalswR3FCOutFileName$l  dni	R3LogFilevR3WriteLogLinejR3Exec.R3Term: kill i	R3GlobalswR3FCOutFileName$dogi	R3GlobalswR3FCOutFileName$dRddRiR3UnLinkDatafileddRiR3FHandlingv
R3TestFilei	R3GlobalswR3TempDataFileName$l  doi	R3LogFilevR3WriteLogLinejR3Exec.R3Term: kill i	R3GlobalswR3TempDataFileName$dogi	R3GlobalswR3TempDataFileName$odRTddR*i
R3TermExite	R3TermErrddRiR3ErrorvR3HandleiErrjR3Exec.R3Termde
R3TermExitdi	R3LogFilevR3WriteLogLinej<- R3Exec.R3TermddkJ**************************************************************************ddkJ**************************************************************************dk  determine the actual zoomfactordkJ**************************************************************************diR3GetCurZoomddR/imzd4gAddR>imzddRiR3GetCurZoomgimzdsCdddkJ**************************************************************************ddkJ**************************************************************************dk set the actual zoomfactordkJ**************************************************************************diR3SetCurZoomiiZFactddRgAsCgiiZFactj%dddkJ************************************************************************** dkJ**************************************************************************dk? macro 	calls a check function for the fl fields and datasourcedk dk	 history:dk	13.03.95	Genesisdk	!!! sometimes lost !!!dkJ**************************************************************************ddkJ**************************************************************************diMAINdRiR3ExecvR3CheckAndRemoveddkJ************************************************************************** dkl------------------------------------------------------------------------------------------------------------dk      R3Delaydk     dk!      History . 11.06.97   A-0360dk dk?      Comments: This macro has been made after few problem withdk                          Novell.dk dkk-----------------------------------------------------------------------------------------------------------diMAINdRg+jR3Delay A-00360  Special NovelljInformationl@ dQRiDelStopRdddk dk     DelStop dk dk7     Comments : call to stop wswinsrv.exe. This routinedk7     calculate a one second delay and ask WORD to startdk/     the R3WinSrv.Terminate() one second later.dk ddiDelStopddniTokennngdni	C1SecondsngiTokendni
TxtSecond$ggiC1Seconddni	C1MinutesgiTokendniC1HoursngiTokenddni	C1Secondsl; ndniC1Minutel; dnniC1Hoursl dniC1Hoursnl  dni	C1Minutesnl  dni	C1Secondsnl  dn dniC1HoursniC1Hoursl dniC1Hoursnnl  dni	C1Secondsnl  dnTdn dni	C1Minutesni	C1Minutesl dni	C1Secondsnl  dnTdn dni	C1Secondsi	C1Secondsl dnTdnk   We rebuild in TextdniMyHour$ggiC1Hoursdni	MyMinute$ggi	C1Minutesdni	MySecond$ggi	C1SecondsdngiMyHour$nl niMyHour$nj0iMyhour$dngi	MyMinute$l ni	MyMinute$nj0i	MyMinute$dngi	MySecond$l ni	MySecond$j0i	MySecond$dniStartingTime$iMyhour$j:i	MyMinute$j:i	MySecond$dngniStartingTime$nj
R3StopWordd dkJ**************************************************************************dk, Makro:	here the errorhandler code is placeddk			dk Date:		25.01.95dk dk Functions:dk		R3Handle(iNoError, sFuName$)dk		R3FatalErrordk		R3ShowMessage(sText$)dk dk History:  dk	25.01.95 	Genesisdk7	08.02.95	added R3FatalError (replaces Makro Abbrechen)dk@	22.02.95	added R3ShowMessage so we have allways the same MsgBoxdk dkJ**************************************************************************ddkJ**************************************************************************diMAINdRk stubddkJ**************************************************************************ddkJ**************************************************************************dk handle a general error messagedkJ**************************************************************************diR3HandleiiNoErrorisFuName$ddRgl dRg!dRgARjMicrosoft Wordl  dRi	R3LogFilevR3WriteLogLinejError giiNoErrorj occured at: isFuName$ddRg+jError giiNoErrorj occured at: isFuName$rdniR3StringReswR3GetString$jXXGEN0001XXXl  l0 l  dR-iiNoErrorok show all errorsdRiErrl  dddkJ**************************************************************************ddkJ**************************************************************************dk terminate on a fatal errordkJ**************************************************************************diR3FatalErrorddRi	R3LogFilevR3WriteLogLinejFatal Error ... termination!dRiR3WinSrvv	TerminatedddkJ**************************************************************************ddkJ**************************************************************************dk, show a message box for the user informationdk only with okdkJ**************************************************************************diR3ShowMessageisText$ddRg+isText$iR3StringReswR3GetString$jXXINS0000XXXl  l0 l  dni	R3LogFilevR3WriteLogLinej	Message: isText$dddkJ************************************************************************** dkJ**************************************************************************dk, macro:	contain all dialog stuff if possibledk dk fus:dk(	R3GetDataRecord			get the record numberdk,	R3NewInsertField		insert a formletter fielddk= 	R3ShowFieldListRemove 	show the list of wrong fields/decidedkC	R3ShowMessage			show the user a specified message for time secondsdk dk	 history:dk	21.02.95 Genesis	dk*	22.02.95 added record number dialog - nlsdk%	08.03.95 added R3ShowFieldListRemovedk	29.03.95 added R3ShowMessagedk,	31.03.95 new insertfield dialog establisheddk dkJ**************************************************************************ddkJ**************************************************************************diMAINdRk stubddkJ**************************************************************************ddkJ**************************************************************************dk! get the data record for the gotodkJ**************************************************************************diR3GetDataRecordiiCurrentddR,-*iR3GetDataRecordErrdni	R3LogFilevR3WriteLogLinej-> R3Dialog.R3GetDataRecorddelRestartdRk dialog definitiondRM?g)l l iR3StringReswR3GetString$jXXINS0000XXXdogـl
 l6 l l wsRecord$dogǀl lP ln l dogȀl lh ln l dogɀl
 l" l l iR3StringReswR3GetString$jXXINS0003XXXvText1dogɀl
 l
 l l iR3StringReswR3GetString$jXXINS0015XXXgiiCurrentvText2dR?ddR/imydialog4g)ddRiiChoose?imydialogok start the dialogddR13iiChooseok what has the user done?dR3l RkOKdoimydialogwsRecord$j Rk is there a user inputdok	 no inputdoiR3ErrorvR3ShowMessageiR3StringReswR3GetString$jXXINS0004XXXdo*ilRestartok doit againdo doiiRecordgimydialogwsRecord$doiR3GetDataRecordiiRecorddoTddR3l  RkCanceldoiR3GetDataRecordl  ddR3 Rk this should never happendoiR3GetDataRecordl  ddR1dd*iR3GetDataRecordExiteR3GetDataRecordErrddRiR3ErrorvR3HandleiErrjR3Dialog.R3GetDataRecorddeR3GetDataRecordExitdi	R3LogFilevR3WriteLogLinej<- R3Dialog.R3GetDataRecordddkJ**************************************************************************ddkJ**************************************************************************dk/ insert a placeholder with the specific dialog dkJ**************************************************************************diR3NewInsertFieldddR,-*iR3NewInsertFieldErrdni	R3LogFilevR3WriteLogLinej-> R3Dialog.R3NewInsertFieldddR/isFields$l Rk array of the fl fieldsdR/iiFSizeok size of this arraydR/isFieldName$ok name of the fielddR/isSelection$ok selected fielddR/i	sFCFName$ok# filename of the field-comment filedRdRi	sFCFName$i	R3GlobalswR3FCOutFileName$Rk get the fcfilenamedR5isFields$iR3FHandlingvR3GetTabLengthi	sFCFName$l ddR=i	sFCFName$#74ql ok read the fc filedRiiFSizel  dR!gql Rdo87ql isFields$iiFSizedoiiFSizeiiFSizel dR"dRLql dRiiFSizeiiFSizel ok this is the number of fieldsddRk define the select field dialogdRM?g)lhl iR3StringReswR3GetString$jXXINS0001XXXvR3NewInsFDlgFUdogڀl
 l l l~ isFields$vlistdogʀl l lUl= iR3StringReswR3GetString$jXXINS0011XXXdogɀl l lAl( j vcomsdogǀl l lq l dogȀl l  lq l dR?ddR/imydialog4g)dRii?imydialogok call the dialog for the userddRiil odoisSelection$isFields$imydialogvlistdoisFieldName$giR3FHandlingwR3GetField$l isSelection$j-doisSelection$j dog sisFieldName$do doiR3ErrorvR3ShowMessageiR3StringReswR3GetString$jXXINS0002XXXdoTdR dok nothing selected do nothingdRTdd*iR3NewInsertFieldExiteR3NewInsertFieldErrddRiR3ErrorvR3HandleiErrjR3Dialog.R3NewInsertFielddeR3NewInsertFieldExitdi	R3LogFilevR3WriteLogLinej<- R3Dialog.R3NewInsertFieldddkJ**************************************************************************ddkJ**************************************************************************dk+ dlg function for the NewInsertField dialofdk'	show the comment to the selected fielddk/	called on every event (mouse move, klick ....)dkJ**************************************************************************diR3NewInsFDlgFUisId$iiActioniiValueddRiiAktionl doisId$jlistdog7jcomsiR3FHandlingwR3GetField$l gjlistj-doTdRTddkJ**************************************************************************ddkJ**************************************************************************dk show the fields and decidedkJ**************************************************************************diR3ShowFieldListRemoveisFields$ddR,-*iR3ShowFieldListRemoveErrdRi	R3LogFilevR3WriteLogLinej"-> R3Dialog. R3ShowFieldListRemoveddRdRk define the dialogdRM?g)lfl iR3StringReswR3GetString$jXXINS0000XXXdogڀl
 l) l l isFields$v
lFieldListdogɀl
 l l l iR3StringReswR3GetString$jXXINS0007XXXvText1dogǀl l lh l dog̀l lx lh l iR3StringReswR3GetString$jXXTOOL0012XXvBRemovedR?ddR/imyDlg4g)oddRiR3ShowFieldListRemove?imyDlgok set the return valuedd*iR3ShowFieldListRemoveExiteR3ShowFieldListRemoveErrddRiR3ErrorvR3HandleiErrjR3Dialog.R3ShowFieldListRemovedeR3ShowFieldListRemoveExitdi	R3LogFilevR3WriteLogLinej"<- R3Dialog. R3ShowFieldListRemoveddkJ**************************************************************************ddkJ**************************************************************************dk show the user a messagedkJ**************************************************************************diR3ShowMessageiMsg$iiTimeddR,-*iR3ShowMessageErrddRM?g)lfl\ iR3StringReswR3GetString$jXXINS0000XXXdogɀl
 l lSl, iMsg$vText1dogǀly l? lh l dR?ddR/imyDlg4g)ddR?imyDlgl iiTimedd*iR3ShowMessageExiteR3ShowMessageErrddRiR3ErrorvR3HandleiErrjR3Dialog.R3ShowMessageeR3ShowMessageExitddkJ************************************************************************** dkJ**************************************************************************dk$ macro:	called from menu "abbrechen"dk			emergency exit for the userdk dk fus:dk dk	 history:dk*	14.02.95	Genesis - adapted from abbrechendk-	22.02.95	implemented for go out without savedk2	27.02.95	only prompt the user in cust/indivi modedk=	21.04.95	replaced R3Autoopen call with the FileClose commanddk=	21.04.95	change reversed - close does the terminate command!dk				dkJ**************************************************************************ddkJ**************************************************************************diMAINddRk" do not prompt if in preview mode!ddRi	R3GlobalswR3GetCustMode$jPREVIEWddog$l  dogl  dok set a dokvar for break modedoiR3AutoClosedRdR ddog+iR3StringReswR3GetString$jXXINS0005XXXiR3StringReswR3GetString$jXXINS0000XXXl l l l dok OKdog$l  dogl  dok set a dokvar for break modedoiR3AutoClosedo dok canceldok do nothing action cancelleddoTddRTdddkJ************************************************************************** dkJ**************************************************************************dk macro		goto a specified recorddk dk	 history:dk	22.02.95	Genesisdk	22.03.95 	added zoom tempdk 	05.04.95	cleanup and documenteddk dkJ**************************************************************************ddkJ**************************************************************************diMAINdRdR,-*iR3GotoDRErrddR/iiRecorddR/iiTempddRgl  dRiiTempiR3ExecvR3GetCurZoomRk get zoomf.dRi	R3ProtectvR3Openok deprotect the documentddRiiRecordiR3DialogvR3GetDataRecordg9dok interact with the userdRg9iiRecorddok move to the datarecordddRi	R3ProtectvR3Closeok protect the documentdRiR3ExecvR3SetCurZoomiiTempRk restore zoomdR6iR3StringReswR3GetString$jXXINS0012XXXgg9dRgl dd*iR3GotoDRExiteR3GotoDRErrddRiR3ErrorvR3HandleiErrjR3GotoDR.MaindeR3GotoDRExitddkJ************************************************************************** dkJ**************************************************************************dk macro	goto the last datarecorddk dk	 history:dk	22.02.95	Genesisdk	22.03.95 added zoomtempdk 	06.04.95 documented and cleanupdk dkJ**************************************************************************diMAINddR/iiTempddRgl  dRiiTempQRiR3ExecvR3GetCurZoomok save zoomf.dRgl doi	R3ProtectvR3Openok deprotect documentdogl  dogok move to last drdogl doi	R3ProtectvR3Closeok protect documentdR doi	R3ProtectvR3Openok deprotect docdogok move to last drdoi	R3ProtectvR3Closeok protect docdRdRiR3ExecvR3SetCurZoomiiTempok restore zoomf.dR6iR3StringReswR3GetString$jXXINS0012XXXgg9do	k display the dr numberdRgl dddkJ************************************************************************** dkJ**************************************************************************dk macro goto the next datarecorddk dk	 history:dk	22.02.95	Genesisdk2	29.03.95	display that there is no next datarecorddk			added errorhandlerdk	06.04.95	documenteddk dkJ**************************************************************************diMAINddR,-*iR3NextDRErrddR/iiTempdR/iiDSNrddRgl  ddRiiDSNrg9ok get the current dr numberdRiiTempiR3ExecvR3GetCurZoomok get the current zoom factordRgl dogl  doi	R3ProtectvR3Opendogok jump to the next datarecorddoi	R3ProtectvR3Closedogl dR doi	R3ProtectvR3Opendogok jump to the next datarecorddoi	R3ProtectvR3ClosedRdRiR3ExecvR3SetCurZoomiiTempok restore the zoomfactordRiiDSNrg9doiR3DialogvR3ShowMessageiR3StringReswR3GetString$jXXINS0014XXXl  do
k feedback for the userdRTdR6iR3StringReswR3GetString$jXXINS0012XXXgg9do
k display dr numberdRgl dd*iR3NextDRExiteR3NextDRErrdRdRiR3ErrorvR3HandleiErrjR3NextDRdeR3NextDRExitddkJ************************************************************************** dkJ**************************************************************************dk$ macro	goto the previous data recorddk dk	 history:dk	22.02.95	Genesisdk	22.03.95 	added zoomtempdk.	29.03.95	added errorhandler and first messagedk	10.04.95	documenteddk dkJ**************************************************************************diMAINddR,-*iR3PrevDRErrddR/iiTempdR/iiDRNrddRgl  dRiiDRNrg9dRiiTempiR3ExecvR3GetCurZoomdRgl dogl  doi	R3ProtectvR3Opendogdoi	R3ProtectvR3Closedogl dR doi	R3ProtectvR3Opendogdoi	R3ProtectvR3ClosedRdRiR3ExecvR3SetCurZoomiiTempdRiiDRNrg9doiR3DialogvR3ShowMessageiR3StringReswR3GetString$jXXINS0013XXXl  dRTdR6iR3StringReswR3GetString$jXXINS0012XXXgg9dRgl dd*iR3PrevNrExiteR3PrevNrErrdRdRiR3ErrorvR3HandleiErrjR3PrevNrdeR3PrevNrExitddkJ************************************************************************** dkJ**************************************************************************dk" macro: executed on closing a filedk dk	 history:dk	20.02.95 Genesisdk<	01.03.95 added the runstate switch for automatic generationdk	20.03.95 minor changesdk 	04.04.95 documented and cleanupdk dkJ**************************************************************************ddiMAINdRi	R3GlobalswR3GetState$jCOMPILEdok do nothingdR dogl  doiR3AutoCloseok$ call the autoclose termination codedok% remove the addins from autoopen heredoisDName$jWSHRPAj_i	R3GlobalswGetLanguage$j.DOTdogisDName$l  dok remove the defaultdoQRiR3DelDotFilejWSHRPA_E.DOTodo doQRiR3DelDotFileisDName$doTdoiR3DelDotFilejWSHRPA__.dotok have to be connected!ddogl dRTdddkJ**************************************************************************ddkJ**************************************************************************dk remove a specified addindkJ**************************************************************************diR3DelDotFileisName$ddR,-*iR3DelDotFileExitdRdRgisName$l  dogwisName$ok! remove the addin from addin listdRTdeR3DelDotFileExitddkJ************************************************************************** dkb********************************************************************' Makro:	execute the open codedk dk	 history:dk	8.2.95	Genesisdk dkD********************************************************************dk	 HISTORY:dk dk	15.09.96 A-00244dkC    The normal font is saved in the document. Those values are useddk#	 again at open. See SetDefaultFontdk dkD********************************************************************diMAINddR)i
R3AutoOpendniR3DocvSaveNormalFontddkJ************************************************************************** dkJ**************************************************************************dk3 macro	called on user pressed goto first datarecorddk dk historydk	22.02.95 Genesisdk	22.03.95 added zoomtempdk	05.04.95 cleanupdkJ**************************************************************************diMAINddR/iiTempddRgl  odRiiTempiR3ExecvR3GetCurZoomdRgl doi	R3ProtectvR3Openok unprotect the documentdogl  dogRk move to the first datarecorddogl doi	R3ProtectvR3ClosedR doi	R3ProtectvR3Opendogdoi	R3ProtectvR3ClosedRdRiR3ExecvR3SetCurZoomiiTempdR6iR3StringReswR3GetString$jXXINS0012XXXgg9dRgl dddkJ************************************************************************** dkJ**************************************************************************dk0	Makro:	containing globals, with accessfunctionsdk 			realised as documentvariablesdk			or by access to the serverdk			or as a definedk dk	Functions:dk%		R3DBGMode				flag to set debug modedk dk2		R3SetCustMode(sMode$)	set the customization modedk		R3GetCustMode$			get the '' dk*		R3SetState(sMode$)		set the running modedk		R3GetState$			get the '' dk5		R3SetPreviewMode(a$)	set mode in preview indi/multidk		R3GetPreviewMode$		get ''dk3		R3SetDFMode(a$)		set the  datafile mode TEMP/ORIGdk		R3GetDFMode$			get ''dk dk3		R3GetTabFileName$		name of the field/comment filedk+		R3GetDataFileName$		name of the data filedk9		R3FCOutFileName$		name of the complete fieldcommentfiledk dk*		R3FieldSep$			defines the fieldseperatordk0		R3FieldLength$			absolute length of the fieldsdk dk'		R3MMFieldName$			Mergemail field namedk dk)		R3MaxNumDR			max. number of datarecordsdk(		R3MaxNumFields			max. number of fieldsdk dk-		R3DProtName$			name of the DProtocoll Filesdk dk>		R3MMTBName$			gives you the wordspecific name of Seriendruckdk		R3FMTBName$			Formatierungdk		R3SDTBName$			Standarddk		R3SVTBName$			SeitenAnsichtdk dk4		Get$					STACK - get a variable from R/3 Winserverdk dk#		R3GetCommand$(iToken, SLanguage$)dk		GetLanguage$dk dk		History:dk	09.02.95	Genesisdk	15.02.95 	added some functionsdk(	21.02.95	added tempfile ... cleaned up dk$	07.08.95	added mergemail field namedk	09.03.95	max num of DR addeddk			print protocoll filenamedk	13.03.95	print aim addeddk	20.03.95	mmtb name addeddk;	23.03.95  temp datafilename removed and get/set mode addeddk'	05.04.95	documented (printaim removed)dkE	20.04.95	error 509 on R3AutoClose - spaces removed R3GetCommand fivedk1	26.04.95  corrected MAILMERGEFIELD to MERGEFIELDdk   11.08.97  A-301 AldkB				modifed for SAP type of file. Add the function                dk				R3LabelFieldSep$dkJ**************************************************************************ddkJ**************************************************************************diMAINdRk stubddkJ**************************************************************************ddkJ**************************************************************************dk# switch function for the debug modedk 1 = ON, 0 = OFFdkJ**************************************************************************di	R3DBGModedRi	R3DBGModel  ddkJ**************************************************************************ddkJ**************************************************************************dk VALUES for R3CustModedk	CUSTOMIZINGdk	INDIVIDUALdk	PREVIEWdkJ**************************************************************************ddkJ**************************************************************************dk  Set the customization modedkJ**************************************************************************diR3SetCustModeisMode$dRgLj
R3CustModeisMode$ddkJ**************************************************************************ddkJ**************************************************************************dk  Get the customization modedkJ**************************************************************************diR3GetCustMode$dRiR3GetCustMode$gMj
R3CustModeddkJ**************************************************************************ddkJ**************************************************************************dk VALUES for R3Statedk	RUNNINGdk	COMPILEdkJ**************************************************************************ddkJ**************************************************************************dk  Set the running modedkJ**************************************************************************di
R3SetStateisMode$dRgLjR3StateisMode$ddkJ**************************************************************************ddkJ**************************************************************************dk  Get the running modedkJ**************************************************************************diR3GetState$dRiR3GetState$gMjR3StateddkJ**************************************************************************ddkJ**************************************************************************dk VALUES for R3PreviewModedk	ONE		one or less datarecorddk	MANY	more than one datarecorddkJ**************************************************************************ddkJ**************************************************************************dk  Set the preview modedkJ**************************************************************************diR3SetPreviewModeisMode$dRgLjR3PreviewModeisMode$ddkJ**************************************************************************ddkJ**************************************************************************dk  Get the preview modedkJ**************************************************************************diR3GetPreviewMode$dRiR3GetPreviewMode$gMjR3PreviewModeddkJ**************************************************************************ddkJ**************************************************************************dk  Set the datafile modedk	TEMPdk	ORIGdkJ**************************************************************************diR3SetDFModeisMode$dRgLj
R3DataFileisMode$ddkJ**************************************************************************ddkJ**************************************************************************dk  Get the datafile modedkJ**************************************************************************diR3GetDFMode$dRiR3GetDFMode$gMj
R3DataFileddkJ**************************************************************************ddkJ**************************************************************************dk/ filename for the field list fieldname|comment|dkJ**************************************************************************diR3GetTabFileName$dRiiBacki	R3DBGModedRniiBackl doi	sDocPath$ggSl doiR3GetTabFileName$i	sDocPath$j	LABEL.SAPdR doiR3GetTabFileName$i
R3VariablewGet$j	LabelFiledRTddkJ**************************************************************************ddkD********************************************************************dk filename for the datafile  dk    1st Line fieldname|fieldname|dk   n   Line data|data|dkD********************************************************************diR3GetDataFileName$dRiR3GetDFMode$jTEMPdoiR3GetDataFileName$iR3TempDataFileName$dR doiR3GetDataFileName$i
R3VariablewGet$jDataFileRdQRTddkD********************************************************************ddkD********************************************************************dk& temp filename for the temp datafile  dkJ**************************************************************************diR3TempDataFileName$dRiR3TempDataFileName$ggSl jTD.SAPddkJ**************************************************************************ddkJ**************************************************************************dk' get the outputfilename for temp fclistdkJ**************************************************************************diR3FCOutFileName$dR/Ri	sDocPath$dRi	sDocPath$ggSl dRiR3FCOutFileName$i	sDocPath$jFC.SAPddkJ**************************************************************************ddkJ**************************************************************************dk the field seperatordk dk&  A-00301 the field separator is a tabdkD********************************************************************diR3FieldSep$dk*	R3FieldSep$ = "|"dRiR3FieldSep$gl	 ddk  dk  A-00301 11.08.97dk&    New function for infomation file. dk diR3LabelFieldSep$dRiR3LabelFieldSep$j|dddkD********************************************************************dk dk( length of the R/3 fields in form letterdkD********************************************************************diR3FieldLengthdRiR3FieldLengthl ddkJ**************************************************************************ddkJ**************************************************************************dk= name of the mergemail field in this language version of worddkJ**************************************************************************diR3MMFieldName$dRiR3MMFieldName$iR3GetCommand$l iGetLanguage$ddkJ**************************************************************************ddkJ**************************************************************************dk max. number of datarecordsdkJ**************************************************************************di
R3MaxNumDRdRi
R3MaxNumDRlddkJ**************************************************************************ddkJ**************************************************************************dk max. number of fieldsdkJ**************************************************************************diR3MaxNumFieldsdRiR3MaxNumFieldsl ddkJ**************************************************************************ddkJ**************************************************************************dk$ the protocol file name for printingdkJ**************************************************************************diR3DProtName$ddRi	sDocPath$ggSl dRiR3DProtName$i	sDocPath$i
R3VariablewGet$j	ErrorNamej.TXTdddkJ**************************************************************************ddkJ**************************************************************************dk' give the name of the mergemail toolbardkJ**************************************************************************diR3MMTBName$dRiR3MMTBName$iR3GetCommand$l iGetLanguage$ddkJ**************************************************************************ddkJ**************************************************************************dk$ give the name of the format toolbardkJ**************************************************************************diR3FMTBName$dRiR3FMTBName$gl ddkJ**************************************************************************ddkJ**************************************************************************dk& give the name of the standard toolbardkJ**************************************************************************diR3SDTBName$dRiR3SDTBName$gl ddkJ**************************************************************************ddkJ**************************************************************************dk& give the name of the sideview toolbardkJ**************************************************************************diR3SVTBName$dRiR3SVTBName$iR3GetCommand$l iGetLanguage$ddkJ**************************************************************************ddkJ**************************************************************************dk Get R/3 Valuedk Arguments:	dk	Item$:  Field namedkL**************************************************************************		diGet$iItem$ddRk get the channel iddRiApplication$gMjApplicationdRiObject$gMjObjectdRiChan$gMjDDE-ChanneldRi
ErrorText$jNo errorddRiApplication$j doiErrl  dog+jConnection not initializedjSAP R/3l0 dogGl do do-iErrdoiErrl  doTdRTddRgiApplication$l  doiErrl  dog+iApplication$j Is Not running jSAP R/3l0 dogGl do do-iErrdoiErrl  doTdRTddRiChan$j doiErrl  dog+jNo connection for iApplication$jSAP R/3l0 dogGl do do-iErrdoiErrl  doTdR doiChannelgiChan$dRTddRk0 now i have the channel id then i wantt the datadRiResult$gaiChanneliItem$dRgcjMicrosoft Wordl dRiGet$iResult$dddkL**************************************************************************		ddkL**************************************************************************		dk2 general string resource not automatic relocatabledkL**************************************************************************		diR3GetCommand$iiTokeni
sLanguage$dRdR/isBack$dRi
sLanguage$j_i
sLanguage$ddR13iiTokendR3l  doisBack$j	UNDEFINEDdR3l do13i
sLanguage$do3j_DdoisBack$jSeriendruckdo3j_EdoisBack$j
Mail Mergedo3 doisBack$jUNSUPPORTEDdo1ddR3l do13i
sLanguage$do3j_DdoisBack$jSeitenansichtdo3j_EdoisBack$jPrint Previewdo3 doisBack$jUNSUPPORTEDdo1ddR3l do13i
sLanguage$do3j_DdoisBack$j SeriendruckListeBedingungsfelderdo3j_EdoisBack$jMailMergeListWordFieldsdo3 doisBack$jUNSUPPORTEDdo1ddR3l do13i
sLanguage$do3j_DdoisBack$jSERIENDRUCKFELDdo3j_EdoisBack$j
MERGEFIELDdo3 doisBack$jUNSUPPORTEDdo1ddR3l do13i
sLanguage$do3j_DdoisBack$jExtrasDokumentschutzAufhebendo3j_EdoisBack$jToolsUnprotectDocumentdo3 doisBack$jUNSUPPORTEDdo1ddR3l do13i
sLanguage$do3j_DdoisBack$jExtrasDokumentSchtzendo3j_EdoisBack$jToolsProtectDocumentdo3 doisBack$jUNSUPPORTEDdo1ddR3l do13i
sLanguage$do3j_DdoisBack$jGanzerBildschirmUmschaltendo3j_EdoisBack$j
ToggleFulldo3 doisBack$jUNSUPPORTEDdo1ddR3l do13i
sLanguage$do3j_DdoisBack$jAnsichtZoomGanzeSeitedo3j_EdoisBack$jViewZoomWholePagedo3 doisBack$jUNSUPPORTEDdo1ddR3l	 do13i
sLanguage$do3j_DdoisBack$jAnsichtZoomdo3j_EdoisBack$jViewZoomdo3 doisBack$jUNSUPPORTEDdo1ddR3l
 do13i
sLanguage$do3j_DdoisBack$jAnsichtLinealdo3j_EdoisBack$j	ViewRulerdo3 doisBack$jUNSUPPORTEDdo1ddR3 doisBack$j	UNDEFINEDdR1ddRiR3GetCommand$isBack$dddkL**************************************************************************		ddkJ**************************************************************************dk GetLanguage$dk1		return: the current winword-language (one char)dkJ**************************************************************************diGetLanguage$ddRi	WordLang$gl ddRgi	WordLang$l jDeutschdoiR3Lang$jDdRgi	WordLang$l jEnglishdoiR3Lang$jEdRgi	WordLang$l jFranaisdoiR3Lang$jFdRgi	WordLang$l
 j
NederlandsdoiR3Lang$jNdRgi	WordLang$l jItalianodoiR3Lang$jIdRgi	WordLang$l jNorskdoiR3Lang$jOdRgi	WordLang$l	 j	PortugusdoiR3Lang$jPdRgi	WordLang$l jEspaoldoiR3Lang$jSdRgi	WordLang$l jDanskdoiR3Lang$jKdR doiR3Lang$jDdRTddRiGetLanguage$iR3Lang$dddkJ************************************************************************** dkD''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''dk dk7 Makro:	contains a debugging utility for the tracing indk 		word basic macrosdk dk Date:	25.01.95dk dk Fus:dk			R3GetLogFileName$dk dk			R3CreateLogFile					dk			R3WriteLogLine(oneline$)dk			R3DeleteLogFiledk dk,			LogError		display an error in the logfiledk dk history:  dk	25.01.95 Genesisdk	06.04.95 documenteddkC	13.04.95 handle a local logfile error added due to makro recursiondk(   27.07.98 Gerd Balzuweit, more loggingdkf   22.11.99 Gerd Balzuweit, Logging configuration  by using'                            the registry.dk ddkD''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''dk'diMAINdRk stubdddkD''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''dk'diR3GetLogFileName$ddRi	sDocPath$RgjTEMPj\dRiR3GetLogFileName$i	sDocPath$jwwr3log.txtddddkD''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''dk'diR3CreateLogFiledRdR,-*iR3CreateLogFileErrddR/isFName$dRdRisFName$iR3GetLogFileName$ddRgMjR3DEBUGjXdo=isFName$#;4ql do6ql jWSHRPA Logfile :gj gdoLql dRTdd*iR3CreateLogFileExiteR3CreateLogFileErrdoi	LogHandleiErrjR3LogFile.R3CreateLogFileReR3CreateLogFileExitdddkD''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''dk'diR3WriteLogLineioneline$ddR,-*iR3WriteLogLineErrddR/isFName$dRdRisFName$iR3GetLogFileName$ok get the filenameddRgMjR3DEBUGjXdo=isFName$#<4ql do6ql j(gnj) ioneline$doLql dRTddR*iR3WriteLogLineExiteR3WriteLogLineErrdRdoi	LogHandleiErrjR3LogFile.R3WriteLogLinedReR3WriteLogLineExitdddkD''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''dk'diR3DeleteLogFileddR,-*iR3DeleteLogFileErrRddR/isFName$ddRisFName$iR3GetLogFileName$ddRgMjR3DEBUGjXdogisFName$dRTddR*iR3DeleteLogFileExiteR3DeleteLogFileErrdRdoi	LogHandleiErrjR3LogFile.R3CreateLogFiledReR3DeleteLogFileExitdddkD''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''dk'di	LogHandleiiNoErrorisFuName$ddRgl dRk AppShowdRk  AppMinimize	"Microsoft Word", 0dRg+jError giiNoErrorj occured at: isFuName$rdnjLogfile Errorl  l0 l  dR-iiNoErrorok show all errorsdRiErrl  dddkD''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''dk'dk(' Get the logging from the registry key:dk)' HKEY_CURRENT_USER\Software\SAP\Wswinsrvdk'diSetLoggingFromRegistrydR/iLogging$dRdRk Switch the logging off.dRgLjR3DEBUGj ddRk Ask the registry for loggingdRiLogging$gj'HKEY_CURRENT_USER\Software\SAP\WswinsrvjLoggingj ddRiLogging$jOndogLjR3DEBUGjXdRTd dkJ**************************************************************************dk( macro		protect and deprotect a documentdk dk fus:dk	R3Open		deprotectdk	R3Close		protectdk dk	 history:dk	22.02.95	Genesisdk	10.04.95	documenteddk dkJ**************************************************************************ddkJ**************************************************************************diMAINdRk stubddkJ**************************************************************************ddkJ**************************************************************************dk unprotect the documentdkJ**************************************************************************diR3OpenddRgl dogl  dogĀi	R3GlobalswR3GetCommand$l i	R3GlobalswGetLanguage$l dp		ExtrasDokumentschutzAufhebendoTdogl dR dogĀi	R3GlobalswR3GetCommand$l i	R3GlobalswGetLanguage$l dp			ExtrasDokumentschutzAufhebendoTdRTdddkJ**************************************************************************ddkJ**************************************************************************dk protect the documentdkJ**************************************************************************diR3CloseddRgl dogl  ddogĀi	R3GlobalswR3GetCommand$l i	R3GlobalswGetLanguage$l dp"			ExtrasDokumentSchtzen .Art = 2doTddogl dR dogĀi	R3GlobalswR3GetCommand$l i	R3GlobalswGetLanguage$l dp"			ExtrasDokumentSchtzen .Art = 2doTdRTdddkJ************************************************************************** dkD********************************************************************dk.	Makro:	this makro was executed on the startupdk dk	Functions:dk(		R3SwitchDotFile		switch to the dotfiledk'		R3BindFrontDot			bind a front end dotdk dk		History:dk	25.01.95	Genesisdk4	08.02.95	added some functions to make autoopen easydk<    09.02.95  correct case selection at startup X,  , P, ...dk6	15.02.95	symmetric function to link datafile - unlinkdk*	20.02.95	added code for generatin FC Filedk6	21.02.95	switch the frontend dot file R3SwitchDotFiledk	22.02.95	added view mode 			dk	09.03.95	added the print!!!dk'	13.03.95	link and unlink moved to execdk			init and term moved to execdk 	17.03.95 	bindfrontenddot addeddk*			cleaned up with winserver communicationdk	21.03.95	fixed individual modedk+	23.03.95	bind a dot added, __ and _d addeddk%	29.03.95	cleaned up the preview modedk?	04.04.95  	removed bind dot not used - switch mechanism works!dk9				caller stack problem R3Exec.Init removed and inserteddk8	20.04.95	unprotect the document for print we dont know?dk%				this was not the error cleaned updk	26.04.95	removed debugflag...dk dk   08.09.96    A-00244dk>               The default font is set to New Time Roman. Thisdk4				correction has been change on  the 15.09.96. Thedk6				font should be restore with the font used when thedk				document was first builddk dk   08.09.96    A-00245dk%               The view page is saveddk dk   07.10.96   Special Versiondk dk   10.10.96   Special Versiondk)               Add test on the file name dk(   12.10.96   Remove special informationdk dk   21.11.96dk              Remove all the word 7.00 specific instructions , that '				means allthe modification done for the problem A-0244 dk8				and A-00245.The change of screen has been remove as dk'				well that was a complaint of Henkeldk   23.11.96  A-00244dkA              In R3SwitchDotFile I push the document to take the dk9              current style. No uses special to WORD 7.00dk dk   11.06.97  A-0360 dk*              Add special delay for novelldk dk   28.07.97  A-00393dkA              Remove the correction A-00244. The real problem is dk8				in WORD. Check the www pages. Modify R3SwitchDotFiledk					againdk dk   11.08.97  A-0301 dk8 				Change name of the file for label and data TXT->SAPdk dk*   19.04.20000 GB19042000, Gerd Balzuweit,dk7		Change again: Update the style of the given template.dk dkD********************************************************************diMAINdR,-*i	R3OpenErrddR/iiok counterdR/iiNumberDataRk  number of datalines in datafiledR/i	sDocPath$Rk documentpath?dR/isFName$ok filename for the front end dotdR/iiMaxFlagddRi	R3LogFilevR3WriteLogLinej-> R3AutoOpen.R3OpenddRgl  ddRk; ***** initialization code inserted because of caller stackdRgl Rk forbid escape keyddRi	R3Globalsv
R3SetStatejRUNNINGdRiR3ExecvR3UnLinkDatafileddRiR3FHandlingv
R3TestFilei	R3GlobalswR3FCOutFileName$l  dogi	R3GlobalswR3FCOutFileName$dRddRgl dogl  dRTdRk! ***** end of initialization codedRiR3WinSrvvInitiatejR/3 Windows ServerjNonedRi	R3GlobalsvR3SetDFModejORIGok datafile is original from R/3dRi	R3LogFilevR3WriteLogLinej	DataFile:i	R3GlobalswR3GetDataFileName$ddRiMode$i
R3VariablewGet$jDocModedRi	R3LogFilevR3WriteLogLinejDocMode: ->iMode$j<-dRi	R3LogFilevR3WriteLogLinejLanguage: ->i	R3GlobalswGetLanguage$j<-ddRk! save the document maximize statedRiiMaxFlaggDdRiiMaxFlagl dogDl  dRTdnk dnk  A-00244 Set default fontdnk5  This is perhaps not the best place. If the documentdnk/  is new the internal variables are set to zerodnk1  and nothing happen. If the document exist then dnk,  the font and size are set to the original dnk  R3Doc.SetDefaultFont()dnk	  A-00245dnk  R3Doc.SavePageView()dnk general adjustmentsdR13iMode$dnk1  Entry for PBWW, creation of the master documentdR3jXodoi	R3LogFilevR3WriteLogLinejCUSTOMIZING/INDIVIDUALddok switch the Dotfiledni	R3LogFilevR3WriteLogLinejR3BindFrontDotdoiR3BindFrontDotjWSHR01doiiNumberDataiR3FHandlingvR3GetTabLengthi	R3GlobalswR3GetDataFileName$l doiiNumberDatal  dok( we do standard customizing without datadok  we have to use another datafiledQoi	R3LogFilevR3WriteLogLinejGenerate a new data file!doiR3FHandlingvR3GenTempDataFiledoi	R3GlobalsvR3SetDFModejTEMPdoi	R3GlobalsvR3SetCustModejCUSTOMIZINGdo doiiNumberDatal dok! we can make an individual letterdoi	R3GlobalsvR3SetCustModej
INDIVIDUALdo dok4 theres an error some data and customizing no no ...dok" set a default or display an errordoi	R3GlobalsvR3SetCustModejCUSTOMIZINGdoTdoTddoi	R3LogFilevR3WriteLogLinej	CustMode:i	R3GlobalswR3GetCustMode$ddoiR3FHandlingvR3GenFCFileok gen the fc filedoiR3ExecvR3LinkDatafilei	R3GlobalswR3GetDataFileName$Rk link the datasourceddoi
R3ToolbarsvR3TBCustomizingRk switch the toolbarddog sl dogl  ddQok'  ViewNormal				' we have problems heredRdoi	R3GlobalswR3GetCustMode$j
INDIVIDUALdogl Rk show the data not fields		doTdodog$l  ok document is unchangeddogl  ddoiiMaxFlagl dRQogDl  dogDl doTdRQR dRQogDl dogDl  doTdRQRTddoi	R3GlobalswR3GetCustMode$jCUSTOMIZINGdo6iR3StringReswR3GetString$jXXTOOL0015XXdo do6iR3StringReswR3GetString$jXXTOOL0016XXdoTddR3jPok print mode *****doi	R3LogFilevR3WriteLogLinejPRINTdngAodok add a new front end dot doiR3BindFrontDotjWSHR03ok switch the front endddoguodogրl dRk' Special Check the file name, if lengthdnk = 0 ==> ErrordniDataFileName$i	R3GlobalswR3GetDataFileName$ddngiDataFileName$l  dnk dnk*  Added on the 12.10.96  Check connection dnk donngjR/3 Windows Serverndog+nj,SAP ERROR: No name delivered by DDE channel l dn dog+njSAP ERROR: No server running  l dnTdn*i	R3OpenErrdnTdnk  dRk	End of test name dRk doiiNumberDataiR3FHandlingvR3GetTabLengthiDataFileName$l doiiNumberDatal  dok, this will not work prompt the user and exitdoiR3ErrorvR3ShowMessageiR3StringReswR3GetString$jXXINS0006XXXdog$l  dogl  doiR3ExecvR3TermdoiR3WinSrvv	Terminatedo*i
R3OpenExitdo dok one or more should workdok connect the datasourcedoiR3ExecvR3LinkDatafilei	R3GlobalswR3GetDataFileName$do6iR3StringReswR3GetString$jXXTOOL0017XXdoiR3Execv	R3PrintFLok print the stuffdoTdoiR3ExecvR3Termdog$l  dogl  dok&A-00360 Delay Stop to trigger the quitdniR3DelayvDelStopdok R3WinSrv.Terminate()ddR3j ok preview mode *****doi	R3LogFilevR3WriteLogLinejPREVIEWdoi	R3GlobalsvR3SetCustModejPREVIEWRkset custmodeddok add a new front end dot doiR3BindFrontDotjWSHR02oddok# check  number of data  one or moredoiR3FHandlingvR3GetTabLengthi	R3GlobalswR3GetDataFileName$l doi	R3GlobalsvR3SetPreviewModejONEdo doi	R3GlobalsvR3SetPreviewModejMANYdodoi
R3ToolbarsvR3TBPreviewok set the toolbarsddok check the datasourcedoiiNumberDataiR3FHandlingvR3GetTabLengthi	R3GlobalswR3GetDataFileName$l doiiNumberDatal  dok, this will not work prompt the user and exitdoiR3ErrorvR3ShowMessageiR3StringReswR3GetString$jXXINS0016XXXdog$l  dogl  doiR3ExecvR3TermdoiR3WinSrvv	Terminatedo*i
R3OpenExitdo dok do nothing data file is validdoddoiR3ExecvR3LinkDatafilei	R3GlobalswR3GetDataFileName$Rk link the datafiledog sl  dogsok non seitenansichtdogl Rk show the data not fields		doi	R3ProtectvR3Closeok protect the documentddogl  dok okdo dogl  doddog$l  dogl  doiiMaxFlagl dRQogDl  dogDl doTdRQR dRQogDl dogDl  doTdRQRTddo6iR3StringReswR3GetString$jXXTOOL0014XXddR3 dok wrong docmodedog$l  dogl  doiiMaxFlagl dRQogDl  dogDl doTdRQR dRQogDl dogDl  doTdRQRTddR1ddRgl ddd*i
R3OpenExite	R3OpenErrdRdRiR3ErrorvR3HandleiErrjR3AutoOpen.R3Opende
R3OpenExitdi	R3LogFilevR3WriteLogLinej<- R3AutoOpen.R3OpenddkD********************************************************************dk! Switch to the specified dot filedk dkA  Comments : we do not bind the style , it seems that this point dk>	could be dangerous. I changed the linkstyle to 1 to force thedk	style dk dk	  A-00393dk6 			Change again the problem is in WORD. Put back to 0dk dkD  GB19042000 - Change again: Update the style of the given template.dk dkD********************************************************************ddiR3SwitchDotFileisFName$dd,-*iR3SwitchDotFileErrdi	R3LogFilevR3WriteLogLinej-> R3AutoOpen.R3SwitchDotFile: isFName$ddk3 FileTemplates .Template = sFName$, .LinkStyles = 0dk< GB19042000, .LinkStyles = 1 means the style of the templatedk will be used.dgW sR isFName$s'l dd*iR3SwitchDotFileExiteR3SwitchDotFileErrddRiR3ErrorvR3HandleiErrjR3AutoOpen.R3SwitchDotFiledeR3SwitchDotFileExitdi	R3LogFilevR3WriteLogLinej<- R3AutoOpen.R3SwitchDotFileddkJ**************************************************************************ddkJ**************************************************************************dk  bind the language dot specifieddk	sName$ = "WSHR01"dk( 	language and extension added automaticdkJ**************************************************************************diR3BindFrontDotisName$ddR,-*iR3BindFrontDotErrddR/isFName$dR/isPName$dR/i
sFDefault$ddRi	R3LogFilevR3WriteLogLinej-> R3AutoOpen.R3BindFrontDot: isName$ddRisPName$ggl dRisFName$isPName$isName$j_i	R3GlobalswGetLanguage$j.DOTdRiR3FHandlingv
R3TestFileisFName$l  doiR3SwitchDotFileisFName$dR doi
sFDefault$isPName$isName$j_jej.DOTdoiR3SwitchDotFilei
sFDefault$dRTddRi	R3LogFilevR3WriteLogLinej<- R3AutoOpen.R3BindFrontDotd*iR3BindFrontDotExiteR3BindFrontDotErrddRiR3ErrorvR3HandleiErrjR3AutoOpen.R3BindFrontDotdeR3BindFrontDotExitddkJ************************************************************************** dk dk       R3StopWorddk       dk"        History:  11.06.97  A-0360dk dk
          diMAINdniR3WinSrvv	Terminated dkJ**************************************************************************dkA Makro:	fus for maintaining the toolbars needed in the formletterdk*			functionality of WinWord used by SAPGUIdk dk Fus:dk6 			R3ClearToolbar(sTBName$)		delete a toolbar buttonsdk0			R3RestoreToolbar(sTBName$)		restore a toolbardk dk	TB "Seriendruck"dk$			R3CreateToolbarMaintain(sTBName$)dk"									create the customizing tbdk&			R3CreateToolbarIndividual(sTBName$)dk%									create the indiv maintain tbdk'			R3CreateToolbarPreviewMany(sTBName$)dk#									create the preview many tbdk	TB "SeitenAnsicht"dk'			R3CreateToolbarPreviewView(sTBName$)dk#									create the preview view TBdk dk			R3DeleteToolbar(Name$)dk			R3ShowToolbar(Name$)dk			R3HideToolbar(Name$)dk dk3			R3SerialTB(Name$)			switch the fl tb to maintaindk3			R3PreviewTB(Name$)			switch the sa tb to previewdk dk			R3TBCustomizingdk			R3TBPreviewdk	dk8 removed   R3GetMakroName				get makro string from tokendk dk History:  dk	25.01.95 	Genesisdk	07.02.95	improvements		dk@	21.02.95	added the preview navigation buttons to the preview tbdk&				problem -> tooltips eq. macroname!dk dkA	22.02.95 	made restore general and added view toolbar definitiondkA	23.02.95	formed a new toolbar for the preview word preview mode!dk7	23.02.95	fight with the bloody toolbars they are neverdk6				there where i have said to be (like catching mice)dk;	28.02.95	one function for customizing toolbar manipulationdk2				one function for preview toolbar manipulation dkA	20.03.95	toolbars string are derived from global functions (NLS)dk	10.04.95	documenteddkB	20.04.95	removed the R3GetMakro-function because it does NOT workdk%				in an language independent way!!!dk dk@   10.06.96    A-00214. Two customers complain that the toolsbardk5				were removed and not restore. They are right, thedk3				problem is that they should be carefule of the dk				linked macros.....dk				MODIFIED :	R3TBPreviewdk							dkD********************************************************************diMAINdRg+j(Last modification on : 10/06/96. A-00224jRELEASEDl@ ddkJ**************************************************************************ddkJ**************************************************************************dk" delete all buttons from a toolbardkJ**************************************************************************diR3ClearToolbarisTBName$ddR,-*iR3ClearToolbarErrddR/iiCountddRiiCountgفisTBName$l ddR!iiCountl  dogtisTBName$l l doiiCountgفisTBName$l dR"dd*iR3ClearToolbarExiteR3ClearToolbarErrddRiR3ErrorvR3HandleiErrjR3Toolbars.R3ClearToolbardeR3ClearToolbarExitddkJ**************************************************************************ddkJ**************************************************************************dk restore the a toolbardkJ**************************************************************************diR3RestoreToolbarisTBName$ddR,-*iR3RestoreFLToolbarErrddRiR3HideToolbarisTBName$dRiR3ClearToolbarisTBName$dRgCsisTBName$s l sdRgCsisTBName$s l  sdRiR3ShowToolbarisTBName$dd*iR3RestoreToolbarExiteR3RestoreToolbarErrddRiR3ErrorvR3HandleiErrjR3Toolbars.R3RestoreToolbardeR3RestoreToolbarExitddkJ**************************************************************************ddkJ**************************************************************************dk! creation of the maintain toolbardk+ no data record only the first line doubleddk we needdk add a fielddk add a conditiondk no datarecord manipulationdk4 no check/maybe - we can check if every field in thedk letter is in the datarecorddkJ**************************************************************************diR3CreateToolbarMaintainisTBName$ddR,-*iR3CreateToolbarMaintainErrddRguisTBName$l l jR3InsertFieldStubrdoniR3StringReswR3GetString$jXXTOOL0001XXl dRguisTBName$l l i	R3GlobalswR3GetCommand$l i	R3GlobalswGetLanguage$iR3StringReswR3GetString$jXXTOOL0002XXl dQRguisTBName$l l j l  l ddRguisTBName$l l jR3CheckrdoniR3StringReswR3GetString$jXXTOOL0013XXl dRguisTBName$l l j l  l ddR*iR3CreateToolbarMaintainExiteR3CreateToolbarMaintainErrddoiR3ErrorvR3HandleiErrj"R3Toolbars.R3CreateToolbarMaintaindeR3CreateToolbarMaintainExitddkJ**************************************************************************ddkJ**************************************************************************dk8 creation of the maintain toolbar for individualdocumentdk one datarecorddkJ**************************************************************************diR3CreateToolbarIndividualisTBName$ddR,-*iR3CreateToolbarIndividualErrddRguisTBName$l l jR3InsertFieldStubrdoniR3StringReswR3GetString$jXXTOOL0001XXl dRguisTBName$l l i	R3GlobalswR3GetCommand$l i	R3GlobalswGetLanguage$iR3StringReswR3GetString$jXXTOOL0002XXl dRguisTBName$l l j l  l dRguisTBName$l l jR3CheckrdoniR3StringReswR3GetString$jXXTOOL0013XXl dRguisTBName$l l j l  l ddR*iR3CreateToolbarIndividualExiteR3CreateToolbarIndividualErrddoiR3ErrorvR3HandleiErrj$R3Toolbars.R3CreateToolbarIndividualdeR3CreateToolbarIndividualExitddkJ**************************************************************************ddkJ**************************************************************************dk, create the toolbar for the preview standarddk# you have a lot of datarecords >= 2dkJ**************************************************************************diR3CreateToolbarPreviewManyisTBName$ddR,-*iR3CreateToolbarPreviewManyErrddRg[isTBName$l ll dRdRguisTBName$l l j	R3FirstDRrdoniR3StringReswR3GetString$jXXTOOL0003XXl dRguisTBName$l l jR3PrevDRrdoniR3StringReswR3GetString$jXXTOOL0004XXl dRguisTBName$l l jR3GotoDRrdniR3StringReswR3GetString$jXXTOOL0005XXl dRguisTBName$l l j l  l dRguisTBName$l l jR3NextDRrdoniR3StringReswR3GetString$jXXTOOL0006XXl dRguisTBName$l l j l  l dRguisTBName$l l jR3LastDRrdoniR3StringReswR3GetString$jXXTOOL0007XXl ddR*iR3CreateToolbarPreviewManyExiteR3CreateToolbarPreviewManyErrddoiR3ErrorvR3HandleiErrj%R3Toolbars.R3CreateToolbarPreviewManydeR3CreateToolbarPreviewManyExitddkJ**************************************************************************ddkJ**************************************************************************dk8 create the toolbar for the preview View "SeitenAnsicht"dkJ**************************************************************************diR3CreateToolbarPreviewViewisTBName$ddR,-*iR3CreateToolbarPreviewViewErrddRg[isTBName$l ll ddRguisTBName$l l i	R3GlobalswR3GetCommand$l i	R3GlobalswGetLanguage$l l dRguisTBName$l l i	R3GlobalswR3GetCommand$l i	R3GlobalswGetLanguage$l l dRguisTBName$l l j l  l dRguisTBName$l l i	R3GlobalswR3GetCommand$l	 i	R3GlobalswGetLanguage$l l dRguisTBName$l l i	R3GlobalswR3GetCommand$l
 i	R3GlobalswGetLanguage$l l ddR*iR3CreateToolbarPreviewViewExiteR3CreateToolbarPreviewViewErrddoiR3ErrorvR3HandleiErrj%R3Toolbars.R3CreateToolbarPreviewViewdeR3CreateToolbarPreviewViewExitddkJ**************************************************************************ddkJ**************************************************************************dk delete a toolbardkJ**************************************************************************diR3DeleteToolbarisTBName$ddR,-*iR3DeleteToolbarErrddRgCsisTBName$s ddR*iR3DeleteToolbarExiteR3DeleteToolbarErrddoiR3ErrorvR3HandleiErrjR3Toolbars.R3DeleteToolbardeR3DeleteToolbarExitddkJ**************************************************************************ddkJ**************************************************************************dk display the toolbardkJ**************************************************************************diR3ShowToolbarisTBName$ddR,-*iR3ShowToolbarErrddRg؁isTBName$l  Rk if not visibledogCsisTBName$sPdRddR*iR3ShowToolbarExiteR3ShowToolbarErrddoiR3ErrorvR3HandleiErrjR3Toolbars.R3ShowToolbardeR3ShowToolbarExitddkJ**************************************************************************ddkJ**************************************************************************dk hide a toolbardkJ**************************************************************************diR3HideToolbarisTBName$ddR,-*iR3HideToolbarErrddRg؁isTBName$l Rk if visibledogCsisTBName$sdRddR*iR3HideToolbarExiteR3HideToolbarErrddoiR3ErrorvR3HandleiErrjR3Toolbars.R3HideToolbardReR3HideToolbarExitddkJ**************************************************************************ddkJ**************************************************************************dk> change the built-in toolbar to maintain toolbar "SerienDruck"dkJ**************************************************************************di
R3SerialTBisTBName$ddRi	R3LogFilevR3WriteLogLinejR3Toolbars.R3MaintainTBddRiR3HideToolbarisTBName$dRiR3ClearToolbarisTBName$ddRi	R3LogFilevR3WriteLogLinejCustMode = i	R3GlobalswR3GetCustMode$ddR13i	R3GlobalswR3GetCustMode$dR3j
INDIVIDUALRk for individual modedoiR3CreateToolbarIndividualisTBName$ddR3jCUSTOMIZINGRk for the customizingdoiR3CreateToolbarMaintainisTBName$ddR3jPREVIEWok for the preview modeddo13i	R3GlobalswR3GetPreviewMode$do3jONEdok show no toolbardoiR3HideToolbarisTBName$do3jMANYdoiR3CreateToolbarPreviewManyisTBName$do3 doiR3CreateToolbarPreviewManyisTBName$do1dRdR3 dok there were errordoiR3ErrorvR3ShowMessagej*Unknown EditMode using CUSTOMIZING ToolbardoiR3CreateToolbarMaintainisTBName$RdR1dddkJ**************************************************************************ddkJ**************************************************************************dk= change the built-in toolbar to preview toolbar "Seriendruck"dkJ**************************************************************************diR3PreviewTBisTBName$ddRiR3HideToolbarisTBName$dRiR3ClearToolbarisTBName$dRiR3CreateToolbarPreviewViewisTBName$dddkJ**************************************************************************ddkD********************************************************************dk NAME : R3TBCustomizingdk dk" show the tbs for the customizing!dk dk. HISTORY : 10/06/96  Do not remove the toolbardk dkD********************************************************************diR3TBCustomizingddQR,-*iR3TBCustomizingErrddR/iiCountdR/isName$ddRk) hide all tbs not wanted and show wanted!dR#iiCountl $gl ddoisName$giiCountl ddo13isName$do3i	R3GlobalswR3MMTBName$doi
R3SerialTBisName$doiR3ShowToolbarisName$do3i	R3GlobalswR3SDTBName$doiR3ShowToolbarisName$do3i	R3GlobalswR3FMTBName$doiR3ShowToolbarisName$do3 dp				A-00224dp 			R3HideToolbar(sName$)do1RddR&iiCountddRg[i	R3GlobalswR3SDTBName$l l  ldRg[i	R3GlobalswR3FMTBName$l l  ldRg[i	R3GlobalswR3MMTBName$l l  ldd*iR3TBCustomizingExiteR3TBCustomizingErrddRiR3ErrorvR3HandleiErrjR3Toolbars.R3TBCustomizingdeR3TBCustomizingExitddkJ**************************************************************************ddkD********************************************************************dk dk NAME : R3TBPreviewdk dk show the tbs for the previewdk dk0 HISTORY : 10/06/96 Do not remove the tools bar dk dkC*******************************************************************diR3TBPreviewddR,-*iR3TBPreviewErrddR/iiCountdR/isName$ddRk+ show them and put them in the right place!dp     A-00224dp dp( 	For iCount = 1 To CountToolbars(1) - 1dp dp# 		sName$ = ToolbarName$(iCount, 1)dp dp 		Select Case sName$dp 		Case Elsedp 			R3HideToolbar(sName$)dp 		End Select	dp dp 	Next iCountdp dddRi
R3SerialTBi	R3GlobalswR3MMTBName$dRiR3ShowToolbari	R3GlobalswR3MMTBName$ddRiR3PreviewTBi	R3GlobalswR3SVTBName$dRiR3ShowToolbari	R3GlobalswR3SVTBName$ddRg[i	R3GlobalswR3MMTBName$l l  ldRg[i	R3GlobalswR3SVTBName$l l  ldd*iR3TBPreviewExitdeR3TBPreviewErrddRiR3ErrorvR3HandleiErrjR3Toolbars.R3TBPreviewdeR3TBPreviewExitddkJ**************************************************************************ddpL '**************************************************************************dp( ' get the makro name from an int numberdpL '**************************************************************************dp" Function R3GetMakroName$(iNumber)dp dp! 	iLoaded = ZhlenMakros(0, 0, 1)dp 	iActiv = ZhlenMakros(1)dp 	iNormal = ZhlenMakros(0)dp 	iTemplates = iActiv + iNormaldp" 	iNotBasic = iLoaded + iTemplatesdp) 	iBasic = ZhlenMakros(0, 1) - iNotBasicdp 	iPos = iNumber + iNotBasicdp* 	R3GetMakroName$ = MakroName$(iPos, 0, 1)dp dp End FunctiondpL '************************************************************************** dkD********************************************************************dk 	Makro:	cleaning up before closedk dk	Date:	25.01.95dk dk	Functions:dk		MAIN			general entrypointdk		R3Close		closing code dk dk		History:dk		25.01.95	Genesisdk-		20.02.95	moved to hrpa with front autoclosedk		20.03.95  	minor cleanupsdk		22.03.95  	minor cleanupsdk;		19.12.95    Add the call function AddMerge by CUSTOMIZINGdk*       25.01.96    INDIVIDUAL in R3Close :dkA                      - Test if the intern variable NOT_SOLVED isdk						 set.dk&						 if yes --> Set the mergefields dk>                           no  --> Replace all the mergefiledsdk                       dk       08.09.96    A-00245dk6 	                 The original page format is restoredk       21.11.96dk:                         Remove problem with the word 6.00dk dkD********************************************************************dk" 				called by the autoclose macrodkD********************************************************************diMAINddR/i
sOrigName$dR/i	sActName$oddRk8 make sure we only call close for the original document!ddRk* only compare the filenames, not the path!dRi
sOrigName$i
R3VariablewGet$jDocNamej.rdoQi
R3VariablewGet$jDocTypeddRg
g%gg%l l j.doi	sActName$gg%l doi	R3LogFilevR3WriteLogLinejR3AutoClose: OName i
sOrigName$rdoQj actual i	sActName$dR dok3 logfile does not work here because we have no pathdoi	sActName$g%dRTdnk;-----------------------------------------------------------dnk Special modificationdnk) 07.09.96  Special modification for Testsdnk;-----------------------------------------------------------dRgi	sActName$gi
sOrigName$doiR3Closeok' call the closing code for out documentdR dok! it is not the right document ...dRTdddkJ**************************************************************************ddkJ**************************************************************************dk closing codedkJ**************************************************************************diR3CloseddR,-*i
R3CloseErrddR/iiChangeStatusddRiiChangeStatusg#dRi	R3LogFilevR3WriteLogLinej"R3AutoClose.R3Close: R3CustMode = i	R3GlobalswR3GetCustMode$ddnk   08.09.96    A-00245dnk    The view page is restorednk    R3Doc.RestorePageView()ddR13i	R3GlobalswR3GetCustMode$ok decide by modedR3jPREVIEWdoi
R3ToolbarsvR3HideToolbari	R3GlobalswR3SVTBName$dogl dogl  dodoi	R3ProtectvR3OpendoiiChangeStatusl  ok" document is not changed (Preview)ddR3j
INDIVIDUALdoiNotToSolve$i
R3VariablewGet$j	NOTSOLVEDdoiNotToSolve$j doiiChangeStatusl doiR3ExecvR3ReplaceFieldswithDatadoni	R3LogFilevR3WriteLogLinejvariables replaced with datadoTdo doiBackiR3FunctionsvSendMergeFielddnTddR3jCUSTOMIZINGdok- Add on the 19/12/95 we send all the filed todok R3 in the document doiBackiR3FunctionsvSendMergeFielddok nothing to do!?!dR3 dok nothing to do ddR1ddRi
R3ToolbarsvR3HideToolbari	R3GlobalswR3MMTBName$ok hide the MMTBddRgdoi	R3LogFilevR3WriteLogLinejDoctemplate has changeddRTdRiiChangeStatusl doi	R3LogFilevR3WriteLogLinejDocument has changeddRTddRgl  ok- we ignore changes / server is writeprotecteddRiR3ExecvR3Termok* call general termination code sym to initddRiiChangeStatusl ok restore the change statusdog$l dR dog$l  dRTddRk, return values and saving dependend on statedRgMj	IsNewFilej0doi
R3VariablevDeposejChangedjIok
 new /initdogl l dRgj\StartOfDocj	\EndOfDocl  doi
R3VariablevDeposejChangedjDok deleteddogl l dRg#doi
R3VariablevDeposejChangedjUok update /changedogl l dR doi
R3VariablevDeposejChangedj ok
 no changedRTddRk *****dRiR3WinSrvv	Terminateok terminate the R/3 ConnectiondRk *****ddR*iR3CloseExite
R3CloseErrddRiR3ErrorvR3HandleiErrjR3AutoClose.R3ClosedeR3CloseExitddkJ************************************************************************** dkD********************************************************************dk dk)	Makro:	filehandling for the data sourcesdk dk fus:dk*		R3GetTabLength	number of lines in a filedk2		R3InsTab$		insert a separator between two fieldsdk'		R3GetField$(iNo, sBuffer, sFieldSep$)dk+						extract a specified field from bufferdk/		R3GenFCFile		generate the file/comment file		dk		R3TestFile(sFName$)dk#						test the existence of an filedk		R3GenTempDataFiledk%		R3ReadFileToList(sList$(), sFName$)dk						read a file to a listdk dk	 history:dk dk	07.02.95		Genesisdk6	15.02.95		made the fieldseparator global -> R3Globalsdk	16.02.95		R3GenFCFile addeddk					R3TestFile addeddk(	09.03.95		added file to list not securedk7	29.03.95		deleted R3TestDotFile and changed R3TestFiledk%	05.04.95		documenttation and cleanupdk.	26.04.95		corrected count in R3ReadFiletoListdk   01.10.96        A-00251dk@                   Modification for Windows 95 in R3GetTabLengthdk   11.08.97		A-0301 dk(					Chane the name of the file TXT->SAPdk dk dkD********************************************************************ddkJ**************************************************************************diMAINdRk stubddkJ**************************************************************************ddkD********************************************************************dk# get the number of lines in a filesdk dk Modification dk dk 01.10.96  A- 00251 dk*            Problem with the name of file dk dkD********************************************************************diR3GetTabLengthisFName$ddR,-*iR3GetTabLengthErrddRi	R3LogFilevR3WriteLogLinej-> R3FHandling.R3GetTabLength: isFName$ddR/ibuffer$dR/iiddRiil  dR=gisFName$#74ql dR!gql do87ql ibuffer$dni	R3LogFilevR3WriteLogLinejR3FHandling.R3GetTabLength :ibuffer$doiiiil ok count the linesdR"dRLql ddRiR3GetTabLengthiidni	R3LogFilevR3WriteLogLinej%-> R3FHandling.R3GetTabLength return giidd*iR3GetTabLengthExiteR3GetTabLengthErrddniBanner$nj. ERROR: in GetTabLength,  current file name : isFName$dRiR3ErrorvR3HandleiErriBanner$dRiR3GetTabLengthl deR3GetTabLengthExitddkJ**************************************************************************ddkJ**************************************************************************dk1 insert a "divider" between fieldname and commentdk A-00301 - 11.08.97	dk@     The label file is not modified, we always use the separatordk!     The R3LabelFieldSep$ is new dkJ**************************************************************************di	R3InsTab$isField$ddRi	R3InsTab$iR3GetField$l isField$i	R3GlobalswR3LabelFieldSep$j                    rdoj                             -rdoQiR3GetField$l isField$i	R3GlobalswR3LabelFieldSep$j-dddkJ**************************************************************************ddkJ**************************************************************************dk' get a specified field of an input linedk iNo			number of the fielddk sBuffer$		the input linedk sFieldSep$ 	fieldseparatordkJ**************************************************************************diR3GetField$iiNoisBuffer$i
sFieldSep$ddR,-*iR3GetFieldErrddR/iiCountiiPos1iiPos2i
iFirstFlagddRiiPosl  dRiiCountl ok find the iNo'th separatordR!iiCountiiNodoiiPos1giiPos1l isBuffer$i
sFieldSep$doiiCountiiCountl dR"dRiiPos2giiPos1l isBuffer$i
sFieldSep$dRiiPos2l  iiPos2iiPos1doiiPos1l doiiPos1iiPos1l dodoiiPos1l  doiiPos1l doTodoiR3GetField$g
isBuffer$iiPos1iiPos2iiPos1dR doiR3GetField$j	undefineddRddR*iR3GetFieldExiteR3GetFieldErrddRiR3ErrorvR3HandleiErrjR3FHandling.R3GetFielddeR3GetFieldExitddkJ**************************************************************************ddkJ**************************************************************************dk. get the index of a specified field in sBufferdk return codedk	-1 	field is not in sBuffer$dk	x	the index 1..n of the fielddkJ**************************************************************************diR3GetFieldIndexisFName$isBuffer$i
sFieldSep$ddR,-*iR3GetFieldIndexErrddR/iiPosddRiiPosgisBuffer$isFName$dRiiPosl  doiR3GetFieldIndexl dR dodRTdd*iR3GetFieldIndexExiteR3GetFieldIndexErrddRiR3ErrorvR3HandleiErrjR3FHandling.R3GetFieldIndexdeR3GetFieldIndexExitddkJ**************************************************************************ddkD********************************************************************dk7 generate the Field/Comment File / the file is completedkD********************************************************************diR3GenFCFileddR,-*iR3GenFCFileErrddRi	R3LogFilevR3WriteLogLinej-> R3FHandling.R3GenFCFileddR/iidR/i	sOutFile$dR/i
sComments$i	R3GlobalsvR3MaxNumFieldsdR/iiCSizeRddRi	sOutFile$i	R3GlobalswR3FCOutFileName$dnk Log the input file name.dni	R3LogFilevR3WriteLogLinej#R3FHandling.R3GenFCFile Inputfile: ni	R3GlobalswR3getTabFileName$dnk Log the output filename.dni	R3LogFilevR3WriteLogLinej$R3FHandling.R3GenFCFile Outputfile: i	sOutFile$ddRk! load the fieldname-comment tabledRiiCSizel dR=i	R3GlobalswR3GetTabFileName$#74ql dR!gql do87ql i
sComments$iiCSizedni	R3LogFilevR3WriteLogLinejR3FHandling.R3GenFCFile: i
sComments$iiCSizedoiiCSizeiiCSizel dR"dRiiCSizeiiCSizel dRLql ddRk* write the fc-file with new fieldseparatordR=i	sOutFile$#;4ql do#iil $iiCSizednoi	R3LogFilevR3WriteLogLinejR3FHandling.R3GenFCFile: i	R3InsTab$i
sComments$iido6ql i	R3InsTab$i
sComments$iido&iidRLql dd*iR3GenFCFileExiteR3GenFCFileErrddRiR3ErrorvR3HandleiErrjR3FHandling.R3GenFCFiledeR3GenFCFileExitdi	R3LogFilevR3WriteLogLinej-> R3FHandling.R3GenFCFileddkD********************************************************************dkD********************************************************************dk test the existence of a filedk dk dk dk&	0 file exists and is not excl. openeddk)	1 file does Not exist or is excl. openeddk dk   COMMENTS : dk6	30/08/95  & 28/08/95  The file name is case dependentdk					on windows 95 & NTdk dkJ**************************************************************************di
R3TestFileisFName$d/iTempFileName$dn/iFileNameLenddR,-*iR3TestFileErrddRi	R3LogFilevR3WriteLogLinej-> R3FHandling.R3TestFile: isFName$ddRiTempFileName$gisFName$dniFileNameLengiTempFileName$dRdngiTempFileName$l gl" dniTempFileName$g
iTempFileName$l iFileNameLenl dnTddQRi	R3LogFilevR3WriteLogLinejR3FHandling.R3TestFile: iTempFileName$ddRgiTempFileName$gisFName$dni	R3LogFilevR3WriteLogLinej'-> R3FHandling.R3TestFile: file ok! (0)doi
R3TestFilel  dR dni	R3LogFilevR3WriteLogLinej.-> R3FHandling.R3TestFile: file not found! (1)doi
R3TestFilel dRTdd*iR3TestFileExiteR3TestFileErrdRiR3ErrorvR3HandleiErrjR3FHandling.R3TestFileeR3TestFileExitddkD********************************************************************ddkD********************************************************************dk generate the temp data filedk doubles the field linedkD********************************************************************diR3GenTempDataFileddR,-*iR3GenTempDataFileErrddni	R3LogFilevR3WriteLogLinej/generate a new datafile for mailmerge operationdRi	R3LogFilevR3WriteLogLinej -> R3FHandling.R3GenTempDataFileddR/isLine$ddRi	R3LogFilevR3WriteLogLinejDatafilename: i	R3GlobalswR3GetDataFileName$dRi	R3LogFilevR3WriteLogLinejTempdatafn:i	R3GlobalswR3TempDataFileName$ddRgi	R3GlobalswR3TempDataFileName$ddR=i	R3GlobalswR3GetDataFileName$#74ql dR=i	R3GlobalswR3TempDataFileName$#;4ql ddR87ql isLine$dni	R3LogFilevR3WriteLogLinejRead & print: isLine$dR6ql isLine$ddRk*** replace _ with -dRgisLine$l j_doisLine$j-g	isLine$gisLine$l dRTddRg	isLine$l j_doisLine$gisLine$gisLine$l j-dRTddRiiPosgl isLine$j_dR!iiPosl  doisLine$gisLine$iiPosl j-g
isLine$iiPosl gisLine$iiPosdoiiPosgl isLine$j_dR"ddRi	R3LogFilevR3WriteLogLinejPrint: isLine$dR6ql isLine$ddRLql dRLql dd*iR3GenTempDataFileExiteR3GenTempDataFileErrddRiR3ErrorvR3HandleiErrjR3FHandling.R3GenTempDataFiledeR3GenTempDataFileExitdi	R3LogFilevR3WriteLogLinej <- R3FHandling.R3GenTempDataFileddkJ**************************************************************************ddkJ**************************************************************************dk% read a file to a list (one column!!)dk
	-1 not okdk	n  ok and list lengthdkJ**************************************************************************diR3ReadFileToListisList$isFName$ddR,-*iR3ReadFileToListErrddR/iiIndexddRi	R3LogFilevR3WriteLogLinej-> R3FHandling.R3ReadFileToListisFName$ddR=isFName$#74ql dRdoiiIndexl  do!gql do87ql isLineBuffer$doisList$iiIndexisLineBuffer$doiiIndexiiIndexl do"doiiIndexl  doiiIndexiiIndexl doTddRLql ddRiR3ReadFileToListiiIndexdd*iR3ReadFileToListExiteR3ReadFileToListErrddRiR3ReadFileToListl deR3ReadFileToListExitdi	R3LogFilevR3WriteLogLinej<- R3FHandling.R3ReadFileToListddkJ************************************************************************** dkJ**************************************************************************dk5 macro:	start the termination by closing the documentdk dk	 history:dk	22.03.95 Genesisdk	10.04.95 documenteddk dkJ**************************************************************************ddkJ**************************************************************************diMAINdRgddkJ************************************************************************** dkJ**************************************************************************dkE macro: this macro is called from wsword.dot on creation of a new docdk dk	 history:dk	06.04.95	Genesisdk			documented and updateddkJ**************************************************************************ddkJ**************************************************************************diMAINdRiR3OpenDocumentok% call the same stuff as document openddkJ************************************************************************** dkJ**************************************************************************dk/ Macro: startup stuff in the front end templatedk dk fus:dk)	MAIN					switch dots and call R3AutoOpendk=	R3BindDotFile(sDName$)	bind a dot file as addin and activatedk dk	 history:dk)	20.02.95	Genesis - minimal startup stuffdk1	01.03.95	language specific code here in autoopendk 	06.04.95	documented and cleanupdk>	26.04.95	debugflag insertted here for the first TestFile calldk?	28.08.95    Does not call wsword we know it is global at this dk3				stage. Addin in R3Binddotfile have been changeddk8   29.07.98    Gerd Balzuweit, activate Debugging for HRdk dkJ**************************************************************************ddkJ**************************************************************************diMAINddR/isFName$dR/isPName$ddn,-*iR3ErrorddRi	R3LogFilevSetLoggingFromRegistrydQRi	R3LogFilevR3CreateLogFileodni	R3LogFilevR3WriteLogLinej-> R3OpenDocument.MAINddnk R3BindDotFile("wsword.dot")dRiR3BindDotFilejwshrpa__.dotdddRk0 construct the nls-support fielname wshrpaXX.dotdRisFName$jWSHRPAj_i	R3GlobalswGetLanguage$j.DOTdRiR3FHandlingv
R3TestFileggl isFName$l  Rkif file existsdoiR3BindDotFileisFName$dR Rdok try the defaultdoiR3FHandlingv
R3TestFileggl jWSHRPA_E.DOTl  Rkif file existsdoiR3BindDotFilejWSHRPA_E.DOTdo dniR3BindDotFilejWSHRPA_E.DOTdoi	R3LogFilevR3WriteLogLinej No supported language installed!dok  no supported language installeddok breakdoTdRTddni	R3LogFilevR3WriteLogLinejR3OpenDocument: Call R3AutoOpenRdRi
R3AutoOpenok! call the standard autoopen macrodn*iExitSubdeR3ErrordiR3ErrorvR3HandleiErrjR3OpenDocument.MAINeExitSubdi	R3LogFilevR3WriteLogLinej<- R3OpenDocument.MAINddkJ**************************************************************************ddkJ**************************************************************************dk$ bind a addin to the actual documentdkJ**************************************************************************diR3BindDotFileisDName$ddQR,-*iR3BindWsWordErrddR/isPName$dR/isFName$ddni	R3LogFilevR3WriteLogLinej -> R3OpenDocument.R3BindDotFile isDName$dRisPName$ggl dRisFName$isPName$isDName$odRk dRk# A-0070 On NT filename is differentdRk dni	R3LogFilevR3WriteLogLinej	AddAddIn isFName$dRgisFName$l  dogxisFName$l dR dQogisFName$l ndRddR*iR3BindWsWordExiteR3BindWsWordErrddRiR3ErrorvR3HandleiErrjAutoOpen.R3BindWsWorddeR3BindWsWordExitdi	R3LogFilevR3WriteLogLinej<- R3OpenDocument.R3BindDotFileddkJ************************************************************************** dkJ**************************************************************************dk, macro:	this macro call autoclose indirectlydk dk	 history:dk	29.03.95	Genesisdk dkJ**************************************************************************ddkJ**************************************************************************diMAINdRgրl  dRgddkJ************************************************************************** dkJ**************************************************************************dkG	Makro:	This Makro is a stub for the call of an pushbutton in a toolbardk			Calls R3InsertFielddk dk functions:dk$		R3InsertField	insert a placeholderdk dk	 history:dk	07.02.95	Genesisdk*	15.02.95	added code for the comment tabledk;				disadvantage constructs the field list everytime calleddkE				because of no global save mechanism mybe we should create a file!dk5	16.02.95	problem solved - autoopen generates file FCdk				here we only read the filedk"	22.02.95	dialog moved to R3Dialogdk!	06.04.95  documenten and cleanupdk dkJ**************************************************************************ddkJ**************************************************************************diMAINddR,-*iR3InsertFieldStubErrdni	R3LogFilevR3WriteLogLinej-> R3InsertFieldStub.MAINddRk- check here  if we have an mergemail documentdRgl  l doiR3DialogvR3NewInsertFieldok start the dialog	dR dog,ok refusedRdd*iR3InsertFieldStubExiteR3InsertFieldStubErrdRdRiR3ErrorvR3HandleiErrjR3InsertFieldStub.MaindeR3InsertFieldStubExitdi	R3LogFilevR3WriteLogLinej<- R3InsertFieldStub.MAINddkJ**************************************************************************                                                                                                }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                u                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          K        @  Normal     a . @  . 	Heading 1  
   <  U] c k                  " A@ " Default Paragraph Font             D -@D 
Macro Text !   	`	@            	 ] ac         	     !                 patrick merz)\\NTCSERVER\SURI\R3WS\BASBIN\WSHRPA__.DOTSAPD:\SURI\WSHRPA__.DOTSAPD:\SURI\WSHRPA__.DOTlesaffre alainD:\LOCNGU30.TMP\WSHRPA__.DOTlesaffre alainD:\inwork\wshrpa__.dotlesaffre alainD:\wshrpa__.dotSAP AGC:\locngu30.tmp\wshrpa__.dotLesaffre AlainC:\locngu30.tmp\WSHRPA__.DOTGerd Balzuweit-C:\projekte\WordLinkR3\CurrDot95\wshrpa__.dotiXOS AS GmbH Leipzig+F:\Program Files\sapgui\SAPGUI\WSHRPA__.DOT 
R3DataFile R3State  ORIG RUNNING U  
   F       U   J       J  U   K       K  U   Q       Q  U   Y       Y  U  	 q  Q     q  U   u       u  U   y  T     y  U   }  t     }  U            U    5       5  U   .  /     .  U   ]       ]  U   9  c8     9  U     
       U    I       I  U !       |'     \  U "  `  }        U #    J3     U  U $  '3      3 U %  C %     C U &  .h      h U '  i      bj U (  k 
     fl U )  v      	w U *  5x      x      
                                9                                                            y                                                                                                                            	                              A                 )                 1                 9                              !                                  A                   x   7@       M@    "   ;@                $   :@                p   8@                                  q	                                  y	                                                            	                                                                                          !                                                                 1           y	           y	                      	                                Last DRNext DRGoto DRPrevious DRFirst DRy	AutoClose R3OpenDocument R3Delay R3AutoClose 	R3AutoNew 
R3AutoOpen R3Dialog R3DocumentClose R3Error R3Escape R3Exec R3FHandling 	R3FirstDR 	R3Globals R3GotoDR R3InsertFieldStub R3LastDR 	R3LogFile R3Check R3NextDR R3PrevDR 	R3Protect +Main entry for all SAP Mail meger functions 
R3Toolbars R3WordClose R3NewDocument 
R3StopWord   R3EXEC  R3CHECK  R3DELAY  R3ERROR  R3DIALOG  R3ESCAPE  R3GOTODR  R3LASTDR  R3NEXTDR  R3PREVDR  	AUTOCLOSE  	R3AUTONEW  	R3FIRSTDR  	R3GLOBALS  	R3LOGFILE   	R3PROTECT ! 
R3AUTOOPEN " 
R3STOPWORD # 
R3TOOLBARS $ R3AUTOCLOSE % R3FHANDLING & R3WORDCLOSE ' R3NEWDOCUMENT ( R3OPENDOCUMENT ) R3DOCUMENTCLOSE * R3INSERTFIELDSTUB @PS to File Ne00: winspool Apple LaserWriter II NT v47.0 PS to File                       P| p     
od   ,        etter   
od   ,       L                     PRIV                                                                                        '''  '        PS to File                       P| p     
od   ,        etter   
od   ,       L                     PRIV                                                                                        '''  '        C   Times New Roman  Symbol &  Arial 5  Courier New "           
eJDf,e.                                      !    ,       iXOSiXOS AS GmbH Leipzig                                                                                                 ܥh W	   e              G                                                      l     l   l     l     l     l     l                                         C                                                                              X   G                          l                                                              l     l                                                   l          l                       (l          l     l     l     l                                                                                                                /=                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             u                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            K        @  Normal     ]c                  " A@ " Default Paragraph Font                  	                           @C   Times New Roman  Symbol &  Arial 5  Courier New "                                                                                                                                                                                                                                                                                            	   
                                                                      !   "   #   $   %   &   '   (   )   *   +   ,   -   .   /   0   1   2   3   4   5   6   7   8   9   :   ;   <   =   >   ?   @   A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z   [   \   ]   ^   _   `   a   b   c   d   e   f   g   h   i   j   k   l   m   n   o   p   q   r   s   t   u   v   w   x   y   z   {   |   }   ~                                                                                                                                                                                                                                                      R o o t   E n t r y                       L     d            	           F    (l         W o r d D o c u m e n t                                                                                        G      C o m p O b j                                                                                          j        S u m m a r y I n f o r m a t i o n                           (                                             S                        	             
   	           F   Microsoft Word Document 
   MSWordDoc    Word.Document.6 9q            ࡱ                3                    Oh +'0                                                        	        $  
   L     X     d     p     |                                                iXOS                              WSHRPA__.DOT          iXOS AS GmbH Leipzig          558       Microsoft Word for Windows 95   @    D o c u m e n t S u m m a r y I n f o r m a t i o n   8                  
                    3                    ՜. +,0            H      P      `      h      p      x                          SAP AG                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    "   @    Xw@     @    ԖT                           ࡱ                >  	                    3                    ՜. +,0            H      P      `      h      p      x                          SAP AG                                                       ࡱ                >  	            