INHUSEN6 ;KN,DGH; 11 Nov 1999 16:52 ;Main X12 processing logic
Source file <INHUSEN6.m>
| Package | Total | Caller Graph | 
|---|---|---|
| IHS Generic Interface System | 1 | INHUSEN | 
| Name | Comments | DBIA/ICR reference | 
|---|---|---|
| ACK | ;Process Interchange Ack and quit back to transceiver routine. | |
| X12IN(ING,INDEST,INDSTR,INSEND,INERR,INXDST,INMSG,INLHSCH,INSTAT,INNOACK) | ;X12 ; DESCRIPTION: ; This is the primary entry function to process all incoming ; transmissions. The main functions for this entry are: ; 1. Verify all needed headers are present (see VERIF^ ; INHUSEN7) and determine type of incoming transmission. ; 2. Based on types of incoming transmission. ; - Incoming transmission is an Interchange Ack (TA1 or FA) ; Evaluate the result, store the Ack, and update the ; original transmission status. ; - Incoming transmission is response to query. ; (The Transaction Set may contain a Response (271) or ; an Unsolicited message) - Determine destination and file ; into Output Controller for further processing. If ; Interchange Ack (TA1 or 997) is required, create and send. ; Parameters: ; Input: ; ING = (REQ) Variable array/global containing lines from transmission ; INDEST = Array of valid destinations in format INDEST(type) = .01 ; field of Transaction Type. This is not required if ; processing incoming ACKS. ; INDSTR = (REQ) Receiver dest. pointer -- $P(^INTHPC(INBPN,0),U,7) ; INXDST = (OPT) EXecutable code to identify the destination for ; msgs which won't be uniquely identified. The ; executable must return the ien in the variable INDSTP. ; INLHSCH = (OPT) Set to 1 if the incoming msg should not be ; placed on the output controller queue, ^INLHSCH. If ; not specified, this routine will determine the ; conditions under which a msg is queued. | |
| STORE | ;Store incoming xmission in the Universal Interface file | 
| Name | Line Occurrences (* Changed, ! Killed) | 
|---|---|
| ^INRHD - [#4005] | X12IN+71, ACK+6 | 
| ^INRHD("B" | X12IN+61 | 
| Name | Line Occurrences | 
|---|---|
| STORE | X12IN+62, X12IN+73 | 
| >> | Not killed explicitly | 
| * | Changed | 
| ! | Killed | 
| ~ | Newed | 
| Name | Field # of Occurrence | 
|---|---|
| >> CERR | ACK+10*, ACK+11 | 
| >> CND | ACK+6* | 
| >> INDEBUG | X12IN+49, X12IN+54, X12IN+67, ACK+1 | 
| INDELIM | X12IN+47~ | 
| INDEST | X12IN~ | 
| >> INDST | X12IN+61*, X12IN+71* | 
| >> INDSTP | X12IN+61*, X12IN+69, X12IN+71 | 
| INDSTR | X12IN~, ACK+6, ACK+10 | 
| INERR | X12IN~, X12IN+50, X12IN+66, X12IN+69 | 
| ING | X12IN~, X12IN+50 | 
| INLHSCH | X12IN~, X12IN+61* | 
| INLINK | X12IN+47~, X12IN+50, X12IN+62, X12IN+77 | 
| INMSG | X12IN~, X12IN+62, X12IN+77, ACK+8 | 
| >> INMSH | STORE+6* | 
| INNOACK | X12IN~, ACK+4 | 
| INSEND | X12IN~, ACK+10 | 
| INSTAT | X12IN~, X12IN+50, X12IN+52*, X12IN+62 | 
| INSUBDEL | X12IN+47~ | 
| INTA | X12IN+47~, X12IN+50, ACK+10 | 
| >> INTYP | X12IN+50, X12IN+54, X12IN+59 | 
| >> INVL | X12IN+50*, X12IN+53, X12IN+54, X12IN+59, X12IN+64, X12IN+66*, X12IN+69*, ACK+11 | 
| INXDST | X12IN~, X12IN+66, X12IN+67, X12IN+68 | 
| >> MESSID | X12IN+55* | 
| >> MSG | X12IN+69 | 
| >> MSG(1 | X12IN+69* | 
| >> ORIGID | X12IN+50, X12IN+55, X12IN+69, ACK+10 | 
| U | X12IN+71, ACK+6 | 
| >> XUAUDIT | ACK+8 |