Solved

search a string for a particular character and proper formatting

Posted on 2000-05-01
20
249 Views
Last Modified: 2007-10-18
First part)
I have an item called Extrusion_TagNumber_F that is a string.  What I need to do it make sure the first character is a T if so return non zero if it is not T then return 0.

Second Part)
I have another string called PartNumber and the 2nd char must be a - if so return non zero if it is not - then return 0.

Third Part)
String called Location and needs to be checked for formatting with a space after the first 2 characters if so return non zero if it is not a space then return 0.

TIA
Craig
BTW I am not a C programer so I am new to this.

Please submit as comments and I will accept the one I use as an answer.
0
Comment
Question by:csindorf
  • 8
  • 5
  • 2
  • +4
20 Comments
 
LVL 16

Expert Comment

by:imladris
Comment Utility
Something like:

1) if(Extrusion_TagNumber_F[0]=='T')return(1);
   else return(0);

2) if(PartNumber[1]=='-')return(1);
   else return(0);

3) if(Location[2]==' ')return(1);
   return(0);


appears to satisfy your requirements. If not, please explain additional constraints.
0
 
LVL 33

Expert Comment

by:hongjun
Comment Utility
I must say imladris has already answered this question and I am only suggesting another alternative to the third requirement.
 
if ( isspace(string[2]))
    return 1;
else
    return 0;

Please remember to include <ctype.h> library for successful compilation.

csindorf, you should award imladris's answer.

hongjun
0
 
LVL 2

Expert Comment

by:abesoft
Comment Utility
hongjun, I don't think that using isspace is appropriate, since it will return true if it sees a tab.

isspace returns a non-zero value if c is a white-space character (0x09 – 0x0D or 0x20).

csindorf, I think you should accept imladris' comment as an answer.
0
 
LVL 33

Expert Comment

by:hongjun
Comment Utility
abesoft,
That's exactly what I have said. Accept imladris' comment as an answer.

hongjun
0
 

Expert Comment

by:kishore_joshi
Comment Utility
imladris has already answered this question and I am only suggesting another alternative - using functions and a charecter pointer


int Is_T(char *p)
{
    if(*p =='T')
         return 1 ;
   else
         return 0;  
}

int Is_Dash(char *p)
{
    if( *(p+1)  == '-' )
         return 1 ;
   else
         return 0;  
}

int Is_Space(char *p)
{
    if ( *(p + 2) == ' ' )
         return 1 ;
   else
         return 0;  
}
0
 
LVL 16

Expert Comment

by:imladris
Comment Utility
csindorf

your last line indicates you will be taking an answer and grading it. When might we expect a decision?
0
 

Author Comment

by:csindorf
Comment Utility
Adjusted points from 100 to 150
0
 

Author Comment

by:csindorf
Comment Utility
Ok I thought I could take what you all have provided and make it work in my code well boy was I wrong so I am going to give you what I have and see if you can see why it is not working.

in the main program is at the top is:
static char Extrusion_TagNumber_F[EXTRUSION_TAGNUMBER_FL +1];

then further down is:
if(IM_ISSUCCESS(IMgiStatus)){
IMgiStatus= !ExtTagNum();
}

my function code:
/* must have leading T */
int ExtTagNum(char *Extrusion_TagNumber_F)
{  
      
    if(Extrusion_TagNumber_F[0] == 'T') return 1;
    else return 0;
}

Well no matter what I put in it returns 0.  HELP PLEASE I have been fighting with this for 2 days now.  :-(

Craig

0
 
LVL 84

Expert Comment

by:ozo
Comment Utility
/* Don't you want to call */
IMgiStatus= !ExtTagNum(Extrusion_TagNumber_F);
/* or */
IMgiStatus= !ExtTagNum("T- ");
/* ? */
0
 
LVL 16

Expert Comment

by:imladris
Comment Utility
In line with ozo, it would appear that you want to one of two things:

either pass the string of interest into the function (which has a parameter defined) i.e.:

IMgiStatus= !ExtTagNum(Extrusion_TagNumber_F);

or you want to have the function operate on the existing global variable. In that case the function should not take a parameter, it will simply reference the global:

int ExtTagNum()


0
Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

 

Expert Comment

by:euy
Comment Utility
  hello csindorf. I have here a sample code which I would suggest you compile and run. It does what you want your code to do. I think this should be enough to help you solve your problem. if you need more help, just tell me.

   By the way, this version sets Extrusion_TagNumber_F, PartNumber, and Location strings as local variables. If you want them global and needs it that way, just tell me, okay?,....have a nice day,...

euy


*****************************
*   SAMPLE CODE   (StringCheck.c   *
*****************************

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

#define STRING_LEN  30

int Get_TagNumber_val(char *Extrusion_TagNumber_F);
int Get_PartNum_val(char *PartNumber);
int Get_Location_val(char *Location);

void main()
{
      char Extrusion_TagNumber_F[ STRING_LEN ];
      char PartNumber[ STRING_LEN ];
      char Location[ STRING_LEN ];
      int TagNumret, PartNumret, Locationret;

      printf("\nPlease enter TagNumber string  : ");
      gets(Extrusion_TagNumber_F);
      printf("Please enter PartNumber string : ");
      gets(PartNumber);
      printf("Please enter Location string   : ");
      gets(Location);

      TagNumret = Get_TagNumber_val(&Extrusion_TagNumber_F[0]);
      PartNumret = Get_PartNum_val(&PartNumber[0]);
      Locationret = Get_Location_val(&Location[0]);


      printf("\n\tExtrusion_TagNumber_F checking return value = %d", TagNumret);
      printf("\n\tPartNumber checking return value            = %d", PartNumret);
      printf("\n\tLocation checking return value              = %d", Locationret);
      printf("\n\n");
      return;
}


/* for Extrusion_TagNumber_F */
int Get_TagNumber_val(char *Extrusion_TagNumber_F)
{
      if(Extrusion_TagNumber_F[0]=='T')
            return(1);
      else
            return(0);
}

/* for PartNumber */
int Get_PartNum_val(char *PartNumber)
{
      if(PartNumber[1]=='a')
            return(1);
      else
            return(0);
}

/* for Location */
int Get_Location_val(char *Location)
{
      if(Location[2]==' ')
            return(1);
      else
            return(0);
}

0
 

Expert Comment

by:euy
Comment Utility
    hello again, I made a mionor mistake, please replace 'a' with '-' in the function Get_PartNum_val(char *PartNumber). The code should check for the '-' characrter and not 'a'. Sorry for that csindorf. That's all,.....

euy

 
0
 

Author Comment

by:csindorf
Comment Utility
Adjusted points from 150 to 175
0
 

Author Comment

by:csindorf
Comment Utility
The main program that I do not have that much controll over set the code:
static char Extrusion_TagNumber_F[EXTRUSION_TAGNUMBER_FL +1];

So I have to get access to that item inside mine!

CRaig
0
 

Author Comment

by:csindorf
Comment Utility
Adjusted points from 175 to 180
0
 

Author Comment

by:csindorf
Comment Utility
Please keep it as comments till I get mine to work.  And please note I need to gain access to the
static char Extrusion_TagNumber_F[EXTRUSION_TAGNUMBER_FL +1];

that the main program defines.  I have tried:int ExtTagNum(char *ExtrusLotNo_TagNumber_F)
{  
    if(ExtrusLotNo_TagNumber_F[0] == 'T') return 1;
    else return 0;
}

and this returns 0 all the time no matter what data is entered.  If you want the entire program to look at let me know ASAP please.

CraigS
0
 
LVL 16

Expert Comment

by:imladris
Comment Utility
Baffling. The function as listed there looks fine. Please post code, and relevant data.
0
 

Author Comment

by:csindorf
Comment Utility
main program:  names has changed a bit in this version.

but you will see the declarations in question. line 109:  it is that item my .lib need access to to make it work.  the .lib works if I just code in return 1  or return 0  but if it as to get to the external item it bombs.  

1:    //**************************************************************************
2:    //  c:\quest\arnco\arnco.c generated  Friday, May 5, 2000, at 12:11 PM
3:    //**************************************************************************
4:    
5:    //INCLUDES//
6:    #include "imt24lib.h"
7:    #include "imstdio.h"
8:    #include "imscreen.h"
9:    #include "string.h"
10:   #include "conio.h"
11:   #include "c:\quest\arnco\arnco.h"
12:   #include <ctype.h>
13:   #include <stdlib.h>
14:   #include "h_arnco.h"
15:    
16:   //EXTERNS//
17:   extern ENVIRON IMCcgenv;
18:   extern void IMCScreenMach();
19:   extern void IMCinitcgenv();
20:   extern IM_BOOL    gfInsert;
21:  
22:   // Some common buffers and pointers
23:   char IMCtrxBuffer[1024], IMCrcxBuffer[1024]; //transaction working buffers
24:   char IMCscratchBuffer[1024];              //work area for batching buffer
25:   char IMCTmp1[256], IMCTmp2[256];      //Temporary working buffers
26:   char IMCSysDate[16], IMCSysTime[16];      //Temporary working system buffers
27:   char *IMPSz;                          //Pointer for string manipulation
28:   IM_BOOL IMgbPrefixFound ;  //Temp identify prefix in this input string
29:   int  IMgiPrefixLength ; //Temp identify length of found prefix
30:   int  IMgiTmp          ; //Temp general purpose to avoid creating in several funct
31:   int  IMgiStatusLine   ; //Keeps track what line we do status on this screen.
32:   int  IMgiStatusTime=10000   ; //Keeps track what how long status is on this screen.
33:   IM_USHORT IMGiRow, IMGiCol   ; //Temporary holder of cursor position in message cleanup.
34:   IM_ORIGIN IMgiTmpOrigin   ; //Temporary holder of origin
35:   IM_STATUS IMgiStatus     ; //Global temporary status variable.
36:   FILE *IMHandle;          ; //Temp handle for user functions
37:  
38:   //Time and date format tables
39:   char * IMCszDatePict[]={
40:       "MM/DD/YY",   //0-
41:       "MM.DD.YY",   //1-
42:       "MMDDYY",   //2-
43:       "MM-DD-YY",   //3-
44:       "MM DD YY",   //4-
45:       "MMDDYYYY",   //5-
46:       "MM.DD.YYYY",   //6-
47:       "MM/DD/YYYY",   //7-
48:       "MM-DD-YYYY",   //8-
49:       "MM DD YYYY",   //9-
50:       "DDMMYY",   //10-
51:       "DD.MM.YY",   //11-
52:       "DD/MM/YY",   //12-
53:       "DD-MM-YY",   //13-
54:       "DD MM YY",   //14-
55:       "DDMMYYYY",   //15-
56:       "DD.MM.YYYY",   //16-
57:       "DD/MM/YYYY",   //17-
58:       "DD-MM-YYYY",   //18-
59:       "DD MM YYYY",   //19-
60:       "YYMMDD",   //20-
61:       "YY.MM.DD",   //21-
62:       "YY/MM/DD",   //22-
63:       "YY-MM-DD",   //23-
64:       "YY MM DD",   //24-
65:       "YYYYMMDD",   //25-
66:       "YYYY.MM.DD",   //26-
67:       "YYYY/MM/DD",   //27-
68:       "YYYY-MM-DD",   //28-
69:       "YYYY MM DD",   //29-
70:       NULL};
71:  
72:   char * IMCszTimePict[]={
73:       "HH:MM",   //0-
74:       "HHMMSS",   //1-
75:       "HH.MM",   //2-
76:       "HH.MM.SS",   //3-
77:       "HHMM",   //4-
78:       "HH:MM:SS",   //5-
79:       "HH MM",   //6-
80:       "HH MM SS",   //7-
81:       NULL};
82:  
83:   //Standard codes for box line types
84:   char szSingleLine[]={"1"};
85:   char szDoubleLine[]={"2"};
86:   char szBlockLine[] ={"3"};
87:   char szHvyBlockLine[]={"4"};
88:  
89:   TIM_FILE_HANDLE UF_c_crews_val;
90:   TIM_FILE_HANDLE UF_c_lotno_txt;
91:   TIM_FILE_HANDLE UF_c_nonlotno_txt;
92:   TIM_FILE_HANDLE UF_c_physical_txt;
93:   TIM_FILE_HANDLE UF_c_test_txt;
94:   TIM_FILE_HANDLE UF_E_DEFBATCH_STB;
95:  
96:  
97:  
98:   static char CrewOn_CrewNumber_F[CREWON_CREWNUMBER_FL +1];  //
99:   static char CrewOn_HdnCrwNo_F[CREWON_HDNCRWNO_FL +1];  //
100:  static char CrewOn_empty_F[CREWON_EMPTY_FL +1];  //
101:  static char CrewOn_AuditCode_F[CREWON_AUDITCODE_FL +1];  //
102:  
103:  char CrewOn_Label0_L[] = "Arnco";
104:  char CrewOn_Label1_L[] = "Crew Sign-on";
105:  char CrewOn_Label2_L[] = "Scan/Enter Crew #:";
106:  char CrewOn_Label3_L[] = "Press ESC to Cancel";
107:  
108:  
109:  static char ExtrusLotNo_TagNumber_F[EXTRUSLOTNO_TAGNUMBER_FL +1];  //
110:  static char ExtrusLotNo_ItemNumber_F[EXTRUSLOTNO_ITEMNUMBER_FL +1];  //
111:  static char ExtrusLotNo_Location_F[EXTRUSLOTNO_LOCATION_FL +1];  //
112:  static char ExtrusLotNo_Quantity_F[EXTRUSLOTNO_QUANTITY_FL +1];  //
113:  static char ExtrusLotNo_Lot_F[EXTRUSLOTNO_LOT_FL +1];  //
114:  
115:  char ExtrusLotNo_Label0_L[] = "Arnco";
116:  char ExtrusLotNo_Label1_L[] = "Extrusion";
117:  char ExtrusLotNo_Label2_L[] = "Scan Tag #:";
118:  char ExtrusLotNo_Label3_L[] = "Scan Part #:";
119:  char ExtrusLotNo_Label4_L[] = "Scan Loc:";
120:  char ExtrusLotNo_Label5_L[] = "Enter Qty #:";
121:  char ExtrusLotNo_Label6_L[] = "Scan Lot/Run Code:";
122:  char ExtrusLotNo_Label7_L[] = "Press ESC to Cancel";
123:  
124:  
125:  static char CrewOff_empty_F[CREWOFF_EMPTY_FL +1];  //
126:  static char CrewOff_SignOffField_F[CREWOFF_SIGNOFFFIELD_FL +1];  //
127:  
128:  char CrewOff_Label0_L[] = "Arnco";
129:  char CrewOff_Label1_L[] = "Crew Sign-off";
130:  char CrewOff_Label2_L[] = "Press Enter to";
131:  char CrewOff_Label3_L[] = "Press ESC to Cancel";
132:  char CrewOff_Label4_L[] = "remove Crew #";
133:  char CrewOff_Label5_L[] = "You will be taken";
134:  char CrewOff_Label6_L[] = "back to main screen";
135:  char CrewOff_Label7_L[] = "automatically.";
136:  
137:  
138:  static char ExtrusNonLot_TagNumber_F[EXTRUSNONLOT_TAGNUMBER_FL +1];  //
139:  static char ExtrusNonLot_ItemNumber_F[EXTRUSNONLOT_ITEMNUMBER_FL +1];  //
140:  static char ExtrusNonLot_Location_F[EXTRUSNONLOT_LOCATION_FL +1];  //
141:  static char ExtrusNonLot_Quantity_F[EXTRUSNONLOT_QUANTITY_FL +1];  //
142:  static char ExtrusNonLot_Lot_F[EXTRUSNONLOT_LOT_FL +1];  //
143:  
144:  char ExtrusNonLot_Label0_L[] = "Arnco";
145:  char ExtrusNonLot_Label1_L[] = "Physical Non Lot #";
146:  char ExtrusNonLot_Label2_L[] = "Scan Tag #:";
147:  char ExtrusNonLot_Label3_L[] = "Scan Part #:";
148:  char ExtrusNonLot_Label4_L[] = "Scan Loc:";
149:  char ExtrusNonLot_Label5_L[] = "Enter Qty #:";
150:  char ExtrusNonLot_Label6_L[] = "Scan Lot/Run Code:";
151:  char ExtrusNonLot_Label7_L[] = "Press ESC to Cancel";
152:  
153:  
154:  static char UpLoadData_Field0_F[UPLOADDATA_FIELD0_FL +1];  //
155:  
156:  char UpLoadData_Label0_L[] = "Arnco";
157:  char UpLoadData_Label1_L[] = "UPLOAD DATA";
158:  char UpLoadData_Label2_L[] = "INSERT THE UNIT INTO";
159:  char UpLoadData_Label3_L[] = "THE DOCKING STATION";
160:  char UpLoadData_Label4_L[] = "AND RUN UPLOAD IN";
161:  char UpLoadData_Label5_L[] = "FILECOPY UTILITY";
162:  char UpLoadData_Label6_L[] = "ON PC";
163:  char UpLoadData_Label7_L[] = "PRESS ENTER WHEN";
164:  char UpLoadData_Label8_L[] = "COMPLETE";
165:  
166:  
167:  
168:  char Main_Label0_L[] = "Arnco Main Menu";
169:  
170:  
171:  
172:  
173:  
174:  
175:  
176:  
177:  
178:  
179:  
180:  
181:  
182:  
183:  
184:  
185:  
186:  
187:  
188:  
189:  
190:  
191:  
192:  
193:  
194:  
195:  
196:  
197:  
198:  
199:  
200:  
201:  
202:  
203:  
204:  
205:  
206:  
207:  
208:  
209:  
210:  
211:  
212:  
213:  
214:  
215:  
216:  
217:  
218:  
219:  
220:  
221:  
222:  
223:  
224:  
225:  // Field definition table for screen CrewOn
226:  TFIELDS CrewOn_FLD[]={
227:  4, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, NULL, NULL, NULL,0,0,0,0,NULL,
228:  
229:  OFDATA,CrewOn_CrewNumber_F,IM_NORMAL,6, 5, 7, 0,IM_LABEL_SELECT | IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "", 0,0,//Continued
230:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_UPCASE|IM_RETURN_ON_FULL,//Field control flags
231:      S003F000Key,S003F000OnEntry,S003F000OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
232:  NULL,
233:  
234:  OFDATA,CrewOn_HdnCrwNo_F,IM_NORMAL,8, 5, 7, 0,IM_LABEL_SELECT | IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "", 0,0,//Continued
235:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_RETURN_ON_FULL|IM_NO_DISPLAY,//Field control flags
236:      S003F001Key,S003F001OnEntry,S003F001OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
237:  NULL,
238:  
239:  OFDATA,CrewOn_empty_F,IM_NORMAL,8, 5, 0, 0,IM_LABEL_SELECT | IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "", 0,0,//Continued
240:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_RETURN_ON_FULL,//Field control flags
241:      S003F002Key,S003F002OnEntry,S003F002OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
242:  NULL,
243:  
244:  OFDATA,CrewOn_AuditCode_F,IM_NORMAL,10, 5, 7, 0,IM_LABEL_SELECT | IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "", 0,0,//Continued
245:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_RETURN_ON_FULL|IM_NO_DISPLAY,//Field control flags
246:      S003F003Key,S003F003OnEntry,S003F003OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
247:  NULL,
248:  0, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, NULL, NULL, NULL,0,0,0,0,NULL
249:  }; // end of field table for screen CrewOn
250:  
251:  // Display only definition table for screen CrewOn
252:  TLABELS CrewOn_LAB[]={
253:  4, NULL, 0, 0, 0, 20, 0,
254:  OTTEXT,  CrewOn_Label0_L,IM_NORMAL,1, 6, 5, 0, //LabelCrewOn_Label0
255:  OTTEXT,  CrewOn_Label1_L,IM_NORMAL,2, 2, 12, 0, //LabelCrewOn_Label1
256:  OTTEXT,  CrewOn_Label2_L,IM_NORMAL,4, 0, 18, 0, //LabelCrewOn_Label2
257:  OTTEXT,  CrewOn_Label3_L,IM_NORMAL,13, 0, 19, 0, //LabelCrewOn_Label3
258:  0, NULL, 0, 0, 0, 0, 0
259:  }; // end of display only table for screen CrewOn
260:  
261:  // Field definition table for screen ExtrusLotNo
262:  TFIELDS ExtrusLotNo_FLD[]={
263:  5, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, NULL, NULL, NULL,0,0,0,0,NULL,
264:  
265:  OFDATA,ExtrusLotNo_TagNumber_F,IM_NORMAL,3, 11, 6, 0,IM_LABEL_SELECT | IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "", 0,0,//Continued
266:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_UPCASE|IM_RETURN_ON_FULL,//Field control flags
267:      S004F000Key,S004F000OnEntry,S004F000OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
268:  NULL,
269:  
270:  OFDATA,ExtrusLotNo_ItemNumber_F,IM_NORMAL,5, 3, 15, 15,IM_LABEL_SELECT | IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "N-NNNNNNNNNNNNN", 0,0,//Continued
271:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_RETURN_ON_FULL,//Field control flags
272:      S004F001Key,S004F001OnEntry,S004F001OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
273:  NULL,
274:  
275:  OFDATA,ExtrusLotNo_Location_F,IM_NORMAL,8, 9, 9, 9,IM_LABEL_SELECT | IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "NN NNNNNN", 0,0,//Continued
276:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_RETURN_ON_FULL,//Field control flags
277:      S004F002Key,S004F002OnEntry,S004F002OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
278:  NULL,
279:  
280:  OFDATA,ExtrusLotNo_Quantity_F,IM_NORMAL,10, 8, 10, 0,IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_NUMERIC, NULL, 0, 0,//Continued
281:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_RETURN_ON_FULL,//Field control flags
282:      S004F003Key,S004F003OnEntry,S004F003OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
283:  NULL,
284:  
285:  OFDATA,ExtrusLotNo_Lot_F,IM_NORMAL,12, 0, 20, 20,IM_LABEL_SELECT | IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "NN-NNNNNNNNNNNNNNNNN", 0,0,//Continued
286:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_RETURN_ON_FULL,//Field control flags
287:      S004F004Key,S004F004OnEntry,S004F004OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
288:  NULL,
289:  0, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, NULL, NULL, NULL,0,0,0,0,NULL
290:  }; // end of field table for screen ExtrusLotNo
291:  
292:  // Display only definition table for screen ExtrusLotNo
293:  TLABELS ExtrusLotNo_LAB[]={
294:  8, NULL, 0, 0, 0, 20, 0,
295:  OTTEXT,  ExtrusLotNo_Label0_L,IM_NORMAL,0, 7, 5, 0, //LabelExtrusLotNo_Label0
296:  OTTEXT,  ExtrusLotNo_Label1_L,IM_NORMAL,1, 5, 9, 0, //LabelExtrusLotNo_Label1
297:  OTTEXT,  ExtrusLotNo_Label2_L,IM_NORMAL,3, 0, 11, 0, //LabelExtrusLotNo_Label2
298:  OTTEXT,  ExtrusLotNo_Label3_L,IM_NORMAL,4, 0, 12, 0, //LabelExtrusLotNo_Label3
299:  OTTEXT,  ExtrusLotNo_Label4_L,IM_NORMAL,8, 0, 9, 0, //LabelExtrusLotNo_Label4
300:  OTTEXT,  ExtrusLotNo_Label5_L,IM_NORMAL,9, 0, 12, 0, //LabelExtrusLotNo_Label5
301:  OTTEXT,  ExtrusLotNo_Label6_L,IM_NORMAL,11, 0, 18, 0, //LabelExtrusLotNo_Label6
302:  OTTEXT,  ExtrusLotNo_Label7_L,IM_NORMAL,14, 0, 19, 0, //LabelExtrusLotNo_Label7
303:  0, NULL, 0, 0, 0, 0, 0
304:  }; // end of display only table for screen ExtrusLotNo
305:  
306:  // Field definition table for screen CrewOff
307:  TFIELDS CrewOff_FLD[]={
308:  5, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, NULL, NULL, NULL,0,0,0,0,NULL,
309:  OFEMPTY, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, NULL, NULL, NULL,0,0,0,0,NULL,//Deleted Field
310:  OFEMPTY, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, NULL, NULL, NULL,0,0,0,0,NULL,//Deleted Field
311:  
312:  OFDATA,CrewOff_empty_F,IM_NORMAL,8, 5, 0, 0,IM_LABEL_SELECT | IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "", 0,0,//Continued
313:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_RETURN_ON_FULL,//Field control flags
314:      S005F002Key,S005F002OnEntry,S005F002OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
315:  NULL,
316:  OFEMPTY, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, NULL, NULL, NULL,0,0,0,0,NULL,//Deleted Field
317:  
318:  OFDATA,CrewOff_SignOffField_F,IM_NORMAL,5, 14, 1, 0,IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "", 0,0,//Continued
319:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_RETURN_ON_FULL,//Field control flags
320:      S005F004Key,S005F004OnEntry,S005F004OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
321:  NULL,
322:  0, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, NULL, NULL, NULL,0,0,0,0,NULL
323:  }; // end of field table for screen CrewOff
324:  
325:  // Display only definition table for screen CrewOff
326:  TLABELS CrewOff_LAB[]={
327:  8, NULL, 0, 0, 0, 20, 0,
328:  OTTEXT,  CrewOff_Label0_L,IM_NORMAL,1, 6, 5, 0, //LabelCrewOff_Label0
329:  OTTEXT,  CrewOff_Label1_L,IM_NORMAL,2, 2, 13, 0, //LabelCrewOff_Label1
330:  OTTEXT,  CrewOff_Label2_L,IM_NORMAL,4, 0, 14, 0, //LabelCrewOff_Label2
331:  OTTEXT,  CrewOff_Label3_L,IM_NORMAL,13, 0, 19, 0, //LabelCrewOff_Label3
332:  OTTEXT,  CrewOff_Label4_L,IM_NORMAL,5, 0, 13, 0, //LabelCrewOff_Label4
333:  OTTEXT,  CrewOff_Label5_L,IM_NORMAL,9, 0, 17, 0, //LabelCrewOff_Label5
334:  OTTEXT,  CrewOff_Label6_L,IM_NORMAL,10, 0, 19, 0, //LabelCrewOff_Label6
335:  OTTEXT,  CrewOff_Label7_L,IM_NORMAL,11, 0, 14, 0, //LabelCrewOff_Label7
336:  0, NULL, 0, 0, 0, 0, 0
337:  }; // end of display only table for screen CrewOff
338:  
339:  // Field definition table for screen ExtrusNonLot
340:  TFIELDS ExtrusNonLot_FLD[]={
341:  5, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, NULL, NULL, NULL,0,0,0,0,NULL,
342:  
343:  OFDATA,ExtrusNonLot_TagNumber_F,IM_NORMAL,3, 11, 6, 6,IM_LABEL_SELECT | IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "", 0,0,//Continued
344:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_UPCASE|IM_RETURN_ON_FULL,//Field control flags
345:      S007F000Key,S007F000OnEntry,S007F000OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
346:  NULL,
347:  
348:  OFDATA,ExtrusNonLot_ItemNumber_F,IM_NORMAL,5, 3, 15, 15,IM_LABEL_SELECT | IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "n-nnnnnnnnnnnnn", 0,0,//Continued
349:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_RETURN_ON_FULL,//Field control flags
350:      S007F001Key,S007F001OnEntry,S007F001OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
351:  NULL,
352:  
353:  OFDATA,ExtrusNonLot_Location_F,IM_NORMAL,8, 9, 9, 9,IM_LABEL_SELECT | IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "NN NNNNNN", 0,0,//Continued
354:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_RETURN_ON_FULL,//Field control flags
355:      S007F002Key,S007F002OnEntry,S007F002OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
356:  NULL,
357:  
358:  OFDATA,ExtrusNonLot_Quantity_F,IM_NORMAL,10, 8, 10, 0,IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_NUMERIC, NULL, 0, 0,//Continued
359:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_RETURN_ON_FULL,//Field control flags
360:      S007F003Key,S007F003OnEntry,S007F003OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
361:  NULL,
362:  
363:  OFDATA,ExtrusNonLot_Lot_F,IM_NORMAL,12, 0, 20, 0,IM_LABEL_SELECT | IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "NN-NNNNNNNNNNNNNNNNN", 0,0,//Continued
364:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_RETURN_ON_FULL,//Field control flags
365:      S007F004Key,S007F004OnEntry,S007F004OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
366:  NULL,
367:  0, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, NULL, NULL, NULL,0,0,0,0,NULL
368:  }; // end of field table for screen ExtrusNonLot
369:  
370:  // Display only definition table for screen ExtrusNonLot
371:  TLABELS ExtrusNonLot_LAB[]={
372:  8, NULL, 0, 0, 0, 20, 0,
373:  OTTEXT,  ExtrusNonLot_Label0_L,IM_NORMAL,0, 7, 5, 0, //LabelExtrusNonLot_Label0
374:  OTTEXT,  ExtrusNonLot_Label1_L,IM_NORMAL,1, 0, 18, 0, //LabelExtrusNonLot_Label1
375:  OTTEXT,  ExtrusNonLot_Label2_L,IM_NORMAL,3, 0, 11, 0, //LabelExtrusNonLot_Label2
376:  OTTEXT,  ExtrusNonLot_Label3_L,IM_NORMAL,4, 0, 12, 0, //LabelExtrusNonLot_Label3
377:  OTTEXT,  ExtrusNonLot_Label4_L,IM_NORMAL,8, 0, 9, 0, //LabelExtrusNonLot_Label4
378:  OTTEXT,  ExtrusNonLot_Label5_L,IM_NORMAL,9, 0, 12, 0, //LabelExtrusNonLot_Label5
379:  OTTEXT,  ExtrusNonLot_Label6_L,IM_NORMAL,11, 0, 18, 0, //LabelExtrusNonLot_Label6
380:  OTTEXT,  ExtrusNonLot_Label7_L,IM_NORMAL,14, 0, 19, 0, //LabelExtrusNonLot_Label7
381:  0, NULL, 0, 0, 0, 0, 0
382:  }; // end of display only table for screen ExtrusNonLot
383:  
384:  // Field definition table for screen UpLoadData
385:  TFIELDS UpLoadData_FLD[]={
386:  2, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, NULL, NULL, NULL,0,0,0,0,NULL,
387:  OFEMPTY, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, NULL, NULL, NULL,0,0,0,0,NULL,//Deleted Field
388:  
389:  OFDATA,UpLoadData_Field0_F,IM_NORMAL,14, 9, 1, 0,IM_LABEL_SELECT | IM_KEYBOARD_SELECT,IM_ERASE_FIELD, 0, 0,  FDTYPE_STRING,  "", 0,0,//Continued
390:   0x1000|IM_RETURN_ON_TAB|IM_RETURN_ON_FUNCTION|IM_RETURN_ON_BACK_TAB|IM_RETURN_ON_ESC|IM_RETURN_ON_FULL,//Field control flags
391:      S009F001Key,S009F001OnEntry,S009F001OnExit,0,0,IM_NO_SELECT, IM_FALSE, //next line will have possible prefixes
392:  NULL,
393:  0, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, NULL, NULL, NULL,0,0,0,0,NULL
394:  }; // end of field table for screen UpLoadData
395:  
396:  // Display only definition table for screen UpLoadData
397:  TLABELS UpLoadData_LAB[]={
398:  10, NULL, 0, 0, 0, 20, 0,
399:  OTTEXT,  UpLoadData_Label0_L,IM_NORMAL,0, 6, 5, 0, //LabelUpLoadData_Label0
400:  OTEMPTY, NULL, 0, 0, 0, 0, 0,//Deleted display object
401:  OTTEXT,  UpLoadData_Label1_L,IM_NORMAL,1, 4, 11, 0, //LabelUpLoadData_Label1
402:  OTTEXT,  UpLoadData_Label2_L,IM_NORMAL,3, 0, 20, 0, //LabelUpLoadData_Label2
403:  OTTEXT,  UpLoadData_Label3_L,IM_NORMAL,5, 0, 19, 0, //LabelUpLoadData_Label3
404:  OTTEXT,  UpLoadData_Label4_L,IM_NORMAL,7, 1, 17, 0, //LabelUpLoadData_Label4
405:  OTTEXT,  UpLoadData_Label5_L,IM_NORMAL,9, 1, 16, 0, //LabelUpLoadData_Label5
406:  OTTEXT,  UpLoadData_Label6_L,IM_NORMAL,11, 6, 5, 0, //LabelUpLoadData_Label6
407:  OTTEXT,  UpLoadData_Label7_L,IM_NORMAL,13, 2, 16, 0, //LabelUpLoadData_Label7
408:  OTTEXT,  UpLoadData_Label8_L,IM_NORMAL,15, 5, 8, 0, //LabelUpLoadData_Label8
409:  0, NULL, 0, 0, 0, 0, 0
410:  }; // end of display only table for screen UpLoadData
411:  
412:  // Menu Item definition table for Menu Main
413:  TMENUITEMS Main_FLD[]={
414:  6, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0,
415:  OFMENU,  "F1: Crew Sign-on",IM_NORMAL,3, 1, 16, 0,  IM_KEYBOARD_SELECT | IM_LABEL_SELECT, 0,1,4, MIA_CALL, NULL, "",0,  F1, //Menu Item Main_CrewSignOn
416:  OFMENU,  "F2: Crew Sign-off",IM_NORMAL,5, 1, 17, 0,  IM_KEYBOARD_SELECT | IM_LABEL_SELECT, 0,5,6, MIA_CALL, NULL, "",0,  F2, //Menu Item Main_CrewSignOff
417:  OFMENU,  "F3: Extrusion",IM_NORMAL,7, 1, 13, 0,  IM_KEYBOARD_SELECT | IM_LABEL_SELECT, 0,1, 5, MIA_CALL, NULL, "",0,  F3, //Menu Item Main_MenuItem0
418:  OFMENU,  "F4: Non Extrusion",IM_NORMAL,9, 1, 17, 0,  IM_KEYBOARD_SELECT | IM_LABEL_SELECT, 0,1, 8, MIA_CALL, NULL, "",0,  F4, //Menu Item Main_MenuItem1
419:  OFMENU,  "F5: Upload Data",IM_NORMAL,11, 1, 15, 0,  IM_KEYBOARD_SELECT | IM_LABEL_SELECT, 0,1, 10, MIA_CALL, NULL, "",0,  F5, //Menu Item Main_MenuItem2
420:  OFDATA, IMCTmp1, IM_NORMAL, 16, 0, 15, 0, IM_KEYBOARD_SELECT | IM_LABEL_SELECT,
421:  0, 0, 0, 0, NULL, NULL, 0, 0,
422:  0, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL,0,0
423:  }; // end of Menu Item table for screen Main
424:  
425:  // Display only definition table for screen Main
426:  TLABELS Main_LAB[]={
427:  1, NULL, 0, 0, 0, 20, 0,
428:  OTTEXT,  Main_Label0_L,IM_NORMAL,1, 3, 15, 0, //LabelMain_Label0
429:  0, NULL, 0, 0, 0, 0, 0
430:  }; // end of display only table for screen Main
431:  
432:  //  Transaction SignOn Field Table
433:  TTRNFLDS SignOn_TFLD[]={
434:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
435:  STRG_TRXFLD, 1, 4, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 7, 0,
436:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
437:  }; // end of transaction field table for SignOn
438:  
439:  //  Transaction SignOn Table
440:  TTRANSACTIONS SignOn_TRN[]={
441:  SignOn_TFLD, TXD_OUTPUT, TXD_FIELD, CrewOn_HdnCrwNo_F,7, 60000, 2, 4, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
442:  }; // end of transaction table for SignOn
443:  
444:  //  Transaction SignOff Field Table
445:  TTRNFLDS SignOff_TFLD[]={
446:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
447:  STRG_TRXFLD, 3, 4, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
448:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
449:  }; // end of transaction field table for SignOff
450:  
451:  //  Transaction SignOff Table
452:  TTRANSACTIONS SignOff_TRN[]={
453:  SignOff_TFLD, TXD_OUTPUT, TXD_FIELD, CrewOn_HdnCrwNo_F,7, 60000, 2, 4, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
454:  }; // end of transaction table for SignOff
455:  
456:  //  Transaction CrewErr Field Table
457:  TTRNFLDS CrewErr_TFLD[]={
458:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
459:  STRG_TRXFLD, 3, 4, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
460:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
461:  }; // end of transaction field table for CrewErr
462:  
463:  //  Transaction CrewErr Table
464:  TTRANSACTIONS CrewErr_TRN[]={
465:  CrewErr_TFLD, TXD_OUTPUT, TXD_FIELD, CrewOn_CrewNumber_F,7, 60000, 1, 4, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
466:  }; // end of transaction table for CrewErr
467:  
468:  //  Transaction writelotno Field Table
469:  TTRNFLDS writelotno_TFLD[]={
470:  8,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
471:  STRG_TRXFLD, 2, 4, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 7, 0,
472:  STRG_TRXFLD, 1, 5, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 6, 0,
473:  STRG_TRXFLD, 2, 5, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 15, 0,
474:  STRG_TRXFLD, 3, 5, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 9, 0,
475:  STRG_TRXFLD, 4, 5, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 10, 0,
476:  STRG_TRXFLD, 5, 5, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 20, 0,
477:  DATE_TRXFLD, 0, 0, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 10, 2,
478:  TIME_TRXFLD, 0, 0, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 8, 1,
479:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
480:  }; // end of transaction field table for writelotno
481:  
482:  //  Transaction writelotno Table
483:  TTRANSACTIONS writelotno_TRN[]={
484:  writelotno_TFLD, TXD_OUTPUT, TXD_FILE, &UF_c_physical_txt, 1,60000,  0, 0, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
485:  }; // end of transaction table for writelotno
486:  
487:  //  Transaction TagErr Field Table
488:  TTRNFLDS TagErr_TFLD[]={
489:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
490:  STRG_TRXFLD, 3, 4, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
491:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
492:  }; // end of transaction field table for TagErr
493:  
494:  //  Transaction TagErr Table
495:  TTRANSACTIONS TagErr_TRN[]={
496:  TagErr_TFLD, TXD_OUTPUT, TXD_FIELD, ExtrusLotNo_TagNumber_F,6, 60000, 1, 5, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
497:  }; // end of transaction table for TagErr
498:  
499:  //  Transaction clearfields Field Table
500:  TTRNFLDS clearfields_TFLD[]={
501:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
502:  STRG_TRXFLD, 3, 6, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
503:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
504:  }; // end of transaction field table for clearfields
505:  
506:  //  Transaction clearfields Table
507:  TTRANSACTIONS clearfields_TRN[]={
508:  clearfields_TFLD, TXD_OUTPUT, TXD_FIELD, CrewOn_AuditCode_F,7, 60000, 4, 4, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
509:  }; // end of transaction table for clearfields
510:  
511:  //  Transaction clrextrustagno Field Table
512:  TTRNFLDS clrextrustagno_TFLD[]={
513:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
514:  STRG_TRXFLD, 3, 6, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
515:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
516:  }; // end of transaction field table for clrextrustagno
517:  
518:  //  Transaction clrextrustagno Table
519:  TTRANSACTIONS clrextrustagno_TRN[]={
520:  clrextrustagno_TFLD, TXD_OUTPUT, TXD_FIELD, ExtrusLotNo_TagNumber_F,6, 60000, 1, 5, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
521:  }; // end of transaction table for clrextrustagno
522:  
523:  //  Transaction clrextruspartno Field Table
524:  TTRNFLDS clrextruspartno_TFLD[]={
525:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
526:  STRG_TRXFLD, 3, 6, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
527:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
528:  }; // end of transaction field table for clrextruspartno
529:  
530:  //  Transaction clrextruspartno Table
531:  TTRANSACTIONS clrextruspartno_TRN[]={
532:  clrextruspartno_TFLD, TXD_OUTPUT, TXD_FIELD, ExtrusLotNo_ItemNumber_F,15, 60000, 2, 5, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
533:  }; // end of transaction table for clrextruspartno
534:  
535:  //  Transaction clrextruslocat Field Table
536:  TTRNFLDS clrextruslocat_TFLD[]={
537:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
538:  STRG_TRXFLD, 3, 6, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
539:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
540:  }; // end of transaction field table for clrextruslocat
541:  
542:  //  Transaction clrextruslocat Table
543:  TTRANSACTIONS clrextruslocat_TRN[]={
544:  clrextruslocat_TFLD, TXD_OUTPUT, TXD_FIELD, ExtrusLotNo_Location_F,9, 60000, 3, 5, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
545:  }; // end of transaction table for clrextruslocat
546:  
547:  //  Transaction clrextrusqty Field Table
548:  TTRNFLDS clrextrusqty_TFLD[]={
549:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
550:  STRG_TRXFLD, 3, 6, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
551:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
552:  }; // end of transaction field table for clrextrusqty
553:  
554:  //  Transaction clrextrusqty Table
555:  TTRANSACTIONS clrextrusqty_TRN[]={
556:  clrextrusqty_TFLD, TXD_OUTPUT, TXD_FIELD, ExtrusLotNo_Quantity_F,10, 60000, 4, 5, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
557:  }; // end of transaction table for clrextrusqty
558:  
559:  //  Transaction clrextruslotno Field Table
560:  TTRNFLDS clrextruslotno_TFLD[]={
561:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
562:  STRG_TRXFLD, 3, 6, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
563:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
564:  }; // end of transaction field table for clrextruslotno
565:  
566:  //  Transaction clrextruslotno Table
567:  TTRANSACTIONS clrextruslotno_TRN[]={
568:  clrextruslotno_TFLD, TXD_OUTPUT, TXD_FIELD, ExtrusLotNo_Lot_F,20, 60000, 5, 5, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
569:  }; // end of transaction table for clrextruslotno
570:  
571:  //  Transaction clrnonlottag Field Table
572:  TTRNFLDS clrnonlottag_TFLD[]={
573:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
574:  STRG_TRXFLD, 3, 6, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
575:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
576:  }; // end of transaction field table for clrnonlottag
577:  
578:  //  Transaction clrnonlottag Table
579:  TTRANSACTIONS clrnonlottag_TRN[]={
580:  clrnonlottag_TFLD, TXD_OUTPUT, TXD_FIELD, ExtrusNonLot_TagNumber_F,6, 60000, 1, 8, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
581:  }; // end of transaction table for clrnonlottag
582:  
583:  //  Transaction clrnonlotpart Field Table
584:  TTRNFLDS clrnonlotpart_TFLD[]={
585:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
586:  STRG_TRXFLD, 3, 6, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
587:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
588:  }; // end of transaction field table for clrnonlotpart
589:  
590:  //  Transaction clrnonlotpart Table
591:  TTRANSACTIONS clrnonlotpart_TRN[]={
592:  clrnonlotpart_TFLD, TXD_OUTPUT, TXD_FIELD, ExtrusNonLot_ItemNumber_F,15, 60000, 2, 8, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
593:  }; // end of transaction table for clrnonlotpart
594:  
595:  //  Transaction writenonlotno Field Table
596:  TTRNFLDS writenonlotno_TFLD[]={
597:  8,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
598:  STRG_TRXFLD, 2, 4, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 7, 0,
599:  STRG_TRXFLD, 1, 8, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 6, 0,
600:  STRG_TRXFLD, 2, 8, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 15, 0,
601:  STRG_TRXFLD, 3, 8, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 9, 0,
602:  STRG_TRXFLD, 4, 8, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 10, 0,
603:  STRG_TRXFLD, 5, 8, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 20, 0,
604:  DATE_TRXFLD, 0, 0, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 10, 2,
605:  TIME_TRXFLD, 0, 0, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 8, 1,
606:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
607:  }; // end of transaction field table for writenonlotno
608:  
609:  //  Transaction writenonlotno Table
610:  TTRANSACTIONS writenonlotno_TRN[]={
611:  writenonlotno_TFLD, TXD_OUTPUT, TXD_FILE, &UF_c_physical_txt, 1,60000,  0, 0, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
612:  }; // end of transaction table for writenonlotno
613:  
614:  //  Transaction clearfields2 Field Table
615:  TTRNFLDS clearfields2_TFLD[]={
616:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
617:  STRG_TRXFLD, 3, 6, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
618:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
619:  }; // end of transaction field table for clearfields2
620:  
621:  //  Transaction clearfields2 Table
622:  TTRANSACTIONS clearfields2_TRN[]={
623:  clearfields2_TFLD, TXD_OUTPUT, TXD_FIELD, CrewOn_AuditCode_F,7, 60000, 4, 4, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
624:  }; // end of transaction table for clearfields2
625:  
626:  //  Transaction clrnonlotloc Field Table
627:  TTRNFLDS clrnonlotloc_TFLD[]={
628:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
629:  STRG_TRXFLD, 3, 6, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
630:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
631:  }; // end of transaction field table for clrnonlotloc
632:  
633:  //  Transaction clrnonlotloc Table
634:  TTRANSACTIONS clrnonlotloc_TRN[]={
635:  clrnonlotloc_TFLD, TXD_OUTPUT, TXD_FIELD, ExtrusNonLot_Location_F,9, 60000, 3, 8, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
636:  }; // end of transaction table for clrnonlotloc
637:  
638:  //  Transaction clrnonlotqty Field Table
639:  TTRNFLDS clrnonlotqty_TFLD[]={
640:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
641:  STRG_TRXFLD, 3, 4, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
642:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
643:  }; // end of transaction field table for clrnonlotqty
644:  
645:  //  Transaction clrnonlotqty Table
646:  TTRANSACTIONS clrnonlotqty_TRN[]={
647:  clrnonlotqty_TFLD, TXD_OUTPUT, TXD_FIELD, ExtrusNonLot_Quantity_F,10, 60000, 4, 8, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
648:  }; // end of transaction table for clrnonlotqty
649:  
650:  //  Transaction clrnonlotlotcode Field Table
651:  TTRNFLDS clrnonlotlotcode_TFLD[]={
652:  1,0,0, NULL, 0, '\0', 0, '\0', 0, 0,
653:  STRG_TRXFLD, 3, 6, NULL, TFPAD_NONFIXED, ',', TFPAD_BACK, ' ', 0, 0,
654:  0, 0, 0, NULL, 0, '\0', 0, '\0', 0, 0
655:  }; // end of transaction field table for clrnonlotlotcode
656:  
657:  //  Transaction clrnonlotlotcode Table
658:  TTRANSACTIONS clrnonlotlotcode_TRN[]={
659:  clrnonlotlotcode_TFLD, TXD_OUTPUT, TXD_FIELD, ExtrusNonLot_Lot_F,20, 60000, 5, 8, 0, BATCH_BEFORE, 0, NULL, IMCtrxBuffer, IMCrcxBuffer
660:  }; // end of transaction table for clrnonlotlotcode
661:  
662:  //TOP LEVEL TABLE POINTING TO ALL SCREENS//
663:  TSCREENS IMCallscreen_SCR[]={
664:  11,  0,   0,   0,   0, NULL, NULL, NULL, NULL, 0, 0, 0, //count line
665:  OSEMPTY,  0,   0,   0,   0, NULL, NULL, NULL, NULL, 0, 0, 0, //deleted object
666:  OSEMPTY,  0,   0,   0,   0, NULL, NULL, NULL, NULL, 0, 0, 0, //deleted object
667:  OSEMPTY,  0,   0,   0,   0, NULL, NULL, NULL, NULL, 0, 0, 0, //deleted object
668:  OSDATA,0,IM_STANDARD_CHAR_HEIGHT, //continued on next line
669:           1,4,CrewOn_FLD,CrewOn_LAB,s003OnEntry,s003OnExit,0,0,0,
670:  OSDATA,0,IM_STANDARD_CHAR_HEIGHT, //continued on next line
671:           1,5,ExtrusLotNo_FLD,ExtrusLotNo_LAB,s004OnEntry,s004OnExit,0,0,0,
672:  OSDATA,0,IM_STANDARD_CHAR_HEIGHT, //continued on next line
673:           5,5,CrewOff_FLD,CrewOff_LAB,s005OnEntry,s005OnExit,0,0,0,
674:  OSEMPTY,  0,   0,   0,   0, NULL, NULL, NULL, NULL, 0, 0, 0, //deleted object
675:  OSDATA,0,IM_STANDARD_CHAR_HEIGHT, //continued on next line
676:           1,5,ExtrusNonLot_FLD,ExtrusNonLot_LAB,s007OnEntry,s007OnExit,0,0,0,
677:  OSEMPTY,  0,   0,   0,   0, NULL, NULL, NULL, NULL, 0, 0, 0, //deleted object
678:  OSDATA,0,IM_STANDARD_CHAR_HEIGHT, //continued on next line
679:           2,2,UpLoadData_FLD,UpLoadData_LAB,s009OnEntry,s009OnExit,0,0,0,
680:  OSMENU,0 |MSE_HOTKEYENABLE,S20BY16,1,6 ,Main_FLD,Main_LAB, NULL, NULL, IM_BOLD | IM_INVERSE, 0, 0,
681:  0,  0,   0,   0,   0, NULL, NULL, NULL, NULL, 0, 0, 0,  //terminator line
682:  }; //end of allscreen_SCR table
683:  
684:  
685:  // Entry function for Application arnco
686:  void A000OnEntry()
687:  {
688:  int iLocStatus=0, lFlags=0 ;
689:     IMCcgenv.iNextMove = ENV_INM_INIT; //force to start with incase not gened
690:     if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
691:     IMCcgenv.iNext.iSF.iScrNum =11;
692:     IMCcgenv.iNext.iSF.iFldNum = 1;
693:     IMCcgenv.iNextMove = ENV_INM_CALL;
694:    }//End of default if none set section
695:  };
696:  
697:  
698:  // Exit function for Application arnco
699:  void A000OnExit()
700:  {
701:  int iLocStatus=0, lFlags=0 ;
702:  };
703:  
704:  
705:  // Entry function for Screen CrewOn
706:  void s003OnEntry()
707:  {
708:  int iLocStatus=0, lFlags=0 ;
709:  IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
710:  IMgiStatusLine = 50; // set status line this screen
711:     IMgiStatusTime = 20000;//Time to display message
712:   };
713:  
714:  // Exit function for Screen CrewOn
715:  void s003OnExit()
716:  {
717:  int iLocStatus=0, lFlags=0 ;
718:   };
719:  
720:  // Entry function for Field CrewOn.CrewNumber
721:  void S003F000OnEntry()
722:  {
723:  int iLocStatus=0, lFlags=0 ;
724:     IMgiStatus = IM_SUCCESS;
725:  gfInsert =IM_FALSE;  //turn on overstrike
726:  };
727:  
728:  // Exit function for Field CrewOn.CrewNumber
729:  void S003F000OnExit()
730:  {
731:  int iFlags;
732:     IMgiStatus = S003F000KeyInExit( &iFlags );    
733:     if (IMgiStatus == IM_SUCCESS )                      
734:     {                                                
735:        IMgiStatus = S003F000EValidate( &iFlags);  
736:        if ( IMgiStatus == IM_SUCCESS )                  
737:          S003F000ESuccess( iFlags);            
738:        else                                          
739:          S003F000EFail( iFlags);              
740:     }                                                
741:  };
742:  
743:  // Key Actions function for Field CrewOn.CrewNumber
744:  void S003F000Key( )
745:  {
746:  IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
747:  IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
748:     switch ( IMCcgenv.iFldKeyStatus )
749:     {
750:        //Validate field and possibly exit
751:        IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
752:      case IM_RETURN_BACK_TAB:
753:        //Go to previous field
754:        IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
755:       if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
756:        IMCcgenv.iNext.iSF.iScrNum = 4;
757:        IMCcgenv.iNext.iSF.iFldNum = 4;
758:        IMCcgenv.iNextMove = ENV_INM_GOTO;
759:      }// end of allow nav overwrite decision
760:        break;
761:  
762:      case IM_RETURN_ESC:
763:        //Return to previous screen
764:        IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
765:        IMCcgenv.iNextMove       = ENV_INM_RETURN;
766:        break;
767:  
768:        
769:      case IM_RETURN_F1:
770:      case IM_RETURN_F2:
771:      case IM_RETURN_F3:
772:      case IM_RETURN_F4:
773:      case IM_RETURN_F5:
774:      case IM_RETURN_F6:
775:      case IM_RETURN_F7:
776:      case IM_RETURN_F8:
777:      case IM_RETURN_F9:
778:      case IM_RETURN_F10:
779:        IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
780:        break;
781:        
782:      default: //Go on, must have been return that caused exit
783:        IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
784:     };//End of switch on field key returned
785:        
786:  };
787:  
788:  // Key Actions function for Field CrewOn.CrewNumber
789:  int S003F000KeyInExit( int *iFlags )
790:  {
791:     *iFlags = 0;//initialize overwrite flags
792:     IMgiStatus = IM_SUCCESS;
793:     switch ( IMCcgenv.iFldKeyStatus )
794:     {
795:     };//End of switch on field key returned
796:     return IMgiStatus;          
797:  };
798:  
799:  // Exit Validation function for Field CrewOn.CrewNumber
800:  int S003F000EValidate( int *iFlags )
801:  {
802:  int iStatus = IM_SUCCESS;
803:  int iLocStatus=0, lFlags=0 ;
804:  lFlags = *iFlags ;// copy passed in flags to local variable
805:    IMgiStatus = IM_SUCCESS;
806:  if ( IM_ISSUCCESS( IMgiStatus) ){
807:     IMgiStatus = !IMCchkInFile( CrewOn_CrewNumber_F, &UF_c_crews_val,IM_FALSE);
808:    }
809:  return IMgiStatus;          
810:  };
811:  
812:  // Exit Validation success function for Field CrewOn.CrewNumber
813:  void S003F000ESuccess( int iFlags )
814:  {
815:  int iLocStatus=0, lFlags=0 ;
816:     IMCstringToSound ( "H" ) ;
817:     SignOn();
818:      IMCcgenv.iNewReturn.iSF.iScrNum = 4;
819:      IMCcgenv.iNewReturn.iSF.iFldNum = 3;
820:     IMCcgenv.iChangeReturn = ENV_ICR_RETURN;
821:      IMCcgenv.iMenEnter = 0;
822:     if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
823:      IMCcgenv.iNext.iSF.iScrNum = 11;
824:      IMCcgenv.iNext.iSF.iFldNum = 1;
825:      IMCcgenv.iNextMove = ENV_INM_CALL;
826:    }// end of allow nav overwrite decision
827:  };
828:  
829:  // Exit Validation failure function for Field CrewOn.CrewNumber
830:  void S003F000EFail( int iFlags )
831:  {
832:  int iLocStatus=0, lFlags=0 ;
833:      im_status_line ( "Invalid Crew #", IM_FALSE, IMgiStatusLine);
834:     IMCstringToSound ( "LHL" ) ;
835:     CrewErr();
836:     if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
837:      IMCcgenv.iNext.iSF.iScrNum = 4;
838:      IMCcgenv.iNext.iSF.iFldNum = 1;
839:      IMCcgenv.iNextMove = ENV_INM_GOTO;
840:    }// end of allow nav overwrite decision
841:   //Cleanup the message on timeout or key/wand action
842:   IMgiTmpOrigin = IM_KEYBOARD_SELECT | IM_LABEL_SELECT ;
843:   im_event_wait( IMgiStatusTime, &IMgiTmpOrigin);
844:   im_get_cursor_xy ( &IMGiRow, &IMGiCol ); //Save to restore after refresh
845:   RepaintDisplay();
846:   im_set_cursor_xy ( IMGiRow, IMGiCol );
847:  
848:  };
849:  
850:  // Entry function for Field CrewOn.HdnCrwNo
851:  void S003F001OnEntry()
852:  {
853:  int iLocStatus=0, lFlags=0 ;
854:     IMgiStatus = IM_SUCCESS;
855:  gfInsert =IM_FALSE;  //turn on overstrike
856:  };
857:  
858:  // Exit function for Field CrewOn.HdnCrwNo
859:  void S003F001OnExit()
860:  {
861:  int iFlags;
862:     IMgiStatus = S003F001KeyInExit( &iFlags );    
863:     if (IMgiStatus == IM_SUCCESS )                      
864:     {                                                
865:        IMgiStatus = S003F001EValidate( &iFlags);  
866:        if ( IMgiStatus == IM_SUCCESS )                  
867:          S003F001ESuccess( iFlags);            
868:        else                                          
869:          S003F001EFail( iFlags);              
870:     }                                                
871:  };
872:  
873:  // Key Actions function for Field CrewOn.HdnCrwNo
874:  void S003F001Key( )
875:  {
876:  IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
877:  IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
878:     switch ( IMCcgenv.iFldKeyStatus )
879:     {
880:        //Validate field and possibly exit
881:        IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
882:      case IM_RETURN_BACK_TAB:
883:        //Go to previous field
884:        IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
885:       if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
886:        IMCcgenv.iNext.iSF.iScrNum = 4;
887:        IMCcgenv.iNext.iSF.iFldNum = 3;
888:        IMCcgenv.iNextMove = ENV_INM_GOTO;
889:      }// end of allow nav overwrite decision
890:        break;
891:  
892:      case IM_RETURN_ESC:
893:        //Return to previous screen
894:        IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
895:        IMCcgenv.iNextMove       = ENV_INM_RETURN;
896:        break;
897:  
898:        
899:      case IM_RETURN_F1:
900:      case IM_RETURN_F2:
901:      case IM_RETURN_F3:
902:      case IM_RETURN_F4:
903:      case IM_RETURN_F5:
904:      case IM_RETURN_F6:
905:      case IM_RETURN_F7:
906:      case IM_RETURN_F8:
907:      case IM_RETURN_F9:
908:      case IM_RETURN_F10:
909:        IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
910:        break;
911:        
912:      default: //Go on, must have been return that caused exit
913:        IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
914:     };//End of switch on field key returned
915:        
916:  };
917:  
918:  // Key Actions function for Field CrewOn.HdnCrwNo
919:  int S003F001KeyInExit( int *iFlags )
920:  {
921:     *iFlags = 0;//initialize overwrite flags
922:     IMgiStatus = IM_SUCCESS;
923:     switch ( IMCcgenv.iFldKeyStatus )
924:     {
925:     };//End of switch on field key returned
926:     return IMgiStatus;          
927:  };
928:  
929:  // Exit Validation function for Field CrewOn.HdnCrwNo
930:  int S003F001EValidate( int *iFlags )
931:  {
932:  int iStatus = IM_SUCCESS;
933:  int iLocStatus=0, lFlags=0 ;
934:  lFlags = *iFlags ;// copy passed in flags to local variable
935:    IMgiStatus = IM_SUCCESS;
936:  return IMgiStatus;          
937:  };
938:  
939:  // Exit Validation success function for Field CrewOn.HdnCrwNo
940:  void S003F001ESuccess( int iFlags )
941:  {
942:  int iLocStatus=0, lFlags=0 ;
943:     IMCstringToSound ( "H" ) ;
944:     if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
945:      IMCcgenv.iNext.iSF.iScrNum = 4;
946:      IMCcgenv.iNext.iSF.iFldNum = 4;
947:      IMCcgenv.iNextMove = ENV_INM_GOTO;
948:    }// end of allow nav overwrite decision
949:  };
950:  
951:  // Exit Validation failure function for Field CrewOn.HdnCrwNo
952:  void S003F001EFail( int iFlags )
953:  {
954:  int iLocStatus=0, lFlags=0 ;
955:     IMCstringToSound ( "LHL" ) ;
956:     if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
957:      IMCcgenv.iNext.iSF.iScrNum = 4;
958:      IMCcgenv.iNext.iSF.iFldNum = 2;
959:      IMCcgenv.iNextMove = ENV_INM_GOTO;
960:    }// end of allow nav overwrite decision
961:  };
962:  
963:  // Entry function for Field CrewOn.empty
964:  void S003F002OnEntry()
965:  {
966:  int iLocStatus=0, lFlags=0 ;
967:     IMgiStatus = IM_SUCCESS;
968:  gfInsert =IM_FALSE;  //turn on overstrike
969:  };
970:  
971:  // Exit function for Field CrewOn.empty
972:  void S003F002OnExit()
973:  {
974:  int iFlags;
975:     IMgiStatus = S003F002KeyInExit( &iFlags );    
976:     if (IMgiStatus == IM_SUCCESS )                      
977:     {                                                
978:        IMgiStatus = S003F002EValidate( &iFlags);  
979:        if ( IMgiStatus == IM_SUCCESS )                  
980:          S003F002ESuccess( iFlags);            
981:        else                                          
982:          S003F002EFail( iFlags);              
983:     }                                                
984:  };
985:  
986:  // Key Actions function for Field CrewOn.empty
987:  void S003F002Key( )
988:  {
989:  IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
990:  IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
991:     switch ( IMCcgenv.iFldKeyStatus )
992:     {
993:        //Validate field and possibly exit
994:        IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
995:      case IM_RETURN_BACK_TAB:
996:        //Go to previous field
997:        IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
998:       if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
999:        IMCcgenv.iNext.iSF.iScrNum = 4;
1000:       IMCcgenv.iNext.iSF.iFldNum = 1;
1001:       IMCcgenv.iNextMove = ENV_INM_GOTO;
1002:     }// end of allow nav overwrite decision
1003:       break;
1004:
1005:     case IM_RETURN_ESC:
1006:       //Return to previous screen
1007:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1008:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
1009:       break;
1010:
1011:      
1012:     case IM_RETURN_F1:
1013:     case IM_RETURN_F2:
1014:     case IM_RETURN_F3:
1015:     case IM_RETURN_F4:
1016:     case IM_RETURN_F5:
1017:     case IM_RETURN_F6:
1018:     case IM_RETURN_F7:
1019:     case IM_RETURN_F8:
1020:     case IM_RETURN_F9:
1021:     case IM_RETURN_F10:
1022:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
1023:       break;
1024:      
1025:     default: //Go on, must have been return that caused exit
1026:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1027:    };//End of switch on field key returned
1028:      
1029: };
1030:
1031: // Key Actions function for Field CrewOn.empty
1032: int S003F002KeyInExit( int *iFlags )
1033: {
1034:    *iFlags = 0;//initialize overwrite flags
1035:    IMgiStatus = IM_SUCCESS;
1036:    switch ( IMCcgenv.iFldKeyStatus )
1037:    {
1038:    };//End of switch on field key returned
1039:    return IMgiStatus;          
1040: };
1041:
1042: // Exit Validation function for Field CrewOn.empty
1043: int S003F002EValidate( int *iFlags )
1044: {
1045: int iStatus = IM_SUCCESS;
1046: int iLocStatus=0, lFlags=0 ;
1047: lFlags = *iFlags ;// copy passed in flags to local variable
1048:   IMgiStatus = IM_SUCCESS;
1049: return IMgiStatus;          
1050: };
1051:
1052: // Exit Validation success function for Field CrewOn.empty
1053: void S003F002ESuccess( int iFlags )
1054: {
1055: int iLocStatus=0, lFlags=0 ;
1056:    IMCstringToSound ( "H" ) ;
1057:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1058:     IMCcgenv.iNext.iSF.iScrNum = 4;
1059:     IMCcgenv.iNext.iSF.iFldNum = 2;
1060:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1061:   }// end of allow nav overwrite decision
1062: };
1063:
1064: // Exit Validation failure function for Field CrewOn.empty
1065: void S003F002EFail( int iFlags )
1066: {
1067: int iLocStatus=0, lFlags=0 ;
1068:    IMCstringToSound ( "LHL" ) ;
1069:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1070:     IMCcgenv.iNext.iSF.iScrNum = 4;
1071:     IMCcgenv.iNext.iSF.iFldNum = 3;
1072:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1073:   }// end of allow nav overwrite decision
1074: };
1075:
1076: // Entry function for Field CrewOn.AuditCode
1077: void S003F003OnEntry()
1078: {
1079: int iLocStatus=0, lFlags=0 ;
1080:    IMgiStatus = IM_SUCCESS;
1081: gfInsert =IM_FALSE;  //turn on overstrike
1082: };
1083:
1084: // Exit function for Field CrewOn.AuditCode
1085: void S003F003OnExit()
1086: {
1087: int iFlags;
1088:    IMgiStatus = S003F003KeyInExit( &iFlags );    
1089:    if (IMgiStatus == IM_SUCCESS )                      
1090:    {                                                
1091:       IMgiStatus = S003F003EValidate( &iFlags);  
1092:       if ( IMgiStatus == IM_SUCCESS )                  
1093:         S003F003ESuccess( iFlags);            
1094:       else                                          
1095:         S003F003EFail( iFlags);              
1096:    }                                                
1097: };
1098:
1099: // Key Actions function for Field CrewOn.AuditCode
1100: void S003F003Key( )
1101: {
1102: IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
1103: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
1104:    switch ( IMCcgenv.iFldKeyStatus )
1105:    {
1106:       //Validate field and possibly exit
1107:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1108:     case IM_RETURN_BACK_TAB:
1109:       //Go to previous field
1110:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1111:      if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1112:       IMCcgenv.iNext.iSF.iScrNum = 4;
1113:       IMCcgenv.iNext.iSF.iFldNum = 2;
1114:       IMCcgenv.iNextMove = ENV_INM_GOTO;
1115:     }// end of allow nav overwrite decision
1116:       break;
1117:
1118:     case IM_RETURN_ESC:
1119:       //Return to previous screen
1120:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1121:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
1122:       break;
1123:
1124:      
1125:     case IM_RETURN_F1:
1126:     case IM_RETURN_F2:
1127:     case IM_RETURN_F3:
1128:     case IM_RETURN_F4:
1129:     case IM_RETURN_F5:
1130:     case IM_RETURN_F6:
1131:     case IM_RETURN_F7:
1132:     case IM_RETURN_F8:
1133:     case IM_RETURN_F9:
1134:     case IM_RETURN_F10:
1135:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
1136:       break;
1137:      
1138:     default: //Go on, must have been return that caused exit
1139:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1140:    };//End of switch on field key returned
1141:      
1142: };
1143:
1144: // Key Actions function for Field CrewOn.AuditCode
1145: int S003F003KeyInExit( int *iFlags )
1146: {
1147:    *iFlags = 0;//initialize overwrite flags
1148:    IMgiStatus = IM_SUCCESS;
1149:    switch ( IMCcgenv.iFldKeyStatus )
1150:    {
1151:    };//End of switch on field key returned
1152:    return IMgiStatus;          
1153: };
1154:
1155: // Exit Validation function for Field CrewOn.AuditCode
1156: int S003F003EValidate( int *iFlags )
1157: {
1158: int iStatus = IM_SUCCESS;
1159: int iLocStatus=0, lFlags=0 ;
1160: lFlags = *iFlags ;// copy passed in flags to local variable
1161:   IMgiStatus = IM_SUCCESS;
1162: return IMgiStatus;          
1163: };
1164:
1165: // Exit Validation success function for Field CrewOn.AuditCode
1166: void S003F003ESuccess( int iFlags )
1167: {
1168: int iLocStatus=0, lFlags=0 ;
1169:    IMCstringToSound ( "H" ) ;
1170:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1171:     IMCcgenv.iNext.iSF.iScrNum = 4;
1172:     IMCcgenv.iNext.iSF.iFldNum = 1;
1173:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1174:   }// end of allow nav overwrite decision
1175: };
1176:
1177: // Exit Validation failure function for Field CrewOn.AuditCode
1178: void S003F003EFail( int iFlags )
1179: {
1180: int iLocStatus=0, lFlags=0 ;
1181:    IMCstringToSound ( "LHL" ) ;
1182:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1183:     IMCcgenv.iNext.iSF.iScrNum = 4;
1184:     IMCcgenv.iNext.iSF.iFldNum = 4;
1185:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1186:   }// end of allow nav overwrite decision
1187: };
1188:
1189: // Entry function for Screen ExtrusLotNo
1190: void s004OnEntry()
1191: {
1192: int iLocStatus=0, lFlags=0 ;
1193: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
1194: IMgiStatusLine = 50; // set status line this screen
1195:    IMgiStatusTime = 20000;//Time to display message
1196:  };
1197:
1198: // Exit function for Screen ExtrusLotNo
1199: void s004OnExit()
1200: {
1201: int iLocStatus=0, lFlags=0 ;
1202:  };
1203:
1204: // Entry function for Field ExtrusLotNo.TagNumber
1205: void S004F000OnEntry()
1206: {
1207: int iLocStatus=0, lFlags=0 ;
1208:    IMgiStatus = IM_SUCCESS;
1209: gfInsert =IM_FALSE;  //turn on overstrike
1210: };
1211:
1212: // Exit function for Field ExtrusLotNo.TagNumber
1213: void S004F000OnExit()
1214: {
1215: int iFlags;
1216:    IMgiStatus = S004F000KeyInExit( &iFlags );    
1217:    if (IMgiStatus == IM_SUCCESS )                      
1218:    {                                                
1219:       IMgiStatus = S004F000EValidate( &iFlags);  
1220:       if ( IMgiStatus == IM_SUCCESS )                  
1221:         S004F000ESuccess( iFlags);            
1222:       else                                          
1223:         S004F000EFail( iFlags);              
1224:    }                                                
1225: };
1226:
1227: // Key Actions function for Field ExtrusLotNo.TagNumber
1228: void S004F000Key( )
1229: {
1230: IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
1231: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
1232:    switch ( IMCcgenv.iFldKeyStatus )
1233:    {
1234:       //Validate field and possibly exit
1235:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1236:     case IM_RETURN_BACK_TAB:
1237:       //Go to previous field
1238:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1239:      if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1240:       IMCcgenv.iNext.iSF.iScrNum = 5;
1241:       IMCcgenv.iNext.iSF.iFldNum = 5;
1242:       IMCcgenv.iNextMove = ENV_INM_GOTO;
1243:     }// end of allow nav overwrite decision
1244:       break;
1245:
1246:     case IM_RETURN_ESC:
1247:       //Return to previous screen
1248:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1249:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
1250:       break;
1251:
1252:      
1253:     case IM_RETURN_F1:
1254:     case IM_RETURN_F2:
1255:     case IM_RETURN_F3:
1256:     case IM_RETURN_F4:
1257:     case IM_RETURN_F5:
1258:     case IM_RETURN_F6:
1259:     case IM_RETURN_F7:
1260:     case IM_RETURN_F8:
1261:     case IM_RETURN_F9:
1262:     case IM_RETURN_F10:
1263:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
1264:       break;
1265:      
1266:     default: //Go on, must have been return that caused exit
1267:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1268:    };//End of switch on field key returned
1269:      
1270: };
1271:
1272: // Key Actions function for Field ExtrusLotNo.TagNumber
1273: int S004F000KeyInExit( int *iFlags )
1274: {
1275:    *iFlags = 0;//initialize overwrite flags
1276:    IMgiStatus = IM_SUCCESS;
1277:    switch ( IMCcgenv.iFldKeyStatus )
1278:    {
1279:    };//End of switch on field key returned
1280:    return IMgiStatus;          
1281: };
1282:
1283: // Exit Validation function for Field ExtrusLotNo.TagNumber
1284: int S004F000EValidate( int *iFlags )
1285: {
1286: int iStatus = IM_SUCCESS;
1287: int iLocStatus=0, lFlags=0 ;
1288: lFlags = *iFlags ;// copy passed in flags to local variable
1289:   IMgiStatus = IM_SUCCESS;
1290: return IMgiStatus;          
1291: };
1292:
1293: // Exit Validation success function for Field ExtrusLotNo.TagNumber
1294: void S004F000ESuccess( int iFlags )
1295: {
1296: int iLocStatus=0, lFlags=0 ;
1297:    IMCstringToSound ( "H" ) ;
1298:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1299:     IMCcgenv.iNext.iSF.iScrNum = 5;
1300:     IMCcgenv.iNext.iSF.iFldNum = 2;
1301:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1302:   }// end of allow nav overwrite decision
1303: };
1304:
1305: // Exit Validation failure function for Field ExtrusLotNo.TagNumber
1306: void S004F000EFail( int iFlags )
1307: {
1308: int iLocStatus=0, lFlags=0 ;
1309:     im_status_line ( "Must start with T", IM_FALSE, IMgiStatusLine);
1310:    IMCstringToSound ( "LHL" ) ;
1311:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1312:     IMCcgenv.iNext.iSF.iScrNum = 5;
1313:     IMCcgenv.iNext.iSF.iFldNum = 1;
1314:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1315:   }// end of allow nav overwrite decision
1316:  //Cleanup the message on timeout or key/wand action
1317:  IMgiTmpOrigin = IM_KEYBOARD_SELECT | IM_LABEL_SELECT ;
1318:  im_event_wait( IMgiStatusTime, &IMgiTmpOrigin);
1319:  im_get_cursor_xy ( &IMGiRow, &IMGiCol ); //Save to restore after refresh
1320:  RepaintDisplay();
1321:  im_set_cursor_xy ( IMGiRow, IMGiCol );
1322:  
1323: };
1324:
1325: // Entry function for Field ExtrusLotNo.ItemNumber
1326: void S004F001OnEntry()
1327: {
1328: int iLocStatus=0, lFlags=0 ;
1329:    IMgiStatus = IM_SUCCESS;
1330: gfInsert =IM_FALSE;  //turn on overstrike
1331: };
1332:
1333: // Exit function for Field ExtrusLotNo.ItemNumber
1334: void S004F001OnExit()
1335: {
1336: int iFlags;
1337:    IMgiStatus = S004F001KeyInExit( &iFlags );    
1338:    if (IMgiStatus == IM_SUCCESS )                      
1339:    {                                                
1340:       IMgiStatus = S004F001EValidate( &iFlags);  
1341:       if ( IMgiStatus == IM_SUCCESS )                  
1342:         S004F001ESuccess( iFlags);            
1343:       else                                          
1344:         S004F001EFail( iFlags);              
1345:    }                                                
1346: };
1347:
1348: // Key Actions function for Field ExtrusLotNo.ItemNumber
1349: void S004F001Key( )
1350: {
1351: IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
1352: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
1353:    switch ( IMCcgenv.iFldKeyStatus )
1354:    {
1355:       //Validate field and possibly exit
1356:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1357:     case IM_RETURN_BACK_TAB:
1358:       //Go to previous field
1359:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1360:      if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1361:       IMCcgenv.iNext.iSF.iScrNum = 5;
1362:       IMCcgenv.iNext.iSF.iFldNum = 1;
1363:       IMCcgenv.iNextMove = ENV_INM_GOTO;
1364:     }// end of allow nav overwrite decision
1365:       break;
1366:
1367:     case IM_RETURN_ESC:
1368:       //Return to previous screen
1369:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1370:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
1371:       break;
1372:
1373:      
1374:     case IM_RETURN_F1:
1375:     case IM_RETURN_F2:
1376:     case IM_RETURN_F3:
1377:     case IM_RETURN_F4:
1378:     case IM_RETURN_F5:
1379:     case IM_RETURN_F6:
1380:     case IM_RETURN_F7:
1381:     case IM_RETURN_F8:
1382:     case IM_RETURN_F9:
1383:     case IM_RETURN_F10:
1384:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
1385:       break;
1386:      
1387:     default: //Go on, must have been return that caused exit
1388:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1389:    };//End of switch on field key returned
1390:      
1391: };
1392:
1393: // Key Actions function for Field ExtrusLotNo.ItemNumber
1394: int S004F001KeyInExit( int *iFlags )
1395: {
1396:    *iFlags = 0;//initialize overwrite flags
1397:    IMgiStatus = IM_SUCCESS;
1398:    switch ( IMCcgenv.iFldKeyStatus )
1399:    {
1400:    };//End of switch on field key returned
1401:    return IMgiStatus;          
1402: };
1403:
1404: // Exit Validation function for Field ExtrusLotNo.ItemNumber
1405: int S004F001EValidate( int *iFlags )
1406: {
1407: int iStatus = IM_SUCCESS;
1408: int iLocStatus=0, lFlags=0 ;
1409: lFlags = *iFlags ;// copy passed in flags to local variable
1410:   IMgiStatus = IM_SUCCESS;
1411: return IMgiStatus;          
1412: };
1413:
1414: // Exit Validation success function for Field ExtrusLotNo.ItemNumber
1415: void S004F001ESuccess( int iFlags )
1416: {
1417: int iLocStatus=0, lFlags=0 ;
1418:    IMCstringToSound ( "H" ) ;
1419:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1420:     IMCcgenv.iNext.iSF.iScrNum = 5;
1421:     IMCcgenv.iNext.iSF.iFldNum = 3;
1422:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1423:   }// end of allow nav overwrite decision
1424: };
1425:
1426: // Exit Validation failure function for Field ExtrusLotNo.ItemNumber
1427: void S004F001EFail( int iFlags )
1428: {
1429: int iLocStatus=0, lFlags=0 ;
1430:    IMCstringToSound ( "LHL" ) ;
1431:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1432:     IMCcgenv.iNext.iSF.iScrNum = 5;
1433:     IMCcgenv.iNext.iSF.iFldNum = 2;
1434:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1435:   }// end of allow nav overwrite decision
1436: };
1437:
1438: // Entry function for Field ExtrusLotNo.Location
1439: void S004F002OnEntry()
1440: {
1441: int iLocStatus=0, lFlags=0 ;
1442:    IMgiStatus = IM_SUCCESS;
1443: gfInsert =IM_FALSE;  //turn on overstrike
1444: };
1445:
1446: // Exit function for Field ExtrusLotNo.Location
1447: void S004F002OnExit()
1448: {
1449: int iFlags;
1450:    IMgiStatus = S004F002KeyInExit( &iFlags );    
1451:    if (IMgiStatus == IM_SUCCESS )                      
1452:    {                                                
1453:       IMgiStatus = S004F002EValidate( &iFlags);  
1454:       if ( IMgiStatus == IM_SUCCESS )                  
1455:         S004F002ESuccess( iFlags);            
1456:       else                                          
1457:         S004F002EFail( iFlags);              
1458:    }                                                
1459: };
1460:
1461: // Key Actions function for Field ExtrusLotNo.Location
1462: void S004F002Key( )
1463: {
1464: IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
1465: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
1466:    switch ( IMCcgenv.iFldKeyStatus )
1467:    {
1468:       //Validate field and possibly exit
1469:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1470:     case IM_RETURN_BACK_TAB:
1471:       //Go to previous field
1472:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1473:      if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1474:       IMCcgenv.iNext.iSF.iScrNum = 5;
1475:       IMCcgenv.iNext.iSF.iFldNum = 2;
1476:       IMCcgenv.iNextMove = ENV_INM_GOTO;
1477:     }// end of allow nav overwrite decision
1478:       break;
1479:
1480:     case IM_RETURN_ESC:
1481:       //Return to previous screen
1482:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1483:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
1484:       break;
1485:
1486:      
1487:     case IM_RETURN_F1:
1488:     case IM_RETURN_F2:
1489:     case IM_RETURN_F3:
1490:     case IM_RETURN_F4:
1491:     case IM_RETURN_F5:
1492:     case IM_RETURN_F6:
1493:     case IM_RETURN_F7:
1494:     case IM_RETURN_F8:
1495:     case IM_RETURN_F9:
1496:     case IM_RETURN_F10:
1497:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
1498:       break;
1499:      
1500:     default: //Go on, must have been return that caused exit
1501:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1502:    };//End of switch on field key returned
1503:      
1504: };
1505:
1506: // Key Actions function for Field ExtrusLotNo.Location
1507: int S004F002KeyInExit( int *iFlags )
1508: {
1509:    *iFlags = 0;//initialize overwrite flags
1510:    IMgiStatus = IM_SUCCESS;
1511:    switch ( IMCcgenv.iFldKeyStatus )
1512:    {
1513:    };//End of switch on field key returned
1514:    return IMgiStatus;          
1515: };
1516:
1517: // Exit Validation function for Field ExtrusLotNo.Location
1518: int S004F002EValidate( int *iFlags )
1519: {
1520: int iStatus = IM_SUCCESS;
1521: int iLocStatus=0, lFlags=0 ;
1522: lFlags = *iFlags ;// copy passed in flags to local variable
1523:   IMgiStatus = IM_SUCCESS;
1524: return IMgiStatus;          
1525: };
1526:
1527: // Exit Validation success function for Field ExtrusLotNo.Location
1528: void S004F002ESuccess( int iFlags )
1529: {
1530: int iLocStatus=0, lFlags=0 ;
1531:    IMCstringToSound ( "H" ) ;
1532:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1533:     IMCcgenv.iNext.iSF.iScrNum = 5;
1534:     IMCcgenv.iNext.iSF.iFldNum = 4;
1535:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1536:   }// end of allow nav overwrite decision
1537: };
1538:
1539: // Exit Validation failure function for Field ExtrusLotNo.Location
1540: void S004F002EFail( int iFlags )
1541: {
1542: int iLocStatus=0, lFlags=0 ;
1543:    IMCstringToSound ( "LHL" ) ;
1544:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1545:     IMCcgenv.iNext.iSF.iScrNum = 5;
1546:     IMCcgenv.iNext.iSF.iFldNum = 3;
1547:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1548:   }// end of allow nav overwrite decision
1549: };
1550:
1551: // Entry function for Field ExtrusLotNo.Quantity
1552: void S004F003OnEntry()
1553: {
1554: int iLocStatus=0, lFlags=0 ;
1555:    IMgiStatus = IM_SUCCESS;
1556: gfInsert =IM_FALSE;  //turn on overstrike
1557: };
1558:
1559: // Exit function for Field ExtrusLotNo.Quantity
1560: void S004F003OnExit()
1561: {
1562: int iFlags;
1563:    IMgiStatus = S004F003KeyInExit( &iFlags );    
1564:    if (IMgiStatus == IM_SUCCESS )                      
1565:    {                                                
1566:       IMgiStatus = S004F003EValidate( &iFlags);  
1567:       if ( IMgiStatus == IM_SUCCESS )                  
1568:         S004F003ESuccess( iFlags);            
1569:       else                                          
1570:         S004F003EFail( iFlags);              
1571:    }                                                
1572: };
1573:
1574: // Key Actions function for Field ExtrusLotNo.Quantity
1575: void S004F003Key( )
1576: {
1577: IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
1578: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
1579:    switch ( IMCcgenv.iFldKeyStatus )
1580:    {
1581:       //Validate field and possibly exit
1582:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1583:     case IM_RETURN_BACK_TAB:
1584:       //Go to previous field
1585:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1586:      if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1587:       IMCcgenv.iNext.iSF.iScrNum = 5;
1588:       IMCcgenv.iNext.iSF.iFldNum = 3;
1589:       IMCcgenv.iNextMove = ENV_INM_GOTO;
1590:     }// end of allow nav overwrite decision
1591:       break;
1592:
1593:     case IM_RETURN_ESC:
1594:       //Return to previous screen
1595:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1596:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
1597:       break;
1598:
1599:      
1600:     case IM_RETURN_F1:
1601:     case IM_RETURN_F2:
1602:     case IM_RETURN_F3:
1603:     case IM_RETURN_F4:
1604:     case IM_RETURN_F5:
1605:     case IM_RETURN_F6:
1606:     case IM_RETURN_F7:
1607:     case IM_RETURN_F8:
1608:     case IM_RETURN_F9:
1609:     case IM_RETURN_F10:
1610:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
1611:       break;
1612:      
1613:     default: //Go on, must have been return that caused exit
1614:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1615:    };//End of switch on field key returned
1616:      
1617: };
1618:
1619: // Key Actions function for Field ExtrusLotNo.Quantity
1620: int S004F003KeyInExit( int *iFlags )
1621: {
1622:    *iFlags = 0;//initialize overwrite flags
1623:    IMgiStatus = IM_SUCCESS;
1624:    switch ( IMCcgenv.iFldKeyStatus )
1625:    {
1626:    };//End of switch on field key returned
1627:    return IMgiStatus;          
1628: };
1629:
1630: // Exit Validation function for Field ExtrusLotNo.Quantity
1631: int S004F003EValidate( int *iFlags )
1632: {
1633: int iStatus = IM_SUCCESS;
1634: int iLocStatus=0, lFlags=0 ;
1635: lFlags = *iFlags ;// copy passed in flags to local variable
1636:   IMgiStatus = IM_SUCCESS;
1637: return IMgiStatus;          
1638: };
1639:
1640: // Exit Validation success function for Field ExtrusLotNo.Quantity
1641: void S004F003ESuccess( int iFlags )
1642: {
1643: int iLocStatus=0, lFlags=0 ;
1644:    IMCstringToSound ( "H" ) ;
1645:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1646:     IMCcgenv.iNext.iSF.iScrNum = 5;
1647:     IMCcgenv.iNext.iSF.iFldNum = 5;
1648:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1649:   }// end of allow nav overwrite decision
1650: };
1651:
1652: // Exit Validation failure function for Field ExtrusLotNo.Quantity
1653: void S004F003EFail( int iFlags )
1654: {
1655: int iLocStatus=0, lFlags=0 ;
1656:    IMCstringToSound ( "LHL" ) ;
1657:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1658:     IMCcgenv.iNext.iSF.iScrNum = 5;
1659:     IMCcgenv.iNext.iSF.iFldNum = 4;
1660:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1661:   }// end of allow nav overwrite decision
1662: };
1663:
1664: // Entry function for Field ExtrusLotNo.Lot
1665: void S004F004OnEntry()
1666: {
1667: int iLocStatus=0, lFlags=0 ;
1668:    IMgiStatus = IM_SUCCESS;
1669: gfInsert =IM_FALSE;  //turn on overstrike
1670: };
1671:
1672: // Exit function for Field ExtrusLotNo.Lot
1673: void S004F004OnExit()
1674: {
1675: int iFlags;
1676:    IMgiStatus = S004F004KeyInExit( &iFlags );    
1677:    if (IMgiStatus == IM_SUCCESS )                      
1678:    {                                                
1679:       IMgiStatus = S004F004EValidate( &iFlags);  
1680:       if ( IMgiStatus == IM_SUCCESS )                  
1681:         S004F004ESuccess( iFlags);            
1682:       else                                          
1683:         S004F004EFail( iFlags);              
1684:    }                                                
1685: };
1686:
1687: // Key Actions function for Field ExtrusLotNo.Lot
1688: void S004F004Key( )
1689: {
1690: IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
1691: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
1692:    switch ( IMCcgenv.iFldKeyStatus )
1693:    {
1694:       //Validate field and possibly exit
1695:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1696:     case IM_RETURN_BACK_TAB:
1697:       //Go to previous field
1698:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1699:      if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1700:       IMCcgenv.iNext.iSF.iScrNum = 5;
1701:       IMCcgenv.iNext.iSF.iFldNum = 4;
1702:       IMCcgenv.iNextMove = ENV_INM_GOTO;
1703:     }// end of allow nav overwrite decision
1704:       break;
1705:
1706:     case IM_RETURN_ESC:
1707:       //Return to previous screen
1708:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1709:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
1710:       break;
1711:
1712:      
1713:     case IM_RETURN_F1:
1714:     case IM_RETURN_F2:
1715:     case IM_RETURN_F3:
1716:     case IM_RETURN_F4:
1717:     case IM_RETURN_F5:
1718:     case IM_RETURN_F6:
1719:     case IM_RETURN_F7:
1720:     case IM_RETURN_F8:
1721:     case IM_RETURN_F9:
1722:     case IM_RETURN_F10:
1723:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
1724:       break;
1725:      
1726:     default: //Go on, must have been return that caused exit
1727:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1728:    };//End of switch on field key returned
1729:      
1730: };
1731:
1732: // Key Actions function for Field ExtrusLotNo.Lot
1733: int S004F004KeyInExit( int *iFlags )
1734: {
1735:    *iFlags = 0;//initialize overwrite flags
1736:    IMgiStatus = IM_SUCCESS;
1737:    switch ( IMCcgenv.iFldKeyStatus )
1738:    {
1739:    };//End of switch on field key returned
1740:    return IMgiStatus;          
1741: };
1742:
1743: // Exit Validation function for Field ExtrusLotNo.Lot
1744: int S004F004EValidate( int *iFlags )
1745: {
1746: int iStatus = IM_SUCCESS;
1747: int iLocStatus=0, lFlags=0 ;
1748: lFlags = *iFlags ;// copy passed in flags to local variable
1749:   IMgiStatus = IM_SUCCESS;
1750: return IMgiStatus;          
1751: };
1752:
1753: // Exit Validation success function for Field ExtrusLotNo.Lot
1754: void S004F004ESuccess( int iFlags )
1755: {
1756: int iLocStatus=0, lFlags=0 ;
1757:    IMCstringToSound ( "H" ) ;
1758:    writelotno();
1759:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1760:     IMCcgenv.iNext.iSF.iScrNum = 5;
1761:     IMCcgenv.iNext.iSF.iFldNum = 1;
1762:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1763:   }// end of allow nav overwrite decision
1764: };
1765:
1766: // Exit Validation failure function for Field ExtrusLotNo.Lot
1767: void S004F004EFail( int iFlags )
1768: {
1769: int iLocStatus=0, lFlags=0 ;
1770:    IMCstringToSound ( "LHL" ) ;
1771:
1772: //  File Action
1773:
1774:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1775:     IMCcgenv.iNext.iSF.iScrNum = 5;
1776:     IMCcgenv.iNext.iSF.iFldNum = 5;
1777:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1778:   }// end of allow nav overwrite decision
1779: };
1780:
1781: // Entry function for Screen CrewOff
1782: void s005OnEntry()
1783: {
1784: int iLocStatus=0, lFlags=0 ;
1785: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
1786: IMgiStatusLine = 50; // set status line this screen
1787:    IMgiStatusTime = 20000;//Time to display message
1788:  };
1789:
1790: // Exit function for Screen CrewOff
1791: void s005OnExit()
1792: {
1793: int iLocStatus=0, lFlags=0 ;
1794:  };
1795:
1796: // Entry function for Field CrewOff.empty
1797: void S005F002OnEntry()
1798: {
1799: int iLocStatus=0, lFlags=0 ;
1800:    IMgiStatus = IM_SUCCESS;
1801: gfInsert =IM_FALSE;  //turn on overstrike
1802: };
1803:
1804: // Exit function for Field CrewOff.empty
1805: void S005F002OnExit()
1806: {
1807: int iFlags;
1808:    IMgiStatus = S005F002KeyInExit( &iFlags );    
1809:    if (IMgiStatus == IM_SUCCESS )                      
1810:    {                                                
1811:       IMgiStatus = S005F002EValidate( &iFlags);  
1812:       if ( IMgiStatus == IM_SUCCESS )                  
1813:         S005F002ESuccess( iFlags);            
1814:       else                                          
1815:         S005F002EFail( iFlags);              
1816:    }                                                
1817: };
1818:
1819: // Key Actions function for Field CrewOff.empty
1820: void S005F002Key( )
1821: {
1822: IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
1823: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
1824:    switch ( IMCcgenv.iFldKeyStatus )
1825:    {
1826:       //Validate field and possibly exit
1827:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1828:     case IM_RETURN_BACK_TAB:
1829:       //Go to previous field
1830:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1831:      if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1832:       IMCcgenv.iNext.iSF.iScrNum = 6;
1833:       IMCcgenv.iNext.iSF.iFldNum = 5;
1834:       IMCcgenv.iNextMove = ENV_INM_GOTO;
1835:     }// end of allow nav overwrite decision
1836:       break;
1837:
1838:     case IM_RETURN_ESC:
1839:       //Return to previous screen
1840:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1841:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
1842:       break;
1843:
1844:      
1845:     case IM_RETURN_F1:
1846:     case IM_RETURN_F2:
1847:     case IM_RETURN_F3:
1848:     case IM_RETURN_F4:
1849:     case IM_RETURN_F5:
1850:     case IM_RETURN_F6:
1851:     case IM_RETURN_F7:
1852:     case IM_RETURN_F8:
1853:     case IM_RETURN_F9:
1854:     case IM_RETURN_F10:
1855:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
1856:       break;
1857:      
1858:     default: //Go on, must have been return that caused exit
1859:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1860:    };//End of switch on field key returned
1861:      
1862: };
1863:
1864: // Key Actions function for Field CrewOff.empty
1865: int S005F002KeyInExit( int *iFlags )
1866: {
1867:    *iFlags = 0;//initialize overwrite flags
1868:    IMgiStatus = IM_SUCCESS;
1869:    switch ( IMCcgenv.iFldKeyStatus )
1870:    {
1871:    };//End of switch on field key returned
1872:    return IMgiStatus;          
1873: };
1874:
1875: // Exit Validation function for Field CrewOff.empty
1876: int S005F002EValidate( int *iFlags )
1877: {
1878: int iStatus = IM_SUCCESS;
1879: int iLocStatus=0, lFlags=0 ;
1880: lFlags = *iFlags ;// copy passed in flags to local variable
1881:   IMgiStatus = IM_SUCCESS;
1882: return IMgiStatus;          
1883: };
1884:
1885: // Exit Validation success function for Field CrewOff.empty
1886: void S005F002ESuccess( int iFlags )
1887: {
1888: int iLocStatus=0, lFlags=0 ;
1889:    IMCstringToSound ( "H" ) ;
1890:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1891:     IMCcgenv.iNext.iSF.iScrNum = 6;
1892:     IMCcgenv.iNext.iSF.iFldNum = 5;
1893:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1894:   }// end of allow nav overwrite decision
1895: };
1896:
1897: // Exit Validation failure function for Field CrewOff.empty
1898: void S005F002EFail( int iFlags )
1899: {
1900: int iLocStatus=0, lFlags=0 ;
1901:    IMCstringToSound ( "LHL" ) ;
1902:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1903:     IMCcgenv.iNext.iSF.iScrNum = 6;
1904:     IMCcgenv.iNext.iSF.iFldNum = 3;
1905:     IMCcgenv.iNextMove = ENV_INM_GOTO;
1906:   }// end of allow nav overwrite decision
1907: };
1908:
1909: // Entry function for Field CrewOff.SignOffField
1910: void S005F004OnEntry()
1911: {
1912: int iLocStatus=0, lFlags=0 ;
1913:    IMgiStatus = IM_SUCCESS;
1914: gfInsert =IM_FALSE;  //turn on overstrike
1915:    CrewOff_SignOffField_F[0]='\0' ;
1916: };
1917:
1918: // Exit function for Field CrewOff.SignOffField
1919: void S005F004OnExit()
1920: {
1921: int iFlags;
1922:    IMgiStatus = S005F004KeyInExit( &iFlags );    
1923:    if (IMgiStatus == IM_SUCCESS )                      
1924:    {                                                
1925:       IMgiStatus = S005F004EValidate( &iFlags);  
1926:       if ( IMgiStatus == IM_SUCCESS )                  
1927:         S005F004ESuccess( iFlags);            
1928:       else                                          
1929:         S005F004EFail( iFlags);              
1930:    }                                                
1931: };
1932:
1933: // Key Actions function for Field CrewOff.SignOffField
1934: void S005F004Key( )
1935: {
1936: IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
1937: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
1938:    switch ( IMCcgenv.iFldKeyStatus )
1939:    {
1940:       //Validate field and possibly exit
1941:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1942:     case IM_RETURN_BACK_TAB:
1943:       //Go to previous field
1944:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1945:      if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
1946:       IMCcgenv.iNext.iSF.iScrNum = 6;
1947:       IMCcgenv.iNext.iSF.iFldNum = 3;
1948:       IMCcgenv.iNextMove = ENV_INM_GOTO;
1949:     }// end of allow nav overwrite decision
1950:       break;
1951:
1952:     case IM_RETURN_ESC:
1953:       //Return to previous screen
1954:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
1955:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
1956:       break;
1957:
1958:      
1959:     case IM_RETURN_F1:
1960:     case IM_RETURN_F2:
1961:     case IM_RETURN_F3:
1962:     case IM_RETURN_F4:
1963:     case IM_RETURN_F5:
1964:     case IM_RETURN_F6:
1965:     case IM_RETURN_F7:
1966:     case IM_RETURN_F8:
1967:     case IM_RETURN_F9:
1968:     case IM_RETURN_F10:
1969:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
1970:       break;
1971:      
1972:     default: //Go on, must have been return that caused exit
1973:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
1974:    };//End of switch on field key returned
1975:      
1976: };
1977:
1978: // Key Actions function for Field CrewOff.SignOffField
1979: int S005F004KeyInExit( int *iFlags )
1980: {
1981:    *iFlags = 0;//initialize overwrite flags
1982:    IMgiStatus = IM_SUCCESS;
1983:    switch ( IMCcgenv.iFldKeyStatus )
1984:    {
1985:    };//End of switch on field key returned
1986:    return IMgiStatus;          
1987: };
1988:
1989: // Exit Validation function for Field CrewOff.SignOffField
1990: int S005F004EValidate( int *iFlags )
1991: {
1992: int iStatus = IM_SUCCESS;
1993: int iLocStatus=0, lFlags=0 ;
1994: lFlags = *iFlags ;// copy passed in flags to local variable
1995:   IMgiStatus = IM_SUCCESS;
1996: if ( IM_ISSUCCESS( IMgiStatus) ){
1997:    IMgiStatus = !SignOff();
1998:   }
1999: return IMgiStatus;          
2000: };
2001:
2002: // Exit Validation success function for Field CrewOff.SignOffField
2003: void S005F004ESuccess( int iFlags )
2004: {
2005: int iLocStatus=0, lFlags=0 ;
2006:    IMCstringToSound ( "H" ) ;
2007:     IMCcgenv.iNewReturn.iSF.iScrNum = 6;
2008:     IMCcgenv.iNewReturn.iSF.iFldNum = 3;
2009:    IMCcgenv.iChangeReturn = ENV_ICR_RETURN;
2010:     IMCcgenv.iMenEnter = 0;
2011:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2012:     IMCcgenv.iNext.iSF.iScrNum = 11;
2013:     IMCcgenv.iNext.iSF.iFldNum = 1;
2014:     IMCcgenv.iNextMove = ENV_INM_CALL;
2015:   }// end of allow nav overwrite decision
2016: };
2017:
2018: // Exit Validation failure function for Field CrewOff.SignOffField
2019: void S005F004EFail( int iFlags )
2020: {
2021: int iLocStatus=0, lFlags=0 ;
2022:    IMCstringToSound ( "LHL" ) ;
2023:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2024:     IMCcgenv.iNext.iSF.iScrNum = 6;
2025:     IMCcgenv.iNext.iSF.iFldNum = 5;
2026:     IMCcgenv.iNextMove = ENV_INM_GOTO;
2027:   }// end of allow nav overwrite decision
2028: };
2029:
2030: // Entry function for Screen ExtrusNonLot
2031: void s007OnEntry()
2032: {
2033: int iLocStatus=0, lFlags=0 ;
2034: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
2035: IMgiStatusLine = 50; // set status line this screen
2036:    IMgiStatusTime = 20000;//Time to display message
2037:  };
2038:
2039: // Exit function for Screen ExtrusNonLot
2040: void s007OnExit()
2041: {
2042: int iLocStatus=0, lFlags=0 ;
2043:  };
2044:
2045: // Entry function for Field ExtrusNonLot.TagNumber
2046: void S007F000OnEntry()
2047: {
2048: int iLocStatus=0, lFlags=0 ;
2049:    IMgiStatus = IM_SUCCESS;
2050: gfInsert =IM_FALSE;  //turn on overstrike
2051: };
2052:
2053: // Exit function for Field ExtrusNonLot.TagNumber
2054: void S007F000OnExit()
2055: {
2056: int iFlags;
2057:    IMgiStatus = S007F000KeyInExit( &iFlags );    
2058:    if (IMgiStatus == IM_SUCCESS )                      
2059:    {                                                
2060:       IMgiStatus = S007F000EValidate( &iFlags);  
2061:       if ( IMgiStatus == IM_SUCCESS )                  
2062:         S007F000ESuccess( iFlags);            
2063:       else                                          
2064:         S007F000EFail( iFlags);              
2065:    }                                                
2066: };
2067:
2068: // Key Actions function for Field ExtrusNonLot.TagNumber
2069: void S007F000Key( )
2070: {
2071: IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
2072: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
2073:    switch ( IMCcgenv.iFldKeyStatus )
2074:    {
2075:       //Validate field and possibly exit
2076:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
2077:     case IM_RETURN_BACK_TAB:
2078:       //Go to previous field
2079:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
2080:      if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2081:       IMCcgenv.iNext.iSF.iScrNum = 8;
2082:       IMCcgenv.iNext.iSF.iFldNum = 5;
2083:       IMCcgenv.iNextMove = ENV_INM_GOTO;
2084:     }// end of allow nav overwrite decision
2085:       break;
2086:
2087:     case IM_RETURN_ESC:
2088:       //Return to previous screen
2089:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
2090:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
2091:       break;
2092:
2093:      
2094:     case IM_RETURN_F1:
2095:     case IM_RETURN_F2:
2096:     case IM_RETURN_F3:
2097:     case IM_RETURN_F4:
2098:     case IM_RETURN_F5:
2099:     case IM_RETURN_F6:
2100:     case IM_RETURN_F7:
2101:     case IM_RETURN_F8:
2102:     case IM_RETURN_F9:
2103:     case IM_RETURN_F10:
2104:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
2105:       break;
2106:      
2107:     default: //Go on, must have been return that caused exit
2108:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
2109:    };//End of switch on field key returned
2110:      
2111: };
2112:
2113: // Key Actions function for Field ExtrusNonLot.TagNumber
2114: int S007F000KeyInExit( int *iFlags )
2115: {
2116:    *iFlags = 0;//initialize overwrite flags
2117:    IMgiStatus = IM_SUCCESS;
2118:    switch ( IMCcgenv.iFldKeyStatus )
2119:    {
2120:    };//End of switch on field key returned
2121:    return IMgiStatus;          
2122: };
2123:
2124: // Exit Validation function for Field ExtrusNonLot.TagNumber
2125: int S007F000EValidate( int *iFlags )
2126: {
2127: int iStatus = IM_SUCCESS;
2128: int iLocStatus=0, lFlags=0 ;
2129: lFlags = *iFlags ;// copy passed in flags to local variable
2130:   IMgiStatus = IM_SUCCESS;
2131: return IMgiStatus;          
2132: };
2133:
2134: // Exit Validation success function for Field ExtrusNonLot.TagNumber
2135: void S007F000ESuccess( int iFlags )
2136: {
2137: int iLocStatus=0, lFlags=0 ;
2138:    IMCstringToSound ( "H" ) ;
2139:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2140:     IMCcgenv.iNext.iSF.iScrNum = 8;
2141:     IMCcgenv.iNext.iSF.iFldNum = 2;
2142:     IMCcgenv.iNextMove = ENV_INM_GOTO;
2143:   }// end of allow nav overwrite decision
2144: };
2145:
2146: // Exit Validation failure function for Field ExtrusNonLot.TagNumber
2147: void S007F000EFail( int iFlags )
2148: {
2149: int iLocStatus=0, lFlags=0 ;
2150:     im_status_line ( "Must start with T", IM_FALSE, IMgiStatusLine);
2151:    IMCstringToSound ( "LHL" ) ;
2152:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2153:     IMCcgenv.iNext.iSF.iScrNum = 8;
2154:     IMCcgenv.iNext.iSF.iFldNum = 1;
2155:     IMCcgenv.iNextMove = ENV_INM_GOTO;
2156:   }// end of allow nav overwrite decision
2157:  //Cleanup the message on timeout or key/wand action
2158:  IMgiTmpOrigin = IM_KEYBOARD_SELECT | IM_LABEL_SELECT ;
2159:  im_event_wait( IMgiStatusTime, &IMgiTmpOrigin);
2160:  im_get_cursor_xy ( &IMGiRow, &IMGiCol ); //Save to restore after refresh
2161:  RepaintDisplay();
2162:  im_set_cursor_xy ( IMGiRow, IMGiCol );
2163:  
2164: };
2165:
2166: // Entry function for Field ExtrusNonLot.ItemNumber
2167: void S007F001OnEntry()
2168: {
2169: int iLocStatus=0, lFlags=0 ;
2170:    IMgiStatus = IM_SUCCESS;
2171: gfInsert =IM_FALSE;  //turn on overstrike
2172: };
2173:
2174: // Exit function for Field ExtrusNonLot.ItemNumber
2175: void S007F001OnExit()
2176: {
2177: int iFlags;
2178:    IMgiStatus = S007F001KeyInExit( &iFlags );    
2179:    if (IMgiStatus == IM_SUCCESS )                      
2180:    {                                                
2181:       IMgiStatus = S007F001EValidate( &iFlags);  
2182:       if ( IMgiStatus == IM_SUCCESS )                  
2183:         S007F001ESuccess( iFlags);            
2184:       else                                          
2185:         S007F001EFail( iFlags);              
2186:    }                                                
2187: };
2188:
2189: // Key Actions function for Field ExtrusNonLot.ItemNumber
2190: void S007F001Key( )
2191: {
2192: IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
2193: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
2194:    switch ( IMCcgenv.iFldKeyStatus )
2195:    {
2196:       //Validate field and possibly exit
2197:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
2198:     case IM_RETURN_BACK_TAB:
2199:       //Go to previous field
2200:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
2201:      if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2202:       IMCcgenv.iNext.iSF.iScrNum = 8;
2203:       IMCcgenv.iNext.iSF.iFldNum = 1;
2204:       IMCcgenv.iNextMove = ENV_INM_GOTO;
2205:     }// end of allow nav overwrite decision
2206:       break;
2207:
2208:     case IM_RETURN_ESC:
2209:       //Return to previous screen
2210:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
2211:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
2212:       break;
2213:
2214:      
2215:     case IM_RETURN_F1:
2216:     case IM_RETURN_F2:
2217:     case IM_RETURN_F3:
2218:     case IM_RETURN_F4:
2219:     case IM_RETURN_F5:
2220:     case IM_RETURN_F6:
2221:     case IM_RETURN_F7:
2222:     case IM_RETURN_F8:
2223:     case IM_RETURN_F9:
2224:     case IM_RETURN_F10:
2225:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
2226:       break;
2227:      
2228:     default: //Go on, must have been return that caused exit
2229:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
2230:    };//End of switch on field key returned
2231:      
2232: };
2233:
2234: // Key Actions function for Field ExtrusNonLot.ItemNumber
2235: int S007F001KeyInExit( int *iFlags )
2236: {
2237:    *iFlags = 0;//initialize overwrite flags
2238:    IMgiStatus = IM_SUCCESS;
2239:    switch ( IMCcgenv.iFldKeyStatus )
2240:    {
2241:    };//End of switch on field key returned
2242:    return IMgiStatus;          
2243: };
2244:
2245: // Exit Validation function for Field ExtrusNonLot.ItemNumber
2246: int S007F001EValidate( int *iFlags )
2247: {
2248: int iStatus = IM_SUCCESS;
2249: int iLocStatus=0, lFlags=0 ;
2250: lFlags = *iFlags ;// copy passed in flags to local variable
2251:   IMgiStatus = IM_SUCCESS;
2252: return IMgiStatus;          
2253: };
2254:
2255: // Exit Validation success function for Field ExtrusNonLot.ItemNumber
2256: void S007F001ESuccess( int iFlags )
2257: {
2258: int iLocStatus=0, lFlags=0 ;
2259:    IMCstringToSound ( "H" ) ;
2260:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2261:     IMCcgenv.iNext.iSF.iScrNum = 8;
2262:     IMCcgenv.iNext.iSF.iFldNum = 3;
2263:     IMCcgenv.iNextMove = ENV_INM_GOTO;
2264:   }// end of allow nav overwrite decision
2265: };
2266:
2267: // Exit Validation failure function for Field ExtrusNonLot.ItemNumber
2268: void S007F001EFail( int iFlags )
2269: {
2270: int iLocStatus=0, lFlags=0 ;
2271:    IMCstringToSound ( "LHL" ) ;
2272:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2273:     IMCcgenv.iNext.iSF.iScrNum = 8;
2274:     IMCcgenv.iNext.iSF.iFldNum = 2;
2275:     IMCcgenv.iNextMove = ENV_INM_GOTO;
2276:   }// end of allow nav overwrite decision
2277: };
2278:
2279: // Entry function for Field ExtrusNonLot.Location
2280: void S007F002OnEntry()
2281: {
2282: int iLocStatus=0, lFlags=0 ;
2283:    IMgiStatus = IM_SUCCESS;
2284: gfInsert =IM_FALSE;  //turn on overstrike
2285: };
2286:
2287: // Exit function for Field ExtrusNonLot.Location
2288: void S007F002OnExit()
2289: {
2290: int iFlags;
2291:    IMgiStatus = S007F002KeyInExit( &iFlags );    
2292:    if (IMgiStatus == IM_SUCCESS )                      
2293:    {                                                
2294:       IMgiStatus = S007F002EValidate( &iFlags);  
2295:       if ( IMgiStatus == IM_SUCCESS )                  
2296:         S007F002ESuccess( iFlags);            
2297:       else                                          
2298:         S007F002EFail( iFlags);              
2299:    }                                                
2300: };
2301:
2302: // Key Actions function for Field ExtrusNonLot.Location
2303: void S007F002Key( )
2304: {
2305: IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
2306: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
2307:    switch ( IMCcgenv.iFldKeyStatus )
2308:    {
2309:       //Validate field and possibly exit
2310:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
2311:     case IM_RETURN_BACK_TAB:
2312:       //Go to previous field
2313:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
2314:      if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2315:       IMCcgenv.iNext.iSF.iScrNum = 8;
2316:       IMCcgenv.iNext.iSF.iFldNum = 2;
2317:       IMCcgenv.iNextMove = ENV_INM_GOTO;
2318:     }// end of allow nav overwrite decision
2319:       break;
2320:
2321:     case IM_RETURN_ESC:
2322:       //Return to previous screen
2323:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
2324:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
2325:       break;
2326:
2327:      
2328:     case IM_RETURN_F1:
2329:     case IM_RETURN_F2:
2330:     case IM_RETURN_F3:
2331:     case IM_RETURN_F4:
2332:     case IM_RETURN_F5:
2333:     case IM_RETURN_F6:
2334:     case IM_RETURN_F7:
2335:     case IM_RETURN_F8:
2336:     case IM_RETURN_F9:
2337:     case IM_RETURN_F10:
2338:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
2339:       break;
2340:      
2341:     default: //Go on, must have been return that caused exit
2342:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
2343:    };//End of switch on field key returned
2344:      
2345: };
2346:
2347: // Key Actions function for Field ExtrusNonLot.Location
2348: int S007F002KeyInExit( int *iFlags )
2349: {
2350:    *iFlags = 0;//initialize overwrite flags
2351:    IMgiStatus = IM_SUCCESS;
2352:    switch ( IMCcgenv.iFldKeyStatus )
2353:    {
2354:    };//End of switch on field key returned
2355:    return IMgiStatus;          
2356: };
2357:
2358: // Exit Validation function for Field ExtrusNonLot.Location
2359: int S007F002EValidate( int *iFlags )
2360: {
2361: int iStatus = IM_SUCCESS;
2362: int iLocStatus=0, lFlags=0 ;
2363: lFlags = *iFlags ;// copy passed in flags to local variable
2364:   IMgiStatus = IM_SUCCESS;
2365: return IMgiStatus;          
2366: };
2367:
2368: // Exit Validation success function for Field ExtrusNonLot.Location
2369: void S007F002ESuccess( int iFlags )
2370: {
2371: int iLocStatus=0, lFlags=0 ;
2372:    IMCstringToSound ( "H" ) ;
2373:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2374:     IMCcgenv.iNext.iSF.iScrNum = 8;
2375:     IMCcgenv.iNext.iSF.iFldNum = 4;
2376:     IMCcgenv.iNextMove = ENV_INM_GOTO;
2377:   }// end of allow nav overwrite decision
2378: };
2379:
2380: // Exit Validation failure function for Field ExtrusNonLot.Location
2381: void S007F002EFail( int iFlags )
2382: {
2383: int iLocStatus=0, lFlags=0 ;
2384:    IMCstringToSound ( "LHL" ) ;
2385:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2386:     IMCcgenv.iNext.iSF.iScrNum = 8;
2387:     IMCcgenv.iNext.iSF.iFldNum = 3;
2388:     IMCcgenv.iNextMove = ENV_INM_GOTO;
2389:   }// end of allow nav overwrite decision
2390: };
2391:
2392: // Entry function for Field ExtrusNonLot.Quantity
2393: void S007F003OnEntry()
2394: {
2395: int iLocStatus=0, lFlags=0 ;
2396:    IMgiStatus = IM_SUCCESS;
2397: gfInsert =IM_FALSE;  //turn on overstrike
2398: };
2399:
2400: // Exit function for Field ExtrusNonLot.Quantity
2401: void S007F003OnExit()
2402: {
2403: int iFlags;
2404:    IMgiStatus = S007F003KeyInExit( &iFlags );    
2405:    if (IMgiStatus == IM_SUCCESS )                      
2406:    {                                                
2407:       IMgiStatus = S007F003EValidate( &iFlags);  
2408:       if ( IMgiStatus == IM_SUCCESS )                  
2409:         S007F003ESuccess( iFlags);            
2410:       else                                          
2411:         S007F003EFail( iFlags);              
2412:    }                                                
2413: };
2414:
2415: // Key Actions function for Field ExtrusNonLot.Quantity
2416: void S007F003Key( )
2417: {
2418: IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
2419: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
2420:    switch ( IMCcgenv.iFldKeyStatus )
2421:    {
2422:       //Validate field and possibly exit
2423:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
2424:     case IM_RETURN_BACK_TAB:
2425:       //Go to previous field
2426:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
2427:      if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2428:       IMCcgenv.iNext.iSF.iScrNum = 8;
2429:       IMCcgenv.iNext.iSF.iFldNum = 3;
2430:       IMCcgenv.iNextMove = ENV_INM_GOTO;
2431:     }// end of allow nav overwrite decision
2432:       break;
2433:
2434:     case IM_RETURN_ESC:
2435:       //Return to previous screen
2436:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
2437:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
2438:       break;
2439:
2440:      
2441:     case IM_RETURN_F1:
2442:     case IM_RETURN_F2:
2443:     case IM_RETURN_F3:
2444:     case IM_RETURN_F4:
2445:     case IM_RETURN_F5:
2446:     case IM_RETURN_F6:
2447:     case IM_RETURN_F7:
2448:     case IM_RETURN_F8:
2449:     case IM_RETURN_F9:
2450:     case IM_RETURN_F10:
2451:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
2452:       break;
2453:      
2454:     default: //Go on, must have been return that caused exit
2455:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
2456:    };//End of switch on field key returned
2457:      
2458: };
2459:
2460: // Key Actions function for Field ExtrusNonLot.Quantity
2461: int S007F003KeyInExit( int *iFlags )
2462: {
2463:    *iFlags = 0;//initialize overwrite flags
2464:    IMgiStatus = IM_SUCCESS;
2465:    switch ( IMCcgenv.iFldKeyStatus )
2466:    {
2467:    };//End of switch on field key returned
2468:    return IMgiStatus;          
2469: };
2470:
2471: // Exit Validation function for Field ExtrusNonLot.Quantity
2472: int S007F003EValidate( int *iFlags )
2473: {
2474: int iStatus = IM_SUCCESS;
2475: int iLocStatus=0, lFlags=0 ;
2476: lFlags = *iFlags ;// copy passed in flags to local variable
2477:   IMgiStatus = IM_SUCCESS;
2478: return IMgiStatus;          
2479: };
2480:
2481: // Exit Validation success function for Field ExtrusNonLot.Quantity
2482: void S007F003ESuccess( int iFlags )
2483: {
2484: int iLocStatus=0, lFlags=0 ;
2485:    IMCstringToSound ( "H" ) ;
2486:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2487:     IMCcgenv.iNext.iSF.iScrNum = 8;
2488:     IMCcgenv.iNext.iSF.iFldNum = 5;
2489:     IMCcgenv.iNextMove = ENV_INM_GOTO;
2490:   }// end of allow nav overwrite decision
2491: };
2492:
2493: // Exit Validation failure function for Field ExtrusNonLot.Quantity
2494: void S007F003EFail( int iFlags )
2495: {
2496: int iLocStatus=0, lFlags=0 ;
2497:    IMCstringToSound ( "LHL" ) ;
2498:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2499:     IMCcgenv.iNext.iSF.iScrNum = 8;
2500:     IMCcgenv.iNext.iSF.iFldNum = 4;
2501:     IMCcgenv.iNextMove = ENV_INM_GOTO;
2502:   }// end of allow nav overwrite decision
2503: };
2504:
2505: // Entry function for Field ExtrusNonLot.Lot
2506: void S007F004OnEntry()
2507: {
2508: int iLocStatus=0, lFlags=0 ;
2509:    IMgiStatus = IM_SUCCESS;
2510: gfInsert =IM_FALSE;  //turn on overstrike
2511: };
2512:
2513: // Exit function for Field ExtrusNonLot.Lot
2514: void S007F004OnExit()
2515: {
2516: int iFlags;
2517:    IMgiStatus = S007F004KeyInExit( &iFlags );    
2518:    if (IMgiStatus == IM_SUCCESS )                      
2519:    {                                                
2520:       IMgiStatus = S007F004EValidate( &iFlags);  
2521:       if ( IMgiStatus == IM_SUCCESS )                  
2522:         S007F004ESuccess( iFlags);            
2523:       else                                          
2524:         S007F004EFail( iFlags);              
2525:    }                                                
2526: };
2527:
2528: // Key Actions function for Field ExtrusNonLot.Lot
2529: void S007F004Key( )
2530: {
2531: IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
2532: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
2533:    switch ( IMCcgenv.iFldKeyStatus )
2534:    {
2535:       //Validate field and possibly exit
2536:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
2537:     case IM_RETURN_BACK_TAB:
2538:       //Go to previous field
2539:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
2540:      if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2541:       IMCcgenv.iNext.iSF.iScrNum = 8;
2542:       IMCcgenv.iNext.iSF.iFldNum = 4;
2543:       IMCcgenv.iNextMove = ENV_INM_GOTO;
2544:     }// end of allow nav overwrite decision
2545:       break;
2546:
2547:     case IM_RETURN_ESC:
2548:       //Return to previous screen
2549:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
2550:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
2551:       break;
2552:
2553:      
2554:     case IM_RETURN_F1:
2555:     case IM_RETURN_F2:
2556:     case IM_RETURN_F3:
2557:     case IM_RETURN_F4:
2558:     case IM_RETURN_F5:
2559:     case IM_RETURN_F6:
2560:     case IM_RETURN_F7:
2561:     case IM_RETURN_F8:
2562:     case IM_RETURN_F9:
2563:     case IM_RETURN_F10:
2564:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
2565:       break;
2566:      
2567:     default: //Go on, must have been return that caused exit
2568:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
2569:    };//End of switch on field key returned
2570:      
2571: };
2572:
2573: // Key Actions function for Field ExtrusNonLot.Lot
2574: int S007F004KeyInExit( int *iFlags )
2575: {
2576:    *iFlags = 0;//initialize overwrite flags
2577:    IMgiStatus = IM_SUCCESS;
2578:    switch ( IMCcgenv.iFldKeyStatus )
2579:    {
2580:    };//End of switch on field key returned
2581:    return IMgiStatus;          
2582: };
2583:
2584: // Exit Validation function for Field ExtrusNonLot.Lot
2585: int S007F004EValidate( int *iFlags )
2586: {
2587: int iStatus = IM_SUCCESS;
2588: int iLocStatus=0, lFlags=0 ;
2589: lFlags = *iFlags ;// copy passed in flags to local variable
2590:   IMgiStatus = IM_SUCCESS;
2591: if ( IM_ISSUCCESS( IMgiStatus) ){
2592:    IMgiStatus = !writenonlotno();
2593:   }
2594: return IMgiStatus;          
2595: };
2596:
2597: // Exit Validation success function for Field ExtrusNonLot.Lot
2598: void S007F004ESuccess( int iFlags )
2599: {
2600: int iLocStatus=0, lFlags=0 ;
2601:    IMCstringToSound ( "H" ) ;
2602:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2603:     IMCcgenv.iNext.iSF.iScrNum = 8;
2604:     IMCcgenv.iNext.iSF.iFldNum = 1;
2605:     IMCcgenv.iNextMove = ENV_INM_GOTO;
2606:   }// end of allow nav overwrite decision
2607: };
2608:
2609: // Exit Validation failure function for Field ExtrusNonLot.Lot
2610: void S007F004EFail( int iFlags )
2611: {
2612: int iLocStatus=0, lFlags=0 ;
2613:    IMCstringToSound ( "LHL" ) ;
2614:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2615:     IMCcgenv.iNext.iSF.iScrNum = 8;
2616:     IMCcgenv.iNext.iSF.iFldNum = 5;
2617:     IMCcgenv.iNextMove = ENV_INM_GOTO;
2618:   }// end of allow nav overwrite decision
2619: };
2620:
2621: // Entry function for Screen UpLoadData
2622: void s009OnEntry()
2623: {
2624: int iLocStatus=0, lFlags=0 ;
2625: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
2626: IMgiStatusLine = 50; // set status line this screen
2627:    IMgiStatusTime = 20000;//Time to display message
2628:  };
2629:
2630: // Exit function for Screen UpLoadData
2631: void s009OnExit()
2632: {
2633: int iLocStatus=0, lFlags=0 ;
2634:  };
2635:
2636: // Entry function for Field UpLoadData.Field0
2637: void S009F001OnEntry()
2638: {
2639: int iLocStatus=0, lFlags=0 ;
2640:    IMgiStatus = IM_SUCCESS;
2641: gfInsert =IM_FALSE;  //turn on overstrike
2642: };
2643:
2644: // Exit function for Field UpLoadData.Field0
2645: void S009F001OnExit()
2646: {
2647: int iFlags;
2648:    IMgiStatus = S009F001KeyInExit( &iFlags );    
2649:    if (IMgiStatus == IM_SUCCESS )                      
2650:    {                                                
2651:       IMgiStatus = S009F001EValidate( &iFlags);  
2652:       if ( IMgiStatus == IM_SUCCESS )                  
2653:         S009F001ESuccess( iFlags);            
2654:       else                                          
2655:         S009F001EFail( iFlags);              
2656:    }                                                
2657: };
2658:
2659: // Key Actions function for Field UpLoadData.Field0
2660: void S009F001Key( )
2661: {
2662: IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK; //go back unless key changes
2663: IMCcgenv.iNextMove = ENV_INM_INIT;//TEMP UNTIL LIBRARY FIXED
2664:    switch ( IMCcgenv.iFldKeyStatus )
2665:    {
2666:       //Validate field and possibly exit
2667:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
2668:     case IM_RETURN_BACK_TAB:
2669:       //Go to previous field
2670:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
2671:      if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2672:       IMCcgenv.iNext.iSF.iScrNum = 10;
2673:       IMCcgenv.iNext.iSF.iFldNum = 2;
2674:       IMCcgenv.iNextMove = ENV_INM_GOTO;
2675:     }// end of allow nav overwrite decision
2676:       break;
2677:
2678:     case IM_RETURN_ESC:
2679:       //Return to previous screen
2680:       IMCcgenv.iFldKeyNextMove = FLDKEY_NEXTFLD;
2681:       IMCcgenv.iNextMove       = ENV_INM_RETURN;
2682:       break;
2683:
2684:      
2685:     case IM_RETURN_F1:
2686:     case IM_RETURN_F2:
2687:     case IM_RETURN_F3:
2688:     case IM_RETURN_F4:
2689:     case IM_RETURN_F5:
2690:     case IM_RETURN_F6:
2691:     case IM_RETURN_F7:
2692:     case IM_RETURN_F8:
2693:     case IM_RETURN_F9:
2694:     case IM_RETURN_F10:
2695:       IMCcgenv.iFldKeyNextMove = FLDKEY_GOBACK;
2696:       break;
2697:      
2698:     default: //Go on, must have been return that caused exit
2699:       IMCcgenv.iFldKeyNextMove = FLDKEY_VALIDATE;
2700:    };//End of switch on field key returned
2701:      
2702: };
2703:
2704: // Key Actions function for Field UpLoadData.Field0
2705: int S009F001KeyInExit( int *iFlags )
2706: {
2707:    *iFlags = 0;//initialize overwrite flags
2708:    IMgiStatus = IM_SUCCESS;
2709:    switch ( IMCcgenv.iFldKeyStatus )
2710:    {
2711:    };//End of switch on field key returned
2712:    return IMgiStatus;          
2713: };
2714:
2715: // Exit Validation function for Field UpLoadData.Field0
2716: int S009F001EValidate( int *iFlags )
2717: {
2718: int iStatus = IM_SUCCESS;
2719: int iLocStatus=0, lFlags=0 ;
2720: lFlags = *iFlags ;// copy passed in flags to local variable
2721:   IMgiStatus = IM_SUCCESS;
2722: return IMgiStatus;          
2723: };
2724:
2725: // Exit Validation success function for Field UpLoadData.Field0
2726: void S009F001ESuccess( int iFlags )
2727: {
2728: int iLocStatus=0, lFlags=0 ;
2729:    IMCstringToSound ( "H" ) ;
2730:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2731:     IMCcgenv.iNext.iSF.iScrNum = 10;
2732:     IMCcgenv.iNext.iSF.iFldNum = 2;
2733:     IMCcgenv.iNextMove = ENV_INM_GOTO;
2734:   }// end of allow nav overwrite decision
2735: };
2736:
2737: // Exit Validation failure function for Field UpLoadData.Field0
2738: void S009F001EFail( int iFlags )
2739: {
2740: int iLocStatus=0, lFlags=0 ;
2741:    IMCstringToSound ( "LHL" ) ;
2742:    if ( IMCcgenv.iNextMove == ENV_INM_INIT ) {//set by driver, changed as nav is set
2743:     IMCcgenv.iNext.iSF.iScrNum = 10;
2744:     IMCcgenv.iNext.iSF.iFldNum = 2;
2745:     IMCcgenv.iNextMove = ENV_INM_GOTO;
2746:   }// end of allow nav overwrite decision
2747: };
2748:
2749: //  Transaction SignOn Function
2750: int SignOn ( )
2751: {
2752:
2753:   char EmptyString[] = "                    ";
2754:   int iTranStatus, iReturnValue = TRUE;
2755:
2756:   iTranStatus = IMCstandardTrx ( SignOn_TRN );
2757:
2758:   if ( iTranStatus == TRXEX_OK )
2759:   {
2760:     iReturnValue = TRUE;
2761:   }
2762:   else if ( iTranStatus == TRXEX_NACK)
2763:   {
2764:     iReturnValue = FALSE;
2765:   }
2766:   else if ( iTranStatus == TRXEX_TIMEOUT)
2767:   {
2768:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
2769:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
2770:     iReturnValue = TRUE;
2771:   }
2772:   else
2773:   {
2774:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
2775:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
2776:   };
2777:
2778:   return iReturnValue;
2779: }; // end of transaction function SignOn
2780:
2781:
2782: //  Transaction SignOff Function
2783: int SignOff ( )
2784: {
2785:
2786:   char EmptyString[] = "                    ";
2787:   int iTranStatus, iReturnValue = TRUE;
2788:
2789:   iTranStatus = IMCstandardTrx ( SignOff_TRN );
2790:
2791:   if ( iTranStatus == TRXEX_OK )
2792:   {
2793:     iReturnValue = TRUE;
2794:   }
2795:   else if ( iTranStatus == TRXEX_NACK)
2796:   {
2797:     iReturnValue = FALSE;
2798:   }
2799:   else if ( iTranStatus == TRXEX_TIMEOUT)
2800:   {
2801:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
2802:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
2803:     iReturnValue = TRUE;
2804:   }
2805:   else
2806:   {
2807:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
2808:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
2809:   };
2810:
2811:   return iReturnValue;
2812: }; // end of transaction function SignOff
2813:
2814:
2815: //  Transaction CrewErr Function
2816: int CrewErr ( )
2817: {
2818:
2819:   char EmptyString[] = "                    ";
2820:   int iTranStatus, iReturnValue = TRUE;
2821:
2822:   iTranStatus = IMCstandardTrx ( CrewErr_TRN );
2823:
2824:   if ( iTranStatus == TRXEX_OK )
2825:   {
2826:     iReturnValue = TRUE;
2827:   }
2828:   else if ( iTranStatus == TRXEX_NACK)
2829:   {
2830:     iReturnValue = FALSE;
2831:   }
2832:   else if ( iTranStatus == TRXEX_TIMEOUT)
2833:   {
2834:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
2835:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
2836:     iReturnValue = TRUE;
2837:   }
2838:   else
2839:   {
2840:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
2841:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
2842:   };
2843:
2844:   return iReturnValue;
2845: }; // end of transaction function CrewErr
2846:
2847:
2848: //  Transaction writelotno Function
2849: int writelotno ( )
2850: {
2851:
2852:   char EmptyString[] = "                    ";
2853:   int iTranStatus, iReturnValue = TRUE;
2854:
2855:   iTranStatus = IMCstandardTrx ( writelotno_TRN );
2856:
2857:   if ( iTranStatus == TRXEX_OK )
2858:   {
2859:     iReturnValue = clearfields( );
2860:   }
2861:   else if ( iTranStatus == TRXEX_NACK)
2862:   {
2863:     iReturnValue = FALSE;
2864:   }
2865:   else if ( iTranStatus == TRXEX_TIMEOUT)
2866:   {
2867:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
2868:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
2869:     iReturnValue = TRUE;
2870:   }
2871:   else
2872:   {
2873:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
2874:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
2875:   };
2876:
2877:   return iReturnValue;
2878: }; // end of transaction function writelotno
2879:
2880:
2881: //  Transaction TagErr Function
2882: int TagErr ( )
2883: {
2884:
2885:   char EmptyString[] = "                    ";
2886:   int iTranStatus, iReturnValue = TRUE;
2887:
2888:   iTranStatus = IMCstandardTrx ( TagErr_TRN );
2889:
2890:   if ( iTranStatus == TRXEX_OK )
2891:   {
2892:     iReturnValue = TRUE;
2893:   }
2894:   else if ( iTranStatus == TRXEX_NACK)
2895:   {
2896:     iReturnValue = FALSE;
2897:   }
2898:   else if ( iTranStatus == TRXEX_TIMEOUT)
2899:   {
2900:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
2901:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
2902:     iReturnValue = TRUE;
2903:   }
2904:   else
2905:   {
2906:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
2907:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
2908:   };
2909:
2910:   return iReturnValue;
2911: }; // end of transaction function TagErr
2912:
2913:
2914: //  Transaction clearfields Function
2915: int clearfields ( )
2916: {
2917:
2918:   char EmptyString[] = "                    ";
2919:   int iTranStatus, iReturnValue = TRUE;
2920:
2921:   iTranStatus = IMCstandardTrx ( clearfields_TRN );
2922:
2923:   if ( iTranStatus == TRXEX_OK )
2924:   {
2925:     iReturnValue = clrextrustagno( );
2926:   }
2927:   else if ( iTranStatus == TRXEX_NACK)
2928:   {
2929:     iReturnValue = FALSE;
2930:   }
2931:   else if ( iTranStatus == TRXEX_TIMEOUT)
2932:   {
2933:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
2934:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
2935:     iReturnValue = TRUE;
2936:   }
2937:   else
2938:   {
2939:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
2940:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
2941:   };
2942:
2943:   return iReturnValue;
2944: }; // end of transaction function clearfields
2945:
2946:
2947: //  Transaction clrextrustagno Function
2948: int clrextrustagno ( )
2949: {
2950:
2951:   char EmptyString[] = "                    ";
2952:   int iTranStatus, iReturnValue = TRUE;
2953:
2954:   iTranStatus = IMCstandardTrx ( clrextrustagno_TRN );
2955:
2956:   if ( iTranStatus == TRXEX_OK )
2957:   {
2958:     iReturnValue = clrextruspartno( );
2959:   }
2960:   else if ( iTranStatus == TRXEX_NACK)
2961:   {
2962:     iReturnValue = FALSE;
2963:   }
2964:   else if ( iTranStatus == TRXEX_TIMEOUT)
2965:   {
2966:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
2967:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
2968:     iReturnValue = TRUE;
2969:   }
2970:   else
2971:   {
2972:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
2973:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
2974:   };
2975:
2976:   return iReturnValue;
2977: }; // end of transaction function clrextrustagno
2978:
2979:
2980: //  Transaction clrextruspartno Function
2981: int clrextruspartno ( )
2982: {
2983:
2984:   char EmptyString[] = "                    ";
2985:   int iTranStatus, iReturnValue = TRUE;
2986:
2987:   iTranStatus = IMCstandardTrx ( clrextruspartno_TRN );
2988:
2989:   if ( iTranStatus == TRXEX_OK )
2990:   {
2991:     iReturnValue = clrextruslocat( );
2992:   }
2993:   else if ( iTranStatus == TRXEX_NACK)
2994:   {
2995:     iReturnValue = FALSE;
2996:   }
2997:   else if ( iTranStatus == TRXEX_TIMEOUT)
2998:   {
2999:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3000:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
3001:     iReturnValue = TRUE;
3002:   }
3003:   else
3004:   {
3005:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3006:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
3007:   };
3008:
3009:   return iReturnValue;
3010: }; // end of transaction function clrextruspartno
3011:
3012:
3013: //  Transaction clrextruslocat Function
3014: int clrextruslocat ( )
3015: {
3016:
3017:   char EmptyString[] = "                    ";
3018:   int iTranStatus, iReturnValue = TRUE;
3019:
3020:   iTranStatus = IMCstandardTrx ( clrextruslocat_TRN );
3021:
3022:   if ( iTranStatus == TRXEX_OK )
3023:   {
3024:     iReturnValue = clrextrusqty( );
3025:   }
3026:   else if ( iTranStatus == TRXEX_NACK)
3027:   {
3028:     iReturnValue = FALSE;
3029:   }
3030:   else if ( iTranStatus == TRXEX_TIMEOUT)
3031:   {
3032:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3033:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
3034:     iReturnValue = TRUE;
3035:   }
3036:   else
3037:   {
3038:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3039:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
3040:   };
3041:
3042:   return iReturnValue;
3043: }; // end of transaction function clrextruslocat
3044:
3045:
3046: //  Transaction clrextrusqty Function
3047: int clrextrusqty ( )
3048: {
3049:
3050:   char EmptyString[] = "                    ";
3051:   int iTranStatus, iReturnValue = TRUE;
3052:
3053:   iTranStatus = IMCstandardTrx ( clrextrusqty_TRN );
3054:
3055:   if ( iTranStatus == TRXEX_OK )
3056:   {
3057:     iReturnValue = clrextruslotno( );
3058:   }
3059:   else if ( iTranStatus == TRXEX_NACK)
3060:   {
3061:     iReturnValue = FALSE;
3062:   }
3063:   else if ( iTranStatus == TRXEX_TIMEOUT)
3064:   {
3065:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3066:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
3067:     iReturnValue = TRUE;
3068:   }
3069:   else
3070:   {
3071:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3072:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
3073:   };
3074:
3075:   return iReturnValue;
3076: }; // end of transaction function clrextrusqty
3077:
3078:
3079: //  Transaction clrextruslotno Function
3080: int clrextruslotno ( )
3081: {
3082:
3083:   char EmptyString[] = "                    ";
3084:   int iTranStatus, iReturnValue = TRUE;
3085:
3086:   iTranStatus = IMCstandardTrx ( clrextruslotno_TRN );
3087:
3088:   if ( iTranStatus == TRXEX_OK )
3089:   {
3090:     iReturnValue = TRUE;
3091:   }
3092:   else if ( iTranStatus == TRXEX_NACK)
3093:   {
3094:     iReturnValue = FALSE;
3095:   }
3096:   else if ( iTranStatus == TRXEX_TIMEOUT)
3097:   {
3098:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3099:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
3100:     iReturnValue = TRUE;
3101:   }
3102:   else
3103:   {
3104:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3105:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
3106:   };
3107:
3108:   return iReturnValue;
3109: }; // end of transaction function clrextruslotno
3110:
3111:
3112: //  Transaction clrnonlottag Function
3113: int clrnonlottag ( )
3114: {
3115:
3116:   char EmptyString[] = "                    ";
3117:   int iTranStatus, iReturnValue = TRUE;
3118:
3119:   iTranStatus = IMCstandardTrx ( clrnonlottag_TRN );
3120:
3121:   if ( iTranStatus == TRXEX_OK )
3122:   {
3123:     iReturnValue = clrnonlotpart( );
3124:   }
3125:   else if ( iTranStatus == TRXEX_NACK)
3126:   {
3127:     iReturnValue = FALSE;
3128:   }
3129:   else if ( iTranStatus == TRXEX_TIMEOUT)
3130:   {
3131:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3132:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
3133:     iReturnValue = TRUE;
3134:   }
3135:   else
3136:   {
3137:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3138:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
3139:   };
3140:
3141:   return iReturnValue;
3142: }; // end of transaction function clrnonlottag
3143:
3144:
3145: //  Transaction clrnonlotpart Function
3146: int clrnonlotpart ( )
3147: {
3148:
3149:   char EmptyString[] = "                    ";
3150:   int iTranStatus, iReturnValue = TRUE;
3151:
3152:   iTranStatus = IMCstandardTrx ( clrnonlotpart_TRN );
3153:
3154:   if ( iTranStatus == TRXEX_OK )
3155:   {
3156:     iReturnValue = clrnonlotloc( );
3157:   }
3158:   else if ( iTranStatus == TRXEX_NACK)
3159:   {
3160:     iReturnValue = FALSE;
3161:   }
3162:   else if ( iTranStatus == TRXEX_TIMEOUT)
3163:   {
3164:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3165:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
3166:     iReturnValue = TRUE;
3167:   }
3168:   else
3169:   {
3170:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3171:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
3172:   };
3173:
3174:   return iReturnValue;
3175: }; // end of transaction function clrnonlotpart
3176:
3177:
3178: //  Transaction writenonlotno Function
3179: int writenonlotno ( )
3180: {
3181:
3182:   char EmptyString[] = "                    ";
3183:   int iTranStatus, iReturnValue = TRUE;
3184:
3185:   iTranStatus = IMCstandardTrx ( writenonlotno_TRN );
3186:
3187:   if ( iTranStatus == TRXEX_OK )
3188:   {
3189:     iReturnValue = clearfields2( );
3190:   }
3191:   else if ( iTranStatus == TRXEX_NACK)
3192:   {
3193:     iReturnValue = FALSE;
3194:   }
3195:   else if ( iTranStatus == TRXEX_TIMEOUT)
3196:   {
3197:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3198:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
3199:     iReturnValue = TRUE;
3200:   }
3201:   else
3202:   {
3203:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3204:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
3205:   };
3206:
3207:   return iReturnValue;
3208: }; // end of transaction function writenonlotno
3209:
3210:
3211: //  Transaction clearfields2 Function
3212: int clearfields2 ( )
3213: {
3214:
3215:   char EmptyString[] = "                    ";
3216:   int iTranStatus, iReturnValue = TRUE;
3217:
3218:   iTranStatus = IMCstandardTrx ( clearfields2_TRN );
3219:
3220:   if ( iTranStatus == TRXEX_OK )
3221:   {
3222:     iReturnValue = clrnonlottag( );
3223:   }
3224:   else if ( iTranStatus == TRXEX_NACK)
3225:   {
3226:     iReturnValue = FALSE;
3227:   }
3228:   else if ( iTranStatus == TRXEX_TIMEOUT)
3229:   {
3230:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3231:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
3232:     iReturnValue = TRUE;
3233:   }
3234:   else
3235:   {
3236:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3237:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
3238:   };
3239:
3240:   return iReturnValue;
3241: }; // end of transaction function clearfields2
3242:
3243:
3244: //  Transaction clrnonlotloc Function
3245: int clrnonlotloc ( )
3246: {
3247:
3248:   char EmptyString[] = "                    ";
3249:   int iTranStatus, iReturnValue = TRUE;
3250:
3251:   iTranStatus = IMCstandardTrx ( clrnonlotloc_TRN );
3252:
3253:   if ( iTranStatus == TRXEX_OK )
3254:   {
3255:     iReturnValue = clrnonlotqty( );
3256:   }
3257:   else if ( iTranStatus == TRXEX_NACK)
3258:   {
3259:     iReturnValue = FALSE;
3260:   }
3261:   else if ( iTranStatus == TRXEX_TIMEOUT)
3262:   {
3263:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3264:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
3265:     iReturnValue = TRUE;
3266:   }
3267:   else
3268:   {
3269:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3270:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
3271:   };
3272:
3273:   return iReturnValue;
3274: }; // end of transaction function clrnonlotloc
3275:
3276:
3277: //  Transaction clrnonlotqty Function
3278: int clrnonlotqty ( )
3279: {
3280:
3281:   char EmptyString[] = "                    ";
3282:   int iTranStatus, iReturnValue = TRUE;
3283:
3284:   iTranStatus = IMCstandardTrx ( clrnonlotqty_TRN );
3285:
3286:   if ( iTranStatus == TRXEX_OK )
3287:   {
3288:     iReturnValue = clrnonlotlotcode( );
3289:   }
3290:   else if ( iTranStatus == TRXEX_NACK)
3291:   {
3292:     iReturnValue = FALSE;
3293:   }
3294:   else if ( iTranStatus == TRXEX_TIMEOUT)
3295:   {
3296:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3297:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
3298:     iReturnValue = TRUE;
3299:   }
3300:   else
3301:   {
3302:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3303:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
3304:   };
3305:
3306:   return iReturnValue;
3307: }; // end of transaction function clrnonlotqty
3308:
3309:
3310: //  Transaction clrnonlotlotcode Function
3311: int clrnonlotlotcode ( )
3312: {
3313:
3314:   char EmptyString[] = "                    ";
3315:   int iTranStatus, iReturnValue = TRUE;
3316:
3317:   iTranStatus = IMCstandardTrx ( clrnonlotlotcode_TRN );
3318:
3319:   if ( iTranStatus == TRXEX_OK )
3320:   {
3321:     iReturnValue = TRUE;
3322:   }
3323:   else if ( iTranStatus == TRXEX_NACK)
3324:   {
3325:     iReturnValue = FALSE;
3326:   }
3327:   else if ( iTranStatus == TRXEX_TIMEOUT)
3328:   {
3329:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3330:     imc_timed_status_line ( "Timed out", IMgiStatusTime, IMgiStatusLine );
3331:     iReturnValue = TRUE;
3332:   }
3333:   else
3334:   {
3335:     im_status_line ( EmptyString, IM_FALSE, IMgiStatusLine );
3336:     imc_timed_status_line ( "Err: Invalid Status ", IMgiStatusTime, IMgiStatusLine );
3337:   };
3338:
3339:   return iReturnValue;
3340: }; // end of transaction function clrnonlotlotcode
3341:
3342: /*---------------------------------------------------- */
3343: /*             Main function                           */
3344: /*---------------------------------------------------- */
3345:
3346: void main()
3347: {
3348:    //Initialize the file structures
3349: UF_c_crews_val.imHandle = NULL;
3350: UF_c_crews_val.imPosition = -1;
3351: UF_c_crews_val.iFileType = FTY_PLAIN;
3352: UF_c_crews_val.iFileFlags = 0;
3353: UF_c_crews_val.pszFileName ="c:crews.val";
3354:
3355: UF_c_lotno_txt.imHandle = NULL;
3356: UF_c_lotno_txt.imPosition = -1;
3357: UF_c_lotno_txt.iFileType = FTY_PLAIN;
3358: UF_c_lotno_txt.iFileFlags = 0;
3359: UF_c_lotno_txt.pszFileName ="c:lotno.txt";
3360:
3361: UF_c_nonlotno_txt.imHandle = NULL;
3362: UF_c_nonlotno_txt.imPosition = -1;
3363: UF_c_nonlotno_txt.iFileType = FTY_PLAIN;
3364: UF_c_nonlotno_txt.iFileFlags = 0;
3365: UF_c_nonlotno_txt.pszFileName ="c:nonlotno.txt";
3366:
3367: UF_c_physical_txt.imHandle = NULL;
3368: UF_c_physical_txt.imPosition = -1;
3369: UF_c_physical_txt.iFileType = FTY_PLAIN;
3370: UF_c_physical_txt.iFileFlags = 0;
3371: UF_c_physical_txt.pszFileName ="c:physical.txt";
3372:
3373: UF_c_test_txt.imHandle = NULL;
3374: UF_c_test_txt.imPosition = -1;
3375: UF_c_test_txt.iFileType = FTY_PLAIN;
3376: UF_c_test_txt.iFileFlags = 0;
3377: UF_c_test_txt.pszFileName ="c:test.txt";
3378:
3379: UF_E_DEFBATCH_STB.imHandle = NULL;
3380: UF_E_DEFBATCH_STB.imPosition = -1;
3381: UF_E_DEFBATCH_STB.iFileType = FTY_STANDBY;
3382: UF_E_DEFBATCH_STB.iFileFlags = 0;
3383: UF_E_DEFBATCH_STB.pszFileName ="E:DEFBATCH.STB";
3384:
3385:
3386:    //Initialize the environment
3387:    IMCinitcgenv();
3388:
3389:    //Call the applications On Entry code
3390:    A000OnEntry();
3391:
3392:    //Call the main navigation control
3393: IMgiStatusLine = 50; //force to bottom by default
3394: gfInsert =IM_FALSE;
3395:    IMCscreenMach();
3396:
3397:    // Call the applications exit routine
3398:    A000OnExit();
3399: }
3400:
0
 
LVL 16

Accepted Solution

by:
imladris earned 180 total points
Comment Utility
Sorry, I can see why you hesitated to post it. I hope this doesn't make the question inaccessible to some of the other participants. If so, leave a note, and maybe we can move the remainder of the interaction to a new question.

Anyway, I pasted the stuff into an editor and poked around some. I can't seem to find the bits I'm interested in.

1) The offending function: ExtTagNum doesn't appear to be defined anywhere in there.

2) The place where the data is acquired. How does it come in? Is it being read from a file (that's what I had been assuming)? Or is it user input (all the references the function keys got me thinking)?

3) I also asked for some sample data. Is that possible? Maybe not if it is user input.
0
 

Author Comment

by:csindorf
Comment Utility
The only reason I am closing this is because of its length and that I found a work around.  So I am giving the points to the first person who posted a comment way at the top.

Thanks for all the help and I did learn other things from the others code.

CraigS
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Summary: This tutorial covers some basics of pointer, pointer arithmetic and function pointer. What is a pointer: A pointer is a variable which holds an address. This address might be address of another variable/address of devices/address of fu…
This is a short and sweet, but (hopefully) to the point article. There seems to be some fundamental misunderstanding about the function prototype for the "main" function in C and C++, more specifically what type this function should return. I see so…
The goal of this video is to provide viewers with basic examples to understand how to use strings and some functions related to them in the C programming language.
Video by: Grant
The goal of this video is to provide viewers with basic examples to understand and use nested-loops in the C programming language.

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now