The purpose of this document is to explain as-is functionality of CancelPurchaseOrder (N4301900, Cancel Purchase Order). Currently there is no batch application which enable you to close/cancel multiple orders. If applicable, you can perform same action through business service processPurchasaeOrder with actionType = 3 (D, or Cancel).
CancelPurchaseOrderPurpose: the purpose of this document is to help user to understand the NER N4301900 (Cancel Purchase Order) which is a wrapper function to call F4311EditLine (XT4311Z1, F4311 Edit Line) with parameters for cancellation of existing order. In reality, XT4311Z1 does not handle cache/workfile for purchase order detail line(s) rather action routine is written in F4311EditLineInternalFunctions (XT4311Z2, F4311 Edit Line Internal Functions). So this document shall explain routine which is specific to cDetailActionCode = 'D - Cancel'.
Note that the wrapper function N4301900 does not commit cache/workfile updated through this routine, so user must click OK button to commit the change made through Edit Line routine. To commit the change made, you have to call F4311EndDoc explicitly to commit the data validated/defaulted via CancelPurchaseOrder.
Business Function
CancelPurchaseOrder (N4301900, Cancel Purchase Order)
Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both | Others |
mnOrderNumber | DOCO | MATH_NUMERIC | OPT | INPUT | F4311.DOCO, Key for order F4301/F4311 |
szOrderType | DCTO | char | OPT | INPUT | F4301.DCTO |
szDocumentCompany | KCOO | char | OPT | INPUT | F4301.KCOO |
szOrderSuffix | SFXO | char | OPT | NONE | Not In Use |
mnOrderLineNumber | LNID | MATH_NUMERIC | OPT | NONE | Not In Use |
idPointerToF4311DataStructure | GENLNG | ID | OPT | NONE | Not In Use |
cReturnFlag | EV01 | char | OPT | OUT | 1 - SUCCESS 0 - Error (Edit Line Routine ends in error) |
cErrorCode | ERR | char | OPT | NONE | Not In Use |
cCallType | EV02 | char | OPT | NONE | Not In Use |
szErrorMessageID | DTAI | char | OPT | NONE | Not In Use |
cSuppressErrorMessage | EV01 | char | OPT | IN | 1 - To suppress Error which may be returned by F4311EditLine |
mnJobnumberA | JOBS | MATH_NUMERIC | OPT | BOTH | Key for cache/workfile |
szComputerID | CTID | char | OPT | BOTH | Key for cache/workfile Client's machine name |
mnProcessID | PEID | MATH_NUMERIC | OPT | BOTH | Key for cache/workfile |
mnTransactionID | TCID | MATH_NUMERIC | OPT | BOTH | Key for cache/workfile so these are |
cCurrencyMode | CRRM | char | OPT | IN | F4301.CRRM |
szStatusCodeNext | NXTR | char | OPT | IN | PO szLastStatusAllowingChange |
cBeginDocCalled | EV01 | char | OPT | OUT | VA evt_cBeginDocCalled. The reason for this validation is that BeginDoc can be called either in P4310 or through F4311EditLine. |
Simplified routine for cancelling purchase order:
1. CancelPurchaseOrder (N4301900, Cancel Purchase Order)
2. F4311EditLine (XT4311Z1, F4311 Edit Line) --> Refer to below business function
3. RetrieveProcessAndTransactionID (B0001060, Retrieve Process and Transaction IDs)
3. GetPurchaseOrderHeader (B4300130, F4301 Get Purchase Order Header Row)
3. F4311FSBeginDoc (F4311FSBeginDoc (XT4311Z1, F4311 Begin Document))
3. CacheProcessPOHeaderCache (B4302180, Purchase Order Header Cache Function)
3. CalculatePurchasePrice (B4500250, Calculate Purchase Price)
...
1. F4311EditDoc (XT4311Z1, F4311 Edit Doc)
1. F4311EndDoc (XT4311Z1, F4311 End Document):Record down Machine Name and Job Number returned by Edit Line and call this routine explicitly to commit change made to the database.
F4311EditLine (XT4311Z2 - F4311 Edit Line)
Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both | Others |
mnJobNumber | JOBS | MATH_NUMERIC | OPT | Both | N4301900.mnJobNumberA |
szComputerID | CTID | char | OPT | Both | N4301900.szComputerID |
mnOrderLineNumber | LNID | MATH_NUMERIC | OPT | Both | F4311.LNID |
cDetailActionCode | ACTN | char | OPT | IN | 'D - for Deletion/Cancellation'. This is represented as '3' in XT4311Z2.c |
cProcessEdits | EV01 | char | OPT | IN | '1 - for Full Edit' |
cUpdateOrWriteWorkFile | EV01 | char | OPT | IN | '2 - To update Cache - F4311Z' |
cRecordWrittenToWorkFile | EV01 | char | OPT | IN | '0 - Not to write the physial file' |
cSuppressErrorMessages | EV01 | char | OPT | NONE | |
cCurrencyProcessingFlag | CRYR | char | OPT | IN | SL CurrencyProcessing |
szPurchaseOrderPrOptVersion | VL01 | char | OPT | IN | SL VersionName |
szOrderCompany | KCOO | char | OPT | IN | F4301.KCOO |
mnOrderNumber | DOCO | MATH_NUMERIC | OPT | IN | F4311.DOCO |
szOrderType | DCTO | char | OPT | IN | F4301.DCTO |
szOrderSuffix | SFXO | char | OPT | NONE | F4311.SFXO |
szBranchPlant | MCU | char | OPT | NONE | F4301.MCU |
szOriginalOrderCompany | OKCO | char | OPT | NONE | F4311.OKCO |
szOriginalOrderNumber | OORN | char | OPT | NONE | F4311.OORN |
szOriginalOrderType | OCTO | char | OPT | NONE | F4311.OCTO |
mnOriginalLineNumber | OGNO | MATH_NUMERIC | OPT | NONE | F4311.OGNO |
szRelatedOrderCompany | RKCO | char | OPT | NONE | F4311.RKCO |
szRelatedOrderNumber | RORN | char | OPT | NONE | F4311.RORN |
szRelatedOrderType | RCTO | char | OPT | NONE | F4311.RCTO |
mnRelatedOrderLine | RLLN | MATH_NUMERIC | OPT | NONE | F4311.RLLN |
mnSupplierNumber | AN8 | MATH_NUMERIC | OPT | NONE | F4311.AN8 |
mnShipToNumber | SHAN | MATH_NUMERIC | OPT | NONE | F4311.SHAN |
jdRequestedDate | DRQJ | JDEDATE | OPT | NONE | F4311.DRQJ |
jdTransactionDate | TRDJ | JDEDATE | OPT | NONE | F4311.TRDJ |
jdPromisedDate | PDDJ | JDEDATE | OPT | NONE | F4311.PDDJ |
jdCancelDate | CNDJ | JDEDATE | OPT | NONE | F4311.CNDJ is this is NULL then set system date |
jdGLDate | DGL | JDEDATE | OPT | NONE | F4311.DGL |
szUnformattedItemNumber | UITM | char | OPT | NONE | F4311.UITM = LITM |
mnQuantityOrdered | UORG | MATH_NUMERIC | OPT | NONE | F4311.UORG |
mnUnitPrice | PRRC | MATH_NUMERIC | OPT | NONE | F4311.PRRC |
cPriceOverrideFlag | PROV | char | OPT | NONE | F4311.PROV |
mnExtendedPrice | AEXP | MATH_NUMERIC | OPT | NONE | F4311.AEXP |
szLineType | LNTY | char | OPT | NONE | F4311.LNTY |
szDescription1 | DSC1 | char | OPT | NONE | F4311.DCS1 |
szDescription2 | DSC2 | char | OPT | NONE | F4311.DCS2 |
szAssetID | ASID | char | OPT | NONE | F4311.ASID |
szDetailLineBranchPlant | MCU | char | OPT | NONE | F4311.MCU |
szLocation | LOCN | char | OPT | NONE | F4311.LOCN |
szLotNumber | LOTN | char | OPT | NONE | F4311.LOTN |
szTransactionUoM | UOM | char | OPT | NONE | F4311.UOM |
szPurchasingUoM | UOM3 | char | OPT | NONE | F4311.UOM1 |
szLastStatus | LTTR | char | OPT | NONE | F4311.LTTR |
szNextStatus | NXTR | char | OPT | NONE | F4311.NXTR |
szUnformattedAccountNumber | ANI | char | OPT | NONE | F4311.ANI |
szSubledger | SBL | char | OPT | NONE | F4311.SBL |
cSubledgerType | SBLT | char | OPT | NONE | F4311.SBLT |
mnDiscountFactor | DSPR | MATH_NUMERIC | OPT | NONE | F4311.DSPR |
szCatalogNumber | CATN | char | OPT | NONE | F4311.CATN |
szInventoryPriceRule | PRGR | char | OPT | NONE | F4311.PRGR |
szPriceLevel | CLVL | char | OPT | NONE | F4311.CLVL |
szPrintMessage | INMG | char | OPT | NONE | F4311.INMG |
cTaxable | TX | char | OPT | NONE | F4311.TX |
szTaxExplanationCode | EXR1 | char | OPT | NONE | F4311.EXR1 |
szTaxRateArea | TXA1 | char | OPT | NONE | F4311.TXA1 |
szGLClassCode | GLPT | char | OPT | NONE | F4311.GLC |
mnBuyerNumber | ANBY | MATH_NUMERIC | OPT | NONE | F4311.ANBY |
mnCarrierNumber | ANCR | MATH_NUMERIC | OPT | NONE | F4311.ANCR |
szPurchasingCategoryCode1 | PDP1 | char | OPT | NONE | F4311.PDP1 |
szPurchasingCategoryCode2 | PDP2 | char | OPT | NONE | F4311.PDP2 |
szPurchasingCategoryCode3 | PDP3 | char | OPT | NONE | F4311.PDP3 |
szPurchasingCategoryCode4 | PDP4 | char | OPT | NONE | F4311.PDP4 |
szLandedCostRule | PRP5 | char | OPT | NONE | F4311.PDP5 |
mnWeight | ITWT | MATH_NUMERIC | OPT | NONE | F4311.ITWT |
szWeightUoM | WTUM | char | OPT | NONE | F4311.WTUM |
mnVolume | ITVL | MATH_NUMERIC | OPT | NONE | F4311.ITVL |
szVolumeUoM | VLUM | char | OPT | NONE | F4311.VLUM |
szReference1 | VR01 | char | OPT | NONE | F4311.VR01 |
szReference2 | VR02 | char | OPT | NONE | F4311.VR02 |
cSendMethod | CRMD | char | OPT | NONE | F4311.CRMD |
cFreezeCode | UNCD | char | OPT | NONE | F4311.UNCD |
cEvaluatedReceipts | AVCH | char | OPT | NONE | F4311.AVCH |
cInventoryInterface | IVI | char | OPT | NONE | F4311.IVI |
cCurrencyMode | CRRM | char | OPT | NONE | SL CurrencyMode |
szTransactionCurrencyCode | CRCD | char | OPT | NONE | F4311.CRCD |
mnCurrencyExchangeRate | CRR | MATH_NUMERIC | OPT | NONE | F4311.CRR |
szBaseCurrencyCode | CRDC | char | OPT | NONE | N/A |
cRelievePOBlanketOrder | EV01 | char | OPT | OUT | evt_cGetBlanket_EV01 |
cAddNewLineToExistingOrder | EV01 | char | OPT | OUT | VA evt_cAddNewLntoExistOrder_EV01 |
cSourceRequestingPOGeneration | POGS | char | OPT | NONE | 0 - Hard Coded |
szProgramID | PID | char | OPT | NONE | EP4310 - Hard Coded |
szUserID | USER | char | OPT | NONE | GetAuditInfo.szUserID |
cMultipleBlanketProcessing | EV02 | char | OPT | OUT | N/A |
mnUniqueKey | UKID | MATH_NUMERIC | OPT | IN | F4311.UKID (outside operation) |
cSourceOfDataFlag | EV01 | char | OPT | NONE | N/A |
mnSourceOfDataOrderNumber | DOCO | MATH_NUMERIC | OPT | NONE | N/A |
szSourceOfDataOrderType | DCTO | char | OPT | NONE | N/A |
szSourceOfDataCompany | KCOO | char | OPT | NONE | N/A |
mnSourceOfDataLineNumber | LNID | MATH_NUMERIC | OPT | NONE | N/A |
mnSourceOfDataUnitsOpen | UOPN | MATH_NUMERIC | OPT | NONE | N/A |
szPaymentTerms | PTC | char | OPT | NONE | F4311.PTC |
szFreightHandlingCode | FRTH | char | OPT | NONE | N/A |
szUserReservedCode | URCD | char | OPT | NONE | N/A |
jdUserReservedDate | URDT | JDEDATE | OPT | NONE | N/A |
mnUserReservedAmount | URAT | MATH_NUMERIC | OPT | NONE | N/A |
mnUserReservedNumber | URAB | MATH_NUMERIC | OPT | NONE | N/A |
szUserReservedReference | URRF | char | OPT | NONE | N/A |
szAgreementNumber | DMCT | char | OPT | NONE | F4311.DMCT |
mnAgreementSupplement | DMCS | MATH_NUMERIC | OPT | NONE | F4311.DMCS |
mnContractsFound | AFND | MATH_NUMERIC | OPT | NONE | F4311.AFND |
mnSequenceNumber1 | SEQ | MATH_NUMERIC | OPT | NONE | F4311.SEQ |
szProductSource | PSR | char | OPT | NONE | F4311.PSR |
szProductSourceType | PSRY | char | OPT | NONE | F4311.PSRY |
jdEffectiveDate | PEFJ | JDEDATE | OPT | NONE | F4311.PEFJ |
jdPhysicalCompletionDate | ADDJ | JDEDATE | OPT | NONE | F4311.ADDJ |
szPurchasingCostCenter | OMCU | char | OPT | NONE | F4311.OMCU |
szObjectAccount | OBJ | char | OPT | NONE | F4311.OBJ |
szSubsidiary | SUB | char | OPT | NONE | F4311.SUB |
szOriginalOrderSuffix | SFX0 | char | OPT | NONE | F4311.OSFX |
cMessageCde | MSGT | char | OPT | NONE | N/A |
szMaterialStatusCodeWo | MTST | char | OPT | NONE | N/A |
cStockingType | STKT | char | OPT | NONE | F4311.STKT |
cKitsMethodofPriceCalculation | PMTH | char | OPT | NONE | F4311.PMTH |
szItemNumberRelatedKit | RLIT | char | OPT | NONE | F4311.RLIT |
mnLineNum | LINN | MATH_NUMERIC | OPT | NONE | N/A |
szAdjustmentSchedule | ASN | char | OPT | NONE | F4311.ASN |
mnAdjustmentRevisionLevel | AREV | MATH_NUMERIC | OPT | NONE | F4311.AREV |
cFreeGoodIndicator | EV12 | char | OPT | NONE | N/A |
cAdvPriceCalledFlag | EV13 | char | OPT | NONE | N/A |
szOriginalPoSoNumber_2 | OORN | char | OPT | NONE | N/A |
szRelatedPoSoNumber_2 | RORN | char | OPT | NONE | N/A |
cManagerialAnalysisType1 | ABT1 | char | OPT | NONE | ABT1 |
szManagerialAnalysisCode1 | ABR1 | char | OPT | NONE | ARR1 |
cManagerialAnalysisType2 | ABT2 | char | OPT | NONE | ABT2 |
szManagerialAnalysisCode2 | ABR2 | char | OPT | NONE | ABR2 |
cManagerialAnalysisType3 | ABT3 | char | OPT | NONE | ABT3 |
szManagerialAnalysisCode3 | ABR3 | char | OPT | NONE | ABR3 |
cManagerialAnalysisType4 | ABT4 | char | OPT | NONE | ABT4 |
szManagerialAnalysisCode4 | ABR4 | char | OPT | NONE | ABR4 |
mnLineNumberXREF | LNIX | MATH_NUMERIC | OPT | NONE | N/A |
cTransferOrder | PS01 | char | OPT | NONE | N/A |
mnShipmentNumber | SHPN | MATH_NUMERIC | OPT | NONE | F4311.SHAN |
mnProcessID | PEID | MATH_NUMERIC | OPT | OUT | RetrieveProcessAndTransactionID |
mnTransactionID | TCID | MATH_NUMERIC | OPT | OUT | RetrieveProcessAndTransactionID |
szItemFlashMessage | IFLA | char | OPT | NONE | F4311.IFLA |
cAmountRecNotZero | EV01 | char | OPT | NONE | N/A |
mnIdentifierShortItem | ITM | MATH_NUMERIC | OPT | NONE | F4311.ITM |
mnRMADocNumber | DOC1 | MATH_NUMERIC | OPT | NONE | N/A |
szRMADocType | DCT4 | char | OPT | NONE | N/A |
mnSecondaryQty | SQOR | MATH_NUMERIC | OPT | NONE | N/A |
szSecondaryUOM | UOM2 | char | OPT | NONE | F4311.UOM2 |
jdLotEffectivityDate | DLEJ | JDEDATE | OPT | NONE | Not In Use |
szPromotionID | PMTN | char | OPT | NONE | Not In Use |
mnMatrixControlLine | MCLN | MATH_NUMERIC | OPT | NONE | Not In Use |
mnProjectNumber | PRJM | MATH_NUMERIC | OPT | NONE | F4311.PRJM |
cActiveFlag | ATVF | char | OPT | NONE | Not In Use |
szPOEMBFInternalFlags | POEF | char | OPT | NONE | Not In Use |
szModeOfTransport | MOT | char | OPT | NONE | Not In Use |
mnTaskOrderNumber | DOCO | MATH_NUMERIC | OPT | NONE | Not In Use |
szTaskOrderType | DCTO | char | OPT | NONE | Not In Use |
szPlan | PL | char | OPT | NONE | Not In Use |
szElevation | ELEV | char | OPT | NONE | Not In Use |
cPreservePOEManualAdj | EV01 | char | OPT | NONE | Not In Use |
cPOETriggerReprice | EV01 | char | OPT | NONE | Not In Use |
szReferenceUCISNo | VR03 | char | OPT | NONE | Not In Use |
szUNSPSCCode | UNSPSC | char | OPT | NONE | Not In Use |
szCommodityCode | CMDCDE | char | OPT | NONE | Not In Use |
jdDatePromisedShipJu | PPDJ | JDEDATE | OPT | NONE | Not In Use |
cMultipleAccountsExist_MACT | MACT | char | OPT | NONE | F4311.MACT |
szTransactionOriginator_TORG | TORG | char | OPT | NONE | Not In Use |
szRelatedOrderSuffix | RSFX | char | OPT | NONE | Not In Use |
mnContract_ID | CNTRTID | MATH_NUMERIC | OPT | NONE | Not In Use |
mnContractDetailID | CNTRTDID | MATH_NUMERIC | OPT | NONE | Not In Use |
cRepricePOMode_EV06 | EV06 | char | OPT | NONE | Not In Use |
cManualOverride | MOADJ | char | OPT | NONE | Not In Use |
cRepricePreserveFreeGood_EV07 | EV07 | char | OPT | NONE | Not In Use |
mnVesselID | WVID | MATH_NUMERIC | OPT | NONE | Not In Use |
cVesselClass | WVTY | char | OPT | NONE | Not In Use |
szPurchaseLineCode01 | PODC01 | char | OPT | NONE | Not In Use |
szPurchaseLineCode02 | PODC02 | char | OPT | NONE | Not In Use |
szPurchaseLineCode03 | PODC03 | char | OPT | NONE | Not In Use |
szPurchaseLineCode04 | PODC04 | char | OPT | NONE | Not In Use |
szJobType | JBCD | char | OPT | NONE | Not In Use |
mnUnitsQuantityService | SRQTY | MATH_NUMERIC | OPT | NONE | Not In Use |
szUnitOfMeasureService | SRUOM | char | OPT | NONE | Not In Use |
cCreatedByConfiguratorFlag | CFGFL | char | OPT | NONE | Not In Use |
szProjectMfgProductionNumb | PMPN | char | OPT | NONE | Not In Use |
mnProductionNumberShort | PNS | MATH_NUMERIC | OPT | NONE | Not In Use |