PCard and Crossover Attributes

This page briefly explains the design pertaining to the PCard and MR Crossover attributes. The entire flow includes the Labor, MR, PR, and PO packages.

  1. The attributes pcardnum, pcardtype, pcardexpdate, and pcardverification have been added to the following tables:
    Labor, MR, MRLine, PR, PRLine, POLine. (NOT PO HEADER!!!)
  2. Field validation for MR.RequestedBy will copy pcard* from Labor to MR (where labor.laborcode = mr.requestedby).
    Also copy LA21-25 to MRLA1-MRLA5.
  3. The MRLine pcard* attributes will be null if all four equal the MR header values.
    MRLine pcard* will be non-null ONLY when overriding the header.
    The four pcard* attributes work together as a group; if one of the line's pcard* attributes is non-null, then all four of the line's pcard* attributes are in effect for that line, whether or not some of them are null. You do not combine one attribute from the line with another attribute from the header.
  4. If the user changes the MRLine and then changes MR, the MRLine is not affected.
    The user would have to go back and explicitly change the MRLine, if needed.
  5. There is a one-to-one relationship between PR and MR.
    When creating PR from MR, copy the pcard* from MR to PR.
    Also copy MRLA1-MRLA5 to PRLA1-PRLA5.
  6. There is a one-to-one relationship between PRLine and MRLine.
    When creating PRLine from MRLine, copy pcard* from MRLine to PRLine.
    Also copy MRLALN1-MRLALN5 to PRLALN1-PRLALN5.
  7. Same as #2, #3 and #4, but pertaining to PR and PRLine.
  8. There is a one-to-one relationship between POLine and PRLine.
    A PO can have lines that were created from different PRs.
    When creating POLine from PRLine, the code does the following: